aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2019-11-08 12:52:30 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-11-08 12:52:30 -0800
commit0eb317978b71cb38f970e4fda0c40276daf01c35 (patch)
treed3ff51c6233550c6abf7dca37682528b8c4aa18f
parent454345ce1da44ef4313cd4f4d0684a88da53646a (diff)
parent2ddca6f49f647ddc327fdf1a4fb0588e2b1816e4 (diff)
downloadcurl-android11-qpr3-s1-release.tar.gz
Merge "Upgrade curl to curl-7_67_0" am: ef60c97e34 am: 20c1fa87d3r_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-releaseandroid11-d1-b-release
am: 2ddca6f49f Change-Id: Ifbb9db8dbffd3cd73694cbcab1145af84e833b5e
-rw-r--r--CHANGES3524
-rw-r--r--CMake/CurlTests.c2
-rw-r--r--CMake/Platforms/WindowsCache.cmake1
-rw-r--r--CMakeLists.txt2
-rw-r--r--METADATA8
-rw-r--r--RELEASE-NOTES432
-rwxr-xr-xandroidconfigure4
-rw-r--r--buildconf.bat2
-rwxr-xr-xconfigure247
-rwxr-xr-xconfigure.ac125
-rw-r--r--docs/BINDINGS.md11
-rw-r--r--docs/ESNI.md139
-rw-r--r--docs/HTTP3.md38
-rw-r--r--docs/INSTALL.md16
-rw-r--r--docs/KNOWN_BUGS22
-rw-r--r--docs/Makefile.am1
-rw-r--r--docs/THANKS42
-rw-r--r--docs/TODO18
-rw-r--r--docs/cmdline-opts/Makefile.inc3
-rw-r--r--docs/cmdline-opts/no-progress-meter.d10
-rw-r--r--docs/curl-config.12
-rw-r--r--docs/curl.110
-rw-r--r--docs/examples/Makefile.inc2
-rw-r--r--docs/examples/externalsocket.c2
-rw-r--r--docs/examples/ftp-wildcard.c2
-rw-r--r--docs/examples/htmltidy.c2
-rw-r--r--docs/examples/htmltitle.cpp2
-rw-r--r--docs/examples/http2-upload.c2
-rw-r--r--docs/examples/imap-append.c2
-rw-r--r--docs/examples/multi-app.c2
-rw-r--r--docs/examples/multi-event.c240
-rw-r--r--docs/examples/multithread.c2
-rw-r--r--docs/examples/postit2-formadd.c3
-rw-r--r--docs/examples/postit2.c3
-rw-r--r--docs/examples/resolve.c2
-rw-r--r--docs/examples/sampleconv.c2
-rw-r--r--docs/examples/sendrecv.c2
-rw-r--r--docs/examples/shared-connection-cache.c2
-rw-r--r--docs/examples/smooth-gtk-thread.c2
-rw-r--r--docs/examples/smtp-mime.c2
-rw-r--r--docs/examples/sslbackend.c4
-rw-r--r--docs/examples/synctime.c2
-rw-r--r--docs/examples/threaded-shared-conn.c2
-rw-r--r--docs/examples/threaded-ssl.c2
-rw-r--r--docs/libcurl/curl_easy_cleanup.32
-rw-r--r--docs/libcurl/curl_easy_duphandle.32
-rw-r--r--docs/libcurl/curl_easy_escape.32
-rw-r--r--docs/libcurl/curl_easy_getinfo.32
-rw-r--r--docs/libcurl/curl_easy_init.32
-rw-r--r--docs/libcurl/curl_easy_pause.32
-rw-r--r--docs/libcurl/curl_easy_perform.32
-rw-r--r--docs/libcurl/curl_easy_recv.32
-rw-r--r--docs/libcurl/curl_easy_reset.32
-rw-r--r--docs/libcurl/curl_easy_send.32
-rw-r--r--docs/libcurl/curl_easy_setopt.32
-rw-r--r--docs/libcurl/curl_easy_strerror.32
-rw-r--r--docs/libcurl/curl_easy_unescape.32
-rw-r--r--docs/libcurl/curl_escape.32
-rw-r--r--docs/libcurl/curl_formadd.32
-rw-r--r--docs/libcurl/curl_formfree.32
-rw-r--r--docs/libcurl/curl_formget.32
-rw-r--r--docs/libcurl/curl_free.32
-rw-r--r--docs/libcurl/curl_getdate.32
-rw-r--r--docs/libcurl/curl_getenv.32
-rw-r--r--docs/libcurl/curl_global_cleanup.32
-rw-r--r--docs/libcurl/curl_global_init.32
-rw-r--r--docs/libcurl/curl_global_init_mem.32
-rw-r--r--docs/libcurl/curl_global_sslset.32
-rw-r--r--docs/libcurl/curl_mime_addpart.32
-rw-r--r--docs/libcurl/curl_mime_data.32
-rw-r--r--docs/libcurl/curl_mime_data_cb.32
-rw-r--r--docs/libcurl/curl_mime_encoder.32
-rw-r--r--docs/libcurl/curl_mime_filedata.32
-rw-r--r--docs/libcurl/curl_mime_filename.32
-rw-r--r--docs/libcurl/curl_mime_free.32
-rw-r--r--docs/libcurl/curl_mime_headers.32
-rw-r--r--docs/libcurl/curl_mime_init.32
-rw-r--r--docs/libcurl/curl_mime_name.32
-rw-r--r--docs/libcurl/curl_mime_subparts.32
-rw-r--r--docs/libcurl/curl_mime_type.32
-rw-r--r--docs/libcurl/curl_mprintf.32
-rw-r--r--docs/libcurl/curl_multi_add_handle.32
-rw-r--r--docs/libcurl/curl_multi_assign.32
-rw-r--r--docs/libcurl/curl_multi_cleanup.32
-rw-r--r--docs/libcurl/curl_multi_fdset.32
-rw-r--r--docs/libcurl/curl_multi_info_read.32
-rw-r--r--docs/libcurl/curl_multi_init.32
-rw-r--r--docs/libcurl/curl_multi_perform.36
-rw-r--r--docs/libcurl/curl_multi_poll.32
-rw-r--r--docs/libcurl/curl_multi_remove_handle.32
-rw-r--r--docs/libcurl/curl_multi_setopt.36
-rw-r--r--docs/libcurl/curl_multi_socket.32
-rw-r--r--docs/libcurl/curl_multi_socket_action.32
-rw-r--r--docs/libcurl/curl_multi_strerror.32
-rw-r--r--docs/libcurl/curl_multi_timeout.32
-rw-r--r--docs/libcurl/curl_multi_wait.34
-rw-r--r--docs/libcurl/curl_share_cleanup.32
-rw-r--r--docs/libcurl/curl_share_init.32
-rw-r--r--docs/libcurl/curl_share_setopt.32
-rw-r--r--docs/libcurl/curl_share_strerror.32
-rw-r--r--docs/libcurl/curl_slist_append.32
-rw-r--r--docs/libcurl/curl_slist_free_all.32
-rw-r--r--docs/libcurl/curl_strequal.32
-rw-r--r--docs/libcurl/curl_unescape.32
-rw-r--r--docs/libcurl/curl_url.32
-rw-r--r--docs/libcurl/curl_url_cleanup.32
-rw-r--r--docs/libcurl/curl_url_dup.32
-rw-r--r--docs/libcurl/curl_url_get.37
-rw-r--r--docs/libcurl/curl_url_set.313
-rw-r--r--docs/libcurl/curl_version.32
-rw-r--r--docs/libcurl/curl_version_info.32
-rw-r--r--docs/libcurl/libcurl-easy.32
-rw-r--r--docs/libcurl/libcurl-env.32
-rw-r--r--docs/libcurl/libcurl-errors.34
-rw-r--r--docs/libcurl/libcurl-multi.37
-rw-r--r--docs/libcurl/libcurl-security.32
-rw-r--r--docs/libcurl/libcurl-share.32
-rw-r--r--docs/libcurl/libcurl-symbols.38
-rw-r--r--docs/libcurl/libcurl-thread.32
-rw-r--r--docs/libcurl/libcurl-tutorial.34
-rw-r--r--docs/libcurl/libcurl-url.32
-rw-r--r--docs/libcurl/libcurl.32
-rw-r--r--docs/libcurl/opts/CURLINFO_ACTIVESOCKET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CERTINFO.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONDITION_UNMET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.32
-rw-r--r--docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HEADER_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_VERSION.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LASTSOCKET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_IP.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_PORT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_NUM_CONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLINFO_OS_ERRNO.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_IP.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_PORT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIVATE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROTOCOL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_URL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REQUEST_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RESPONSE_CODE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RETRY_AFTER.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SCHEME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_ENGINES.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SESSION.32
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.32
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAXCONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.356
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ALTSVC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_APPEND.32
-rw-r--r--docs/libcurl/opts/CURLOPT_AUTOREFERER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CERTINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_TO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIELIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIESESSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLF.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CURLU.34
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DIRLISTONLY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DOH_URL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FILETIME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.34
-rw-r--r--docs/libcurl/opts/CURLOPT_FORBID_REUSE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FRESH_CONNECT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPSSLAUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_PRET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERFUNCTION.34
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADEROPT.34
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP200ALIASES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPHEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_VERSION.34
-rw-r--r--docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IPRESOLVE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORT.34
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_RCPT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXAGE_CONN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXCONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXREDIRS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MIMEPOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOBODY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROGRESS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOSIGNAL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PATH_AS_IS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PIPEWAIT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTQUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTREDIR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PRE_PROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PRIVATE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROTOCOLS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYAUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYHEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAPATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_READDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_READFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.34
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_REQUEST_TARGET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SASL_IR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKDATA.34
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SHARE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.34
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_FALSESTART.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STDERR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_NODELAY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TELNETOPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMECONDITION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT.321
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.34
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TRAILERDATA.316
-rw-r--r--docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.318
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFERTEXT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USE_SSL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_VERBOSE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_WILDCARDMATCH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFODATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.32
-rw-r--r--docs/libcurl/opts/Makefile.inc9
-rw-r--r--docs/libcurl/symbols-in-versions3
-rw-r--r--include/curl/curl.h2
-rw-r--r--include/curl/curlver.h8
-rw-r--r--include/curl/multi.h6
-rw-r--r--include/curl/urlapi.h2
-rw-r--r--lib/Makefile.inc4
-rw-r--r--lib/Makefile.netware2
-rw-r--r--lib/altsvc.c20
-rwxr-xr-xlib/asyn-thread.c28
-rwxr-xr-xlib/checksrc.pl2
-rw-r--r--lib/config-amigaos.h4
-rw-r--r--lib/config-os400.h6
-rw-r--r--lib/config-plan9.h1
-rw-r--r--lib/config-riscos.h8
-rw-r--r--lib/config-symbian.h3
-rw-r--r--lib/config-tpf.h6
-rw-r--r--lib/config-vxworks.h3
-rw-r--r--lib/conncache.c8
-rw-r--r--lib/connect.c15
-rw-r--r--lib/cookie.c19
-rw-r--r--lib/cookie.h2
-rw-r--r--lib/curl_config.h6
-rw-r--r--lib/curl_config.h.cmake3
-rw-r--r--lib/curl_config.h.in6
-rw-r--r--lib/doh.c58
-rw-r--r--lib/easy.c7
-rw-r--r--lib/ftp.c396
-rw-r--r--lib/ftp.h6
-rw-r--r--lib/ftplistparser.c2
-rw-r--r--lib/hostcheck.c2
-rw-r--r--lib/hostip.c2
-rw-r--r--lib/http.c17
-rw-r--r--lib/http.h5
-rw-r--r--lib/http2.c49
-rw-r--r--lib/http_chunks.c28
-rw-r--r--lib/http_chunks.h13
-rw-r--r--lib/http_proxy.c9
-rw-r--r--lib/imap.c5
-rw-r--r--lib/ldap.c24
-rw-r--r--lib/libcurl.plist6
-rw-r--r--lib/mime.c19
-rw-r--r--lib/mime.h6
-rwxr-xr-xlib/multi.c18
-rw-r--r--lib/multihandle.h1
-rw-r--r--lib/multiif.h6
-rw-r--r--lib/netrc.c2
-rw-r--r--lib/non-ascii.c2
-rw-r--r--lib/parsedate.c14
-rw-r--r--lib/security.c2
-rw-r--r--lib/setopt.c21
-rw-r--r--lib/setup-os400.h6
-rw-r--r--lib/smb.c3
-rw-r--r--lib/socketpair.c118
-rw-r--r--lib/socketpair.h36
-rw-r--r--lib/socks.c64
-rw-r--r--lib/strcase.c86
-rw-r--r--lib/strcase.h4
-rw-r--r--lib/transfer.c14
-rw-r--r--lib/url.c61
-rw-r--r--lib/url.h2
-rw-r--r--lib/urlapi.c156
-rw-r--r--lib/urldata.h393
-rw-r--r--lib/vauth/vauth.h2
-rw-r--r--lib/version.c15
-rw-r--r--lib/vquic/ngtcp2.c103
-rw-r--r--lib/vquic/quiche.c33
-rw-r--r--lib/vssh/libssh.c6
-rw-r--r--lib/vssh/libssh2.c4
-rw-r--r--lib/vtls/gskit.c102
-rw-r--r--lib/vtls/gtls.c6
-rw-r--r--lib/vtls/mbedtls.c7
-rw-r--r--lib/vtls/mesalink.c7
-rw-r--r--lib/vtls/nss.c2
-rw-r--r--lib/vtls/openssl.c32
-rw-r--r--lib/vtls/polarssl.c4
-rw-r--r--lib/vtls/schannel.c12
-rw-r--r--lib/vtls/schannel_verify.c2
-rw-r--r--lib/vtls/sectransp.c6
-rw-r--r--lib/vtls/vtls.c5
-rw-r--r--local-configure.patch10
-rw-r--r--m4/curl-confopts.m438
-rw-r--r--packages/OS400/curl.inc.in2
-rw-r--r--packages/OS400/os400sys.c156
-rw-r--r--projects/Windows/VC10/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC11/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC12/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC14/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC15/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC6/lib/libcurl.dsp8
-rw-r--r--projects/Windows/VC7.1/lib/libcurl.vcproj6
-rw-r--r--projects/Windows/VC7/lib/libcurl.vcproj6
-rw-r--r--projects/Windows/VC8/lib/libcurl.vcproj8
-rw-r--r--projects/Windows/VC9/lib/libcurl.vcproj8
-rw-r--r--src/tool_cfgable.h19
-rw-r--r--src/tool_getparam.c22
-rw-r--r--src/tool_help.c3
-rw-r--r--src/tool_hugehelp.c8946
-rw-r--r--src/tool_metalink.c14
-rw-r--r--src/tool_metalink.h3
-rw-r--r--src/tool_operate.c503
-rw-r--r--src/tool_operhlp.c24
-rw-r--r--src/tool_paramhlp.c31
-rw-r--r--src/tool_setopt.h2
-rw-r--r--src/tool_urlglob.c3
-rw-r--r--src/tool_version.h2
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.crl16
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.crt113
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.csr24
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.derbin994 -> 994 bytes
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.key50
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pem163
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pub.derbin294 -> 294 bytes
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pub.pem14
-rw-r--r--tests/data/Makefile.inc13
-rw-r--r--tests/data/test10021
-rw-r--r--tests/data/test10081
-rw-r--r--tests/data/test10104
-rw-r--r--tests/data/test10162
-rw-r--r--tests/data/test10172
-rw-r--r--tests/data/test10182
-rw-r--r--tests/data/test10192
-rw-r--r--tests/data/test10202
-rw-r--r--tests/data/test10211
-rw-r--r--tests/data/test10591
-rw-r--r--tests/data/test10601
-rw-r--r--tests/data/test10611
-rw-r--r--tests/data/test10632
-rw-r--r--tests/data/test10771
-rw-r--r--tests/data/test10783
-rw-r--r--tests/data/test10873
-rw-r--r--tests/data/test10883
-rw-r--r--tests/data/test10913
-rw-r--r--tests/data/test10921
-rw-r--r--tests/data/test10981
-rw-r--r--tests/data/test11043
-rw-r--r--tests/data/test11061
-rw-r--r--tests/data/test11361
-rw-r--r--tests/data/test11413
-rw-r--r--tests/data/test11423
-rw-r--r--tests/data/test11492
-rw-r--r--tests/data/test11503
-rw-r--r--tests/data/test11624
-rw-r--r--tests/data/test116653
-rw-r--r--tests/data/test12133
-rw-r--r--tests/data/test12143
-rw-r--r--tests/data/test12151
-rw-r--r--tests/data/test12163
-rw-r--r--tests/data/test12183
-rw-r--r--tests/data/test12202
-rw-r--r--tests/data/test12251
-rw-r--r--tests/data/test12283
-rw-r--r--tests/data/test12301
-rw-r--r--tests/data/test12323
-rw-r--r--tests/data/test12331
-rw-r--r--tests/data/test12413
-rw-r--r--tests/data/test12463
-rw-r--r--tests/data/test12533
-rw-r--r--tests/data/test12543
-rw-r--r--tests/data/test12563
-rw-r--r--tests/data/test12573
-rw-r--r--tests/data/test12873
-rw-r--r--tests/data/test12883
-rw-r--r--tests/data/test13143
-rw-r--r--tests/data/test13191
-rw-r--r--tests/data/test13201
-rw-r--r--tests/data/test13211
-rw-r--r--tests/data/test13293
-rw-r--r--tests/data/test13313
-rw-r--r--tests/data/test14153
-rw-r--r--tests/data/test14213
-rw-r--r--tests/data/test14283
-rw-r--r--tests/data/test1433
-rw-r--r--tests/data/test14452
-rw-r--r--tests/data/test14471
-rw-r--r--tests/data/test14553
-rw-r--r--tests/data/test14563
-rw-r--r--tests/data/test15094
-rw-r--r--tests/data/test15253
-rw-r--r--tests/data/test15263
-rw-r--r--tests/data/test15273
-rw-r--r--tests/data/test15283
-rw-r--r--tests/data/test15293
-rw-r--r--tests/data/test15912
-rw-r--r--tests/data/test159551
-rw-r--r--tests/data/test159652
-rw-r--r--tests/data/test163
-rw-r--r--tests/data/test1621
-rw-r--r--tests/data/test1651
-rw-r--r--tests/data/test16541
-rw-r--r--tests/data/test165526
-rw-r--r--tests/data/test1671
-rw-r--r--tests/data/test1681
-rw-r--r--tests/data/test1691
-rw-r--r--tests/data/test1701
-rw-r--r--tests/data/test1713
-rw-r--r--tests/data/test1793
-rw-r--r--tests/data/test1833
-rw-r--r--tests/data/test1843
-rw-r--r--tests/data/test1853
-rw-r--r--tests/data/test192
-rw-r--r--tests/data/test19043
-rw-r--r--tests/data/test190753
-rw-r--r--tests/data/test2002
-rw-r--r--tests/data/test20002
-rw-r--r--tests/data/test20012
-rw-r--r--tests/data/test20022
-rw-r--r--tests/data/test20032
-rw-r--r--tests/data/test20042
-rw-r--r--tests/data/test20052
-rw-r--r--tests/data/test20062
-rw-r--r--tests/data/test20072
-rw-r--r--tests/data/test20082
-rw-r--r--tests/data/test20092
-rw-r--r--tests/data/test20102
-rw-r--r--tests/data/test20112
-rw-r--r--tests/data/test20122
-rw-r--r--tests/data/test20132
-rw-r--r--tests/data/test20142
-rw-r--r--tests/data/test20152
-rw-r--r--tests/data/test20162
-rw-r--r--tests/data/test20172
-rw-r--r--tests/data/test20182
-rw-r--r--tests/data/test20192
-rw-r--r--tests/data/test2022
-rw-r--r--tests/data/test20202
-rw-r--r--tests/data/test20212
-rw-r--r--tests/data/test20222
-rw-r--r--tests/data/test2042
-rw-r--r--tests/data/test20503
-rw-r--r--tests/data/test20554
-rw-r--r--tests/data/test20581
-rw-r--r--tests/data/test20591
-rw-r--r--tests/data/test2061
-rw-r--r--tests/data/test20601
-rw-r--r--tests/data/test20712
-rw-r--r--tests/data/test2081
-rw-r--r--tests/data/test2091
-rw-r--r--tests/data/test2131
-rw-r--r--tests/data/test2173
-rw-r--r--tests/data/test2191
-rw-r--r--tests/data/test2312
-rw-r--r--tests/data/test2333
-rw-r--r--tests/data/test2343
-rw-r--r--tests/data/test2391
-rw-r--r--tests/data/test2431
-rw-r--r--tests/data/test2442
-rw-r--r--tests/data/test2563
-rw-r--r--tests/data/test2574
-rw-r--r--tests/data/test2581
-rw-r--r--tests/data/test2591
-rw-r--r--tests/data/test2631
-rw-r--r--tests/data/test2643
-rw-r--r--tests/data/test2651
-rw-r--r--tests/data/test2753
-rw-r--r--tests/data/test2783
-rw-r--r--tests/data/test2793
-rw-r--r--tests/data/test2873
-rw-r--r--tests/data/test2882
-rw-r--r--tests/data/test2991
-rw-r--r--tests/data/test3173
-rw-r--r--tests/data/test3183
-rw-r--r--tests/data/test3303
-rw-r--r--tests/data/test3313
-rw-r--r--tests/data/test3351
-rw-r--r--tests/data/test33658
-rw-r--r--tests/data/test33758
-rw-r--r--tests/data/test33863
-rw-r--r--tests/data/test3562
-rw-r--r--tests/data/test433
-rw-r--r--tests/data/test53
-rw-r--r--tests/data/test5034
-rw-r--r--tests/data/test5042
-rw-r--r--tests/data/test506118
-rw-r--r--tests/data/test5233
-rw-r--r--tests/data/test5392
-rw-r--r--tests/data/test5401
-rw-r--r--tests/data/test5471
-rw-r--r--tests/data/test5481
-rw-r--r--tests/data/test5491
-rw-r--r--tests/data/test5501
-rw-r--r--tests/data/test5511
-rw-r--r--tests/data/test5551
-rw-r--r--tests/data/test5611
-rw-r--r--tests/data/test5634
-rw-r--r--tests/data/test5643
-rw-r--r--tests/data/test5901
-rw-r--r--tests/data/test624
-rw-r--r--tests/data/test633
-rw-r--r--tests/data/test6593
-rw-r--r--tests/data/test66173
-rw-r--r--tests/data/test66278
-rw-r--r--tests/data/test66382
-rw-r--r--tests/data/test7021
-rw-r--r--tests/data/test7031
-rw-r--r--tests/data/test7045
-rw-r--r--tests/data/test7055
-rw-r--r--tests/data/test7141
-rw-r--r--tests/data/test7151
-rw-r--r--tests/data/test7161
-rw-r--r--tests/data/test7173
-rw-r--r--tests/data/test791
-rw-r--r--tests/data/test803
-rw-r--r--tests/data/test811
-rw-r--r--tests/data/test821
-rw-r--r--tests/data/test833
-rw-r--r--tests/data/test843
-rw-r--r--tests/data/test853
-rw-r--r--tests/data/test933
-rw-r--r--tests/data/test941
-rw-r--r--tests/data/test953
-rw-r--r--tests/libtest/Makefile.inc11
-rw-r--r--tests/libtest/lib1156.c2
-rw-r--r--tests/libtest/lib1522.c2
-rw-r--r--tests/libtest/lib1560.c43
-rw-r--r--tests/libtest/lib1907.c54
-rw-r--r--tests/libtest/lib506.c3
-rw-r--r--tests/libtest/lib509.c2
-rw-r--r--tests/libtest/lib541.c2
-rw-r--r--tests/libtest/lib557.c2
-rw-r--r--tests/libtest/lib569.c2
-rw-r--r--tests/libtest/lib571.c2
-rw-r--r--tests/libtest/lib661.c150
-rwxr-xr-xtests/manpage-scan.pl4
-rw-r--r--tests/runtests.12
-rwxr-xr-xtests/runtests.pl2
-rw-r--r--tests/server/util.c2
-rwxr-xr-xtests/smbserver.py7
-rw-r--r--tests/testcurl.12
-rw-r--r--tests/unit/CMakeLists.txt1
-rw-r--r--tests/unit/Makefile.inc6
-rw-r--r--tests/unit/README6
-rw-r--r--tests/unit/unit1303.c6
-rw-r--r--tests/unit/unit1307.c2
-rw-r--r--tests/unit/unit1399.c4
-rw-r--r--tests/unit/unit1620.c4
-rw-r--r--tests/unit/unit1654.c13
-rw-r--r--tests/unit/unit1655.c113
-rw-r--r--winbuild/Makefile.vc10
-rw-r--r--winbuild/MakefileBuild.vc26
810 files changed, 10972 insertions, 9051 deletions
diff --git a/CHANGES b/CHANGES
index 0047ab41a..d35f54199 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,1505 @@
Changelog
+Version 7.67.0 (5 Nov 2019)
+
+Daniel Stenberg (5 Nov 2019)
+- RELEASE-NOTES: synced
+
+ The 7.67.0 release
+
+- THANKS: add new names from 7.67.0
+
+- configure: only say ipv6 enabled when the variable is set
+
+ Previously it could say "IPv6: enabled" at the end of the configure run
+ but the define wasn't set because of a missing getaddrinfo().
+
+ Reported-by: Marcel Raad
+ Fixes #4555
+ Closes #4560
+
+Marcel Raad (2 Nov 2019)
+- certs/Server-localhost-lastSAN-sv: regenerate with sha256
+
+ All other certificates were regenerated in commit ba782baac30, but
+ this one was missed.
+ Fixes test3001 on modern systems.
+
+ Closes https://github.com/curl/curl/pull/4551
+
+Daniel Stenberg (2 Nov 2019)
+- [Vilhelm Prytz brought this change]
+
+ copyrights: update all copyright notices to 2019 on files changed this year
+
+ Closes #4547
+
+- [Bastien Bouclet brought this change]
+
+ mbedtls: add error message for cert validity starting in the future
+
+ Closes #4552
+
+Jay Satiro (1 Nov 2019)
+- schannel_verify: Fix concurrent openings of CA file
+
+ - Open the CA file using FILE_SHARE_READ mode so that others can read
+ from it as well.
+
+ Prior to this change our schannel code opened the CA file without
+ sharing which meant concurrent openings (eg an attempt from another
+ thread or process) would fail during the time it was open without
+ sharing, which in curl's case would cause error:
+ "schannel: failed to open CA file".
+
+ Bug: https://curl.haxx.se/mail/lib-2019-10/0104.html
+ Reported-by: Richard Alcock
+
+Daniel Stenberg (31 Oct 2019)
+- gtls: make gnutls_bye() not wait for response on shutdown
+
+ ... as it can make it wait there for a long time for no good purpose.
+
+ Patched-by: Jay Satiro
+ Reported-by: Bylon2 on github
+ Adviced-by: Nikos Mavrogiannopoulos
+
+ Fixes #4487
+ Closes #4541
+
+- [Michał Janiszewski brought this change]
+
+ appveyor: publish artifacts on appveyor
+
+ This allows obtaining upstream builds of curl directly from appveyor for
+ all the available configurations
+
+ Closes #4509
+
+- url: make Curl_close() NULLify the pointer too
+
+ This is the common pattern used in the code and by a unified approach we
+ avoid mistakes.
+
+ Closes #4534
+
+- [Trivikram Kamat brought this change]
+
+ INSTALL: add missing space for configure commands
+
+ Closes #4539
+
+- url: Curl_free_request_state() should also free doh handles
+
+ ... or risk DoH memory leaks.
+
+ Reported-by: Paul Dreik
+ Fixes #4463
+ Closes #4527
+
+- examples: remove the "this exact code has not been verified"
+
+ ... as really confuses the reader to not know what to believe!
+
+- [Trivikram Kamat brought this change]
+
+ HTTP3: fix typo somehere1 > somewhere1
+
+ Closes #4535
+
+Jay Satiro (28 Oct 2019)
+- [Javier Blazquez brought this change]
+
+ HTTP3: fix invalid use of sendto for connected UDP socket
+
+ On macOS/BSD, trying to call sendto on a connected UDP socket fails
+ with a EISCONN error. Because the singleipconnect has already called
+ connect on the socket when we're trying to use it for QUIC transfers
+ we need to use plain send instead.
+
+ Fixes #4529
+ Closes https://github.com/curl/curl/pull/4533
+
+Daniel Stenberg (28 Oct 2019)
+- RELEASE-NOTES: synced
+
+- [Javier Blazquez brought this change]
+
+ HTTP3: fix Windows build
+
+ The ngtcp2 QUIC backend was using the MSG_DONTWAIT flag for send/recv
+ in order to perform nonblocking operations. On Windows this flag does
+ not exist. Instead, the socket must be set to nonblocking mode via
+ ioctlsocket.
+
+ This change sets the nonblocking flag on UDP sockets used for QUIC on
+ all platforms so the use of MSG_DONTWAIT is not needed.
+
+ Fixes #4531
+ Closes #4532
+
+Marcel Raad (27 Oct 2019)
+- appveyor: add --disable-proxy autotools build
+
+ This would have caught issue #3926.
+
+ Also make formatting more consistent.
+
+ Closes https://github.com/curl/curl/pull/4526
+
+Daniel Stenberg (25 Oct 2019)
+- appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017
+
+ ... and invoke "curl -V" once done
+
+ Co-Authored-By: Jay Satiro
+
+ Closes #4523
+
+- [Francois Rivard brought this change]
+
+ schannel: reverse the order of certinfo insertions
+
+ Fixes #4518
+ Closes #4519
+
+Marcel Raad (24 Oct 2019)
+- test1591: fix spelling of http feature
+
+ The test never got run because the feature name is `http` in lowercase.
+
+ Closes https://github.com/curl/curl/pull/4520
+
+Daniel Stenberg (23 Oct 2019)
+- [Michał Janiszewski brought this change]
+
+ appveyor: Use two parallel compilation on appveyor with CMake
+
+ Appveyor provides 2 CPUs for each builder[1], make sure to use parallel
+ compilation, when running with CMake. CMake learned this new option in
+ version 3.12[2] and the version provided by appveyor is fresh enough.
+
+ Curl doesn't really take that long to build and it is using the slowest
+ builder available, msbuild, so expect only a moderate improvement in
+ build times.
+
+ [1] https://www.appveyor.com/docs/build-environment/
+ [2] https://cmake.org/cmake/help/v3.12/release/3.12.html
+
+ Closes #4508
+
+- conn-reuse: requests wanting NTLM can reuse non-NTLM connections
+
+ Added test case 338 to verify.
+
+ Reported-by: Daniel Silverstone
+ Fixes #4499
+ Closes #4514
+
+Marcel Raad (23 Oct 2019)
+- tests: add missing proxy features
+
+Daniel Stenberg (22 Oct 2019)
+- RELEASE-NOTES: synced
+
+Marcel Raad (21 Oct 2019)
+- tests: use %FILE_PWD for file:// URLs
+
+ This way, we always have exactly one slash after the host name, making
+ the tests pass when curl is compiled with the MSYS GCC.
+
+ Closes https://github.com/curl/curl/pull/4512
+
+- tests: add `connect to non-listen` keywords
+
+ These tests try to connect to ports nothing is listening on.
+
+ Closes https://github.com/curl/curl/pull/4511
+
+- runtests: get textaware info from curl instead of perl
+
+ The MSYS system on Windows can run the test suite for curl built with
+ any toolset. When built with the MSYS GCC, curl uses Unix line endings,
+ while it uses Windows line endings when built with the MinGW GCC, and
+ `^O` reports 'msys' in both cases. Use the curl executable itself to
+ determine the line endings instead, which reports 'x86_64-pc-msys' when
+ built with the MSYS GCC.
+
+ Closes https://github.com/curl/curl/pull/4506
+
+Daniel Stenberg (20 Oct 2019)
+- [Michał Janiszewski brought this change]
+
+ appveyor: Add MSVC ARM64 build
+
+ Closes #4507
+
+- http2_recv: a closed stream trumps pause state
+
+ ... and thus should return 0, not EAGAIN.
+
+ Reported-by: Tom van der Woerdt
+ Fixes #4496
+ Closes #4505
+
+- http2: expire a timeout at end of stream
+
+ To make sure that transfer is being dealt with. Streams without
+ Content-Length need a final read to notice the end-of-stream state.
+
+ Reported-by: Tom van der Woerdt
+ Fixes #4496
+
+Dan Fandrich (18 Oct 2019)
+- travis: Add an ARM64 build
+
+ Test 323 is failing for some reason, so disable it there for now.
+
+Marcel Raad (18 Oct 2019)
+- examples/sslbackend: fix -Wchar-subscripts warning
+
+ With the `isdigit` implementation that comes with MSYS2, the argument
+ is used as an array subscript, resulting in a -Wchar-subscripts
+ warning. `isdigit`'s behavior is undefined if the argument is negative
+ and not EOF [0]. As done in lib/curl_ctype.h, cast the `char` variable
+ to `unsigned char` to avoid that.
+
+ [0] https://en.cppreference.com/w/c/string/byte/isdigit
+
+ Closes https://github.com/curl/curl/pull/4503
+
+Daniel Stenberg (18 Oct 2019)
+- configure: remove all cyassl references
+
+ In particular, this removes the case where configure would find an old
+ cyall installation rather than a wolfssl one if present. The library is
+ named wolfssl in modern days so there's no real need to keep support for
+ the former.
+
+ Reported-by: Jacob Barthelmeh
+ Closes #4502
+
+Marcel Raad (17 Oct 2019)
+- test1162: disable MSYS2's POSIX path conversion
+
+ This avoids MSYS2 converting the backslasb in the URL to a slash,
+ causing the test to fail.
+
+Daniel Stenberg (17 Oct 2019)
+- RELEASE-NOTES: synced
+
+Jay Satiro (16 Oct 2019)
+- CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time
+
+ Prior to this change some users did not understand that the "request"
+ starts when the handle is added to the multi handle, or probably they
+ did not understand that some of those transfers may be queued and that
+ time is included in timeout.
+
+ Reported-by: Jeroen Ooms
+
+ Fixes https://github.com/curl/curl/issues/4486
+ Closes https://github.com/curl/curl/pull/4489
+
+- [Stian Soiland-Reyes brought this change]
+
+ tool_operate: Fix retry sleep time shown to user when Retry-After
+
+ - If server header Retry-After is being used for retry sleep time then
+ show that value to the user instead of the normal retry sleep time.
+
+ This is a follow-up to 640b973 (7.66.0) which changed curl tool so that
+ the value from Retry-After header overrides other retry timing options.
+
+ Closes https://github.com/curl/curl/pull/4498
+
+Daniel Stenberg (16 Oct 2019)
+- url: normalize CURLINFO_EFFECTIVE_URL
+
+ The URL extracted with CURLINFO_EFFECTIVE_URL was returned as given as
+ input in most cases, which made it not get a scheme prefixed like before
+ if the URL was given without one, and it didn't remove dotdot sequences
+ etc.
+
+ Added test case 1907 to verify that this now works as intended and as
+ before 7.62.0.
+
+ Regression introduced in 7.62.0
+
+ Reported-by: Christophe Dervieux
+ Fixes #4491
+ Closes #4493
+
+Marcel Raad (16 Oct 2019)
+- tests: line ending fixes for Windows
+
+ Mark some files as text.
+
+ Closes https://github.com/curl/curl/pull/4490
+
+- tests: use proxy feature
+
+ This makes the tests succeed when using --disable-proxy.
+
+ Closes https://github.com/curl/curl/pull/4488
+
+- smbserver: fix Python 3 compatibility
+
+ Python 2's `ConfigParser` module is spelled `configparser` in Python 3.
+
+ Closes https://github.com/curl/curl/pull/4484
+
+- security: silence conversion warning
+
+ With MinGW-w64, `curl_socket_t` is is a 32 or 64 bit unsigned integer,
+ while `read` expects a 32 bit signed integer.
+ Use `sread` instead of `read` to use the correct parameter type.
+
+ Closes https://github.com/curl/curl/pull/4483
+
+- connect: silence sign-compare warning
+
+ With MinGW-w64 using WinSock, `curl_socklen_t` is signed, while the
+ result of `sizeof` is unsigned.
+
+ Closes https://github.com/curl/curl/pull/4483
+
+Daniel Stenberg (13 Oct 2019)
+- TODO: Handle growing SFTP files
+
+ Closes #4344
+
+- KNOWN_BUGS: remove "CURLFORM_CONTENTLEN in an array"
+
+ The curl_formadd() function is deprecated and shouldn't be used so the
+ real fix for applications is to switch to the curl_mime_* API.
+
+- KNOWN_BUGS: "LDAP on Windows does authentication wrong"
+
+ Closes #3116
+
+- appveyor: add a winbuild that uses VS2017
+
+ Closes #4482
+
+- [Harry Sintonen brought this change]
+
+ socketpair: fix include and define for older TCP header systems
+
+ fixed build for systems that need netinet/in.h for IPPROTO_TCP and are
+ missing INADDR_LOOPBACK
+
+ Closes #4480
+
+- socketpair: fix double-close in error case
+
+ Follow-up to bc2dbef0afc08
+
+- gskit: use the generic Curl_socketpair
+
+- asyn-thread: make use of Curl_socketpair() where available
+
+- socketpair: an implemention for Windows and more
+
+ Curl_socketpair() is designed to be used and work everywhere if there's
+ no native version or the native version isn't good enough.
+
+ Closes #4466
+
+- RELEASE-NOTES: synced
+
+- connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT
+
+ Previosly all connect() failures would return CURLE_COULDNT_CONNECT, no
+ matter what errno said.
+
+ This makes for example --retry work on these transfer failures.
+
+ Reported-by: Nathaniel J. Smith
+ Fixes #4461
+ Clsoes #4462
+
+- cirrus: switch off blackhole status on the freebsd CI machines
+
+- tests: use port 2 instead of 60000 for a safer non-listening port
+
+ ... when the tests want "connection refused".
+
+- KNOWN_BUGS: IDN tests failing on Windows
+
+ Closes #3747
+
+Dan Fandrich (9 Oct 2019)
+- cirrus: Increase the git clone depth.
+
+ If more commits are submitted to master between the time of triggering
+ the first Cirrus build and the time the final build gets started, the
+ desired commit is no longer at HEAD and the build will error out.
+ [skip ci]
+
+Daniel Stenberg (9 Oct 2019)
+- docs: make sure the --no-progress-meter docs file is in dist too
+
+- docs: document it as --no-progress-meter instead of the reverse
+
+ Follow-up to 93373a960c3bb4
+
+ Reported-by: infinnovation-dev on github
+ Fixes #4474
+ Closes #4475
+
+Dan Fandrich (9 Oct 2019)
+- cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build.
+
+ Also, select the images using image_family to get the latest snapshots
+ automatically.
+ [skip ci]
+
+Daniel Stenberg (8 Oct 2019)
+- curl: --no-progress-meter
+
+ New option that allows a user to ONLY switch off curl's progress meter
+ and leave everything else in "talkative" mode.
+
+ Reported-by: Piotr Komborski
+ Fixes #4422
+ Closes #4470
+
+- TODO: Consult %APPDATA% also for .netrc
+
+ Closes #4016
+
+- CURLOPT_TIMEOUT.3: remove the mention of "minutes"
+
+ ... just say that limiting operations risk aborting otherwise fine
+ working transfers. If that means seconds, minutes or hours, we leave to
+ the user.
+
+ Reported-by: Martin Gartner
+ Closes #4469
+
+- [Andrei Valeriu BICA brought this change]
+
+ docs: added multi-event.c example
+
+ Similar to multi-uv.c but using libevent 2. This is a simpler libevent
+ integration example then hiperfifo.c.
+
+ Closes #4471
+
+Jay Satiro (5 Oct 2019)
+- [Nicolas brought this change]
+
+ ldap: fix OOM error on missing query string
+
+ - Allow missing queries, don't return NO_MEMORY error in such a case.
+
+ It is acceptable for there to be no specified query string, for example:
+
+ curl ldap://ldap.forumsys.com
+
+ A regression bug in 1b443a7 caused this issue.
+
+ This is a partial fix for #4261.
+
+ Bug: https://github.com/curl/curl/issues/4261#issuecomment-525543077
+ Reported-by: Jojojov@users.noreply.github.com
+ Analyzed-by: Samuel Surtees
+
+ Closes https://github.com/curl/curl/pull/4467
+
+- [Paul B. Omta brought this change]
+
+ build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines
+
+ Closes https://github.com/curl/curl/pull/4460
+
+Daniel Stenberg (5 Oct 2019)
+- RELEASE-NOTES: synced
+
+- [Stian Soiland-Reyes brought this change]
+
+ curl: ensure HTTP 429 triggers --retry
+
+ This completes #3794.
+
+ Also make sure the new tests from #4195 are enabled
+
+ Closes #4465
+
+Marcel Raad (4 Oct 2019)
+- [apique brought this change]
+
+ winbuild: add ENABLE_UNICODE option
+
+ Fixes https://github.com/curl/curl/issues/4308
+ Closes https://github.com/curl/curl/pull/4309
+
+Daniel Stenberg (4 Oct 2019)
+- ngtcp2: adapt to API change
+
+ Closes #4457
+
+- cookies: change argument type for Curl_flush_cookies
+
+ The second argument is really a 'bool' so use that and pass in TRUE/FALSE
+ to make it clear.
+
+ Closes #4455
+
+- http2: move state-init from creation to pre-transfer
+
+ To make sure that the HTTP/2 state is initialized correctly for
+ duplicated handles. It would otherwise easily generate "spurious"
+ PRIORITY frames to get sent over HTTP/2 connections when duplicated easy
+ handles were used.
+
+ Reported-by: Daniel Silverstone
+ Fixes #4303
+ Closes #4442
+
+- urlapi: fix use-after-free bug
+
+ Follow-up from 2c20109a9b5d04
+
+ Added test 663 to verify.
+
+ Reported by OSS-Fuzz
+ Bug: https://crbug.com/oss-fuzz/17954
+
+ Closes #4453
+
+- [Paul Dreik brought this change]
+
+ cookie: avoid harmless use after free
+
+ This fix removes a use after free which can be triggered by
+ the internal cookie fuzzer, but otherwise is probably
+ impossible to trigger from an ordinary application.
+
+ The following program reproduces it:
+
+ curl_global_init(CURL_GLOBAL_DEFAULT);
+ CURL* handle=curl_easy_init();
+ CookieInfo* info=Curl_cookie_init(handle,NULL,NULL,false);
+ curl_easy_setopt(handle, CURLOPT_COOKIEJAR, "/dev/null");
+ Curl_flush_cookies(handle, true);
+ Curl_cookie_cleanup(info);
+ curl_easy_cleanup(handle);
+ curl_global_cleanup();
+
+ This was found through fuzzing.
+
+ Closes #4454
+
+- [Denis Chaplygin brought this change]
+
+ docs: add note on failed handles not being counted by curl_multi_perform
+
+ Closes #4446
+
+- CURLMOPT_MAX_CONCURRENT_STREAMS.3: fix SEE ALSO typo
+
+- [Niall brought this change]
+
+ ESNI: initial build/setup
+
+ Closes #4011
+
+- RELEASE-NOTES: synced
+
+- redirect: when following redirects to an absolute URL, URL encode it
+
+ ... to make it handle for example (RFC violating) embeded spaces.
+
+ Reported-by: momala454 on github
+ Fixes #4445
+ Closes #4447
+
+- urlapi: fix URL encoding when setting a full URL
+
+- tool_operate: rename functions to make more sense
+
+- curl: create easy handles on-demand and not ahead of time
+
+ This should again enable crazy-large download ranges of the style
+ [1-10000000] that otherwise easily ran out of memory starting in 7.66.0
+ when this new handle allocating scheme was introduced.
+
+ Reported-by: Peter Sumatra
+ Fixes #4393
+ Closes #4438
+
+- [Kunal Ekawde brought this change]
+
+ CURLMOPT_MAX_CONCURRENT_STREAMS: new setopt
+
+ Closes #4410
+
+- chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error
+
+ Unknown content-encoding would get returned as CURLE_WRITE_ERROR if the
+ response is chunked-encoded.
+
+ Reported-by: Ilya Kosarev
+ Fixes #4310
+ Closes #4449
+
+Marcel Raad (1 Oct 2019)
+- checksrc: fix uninitialized variable warning
+
+ The loop doesn't need to be executed without a file argument.
+
+ Closes https://github.com/curl/curl/pull/4444
+
+- urlapi: fix unused variable warning
+
+ `dest` is only used with `ENABLE_IPV6`.
+
+ Closes https://github.com/curl/curl/pull/4444
+
+- lib: silence conversion warnings
+
+ Closes https://github.com/curl/curl/pull/4444
+
+- AppVeyor: add 32-bit MinGW-w64 build
+
+ With WinSSL and testing enabled so that it would have detected most of
+ the warnings fixed in [0] and [1].
+
+ [0] https://github.com/curl/curl/pull/4398
+ [1] https://github.com/curl/curl/pull/4415
+
+ Closes https://github.com/curl/curl/pull/4433
+
+- AppVeyor: remove MSYS2_ARG_CONV_EXCL for winbuild
+
+ It's only used for MSYS2 with MinGW.
+
+ Closes
+
+Daniel Stenberg (30 Sep 2019)
+- [Emil Engler brought this change]
+
+ git: add tests/server/disabled to .gitignore
+
+ Closes #4441
+
+- altsvc: accept quoted ma and persist values
+
+ As mandated by the spec. Test 1654 is extended to verify.
+
+ Closes #4443
+
+- mailmap: a Lucas fix
+
+Alessandro Ghedini (29 Sep 2019)
+- [Lucas Pardue brought this change]
+
+ quiche: update HTTP/3 config creation to new API
+
+Daniel Stenberg (29 Sep 2019)
+- BINDINGS: PureBasic, Net::Curl for perl and Nim
+
+- BINDINGS: Kapito is an Erlang library, basically a binding
+
+- BINDINGS: added clj-curl
+
+ Reported-by: Lucas Severo
+
+- [Jay Satiro brought this change]
+
+ docs: disambiguate CURLUPART_HOST is for host name (ie no port)
+
+ Closes #4424
+
+- cookies: using a share with cookies shouldn't enable the cookie engine
+
+ The 'share object' only sets the storage area for cookies. The "cookie
+ engine" still needs to be enabled or activated using the normal cookie
+ options.
+
+ This caused the curl command line tool to accidentally use cookies
+ without having been told to, since curl switched to using shared cookies
+ in 7.66.0.
+
+ Test 1166 verifies
+
+ Updated test 506
+
+ Fixes #4429
+ Closes #4434
+
+- setopt: handle ALTSVC set to NULL
+
+- RELEASE-NOTES: synced
+
+- [grdowns brought this change]
+
+ INSTALL: add vcpkg installation instructions
+
+ Closes #4435
+
+- [Zenju brought this change]
+
+ FTP: add test for FTPFILE_NOCWD: Avoid redundant CWDs
+
+ Add libtest 661
+
+ Closes #4417
+
+- [Zenju brought this change]
+
+ FTP: url-decode path before evaluation
+
+ Closes #4428
+
+Marcel Raad (27 Sep 2019)
+- tests: fix narrowing conversion warnings
+
+ `timediff_t` is 64 bits wide also on 32-bit systems since
+ commit b1616dad8f0.
+
+ Closes https://github.com/curl/curl/pull/4415
+
+Jay Satiro (27 Sep 2019)
+- [julian brought this change]
+
+ vtls: Fix comment typo about macosx-version-min compiler flag
+
+ Closes https://github.com/curl/curl/pull/4425
+
+Daniel Stenberg (26 Sep 2019)
+- [Yechiel Kalmenson brought this change]
+
+ README: minor grammar fix
+
+ Closes #4431
+
+- [Spezifant brought this change]
+
+ HTTP3: fix prefix parameter for ngtcp2 build
+
+ Closes #4430
+
+- quiche: don't close connection at end of stream!
+
+- quiche: set 'drain' when returning without having drained the queues
+
+- Revert "FTP: url-decode path before evaluation"
+
+ This reverts commit 2f036a72d543e96128bd75cb0fedd88815fd42e2.
+
+- HTTP3: merged and simplified the two 'running' sections
+
+- HTTP3: show an --alt-svc using example too
+
+- [Zenju brought this change]
+
+ FTP: url-decode path before evaluation
+
+ Closes #4423
+
+- openssl: use strerror on SSL_ERROR_SYSCALL
+
+ Instead of showing the somewhat nonsensical errno number, use strerror()
+ to provide a more relatable error message.
+
+ Closes #4411
+
+- HTTP3: update quic.aiortc.org + add link to server list
+
+ Reported-by: Jeremy Lainé
+
+Jay Satiro (26 Sep 2019)
+- url: don't set appconnect time for non-ssl/non-ssh connections
+
+ Prior to this change non-ssl/non-ssh connections that were reused set
+ TIMER_APPCONNECT [1]. Arguably that was incorrect since no SSL/SSH
+ handshake took place.
+
+ [1]: TIMER_APPCONNECT is publicly known as CURLINFO_APPCONNECT_TIME in
+ libcurl and %{time_appconnect} in the curl tool. It is documented as
+ "the time until the SSL/SSH handshake is completed".
+
+ Reported-by: Marcel Hernandez
+
+ Ref: https://github.com/curl/curl/issues/3760
+
+ Closes https://github.com/curl/curl/pull/3773
+
+Daniel Stenberg (25 Sep 2019)
+- ngtcp2: remove fprintf() calls
+
+ - convert some of them to H3BUF() calls to infof()
+ - remove some of them completely
+ - made DEBUG_HTTP3 defined only if CURLDEBUG is set for now
+
+ Closes #4421
+
+- [Jay Satiro brought this change]
+
+ url: fix the NULL hostname compiler warning case
+
+ Closes #4403
+
+- [Jay Satiro brought this change]
+
+ travis: move the go install to linux-only
+
+ ... to repair the build again
+ Closes #4403
+
+- altsvc: correct the #ifdef for the ngtcp2 backend
+
+- altsvc: save h3 as h3-23
+
+ Follow-up to d176a2c7e5
+
+- urlapi: question mark within fragment is still fragment
+
+ The parser would check for a query part before fragment, which caused it
+ to do wrong when the fragment contains a question mark.
+
+ Extended test 1560 to verify.
+
+ Reported-by: Alex Konev
+ Fixes #4412
+ Closes #4413
+
+- [Alex Samorukov brought this change]
+
+ HTTP3.md: move -p for mkdir, remove -j for make
+
+ - mkdir on OSX/Darwin requires `-p` argument before dir
+
+ - portabbly figuring out number of cores is an exercise for somewhere
+ else
+
+ Closes #4407
+
+Patrick Monnerat (24 Sep 2019)
+- os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr,
+
+ As libcurl now uses these 2 system functions, wrappers are needed on os400
+ to convert returned AF_UNIX sockaddrs to ascii.
+
+ This is a follow-up to commit 7fb54ef.
+ See also #4037.
+ Closes #4214
+
+Jay Satiro (24 Sep 2019)
+- [Lucas Pardue brought this change]
+
+ strcase: fix raw lowercasing the letter X
+
+ Casing mistake in Curl_raw_tolower 'X' wasn't lowercased as 'x' prior to
+ this change.
+
+ Follow-up to 0023fce which added the function several days ago.
+
+ Ref: https://github.com/curl/curl/pull/4401#discussion_r327396546
+
+ Closes https://github.com/curl/curl/pull/4408
+
+Daniel Stenberg (23 Sep 2019)
+- http2: Expression 'stream->stream_id != - 1' is always true
+
+ PVS-Studio warning
+ Fixes #4402
+
+- http2: A value is being subtracted from the unsigned variable
+
+ PVS-Studio warning
+ Fixes #4402
+
+- libssh: part of conditional expression is always true: !result
+
+ PVS-Studio warning
+ Fixed #4402
+
+- libssh: part of conditional expression is always true
+
+ PVS-Studio warning
+ Fixes #4402
+
+- libssh: The expression is excessive or contains a misprint
+
+ PVS-Studio warning
+ Fixes #4402
+
+- quiche: The expression must be surrounded by parentheses
+
+ PVS-Studio warning
+ Fixes #4402
+
+- vauth: The parameter 'status' must be surrounded by parentheses
+
+ PVS-Studio warning
+ Fixes #4402
+
+- [Paul Dreik brought this change]
+
+ doh: allow only http and https in debug mode
+
+ Otherwise curl may be told to use for instance pop3 to
+ communicate with the doh server, which most likely
+ is not what you want.
+
+ Found through fuzzing.
+
+ Closes #4406
+
+- [Paul Dreik brought this change]
+
+ doh: return early if there is no time left
+
+ Closes #4406
+
+- [Barry Pollard brought this change]
+
+ http: lowercase headernames for HTTP/2 and HTTP/3
+
+ Closes #4401
+ Fixes #4400
+
+Marcel Raad (23 Sep 2019)
+- vtls: fix narrowing conversion warnings
+
+ Curl_timeleft returns `timediff_t`, which is 64 bits wide also on
+ 32-bit systems since commit b1616dad8f0.
+
+ Closes https://github.com/curl/curl/pull/4398
+
+Daniel Stenberg (23 Sep 2019)
+- [Joel Depooter brought this change]
+
+ winbuild: Add manifest to curl.exe for proper OS version detection
+
+ This is a small fix to commit ebd213270a017a6830928ee2e1f4a9cabc799898
+ in pull request #1221. That commit added the CURL_EMBED_MANIFEST flag to
+ CURL_RC_FLAGS. However, later in the file CURL_RC_FLAGS is
+ overwritten. The fix is to append values to CURL_RC_FLAGS instead of
+ overwriting
+
+ Closes #4399
+
+- RELEASE-NOTES: synced
+
+Marcel Raad (22 Sep 2019)
+- openssl: fix compiler warning with LibreSSL
+
+ It was already fixed for BoringSSL in commit a0f8fccb1e0.
+ LibreSSL has had the second argument to SSL_CTX_set_min_proto_version
+ as uint16_t ever since the function was added in [0].
+
+ [0] https://github.com/libressl-portable/openbsd/commit/56f107201baefb5533486d665a58d8f57fd3aeda
+
+ Closes https://github.com/curl/curl/pull/4397
+
+Daniel Stenberg (22 Sep 2019)
+- curl: exit the create_transfers loop on errors
+
+ When looping around the ranges and given URLs to create transfers, all
+ errors should exit the loop and return. Previously it would keep
+ looping.
+
+ Reported-by: SumatraPeter on github
+ Bug: #4393
+ Closes #4396
+
+Jay Satiro (21 Sep 2019)
+- socks: Fix destination host shown on SOCKS5 error
+
+ Prior to this change when a server returned a socks5 connect error then
+ curl would parse the destination address:port from that data and show it
+ to the user as the destination:
+
+ curld -v --socks5 10.0.3.1:1080 http://google.com:99
+ * SOCKS5 communication to google.com:99
+ * SOCKS5 connect to IPv4 172.217.12.206 (locally resolved)
+ * Can't complete SOCKS5 connection to 253.127.0.0:26673. (1)
+ curl: (7) Can't complete SOCKS5 connection to 253.127.0.0:26673. (1)
+
+ That's incorrect because the address:port included in the connect error
+ is actually a bind address:port (typically unused) and not the
+ destination address:port. This fix changes curl to show the destination
+ information that curl sent to the server instead:
+
+ curld -v --socks5 10.0.3.1:1080 http://google.com:99
+ * SOCKS5 communication to google.com:99
+ * SOCKS5 connect to IPv4 172.217.7.14:99 (locally resolved)
+ * Can't complete SOCKS5 connection to 172.217.7.14:99. (1)
+ curl: (7) Can't complete SOCKS5 connection to 172.217.7.14:99. (1)
+
+ curld -v --socks5-hostname 10.0.3.1:1080 http://google.com:99
+ * SOCKS5 communication to google.com:99
+ * SOCKS5 connect to google.com:99 (remotely resolved)
+ * Can't complete SOCKS5 connection to google.com:99. (1)
+ curl: (7) Can't complete SOCKS5 connection to google.com:99. (1)
+
+ Ref: https://tools.ietf.org/html/rfc1928#section-6
+
+ Closes https://github.com/curl/curl/pull/4394
+
+Daniel Stenberg (21 Sep 2019)
+- travis: enable ngtcp2 h3-23 builds
+
+- altsvc: both backends run h3-23 now
+
+ Closes #4395
+
+- http: fix warning on conversion from int to bit
+
+ Follow-up from 03ebe66d70
+
+- urldata: use 'bool' for the bit type on MSVC compilers
+
+ Closes #4387
+ Fixes #4379
+
+- appveyor: upgrade VS2017 to VS2019
+
+ Closes #4383
+
+- [Zenju brought this change]
+
+ FTP: FTPFILE_NOCWD: avoid redundant CWDs
+
+ Closes #4382
+
+- cookie: pass in the correct cookie amount to qsort()
+
+ As the loop discards cookies without domain set. This bug would lead to
+ qsort() trying to sort uninitialized pointers. We have however not found
+ it a security problem.
+
+ Reported-by: Paul Dreik
+ Closes #4386
+
+- [Paul Dreik brought this change]
+
+ urlapi: avoid index underflow for short ipv6 hostnames
+
+ If the input hostname is "[", hlen will underflow to max of size_t when
+ it is subtracted with 2.
+
+ hostname[hlen] will then cause a warning by ubsanitizer:
+
+ runtime error: addition of unsigned offset to 0x<snip> overflowed to
+ 0x<snip>
+
+ I think that in practice, the generated code will work, and the output
+ of hostname[hlen] will be the first character "[".
+
+ This can be demonstrated by the following program (tested in both clang
+ and gcc, with -O3)
+
+ int main() {
+ char* hostname=strdup("[");
+ size_t hlen = strlen(hostname);
+
+ hlen-=2;
+ hostname++;
+ printf("character is %d\n",+hostname[hlen]);
+ free(hostname-1);
+ }
+
+ I found this through fuzzing, and even if it seems harmless, the proper
+ thing is to return early with an error.
+
+ Closes #4389
+
+- [Tatsuhiro Tsujikawa brought this change]
+
+ ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23
+
+ Closes #4392
+
+- THANKS-filter: deal with my typos 'Jat' => 'Jay'
+
+- travis: use go master
+
+ ... as the boringssl builds needs a very recent version
+
+ Co-authored-by: Jat Satiro
+ Closes #4361
+
+- tool_operate: removed unused variable 'done'
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- tool_operate: Expression 'config->resume_from' is always true
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- tool_getparam: remove duplicate switch case
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- libssh2: part of conditional expression is always true: !result
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- urlapi: Expression 'storep' is always true
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- urlapi: 'scheme' is always true
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- urlapi: part of conditional expression is always true: (relurl[0] == '/')
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- setopt: store CURLOPT_RTSP_SERVER_CSEQ correctly
+
+ Fixes bug detected by PVS-Studio
+ Fixes #4374
+
+- mime: make Curl_mime_duppart() assert if called without valid dst
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- http_proxy: part of conditional expression is always true: !error
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- imap: merged two case-branches performing the same action
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- multi: value '2L' is assigned to a boolean
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- easy: part of conditional expression is always true: !result
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- netrc: part of conditional expression is always true: !done
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- version: Expression 'left > 1' is always true
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- url: remove dead code
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- url: part of expression is always true: (bundle->multiuse == 0)
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- ftp: the conditional expression is always true
+
+ ... both !result and (ftp->transfer != FTPTRANSFER_BODY)!
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- ftp: Expression 'ftpc->wait_data_conn' is always false
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- ftp: Expression 'ftpc->wait_data_conn' is always true
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- ftp: part of conditional expression is always true: !result
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+
+- http: fix Expression 'http->postdata' is always false
+
+ Fixes warning detected by PVS-Studio
+ Fixes #4374
+ Reported-by: Valerii Zapodovnikov
+
+- [Niall O'Reilly brought this change]
+
+ doh: avoid truncating DNS QTYPE to lower octet
+
+ Closes #4381
+
+- [Jens Finkhaeuser brought this change]
+
+ urlapi: CURLU_NO_AUTHORITY allows empty authority/host part
+
+ CURLU_NO_AUTHORITY is intended for use with unknown schemes (i.e. not
+ "file:///") to override cURL's default demand that an authority exists.
+
+ Closes #4349
+
+- version: next release will be 7.67.0
+
+- RELEASE-NOTES: synced
+
+- url: only reuse TLS connections with matching pinning
+
+ If the requests have different CURLOPT_PINNEDPUBLICKEY strings set, the
+ connection should not be reused.
+
+ Bug: https://curl.haxx.se/mail/lib-2019-09/0061.html
+ Reported-by: Sebastian Haglund
+
+ Closes #4347
+
+- README: add OSS-Fuzz badge [skip ci]
+
+ Closes #4380
+
+Michael Kaufmann (18 Sep 2019)
+- http: merge two "case" statements
+
+Daniel Stenberg (18 Sep 2019)
+- [Zenju brought this change]
+
+ FTP: remove trailing slash from path for LIST/MLSD
+
+ Closes #4348
+
+- mime: when disabled, avoid C99 macro
+
+ Closes #4368
+
+- url: cleanup dangling DOH request headers too
+
+ Follow-up to 9bc44ff64d9081
+
+ Credit to OSS-Fuzz
+ Bug: https://crbug.com/oss-fuzz/17269
+
+ Closes #4372
+
+- [Christoph M. Becker brought this change]
+
+ http2: relax verification of :authority in push promise requests
+
+ If the :authority pseudo header field doesn't contain an explicit port,
+ we assume it is valid for the default port, instead of rejecting the
+ request for all ports.
+
+ Ref: https://curl.haxx.se/mail/lib-2019-09/0041.html
+
+ Closes #4365
+
+- doh: clean up dangling DOH handles and memory on easy close
+
+ If you set the same URL for target as for DoH (and it isn't a DoH
+ server), like "https://example.com" in both, the easy handles used for
+ the DoH requests could be left "dangling" and end up not getting freed.
+
+ Reported-by: Paul Dreik
+ Closes #4366
+
+- unit1655: make it C90 compliant
+
+ Unclear why this was not detected in the CI.
+
+ Follow-up to b7666027296a
+
+- smb: check for full size message before reading message details
+
+ To avoid reading of uninitialized data.
+
+ Assisted-by: Max Dymond
+ Bug: https://crbug.com/oss-fuzz/16907
+ Closes #4363
+
+- quiche: persist connection details
+
+ ... like we do for other protocols at connect time. This makes "curl -I"
+ and other things work.
+
+ Reported-by: George Liu
+ Fixes #4358
+ Closes #4360
+
+- openssl: fix warning with boringssl and SSL_CTX_set_min_proto_version
+
+ Follow-up to ffe34b7b59
+ Closes #4359
+
+- [Paul Dreik brought this change]
+
+ doh: fix undefined behaviour and open up for gcc and clang optimization
+
+ The undefined behaviour is annoying when running fuzzing with
+ sanitizers. The codegen is the same, but the meaning is now not up for
+ dispute. See https://cppinsights.io/s/516a2ff4
+
+ By incrementing the pointer first, both gcc and clang recognize this as
+ a bswap and optimizes it to a single instruction. See
+ https://godbolt.org/z/994Zpx
+
+ Closes #4350
+
+- [Paul Dreik brought this change]
+
+ doh: fix (harmless) buffer overrun
+
+ Added unit test case 1655 to verify.
+ Close #4352
+
+ the code correctly finds the flaws in the old code,
+ if one temporarily restores doh.c to the old version.
+
+Alessandro Ghedini (15 Sep 2019)
+- docs: remove trailing ':' from section names in CURLOPT_TRAILER* man
+
+- docs: fix typo in CURLOPT_HTTP_VERSION man
+
+GitHub (14 Sep 2019)
+- [Daniel Stenberg brought this change]
+
+ CI: inintial github action job
+
+ First shot at a CI build on github actions
+
+Daniel Stenberg (13 Sep 2019)
+- appveyor: add a winbuild
+
+ Assisted-by: Marcel Raad
+ Assisted-by: Jay Satiro
+
+ Closes #4324
+
+- FTP: allow "rubbish" prepended to the SIZE response
+
+ This is a protocol violation but apparently there are legacy proprietary
+ servers doing this.
+
+ Added test 336 and 337 to verify.
+
+ Reported-by: Philippe Marguinaud
+ Closes #4339
+
+- [Zenju brought this change]
+
+ FTP: skip CWD to entry dir when target is absolute
+
+ Closes #4332
+
+Kamil Dudka (13 Sep 2019)
+- curl: fix memory leaked by parse_metalink()
+
+ This commit fixes a regression introduced by curl-7_65_3-5-gb88940850.
+ Detected by tests 2005, 2008, 2009, 2010, 2011, and 2012 with valgrind
+ and libmetalink enabled.
+
+ Closes #4326
+
+Daniel Stenberg (13 Sep 2019)
+- parsedate: still provide the name arrays when disabled
+
+ If FILE or FTP are enabled, since they also use them!
+
+ Reported-by: Roland Hieber
+ Fixes #4325
+ Closes #4343
+
+- [Gilles Vollant brought this change]
+
+ curl:file2string: load large files much faster
+
+ ... by using a more efficient realloc scheme.
+
+ Bug: https://curl.haxx.se/mail/lib-2019-09/0045.html
+ Closes #4336
+
+- openssl: close_notify on the FTP data connection doesn't mean closure
+
+ For FTPS transfers, curl gets close_notify on the data connection
+ without that being a signal to close the control connection!
+
+ Regression since 3f5da4e59a556fc (7.65.0)
+
+ Reported-by: Zenju on github
+ Reviewed-by: Jay Satiro
+ Fixes #4329
+ Closes #4340
+
+- [Jimmy Gaussen brought this change]
+
+ docs/HTTP3: fix `--with-ssl` ngtcp2 configure flag
+
+ Closes #4338
+
+- RELEASE-NOTES: synced
+
+- curlver: bump to 7.66.1
+
+- [Zenju brought this change]
+
+ setopt: make it easier to add new enum values
+
+ ... by using the *_LAST define names better.
+
+ Closes #4321
+
+- asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris
+
+ Reported-by: Dagobert Michelsen
+ Fixes #4328
+ Closes #4333
+
+- [Bernhard Walle brought this change]
+
+ winbuild/MakefileBuild.vc: Add vssh
+
+ Without that modification, the Windows build using the makefiles doesn't
+ work.
+
+ Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu>
+
+ Fixes #4322
+ Closes #4323
+
+Bernhard Walle (11 Sep 2019)
+- winbuild/MakefileBuild.vc: Fix line endings
+
+ The file had mixed line endings.
+
+ Signed-off-by: Bernhard Walle <bernhard.walle@posteo.eu>
+
+Jay Satiro (11 Sep 2019)
+- ldap: Stop using wide char version of ldapp_err2string
+
+ Despite ldapp_err2string being documented by MS as returning a
+ PCHAR (char *), when UNICODE it is mapped to ldap_err2stringW and
+ returns PWCHAR (wchar_t *).
+
+ We have lots of code that expects ldap_err2string to return char *,
+ most of it failf used like this:
+
+ failf(data, "LDAP local: Some error: %s", ldap_err2string(rc));
+
+ Closes https://github.com/curl/curl/pull/4272
+
Version 7.66.0 (10 Sep 2019)
Daniel Stenberg (10 Sep 2019)
@@ -5598,2028 +7097,3 @@ Alessandro Ghedini (7 Feb 2019)
% curl -E <TAB>
Bug: https://bugs.debian.org/921452
-
-- zsh.pl: update regex to better match curl -h output
-
- The current regex fails to match '<...>' arguments properly (e.g. those
- with spaces in them), which causes an completion script with wrong
- descriptions for some options.
-
- Here's a diff of the generated completion script, comparing the previous
- version to the one with this fix:
-
- --- /usr/share/zsh/vendor-completions/_curl 2019-01-15 20:47:40.000000000 +0000
- +++ _curl 2019-02-05 20:57:29.453349040 +0000
- @@ -9,48 +9,48 @@
-
- _arguments -C -S \
- --happy-eyeballs-timeout-ms'[How long to wait in milliseconds for IPv6 before trying IPv4]':'<milliseconds>' \
- + --resolve'[Resolve the host+port to this address]':'<host:port:address[,address]...>' \
- {-c,--cookie-jar}'[Write cookies to <filename> after operation]':'<filename>':_files \
- {-D,--dump-header}'[Write the received headers to <filename>]':'<filename>':_files \
- {-y,--speed-time}'[Trigger '\''speed-limit'\'' abort after this time]':'<seconds>' \
- --proxy-cacert'[CA certificate to verify peer against for proxy]':'<file>':_files \
- - --tls13-ciphers'[of TLS 1.3 ciphersuites> TLS 1.3 cipher suites to use]':'<list' \
- + --tls13-ciphers'[TLS 1.3 cipher suites to use]':'<list of TLS 1.3 ciphersuites>' \
- {-E,--cert}'[Client certificate file and password]':'<certificate[:password]>' \
- --libcurl'[Dump libcurl equivalent code of this command line]':'<file>':_files \
- --proxy-capath'[CA directory to verify peer against for proxy]':'<dir>':_files \
- - --proxy-negotiate'[HTTP Negotiate (SPNEGO) authentication on the proxy]':'Use' \
- --proxy-pinnedpubkey'[FILE/HASHES public key to verify proxy with]':'<hashes>' \
- --crlfile'[Get a CRL list in PEM format from the given file]':'<file>':_files \
- - --proxy-insecure'[HTTPS proxy connections without verifying the proxy]':'Do' \
- - --proxy-ssl-allow-beast'[security flaw for interop for HTTPS proxy]':'Allow' \
- + --proxy-negotiate'[Use HTTP Negotiate (SPNEGO) authentication on the proxy]' \
- --abstract-unix-socket'[Connect via abstract Unix domain socket]':'<path>' \
- --pinnedpubkey'[FILE/HASHES Public key to verify peer against]':'<hashes>' \
- + --proxy-insecure'[Do HTTPS proxy connections without verifying the proxy]' \
- --proxy-pass'[Pass phrase for the private key for HTTPS proxy]':'<phrase>' \
- + --proxy-ssl-allow-beast'[Allow security flaw for interop for HTTPS proxy]' \
- {-p,--proxytunnel}'[Operate through an HTTP proxy tunnel (using CONNECT)]' \
- --socks5-hostname'[SOCKS5 proxy, pass host name to proxy]':'<host[:port]>' \
- --proto-default'[Use PROTOCOL for any URL missing a scheme]':'<protocol>' \
- - --proxy-tls13-ciphers'[list> TLS 1.3 proxy cipher suites]':'<ciphersuite' \
- + --proxy-tls13-ciphers'[TLS 1.3 proxy cipher suites]':'<ciphersuite list>' \
- --socks5-gssapi-service'[SOCKS5 proxy service name for GSS-API]':'<name>' \
- --ftp-alternative-to-user'[String to replace USER \[name\]]':'<command>' \
- - --ftp-ssl-control'[SSL/TLS for FTP login, clear for transfer]':'Require' \
- {-T,--upload-file}'[Transfer local FILE to destination]':'<file>':_files \
- --local-port'[Force use of RANGE for local port numbers]':'<num/range>' \
- --proxy-tlsauthtype'[TLS authentication type for HTTPS proxy]':'<type>' \
- {-R,--remote-time}'[Set the remote file'\''s time on the local output]' \
- - --retry-connrefused'[on connection refused (use with --retry)]':'Retry' \
- - --suppress-connect-headers'[proxy CONNECT response headers]':'Suppress' \
- - {-j,--junk-session-cookies}'[session cookies read from file]':'Ignore' \
- - --location-trusted'[--location, and send auth to other hosts]':'Like' \
- + --ftp-ssl-control'[Require SSL/TLS for FTP login, clear for transfer]' \
- --proxy-cert-type'[Client certificate type for HTTPS proxy]':'<type>' \
- {-O,--remote-name}'[Write output to a file named as the remote file]' \
- + --retry-connrefused'[Retry on connection refused (use with --retry)]' \
- + --suppress-connect-headers'[Suppress proxy CONNECT response headers]' \
- --trace-ascii'[Like --trace, but without hex output]':'<file>':_files \
- --connect-timeout'[Maximum time allowed for connection]':'<seconds>' \
- --expect100-timeout'[How long to wait for 100-continue]':'<seconds>' \
- {-g,--globoff}'[Disable URL sequences and ranges using {} and \[\]]' \
- + {-j,--junk-session-cookies}'[Ignore session cookies read from file]' \
- {-m,--max-time}'[Maximum time allowed for the transfer]':'<seconds>' \
- --dns-ipv4-addr'[IPv4 address to use for DNS requests]':'<address>' \
- --dns-ipv6-addr'[IPv6 address to use for DNS requests]':'<address>' \
- - --ignore-content-length'[the size of the remote resource]':'Ignore' \
- {-k,--insecure}'[Allow insecure server connections when using SSL]' \
- + --location-trusted'[Like --location, and send auth to other hosts]' \
- --mail-auth'[Originator address of the original email]':'<address>' \
- --noproxy'[List of hosts which do not use proxy]':'<no-proxy-list>' \
- --proto-redir'[Enable/disable PROTOCOLS on redirect]':'<protocols>' \
- @@ -62,18 +62,19 @@
- --socks5-basic'[Enable username/password auth for SOCKS5 proxies]' \
- --cacert'[CA certificate to verify peer against]':'<file>':_files \
- {-H,--header}'[Pass custom header(s) to server]':'<header/@file>' \
- + --ignore-content-length'[Ignore the size of the remote resource]' \
- {-i,--include}'[Include protocol response headers in the output]' \
- --proxy-header'[Pass custom header(s) to proxy]':'<header/@file>' \
- --unix-socket'[Connect through this Unix domain socket]':'<path>' \
- {-w,--write-out}'[Use output FORMAT after completion]':'<format>' \
- - --http2-prior-knowledge'[HTTP 2 without HTTP/1.1 Upgrade]':'Use' \
- {-o,--output}'[Write to file instead of stdout]':'<file>':_files \
- - {-J,--remote-header-name}'[the header-provided filename]':'Use' \
- + --preproxy'[\[protocol://\]host\[:port\] Use this proxy first]' \
- --socks4a'[SOCKS4a proxy on given host + port]':'<host[:port]>' \
- {-Y,--speed-limit}'[Stop transfers slower than this]':'<speed>' \
- {-z,--time-cond}'[Transfer based on a time condition]':'<time>' \
- --capath'[CA directory to verify peer against]':'<dir>':_files \
- {-f,--fail}'[Fail silently (no output at all) on HTTP errors]' \
- + --http2-prior-knowledge'[Use HTTP 2 without HTTP/1.1 Upgrade]' \
- --proxy-tlspassword'[TLS password for HTTPS proxy]':'<string>' \
- {-U,--proxy-user}'[Proxy user and password]':'<user:password>' \
- --proxy1.0'[Use HTTP/1.0 proxy on given port]':'<host[:port]>' \
- @@ -81,52 +82,49 @@
- {-A,--user-agent}'[Send User-Agent <name> to server]':'<name>' \
- --egd-file'[EGD socket path for random data]':'<file>':_files \
- --fail-early'[Fail on first transfer error, do not continue]' \
- - --haproxy-protocol'[HAProxy PROXY protocol v1 header]':'Send' \
- - --preproxy'[Use this proxy first]':'[protocol://]host[:port]' \
- + {-J,--remote-header-name}'[Use the header-provided filename]' \
- --retry-max-time'[Retry only within this period]':'<seconds>' \
- --socks4'[SOCKS4 proxy on given host + port]':'<host[:port]>' \
- --socks5'[SOCKS5 proxy on given host + port]':'<host[:port]>' \
- - --socks5-gssapi-nec'[with NEC SOCKS5 server]':'Compatibility' \
- - --ssl-allow-beast'[security flaw to improve interop]':'Allow' \
- --cert-status'[Verify the status of the server certificate]' \
- - --ftp-create-dirs'[the remote dirs if not present]':'Create' \
- {-:,--next}'[Make next URL use its separate set of options]' \
- --proxy-key-type'[Private key file type for proxy]':'<type>' \
- - --remote-name-all'[the remote file name for all URLs]':'Use' \
- {-X,--request}'[Specify request command to use]':'<command>' \
- --retry'[Retry request if transient problems occur]':'<num>' \
- - --ssl-no-revoke'[cert revocation checks (WinSSL)]':'Disable' \
- --cert-type'[Certificate file type (DER/PEM/ENG)]':'<type>' \
- --connect-to'[Connect to host]':'<HOST1:PORT1:HOST2:PORT2>' \
- --create-dirs'[Create necessary local directory hierarchy]' \
- + --haproxy-protocol'[Send HAProxy PROXY protocol v1 header]' \
- --max-redirs'[Maximum number of redirects allowed]':'<num>' \
- {-n,--netrc}'[Must read .netrc for user name and password]' \
- + {-x,--proxy}'[\[protocol://\]host\[:port\] Use this proxy]' \
- --proxy-crlfile'[Set a CRL list for proxy]':'<file>':_files \
- --sasl-ir'[Enable initial response in SASL authentication]' \
- - --socks5-gssapi'[GSS-API auth for SOCKS5 proxies]':'Enable' \
- + --socks5-gssapi-nec'[Compatibility with NEC SOCKS5 server]' \
- + --ssl-allow-beast'[Allow security flaw to improve interop]' \
- + --ftp-create-dirs'[Create the remote dirs if not present]' \
- --interface'[Use network INTERFACE (or address)]':'<name>' \
- --key-type'[Private key file type (DER/PEM/ENG)]':'<type>' \
- --netrc-file'[Specify FILE for netrc]':'<filename>':_files \
- {-N,--no-buffer}'[Disable buffering of the output stream]' \
- --proxy-service-name'[SPNEGO proxy service name]':'<name>' \
- - --styled-output'[styled output for HTTP headers]':'Enable' \
- + --remote-name-all'[Use the remote file name for all URLs]' \
- + --ssl-no-revoke'[Disable cert revocation checks (WinSSL)]' \
- --max-filesize'[Maximum file size to download]':'<bytes>' \
- --negotiate'[Use HTTP Negotiate (SPNEGO) authentication]' \
- --no-keepalive'[Disable TCP keepalive on the connection]' \
- {-#,--progress-bar}'[Display transfer progress as a bar]' \
- - {-x,--proxy}'[Use this proxy]':'[protocol://]host[:port]' \
- - --proxy-anyauth'[any proxy authentication method]':'Pick' \
- {-Q,--quote}'[Send command(s) to server before transfer]' \
- - --request-target'[the target for this request]':'Specify' \
- + --socks5-gssapi'[Enable GSS-API auth for SOCKS5 proxies]' \
- {-u,--user}'[Server user and password]':'<user:password>' \
- {-K,--config}'[Read config from a file]':'<file>':_files \
- {-C,--continue-at}'[Resumed transfer offset]':'<offset>' \
- --data-raw'[HTTP POST data, '\''@'\'' allowed]':'<data>' \
- - --disallow-username-in-url'[username in url]':'Disallow' \
- --krb'[Enable Kerberos with security <level>]':'<level>' \
- --proxy-ciphers'[SSL ciphers to use for proxy]':'<list>' \
- --proxy-digest'[Use Digest authentication on the proxy]' \
- --proxy-tlsuser'[TLS username for HTTPS proxy]':'<name>' \
- + --styled-output'[Enable styled output for HTTP headers]' \
- {-b,--cookie}'[Send cookies from string/file]':'<data>' \
- --data-urlencode'[HTTP POST data url encoded]':'<data>' \
- --delegation'[GSS-API delegation permission]':'<LEVEL>' \
- @@ -134,7 +132,10 @@
- --post301'[Do not switch to GET after following a 301]' \
- --post302'[Do not switch to GET after following a 302]' \
- --post303'[Do not switch to GET after following a 303]' \
- + --proxy-anyauth'[Pick any proxy authentication method]' \
- + --request-target'[Specify the target for this request]' \
- --trace-time'[Add time stamps to trace/verbose output]' \
- + --disallow-username-in-url'[Disallow username in url]' \
- --dns-servers'[DNS server addrs to use]':'<addresses>' \
- {-G,--get}'[Put the post data in the URL and use GET]' \
- --limit-rate'[Limit transfer speed to RATE]':'<speed>' \
- @@ -148,21 +149,21 @@
- --metalink'[Process given URLs as metalink XML file]' \
- --tr-encoding'[Request compressed transfer encoding]' \
- --xattr'[Store metadata in extended file attributes]' \
- - --ftp-skip-pasv-ip'[the IP address for PASV]':'Skip' \
- --pass'[Pass phrase for the private key]':'<phrase>' \
- --proxy-ntlm'[Use NTLM authentication on the proxy]' \
- {-S,--show-error}'[Show error even when -s is used]' \
- - --ciphers'[of ciphers> SSL ciphers to use]':'<list' \
- + --ciphers'[SSL ciphers to use]':'<list of ciphers>' \
- --form-string'[Specify multipart MIME data]':'<name=string>' \
- --login-options'[Server login options]':'<options>' \
- --tftp-blksize'[Set TFTP BLKSIZE option]':'<value>' \
- - --tftp-no-options'[not send any TFTP options]':'Do' \
- {-v,--verbose}'[Make the operation more talkative]' \
- + --ftp-skip-pasv-ip'[Skip the IP address for PASV]' \
- --proxy-key'[Private key for HTTPS proxy]':'<key>' \
- {-F,--form}'[Specify multipart MIME data]':'<name=content>' \
- --mail-from'[Mail from this address]':'<address>' \
- --oauth2-bearer'[OAuth 2 Bearer Token]':'<token>' \
- --proto'[Enable/disable PROTOCOLS]':'<protocols>' \
- + --tftp-no-options'[Do not send any TFTP options]' \
- --tlsauthtype'[TLS authentication type]':'<type>' \
- --doh-url'[Resolve host names over DOH]':'<URL>' \
- --no-sessionid'[Disable SSL session-ID reusing]' \
- @@ -173,14 +174,13 @@
- --ftp-ssl-ccc'[Send CCC after authenticating]' \
- {-4,--ipv4}'[Resolve names to IPv4 addresses]' \
- {-6,--ipv6}'[Resolve names to IPv6 addresses]' \
- - --netrc-optional'[either .netrc or URL]':'Use' \
- --service-name'[SPNEGO service name]':'<name>' \
- {-V,--version}'[Show version number and quit]' \
- --data-ascii'[HTTP POST ASCII data]':'<data>' \
- --ftp-account'[Account data string]':'<data>' \
- - --compressed-ssh'[SSH compression]':'Enable' \
- --disable-eprt'[Inhibit using EPRT or LPRT]' \
- --ftp-method'[Control CWD usage]':'<method>' \
- + --netrc-optional'[Use either .netrc or URL]' \
- --pubkey'[SSH Public key file name]':'<key>' \
- --raw'[Do HTTP "raw"; no transfer decoding]' \
- --anyauth'[Pick any authentication method]' \
- @@ -189,6 +189,7 @@
- --no-alpn'[Disable the ALPN TLS extension]' \
- --tcp-nodelay'[Use the TCP_NODELAY option]' \
- {-B,--use-ascii}'[Use ASCII/text transfer]' \
- + --compressed-ssh'[Enable SSH compression]' \
- --digest'[Use HTTP Digest Authentication]' \
- --proxy-tlsv1'[Use TLSv1 for HTTPS proxy]' \
- --engine'[Crypto engine to use]':'<name>' \
-
-Marcel Raad (7 Feb 2019)
-- tool_operate: fix typecheck warning
-
- Use long for CURLOPT_HTTP09_ALLOWED to fix the following warning:
- tool_operate.c: In function 'operate_do':
- ../include/curl/typecheck-gcc.h:47:9: error: call to
- '_curl_easy_setopt_err_long' declared with attribute warning:
- curl_easy_setopt expects a long argument for this option [-Werror]
-
- Closes https://github.com/curl/curl/pull/3534
-
-Jay Satiro (6 Feb 2019)
-- [Chris Araman brought this change]
-
- url: close TLS before removing conn from cache
-
- - Fix potential crashes in schannel shutdown.
-
- Ensure any TLS shutdown messages are sent before removing the
- association between the connection and the easy handle. Reverts
- @bagder's previous partial fix for #3412.
-
- Fixes https://github.com/curl/curl/issues/3412
- Fixes https://github.com/curl/curl/issues/3505
- Closes https://github.com/curl/curl/pull/3531
-
-Daniel Gustafsson (6 Feb 2019)
-- INTERNALS.md: fix subsection depth and link
-
- The Kerberos subsection was mistakenly a subsubsection under FTP, and
- the curlx subsection was missing an anchor for the TOC link.
-
- Closes #3529
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Version 7.64.0 (6 Feb 2019)
-
-Daniel Stenberg (6 Feb 2019)
-- RELEASE-NOTES: 7.64.0
-
-- RELEASE-PROCEDURE: update the release calendar
-
-- THANKS: 7.64.0 status
-
-Daniel Gustafsson (5 Feb 2019)
-- ROADMAP: remove already performed item
-
- Commit 7a09b52c98ac8d840a8a9907b1a1d9a9e684bcf5 introduced support
- for the draft-ietf-httpbis-cookie-alone-01 cookie draft, and while
- the entry was removed from the TODO it was mistakenly left here.
- Fix by removing and rewording the entry slightly.
-
- Closes #3530
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- [Etienne Simard brought this change]
-
- CONTRIBUTE.md: Fix grammatical errors
-
- Fix grammatical errors making the document read better. Also fixes
- a typo.
-
- Closes #3525
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
-
-Daniel Stenberg (4 Feb 2019)
-- [Julian Z brought this change]
-
- docs: use $(INSTALL_DATA) to install man page
-
- Fixes #3518
- Closes #3522
-
-Jay Satiro (4 Feb 2019)
-- [Ladar Levison brought this change]
-
- runtests.pl: Fix perl call to include srcdir
-
- - Use explicit include opt for perl calls.
-
- Prior to this change some scripts couldn't find their dependencies.
-
- At the top, perl is called using with the "-Isrcdir" option, and it
- works:
-
- https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L183
-
- But on line 3868, that option is omitted. This caused problems for me,
- as the symbol-scan.pl script in particular couldn't find its
- dependencies properly:
-
- https://github.com/curl/curl/blob/curl-7_63_0/tests/runtests.pl#L3868
-
- This patch fixes that oversight by making calls to perl sub-shells
- uniform.
-
- Closes https://github.com/curl/curl/pull/3496
-
-Daniel Stenberg (4 Feb 2019)
-- [Daniel Gustafsson brought this change]
-
- smtp: avoid risk of buffer overflow in strtol
-
- If the incoming len 5, but the buffer does not have a termination
- after 5 bytes, the strtol() call may keep reading through the line
- buffer until is exceeds its boundary. Fix by ensuring that we are
- using a bounded read with a temporary buffer on the stack.
-
- Bug: https://curl.haxx.se/docs/CVE-2019-3823.html
- Reported-by: Brian Carpenter (Geeknik Labs)
- CVE-2019-3823
-
-- ntlm: fix *_type3_message size check to avoid buffer overflow
-
- Bug: https://curl.haxx.se/docs/CVE-2019-3822.html
- Reported-by: Wenxiang Qian
- CVE-2019-3822
-
-- NTLM: fix size check condition for type2 received data
-
- Bug: https://curl.haxx.se/docs/CVE-2018-16890.html
- Reported-by: Wenxiang Qian
- CVE-2018-16890
-
-Marcel Raad (1 Feb 2019)
-- [Giorgos Oikonomou brought this change]
-
- spnego_sspi: add support for channel binding
-
- Attempt to add support for Secure Channel binding when negotiate
- authentication is used. The problem to solve is that by default IIS
- accepts channel binding and curl doesn't utilise them. The result was a
- 401 response. Scope affects only the Schannel(winssl)-SSPI combination.
-
- Fixes https://github.com/curl/curl/issues/3503
- Closes https://github.com/curl/curl/pull/3509
-
-Daniel Stenberg (1 Feb 2019)
-- RELEASE-NOTES: synced
-
-- schannel: stop calling it "winssl"
-
- Stick to "Schannel" everywhere. The configure option --with-winssl is
- kept to allow existing builds to work but --with-schannel is added as an
- alias.
-
- Closes #3504
-
-- multi: set the EXPIRE_*TIMEOUT timers at TIMER_STARTSINGLE time
-
- To make sure Curl_timeleft() also thinks the timeout has been reached
- when one of the EXPIRE_*TIMEOUTs expires.
-
- Bug: https://curl.haxx.se/mail/lib-2019-01/0073.html
- Reported-by: Zhao Yisha
- Closes #3501
-
-- [John Marshall brought this change]
-
- doc: use meaningless port number in CURLOPT_LOCALPORT example
-
- Use an ephemeral port number here; previously the example had 8080
- which could be confusing as the common web server port number might
- be misinterpreted as suggesting this option affects the remote port.
-
- URL: https://curl.haxx.se/mail/lib-2019-01/0084.html
- Closes #3513
-
-GitHub (29 Jan 2019)
-- [Gisle Vanem brought this change]
-
- Escape the '\'
-
- A backslash should be escaped in Roff / Troff.
-
-Jay Satiro (29 Jan 2019)
-- TODO: WinSSL: 'Add option to disable client cert auto-send'
-
- By default WinSSL selects and send a client certificate automatically,
- but for privacy and consistency we should offer an option to disable the
- default auto-send behavior.
-
- Reported-by: Jeroen Ooms
-
- Closes https://github.com/curl/curl/issues/2262
-
-Daniel Stenberg (28 Jan 2019)
-- [Jeremie Rapin brought this change]
-
- sigpipe: if mbedTLS is used, ignore SIGPIPE
-
- mbedTLS doesn't have a sigpipe management. If a write/read occurs when
- the remote closes the socket, the signal is raised and kills the
- application. Use the curl mecanisms fix this behavior.
-
- Signed-off-by: Jeremie Rapin <j.rapin@overkiz.com>
-
- Closes #3502
-
-- unit1653: make it survive torture tests
-
-Jay Satiro (28 Jan 2019)
-- [Michael Kujawa brought this change]
-
- timeval: Disable MSVC Analyzer GetTickCount warning
-
- Compiling with msvc /analyze and a recent Windows SDK warns against
- using GetTickCount (Suggests to use GetTickCount64 instead.)
-
- Since GetTickCount is only being used when GetTickCount64 isn't
- available, I am disabling that warning.
-
- Fixes https://github.com/curl/curl/issues/3437
- Closes https://github.com/curl/curl/pull/3440
-
-Daniel Stenberg (26 Jan 2019)
-- configure: rewrite --enable-code-coverage
-
- The previously used ax_code_coverage.m4 is not license compatible and
- must not be used.
-
- Reported-by: William A. Rowe Jr
- Fixes #3497
- Closes #3499
-
-- [Felix Hädicke brought this change]
-
- setopt: enable CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION for libssh
-
- CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION are supported for
- libssh as well. So accepting these options only when compiling with
- libssh2 is wrong here.
-
- Fixes #3493
- Closes #3494
-
-- [Felix Hädicke brought this change]
-
- libssh: do not let libssh create socket
-
- By default, libssh creates a new socket, instead of using the socket
- created by curl for SSH connections.
-
- Pass the socket created by curl to libssh using ssh_options_set() with
- SSH_OPTIONS_FD directly after ssh_new(). So libssh uses our socket
- instead of creating a new one.
-
- This approach is very similar to what is done in the libssh2 code, where
- the socket created by curl is passed to libssh2 when
- libssh2_session_startup() is called.
-
- Fixes #3491
- Closes #3495
-
-- RELEASE-NOTES: synced
-
-- [Archangel_SDY brought this change]
-
- schannel: preserve original certificate path parameter
-
- Fixes #3480
- Closes #3487
-
-- KNOWN_BUGS: tests not compatible with python3
-
- Closes #3289
- [skip ci]
-
-Daniel Gustafsson (20 Jan 2019)
-- memcmp: avoid doing single char memcmp
-
- There is no real gain in performing memcmp() comparisons on single
- characters, so change these to array subscript inspections which
- saves a call and makes the code clearer.
-
- Closes #3486
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
-
-Daniel Stenberg (19 Jan 2019)
-- COPYING: it's 2019
-
- [skip ci]
-
-- [hhb brought this change]
-
- configure: fix recv/send/select detection on Android
-
- This reverts commit d4f25201fb7da03fc88f90d51101beb3d0026db9.
-
- The overloadable attribute is removed again starting from
- NDK17. Actually they only exist in two NDK versions (15 and 16). With
- overloadable, the first condition tried will succeed. Results in wrong
- detection result.
-
- Closes #3484
-
-Marcel Raad (19 Jan 2019)
-- [Giorgos Oikonomou brought this change]
-
- ntlm_sspi: add support for channel binding
-
- Windows extended potection (aka ssl channel binding) is required
- to login to ntlm IIS endpoint, otherwise the server returns 401
- responses.
-
- Fixes #3280
- Closes #3321
-
-Daniel Stenberg (18 Jan 2019)
-- schannel: on connection close there might not be a transfer
-
- Reported-by: Marcel Raad
- Fixes #3412
- Closes #3483
-
-- [Joel Depooter brought this change]
-
- ssh: log the libssh2 error message when ssh session startup fails
-
- When a ssh session startup fails, it is useful to know why it has
- failed. This commit changes the message from:
- "Failure establishing ssh session"
- to something like this, for example:
- "Failure establishing ssh session: -5, Unable to exchange encryption keys"
-
- Closes #3481
-
-Alessandro Ghedini (16 Jan 2019)
-- Fix typo in manpage
-
-Daniel Stenberg (16 Jan 2019)
-- RELEASE-NOTES: synced
-
-Sergei Nikulov (16 Jan 2019)
-- cmake: updated check for HAVE_POLL_FINE to match autotools
-
-Daniel Stenberg (16 Jan 2019)
-- curl-compilers.m4: check for __ibmxl__ to detect xlclang
-
- Follow-up to 2fa0d57e2e3. The __xlc__ symbol is only defined there if a
- particular flag is used for legacy macros.
-
- Fixes #3474
- Closes #3479
-
-- openssl: fix the SSL_get_tlsext_status_ocsp_resp call
-
- .... to not pass in a const in the second argument as that's not how it
- is supposed to be used and might cause compiler warnings.
-
- Reported-by: Pavel Pavlov
- Fixes #3477
- Closes #3478
-
-- curl-compilers.m4: detect xlclang
-
- Since it isn't totally clang compatible, we detect this IBM clang
- front-end and if detected, avoids some clang specific magic.
-
- Reported-by: Kees Dekker
- Fixes #3474
- Closes #3476
-
-- README: add codacy code quality badge
-
- [skip ci]
-
-- extract_if_dead: follow-up to 54b201b48c90a
-
- extract_if_dead() dead is called from two functions, and only one of
- them should get conn->data updated and now neither call path clears it.
-
- scan-build found a case where conn->data would be NULL dereferenced in
- ConnectionExists() otherwise.
-
- Closes #3473
-
-- multi: remove "Dead assignment"
-
- Found by scan-build. Follow-up to 4c35574bb785ce.
-
- Closes #3471
-
-- tests: move objnames-* from lib into tests
-
- Since they're used purely for testing purposes, I think they should
- rather be stored there.
-
- Closes #3470
-
-Sergei Nikulov (15 Jan 2019)
-- travis: added cmake build for osx
-
-Daniel Stenberg (14 Jan 2019)
-- [Frank Gevaerts brought this change]
-
- cookie: fix comment typo (url_path_len -> uri_path_len)
-
- Closes #3469
-
-Marcel Raad (14 Jan 2019)
-- winbuild: conditionally use /DZLIB_WINAPI
-
- zlibwapi.lib (dynamic library) and zlibstat.lib (static library) have
- the ZLIB_WINAPI define set by default. Using them requires that define
- too.
-
- Ref: https://zlib.net/DLL_FAQ.txt
-
- Fixes https://github.com/curl/curl/issues/3133
- Closes https://github.com/curl/curl/pull/3460
-
-Daniel Stenberg (14 Jan 2019)
-- src/Makefile: make 'tidy' target work for metalink builds
-
-- extract_if_dead: use a known working transfer when checking connections
-
- Make sure that this function sets a proper "live" transfer for the
- connection before calling the protocol-specific connection check
- function, and then clear it again afterward as a non-used connection has
- no current transfer.
-
- Reported-by: Jeroen Ooms
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Gustafsson
- Fixes #3463
- Closes #3464
-
-- openssl: adapt to 3.0.0, OpenSSL_version_num() is deprecated
-
- OpenSSL_version() replaces OpenSSL_version_num()
-
- Closes #3462
-
-Sergei Nikulov (11 Jan 2019)
-- cmake: added checks for HAVE_VARIADIC_MACROS_C99 and HAVE_VARIADIC_MACROS_GCC
-
-Daniel Stenberg (11 Jan 2019)
-- urldata: rename easy_conn to just conn
-
- We use "conn" everywhere to be a pointer to the connection.
-
- Introduces two functions that "attaches" and "detaches" the connection
- to and from the transfer.
-
- Going forward, we should favour using "data->conn" (since a transfer
- always only has a single connection or none at all) to "conn->data"
- (since a connection can have none, one or many transfers associated with
- it and updating conn->data to be correct is error prone and a frequent
- reason for internal issues).
-
- Closes #3442
-
-- tool_cb_prg: avoid integer overflow
-
- When calculating the progress bar width.
-
- Reported-by: Peng Li
- Fixes #3456
- Closes #3458
-
-Daniel Gustafsson (11 Jan 2019)
-- travis: turn off copyright year checks in checksrc
-
- Invoking the maintainer intended COPYRIGHTYEAR check for everyone
- in the PR pipeline is too invasive, especially at the turn of the
- year when many files get affected. Remove and leave it as a tool
- for maintainers to verify patches before commits.
-
- This reverts f7bdf4b2e1d81b2652b81b9b3029927589273b41.
-
- After discussion with: Daniel Stenberg
-
-Daniel Stenberg (10 Jan 2019)
-- KNOWN_BUGS: cmake makes unusable tool_hugehelp.c with MinGW
-
- Closes #3125
-
-- KNOWN_BUGS: Improve --data-urlencode space encoding
-
- Closes #3229
-
-Patrick Monnerat (10 Jan 2019)
-- os400: add a missing closing bracket
-
- See https://github.com/curl/curl/issues/3453#issuecomment-453054458
-
- Reported-by: jonrumsey on github
-
-- os400: fix extra parameter syntax error.
-
- Reported-by: jonrumsey on github
- Closes #3453
-
-Daniel Stenberg (10 Jan 2019)
-- test1558: verify CURLINFO_PROTOCOL on file:// transfer
-
- Attempt to reproduce issue #3444.
-
- Closes #3447
-
-- RELEASE-NOTES: synced
-
-- xattr: strip credentials from any URL that is stored
-
- Both user and password are cleared uncondtitionally.
-
- Added unit test 1621 to verify.
-
- Fixes #3423
- Closes #3433
-
-- cookies: allow secure override when done over HTTPS
-
- Added test 1562 to verify.
-
- Reported-by: Jeroen Ooms
- Fixes #3445
- Closes #3450
-
-- multi: multiplexing improvements
-
- Fixes #3436
- Closes #3448
-
- Problem 1
-
- After LOTS of scratching my head, I eventually realized that even when doing
- 10 uploads in parallel, sometimes the socket callback to the application that
- tells it what to wait for on the socket, looked like it would reflect the
- status of just the single transfer that just changed state.
-
- Digging into the code revealed that this was indeed the truth. When multiple
- transfers are using the same connection, the application did not correctly get
- the *combined* flags for all transfers which then could make it switch to READ
- (only) when in fact most transfers wanted to get told when the socket was
- WRITEABLE.
-
- Problem 1b
-
- A separate but related regression had also been introduced by me when I
- cleared connection/transfer association better a while ago, as now the logic
- couldn't find the connection and see if that was marked as used by more
- transfers and then it would also prematurely remove the socket from the socket
- hash table even in times other transfers were still using it!
-
- Fix 1
-
- Make sure that each socket stored in the socket hash has a "combined" action
- field of what to ask the application to wait for, that is potentially the ORed
- action of multiple parallel transfers. And remove that socket hash entry only
- if there are no transfers left using it.
-
- Problem 2
-
- The socket hash entry stored an association to a single transfer using that
- socket - and when curl_multi_socket_action() was called to tell libcurl about
- activities on that specific socket only that transfer was "handled".
-
- This was WRONG, as a single socket/connection can be used by numerous parallel
- transfers and not necessarily a single one.
-
- Fix 2
-
- We now store a list of handles in the socket hashtable entry and when libcurl
- is told there's traffic for a particular socket, it now iterates over all
- known transfers using that single socket.
-
-- test1561: improve test name
-
- [skip ci]
-
-- [Katsuhiko YOSHIDA brought this change]
-
- cookies: skip custom cookies when redirecting cross-site
-
- Closes #3417
-
-- THANKS: fixups and a dedupe
-
- [skip ci]
-
-- timediff: fix math for unsigned time_t
-
- Bug: https://curl.haxx.se/mail/lib-2018-12/0088.html
-
- Closes #3449
-
-- [Bernhard M. Wiedemann brought this change]
-
- tests: allow tests to pass by 2037-02-12
-
- similar to commit f508d29f3902104018
-
- Closes #3443
-
-- RELEASE-NOTES: synced
-
-- [Brad Spencer brought this change]
-
- curl_multi_remove_handle() don't block terminating c-ares requests
-
- Added Curl_resolver_kill() for all three resolver modes, which only
- blocks when necessary, along with test 1592 to confirm
- curl_multi_remove_handle() doesn't block unless it must.
-
- Closes #3428
- Fixes #3371
-
-- Revert "http_negotiate: do not close connection until negotiation is completed"
-
- This reverts commit 07ebaf837843124ee670e5b8c218b80b92e06e47.
-
- This also reopens PR #3275 which brought the change now reverted.
-
- Fixes #3384
- Closes #3439
-
-- curl/urlapi.h: include "curl.h" first
-
- This allows programs to include curl/urlapi.h directly.
-
- Reviewed-by: Daniel Gustafsson
- Reported-by: Ben Kohler
- Fixes #3438
- Closes #3441
-
-Marcel Raad (6 Jan 2019)
-- VS projects: fix build warning
-
- Starting with Visual Studio 2017 Update 9, Visual Studio doesn't like
- the MinimalRebuild option anymore and warns:
-
- cl : Command line warning D9035: option 'Gm' has been deprecated and
- will be removed in a future release
-
- The option can be safely removed so that the default is used.
-
- Closes https://github.com/curl/curl/pull/3425
-
-- schannel: fix compiler warning
-
- When building with Unicode on MSVC, the compiler warns about freeing a
- pointer to const in Curl_unicodefree. Fix this by declaring it as
- non-const and casting the argument to Curl_convert_UTF8_to_tchar to
- non-const too, like we do in all other places.
-
- Closes https://github.com/curl/curl/pull/3435
-
-Daniel Stenberg (4 Jan 2019)
-- [Rikard Falkeborn brought this change]
-
- printf: introduce CURL_FORMAT_TIMEDIFF_T
-
-- [Rikard Falkeborn brought this change]
-
- printf: fix format specifiers
-
- Closes #3426
-
-- libtest/stub_gssapi: use "real" snprintf
-
- ... since it doesn't link with libcurl.
-
- Reverts the commit dcd6f81025 changes from this file.
-
- Bug: https://curl.haxx.se/mail/lib-2019-01/0000.html
- Reported-by: Shlomi Fish
- Reviewed-by: Daniel Gustafsson
- Reviewed-by: Kamil Dudka
-
- Closes #3434
-
-- INTERNALS: correct some outdated function names
-
- Closes #3431
-
-- docs/version.d: mention MultiSSL
-
- Reviewed-by: Daniel Gustafsson
- Closes #3432
-
-Daniel Gustafsson (2 Jan 2019)
-- [Rikard Falkeborn brought this change]
-
- examples: Update .gitignore
-
- Add a few missing examples to make `make examples` not leave the
- workspace in a dirty state.
-
- Closes #3427
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
-
-- THANKS: add more missing names
-
- Add Adrian Burcea who made the artwork for the curl://up 2018 event
- which was held in Stockholm, Sweden.
-
-- docs: mention potential leak in curl_slist_append
-
- When a non-empty list is appended to, and used as the returnvalue,
- the list pointer can leak in case of an allocation failure in the
- curl_slist_append() call. This is correctly handled in curl code
- usage but we weren't explicitly pointing it out in the API call
- documentation. Fix by extending the RETURNVALUE manpage section
- and example code.
-
- Closes #3424
- Reported-by: dnivras on github
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Marcel Raad (1 Jan 2019)
-- tvnow: silence conversion warnings
-
- MinGW-w64 defaults to targeting Windows 7 now, so GetTickCount64 is
- used and the milliseconds are represented as unsigned long long,
- leading to a compiler warning when implicitly converting them to long.
-
-Daniel Stenberg (1 Jan 2019)
-- THANKS: dedupe more names
-
- Researched-by: Tae Wong
-
-Marcel Raad (1 Jan 2019)
-- [Markus Moeller brought this change]
-
- ntlm: update selection of type 3 response
-
- NTLM2 did not work i.e. no NTLMv2 response was created. Changing the
- check seems to work.
-
- Ref: https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-NLMP/[MS-NLMP].pdf
-
- Fixes https://github.com/curl/curl/issues/3286
- Closes https://github.com/curl/curl/pull/3287
- Closes https://github.com/curl/curl/pull/3415
-
-Daniel Stenberg (31 Dec 2018)
-- THANKS: added missing names from year <= 2000
-
- Due to a report of a missing name in THANKS I manually went through an
- old CHANGES.0 file and added many previously missing names here.
-
-Daniel Gustafsson (30 Dec 2018)
-- urlapi: fix parsing ipv6 with zone index
-
- The previous fix for parsing IPv6 URLs with a zone index was a paddle
- short for URLs without an explicit port. This patch fixes that case
- and adds a unit test case.
-
- This bug was highlighted by issue #3408, and while it's not the full
- fix for the problem there it is an isolated bug that should be fixed
- regardless.
-
- Closes #3411
- Reported-by: GitYuanQu on github
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (30 Dec 2018)
-- THANKS: dedupe Guenter Knauf
-
- Reported-by: Tae Wong
-
-- THANKS: missing name from the 6.3.1 release!
-
-Daniel Gustafsson (27 Dec 2018)
-- RELEASE-NOTES: synced
-
-- [Claes Jakobsson brought this change]
-
- hostip: support wildcard hosts
-
- This adds support for wildcard hosts in CURLOPT_RESOLVE. These are
- try-last so any non-wildcard entry is resolved first. If specified,
- any host not matched by another CURLOPT_RESOLVE config will use this
- as fallback.
-
- Example send a.com to 10.0.0.1 and everything else to 10.0.0.2:
- curl --resolve *:443:10.0.0.2 --resolve a.com:443:10.0.0.1 \
- https://a.com https://b.com
-
- This is probably quite similar to using:
- --connect-to a.com:443:10.0.0.1:443 --connect-to :443:10.0.0.2:443
-
- Closes #3406
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- url: fix incorrect indentation
-
-Patrick Monnerat (26 Dec 2018)
-- os400: upgrade ILE/RPG binding.
-
- - Trailer function support.
- - http 0.9 option.
- - curl_easy_upkeep.
-
-Daniel Gustafsson (25 Dec 2018)
-- FAQ: remove mention of sourceforge for github
-
- The project bug tracker is no longer hosted at sourceforge but is now
- hosted on the curl Github page. Update the FAQ to reflect.
-
- Closes #3410
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- openvms: fix typos in documentation
-
-- openvms: fix OpenSSL discovery on VAX
-
- The DCL code had a typo in one of the commands which would make the
- OpenSSL discovery on VAX fail. The correct syntax is F$ENVIRONMENT.
-
- Closes #3407
- Reviewed-by: Viktor Szakats <commit@vszakats.net>
-
-Daniel Stenberg (24 Dec 2018)
-- [Ruslan Baratov brought this change]
-
- cmake: use lowercase for function name like the rest of the code
-
- Reviewed-by: Sergei Nikulov
-
- closes #3196
-
-- Revert "libssh: no data pointer == nothing to do"
-
- This reverts commit c98ee5f67f497195c9 since commit f3ce38739fa fixed the
- problem in a more generic way.
-
-- disconnect: set conn->data for protocol disconnect
-
- Follow-up to fb445a1e18d: Set conn->data explicitly to point out the
- current transfer when invoking the protocol-specific disconnect function
- so that it can work correctly.
-
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12173
-
-Jay Satiro (23 Dec 2018)
-- [Pavel Pavlov brought this change]
-
- timeval: Use high resolution timestamps on Windows
-
- - Use QueryPerformanceCounter on Windows Vista+
-
- There is confusing info floating around that QueryPerformanceCounter
- can leap etc, which might have been true long time ago, but no longer
- the case nowadays (perhaps starting from WinXP?). Also, boost and
- std::chrono::steady_clock use QueryPerformanceCounter in a similar way.
-
- Prior to this change GetTickCount or GetTickCount64 was used, which has
- lower resolution. That is still the case for <= XP.
-
- Fixes https://github.com/curl/curl/issues/3309
- Closes https://github.com/curl/curl/pull/3318
-
-Daniel Stenberg (22 Dec 2018)
-- libssh: no data pointer == nothing to do
-
-- conncache_unlock: avoid indirection by changing input argument type
-
-- disconnect: separate connections and easy handles better
-
- Do not assume/store assocation between a given easy handle and the
- connection if it can be avoided.
-
- Long-term, the 'conn->data' pointer should probably be removed as it is a
- little too error-prone. Still used very widely though.
-
- Reported-by: masbug on github
- Fixes #3391
- Closes #3400
-
-- libssh: free sftp_canonicalize_path() data correctly
-
- Assisted-by: Harry Sintonen
-
- Fixes #3402
- Closes #3403
-
-- RELEASE-NOTES: synced
-
-- http: added options for allowing HTTP/0.9 responses
-
- Added CURLOPT_HTTP09_ALLOWED and --http0.9 for this purpose.
-
- For now, both the tool and library allow HTTP/0.9 by default.
- docs/DEPRECATE.md lays out the plan for when to reverse that default: 6
- months after the 7.64.0 release. The options are added already now so
- that applications/scripts can start using them already now.
-
- Fixes #2873
- Closes #3383
-
-- if2ip: remove unused function Curl_if_is_interface_name
-
- Closes #3401
-
-- http2: clear pause stream id if it gets closed
-
- Reported-by: Florian Pritz
-
- Fixes #3392
- Closes #3399
-
-Daniel Gustafsson (20 Dec 2018)
-- [David Garske brought this change]
-
- wolfssl: Perform cleanup
-
- This adds a cleanup callback for cyassl. Resolves possible memory leak
- when using ECC fixed point cache.
-
- Closes #3395
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
-
-Daniel Stenberg (20 Dec 2018)
-- mbedtls: follow-up VERIFYHOST fix from f097669248
-
- Fix-by: Eric Rosenquist
-
- Fixes #3376
- Closes #3390
-
-- curlver: bump to 7.64.0 for next release
-
-Daniel Gustafsson (19 Dec 2018)
-- cookies: extend domain checks to non psl builds
-
- Ensure to perform the checks we have to enforce a sane domain in
- the cookie request. The check for non-PSL enabled builds is quite
- basic but it's better than nothing.
-
- Closes #2964
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (19 Dec 2018)
-- [Matus Uzak brought this change]
-
- smb: fix incorrect path in request if connection reused
-
- Follow-up to 09e401e01bf9. If connection gets reused, then data member
- will be copied, but not the proto member. As a result, in smb_do(),
- path has been set from the original proto.share data.
-
- Closes #3388
-
-- curl -J: do not append to the destination file
-
- Reported-by: Kamil Dudka
- Fixes #3380
- Closes #3381
-
-- mbedtls: use VERIFYHOST
-
- Previously, VERIFYPEER would enable/disable all checks.
-
- Reported-by: Eric Rosenquist
- Fixes #3376
- Closes #3380
-
-- pingpong: change default response timeout to 120 seconds
-
- Previously it was 30 minutes
-
-- pingpong: ignore regular timeout in disconnect phase
-
- The timeout set with CURLOPT_TIMEOUT is no longer used when
- disconnecting from one of the pingpong protocols (FTP, IMAP, SMTP,
- POP3).
-
- Reported-by: jasal82 on github
-
- Fixes #3264
- Closes #3374
-
-- TODO: Windows: set attribute 'archive' for completed downloads
-
- Closes #3354
-
-- RELEASE-NOTES: synced
-
-- http: minor whitespace cleanup from f464535b
-
-- [Ayoub Boudhar brought this change]
-
- http: Implement trailing headers for chunked transfers
-
- This adds the CURLOPT_TRAILERDATA and CURLOPT_TRAILERFUNCTION
- options that allow a callback based approach to sending trailing headers
- with chunked transfers.
-
- The test server (sws) was updated to take into account the detection of the
- end of transfer in the case of trailing headers presence.
-
- Test 1591 checks that trailing headers can be sent using libcurl.
-
- Closes #3350
-
-- darwinssl: accept setting max-tls with default min-tls
-
- Reported-by: Andrei Neculau
- Fixes #3367
- Closes #3373
-
-- gopher: fix memory leak from 9026083ddb2a9
-
-- [Leonardo Taccari brought this change]
-
- test1201: Add a trailing `?' to the selector
-
- This verify that the `?' in the selector is kept as is.
-
- Verifies the fix in #3370
-
-- [Leonardo Taccari brought this change]
-
- gopher: always include the entire gopher-path in request
-
- After the migration to URL API all octets in the selector after the
- first `?' were interpreted as query and accidentally discarded and not
- passed to the server.
-
- Add a gopherpath to always concatenate possible path and query URL
- pieces.
-
- Fixes #3369
- Closes #3370
-
-- [Leonardo Taccari brought this change]
-
- urlapi: distinguish possibly empty query
-
- If just a `?' to indicate the query is passed always store a zero length
- query instead of having a NULL query.
-
- This permits to distinguish URL with trailing `?'.
-
- Fixes #3369
- Closes #3370
-
-Daniel Gustafsson (13 Dec 2018)
-- OS400: handle memory error in list conversion
-
- Curl_slist_append_nodup() returns NULL when it fails to create a new
- item for the specified list, and since the coding here reassigned the
- new list on top of the old list it would result in a dangling pointer
- and lost memory. Also, in case we hit an allocation failure at some
- point during the conversion, with allocation succeeding again on the
- subsequent call(s) we will return a truncated list around the malloc
- failure point. Fix by assigning to a temporary list pointer, which can
- be checked (which is the common pattern for slist appending), and free
- all the resources on allocation failure.
-
- Closes #3372
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- cookies: leave secure cookies alone
-
- Only allow secure origins to be able to write cookies with the
- 'secure' flag set. This reduces the risk of non-secure origins
- to influence the state of secure origins. This implements IETF
- Internet-Draft draft-ietf-httpbis-cookie-alone-01 which updates
- RFC6265.
-
- Closes #2956
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (13 Dec 2018)
-- docs: fix the --tls-max description
-
- Reported-by: Tobias Lindgren
- Pointed out in #3367
-
- Closes #3368
-
-Daniel Gustafsson (12 Dec 2018)
-- urlapi: Fix port parsing of eol colon
-
- A URL with a single colon without a portnumber should use the default
- port, discarding the colon. Fix, add a testcase and also do little bit
- of comment wordsmithing.
-
- Closes #3365
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Version 7.63.0 (12 Dec 2018)
-
-Daniel Stenberg (12 Dec 2018)
-- RELEASE-NOTES: 7.63.0
-
-- THANKS: from the curl 7.62.0 cycle
-
-- test1519: use lib1518 and test CURLINFO_REDIRECT_URL more
-
-- Curl_follow: extract the Location: header field unvalidated
-
- ... when not actually following the redirect. Otherwise we return error
- for this and an application can't extract the value.
-
- Test 1518 added to verify.
-
- Reported-by: Pavel Pavlov
- Fixes #3340
- Closes #3364
-
-- multi: convert two timeout variables to timediff_t
-
- The time_t type is unsigned on some systems and these variables are used
- to hold return values from functions that return timediff_t
- already. timediff_t is always a signed type.
-
- Closes #3363
-
-- delta: use --diff-filter on the git diff-tree invokes
-
- Suggested-by: Dave Reisner
-
-Patrick Monnerat (11 Dec 2018)
-- documentation: curl_formadd field and file names are now escaped
-
- Prior to 7.56.0, fieldnames and filenames were set in Content-Disposition
- header without special processing: this may lead to invalid RFC 822
- quoted-strings.
- 7.56.0 introduces escaping of backslashes and double quotes in these names:
- mention it in the documentation.
-
- Reported-by: daboul on github
- Closes #3361
-
-Daniel Stenberg (11 Dec 2018)
-- scripts/delta: show repo delta info from last release
-
- ... where "last release" should be the git tag in the repo.
-
-Daniel Gustafsson (11 Dec 2018)
-- tests: add urlapi unittest
-
- This adds a new unittest intended to cover the internal functions in
- the urlapi code, starting with parse_port(). In order to avoid name
- collisions in debug builds, parse_port() is renamed Curl_parse_port()
- since it will be exported.
-
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-- urlapi: fix portnumber parsing for ipv6 zone index
-
- An IPv6 URL which contains a zone index includes a '%%25<zode id>'
- string before the ending ']' bracket. The parsing logic wasn't set
- up to cope with the zone index however, resulting in a malformed url
- error being returned. Fix by breaking the parsing into two stages
- to correctly handle the zone index.
-
- Closes #3355
- Closes #3319
- Reported-by: tonystz on Github
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
-
-Daniel Stenberg (11 Dec 2018)
-- [Jay Satiro brought this change]
-
- http: fix HTTP auth to include query in URI
-
- - Include query in the path passed to generate HTTP auth.
-
- Recent changes to use the URL API internally (46e1640, 7.62.0)
- inadvertently broke authentication URIs by omitting the query.
-
- Fixes https://github.com/curl/curl/issues/3353
- Closes #3356
-
-- [Michael Kaufmann brought this change]
-
- http: don't set CURLINFO_CONDITION_UNMET for http status code 204
-
- The http status code 204 (No Content) should not change the "condition
- unmet" flag. Only the http status code 304 (Not Modified) should do
- this.
-
- Closes #359
-
-- [Samuel Surtees brought this change]
-
- ldap: fix LDAP URL parsing regressions
-
- - Match URL scheme with LDAP and LDAPS
- - Retrieve attributes, scope and filter from URL query instead
-
- Regression brought in 46e164069d1a5230 (7.62.0)
-
- Closes #3362
-
-- RELEASE-NOTES: synced
-
-- [Stefan Kanthak brought this change]
-
- (lib)curl.rc: fixup for minor bugs
-
- All resources defined in lib/libcurl.rc and curl.rc are language
- neutral.
-
- winbuild/MakefileBuild.vc ALWAYS defines the macro DEBUGBUILD, so the
- ifdef's in line 33 of lib/libcurl.rc and src/curl.rc are wrong.
-
- Replace the hard-coded constants in both *.rc files with #define'd
- values.
-
- Thumbs-uped-by: Rod Widdowson, Johannes Schindelin
- URL: https://curl.haxx.se/mail/lib-2018-11/0000.html
- Closes #3348
-
-- test329: verify cookie max-age=0 immediate expiry
-
-- cookies: expire "Max-Age=0" immediately
-
- Reported-by: Jeroen Ooms
- Fixes #3351
- Closes #3352
-
-- [Johannes Schindelin brought this change]
-
- Upon HTTP_1_1_REQUIRED, retry the request with HTTP/1.1
-
- This is a companion patch to cbea2fd2c (NTLM: force the connection to
- HTTP/1.1, 2018-12-06): with NTLM, we can switch to HTTP/1.1
- preemptively. However, with other (Negotiate) authentication it is not
- clear to this developer whether there is a way to make it work with
- HTTP/2, so let's try HTTP/2 first and fall back in case we encounter the
- error HTTP_1_1_REQUIRED.
-
- Note: we will still keep the NTLM workaround, as it avoids an extra
- round trip.
-
- Daniel Stenberg helped a lot with this patch, in particular by
- suggesting to introduce the Curl_h2_http_1_1_error() function.
-
- Closes #3349
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-- [Ben Greear brought this change]
-
- openssl: fix unused variable compiler warning with old openssl
-
- URL: https://curl.haxx.se/mail/lib-2018-11/0055.html
-
- Closes #3347
-
-- [Johannes Schindelin brought this change]
-
- NTLM: force the connection to HTTP/1.1
-
- Since v7.62.0, cURL tries to use HTTP/2 whenever the server announces
- the capability. However, NTLM authentication only works with HTTP/1.1,
- and will likely remain in that boat (for details, see
- https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis#when-is-http2-not-supported).
-
- When we just found out that we want to use NTLM, and when the current
- connection runs in HTTP/2 mode, let's force the connection to be closed
- and to be re-opened using HTTP/1.1.
-
- Fixes https://github.com/curl/curl/issues/3341.
- Closes #3345
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-- [Johannes Schindelin brought this change]
-
- curl_global_sslset(): id == -1 is not necessarily an error
-
- It is allowed to call that function with id set to -1, specifying the
- backend by the name instead. We should imitate what is done further down
- in that function to allow for that.
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
- Closes #3346
-
-Johannes Schindelin (6 Dec 2018)
-- .gitattributes: make tabs in indentation a visible error
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-Daniel Stenberg (6 Dec 2018)
-- RELEASE-NOTES: synced
-
-- doh: fix memory leak in OOM situation
-
- Reviewed-by: Daniel Gustafsson
- Closes #3342
-
-- doh: make it work for h2-disabled builds too
-
- Reported-by: dtmsecurity at github
- Fixes #3325
- Closes #3336
-
-- packages: remove old leftover files and dirs
-
- This subdir has mostly become an attic of never-used cruft from the
- past.
-
- Closes #3331
-
-- [Gergely Nagy brought this change]
-
- openssl: do not use file BIOs if not requested
-
- Moves the file handling BIO calls to the branch of the code where they
- are actually used.
-
- Closes #3339
-
-- [Paul Howarth brought this change]
-
- nss: Fix compatibility with nss versions 3.14 to 3.15
-
-- [Paul Howarth brought this change]
-
- nss: Improve info message when falling back SSL protocol
-
- Use descriptive text strings rather than decimal numbers.
-
-- [Paul Howarth brought this change]
-
- nss: Fall back to latest supported SSL version
-
- NSS may be built without support for the latest SSL/TLS versions,
- leading to "SSL version range is not valid" errors when the library
- code supports a recent version (e.g. TLS v1.3) but it has explicitly
- been disabled.
-
- This change adjusts the maximum SSL version requested by libcurl to
- be the maximum supported version at runtime, as long as that version
- is at least as high as the minimum version required by libcurl.
-
- Fixes #3261
-
-Daniel Gustafsson (3 Dec 2018)
-- travis: enable COPYRIGHTYEAR extended warning
-
- The extended warning for checking incorrect COPYRIGHTYEAR is quite
- expensive to run, so rather than expecting every developer to do it
- we ensure it's turned on locally for Travis.
-
-- checksrc: add COPYRIGHTYEAR check
-
- Forgetting to bump the year in the copyright clause when hacking has
- been quite common among curl developers, but a traditional checksrc
- check isn't a good fit as it would penalize anyone hacking on January
- 1st (among other things). This adds a more selective COPYRIGHTYEAR
- check which intends to only cover the currently hacked on changeset.
-
- The check for updated copyright year is currently not enforced on all
- files but only on files edited and/or committed locally. This is due to
- the amount of files which aren't updated with their correct copyright
- year at the time of their respective commit.
-
- To further avoid running this expensive check for every developer, it
- adds a new local override mode for checksrc where a .checksrc file can
- be used to turn on extended warnings locally.
-
- Closes #3303
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (3 Dec 2018)
-- CHECKSRC.md: document more warnings
-
- Closes #3335
- [ci skip]
-
-- RELEASE-NOTES: synced
-
-- SECURITY-PROCESS: bountygraph shuts down
-
- This backpedals back the documents to the state before bountygraph.
-
- Closes #3311
-
-- curl: fix memory leak reading --writeout from file
-
- If another string had been set first, the writout function for reading
- the syntax from file would leak the previously allocated memory.
-
- Reported-by: Brian Carpenter
- Fixes #3322
- Closes #3330
-
-- tool_main: rename function to make it unique and better
-
- ... there's already another function in the curl tool named
- free_config_fields!
-
-Daniel Gustafsson (29 Nov 2018)
-- TODO: remove CURLOPT_DNS_USE_GLOBAL_CACHE entry
-
- Commit 7c5837e79280e6abb3ae143dfc49bca5e74cdd11 deprecated the option
- making it a manual code-edit operation to turn it back on. The removal
- process has thus started and is now documented in docs/DEPRECATE.md so
- remove from the TODO to avoid anyone looking for something to pick up
- spend cycles on an already in-progress entry.
-
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Jay Satiro (29 Nov 2018)
-- [Sevan Janiyan brought this change]
-
- connect: fix building for recent versions of Minix
-
- EBADIOCTL doesn't exist on more recent Minix.
- There have also been substantial changes to the network stack.
- Fixes build on Minix 3.4rc
-
- Closes https://github.com/curl/curl/pull/3323
-
-- [Konstantin Kushnir brought this change]
-
- CMake: fix MIT/Heimdal Kerberos detection
-
- - fix syntax error in FindGSS.cmake
- - correct krb5 include directory. FindGSS exports
- "GSS_INCLUDE_DIR" variable.
-
- Closes https://github.com/curl/curl/pull/3316
-
-Daniel Stenberg (28 Nov 2018)
-- test328: verify Content-Encoding: none
-
- Because of issue #3315
-
- Closes #3317
-
-- [James Knight brought this change]
-
- configure: include all libraries in ssl-libs fetch
-
- When compiling a collection of SSL libraries to link against (SSL_LIBS),
- ensure all libraries are included. The call `--libs-only-l` can produce
- only a subset of found in a `--libs` call (e.x. pthread may be excluded).
- Adding `--libs-only-other` ensures other libraries are also included in
- the list. This corrects select build environments compiling against a
- static version of OpenSSL. Before the change, the following could be
- observed:
-
- checking for openssl options with pkg-config... found
- configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -lcrypto -lz -ldl "
- configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib "
- configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include "
- checking for HMAC_Update in -lcrypto... no
- checking for HMAC_Init_ex in -lcrypto... no
- checking OpenSSL linking with -ldl... no
- checking OpenSSL linking with -ldl and -lpthread... no
- configure: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.
- configure: WARNING: Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-axtls, --with-winssl, or --with-darwinssl to address this.
- ...
- SSL support: no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,axtls,winssl,darwinssl} )
- ...
-
- And include the other libraries when compiling SSL_LIBS succeeds with:
-
- checking for openssl options with pkg-config... found
- configure: pkg-config: SSL_LIBS: "-lssl -lz -ldl -pthread -lcrypto -lz -ldl -pthread "
- configure: pkg-config: SSL_LDFLAGS: "-L/home/jdknight/<workdir>/staging/usr/lib -L/home/jdknight/<workdir>/staging/usr/lib "
- configure: pkg-config: SSL_CPPFLAGS: "-I/home/jdknight/<workdir>/staging/usr/include "
- checking for HMAC_Update in -lcrypto... yes
- checking for SSL_connect in -lssl... yes
- ...
- SSL support: enabled (OpenSSL)
- ...
-
- Signed-off-by: James Knight <james.d.knight@live.com>
- Closes #3193
-
-Daniel Gustafsson (26 Nov 2018)
-- doh: fix typo in infof call
-
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-- cmdline-opts/gen.pl: define the correct varname
-
- The variable definition had a small typo making it declare another
- variable then the intended.
-
- Closes #3304
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (25 Nov 2018)
-- RELEASE-NOTES: synced
-
-- curl_easy_perform: fix timeout handling
-
- curl_multi_wait() was erroneously used from within
- curl_easy_perform(). It could lead to it believing there was no socket
- to wait for and then instead sleep for a while instead of monitoring the
- socket and then miss acting on that activity as swiftly as it should
- (causing an up to 1000 ms delay).
-
- Reported-by: Antoni Villalonga
- Fixes #3305
- Closes #3306
- Closes #3308
-
-- CURLOPT_WRITEFUNCTION.3: spell out that it gets called many times
-
-- cookies: create the cookiejar even if no cookies to save
-
- Important for when the file is going to be read again and thus must not
- contain old contents!
-
- Adds test 327 to verify.
-
- Reported-by: daboul on github
- Fixes #3299
- Closes #3300
-
-- checksrc: ban snprintf use, add command line flag to override warns
-
-- snprintf: renamed and we now only use msnprintf()
-
- The function does not return the same value as snprintf() normally does,
- so readers may be mislead into thinking the code works differently than
- it actually does. A different function name makes this easier to detect.
-
- Reported-by: Tomas Hoger
- Assisted-by: Daniel Gustafsson
- Fixes #3296
- Closes #3297
-
-- [Tobias Hintze brought this change]
-
- test: update test20/1322 for eglibc bug workaround
-
- The tests 20 and 1322 are using getaddrinfo of libc for resolving. In
- eglibc-2.19 there is a memory leakage and invalid free bug which
- surfaces in some special circumstances (PF_UNSPEC hint with invalid or
- non-existent names). The valgrind runs in testing fail in these
- situations.
-
- As the tests 20/1322 are not specific on either protocol (IPv4/IPv6)
- this commit changes the hints to IPv4 protocol by passing `--ipv4` flag
- on the tests' command line. This prevents the valgrind failures.
-
-- [Tobias Hintze brought this change]
-
- host names: allow trailing dot in name resolve, then strip it
-
- Delays stripping of trailing dots to after resolving the hostname.
-
- Fixes #3022
- Closes #3222
-
-- [UnknownShadow200 brought this change]
-
- CURLOPT_HEADERFUNCTION.3: match 'nitems' name in synopsis and description
-
- Closes #3295
-
-Daniel Gustafsson (21 Nov 2018)
-- configure: Fix typo in comment
-
-Michael Kaufmann (21 Nov 2018)
-- openssl: support session resume with TLS 1.3
-
- Session resumption information is not available immediately after a TLS 1.3
- handshake. The client must wait until the server has sent a session ticket.
-
- Use OpenSSL's "new session" callback to get the session information and put it
- into curl's session cache. For TLS 1.3 sessions, this callback will be invoked
- after the server has sent a session ticket.
-
- The "new session" callback is invoked only if OpenSSL's session cache is
- enabled, so enable it and use the "external storage" mode which lets curl manage
- the contents of the session cache.
-
- A pointer to the connection data and the sockindex are now saved as "SSL extra
- data" to make them available to the callback.
-
- This approach also works for old SSL/TLS versions and old OpenSSL versions.
-
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
- Fixes #3202
- Closes #3271
-
-- ssl: fix compilation with OpenSSL 0.9.7
-
- - ENGINE_cleanup() was used without including "openssl/engine.h"
- - enable engine support for OpenSSL 0.9.7
-
- Closes #3266
-
-Daniel Stenberg (21 Nov 2018)
-- openssl: disable TLS renegotiation with BoringSSL
-
- Since we're close to feature freeze, this change disables this feature
- with an #ifdef. Define ALLOW_RENEG at build-time to enable.
-
- This could be converted to a bit for CURLOPT_SSL_OPTIONS to let
- applications opt-in this.
-
- Concern-raised-by: David Benjamin
- Fixes #3283
- Closes #3293
-
-- [Romain Fliedel brought this change]
-
- ares: remove fd from multi fd set when ares is about to close the fd
-
- When using c-ares for asyn dns, the dns socket fd was silently closed
- by c-ares without curl being aware. curl would then 'realize' the fd
- has been removed at next call of Curl_resolver_getsock, and only then
- notify the CURLMOPT_SOCKETFUNCTION to remove fd from its poll set with
- CURL_POLL_REMOVE. At this point the fd is already closed.
-
- By using ares socket state callback (ARES_OPT_SOCK_STATE_CB), this
- patch allows curl to be notified that the fd is not longer needed
- for neither for write nor read. At this point by calling
- Curl_multi_closed we are able to notify multi with CURL_POLL_REMOVE
- before the fd is actually closed by ares.
-
- In asyn-ares.c Curl_resolver_duphandle we can't use ares_dup anymore
- since it does not allow passing a different sock_state_cb_data
-
- Closes #3238
-
-- [Romain Fliedel brought this change]
-
- examples/ephiperfifo: report error when epoll_ctl fails
-
-Daniel Gustafsson (20 Nov 2018)
-- [pkubaj brought this change]
-
- ntlm: Remove redundant ifdef USE_OPENSSL
-
- lib/curl_ntlm.c had code that read as follows:
-
- #ifdef USE_OPENSSL
- # ifdef USE_OPENSSL
- # else
- # ..
- # endif
- #endif
-
- Remove the redundant USE_OPENSSL along with #else (it's not possible to
- reach it anyway). The removed construction is a leftover from when the
- SSLeay support was removed.
-
- Closes #3269
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (20 Nov 2018)
-- [Han Han brought this change]
-
- ssl: replace all internal uses of CURLE_SSL_CACERT
-
- Closes #3291
-
-Han Han (19 Nov 2018)
-- docs: add more description to unified ssl error codes
-
-- curle: move deprecated error code to ifndef block
-
-Patrick Monnerat (19 Nov 2018)
-- os400: add CURLOPT_CURLU to ILE/RPG binding.
-
-- os400: Add curl_easy_conn_upkeep() to ILE/RPG binding.
-
-- os400: fix return type of curl_easy_pause() in ILE/RPG binding.
-
-Daniel Stenberg (19 Nov 2018)
-- RELEASE-NOTES: synced
-
-- impacket: add LICENSE
-
- The license for the impacket package was not in our tree.
-
- Imported now from upstream's
- https://github.com/SecureAuthCorp/impacket/blob/master/LICENSE
-
- Reported-by: infinnovation-dev on github
- Fixes #3276
- Closes #3277
-
-Daniel Gustafsson (18 Nov 2018)
-- tool_doswin: Fix uninitialized field warning
-
- The partial struct initialization in 397664a065abffb7c3445ca9 caused
- a warning on uninitialized MODULEENTRY32 struct members:
-
- /src/tool_doswin.c:681:3: warning: missing initializer for field
- 'th32ModuleID' of 'MODULEENTRY32 {aka struct tagMODULEENTRY32}'
- [-Wmissing-field-initializers]
-
- This is sort of a bogus warning as the remaining members will be set
- to zero by the compiler, as all omitted members are. Nevertheless,
- remove the warning by omitting all members and setting the dwSize
- members explicitly.
-
- Closes #3254
- Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
- Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
-
-- openssl: Remove SSLEAY leftovers
-
- Commit 709cf76f6bb7dbac deprecated USE_SSLEAY, as curl since long isn't
- compatible with the SSLeay library. This removes the few leftovers that
- were omitted in the less frequently used platform targets.
-
- Closes #3270
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-
-Daniel Stenberg (16 Nov 2018)
-- [Elia Tufarolo brought this change]
-
- http_negotiate: do not close connection until negotiation is completed
-
- Fix HTTP POST using CURLAUTH_NEGOTIATE.
-
- Closes #3275
-
-- pop3: only do APOP with a valid timestamp
-
- Brought-by: bobmitchell1956 on github
- Fixes #3278
- Closes #3279
-
-Jay Satiro (16 Nov 2018)
-- [Peter Wu brought this change]
-
- openssl: do not log excess "TLS app data" lines for TLS 1.3
-
- The SSL_CTX_set_msg_callback callback is not just called for the
- Handshake or Alert protocols, but also for the raw record header
- (SSL3_RT_HEADER) and the decrypted inner record type
- (SSL3_RT_INNER_CONTENT_TYPE). Be sure to ignore the latter to avoid
- excess debug spam when using `curl -v` against a TLSv1.3-enabled server:
-
- * TLSv1.3 (IN), TLS app data, [no content] (0):
-
- (Following this message, another callback for the decrypted
- handshake/alert messages will be be present anyway.)
-
- Closes https://github.com/curl/curl/pull/3281
-
-Marc Hoersken (15 Nov 2018)
-- tests: disable SO_EXCLUSIVEADDRUSE for stunnel on Windows
-
- SO_EXCLUSIVEADDRUSE is on by default on Vista or newer,
- but does not work together with SO_REUSEADDR being on.
-
- The default changes were made with stunnel 5.34 and 5.35.
-
-Daniel Stenberg (13 Nov 2018)
-- [Kamil Dudka brought this change]
-
- nss: remove version selecting dead code
-
- Closes #3262
-
-- nss: set default max-tls to 1.3/1.2
-
- Fixes #3261
-
-Daniel Gustafsson (13 Nov 2018)
-- tool_cb_wrt: Silence function cast compiler warning
-
- Commit 5bfaa86ceb3c2a9ac474a928e748c4a86a703b33 introduced a new
- compiler warning on Windows cross compilation with GCC. See below
- for an example of the warning from the autobuild logs (whitespace
- edited to fit):
-
- /src/tool_cb_wrt.c:175:9: warning: cast from function call of type
- 'intptr_t {aka long long int}' to non-matching type 'void *'
- [-Wbad-function-cast]
- (HANDLE) _get_osfhandle(fileno(outs->stream)),
- ^
-
- Store the return value from _get_osfhandle() in an intermediate
- variable and cast the variable in WriteConsoleW() rather than the
- function call directly to avoid a compiler warning.
-
- In passing, also add inspection of the MultiByteToWideChar() return
- value and return failure in case an error is reported.
-
- Closes #3263
- Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
- Reviewed-by: Viktor Szakats <commit@vszakats.net>
-
-Daniel Stenberg (12 Nov 2018)
-- nss: fix fallthrough comment to fix picky compiler warning
-
-- docs: expanded on some CURLU details
-
-- [Tim Rühsen brought this change]
-
- ftp: avoid two unsigned int overflows in FTP listing parser
-
- Curl_ftp_parselist: avoid unsigned integer overflows
-
- The overflow has no real world impact, just avoid it for "best
- practice".
-
- Closes #3225
diff --git a/CMake/CurlTests.c b/CMake/CurlTests.c
index 2a7632951..3ef35f025 100644
--- a/CMake/CurlTests.c
+++ b/CMake/CurlTests.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/CMake/Platforms/WindowsCache.cmake b/CMake/Platforms/WindowsCache.cmake
index cafaec216..ead4115a3 100644
--- a/CMake/Platforms/WindowsCache.cmake
+++ b/CMake/Platforms/WindowsCache.cmake
@@ -7,7 +7,6 @@ if(NOT UNIX)
set(HAVE_LIBNSL 0)
set(HAVE_GETHOSTNAME 1)
set(HAVE_LIBZ 0)
- set(HAVE_LIBCRYPTO 0)
set(HAVE_DLOPEN 0)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0772d6e51..20b9bd011 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -347,8 +347,6 @@ if(CMAKE_USE_OPENSSL)
find_package(OpenSSL REQUIRED)
set(SSL_ENABLED ON)
set(USE_OPENSSL ON)
- set(HAVE_LIBCRYPTO ON)
- set(HAVE_LIBSSL ON)
# Depend on OpenSSL via imported targets if supported by the running
# version of CMake. This allows our dependents to get our dependencies
diff --git a/METADATA b/METADATA
index 55c54ac08..550afee48 100644
--- a/METADATA
+++ b/METADATA
@@ -7,12 +7,12 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://github.com/curl/curl/releases/download/curl-7_66_0/curl-7.66.0.tar.xz"
+ value: "https://github.com/curl/curl/releases/download/curl-7_67_0/curl-7.67.0.tar.xz"
}
- version: "curl-7_66_0"
+ version: "curl-7_67_0"
last_upgrade_date {
year: 2019
- month: 9
- day: 11
+ month: 11
+ day: 6
}
}
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index cd13827f5..cea2debda 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,103 +1,144 @@
-curl and libcurl 7.66.0
+curl and libcurl 7.67.0
- Public curl releases: 185
- Command line options: 225
+ Public curl releases: 186
+ Command line options: 226
curl_easy_setopt() options: 269
Public functions in libcurl: 81
- Contributors: 1991
+ Contributors: 2056
This release includes the following changes:
- o CURLINFO_RETRY_AFTER: parse the Retry-After header value [35]
- o HTTP3: initial (experimental still not working) support [5]
- o curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool [27]
- o curl: support parallel transfers with -Z [4]
- o curl_multi_poll: a sister to curl_multi_wait() that waits more [28]
- o sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID [27]
+ o curl: added --no-progress-meter [73]
+ o setopt: CURLMOPT_MAX_CONCURRENT_STREAMS is new [55]
+ o urlapi: CURLU_NO_AUTHORITY allows empty authority/host part [22]
This release includes the following bugfixes:
- o CVE-2019-5481: FTP-KRB double-free [64]
- o CVE-2019-5482: TFTP small blocksize heap buffer overflow [65]
- o CI: remove duplicate configure flag for LGTM.com
- o CMake: remove needless newlines at end of gss variables
- o CMake: use platform dependent name for dlopen() library [62]
- o CURLINFO docs: mention that in redirects times are added [55]
- o CURLOPT_ALTSVC.3: use a "" file name to not load from a file
- o CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
- o CURLOPT_HEADERFUNCTION.3: clarify [54]
- o CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly [33]
- o CURLOPT_READFUNCTION.3: provide inline example
- o CURLOPT_SSL_VERIFYHOST: treat the value 1 as 2 [51]
- o Curl_addr2string: take an addrlen argument too [61]
- o Curl_fillreadbuffer: avoid double-free trailer buf on error [66]
- o HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown [10]
- o alt-svc: add protocol version selection masking [31]
- o alt-svc: fix removal of expired cache entry [30]
- o alt-svc: make it use h3-22 with ngtcp2 as well
- o alt-svc: more liberal ALPN name parsing [17]
- o alt-svc: send Alt-Used: in redirected requests [32]
- o alt-svc: with quiche, use the quiche h3 alpn string [16]
- o appveyor: pass on -k to make
- o asyn-thread: create a socketpair to wait on [14]
- o build-openssl: fix build with Visual Studio 2019 [45]
- o cleanup: move functions out of url.c and make them static [58]
- o cleanup: remove the 'numsocks' argument used in many places [25]
- o configure: avoid undefined check_for_ca_bundle [37]
- o curl.h: add CURL_HTTP_VERSION_3 to the version enum
- o curl.h: fix outdated comment [23]
- o curl: cap the maximum allowed values for retry time arguments [13]
- o curl: handle a libcurl build without netrc support [63]
- o curl: make use of CURLINFO_RETRY_AFTER when retrying [35]
- o curl: remove outdated comment [24]
- o curl: use .curlrc (with a dot) on Windows [52]
- o curl: use CURLINFO_PROTOCOL to check for HTTP(s)
- o curl_global_init_mem.3: mention it was added in 7.12.0
- o curl_version: bump string buffer size to 250
- o curl_version_info.3: mentioned ALTSVC and HTTP3
- o curl_version_info: offer quic (and h3) library info [38]
- o curl_version_info: provide nghttp2 details [2]
- o defines: avoid underscore-prefixed defines [47]
- o docs/ALTSVC: remove what works and the experimental explanation [34]
- o docs/EXPERIMENTAL: explain what it means and what's experimental now
- o docs/MANUAL.md: converted to markdown from plain text [3]
- o docs/examples/curlx: fix errors [48]
- o docs: s/curl_debug/curl_dbg_debug in comments and docs [36]
- o easy: resize receive buffer on easy handle reset [9]
- o examples: Avoid reserved names in hiperfifo examples [8]
- o examples: add http3.c, altsvc.c and http3-present.c [40]
- o getenv: support up to 4K environment variable contents on windows [21]
- o http09: disable HTTP/0.9 by default in both tool and library [29]
- o http2: when marked for closure and wanted to close == OK [56]
- o http2_recv: trigger another read when the last data is returned [11]
- o http: fix use of credentials from URL when using HTTP proxy [44]
- o http_negotiate: improve handling of gss_init_sec_context() failures [18]
- o md4: Use our own MD4 when no crypto libraries are available [15]
- o multi: call detach_connection before Curl_disconnect [6]
- o netrc: make the code try ".netrc" on Windows [52]
- o nss: use TLSv1.3 as default if supported [39]
- o openssl: build warning free with boringssl [50]
- o openssl: use SSL_CTX_set_<min|max>_proto_version() when available [68]
- o plan9: add support for running on Plan 9 [22]
- o progress: reset download/uploaded counter between transfers [12]
- o readwrite_data: repair setting the TIMER_STARTTRANSFER stamp [26]
- o scp: fix directory name length used in memcpy [46]
- o smb: init *msg to NULL in smb_send_and_recv() [60]
- o smtp: check for and bail out on too short EHLO response [59]
- o source: remove names from source comments [1]
- o spnego_sspi: add typecast to fix build warning [49]
- o src/makefile: fix uncompressed hugehelp.c generation [19]
- o ssh-libssh: do not specify O_APPEND when not in append mode [7]
- o ssh: move code into vssh for SSH backends [53]
- o sspi: fix memory leaks [67]
- o tests: Replace outdated test case numbering documentation [43]
- o tftp: return error when packet is too small for options
- o timediff: make it 64 bit (if possible) even with 32 bit time_t [20]
- o travis: reduce number of torture tests in 'coverage' [42]
- o url: make use of new HTTP version if alt-svc has one [16]
- o urlapi: verify the IPv6 numerical address [69]
- o urldata: avoid 'generic', use dedicated pointers [57]
- o vauth: Use CURLE_AUTH_ERROR for auth function errors [41]
+ o BINDINGS: five new bindings addded
+ o CURLOPT_TIMEOUT.3: Clarify transfer timeout time includes queue time [78]
+ o CURLOPT_TIMEOUT.3: remove the mention of "minutes" [74]
+ o ESNI: initial build/setup support [71]
+ o FTP: FTPFILE_NOCWD: avoid redundant CWDs [28]
+ o FTP: allow "rubbish" prepended to the SIZE response [15]
+ o FTP: remove trailing slash from path for LIST/MLSD [6]
+ o FTP: skip CWD to entry dir when target is absolute [16]
+ o FTP: url-decode path before evaluation [36]
+ o HTTP3.md: move -p for mkdir, remove -j for make [46]
+ o HTTP3: fix invalid use of sendto for connected UDP socket [109]
+ o HTTP3: fix ngtcp2 Windows build [93]
+ o HTTP3: fix prefix parameter for ngtcp2 build [40]
+ o HTTP3: fix typo somehere1 > somewhere1 [108]
+ o HTTP3: show an --alt-svc using example too
+ o INSTALL: add missing space for configure commands [106]
+ o INSTALL: add vcpkg installation instructions [35]
+ o README: minor grammar fix [39]
+ o altsvc: accept quoted ma and persist values [60]
+ o altsvc: both backends run h3-23 now [31]
+ o appveyor: Add MSVC ARM64 build [87]
+ o appveyor: Use two parallel compilation on appveyor with CMake [98]
+ o appveyor: add --disable-proxy autotools build [94]
+ o appveyor: add 32-bit MinGW-w64 build [58]
+ o appveyor: add a winbuild [14]
+ o appveyor: add a winbuild that uses VS2017 [84]
+ o appveyor: make winbuilds with DEBUG=no/yes and VS 2015/2017 [95]
+ o appveyor: publish artifacts on appveyor [105]
+ o appveyor: upgrade VS2017 to VS2019 [29]
+ o asyn-thread: make use of Curl_socketpair() where available [85]
+ o asyn-thread: s/AF_LOCAL/AF_UNIX for Solaris [3]
+ o build: Remove unused HAVE_LIBSSL and HAVE_LIBCRYPTO defines [77]
+ o checksrc: fix uninitialized variable warning [57]
+ o chunked-encoding: stop hiding the CURLE_BAD_CONTENT_ENCODING error [56]
+ o cirrus: Increase the git clone depth
+ o cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build
+ o cirrus: switch off blackhole status on the freebsd CI machines [72]
+ o cleanups: 21 various PVS-Studio warnings [24]
+ o configure: only say ipv6 enabled when the variable is set [110]
+ o configure: remove all cyassl references [90]
+ o conn-reuse: requests wanting NTLM can reuse non-NTLM connections [99]
+ o connect: return CURLE_OPERATION_TIMEDOUT for errno == ETIMEDOUT [72]
+ o connect: silence sign-compare warning [83]
+ o cookie: avoid harmless use after free [69]
+ o cookie: pass in the correct cookie amount to qsort() [27]
+ o cookies: change argument type for Curl_flush_cookies [67]
+ o cookies: using a share with cookies shouldn't enable the cookie engine [63]
+ o copyrights: update copyright notices to 2019 [101]
+ o curl: create easy handles on-demand and not ahead of time [54]
+ o curl: ensure HTTP 429 triggers --retry [64]
+ o curl: exit the create_transfers loop on errors [33]
+ o curl: fix memory leaked by parse_metalink() [17]
+ o curl: load large files with -d @ much faster [19]
+ o docs/HTTP3: fix `--with-ssl` ngtcp2 configure flag [21]
+ o docs: added multi-event.c example [75]
+ o docs: disambiguate CURLUPART_HOST is for host name (ie no port) [62]
+ o docs: note on failed handles not being counted by curl_multi_perform [70]
+ o doh: allow only http and https in debug mode [48]
+ o doh: avoid truncating DNS QTYPE to lower octet [23]
+ o doh: clean up dangling DOH memory on easy close [9]
+ o doh: fix (harmless) buffer overrun [13]
+ o doh: fix undefined behaviour and open up for gcc and clang optimization [12]
+ o doh: return early if there is no time left [48]
+ o examples/sslbackend: fix -Wchar-subscripts warning [89]
+ o examples: remove the "this exact code has not been verified"
+ o git: add tests/server/disabled to .gitignore [59]
+ o gnutls: make gnutls_bye() not wait for response on shutdown [104]
+ o http2: expire a timeout at end of stream [88]
+ o http2: prevent dup'ed handles to send dummy PRIORITY frames [68]
+ o http2: relax verification of :authority in push promise requests [8]
+ o http2_recv: a closed stream trumps pause state [88]
+ o http: lowercase headernames for HTTP/2 and HTTP/3 [49]
+ o ldap: Stop using wide char version of ldapp_err2string [1]
+ o ldap: fix OOM error on missing query string [76]
+ o mbedtls: add error message for cert validity starting in the future [102]
+ o mime: when disabled, avoid C99 macro [7]
+ o ngtcp2: adapt to API change [66]
+ o ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23 [25]
+ o ngtcp2: remove fprintf() calls [43]
+ o openssl: close_notify on the FTP data connection doesn't mean closure [20]
+ o openssl: fix compiler warning with LibreSSL [34]
+ o openssl: use strerror on SSL_ERROR_SYSCALL [41]
+ o os400: getpeername() and getsockname() return ebcdic AF_UNIX sockaddr [47]
+ o parsedate: fix date parsing disabled builds [18]
+ o quiche: don't close connection at end of stream
+ o quiche: persist connection details (fixes -I with --http3) [11]
+ o quiche: set 'drain' when returning without having drained the queues
+ o quiche: update HTTP/3 config creation to new API [61]
+ o redirect: handle redirects to absolute URLs containing spaces [52]
+ o runtests: get textaware info from curl instead of perl [86]
+ o schannel: reverse the order of certinfo insertions [96]
+ o schannel_verify: Fix concurrent openings of CA file [103]
+ o security: silence conversion warning [83]
+ o setopt: handle ALTSVC set to NULL
+ o setopt: make it easier to add new enum values [4]
+ o setopt: store CURLOPT_RTSP_SERVER_CSEQ correctly [24]
+ o smb: check for full size message before reading message details [10]
+ o smbserver: fix Python 3 compatibility [82]
+ o socks: Fix destination host shown on SOCKS5 error [32]
+ o test1162: disable MSYS2's POSIX path conversion
+ o test1591: fix spelling of http feature [97]
+ o tests: add `connect to non-listen` keywords [91]
+ o tests: fix narrowing conversion warnings [37]
+ o tests: fix the test 3001 cert failures [100]
+ o tests: makes tests succeed when using --disable-proxy [81]
+ o tests: use %FILE_PWD for file:// URLs [92]
+ o tests: use port 2 instead of 60000 for a safer non-listening port [72]
+ o tool_operate: Fix retry sleep time shown to user when Retry-After [79]
+ o travis: Add an ARM64 build
+ o url: Curl_free_request_state() should also free doh handles [107]
+ o url: don't set appconnect time for non-ssl/non-ssh connections [42]
+ o url: fix the NULL hostname compiler warning [44]
+ o url: normalize CURLINFO_EFFECTIVE_URL [80]
+ o url: only reuse TLS connections with matching pinning [5]
+ o urlapi: avoid index underflow for short ipv6 hostnames [26]
+ o urlapi: fix URL encoding when setting a full URL [53]
+ o urlapi: fix unused variable warning [57]
+ o urlapi: question mark within fragment is still fragment [45]
+ o urldata: use 'bool' for the bit type on MSVC compilers [30]
+ o vtls: Fix comment typo about macosx-version-min compiler flag [38]
+ o vtls: fix narrowing conversion warnings [50]
+ o winbuild/MakefileBuild.vc: Add vssh [2]
+ o winbuild/MakefileBuild.vc: Fix line endings
+ o winbuild: Add manifest to curl.exe for proper OS version detection [51]
+ o winbuild: add ENABLE_UNICODE option [65]
This release includes the following known bugs:
@@ -106,89 +147,136 @@ This release includes the following known bugs:
This release would not have looked like this without help, code, reports and
advice from friends like these:
- Alessandro Ghedini, Alex Mayorga, Amit Katyal, Balazs Kovacsics,
- Brad Spencer, Brandon Dong, Carlo Marcelo Arenas Belón, Christopher Head,
- Clément Notin, codesniffer13 on github, Daniel Gustafsson, Daniel Stenberg,
- Dominik Hölzl, Eric Wong, Felix Hädicke, Gergely Nagy, Gisle Vanem,
- Igor Makarov, Ironbars13 on github, Jason Lee, Jeremy Lainé,
- Jonathan Cardoso Machado, Junho Choi, Kamil Dudka, Kyle Abramowitz,
- Kyohei Kadota, Lance Ware, Marcel Raad, Max Dymond, Michael Lee,
- Michal ÄŒaplygin, migueljcrum on github, Mike Crowe, niallor on github,
- osabc on github, patnyb on github, Patrick Monnerat, Peter Wu, Ray Satiro,
- Rolf Eike Beer, Steve Holme, Tatsuhiro Tsujikawa, The Infinnovation team,
- Thomas Vegas, Tom van der Woerdt, Yiming Jing,
- (46 contributors)
+ Alessandro Ghedini, Alex Konev, Alex Samorukov, Andrei Valeriu BICA,
+ Barry Pollard, Bastien Bouclet, Bernhard Walle, Bylon2 on github,
+ Christophe Dervieux, Christoph M. Becker, Dagobert Michelsen, Dan Fandrich,
+ Daniel Silverstone, Daniel Stenberg, Denis Chaplygin, Emil Engler,
+ Francois Rivard, George Liu, Gilles Vollant, Griffin Downs, Harry Sintonen,
+ Ilya Kosarev, infinnovation-dev on github, Jacob Barthelmeh, Javier Blazquez,
+ Jens Finkhaeuser, Jeremy Lainé, Jeroen Ooms, Jimmy Gaussen, Joel Depooter,
+ Jojojov on github, jzinn on github, Kamil Dudka, Kunal Ekawde, Lucas Pardue,
+ Lucas Severo, Marcel Hernandez, Marcel Raad, Martin Gartner, Max Dymond,
+ Michael Kaufmann, Michał Janiszewski, momala454 on github,
+ Nathaniel J. Smith, Niall O'Reilly, nico-abram on github,
+ Nikos Mavrogiannopoulos, Patrick Monnerat, Paul B. Omta, Paul Dreik,
+ Peter Sumatra, Philippe Marguinaud, Piotr Komborski, Ray Satiro,
+ Richard Alcock, Roland Hieber, Samuel Surtees, Sebastian Haglund,
+ Spezifant on github, Stian Soiland-Reyes, SumatraPeter on github,
+ Tatsuhiro Tsujikawa, Tom van der Woerdt, Trivikram Kamat,
+ Valerii Zapodovnikov, Vilhelm Prytz, Yechiel Kalmenson, Zenju on github,
+ (68 contributors)
Thanks! (and sorry if I forgot to mention someone)
References to bug reports and discussions on issues:
- [1] = https://curl.haxx.se/bug/?i=4129
- [2] = https://curl.haxx.se/bug/?i=4121
- [3] = https://curl.haxx.se/bug/?i=4131
- [4] = https://curl.haxx.se/bug/?i=3804
- [5] = https://curl.haxx.se/bug/?i=3500
- [6] = https://curl.haxx.se/bug/?i=4144
- [7] = https://curl.haxx.se/bug/?i=4147
- [8] = https://curl.haxx.se/bug/?i=4153
- [9] = https://curl.haxx.se/bug/?i=4143
- [10] = https://curl.haxx.se/bug/?i=4138
- [11] = https://curl.haxx.se/bug/?i=4043
- [12] = https://curl.haxx.se/bug/?i=4084
- [13] = https://curl.haxx.se/bug/?i=4166
- [14] = https://curl.haxx.se/bug/?i=4157
- [15] = https://curl.haxx.se/bug/?i=3780
- [16] = https://curl.haxx.se/bug/?i=4183
- [17] = https://curl.haxx.se/bug/?i=4182
- [18] = https://curl.haxx.se/bug/?i=3992
- [19] = https://curl.haxx.se/bug/?i=4176
- [20] = https://curl.haxx.se/bug/?i=4165
- [21] = https://curl.haxx.se/bug/?i=4174
- [22] = https://curl.haxx.se/bug/?i=3701
- [23] = https://curl.haxx.se/bug/?i=4167
- [24] = https://curl.haxx.se/bug/?i=4172
- [25] = https://curl.haxx.se/bug/?i=4169
- [26] = https://curl.haxx.se/bug/?i=4136
- [27] = https://curl.haxx.se/bug/?i=3653
- [28] = https://curl.haxx.se/bug/?i=4163
- [29] = https://curl.haxx.se/bug/?i=4191
- [30] = https://curl.haxx.se/bug/?i=4192
- [31] = https://curl.haxx.se/bug/?i=4201
- [32] = https://curl.haxx.se/bug/?i=4199
- [33] = https://curl.haxx.se/bug/?i=4197
- [34] = https://curl.haxx.se/bug/?i=4198
- [35] = https://curl.haxx.se/bug/?i=3794
- [36] = https://curl.haxx.se/bug/?i=3794
- [37] = https://curl.haxx.se/bug/?i=4213
- [38] = https://curl.haxx.se/bug/?i=4216
- [39] = https://curl.haxx.se/bug/?i=4187
- [40] = https://curl.haxx.se/bug/?i=4221
- [41] = https://curl.haxx.se/bug/?i=3848
- [42] = https://curl.haxx.se/bug/?i=4223
- [43] = https://curl.haxx.se/bug/?i=4227
- [44] = https://curl.haxx.se/bug/?i=4228
- [45] = https://curl.haxx.se/bug/?i=4188
- [46] = https://curl.haxx.se/bug/?i=4258
- [47] = https://curl.haxx.se/bug/?i=4254
- [48] = https://curl.haxx.se/bug/?i=4248
- [49] = https://curl.haxx.se/bug/?i=4245
- [50] = https://curl.haxx.se/bug/?i=4244
- [51] = https://curl.haxx.se/bug/?i=4241
- [52] = https://curl.haxx.se/bug/?i=4230
- [53] = https://curl.haxx.se/bug/?i=4235
- [54] = https://curl.haxx.se/bug/?i=4273
- [55] = https://curl.haxx.se/bug/?i=4250
- [56] = https://curl.haxx.se/bug/?i=4267
- [57] = https://curl.haxx.se/bug/?i=4290
- [58] = https://curl.haxx.se/bug/?i=4289
- [59] = https://curl.haxx.se/bug/?i=4287
- [60] = https://curl.haxx.se/bug/?i=4286
- [61] = https://curl.haxx.se/bug/?i=4283
- [62] = https://curl.haxx.se/bug/?i=4279
- [63] = https://curl.haxx.se/bug/?i=4302
- [64] = https://curl.haxx.se/docs/CVE-2019-5481.html
- [65] = https://curl.haxx.se/docs/CVE-2019-5482.html
- [66] = https://curl.haxx.se/bug/?i=4307
- [67] = https://curl.haxx.se/bug/?i=4299
- [68] = https://curl.haxx.se/bug/?i=4304
- [69] = https://curl.haxx.se/bug/?i=4315
+ [1] = https://curl.haxx.se/bug/?i=4272
+ [2] = https://curl.haxx.se/bug/?i=4322
+ [3] = https://curl.haxx.se/bug/?i=4328
+ [4] = https://curl.haxx.se/bug/?i=4321
+ [5] = https://curl.haxx.se/mail/lib-2019-09/0061.html
+ [6] = https://curl.haxx.se/bug/?i=4348
+ [7] = https://curl.haxx.se/bug/?i=4368
+ [8] = https://curl.haxx.se/bug/?i=4365
+ [9] = https://curl.haxx.se/bug/?i=4366
+ [10] = https://curl.haxx.se/bug/?i=4363
+ [11] = https://curl.haxx.se/bug/?i=4358
+ [12] = https://curl.haxx.se/bug/?i=4350
+ [13] = https://curl.haxx.se/bug/?i=4352
+ [14] = https://curl.haxx.se/bug/?i=4324
+ [15] = https://curl.haxx.se/bug/?i=4339
+ [16] = https://curl.haxx.se/bug/?i=4332
+ [17] = https://curl.haxx.se/bug/?i=4326
+ [18] = https://curl.haxx.se/bug/?i=4325
+ [19] = https://curl.haxx.se/bug/?i=4336
+ [20] = https://curl.haxx.se/bug/?i=4329
+ [21] = https://curl.haxx.se/bug/?i=4338
+ [22] = https://curl.haxx.se/bug/?i=4349
+ [23] = https://curl.haxx.se/bug/?i=4381
+ [24] = https://curl.haxx.se/bug/?i=4374
+ [25] = https://curl.haxx.se/bug/?i=4392
+ [26] = https://curl.haxx.se/bug/?i=4389
+ [27] = https://curl.haxx.se/bug/?i=4386
+ [28] = https://curl.haxx.se/bug/?i=4382
+ [29] = https://curl.haxx.se/bug/?i=4383
+ [30] = https://curl.haxx.se/bug/?i=4387
+ [31] = https://curl.haxx.se/bug/?i=4395
+ [32] = https://curl.haxx.se/bug/?i=4394
+ [33] = https://curl.haxx.se/bug/?i=4393
+ [34] = https://curl.haxx.se/bug/?i=4397
+ [35] = https://curl.haxx.se/bug/?i=4435
+ [36] = https://curl.haxx.se/bug/?i=4428
+ [37] = https://curl.haxx.se/bug/?i=4415
+ [38] = https://curl.haxx.se/bug/?i=4425
+ [39] = https://curl.haxx.se/bug/?i=4431
+ [40] = https://curl.haxx.se/bug/?i=4430
+ [41] = https://curl.haxx.se/bug/?i=4411
+ [42] = https://curl.haxx.se/bug/?i=3760
+ [43] = https://curl.haxx.se/bug/?i=4421
+ [44] = https://curl.haxx.se/bug/?i=4403
+ [45] = https://curl.haxx.se/bug/?i=4412
+ [46] = https://curl.haxx.se/bug/?i=4407
+ [47] = https://curl.haxx.se/bug/?i=4214
+ [48] = https://curl.haxx.se/bug/?i=4406
+ [49] = https://curl.haxx.se/bug/?i=4400
+ [50] = https://curl.haxx.se/bug/?i=4398
+ [51] = https://curl.haxx.se/bug/?i=4399
+ [52] = https://curl.haxx.se/bug/?i=4445
+ [53] = https://curl.haxx.se/bug/?i=4447
+ [54] = https://curl.haxx.se/bug/?i=4393
+ [55] = https://curl.haxx.se/bug/?i=4410
+ [56] = https://curl.haxx.se/bug/?i=4310
+ [57] = https://curl.haxx.se/bug/?i=4444
+ [58] = https://curl.haxx.se/bug/?i=4433
+ [59] = https://curl.haxx.se/bug/?i=4441
+ [60] = https://curl.haxx.se/bug/?i=4443
+ [61] = https://curl.haxx.se/bug/?i=4437
+ [62] = https://curl.haxx.se/bug/?i=4424
+ [63] = https://curl.haxx.se/bug/?i=4429
+ [64] = https://curl.haxx.se/bug/?i=4465
+ [65] = https://curl.haxx.se/bug/?i=4308
+ [66] = https://curl.haxx.se/bug/?i=4457
+ [67] = https://curl.haxx.se/bug/?i=4455
+ [68] = https://curl.haxx.se/bug/?i=4303
+ [69] = https://curl.haxx.se/bug/?i=4454
+ [70] = https://curl.haxx.se/bug/?i=4446
+ [71] = https://curl.haxx.se/bug/?i=4011
+ [72] = https://curl.haxx.se/bug/?i=4461
+ [73] = https://curl.haxx.se/bug/?i=4422
+ [74] = https://curl.haxx.se/bug/?i=4469
+ [75] = https://curl.haxx.se/bug/?i=4471
+ [76] = https://curl.haxx.se/bug/?i=4467
+ [77] = https://curl.haxx.se/bug/?i=4460
+ [78] = https://curl.haxx.se/bug/?i=4486
+ [79] = https://curl.haxx.se/bug/?i=4498
+ [80] = https://curl.haxx.se/bug/?i=4491
+ [81] = https://curl.haxx.se/bug/?i=4488
+ [82] = https://curl.haxx.se/bug/?i=4484
+ [83] = https://curl.haxx.se/bug/?i=4483
+ [84] = https://curl.haxx.se/bug/?i=4482
+ [85] = https://curl.haxx.se/bug/?i=4466
+ [86] = https://curl.haxx.se/bug/?i=4506
+ [87] = https://curl.haxx.se/bug/?i=4507
+ [88] = https://curl.haxx.se/bug/?i=4496
+ [89] = https://curl.haxx.se/bug/?i=4503
+ [90] = https://curl.haxx.se/bug/?i=4502
+ [91] = https://curl.haxx.se/bug/?i=4511
+ [92] = https://curl.haxx.se/bug/?i=4512
+ [93] = https://curl.haxx.se/bug/?i=4531
+ [94] = https://curl.haxx.se/bug/?i=4526
+ [95] = https://curl.haxx.se/bug/?i=4523
+ [96] = https://curl.haxx.se/bug/?i=4518
+ [97] = https://curl.haxx.se/bug/?i=4520
+ [98] = https://curl.haxx.se/bug/?i=4508
+ [99] = https://curl.haxx.se/bug/?i=4499
+ [100] = https://curl.haxx.se/bug/?i=4551
+ [101] = https://curl.haxx.se/bug/?i=4547
+ [102] = https://curl.haxx.se/bug/?i=4552
+ [103] = https://curl.haxx.se/mail/lib-2019-10/0104.html
+ [104] = https://curl.haxx.se/bug/?i=4487
+ [105] = https://curl.haxx.se/bug/?i=4509
+ [106] = https://curl.haxx.se/bug/?i=4539
+ [107] = https://curl.haxx.se/bug/?i=4463
+ [108] = https://curl.haxx.se/bug/?i=4535
+ [109] = https://curl.haxx.se/bug/?i=4529
+ [110] = https://curl.haxx.se/bug/?i=4555
diff --git a/androidconfigure b/androidconfigure
index 498b52a17..387e5881d 100755
--- a/androidconfigure
+++ b/androidconfigure
@@ -13,8 +13,8 @@ cd $(dirname "$0")
HOST="arm-linux-androideabi"
T="${ANDROID_BUILD_TOP}"
-export CC="${T}/prebuilts/clang/host/linux-x86/clang-r365631/bin/clang"
-export LD="${T}/prebuilts/clang/host/linux-x86/clang-r365631/bin/lld"
+export CC="${T}/prebuilts/clang/host/linux-x86/clang-r365631c/bin/clang"
+export LD="${T}/prebuilts/clang/host/linux-x86/clang-r365631c/bin/lld"
CFLAGS=(
"-isystem ${T}/external/libcxx/include"
diff --git a/buildconf.bat b/buildconf.bat
index 8511a1fcb..043523315 100644
--- a/buildconf.bat
+++ b/buildconf.bat
@@ -6,7 +6,7 @@ rem * / __| | | | |_) | |
rem * | (__| |_| | _ <| |___
rem * \___|\___/|_| \_\_____|
rem *
-rem * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+rem * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
rem *
rem * This software is licensed as described in the file COPYING, which
rem * you should have received as part of this distribution. The terms
diff --git a/configure b/configure
index b54dca65c..45c2bd730 100755
--- a/configure
+++ b/configure
@@ -1127,6 +1127,7 @@ enable_symbol_hiding
enable_hidden_symbols
enable_ares
enable_rt
+enable_esni
enable_code_coverage
enable_dependency_tracking
enable_largefile
@@ -1176,7 +1177,6 @@ with_random
enable_openssl_auto_load_config
with_gnutls
with_mbedtls
-with_cyassl
with_wolfssl
with_mesalink
with_nss
@@ -1877,6 +1877,8 @@ Optional Features:
--enable-ares[=PATH] Enable c-ares for DNS lookups
--disable-ares Disable c-ares for DNS lookups
--disable-rt disable dependency on -lrt
+ --enable-esni Enable ESNI support
+ --disable-esni Disable ESNI support
--enable-code-coverage Provide code coverage
--enable-dependency-tracking
do not reject slow dependency extractors
@@ -2026,9 +2028,6 @@ Optional Packages:
--with-mbedtls=PATH where to look for mbedTLS, PATH points to the
installation root
--without-mbedtls disable mbedTLS detection
- --with-cyassl=PATH where to look for CyaSSL, PATH points to the
- installation root (default: system lib default)
- --without-cyassl disable CyaSSL detection
--with-wolfssl=PATH where to look for WolfSSL, PATH points to the
installation root (default: system lib default)
--without-wolfssl disable WolfSSL detection
@@ -3331,6 +3330,37 @@ $as_echo "no" >&6; }
esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable ESNI support" >&5
+$as_echo_n "checking whether to enable ESNI support... " >&6; }
+ OPT_ESNI="default"
+ # Check whether --enable-esni was given.
+if test "${enable_esni+set}" = set; then :
+ enableval=$enable_esni; OPT_ESNI=$enableval
+fi
+
+ case "$OPT_ESNI" in
+ no)
+ want_esni="no"
+ curl_esni_msg="no (--enable-esni)"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ default)
+ want_esni="no"
+ curl_esni_msg="no (--enable-esni)"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ *)
+ want_esni="yes"
+ curl_esni_msg="enabled (--disable-esni)"
+ experimental="esni"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ ;;
+ esac
+
+
#
# Check that 'XC_CONFIGURE_PREAMBLE' has already run.
#
@@ -21809,10 +21839,6 @@ fi
fi
-if test "$ipv6" = "yes"; then
- curl_ipv6_msg="enabled"
-fi
-
# Check if struct sockaddr_in6 have sin6_scope_id member
if test "$ipv6" = yes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct sockaddr_in6 has sin6_scope_id member" >&5
@@ -24447,12 +24473,6 @@ OPT_WOLFSSL=no
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
-# Check whether --with-cyassl was given.
-if test "${with_cyassl+set}" = set; then :
- withval=$with_cyassl; OPT_WOLFSSL=$withval
-fi
-
-
# Check whether --with-wolfssl was given.
if test "${with_wolfssl+set}" = set; then :
@@ -24469,150 +24489,25 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then
OPT_WOLFSSL=""
fi
-
- cyassllibname=cyassl
-
- if test -z "$OPT_WOLFSSL" ; then
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CyaSSL_Init in -lcyassl" >&5
-$as_echo_n "checking for CyaSSL_Init in -lcyassl... " >&6; }
-if ${ac_cv_lib_cyassl_CyaSSL_Init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcyassl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#ifdef __cplusplus
-extern "C"
-#endif
-char CyaSSL_Init ();
-int main (void)
-{
-return CyaSSL_Init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_cyassl_CyaSSL_Init=yes
-else
- ac_cv_lib_cyassl_CyaSSL_Init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cyassl_CyaSSL_Init" >&5
-$as_echo "$ac_cv_lib_cyassl_CyaSSL_Init" >&6; }
-if test "x$ac_cv_lib_cyassl_CyaSSL_Init" = xyes; then :
-
-
-$as_echo "#define USE_WOLFSSL 1" >>confdefs.h
-
- USE_WOLFSSL=1
-
- WOLFSSL_ENABLED=1
- USE_WOLFSSL="yes"
- ssl_msg="CyaSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
-
-fi
-
- fi
-
- addld=""
- addlib=""
- addcflags=""
- cyassllib=""
-
- if test "x$USE_WOLFSSL" != "xyes"; then
- addld=-L$OPT_WOLFSSL/lib$libsuff
- addcflags=-I$OPT_WOLFSSL/include
- cyassllib=$OPT_WOLFSSL/lib$libsuff
-
- LDFLAGS="$LDFLAGS $addld"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CyaSSL_Init in -lcyassl" >&5
-$as_echo_n "checking for CyaSSL_Init in -lcyassl... " >&6; }
-if ${ac_cv_lib_cyassl_CyaSSL_Init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcyassl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#ifdef __cplusplus
-extern "C"
-#endif
-char CyaSSL_Init ();
-int main (void)
-{
-return CyaSSL_Init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_cyassl_CyaSSL_Init=yes
-else
- ac_cv_lib_cyassl_CyaSSL_Init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cyassl_CyaSSL_Init" >&5
-$as_echo "$ac_cv_lib_cyassl_CyaSSL_Init" >&6; }
-if test "x$ac_cv_lib_cyassl_CyaSSL_Init" = xyes; then :
-
-
-$as_echo "#define USE_WOLFSSL 1" >>confdefs.h
-
- USE_WOLFSSL=1
-
- WOLFSSL_ENABLED=1
- USE_WOLFSSL="yes"
- ssl_msg="CyaSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
-
-else
-
- CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags
- cyassllib=""
-
-fi
-
- fi
-
addld=""
addlib=""
addcflags=""
if test "x$USE_WOLFSSL" != "xyes"; then
- addld=-L$OPT_WOLFSSL/lib$libsuff
+ addld=-L$OPT_WOLFSSL/lib$libsuff
addcflags=-I$OPT_WOLFSSL/include
- cyassllib=$OPT_WOLFSSL/lib$libsuff
+ wolfssllibpath=$OPT_WOLFSSL/lib$libsuff
LDFLAGS="$LDFLAGS $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
- cyassllibname=wolfssl
my_ac_save_LIBS="$LIBS"
- LIBS="-l$cyassllibname -lm $LIBS"
+ LIBS="-lwolfssl -lm $LIBS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CyaSSL_Init in -lwolfssl" >&5
-$as_echo_n "checking for CyaSSL_Init in -lwolfssl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for wolfSSL_Init in -lwolfssl" >&5
+$as_echo_n "checking for wolfSSL_Init in -lwolfssl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -24621,12 +24516,12 @@ $as_echo_n "checking for CyaSSL_Init in -lwolfssl... " >&6; }
They are set up properly later if it is detected. */
#undef SIZEOF_LONG
#undef SIZEOF_LONG_LONG
-#include <cyassl/ssl.h>
+#include <wolfssl/ssl.h>
int main (void)
{
- return CyaSSL_Init();
+ return wolfSSL_Init();
;
return 0;
@@ -24645,7 +24540,7 @@ $as_echo "#define USE_WOLFSSL 1" >>confdefs.h
WOLFSSL_ENABLED=1
USE_WOLFSSL="yes"
ssl_msg="WolfSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
+ test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
else
@@ -24653,7 +24548,7 @@ else
$as_echo "no" >&6; }
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
- cyassllib=""
+ wolfssllibpath=""
fi
rm -f core conftest.err conftest.$ac_objext \
@@ -24662,8 +24557,8 @@ rm -f core conftest.err conftest.$ac_objext \
fi
if test "x$USE_WOLFSSL" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: detected $cyassllibname" >&5
-$as_echo "$as_me: detected $cyassllibname" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: detected wolfSSL" >&5
+$as_echo "$as_me: detected wolfSSL" >&6;}
check_for_ca_bundle=1
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
@@ -24706,7 +24601,7 @@ _ACEOF
- LIBS="-l$cyassllibname -lm $LIBS"
+ LIBS="-lwolfssl -lm $LIBS"
for ac_func in wolfSSLv3_client_method \
wolfSSL_get_peer_certificate \
@@ -24723,12 +24618,12 @@ fi
done
- if test -n "$cyassllib"; then
+ if test -n "$wolfssllibpath"; then
if test "x$cross_compiling" != "xyes"; then
- CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$cyassllib"
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath"
export CURL_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $cyassllib to CURL_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $cyassllib to CURL_LIBRARY_PATH" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $wolfssllibpath to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $wolfssllibpath to CURL_LIBRARY_PATH" >&6;}
fi
fi
@@ -41443,6 +41338,7 @@ $as_echo "#define ENABLE_IPV6 1" >>confdefs.h
IPV6_ENABLED=1
+ curl_ipv6_msg="enabled"
fi
fi
@@ -42615,6 +42511,41 @@ $as_echo "#define USE_ALTSVC 1" >>confdefs.h
experimental="$experimental alt-svc"
fi
+if test "x$want_esni" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ESNI support is available" >&5
+$as_echo_n "checking whether ESNI support is available... " >&6; }
+
+ ESNI_ENABLED=0
+ ESNI_SUPPORT=''
+
+ if test "x$OPENSSL_ENABLED" == "x1"; then
+ for ac_func in SSL_get_esni_status
+do :
+ ac_fn_c_check_func "$LINENO" "SSL_get_esni_status" "ac_cv_func_SSL_get_esni_status"
+if test "x$ac_cv_func_SSL_get_esni_status" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_SSL_GET_ESNI_STATUS 1
+_ACEOF
+ ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)"
+ ESNI_ENABLED=1
+fi
+done
+
+
+ fi
+
+ if test "x$ESNI_ENABLED" == "x1"; then
+
+$as_echo "#define USE_ESNI 1" >>confdefs.h
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESNI_SUPPORT" >&5
+$as_echo "$ESNI_SUPPORT" >&6; }
+ experimental="$experimental ESNI"
+ else
+ as_fn_error $? "--enable-esni ignored: No ESNI support found" "$LINENO" 5
+ fi
+fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hiding of library internal symbols will actually happen" >&5
$as_echo_n "checking whether hiding of library internal symbols will actually happen... " >&6; }
@@ -42757,6 +42688,10 @@ if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
fi
+if test "x$ESNI_ENABLED" = "x1"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI"
+fi
+
if test "x$CURL_DISABLE_HTTP" != "x1"; then
@@ -45728,6 +45663,7 @@ done
Alt-svc: ${curl_altsvc_msg}
HTTP2: ${curl_h2_msg}
HTTP3: ${curl_h3_msg}
+ ESNI: ${curl_esni_msg}
Protocols: ${SUPPORT_PROTOCOLS}
Features: ${SUPPORT_FEATURES}
" >&5
@@ -45770,6 +45706,7 @@ $as_echo "$as_me: Configured to build curl/libcurl:
Alt-svc: ${curl_altsvc_msg}
HTTP2: ${curl_h2_msg}
HTTP3: ${curl_h3_msg}
+ ESNI: ${curl_esni_msg}
Protocols: ${SUPPORT_PROTOCOLS}
Features: ${SUPPORT_FEATURES}
" >&6;}
diff --git a/configure.ac b/configure.ac
index 07e0a502e..cb8f4943e 100755
--- a/configure.ac
+++ b/configure.ac
@@ -49,6 +49,7 @@ CURL_CHECK_OPTION_CURLDEBUG
CURL_CHECK_OPTION_SYMBOL_HIDING
CURL_CHECK_OPTION_ARES
CURL_CHECK_OPTION_RT
+CURL_CHECK_OPTION_ESNI
XC_CHECK_PATH_SEPARATOR
@@ -1226,10 +1227,6 @@ main()
ipv6=yes
))
-if test "$ipv6" = "yes"; then
- curl_ipv6_msg="enabled"
-fi
-
# Check if struct sockaddr_in6 have sin6_scope_id member
if test "$ipv6" = yes; then
AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member])
@@ -2215,12 +2212,7 @@ OPT_WOLFSSL=no
_cppflags=$CPPFLAGS
_ldflags=$LDFLAGS
-AC_ARG_WITH(cyassl,dnl
-AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)])
-AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
- OPT_WOLFSSL=$withval)
-dnl provide --with-wolfssl as an alias for --with-cyassl
AC_ARG_WITH(wolfssl,dnl
AC_HELP_STRING([--with-wolfssl=PATH],[where to look for WolfSSL, PATH points to the installation root (default: system lib default)])
AC_HELP_STRING([--without-wolfssl], [disable WolfSSL detection]),
@@ -2235,86 +2227,33 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then
OPT_WOLFSSL=""
fi
- dnl This should be reworked to use pkg-config instead
-
- cyassllibname=cyassl
-
- if test -z "$OPT_WOLFSSL" ; then
- dnl check for lib in system default first
-
- AC_CHECK_LIB(cyassl, CyaSSL_Init,
- dnl libcyassl found, set the variable
- [
- AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled])
- AC_SUBST(USE_WOLFSSL, [1])
- WOLFSSL_ENABLED=1
- USE_WOLFSSL="yes"
- ssl_msg="CyaSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
- ])
- fi
-
addld=""
addlib=""
addcflags=""
- cyassllib=""
if test "x$USE_WOLFSSL" != "xyes"; then
- dnl add the path and test again
addld=-L$OPT_WOLFSSL/lib$libsuff
addcflags=-I$OPT_WOLFSSL/include
- cyassllib=$OPT_WOLFSSL/lib$libsuff
+ wolfssllibpath=$OPT_WOLFSSL/lib$libsuff
LDFLAGS="$LDFLAGS $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
- AC_CHECK_LIB(cyassl, CyaSSL_Init,
- [
- AC_DEFINE(USE_WOLFSSL, 1, [if CyaSSL is enabled])
- AC_SUBST(USE_WOLFSSL, [1])
- WOLFSSL_ENABLED=1
- USE_WOLFSSL="yes"
- ssl_msg="CyaSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
- ],
- [
- CPPFLAGS=$_cppflags
- LDFLAGS=$_ldflags
- cyassllib=""
- ])
- fi
-
- addld=""
- addlib=""
- addcflags=""
-
- if test "x$USE_WOLFSSL" != "xyes"; then
- dnl libcyassl renamed to libwolfssl as of 3.4.0
- addld=-L$OPT_WOLFSSL/lib$libsuff
- addcflags=-I$OPT_WOLFSSL/include
- cyassllib=$OPT_WOLFSSL/lib$libsuff
-
- LDFLAGS="$LDFLAGS $addld"
- if test "$addcflags" != "-I/usr/include"; then
- CPPFLAGS="$CPPFLAGS $addcflags"
- fi
-
- cyassllibname=wolfssl
my_ac_save_LIBS="$LIBS"
- LIBS="-l$cyassllibname -lm $LIBS"
+ LIBS="-lwolfssl -lm $LIBS"
- AC_MSG_CHECKING([for CyaSSL_Init in -lwolfssl])
+ AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl])
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
/* These aren't needed for detection and confuse WolfSSL.
They are set up properly later if it is detected. */
#undef SIZEOF_LONG
#undef SIZEOF_LONG_LONG
-#include <cyassl/ssl.h>
+#include <wolfssl/ssl.h>
]],[[
- return CyaSSL_Init();
+ return wolfSSL_Init();
]])
],[
AC_MSG_RESULT(yes)
@@ -2323,25 +2262,25 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then
WOLFSSL_ENABLED=1
USE_WOLFSSL="yes"
ssl_msg="WolfSSL"
- test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
+ test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
AC_MSG_RESULT(no)
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
- cyassllib=""
+ wolfssllibpath=""
])
LIBS="$my_ac_save_LIBS"
fi
if test "x$USE_WOLFSSL" = "xyes"; then
- AC_MSG_NOTICE([detected $cyassllibname])
+ AC_MSG_NOTICE([detected wolfSSL])
check_for_ca_bundle=1
- dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
+ dnl wolfssl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
AX_COMPILE_CHECK_SIZEOF(long long)
- LIBS="-l$cyassllibname -lm $LIBS"
+ LIBS="-lwolfssl -lm $LIBS"
dnl Recent WolfSSL versions build without SSLv3 by default
dnl WolfSSL needs configure --enable-opensslextra to have *get_peer*
@@ -2349,15 +2288,15 @@ if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then
wolfSSL_get_peer_certificate \
wolfSSL_UseALPN)
- if test -n "$cyassllib"; then
+ if test -n "$wolfssllibpath"; then
dnl when shared libs were found in a path that the run-time
dnl linker doesn't search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$cyassllib"
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath"
export CURL_LIBRARY_PATH
- AC_MSG_NOTICE([Added $cyassllib to CURL_LIBRARY_PATH])
+ AC_MSG_NOTICE([Added $wolfssllibpath to CURL_LIBRARY_PATH])
fi
fi
@@ -4026,6 +3965,7 @@ if test "$ipv6" = "yes"; then
AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
IPV6_ENABLED=1
AC_SUBST(IPV6_ENABLED)
+ curl_ipv6_msg="enabled"
fi
fi
@@ -4497,6 +4437,36 @@ if test "$enable_altsvc" = "yes"; then
experimental="$experimental alt-svc"
fi
+dnl *************************************************************
+dnl check whether ESNI support, if desired, is actually available
+dnl
+if test "x$want_esni" != "xno"; then
+ AC_MSG_CHECKING([whether ESNI support is available])
+
+ dnl assume NOT and look for sufficient condition
+ ESNI_ENABLED=0
+ ESNI_SUPPORT=''
+
+ dnl OpenSSL with a chosen ESNI function should be enough
+ dnl so more exhaustive checking seems unnecessary for now
+ if test "x$OPENSSL_ENABLED" == "x1"; then
+ AC_CHECK_FUNCS(SSL_get_esni_status,
+ ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)"
+ ESNI_ENABLED=1)
+
+ dnl add 'elif' chain here for additional implementations
+ fi
+
+ dnl now deal with whatever we found
+ if test "x$ESNI_ENABLED" == "x1"; then
+ AC_DEFINE(USE_ESNI, 1, [if ESNI support is available])
+ AC_MSG_RESULT($ESNI_SUPPORT)
+ experimental="$experimental ESNI"
+ else
+ AC_MSG_ERROR([--enable-esni ignored: No ESNI support found])
+ fi
+fi
+
dnl ************************************************************
dnl hiding of library internal symbols
dnl
@@ -4618,6 +4588,10 @@ if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \
SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy"
fi
+if test "x$ESNI_ENABLED" = "x1"; then
+ SUPPORT_FEATURES="$SUPPORT_FEATURES ESNI"
+fi
+
AC_SUBST(SUPPORT_FEATURES)
dnl For supported protocols in pkg-config file
@@ -4801,6 +4775,7 @@ AC_MSG_NOTICE([Configured to build curl/libcurl:
Alt-svc: ${curl_altsvc_msg}
HTTP2: ${curl_h2_msg}
HTTP3: ${curl_h3_msg}
+ ESNI: ${curl_esni_msg}
Protocols: ${SUPPORT_PROTOCOLS}
Features: ${SUPPORT_FEATURES}
])
diff --git a/docs/BINDINGS.md b/docs/BINDINGS.md
index b3624b1cb..d0e80b8ac 100644
--- a/docs/BINDINGS.md
+++ b/docs/BINDINGS.md
@@ -23,6 +23,8 @@ Requests](https://github.com/whoshuu/cpr) by Huu Nguyen
Cocoa: [BBHTTP](https://github.com/brunodecarvalho/BBHTTP) written by Bruno de Carvalho
[curlhandle](https://github.com/karelia/curlhandle) Written by Dan Wood
+Clojure: [clj-curl](https://github.com/lsevero/clj-curl) by Lucas Severo
+
[D](https://dlang.org/library/std/net/curl.html) Written by Kenneth Bogert
[Delphi](https://github.com/Mercury13/curl4delphi) Written by Mikhail Merkuryev
@@ -53,6 +55,8 @@ Go: [go-curl](https://github.com/andelf/go-curl) by ShuYu Wang
[Julia](https://github.com/forio/Curl.jl) Written by Paul Howe
+[Kapito](https://github.com/puzza007/katipo) is an Erlang HTTP library around libcurl.
+
[Lisp](https://common-lisp.net/project/cl-curl/) Written by Liam Healy
Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](https://github.com/Lua-cURL) by Jürgen Hötzel
@@ -61,6 +65,8 @@ Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](ht
[.NET](https://sourceforge.net/projects/libcurl-net/) libcurl-net by Jeffrey Phillips
+[Nim](https://nimble.directory/pkg/libcurl) wrapper for libcurl
+
[node.js](https://github.com/JCMais/node-libcurl) node-libcurl by Jonathan Cardoso Machado
[Object-Pascal](https://web.archive.org/web/20020610214926/www.tekool.com/opcurl) Free Pascal, Delphi and Kylix binding written by Christophe Espern.
@@ -69,14 +75,17 @@ Lua: [luacurl](http://luacurl.luaforge.net/) by Alexander Marinov, [Lua-cURL](ht
[Pascal](https://web.archive.org/web/20030804091414/houston.quik.com/jkp/curlpas/) Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer.
-Perl: [WWW--Curl](https://github.com/szbalint/WWW--Curl) Maintained by Cris
+Perl: [WWW::Curl](https://github.com/szbalint/WWW--Curl) Maintained by Cris
Bailiff and Bálint Szilakszi,
[perl6-net-curl](https://github.com/azawawi/perl6-net-curl) by Ahmad M. Zawawi
+[NET::Curl](https://metacpan.org/pod/Net::Curl) by Przemyslaw Iskra
[PHP](https://php.net/curl) Originally written by Sterling Hughes
[PostgreSQL](https://github.com/pramsey/pgsql-http) - HTTP client for PostgreSQL
+[PureBasic](https://www.purebasic.com/documentation/http/index.html) uses libcurl in its "native" HTTP subsystem
+
[Python](http://pycurl.io/) PycURL by Kjetil Jacobsen
[R](https://cran.r-project.org/package=curl)
diff --git a/docs/ESNI.md b/docs/ESNI.md
new file mode 100644
index 000000000..eefb6662b
--- /dev/null
+++ b/docs/ESNI.md
@@ -0,0 +1,139 @@
+# TLS: ESNI support in curl and libcurl
+
+## Summary
+
+**ESNI** means **Encrypted Server Name Indication**, a TLS 1.3
+extension which is currently the subject of an
+[IETF Draft][tlsesni].
+
+This file is intended to show the latest current state of ESNI support
+in **curl** and **libcurl**.
+
+At end of August 2019, an [experimental fork of curl][niallorcurl],
+built using an [experimental fork of OpenSSL][sftcdopenssl], which in
+turn provided an implementation of ESNI, was demonstrated
+interoperating with a server belonging to the [DEfO
+Project][defoproj].
+
+Further sections here describe
+
+- resources needed for building and demonstrating **curl** support
+ for ESNI,
+
+- progress to date,
+
+- TODO items, and
+
+- additional details of specific stages of the progress.
+
+## Resources needed
+
+To build and demonstrate ESNI support in **curl** and/or **libcurl**,
+you will need
+
+- a TLS library, supported by **libcurl**, which implements ESNI;
+
+- an edition of **curl** and/or **libcurl** which supports the ESNI
+ implementation of the chosen TLS library;
+
+- an environment for building and running **curl**, and at least
+ building **OpenSSL**;
+
+- a server, supporting ESNI, against which to run a demonstration
+ and perhaps a specific target URL;
+
+- some instructions.
+
+The following set of resources is currently known to be available.
+
+| Set | Component | Location | Remarks |
+|:-----|:-------------|:------------------------------|:-------------------------------------------|
+| DEfO | TLS library | [sftcd/openssl][sftcdopenssl] | Tag *esni-2019-08-30* avoids bleeding edge |
+| | curl fork | [niallor/curl][niallorcurl] | Tag *esni-2019-08-30* likewise |
+| | instructions | [ESNI-README][niallorreadme] | |
+
+## Progress
+
+### PR 4011 (Jun 2019) expected in curl release 7.67.0 (Oct 2019)
+
+- Details [below](#pr4011);
+
+- New **curl** feature: `CURL_VERSION_ESNI`;
+
+- New configuration option: `--enable-esni`;
+
+- Build-time check for availability of resources needed for ESNI
+ support;
+
+- Pre-processor symbol `USE_ESNI` for conditional compilation of
+ ESNI support code, subject to configuration option and
+ availability of needed resources.
+
+## TODO
+
+- (next PR) Add libcurl options to set ESNI parameters.
+
+- (next PR) Add curl tool command line options to set ESNI parameters.
+
+- (WIP) Extend DoH functions so that published ESNI parameters can be
+ retrieved from DNS instead of being required as options.
+
+- (WIP) Work with OpenSSL community to finalize ESNI API.
+
+- Track OpenSSL ESNI API in libcurl
+
+- Identify and implement any changes needed for CMake.
+
+- Optimize build-time checking of available resources.
+
+- Encourage ESNI support work on other TLS/SSL backends.
+
+## Additional detail
+
+### PR 4011
+
+**TLS: Provide ESNI support framework for curl and libcurl**
+
+The proposed change provides a framework to facilitate work to
+implement ESNI support in curl and libcurl. It is not intended
+either to provide ESNI functionality or to favour any particular
+TLS-providing backend. Specifically, the change reserves a
+feature bit for ESNI support (symbol `CURL_VERSION_ESNI`),
+implements setting and reporting of this bit, includes dummy
+book-keeping for the symbol, adds a build-time configuration
+option (`--enable-esni`), provides an extensible check for
+resources available to provide ESNI support, and defines a
+compiler pre-processor symbol (`USE_ESNI`) accordingly.
+
+Proposed-by: @niallor (Niall O'Reilly)\
+Encouraged-by: @sftcd (Stephen Farrell)\
+See-also: [this message](https://curl.haxx.se/mail/lib-2019-05/0108.html)
+
+Limitations:
+- Book-keeping (symbols-in-versions) needs real release number, not 'DUMMY'.
+
+- Framework is incomplete, as it covers autoconf, but not CMake.
+
+- Check for available resources, although extensible, refers only to
+ specific work in progress ([described
+ here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to
+ implement ESNI for OpenSSL, as this is the immediate motivation
+ for the proposed change.
+
+## References
+
+CloudFlare blog: [Encrypting SNI: Fixing One of the Core Internet Bugs][corebug]
+
+Cloudflare blog: [Encrypt it or lose it: how encrypted SNI works][esniworks]
+
+IETF Draft: [Encrypted Server Name Indication for TLS 1.3][tlsesni]
+
+---
+
+[tlsesni]: https://datatracker.ietf.org/doc/draft-ietf-tls-esni/
+[esniworks]: https://blog.cloudflare.com/encrypted-sni/
+[corebug]: https://blog.cloudflare.com/esni/
+[defoproj]: https://defo.ie/
+[sftcdopenssl]: https://github.com/sftcd/openssl/
+[niallorcurl]: https://github.com/niallor/curl/
+[niallorreadme]: https://github.com/niallor/curl/blob/master/ESNI-README.md
diff --git a/docs/HTTP3.md b/docs/HTTP3.md
index 1e9b183c4..2dbd25688 100644
--- a/docs/HTTP3.md
+++ b/docs/HTTP3.md
@@ -33,7 +33,7 @@ in the master branch using pull-requests, just like ordinary changes.
Build (patched) OpenSSL
- % git clone --depth 1 -b openssl-quic-draft-22 https://github.com/tatsuhiro-t/openssl
+ % git clone --depth 1 -b openssl-quic-draft-23 https://github.com/tatsuhiro-t/openssl
% cd openssl
% ./config enable-tls1_3 --prefix=<somewhere1>
% make
@@ -52,10 +52,10 @@ Build nghttp3
Build ngtcp2
% cd ..
- % git clone -b draft-22 https://github.com/ngtcp2/ngtcp2
+ % git clone https://github.com/ngtcp2/ngtcp2
% cd ngtcp2
% autoreconf -i
- % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somehere1>/lib" --prefix==<somewhere3>
+ % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3>
% make
% make install
@@ -65,18 +65,9 @@ Build curl
% git clone https://github.com/curl/curl
% cd curl
% ./buildconf
- % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure -with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
+ % LDFLAGS="-Wl,-rpath,<somewhere1>/lib" ./configure --with-ssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3>
% make
-## Running
-
-Make sure the custom OpenSSL library is the one used at run-time, as otherwise
-you'll just get ld.so linker errors.
-
-## Invoke from command line
-
- curl --http3 https://nghttp2.org:8443/
-
# quiche version
## build
@@ -91,9 +82,9 @@ Build BoringSSL (it needs to be built manually so it can be reused with curl):
% mkdir build
% cd build
% cmake -DCMAKE_POSITION_INDEPENDENT_CODE=on ..
- % make -j`nproc`
+ % make
% cd ..
- % mkdir .openssl/lib -p
+ % mkdir -p .openssl/lib
% cp build/crypto/libcrypto.a build/ssl/libssl.a .openssl/lib
% ln -s $PWD/include .openssl
@@ -109,13 +100,16 @@ Clone and build curl:
% cd curl
% ./buildconf
% ./configure LDFLAGS="-Wl,-rpath,$PWD/../quiche/target/release" --with-ssl=$PWD/../quiche/deps/boringssl/.openssl --with-quiche=$PWD/../quiche/target/release
- % make -j`nproc`
+ % make
+
+## Run
+
+Use HTTP/3 directly:
+
+ curl --http3 https://nghttp2.org:8443/
-## Running
+Upgrade via Alt-Svc:
-Make an HTTP/3 request.
+ curl --alt-svc altsvc.cache https://quic.aiortc.org/
- % src/curl --http3 https://cloudflare-quic.com/
- % src/curl --http3 https://facebook.com/
- % src/curl --http3 https://quic.aiortc.org:4433/
- % src/curl --http3 https://quic.rocks:4433/
+See this [list of public HTTP/3 servers](https://bagder.github.io/HTTP3-test/)
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
index d287d55e4..78d632c70 100644
--- a/docs/INSTALL.md
+++ b/docs/INSTALL.md
@@ -7,6 +7,18 @@ document does not describe how to install curl or libcurl using such a binary
package. This document describes how to compile, build and install curl and
libcurl from source code.
+## Building using vcpkg
+
+You can download and install curl and libcurl using the [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
+
+ git clone https://github.com/Microsoft/vcpkg.git
+ cd vcpkg
+ ./bootstrap-vcpkg.sh
+ ./vcpkg integrate install
+ vcpkg install curl[tool]
+
+The curl port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
+
## Building from git
If you get your code off a git repository instead of a release tarball, see
@@ -56,12 +68,12 @@ you have pkg-config installed, set the pkg-config path first, like this:
Without pkg-config installed, use this:
- ./configure --with-ssl=/opt/OpenSSL
+ ./configure --with-ssl=/opt/OpenSSL
If you insist on forcing a build without SSL support, even though you may
have OpenSSL installed in your system, you can run configure like this:
- ./configure --without-ssl
+ ./configure --without-ssl
If you have OpenSSL installed, but with the libraries in one place and the
header files somewhere else, you have to set the `LDFLAGS` and `CPPFLAGS`
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index 5850f7fbd..5134e7367 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -12,7 +12,6 @@ check the changelog of the current development status, as one or more of these
problems may have been fixed or changed somewhat since this was written!
1. HTTP
- 1.1 CURLFORM_CONTENTLEN in an array
1.3 STARTTRANSFER time is wrong for HTTP POSTs
1.4 multipart formposts file name encoding
1.5 Expect-100 meets 417
@@ -55,6 +54,7 @@ problems may have been fixed or changed somewhat since this was written!
5.7 Visual Studio project gaps
5.8 configure finding libs in wrong directory
5.9 Utilize Requires.private directives in libcurl.pc
+ 5.10 IDN tests failing on Windows / MSYS2
6. Authentication
6.1 NTLM authentication and unicode
@@ -101,6 +101,7 @@ problems may have been fixed or changed somewhat since this was written!
12. LDAP and OpenLDAP
12.1 OpenLDAP hangs after returning results
+ 12.2 LDAP on Windows does authentication wrong?
13. TCP/IP
13.1 --interface for ipv6 binds to unusable IP address
@@ -112,15 +113,6 @@ problems may have been fixed or changed somewhat since this was written!
1. HTTP
-1.1 CURLFORM_CONTENTLEN in an array
-
- It is not possible to pass a 64-bit value using CURLFORM_CONTENTLEN with
- CURLFORM_ARRAY, when compiled on 32-bit platforms that support 64-bit
- integers. This is because the underlying structure 'curl_forms' uses a dual
- purpose char* for storing these values in via casting. For more information
- see the now closed related issue:
- https://github.com/curl/curl/issues/608
-
1.3 STARTTRANSFER time is wrong for HTTP POSTs
Wrong STARTTRANSFER timer accounting for POST requests Timer works fine with
@@ -428,6 +420,13 @@ problems may have been fixed or changed somewhat since this was written!
https://github.com/curl/curl/issues/864
+5.10 IDN tests failing on Windows / MSYS2
+
+ It seems like MSYS2 does some UTF-8-to-something-else conversion for Windows
+ compatibility.
+
+ https://github.com/curl/curl/issues/3747
+
6. Authentication
6.1 NTLM authentication and unicode
@@ -725,6 +724,9 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/622 and
https://curl.haxx.se/mail/lib-2016-01/0101.html
+12.2 LDAP on Windows does authentication wrong?
+
+ https://github.com/curl/curl/issues/3116
13. TCP/IP
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 2bde6bcb1..b26967024 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -53,6 +53,7 @@ EXTRA_DIST = \
CODE_STYLE.md \
CONTRIBUTE.md \
DEPRECATE.md \
+ ESNI.md \
EXPERIMENTAL.md \
FAQ \
FEATURES \
diff --git a/docs/THANKS b/docs/THANKS
index 73b84cfdb..884906ae2 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -51,6 +51,7 @@ Alex Chan
Alex Fishman
Alex Grebenschikov
Alex Gruz
+Alex Konev
Alex Malinovich
Alex Mayorga
Alex McLellan
@@ -58,6 +59,7 @@ Alex Neblett
Alex Nichols
Alex Potapenko
Alex Rousskov
+Alex Samorukov
Alex Suykov
Alex Vinnik
Alex aka WindEagle
@@ -116,6 +118,7 @@ Andrei Karas
Andrei Kurushin
Andrei Neculau
Andrei Sedoi
+Andrei Valeriu BICA
Andrei Virtosu
Andrej E Baranov
Andrew Benham
@@ -177,9 +180,11 @@ Balaji Salunke
Balazs Kovacsics
Balint Szilakszi
Barry Abrahamson
+Barry Pollard
Bart Whiteley
Bas Mevissen
Bas van Schaik
+Bastien Bouclet
Basuke Suzuki
Ben Boeckel
Ben Darnell
@@ -257,6 +262,7 @@ Bruno Thomsen
Bruno de Carvalho
Bryan Henderson
Bryan Kemp
+Bylon2 on github
Byrial Jensen
Caleb Raitto
Cameron Kaiser
@@ -304,7 +310,9 @@ Christian Schmitz
Christian Stewart
Christian Vogt
Christian Weisgerber
+Christoph M. Becker
Christophe Demory
+Christophe Dervieux
Christophe Legry
Christopher Conroy
Christopher Head
@@ -382,6 +390,7 @@ Daniel Romero
Daniel Schauenberg
Daniel Seither
Daniel Shahaf
+Daniel Silverstone
Daniel Steinberg
Daniel Stenberg
Daniel Theron
@@ -436,6 +445,7 @@ David Woodhouse
David Wright
David Yan
Dengminwen
+Denis Chaplygin
Denis Feklushkin
Denis Ollier
Dennis Clarke
@@ -520,6 +530,7 @@ Elliot Saba
Ellis Pritchard
Elmira A Semenova
Emanuele Bovisio
+Emil Engler
Emil Lerner
Emil Romanus
Emiliano Ida
@@ -589,6 +600,7 @@ Forrest Cahoon
Francisco Moraes
Francisco Sedano
Francois Petitjean
+Francois Rivard
Frank Denis
Frank Gevaerts
Frank Hempel
@@ -622,6 +634,7 @@ Georg Horn
Georg Huettenegger
Georg Lippitsch
Georg Wicherski
+George Liu
Gerd v. Egidy
Gergely Nagy
Gerhard Herre
@@ -633,6 +646,7 @@ Gil Weber
Gilad
Gilbert Ramirez Jr.
Gilles Blanc
+Gilles Vollant
Giorgos Oikonomou
Gisle Vanem
GitYuanQu on github
@@ -657,6 +671,7 @@ Greg Rowe
Greg Zavertnik
Gregory Nicholls
Gregory Szorc
+Griffin Downs
Grigory Entin
Guenole Bescon
Guido Berhoerster
@@ -727,6 +742,7 @@ Ihor Karpenko
Iida Yosiaki
Ilguiz Latypov
Ilja van Sprundel
+Ilya Kosarev
Immanuel Gregoire
Inca R
Ingmar Runge
@@ -744,6 +760,7 @@ Ivo Bellin Salarin
Jack Zhang
Jackarain on github
Jacky Lam
+Jacob Barthelmeh
Jacob Meuser
Jacob Moshenko
Jactry Zeng
@@ -813,6 +830,7 @@ Jeff Phillips
Jeff Pohlmeyer
Jeff Weber
Jeffrey Walton
+Jens Finkhaeuser
Jens Rantil
Jens Schleusener
Jeremie Rapin
@@ -840,6 +858,7 @@ Jim Freeman
Jim Fuller
Jim Hollinger
Jim Meyering
+Jimmy Gaussen
Jiri Dvorak
Jiri Hruska
Jiri Jaburek
@@ -890,6 +909,7 @@ John Weismiller
John Wilkinson
John-Mark Bell
Johnny Luong
+Jojojov on github
Jon DeVree
Jon Grubbs
Jon Nelson
@@ -1070,6 +1090,7 @@ Luca Altea
Luca Boccassi
Lucas Adamski
Lucas Pardue
+Lucas Severo
Ludek Finstrle
Ludovico Cavedon
Ludwig Nussel
@@ -1107,6 +1128,7 @@ Marc Kleine-Budde
Marc Renault
Marc Schlatter
Marc-Antoine Perennou
+Marcel Hernandez
Marcel Raad
Marcel Roelofs
Marcelo Echeverria
@@ -1151,6 +1173,7 @@ Martin Drasar
Martin Dreher
Martin Frodl
Martin Galvan
+Martin Gartner
Martin Hager
Martin Hedenfalk
Martin Jansen
@@ -1283,6 +1306,7 @@ Nate Prewitt
Nathan Coulter
Nathan O'Sullivan
Nathanael Nerode
+Nathaniel J. Smith
Nathaniel Waisbrot
Naveen Chandran
Naveen Noel
@@ -1292,6 +1316,7 @@ Neil Bowers
Neil Dunbar
Neil Kolban
Neil Spring
+Niall O'Reilly
Nic Roets
Nicholas Maniscalco
Nick Draffen
@@ -1370,7 +1395,9 @@ Patrick Smith
Patrick Watson
Patrik Thunstrom
Pau Garcia i Quiles
+Paul B. Omta
Paul Donohue
+Paul Dreik
Paul Groke
Paul Harrington
Paul Harris
@@ -1415,6 +1442,7 @@ Peter Piekarski
Peter Silva
Peter Simonyi
Peter Su
+Peter Sumatra
Peter Sylvester
Peter Todd
Peter Varga
@@ -1438,6 +1466,7 @@ Philip Langdale
Philip Prindeville
Philipp Waehnert
Philippe Hameau
+Philippe Marguinaud
Philippe Raoult
Philippe Vaucher
Pierre
@@ -1446,6 +1475,7 @@ Pierre Chapuis
Pierre Joye
Pierre Ynard
Piotr Dobrogost
+Piotr Komborski
Po-Chuan Hsieh
Pooyan McSporran
Poul T Lomholt
@@ -1563,6 +1593,7 @@ Rodric Glaser
Rodrigo Silva
Roger Leigh
Roland Blom
+Roland Hieber
Roland Krikava
Roland Zimmermann
Rolf Eike Beer
@@ -1626,6 +1657,7 @@ Sean Burford
Sean MacLennan
Sean Miller
Sebastiaan van Erk
+Sebastian Haglund
Sebastian Mundry
Sebastian Pohlschmidt
Sebastian Rasmussen
@@ -1669,6 +1701,7 @@ Somnath Kundu
Song Ma
Sonia Subramanian
Spacen Jasset
+Spezifant on github
Spiridonoff A.V
Spork Schivago
Stadler Stephan
@@ -1714,8 +1747,10 @@ Steven G. Johnson
Steven Gu
Steven M. Schweda
Steven Parkes
+Stian Soiland-Reyes
Stoned Elipot
Stuart Henderson
+SumatraPeter on github
Sune Ahlgren
Sunny Purushe
Sven Anders
@@ -1827,6 +1862,7 @@ Toshiyuki Maezawa
Traian Nicolescu
Travis Burtrum
Travis Obenhaus
+Trivikram Kamat
Troels Walsted Hansen
Troy Engel
Tseng Jun
@@ -1840,6 +1876,7 @@ Ulrich Doehner
Ulrich Telle
Ulrich Zadow
Valentin David
+Valerii Zapodovnikov
Vasiliy Faronov
Vasily Lobaskin
Vasy Okhin
@@ -1850,6 +1887,7 @@ Victor Snezhko
Vijay Panghal
Vikram Saxena
Viktor Szakats
+Vilhelm Prytz
Ville Skyttä
Vilmos Nebehaj
Vincas Razma
@@ -1899,6 +1937,7 @@ Yang Tse
Yarram Sunil
Yasuharu Yamada
Yasuhiro Matsumoto
+Yechiel Kalmenson
Yehezkel Horowitz
Yehoshua Hershberg
Yi Huang
@@ -1966,6 +2005,7 @@ jonrumsey on github
joshhe on github
jungle-boogie on github
jveazey on github
+jzinn on github
ka7 on github
kreshano on github
l00p3r on Hackerone
@@ -1977,6 +2017,7 @@ masbug on github
mccormickt12 on github
migueljcrum on github
mkzero on github
+momala454 on github
moohoorama on github
nedres on github
neex on github
@@ -1984,6 +2025,7 @@ neheb on github
nevv on HackerOne/curl
niallor on github
nianxuejie on github
+nico-abram on github
niner on github
nk
nopjmp on github
diff --git a/docs/TODO b/docs/TODO
index 6d30d26a4..42d37c1bc 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -18,6 +18,7 @@
1. libcurl
1.1 TFO support on Windows
+ 1.2 Consult %APPDATA% also for .netrc
1.3 struct lifreq
1.5 get rid of PATH_MAX
1.7 Support HTTP/2 for HTTP(S) proxies
@@ -122,6 +123,7 @@
17. SSH protocols
17.1 Multiplexing
+ 17.2 Handle growing SFTP files
17.3 Support better than MD5 hostkey hash
17.4 Support CURLOPT_PREQUOTE
@@ -181,6 +183,12 @@
See https://github.com/curl/curl/pull/3378
+1.2 Consult %APPDATA% also for .netrc
+
+ %APPDATA%\.netrc is not considered when running on Windows. Shouldn't it?
+
+ See https://github.com/curl/curl/issues/4016
+
1.3 struct lifreq
Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and
@@ -792,6 +800,16 @@ that doesn't exist on the server, just like --ftp-create-dirs.
To fix this, libcurl would have to detect an existing connection and "attach"
the new transfer to the existing one.
+17.2 Handle growing SFTP files
+
+ The SFTP code in libcurl checks the file size *before* a transfer starts and
+ then proceeds to transfer exactly that amount of data. If the remote file
+ grows while the tranfer is in progress libcurl won't notice and will not
+ adapt. The OpenSSH SFTP command line tool does and libcurl could also just
+ attempt to download more to see if there is more to get...
+
+ https://github.com/curl/curl/issues/4344
+
17.3 Support better than MD5 hostkey hash
libcurl offers the CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 option for verifying the
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 6b4387475..c90e9c5fb 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -97,13 +97,14 @@ DPAGES = \
no-buffer.d \
no-keepalive.d \
no-npn.d \
+ no-progress-meter.d \
no-sessionid.d \
noproxy.d \
ntlm.d ntlm-wb.d \
oauth2-bearer.d \
output.d \
- pass.d \
parallel.d \
+ pass.d \
parallel-max.d \
path-as-is.d \
pinnedpubkey.d \
diff --git a/docs/cmdline-opts/no-progress-meter.d b/docs/cmdline-opts/no-progress-meter.d
new file mode 100644
index 000000000..aff0717d3
--- /dev/null
+++ b/docs/cmdline-opts/no-progress-meter.d
@@ -0,0 +1,10 @@
+Long: no-progress-meter
+Help: Do not show the progress meter
+See-also: verbose silent
+Added: 7.67.0
+---
+Option to switch off the progress meter output without muting or otherwise
+affecting warning and informational messages like --silent does.
+
+Note that this is the negated option name documented. You can thus use
+--progress-meter to enable the progress meter again.
diff --git a/docs/curl-config.1 b/docs/curl-config.1
index 2afc98f83..9711f4bb0 100644
--- a/docs/curl-config.1
+++ b/docs/curl-config.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl-config 1 "November 30, 2017" "Curl 7.66.0" "curl-config manual"
+.TH curl-config 1 "November 30, 2017" "Curl 7.67.0" "curl-config manual"
.SH NAME
curl-config \- Get information about a libcurl installation
diff --git a/docs/curl.1 b/docs/curl.1
index 37e794a27..94ac9706a 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -22,7 +22,7 @@
.\"
.\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
.\"
-.TH curl 1 "November 16, 2016" "Curl 7.66.0" "Curl Manual"
+.TH curl 1 "November 16, 2016" "Curl 7.67.0" "Curl Manual"
.SH NAME
curl \- transfer a URL
@@ -1445,6 +1445,14 @@ with an SSL library that supports NPN. NPN is used by a libcurl that supports
HTTP/2 to negotiate HTTP/2 support with the server during https sessions.
See also \fI--no-alpn\fP and \fI--http2\fP. \fI--no-npn\fP requires that the underlying libcurl was built to support TLS. Added in 7.36.0.
+.IP "--no-progress-meter"
+Option to switch off the progress meter output without muting or otherwise
+affecting warning and informational messages like \fI-s, --silent\fP does.
+
+Note that this is the negated option name documented. You can thus use
+--progress-meter to enable the progress meter again.
+
+See also \fI-v, --verbose\fP and \fI-s, --silent\fP. Added in 7.67.0.
.IP "--no-sessionid"
(TLS) Disable curl's use of SSL session-ID caching. By default all transfers are
done using the cache. Note that while nothing should ever get hurt by
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index 6fd8ecd76..f03fcf2f0 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -45,4 +45,4 @@ COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \
sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \
smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \
multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \
- threaded-shared-conn.c crawler.c ephiperfifo.c
+ threaded-shared-conn.c crawler.c ephiperfifo.c multi-event.c
diff --git a/docs/examples/externalsocket.c b/docs/examples/externalsocket.c
index d89b041b4..bd0adf261 100644
--- a/docs/examples/externalsocket.c
+++ b/docs/examples/externalsocket.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/ftp-wildcard.c b/docs/examples/ftp-wildcard.c
index ee815973d..c7ed23f68 100644
--- a/docs/examples/ftp-wildcard.c
+++ b/docs/examples/ftp-wildcard.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/htmltidy.c b/docs/examples/htmltidy.c
index 1b48e0a2e..1cfb2735f 100644
--- a/docs/examples/htmltidy.c
+++ b/docs/examples/htmltidy.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/htmltitle.cpp b/docs/examples/htmltitle.cpp
index b81777736..e31e3e321 100644
--- a/docs/examples/htmltitle.cpp
+++ b/docs/examples/htmltitle.cpp
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index 45864cf3e..8f1fd4a5f 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/imap-append.c b/docs/examples/imap-append.c
index 157d5749a..ab0543300 100644
--- a/docs/examples/imap-append.c
+++ b/docs/examples/imap-append.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c
index b98a25161..dc03d0eb1 100644
--- a/docs/examples/multi-app.c
+++ b/docs/examples/multi-app.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/multi-event.c b/docs/examples/multi-event.c
new file mode 100644
index 000000000..482de8e7f
--- /dev/null
+++ b/docs/examples/multi-event.c
@@ -0,0 +1,240 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+/* <DESC>
+ * multi_socket API using libevent
+ * </DESC>
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <event2/event.h>
+#include <curl/curl.h>
+
+struct event_base *base;
+CURLM *curl_handle;
+struct event *timeout;
+
+typedef struct curl_context_s {
+ struct event *event;
+ curl_socket_t sockfd;
+} curl_context_t;
+
+static void curl_perform(int fd, short event, void *arg);
+
+static curl_context_t* create_curl_context(curl_socket_t sockfd)
+{
+ curl_context_t *context;
+
+ context = (curl_context_t *) malloc(sizeof(*context));
+
+ context->sockfd = sockfd;
+
+ context->event = event_new(base, sockfd, 0, curl_perform, context);
+
+ return context;
+}
+
+static void destroy_curl_context(curl_context_t *context)
+{
+ event_del(context->event);
+ event_free(context->event);
+ free(context);
+}
+
+static void add_download(const char *url, int num)
+{
+ char filename[50];
+ FILE *file;
+ CURL *handle;
+
+ snprintf(filename, 50, "%d.download", num);
+
+ file = fopen(filename, "wb");
+ if(!file) {
+ fprintf(stderr, "Error opening %s\n", filename);
+ return;
+ }
+
+ handle = curl_easy_init();
+ curl_easy_setopt(handle, CURLOPT_WRITEDATA, file);
+ curl_easy_setopt(handle, CURLOPT_PRIVATE, file);
+ curl_easy_setopt(handle, CURLOPT_URL, url);
+ curl_multi_add_handle(curl_handle, handle);
+ fprintf(stderr, "Added download %s -> %s\n", url, filename);
+}
+
+static void check_multi_info(void)
+{
+ char *done_url;
+ CURLMsg *message;
+ int pending;
+ CURL *easy_handle;
+ FILE *file;
+
+ while((message = curl_multi_info_read(curl_handle, &pending))) {
+ switch(message->msg) {
+ case CURLMSG_DONE:
+ /* Do not use message data after calling curl_multi_remove_handle() and
+ curl_easy_cleanup(). As per curl_multi_info_read() docs:
+ "WARNING: The data the returned pointer points to will not survive
+ calling curl_multi_cleanup, curl_multi_remove_handle or
+ curl_easy_cleanup." */
+ easy_handle = message->easy_handle;
+
+ curl_easy_getinfo(easy_handle, CURLINFO_EFFECTIVE_URL, &done_url);
+ curl_easy_getinfo(easy_handle, CURLINFO_PRIVATE, &file);
+ printf("%s DONE\n", done_url);
+
+ curl_multi_remove_handle(curl_handle, easy_handle);
+ curl_easy_cleanup(easy_handle);
+ if(file) {
+ fclose(file);
+ }
+ break;
+
+ default:
+ fprintf(stderr, "CURLMSG default\n");
+ break;
+ }
+ }
+}
+
+static void curl_perform(int fd, short event, void *arg)
+{
+ int running_handles;
+ int flags = 0;
+ curl_context_t *context;
+
+ if(event & EV_READ)
+ flags |= CURL_CSELECT_IN;
+ if(event & EV_WRITE)
+ flags |= CURL_CSELECT_OUT;
+
+ context = (curl_context_t *) arg;
+
+ curl_multi_socket_action(curl_handle, context->sockfd, flags,
+ &running_handles);
+
+ check_multi_info();
+}
+
+static void on_timeout(evutil_socket_t fd, short events, void *arg)
+{
+ int running_handles;
+ curl_multi_socket_action(curl_handle, CURL_SOCKET_TIMEOUT, 0,
+ &running_handles);
+ check_multi_info();
+}
+
+static int start_timeout(CURLM *multi, long timeout_ms, void *userp)
+{
+ if(timeout_ms < 0) {
+ evtimer_del(timeout);
+ }
+ else {
+ if(timeout_ms == 0)
+ timeout_ms = 1; /* 0 means directly call socket_action, but we'll do it
+ in a bit */
+ struct timeval tv;
+ tv.tv_sec = timeout_ms / 1000;
+ tv.tv_usec = (timeout_ms % 1000) * 1000;
+ evtimer_del(timeout);
+ evtimer_add(timeout, &tv);
+ }
+ return 0;
+}
+
+static int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp,
+ void *socketp)
+{
+ curl_context_t *curl_context;
+ int events = 0;
+
+ switch(action) {
+ case CURL_POLL_IN:
+ case CURL_POLL_OUT:
+ case CURL_POLL_INOUT:
+ curl_context = socketp ?
+ (curl_context_t *) socketp : create_curl_context(s);
+
+ curl_multi_assign(curl_handle, s, (void *) curl_context);
+
+ if(action != CURL_POLL_IN)
+ events |= EV_WRITE;
+ if(action != CURL_POLL_OUT)
+ events |= EV_READ;
+
+ events |= EV_PERSIST;
+
+ event_del(curl_context->event);
+ event_assign(curl_context->event, base, curl_context->sockfd, events,
+ curl_perform, curl_context);
+ event_add(curl_context->event, NULL);
+
+ break;
+ case CURL_POLL_REMOVE:
+ if(socketp) {
+ event_del(((curl_context_t*) socketp)->event);
+ destroy_curl_context((curl_context_t*) socketp);
+ curl_multi_assign(curl_handle, s, NULL);
+ }
+ break;
+ default:
+ abort();
+ }
+
+ return 0;
+}
+
+int main(int argc, char **argv)
+{
+ if(argc <= 1)
+ return 0;
+
+ if(curl_global_init(CURL_GLOBAL_ALL)) {
+ fprintf(stderr, "Could not init curl\n");
+ return 1;
+ }
+
+ base = event_base_new();
+ timeout = evtimer_new(base, on_timeout, NULL);
+
+ curl_handle = curl_multi_init();
+ curl_multi_setopt(curl_handle, CURLMOPT_SOCKETFUNCTION, handle_socket);
+ curl_multi_setopt(curl_handle, CURLMOPT_TIMERFUNCTION, start_timeout);
+
+ while(argc-- > 1) {
+ add_download(argv[argc], argc);
+ }
+
+ event_base_dispatch(base);
+
+ curl_multi_cleanup(curl_handle);
+ event_free(timeout);
+ event_base_free(base);
+
+ libevent_global_shutdown();
+ curl_global_cleanup();
+
+ return 0;
+}
diff --git a/docs/examples/multithread.c b/docs/examples/multithread.c
index a162000da..da07a1686 100644
--- a/docs/examples/multithread.c
+++ b/docs/examples/multithread.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/postit2-formadd.c b/docs/examples/postit2-formadd.c
index a501ce964..21d2a9f54 100644
--- a/docs/examples/postit2-formadd.c
+++ b/docs/examples/postit2-formadd.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -34,7 +34,6 @@
* <input type="submit" value="send" name="submit">
* </form>
*
- * This exact source code has not been verified to work.
*/
#include <stdio.h>
diff --git a/docs/examples/postit2.c b/docs/examples/postit2.c
index 2808f7a4e..b3a1a934c 100644
--- a/docs/examples/postit2.c
+++ b/docs/examples/postit2.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -34,7 +34,6 @@
* <input type="submit" value="send" name="submit">
* </form>
*
- * This exact source code has not been verified to work.
*/
#include <stdio.h>
diff --git a/docs/examples/resolve.c b/docs/examples/resolve.c
index c0b541500..81a286271 100644
--- a/docs/examples/resolve.c
+++ b/docs/examples/resolve.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/sampleconv.c b/docs/examples/sampleconv.c
index 1c4aec61b..a81747b1f 100644
--- a/docs/examples/sampleconv.c
+++ b/docs/examples/sampleconv.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/sendrecv.c b/docs/examples/sendrecv.c
index 5660a7955..c6f1b1a91 100644
--- a/docs/examples/sendrecv.c
+++ b/docs/examples/sendrecv.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/shared-connection-cache.c b/docs/examples/shared-connection-cache.c
index 639ad9c54..2ccb9ea80 100644
--- a/docs/examples/shared-connection-cache.c
+++ b/docs/examples/shared-connection-cache.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/smooth-gtk-thread.c b/docs/examples/smooth-gtk-thread.c
index b64c48610..ed404e851 100644
--- a/docs/examples/smooth-gtk-thread.c
+++ b/docs/examples/smooth-gtk-thread.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/smtp-mime.c b/docs/examples/smtp-mime.c
index 4f3fbfd53..1cf575cc6 100644
--- a/docs/examples/smtp-mime.c
+++ b/docs/examples/smtp-mime.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/sslbackend.c b/docs/examples/sslbackend.c
index c1489a9aa..14c230390 100644
--- a/docs/examples/sslbackend.c
+++ b/docs/examples/sslbackend.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -56,7 +56,7 @@ int main(int argc, char **argv)
return 0;
}
- else if(isdigit(*name)) {
+ else if(isdigit((int)(unsigned char)*name)) {
int id = atoi(name);
result = curl_global_sslset((curl_sslbackend)id, NULL, NULL);
diff --git a/docs/examples/synctime.c b/docs/examples/synctime.c
index 0113007c8..29ceaa51d 100644
--- a/docs/examples/synctime.c
+++ b/docs/examples/synctime.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/threaded-shared-conn.c b/docs/examples/threaded-shared-conn.c
index 2eda6239d..f20b8a460 100644
--- a/docs/examples/threaded-shared-conn.c
+++ b/docs/examples/threaded-shared-conn.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/examples/threaded-ssl.c b/docs/examples/threaded-ssl.c
index f6083ab3d..f61d728d4 100644
--- a/docs/examples/threaded-ssl.c
+++ b/docs/examples/threaded-ssl.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/docs/libcurl/curl_easy_cleanup.3 b/docs/libcurl/curl_easy_cleanup.3
index f104f18df..002c56c30 100644
--- a/docs/libcurl/curl_easy_cleanup.3
+++ b/docs/libcurl/curl_easy_cleanup.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_cleanup - End a libcurl easy handle
diff --git a/docs/libcurl/curl_easy_duphandle.3 b/docs/libcurl/curl_easy_duphandle.3
index b4b255f47..db84f6182 100644
--- a/docs/libcurl/curl_easy_duphandle.3
+++ b/docs/libcurl/curl_easy_duphandle.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_duphandle - Clone a libcurl session handle
diff --git a/docs/libcurl/curl_easy_escape.3 b/docs/libcurl/curl_easy_escape.3
index 84a3f04d8..7d54c6c7b 100644
--- a/docs/libcurl/curl_easy_escape.3
+++ b/docs/libcurl/curl_easy_escape.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_easy_getinfo.3 b/docs/libcurl/curl_easy_getinfo.3
index 2308ac62c..09a0a3db5 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_getinfo - extract information from a curl handle
diff --git a/docs/libcurl/curl_easy_init.3 b/docs/libcurl/curl_easy_init.3
index 7cf62d59d..4b76c0253 100644
--- a/docs/libcurl/curl_easy_init.3
+++ b/docs/libcurl/curl_easy_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_init - Start a libcurl easy session
diff --git a/docs/libcurl/curl_easy_pause.3 b/docs/libcurl/curl_easy_pause.3
index 9eaf77806..472b524eb 100644
--- a/docs/libcurl/curl_easy_pause.3
+++ b/docs/libcurl/curl_easy_pause.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_pause - pause and unpause a connection
diff --git a/docs/libcurl/curl_easy_perform.3 b/docs/libcurl/curl_easy_perform.3
index 67e622645..2e45387e3 100644
--- a/docs/libcurl/curl_easy_perform.3
+++ b/docs/libcurl/curl_easy_perform.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_perform - perform a blocking file transfer
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index e3b098e20..d796a1b88 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_recv - receives raw data on an "easy" connection
diff --git a/docs/libcurl/curl_easy_reset.3 b/docs/libcurl/curl_easy_reset.3
index b4c8af269..e413c80a0 100644
--- a/docs/libcurl/curl_easy_reset.3
+++ b/docs/libcurl/curl_easy_reset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_reset - reset all options of a libcurl session handle
diff --git a/docs/libcurl/curl_easy_send.3 b/docs/libcurl/curl_easy_send.3
index cd21e66cc..dc54c8b94 100644
--- a/docs/libcurl/curl_easy_send.3
+++ b/docs/libcurl/curl_easy_send.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_send - sends raw data over an "easy" connection
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index ed0cfd020..a35c996e5 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_setopt 3 "August 09, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_setopt 3 "August 09, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_setopt \- set options for a curl easy handle
diff --git a/docs/libcurl/curl_easy_strerror.3 b/docs/libcurl/curl_easy_strerror.3
index 2f2c16dba..2a08f42b8 100644
--- a/docs/libcurl/curl_easy_strerror.3
+++ b/docs/libcurl/curl_easy_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_strerror - return string describing error code
diff --git a/docs/libcurl/curl_easy_unescape.3 b/docs/libcurl/curl_easy_unescape.3
index 2313fbcf8..3188cfc34 100644
--- a/docs/libcurl/curl_easy_unescape.3
+++ b/docs/libcurl/curl_easy_unescape.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_easy_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_escape.3 b/docs/libcurl/curl_escape.3
index 16408a74b..5ef8dd492 100644
--- a/docs/libcurl/curl_escape.3
+++ b/docs/libcurl/curl_escape.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_escape 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_escape 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 99c0dd240..51b903c8f 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formadd 3 "December 11, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_formadd 3 "December 11, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_formadd - add a section to a multipart/formdata HTTP POST
diff --git a/docs/libcurl/curl_formfree.3 b/docs/libcurl/curl_formfree.3
index 0ec6be091..b9732fab8 100644
--- a/docs/libcurl/curl_formfree.3
+++ b/docs/libcurl/curl_formfree.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formfree 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_formfree 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_formfree - free a previously build multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_formget.3 b/docs/libcurl/curl_formget.3
index 1cda1f40e..a2054c3b5 100644
--- a/docs/libcurl/curl_formget.3
+++ b/docs/libcurl/curl_formget.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formget 3 "September 02, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_formget 3 "September 02, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_formget - serialize a previously built multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_free.3 b/docs/libcurl/curl_free.3
index 3d8175eb5..abaedea16 100644
--- a/docs/libcurl/curl_free.3
+++ b/docs/libcurl/curl_free.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_free 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_free 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_free - reclaim memory that has been obtained through a libcurl call
diff --git a/docs/libcurl/curl_getdate.3 b/docs/libcurl/curl_getdate.3
index 48aa3d104..1457d0b92 100644
--- a/docs/libcurl/curl_getdate.3
+++ b/docs/libcurl/curl_getdate.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_getdate 3 "January 18, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_getdate 3 "January 18, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_getdate - Convert a date string to number of seconds
diff --git a/docs/libcurl/curl_getenv.3 b/docs/libcurl/curl_getenv.3
index 2425a448e..7cbabf6b9 100644
--- a/docs/libcurl/curl_getenv.3
+++ b/docs/libcurl/curl_getenv.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_getenv 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_getenv 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_getenv - return value for environment name
diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3
index 13fecd3ec..eb731c606 100644
--- a/docs/libcurl/curl_global_cleanup.3
+++ b/docs/libcurl/curl_global_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_global_cleanup - global libcurl cleanup
diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3
index 987cb11f8..6c71388ac 100644
--- a/docs/libcurl/curl_global_init.3
+++ b/docs/libcurl/curl_global_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_init 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_global_init 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_global_init - Global libcurl initialisation
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index fcfd724e4..c3e99a822 100644
--- a/docs/libcurl/curl_global_init_mem.3
+++ b/docs/libcurl/curl_global_init_mem.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_init_mem 3 "August 11, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_global_init_mem 3 "August 11, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_global_init_mem - Global libcurl initialisation with memory callbacks
diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3
index cdf8c43cf..eaabbe402 100644
--- a/docs/libcurl/curl_global_sslset.3
+++ b/docs/libcurl/curl_global_sslset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_global_sslset - Select SSL backend to use with libcurl
diff --git a/docs/libcurl/curl_mime_addpart.3 b/docs/libcurl/curl_mime_addpart.3
index 9f21da3bb..cf19bed32 100644
--- a/docs/libcurl/curl_mime_addpart.3
+++ b/docs/libcurl/curl_mime_addpart.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_addpart - append a new empty part to a mime structure
diff --git a/docs/libcurl/curl_mime_data.3 b/docs/libcurl/curl_mime_data.3
index b9a04b214..2d3588589 100644
--- a/docs/libcurl/curl_mime_data.3
+++ b/docs/libcurl/curl_mime_data.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_data - set a mime part's body data from memory
diff --git a/docs/libcurl/curl_mime_data_cb.3 b/docs/libcurl/curl_mime_data_cb.3
index 71f9b3c76..6d985f8ff 100644
--- a/docs/libcurl/curl_mime_data_cb.3
+++ b/docs/libcurl/curl_mime_data_cb.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_data_cb - set a callback-based data source for a mime part's body
diff --git a/docs/libcurl/curl_mime_encoder.3 b/docs/libcurl/curl_mime_encoder.3
index c94921975..d6213e601 100644
--- a/docs/libcurl/curl_mime_encoder.3
+++ b/docs/libcurl/curl_mime_encoder.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_encoder - set a mime part's encoder and content transfer encoding
diff --git a/docs/libcurl/curl_mime_filedata.3 b/docs/libcurl/curl_mime_filedata.3
index 34e943920..259c10d42 100644
--- a/docs/libcurl/curl_mime_filedata.3
+++ b/docs/libcurl/curl_mime_filedata.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_filedata - set a mime part's body data from a file contents
diff --git a/docs/libcurl/curl_mime_filename.3 b/docs/libcurl/curl_mime_filename.3
index 3c24716bc..1b697c7d7 100644
--- a/docs/libcurl/curl_mime_filename.3
+++ b/docs/libcurl/curl_mime_filename.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_filename - set a mime part's remote file name
diff --git a/docs/libcurl/curl_mime_free.3 b/docs/libcurl/curl_mime_free.3
index 7f606fc8e..383534dea 100644
--- a/docs/libcurl/curl_mime_free.3
+++ b/docs/libcurl/curl_mime_free.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_free - free a previously built mime structure
diff --git a/docs/libcurl/curl_mime_headers.3 b/docs/libcurl/curl_mime_headers.3
index e8554bf47..39c65a4ba 100644
--- a/docs/libcurl/curl_mime_headers.3
+++ b/docs/libcurl/curl_mime_headers.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_headers - set a mime part's custom headers
diff --git a/docs/libcurl/curl_mime_init.3 b/docs/libcurl/curl_mime_init.3
index cd830e2d3..0afa6bfab 100644
--- a/docs/libcurl/curl_mime_init.3
+++ b/docs/libcurl/curl_mime_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_init - create a mime handle
diff --git a/docs/libcurl/curl_mime_name.3 b/docs/libcurl/curl_mime_name.3
index 0ea661aaf..66789ef2b 100644
--- a/docs/libcurl/curl_mime_name.3
+++ b/docs/libcurl/curl_mime_name.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_name - set a mime part's name
diff --git a/docs/libcurl/curl_mime_subparts.3 b/docs/libcurl/curl_mime_subparts.3
index 0edcb4749..bfb4f244f 100644
--- a/docs/libcurl/curl_mime_subparts.3
+++ b/docs/libcurl/curl_mime_subparts.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_subparts - set subparts of a multipart mime part
diff --git a/docs/libcurl/curl_mime_type.3 b/docs/libcurl/curl_mime_type.3
index 3f3925a2d..931eeaf5f 100644
--- a/docs/libcurl/curl_mime_type.3
+++ b/docs/libcurl/curl_mime_type.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_mime_type - set a mime part's content type
diff --git a/docs/libcurl/curl_mprintf.3 b/docs/libcurl/curl_mprintf.3
index 04562a53b..94a78bb01 100644
--- a/docs/libcurl/curl_mprintf.3
+++ b/docs/libcurl/curl_mprintf.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_printf 3 "April 01, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_printf 3 "April 01, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
diff --git a/docs/libcurl/curl_multi_add_handle.3 b/docs/libcurl/curl_multi_add_handle.3
index 694e775db..3ced4886b 100644
--- a/docs/libcurl/curl_multi_add_handle.3
+++ b/docs/libcurl/curl_multi_add_handle.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_add_handle - add an easy handle to a multi session
diff --git a/docs/libcurl/curl_multi_assign.3 b/docs/libcurl/curl_multi_assign.3
index 8a5327ef0..03240d8a3 100644
--- a/docs/libcurl/curl_multi_assign.3
+++ b/docs/libcurl/curl_multi_assign.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_assign \- set data to associate with an internal socket
diff --git a/docs/libcurl/curl_multi_cleanup.3 b/docs/libcurl/curl_multi_cleanup.3
index 385a41bf6..b97eebd6a 100644
--- a/docs/libcurl/curl_multi_cleanup.3
+++ b/docs/libcurl/curl_multi_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_cleanup - close down a multi session
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3
index b649f5952..2a9411ef3 100644
--- a/docs/libcurl/curl_multi_fdset.3
+++ b/docs/libcurl/curl_multi_fdset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_fdset - extracts file descriptor information from a multi handle
diff --git a/docs/libcurl/curl_multi_info_read.3 b/docs/libcurl/curl_multi_info_read.3
index 89633af5f..50633afb4 100644
--- a/docs/libcurl/curl_multi_info_read.3
+++ b/docs/libcurl/curl_multi_info_read.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_info_read - read multi stack informationals
diff --git a/docs/libcurl/curl_multi_init.3 b/docs/libcurl/curl_multi_init.3
index eea301534..9f1a879ca 100644
--- a/docs/libcurl/curl_multi_init.3
+++ b/docs/libcurl/curl_multi_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_init - create a multi handle
diff --git a/docs/libcurl/curl_multi_perform.3 b/docs/libcurl/curl_multi_perform.3
index 1e5892e82..a2db4d0ff 100644
--- a/docs/libcurl/curl_multi_perform.3
+++ b/docs/libcurl/curl_multi_perform.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_perform 3 "October 31, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_perform - reads/writes available data from each easy handle
@@ -47,6 +47,8 @@ know that there is one or more transfers less "running". You can then call
\fIcurl_multi_info_read(3)\fP to get information about each individual
completed transfer, and that returned info includes CURLcode and more. If an
added handle fails very quickly, it may never be counted as a running_handle.
+You could use \fIcurl_multi_info_read(3)\fP to track actual status of the
+added handles in that case.
When \fIrunning_handles\fP is set to zero (0) on the return of this function,
there is no longer any transfers in progress.
diff --git a/docs/libcurl/curl_multi_poll.3 b/docs/libcurl/curl_multi_poll.3
index ed6f967ae..481858ef2 100644
--- a/docs/libcurl/curl_multi_poll.3
+++ b/docs/libcurl/curl_multi_poll.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_poll 3 "July 29, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_poll 3 "July 29, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_poll - polls on all easy handles in a multi handle
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index 2cc2ef098..a9f664e82 100644
--- a/docs/libcurl/curl_multi_remove_handle.3
+++ b/docs/libcurl/curl_multi_remove_handle.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_remove_handle - remove an easy handle from a multi session
diff --git a/docs/libcurl/curl_multi_setopt.3 b/docs/libcurl/curl_multi_setopt.3
index ae9d89c26..44dba4ad7 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_setopt 3 "September 24, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_setopt \- set options for a curl multi handle
@@ -68,6 +68,8 @@ See \fICURLMOPT_SOCKETDATA(3)\fP
See \fICURLMOPT_TIMERFUNCTION(3)\fP
.IP CURLMOPT_TIMERDATA
See \fICURLMOPT_TIMERDATA(3)\fP
+.IP CURLMOPT_MAX_CONCURRENT_STREAMS
+See \fICURLMOPT_MAX_CONCURRENT_STREAMS(3)\fP
.SH RETURNS
The standard CURLMcode for multi interface error codes. Note that it returns a
CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index 5cb5be6b9..e82d2e05e 100644
--- a/docs/libcurl/curl_multi_socket.3
+++ b/docs/libcurl/curl_multi_socket.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_socket \- reads/writes available data
diff --git a/docs/libcurl/curl_multi_socket_action.3 b/docs/libcurl/curl_multi_socket_action.3
index 5f62aec44..f3fed74da 100644
--- a/docs/libcurl/curl_multi_socket_action.3
+++ b/docs/libcurl/curl_multi_socket_action.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_socket_action \- reads/writes available data given an action
diff --git a/docs/libcurl/curl_multi_strerror.3 b/docs/libcurl/curl_multi_strerror.3
index cbd6d850b..839d89dfb 100644
--- a/docs/libcurl/curl_multi_strerror.3
+++ b/docs/libcurl/curl_multi_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_strerror - return string describing error code
diff --git a/docs/libcurl/curl_multi_timeout.3 b/docs/libcurl/curl_multi_timeout.3
index f560c222e..08fe54b0d 100644
--- a/docs/libcurl/curl_multi_timeout.3
+++ b/docs/libcurl/curl_multi_timeout.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_timeout \- how long to wait for action before proceeding
diff --git a/docs/libcurl/curl_multi_wait.3 b/docs/libcurl/curl_multi_wait.3
index 856e9bb94..aeaf989dd 100644
--- a/docs/libcurl/curl_multi_wait.3
+++ b/docs/libcurl/curl_multi_wait.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_wait 3 "June 26, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_multi_wait 3 "October 31, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_multi_wait - polls on all easy handles in a multi handle
diff --git a/docs/libcurl/curl_share_cleanup.3 b/docs/libcurl/curl_share_cleanup.3
index 316fc819b..325e759c7 100644
--- a/docs/libcurl/curl_share_cleanup.3
+++ b/docs/libcurl/curl_share_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_share_cleanup - Clean up a shared object
diff --git a/docs/libcurl/curl_share_init.3 b/docs/libcurl/curl_share_init.3
index a78e2a6bb..40df3c1fb 100644
--- a/docs/libcurl/curl_share_init.3
+++ b/docs/libcurl/curl_share_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_init 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_share_init 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_share_init - Create a shared object
diff --git a/docs/libcurl/curl_share_setopt.3 b/docs/libcurl/curl_share_setopt.3
index 35d16f8a9..be034bf42 100644
--- a/docs/libcurl/curl_share_setopt.3
+++ b/docs/libcurl/curl_share_setopt.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_share_setopt - Set options for a shared object
diff --git a/docs/libcurl/curl_share_strerror.3 b/docs/libcurl/curl_share_strerror.3
index f2bd9f9b2..c6b3f9cc8 100644
--- a/docs/libcurl/curl_share_strerror.3
+++ b/docs/libcurl/curl_share_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_share_strerror - return string describing error code
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index 32be30f45..c0603cbf3 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_slist_append - add a string to an slist
diff --git a/docs/libcurl/curl_slist_free_all.3 b/docs/libcurl/curl_slist_free_all.3
index e8fe9fe02..69bd467b7 100644
--- a/docs/libcurl/curl_slist_free_all.3
+++ b/docs/libcurl/curl_slist_free_all.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_slist_free_all - free an entire curl_slist list
diff --git a/docs/libcurl/curl_strequal.3 b/docs/libcurl/curl_strequal.3
index 0dbbe337a..4ab8ce288 100644
--- a/docs/libcurl/curl_strequal.3
+++ b/docs/libcurl/curl_strequal.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_strequal 3 "June 29, 2017" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_strequal 3 "June 29, 2017" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_strequal, curl_strnequal - case insensitive string comparisons
diff --git a/docs/libcurl/curl_unescape.3 b/docs/libcurl/curl_unescape.3
index 20f5b13d8..5d8068b20 100644
--- a/docs/libcurl/curl_unescape.3
+++ b/docs/libcurl/curl_unescape.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_unescape 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_unescape 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_url.3 b/docs/libcurl/curl_url.3
index bed2ffccc..55ef54c6c 100644
--- a/docs/libcurl/curl_url.3
+++ b/docs/libcurl/curl_url.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_url 3 "March 22, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_url 3 "March 22, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_url - returns a new CURLU handle
diff --git a/docs/libcurl/curl_url_cleanup.3 b/docs/libcurl/curl_url_cleanup.3
index 36e29b441..8588b5a99 100644
--- a/docs/libcurl/curl_url_cleanup.3
+++ b/docs/libcurl/curl_url_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_url_cleanup - free a CURLU handle
diff --git a/docs/libcurl/curl_url_dup.3 b/docs/libcurl/curl_url_dup.3
index 2b510b85f..b9b3270ec 100644
--- a/docs/libcurl/curl_url_dup.3
+++ b/docs/libcurl/curl_url_dup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_url_dup - duplicate a CURLU handle
diff --git a/docs/libcurl/curl_url_get.3 b/docs/libcurl/curl_url_get.3
index 47be3c794..e18af64a6 100644
--- a/docs/libcurl/curl_url_get.3
+++ b/docs/libcurl/curl_url_get.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_url_get 3 "May 03, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_url_get 3 "September 25, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_url_get - extract a part from a URL
@@ -77,8 +77,9 @@ Scheme cannot be URL decoded on get.
.IP CURLUPART_PASSWORD
.IP CURLUPART_OPTIONS
.IP CURLUPART_HOST
-If the host part is an IPv6 numeric address, the zoneid will not be part of
-the extracted host but is provided separately in \fICURLUPART_ZONEID\fP.
+The host name. If it is an IPv6 numeric address, the zoneid will not be part
+of it but is provided separately in \fICURLUPART_ZONEID\fP. IPv6 numerical
+addresses are returned within brackets ([]).
.IP CURLUPART_ZONEID
If the host name is a numeric IPv6 address, this field might also be set.
.IP CURLUPART_PORT
diff --git a/docs/libcurl/curl_url_set.3 b/docs/libcurl/curl_url_set.3
index 8737a6290..ca5b35796 100644
--- a/docs/libcurl/curl_url_set.3
+++ b/docs/libcurl/curl_url_set.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_url_set 3 "May 03, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_url_set 3 "September 25, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_url_set - set a URL part
@@ -61,8 +61,9 @@ Scheme cannot be URL decoded on set.
.IP CURLUPART_PASSWORD
.IP CURLUPART_OPTIONS
.IP CURLUPART_HOST
-The host name can use IDNA. The string must then be encoded as your locale
-says or UTF-8 (when winidn is used).
+The host name. If it is IDNA the string must then be encoded as your locale
+says or UTF-8 (when WinIDN is used). If it is a bracketed IPv6 numeric address
+it may contain a zone id (or you can use CURLUPART_ZONEID).
.IP CURLUPART_ZONEID
If the host name is a numeric IPv6 address, this field can also be set.
.IP CURLUPART_PORT
@@ -112,6 +113,12 @@ instead "guesses" which scheme that was intended based on the host name. If
the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then
that scheme will be used, otherwise it picks HTTP. Conflicts with the
\fICURLU_DEFAULT_SCHEME\fP option which takes precedence if both are set.
+.IP CURLU_NO_AUTHORITY
+If set, skips authority checks. The RFC allows individual schemes to omit the
+host part (normally the only mandatory part of the authority), but libcurl
+cannot know whether this is permitted for custom schemes. Specifying the flag
+permits empty authority sections, similar to how file scheme is handled.
+
.SH RETURN VALUE
Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went
fine.
diff --git a/docs/libcurl/curl_version.3 b/docs/libcurl/curl_version.3
index 3f72c4515..42a2d675c 100644
--- a/docs/libcurl/curl_version.3
+++ b/docs/libcurl/curl_version.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_version 3 "February 03, 2016" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_version 3 "February 03, 2016" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_version - returns the libcurl version string
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index c85d79e14..25bd5de8a 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_version_info 3 "August 13, 2019" "libcurl 7.66.0" "libcurl Manual"
+.TH curl_version_info 3 "August 13, 2019" "libcurl 7.67.0" "libcurl Manual"
.SH NAME
curl_version_info - returns run-time libcurl version info
diff --git a/docs/libcurl/libcurl-easy.3 b/docs/libcurl/libcurl-easy.3
index 6b1334bf1..02479acd2 100644
--- a/docs/libcurl/libcurl-easy.3
+++ b/docs/libcurl/libcurl-easy.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl 3 "February 03, 2016" "libcurl 7.66.0" "libcurl easy interface"
+.TH libcurl 3 "February 03, 2016" "libcurl 7.67.0" "libcurl easy interface"
.SH NAME
libcurl-easy \- easy interface overview
diff --git a/docs/libcurl/libcurl-env.3 b/docs/libcurl/libcurl-env.3
index 1f5fc0a47..0404570f0 100644
--- a/docs/libcurl/libcurl-env.3
+++ b/docs/libcurl/libcurl-env.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-env 3 "April 17, 2018" "libcurl 7.66.0" "libcurl environment variables"
+.TH libcurl-env 3 "April 17, 2018" "libcurl 7.67.0" "libcurl environment variables"
.SH NAME
libcurl-env \- environment variables libcurl understands
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index 22cc8dc5e..b3579fedb 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-errors 3 "May 11, 2019" "libcurl 7.66.0" "libcurl errors"
+.TH libcurl-errors 3 "October 31, 2019" "libcurl 7.67.0" "libcurl errors"
.SH NAME
libcurl-errors \- error codes in libcurl
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index 10ee7ffdc..c457c158d 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.66.0" "libcurl multi interface"
+.TH libcurl-multi 3 "October 31, 2019" "libcurl 7.67.0" "libcurl multi interface"
.SH NAME
libcurl-multi \- how to use the multi interface
@@ -98,8 +98,7 @@ period for your select() calls.
\fIcurl_multi_perform(3)\fP stores the number of still running transfers in
one of its input arguments, and by reading that you can figure out when all
the transfers in the multi handles are done. 'done' does not mean
-successful. One or more of the transfers may have failed. Tracking when this
-number changes, you know when one or more transfers are done.
+successful. One or more of the transfers may have failed.
To get information about completed transfers, to figure out success or not and
similar, \fIcurl_multi_info_read(3)\fP should be called. It can return a
diff --git a/docs/libcurl/libcurl-security.3 b/docs/libcurl/libcurl-security.3
index 038a9e840..4d3980281 100644
--- a/docs/libcurl/libcurl-security.3
+++ b/docs/libcurl/libcurl-security.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-security 3 "July 16, 2019" "libcurl 7.66.0" "libcurl security"
+.TH libcurl-security 3 "July 16, 2019" "libcurl 7.67.0" "libcurl security"
.SH NAME
libcurl-security \- security considerations when using libcurl
diff --git a/docs/libcurl/libcurl-share.3 b/docs/libcurl/libcurl-share.3
index f626ed39e..e054a54e4 100644
--- a/docs/libcurl/libcurl-share.3
+++ b/docs/libcurl/libcurl-share.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-share 3 "November 27, 2017" "libcurl 7.66.0" "libcurl share interface"
+.TH libcurl-share 3 "November 27, 2017" "libcurl 7.67.0" "libcurl share interface"
.SH NAME
libcurl-share \- how to use the share interface
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index 4a6d89216..ec2e4922f 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-symbols 3 "sep 11, 2019" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "nov 6, 2019" "libcurl 7.41.0" "libcurl symbols"
.SH NAME
libcurl-symbols \- libcurl symbol version information
.SH "libcurl symbols"
@@ -703,6 +703,8 @@ Introduced in 7.30.0
Introduced in 7.30.0
.IP CURLMOPT_MAX_TOTAL_CONNECTIONS
Introduced in 7.30.0
+.IP CURLMOPT_MAX_CONCURRENT_STREAMS
+Introduced in 7.67.0
.IP CURLMOPT_PIPELINING
Introduced in 7.16.0
.IP CURLMOPT_PIPELINING_SERVER_BL
@@ -1653,6 +1655,8 @@ Introduced in 7.62.0
Introduced in 7.62.0
.IP CURLU_NO_DEFAULT_PORT
Introduced in 7.62.0
+.IP CURLU_NO_AUTHORITY
+Introduced in 7.67.0
.IP CURLU_PATH_AS_IS
Introduced in 7.62.0
.IP CURLU_URLDECODE
@@ -1953,6 +1957,8 @@ Introduced in 7.15.4
Introduced in 7.19.6
.IP CURL_VERSION_DEBUG
Introduced in 7.10.6
+.IP CURL_VERSION_ESNI
+Introduced in 7.67.0
.IP CURL_VERSION_GSSAPI
Introduced in 7.38.0
.IP CURL_VERSION_GSSNEGOTIATE
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
index e8659c694..b608b8957 100644
--- a/docs/libcurl/libcurl-thread.3
+++ b/docs/libcurl/libcurl-thread.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-thread 3 "June 30, 2019" "libcurl 7.66.0" "libcurl thread safety"
+.TH libcurl-thread 3 "June 30, 2019" "libcurl 7.67.0" "libcurl thread safety"
.SH NAME
libcurl-thread \- libcurl thread safety
diff --git a/docs/libcurl/libcurl-tutorial.3 b/docs/libcurl/libcurl-tutorial.3
index 2d7dbc805..cee2082c0 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-tutorial 3 "June 08, 2019" "libcurl 7.66.0" "libcurl programming"
+.TH libcurl-tutorial 3 "October 31, 2019" "libcurl 7.67.0" "libcurl programming"
.SH NAME
libcurl-tutorial \- libcurl programming tutorial
diff --git a/docs/libcurl/libcurl-url.3 b/docs/libcurl/libcurl-url.3
index b5583d989..ad75c7a53 100644
--- a/docs/libcurl/libcurl-url.3
+++ b/docs/libcurl/libcurl-url.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl 3 "September 10, 2018" "libcurl 7.66.0" "libcurl url interface"
+.TH libcurl 3 "September 10, 2018" "libcurl 7.67.0" "libcurl url interface"
.SH NAME
libcurl-url \- URL interface overview
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 5d2cc6d03..dd0d16ce0 100644
--- a/docs/libcurl/libcurl.3
+++ b/docs/libcurl/libcurl.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl 3 "July 15, 2017" "libcurl 7.66.0" "libcurl overview"
+.TH libcurl 3 "July 15, 2017" "libcurl 7.67.0" "libcurl overview"
.SH NAME
libcurl \- client-side URL transfers
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3 b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
index 3fafa251b..f76c3746c 100644
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_ACTIVESOCKET \- get the active socket
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
index 3d2f23ef5..6d95889f1 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_APPCONNECT_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
index 220c7738e..aa6e80d7d 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_APPCONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.3 b/docs/libcurl/opts/CURLINFO_CERTINFO.3
index 8cf8c0207..af68da442 100644
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/CURLINFO_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CERTINFO \- get the TLS certificate chain
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3 b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
index b14b9f9f1..b88ec384e 100644
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
+++ b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
index 87b30b631..624691fa6 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONNECT_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONNECT_TIME \- get the time until connect
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
index 042b0f274..476377c4a 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONNECT_TIME_T \- get the time until connect
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
index 253fc7f90..f1bbffb3d 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index 3b2d0d593..ee5fa2e72 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
index 9e09062c4..4534d1929 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index c723d200b..ad0280166 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3 b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
index 4f35fabf5..04a6e6af9 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_TYPE \- get Content-Type
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.3 b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
index 727bb1cc0..1880eff7b 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_COOKIELIST \- get all known cookies
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3 b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
index d04edb945..39be19b03 100644
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
+++ b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_EFFECTIVE_URL \- get the last used URL
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.3 b/docs/libcurl/opts/CURLINFO_FILETIME.3
index 45269dd2a..55cd8e4f2 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FILETIME \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME_T.3 b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
index 717345deb..c93bfe879 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FILETIME_T \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3 b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
index c82b23f27..36afa95bd 100644
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
+++ b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3 b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
index f3a91c76e..05482b24f 100644
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HEADER_SIZE \- get size of retrieved headers
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
index edf9b7b96..f879acc5c 100644
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3 b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
index 616dd6033..503156acf 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3 b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
index 543758bde..1054cdb6d 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTP_VERSION 3 "August 07, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_VERSION 3 "August 07, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTP_VERSION \- get the http version used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3 b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
index f70e0dcf6..d3bff6459 100644
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LASTSOCKET \- get the last socket used
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3 b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
index 05a8e8429..f0a9a44f4 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LOCAL_IP \- get local IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3 b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
index c42b910bb..212fe2cc7 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LOCAL_PORT \- get the latest local port number
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
index 5838022d8..475a2c8e1 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_NAMELOOKUP_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
index 25c64dc88..f6105911d 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_NAMELOOKUP_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3 b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
index 0d7e80bcd..cf0f5c27d 100644
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
+++ b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NUM_CONNECTS \- get number of created connections
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3 b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
index 1004e2c89..f37fdef5c 100644
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
+++ b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_OS_ERRNO \- get errno number from last connect failure
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
index 6b6cb9db8..2a9af4882 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRETRANSFER_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
index b8e10043a..a94f8e8c1 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRETRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
index 202c4f919..11f4fd683 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIMARY_IP \- get IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
index 97a654deb..4b9b240a4 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIMARY_PORT \- get the latest destination port number
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.3 b/docs/libcurl/opts/CURLINFO_PRIVATE.3
index afb0b4e0f..805f881d5 100644
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.3
+++ b/docs/libcurl/opts/CURLINFO_PRIVATE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIVATE \- get the private pointer
diff --git a/docs/libcurl/opts/CURLINFO_PROTOCOL.3 b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
index d01410051..438ce6dda 100644
--- a/docs/libcurl/opts/CURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROTOCOL \- get the protocol used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
index 8b7973ae8..d0e8ae6dd 100644
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
index afda5d6df..beeb3bd99 100644
--- a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
index 8fbef50eb..7ed3775f4 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_COUNT \- get the number of redirects
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
index 89e2540b6..46b7b7364 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
index d1c8a6ecb..77623fb5f 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
index 6b12c3be9..8fdc740b5 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3 b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
index 3a62694d2..a3a67aac2 100644
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REQUEST_SIZE \- get size of sent request
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3 b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
index 3a486489c..af49e8556 100644
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
+++ b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RESPONSE_CODE \- get the last response code
diff --git a/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3 b/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3
index e4c16f290..366e749da 100644
--- a/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3
+++ b/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RETRY_AFTER 3 "August 06, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RETRY_AFTER 3 "August 06, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
index a4d7adca2..c17ed75be 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3 b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
index fb4bb96c3..3910cce0f 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
index 74495e2a9..33c976a45 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
index 33dbee094..0b92c51a7 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
diff --git a/docs/libcurl/opts/CURLINFO_SCHEME.3 b/docs/libcurl/opts/CURLINFO_SCHEME.3
index 15fc34081..a96e27399 100644
--- a/docs/libcurl/opts/CURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/CURLINFO_SCHEME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
index df0fb2cf5..153b280d8 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
index f55f4c793..694f1ad50 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
index 91b329c57..7a0ebea8b 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
index a1dae53e5..089edfb0d 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
index 47ccef022..6ccb045f5 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_DOWNLOAD \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
index 36aae6aa2..e11d7f25d 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_DOWNLOAD_T \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
index 67547759f..aaadcf472 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_UPLOAD \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
index 4164cbe36..1611431aa 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_UPLOAD_T \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3 b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
index 9ea8ac7b8..2561e5188 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
index b07e59d9f..3a66feb7b 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
index dfcbf0875..b23a54d32 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_STARTTRANSFER_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
index f2cca5fee..082d39bb4 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_STARTTRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3 b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
index da7996426..6ad3956a3 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TLS_SESSION \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3 b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
index 37720ba06..24e166243 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
index 885992b08..18696f7cb 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TOTAL_TIME 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TOTAL_TIME \- get total time of previous transfer
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
index dae059a71..226760ac4 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TOTAL_TIME_T 3 "August 26, 2019" "libcurl 7.66.0" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME_T 3 "August 26, 2019" "libcurl 7.67.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index 957ba3980..b12a6eab7 100644
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
index 9fdb8fd11..2dc7608cb 100644
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
index bd830137e..c6fb6c359 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAXCONNECTS \- set size of connection cache
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.3 b/docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.3
new file mode 100644
index 000000000..99cd86c36
--- /dev/null
+++ b/docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.3
@@ -0,0 +1,56 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLMOPT_MAX_CONCURRENT_STREAMS 3 "06 Nov 2019" "libcurl 7.67.0" "curl_multi_setopt options"
+.SH NAME
+CURLMOPT_MAX_CONCURRENT_STREAMS \- set max concurrent streams for http2
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_CONCURRENT_STREAMS,
+ long max);
+.fi
+.SH DESCRIPTION
+Pass a long indicating the \fBmax\fP. The set number will be used as the
+maximum number of concurrent streams for a connections that libcurl should
+support on connections done using HTTP/2.
+
+Valid values range from 1 to 2147483647 (2^31 - 1) and defaults to 100. The
+value passed here would be honoured based on other system resources
+properties.
+.SH DEFAULT
+100
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+ CURLM *m = curl_multi_init();
+ /* max concurrent streams 200 */
+ curl_multi_setopt(m, CURLMOPT_MAX_CONCURRENT_STREAMS, 200L);
+.fi
+.SH AVAILABILITY
+Added in 7.67.0
+.SH RETURN VALUE
+Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR CURLOPT_MAXCONNECTS "(3), " CURLMOPT_MAXCONNECTS "(3), "
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
index 2e2045189..b6250dd55 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
index 788e24d04..ddb00fb49 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
index e3e1debca..1a7e05d4d 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
index 0b5fc1e39..e3427ac1a 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
index 599bf927f..22076f55d 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
index 6113e7c07..fc4267598 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3 b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
index b55d41c9c..04935c6d9 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PUSHDATA \- pointer to pass to push callback
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
index bec3c270f..9a9ce545f 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3 b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
index dc6bc01e9..d8be37ba7 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
index 21429cd5a..08c006fa0 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3 b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
index b98c37c61..f62320b54 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
index 46e7619ef..848d335e6 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.66.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.67.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values
diff --git a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3 b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
index b94156ede..a4e909033 100644
--- a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
index 02348b957..9b4f2fd23 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3 b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
index cf877ab2c..7c21d60a9 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3 b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
index b91499730..300b2e6e0 100644
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
+++ b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ADDRESS_SCOPE \- set scope id for IPv6 addresses
diff --git a/docs/libcurl/opts/CURLOPT_ALTSVC.3 b/docs/libcurl/opts/CURLOPT_ALTSVC.3
index fe819f6f9..a21628d67 100644
--- a/docs/libcurl/opts/CURLOPT_ALTSVC.3
+++ b/docs/libcurl/opts/CURLOPT_ALTSVC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ALTSVC 3 "August 14, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ALTSVC 3 "August 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ALTSVC \- set alt-svc cache file name
diff --git a/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3 b/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
index 425bd647a..a27267a2b 100644
--- a/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
+++ b/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ALTSVC_CTRL 3 "August 13, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ALTSVC_CTRL 3 "August 13, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ALTSVC_CTRL \- control alt-svc behavior
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.3 b/docs/libcurl/opts/CURLOPT_APPEND.3
index 8169f2d7e..8003fe19c 100644
--- a/docs/libcurl/opts/CURLOPT_APPEND.3
+++ b/docs/libcurl/opts/CURLOPT_APPEND.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_APPEND \- enable appending to the remote file
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3 b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
index 463a39672..48b703681 100644
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
+++ b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_AUTOREFERER \- automatically update the referer header
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
index 76fc15634..dcde4a8ed 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_BUFFERSIZE \- set preferred receive buffer size
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.3 b/docs/libcurl/opts/CURLOPT_CAINFO.3
index 755149571..5cf18123f 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index 119a2e34b..4d60c6bb9 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CAPATH \- specify directory holding CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.3 b/docs/libcurl/opts/CURLOPT_CERTINFO.3
index b01d87b78..0d3b3dc15 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CERTINFO \- request SSL certificate information
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
index 978ab0bc2..7f17c265d 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3 b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
index a07247c14..5dfb8c740 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
index 7af238f38..ea83c701b 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
index 90a676843..c336a0291 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
index eca5bb13b..a5cc5d88e 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
index 72696a8ff..a0745e896 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
index 3e20d0783..beb606542 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3 b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
index ca9b8de35..ae066ec30 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECT_ONLY \- stop when connected to target server
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3 b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
index b670aa679..8c27c9bfd 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index e135988b9..b7c4b105e 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
index 716477669..a71a2b683 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
index a50c3849a..42af18cf1 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.3 b/docs/libcurl/opts/CURLOPT_COOKIE.3
index e5dc51b9e..5393d1ccb 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIE \- set contents of HTTP Cookie header
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3 b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
index 4c9f88337..0897fb21f 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIEFILE \- file name to read cookies from
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3 b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
index b4e3f2467..acbdea11e 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIEJAR \- file name to store cookies to
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.3 b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
index ff67a4107..2f5198c33 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3 b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
index 29bdab844..958214108 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIESESSION \- start a new cookie session
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
index b90afab7d..55522298a 100644
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.3 b/docs/libcurl/opts/CURLOPT_CRLF.3
index e9013be32..b32b0a5e5 100644
--- a/docs/libcurl/opts/CURLOPT_CRLF.3
+++ b/docs/libcurl/opts/CURLOPT_CRLF.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CRLF \- enable/disable CRLF conversion
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_CRLFILE.3
index bb582f5cc..de9d4373a 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CRLFILE \- specify a Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_CURLU.3 b/docs/libcurl/opts/CURLOPT_CURLU.3
index 007f012d1..9acead7c6 100644
--- a/docs/libcurl/opts/CURLOPT_CURLU.3
+++ b/docs/libcurl/opts/CURLOPT_CURLU.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CURLU 3 "January 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CURLU 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CURLU \- set URL with CURLU *
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index 1a8aa1d5b..1822c3152 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CUSTOMREQUEST \- custom string for request
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3 b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
index 8e5379fb5..df833ba05 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEBUGDATA \- custom pointer for debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3 b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
index 4c90f9f51..573197b2b 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEBUGFUNCTION \- debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3 b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
index 6c3b1adb6..2984c7e4a 100644
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3 b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
index 03d975994..d4b6b6d58 100644
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
+++ b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
diff --git a/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3 b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
index 2aef7079a..de6ff9621 100644
--- a/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
+++ b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
index 044a3b740..b0edaad16 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
index e970b6381..dc727edf0 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_INTERFACE \- set interface to speak DNS over
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
index 0c86ef831..699695ddc 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
index 742cef5eb..db00f7f4d 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3 b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
index 15df63b29..6fb7876c4 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_SERVERS \- set preferred DNS servers
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3 b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
index 6081c7750..120dd761f 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3 b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
index 43d0e66d9..e2391fc50 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
diff --git a/docs/libcurl/opts/CURLOPT_DOH_URL.3 b/docs/libcurl/opts/CURLOPT_DOH_URL.3
index 1fe5e22a9..aed70fb36 100644
--- a/docs/libcurl/opts/CURLOPT_DOH_URL.3
+++ b/docs/libcurl/opts/CURLOPT_DOH_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index 8e6c6ed48..7eab22933 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_EGDSOCKET \- set EGD socket path
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index 0273cabe3..c0973769d 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ERRORBUFFER \- set error buffer for error messages
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
index 4c755afe7..cfdff2590 100644
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index 72b4a378c..b89d36944 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.3 b/docs/libcurl/opts/CURLOPT_FILETIME.3
index 5ce110cbe..c4f5350ef 100644
--- a/docs/libcurl/opts/CURLOPT_FILETIME.3
+++ b/docs/libcurl/opts/CURLOPT_FILETIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FILETIME \- get the modification time of the remote resource
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
index 119acffd1..deecdce36 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
index 772157826..8d1709b66 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3 b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
index 68eeecbab..5556a49d3 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FOLLOWLOCATION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FOLLOWLOCATION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3 b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
index 262ca893a..88d2c1c37 100644
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
+++ b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FORBID_REUSE \- make connection get closed at once after use
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3 b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
index 76b4c86dc..c9291a778 100644
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
+++ b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FRESH_CONNECT \- force a new connection to be used
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.3 b/docs/libcurl/opts/CURLOPT_FTPPORT.3
index 6c6426e6c..072761aad 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.3
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTPPORT \- make FTP transfer active
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3 b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
index c123b28b2..4f2301de7 100644
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3 b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
index 4dbf50b5f..55621d7ea 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_ACCOUNT \- set account info for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3 b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
index 7e8ea1160..472a37415 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3 b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
index 4be48b503..7de48bb93 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3 b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
index c918d32ce..c3fd8214e 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
index 82564a682..d9c13f379 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3 b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
index 5a280a799..28f614e04 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3 b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
index 8ff3d5cdd..fe03c5b32 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
index 2780560ce..55b61f685 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
index 0548b7223..fb4a57955 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
index 549a7acaf..795125022 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_PRET \- enable the PRET command
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3 b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
index 07c2b99f7..42c3edd3f 100644
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
+++ b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation
diff --git a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
index 2568afa37..47d02e672 100644
--- a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs
diff --git a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3 b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
index 62df5fcc5..a092626d1 100644
--- a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.3 b/docs/libcurl/opts/CURLOPT_HEADER.3
index 929d34a6b..cca9d231b 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADER \- pass headers to the data stream
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.3 b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
index 26062a9e2..fcdc26820 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADERDATA \- pointer to pass to header callback
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
index f4afcaaa1..60c6577b7 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADERFUNCTION 3 "August 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERFUNCTION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADERFUNCTION \- callback that receives header data
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.3 b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
index 40127263d..9efb17b28 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADEROPT 3 "July 03, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADEROPT 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADEROPT \- set how to send HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3 b/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
index e10475777..28393b5ab 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP09_ALLOWED 3 "August 05, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP09_ALLOWED 3 "August 05, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP09 \- allow HTTP/0.9 response
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
index 5daa2523a..3e07980dd 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3 b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
index 97199167b..3d16dd6e7 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3
index 8b032e35d..7238017f1 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPGET \- ask for an HTTP GET request
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3 b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
index 7b702f410..89b09edab 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPHEADER \- set custom HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.3 b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
index 530c17ae9..4c306cfda 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPPOST \- specify the multipart formpost content
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3 b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
index 7192b863d..a1ed04a6d 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
index cbfb11ac3..b21ab4c41 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
index 284f9e6ac..f88850333 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3 b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
index 28395daea..e9c948f30 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_VERSION 3 "August 09, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_VERSION 3 "September 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
@@ -63,7 +63,7 @@ TLS handshake. (Added in 7.49.0)
directly to server given in the URL. Note that this cannot gracefully
downgrade to earlier HTTP version if the server doesn't support HTTP/3.
-For more reliably upgrading to HTTP/3, set the prefered version to something
+For more reliably upgrading to HTTP/3, set the preferred version to something
lower and let the server announce its HTTP/3 support via Alt-Svc:. See
\fICURLOPT_ALTSVC(3)\fP.
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
index 68be66452..26bd100b4 100644
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
+++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
index 2d9a51d6d..2a2d1a21e 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INFILESIZE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
index e73e78f6d..e6b65223b 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_INTERFACE.3
index 36e51e02b..bc86b98e3 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERFACE \- source interface for outgoing traffic
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
index 50ca0b02d..8c59cc886 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
index 73b6d5c39..601836725 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3 b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
index 8fedf2a31..9cfc97162 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3 b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
index db0108fcf..c0dc8565b 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IOCTLFUNCTION \- callback for I/O operations
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3 b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
index 94591c30a..6b12e8206 100644
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IPRESOLVE \- specify which IP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3 b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
index 98562ff10..70925f8a8 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ISSUERCERT \- issuer SSL certificate filename
diff --git a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3 b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
index 914d581c6..0561e77a5 100644
--- a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
+++ b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
index 3fee45eff..b63d1d076 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KEYPASSWD \- set passphrase to private key
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3 b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
index a7ebf578c..1286d6391 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KRBLEVEL \- set FTP kerberos security level
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.3 b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
index d8adb3f43..fe2dbf46c 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORT 3 "January 31, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORT 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOCALPORT \- set local port number to use for socket
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3 b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
index 4e1c32018..f13e0fec1 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORTRANGE 3 "January 31, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORTRANGE 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOCALPORTRANGE \- number of additional local ports to try
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
index c69d2b34f..46cc892b9 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOGIN_OPTIONS \- set login options
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
index f03ca8c0d..144a01f5a 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
index 795aba7a4..0b30ebe88 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOW_SPEED_TIME \- set low speed limit time period
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3 b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
index 981e59071..1f382ccc2 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_AUTH \- SMTP authentication address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3 b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
index a682b4ce0..7b4bff72c 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_FROM \- SMTP sender address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3 b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
index 651a36661..ac4bcbe87 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_RCPT \- list of SMTP mail recipients
diff --git a/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3 b/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
index d7f298e3a..18845135b 100644
--- a/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
+++ b/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXAGE_CONN \- max idle time allowed for reusing a connection
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
index 060a3bd29..31d224e95 100644
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXCONNECTS \- maximum connection cache size
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
index 6095320df..83cc15b74 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXFILESIZE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
index 1bcf2cd34..db24c5b86 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3 b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
index 2c18fedac..2d9188db7 100644
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXREDIRS \- maximum number of redirects allowed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
index 32db57573..d7c75a4a6 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
index ece0e217a..5201a6e79 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed
diff --git a/docs/libcurl/opts/CURLOPT_MIMEPOST.3 b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
index 102e47797..9d2466b42 100644
--- a/docs/libcurl/opts/CURLOPT_MIMEPOST.3
+++ b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MIMEPOST \- set post/send data from mime structure
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.3 b/docs/libcurl/opts/CURLOPT_NETRC.3
index 42bc743eb..c6c3122e2 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NETRC \- request that .netrc is used
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index ba3d3292d..7b80c0394 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NETRC_FILE \- file name to read .netrc info from
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
index 702af6d73..5c0eaadd8 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
index 88d2b8b10..b12132376 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.3 b/docs/libcurl/opts/CURLOPT_NOBODY.3
index a15d6e02a..4776ff8b1 100644
--- a/docs/libcurl/opts/CURLOPT_NOBODY.3
+++ b/docs/libcurl/opts/CURLOPT_NOBODY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOBODY \- do the download request without getting the body
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3 b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
index c6bcbe29e..9533bc8d6 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOPROGRESS \- switch off the progress meter
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.3 b/docs/libcurl/opts/CURLOPT_NOPROXY.3
index 719f32367..460550a9f 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOPROXY \- disable proxy use for specific hosts
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3 b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
index f93af34ab..05092508f 100644
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
+++ b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOSIGNAL \- skip all signal handling
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
index fbbaa4f3d..d7b4c9af8 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
index 56e8f00ff..acb38f31f 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PASSWORD.3
index 9a8caf237..8fe212f42 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PASSWORD \- password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3 b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
index e367aa1df..5b0574859 100644
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
+++ b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index af7d1e7e0..93836f312 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PINNEDPUBLICKEY \- set pinned public key
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3 b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
index 49a97dade..4dc706e1f 100644
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
+++ b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing
diff --git a/docs/libcurl/opts/CURLOPT_PORT.3 b/docs/libcurl/opts/CURLOPT_PORT.3
index af8c33965..1285bf5a1 100644
--- a/docs/libcurl/opts/CURLOPT_PORT.3
+++ b/docs/libcurl/opts/CURLOPT_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PORT \- set remote port number to work with
diff --git a/docs/libcurl/opts/CURLOPT_POST.3 b/docs/libcurl/opts/CURLOPT_POST.3
index fefa9b1da..8013ee516 100644
--- a/docs/libcurl/opts/CURLOPT_POST.3
+++ b/docs/libcurl/opts/CURLOPT_POST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POST 3 "July 22, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POST 3 "July 22, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POST \- request an HTTP POST
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
index 641d7dd10..168c3e832 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDS \- specify data to POST to server
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
index 78eea4410..83b09e33f 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDSIZE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
index d30e5d40e..57bc47c36 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3 b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
index 69bbd0c80..8aec0399f 100644
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.3 b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
index 0715e2035..c29d85e5a 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index 51eda9cb2..19f38f0b8 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PREQUOTE \- commands to run before an FTP transfer
diff --git a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3 b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
index 1dfe4fe10..838d2d895 100644
--- a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PRE_PROXY \- set pre-proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.3 b/docs/libcurl/opts/CURLOPT_PRIVATE.3
index eb9e6ea8c..698175a74 100644
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.3
+++ b/docs/libcurl/opts/CURLOPT_PRIVATE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PRIVATE \- store a private pointer
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3 b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
index 500b24df9..27b211c9c 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3 b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
index c619e0aa1..10ad5af94 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROGRESSFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
index eecd13a5f..743a2721a 100644
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROTOCOLS \- set allowed protocols
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.3 b/docs/libcurl/opts/CURLOPT_PROXY.3
index 7e63f575f..0e68cdf41 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY \- set proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3 b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
index d2d82865e..f8d287d33 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3 b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
index 2ae779085..3d5897544 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
index cbef30503..4543e9adf 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYPASSWORD \- password to use with proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
index 4cc189576..73c882d8b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYPORT \- port number the proxy listens on
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
index d1fab6c37..cd6ad8c83 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYTYPE \- proxy protocol type
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
index 71fec2916..8d76597d0 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
index a429e22d0..c2c3dd681 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
index 0b218b973..fc28516c5 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
index d6232361b..5535dea1b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
index 95d9f3b15..75637a6f8 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
index 8c1e9d664..58414a20c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
index a075a460b..224225d31 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
index 435c084c5..754a0ca18 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
index 16484475a..750523a06 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
index eff8cfd5c..25aeb67a3 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
index 19f06fb90..48fc1604b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
index e2306e767..a477de675 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
index 8c74c9f7a..3d0153b25 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLVERSION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLVERSION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
index af988088e..520732ea6 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
index b3f9a41fc..fbe58d6a0 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
index aa393a71c..3e4f0460e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
index 9d8c5222b..e048aae98 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
index 5d69d561a..89ffc13a6 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
index d3448b168..33b728ace 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
index d1a43b28c..34fbe9801 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
index 1c5720da3..93d7f8d4a 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
index 6726022f5..9e074a3dc 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
diff --git a/docs/libcurl/opts/CURLOPT_PUT.3 b/docs/libcurl/opts/CURLOPT_PUT.3
index 2283841c3..825edd7c0 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.3
+++ b/docs/libcurl/opts/CURLOPT_PUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PUT \- make an HTTP PUT request
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.3 b/docs/libcurl/opts/CURLOPT_QUOTE.3
index 341d1fd93..78869c405 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_QUOTE \- (S)FTP commands to run before transfer
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index 6f78448dd..c54f6024d 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RANDOM_FILE \- specify a source for random data
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.3 b/docs/libcurl/opts/CURLOPT_RANGE.3
index 0406c2833..54c98cda7 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RANGE 3 "July 17, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RANGE 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RANGE \- set byte range to request
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.3 b/docs/libcurl/opts/CURLOPT_READDATA.3
index a0747eff8..88bf8d385 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.3
+++ b/docs/libcurl/opts/CURLOPT_READDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_READDATA \- custom pointer passed to the read callback
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.3 b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
index 1994ff9d9..6582b80db 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READFUNCTION 3 "August 12, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_READFUNCTION 3 "August 12, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_READFUNCTION \- read callback for data uploads
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
index 3b757caa1..6d9af7012 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REDIR_PROTOCOLS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_REDIR_PROTOCOLS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.3 b/docs/libcurl/opts/CURLOPT_REFERER.3
index d59ee3b08..01a2d5f79 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.3
+++ b/docs/libcurl/opts/CURLOPT_REFERER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REFERER \- set the HTTP referer header
diff --git a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3 b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
index d743f6a2e..f8293cd3f 100644
--- a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
+++ b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REQUEST_TARGET \- specify an alternative target for this request
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.3 b/docs/libcurl/opts/CURLOPT_RESOLVE.3
index d6cfc9a71..2049a9224 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVE \- provide custom host name to IP address resolves
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
index 071beaf41..162187f5b 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
index 6e5274ce9..79d042207 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
index cebe4f738..e52e5238b 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESUME_FROM \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
index 2b7c2b489..d40f981db 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
index 1ae220add..e19440c14 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3 b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
index 36c042d9b..8d8565a03 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_REQUEST \- specify RTSP request
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
index 5d0956fcd..8526d93cb 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
index 553a989e7..d2ba95650 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_SESSION_ID \- set RTSP session ID
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3 b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
index bb2abf562..c276242f0 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3 b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
index fe1d10ff3..60c776bc8 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.3 b/docs/libcurl/opts/CURLOPT_SASL_IR.3
index 1256f5bdb..6f09c4d9a 100644
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.3
+++ b/docs/libcurl/opts/CURLOPT_SASL_IR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SASL_IR \- enable sending initial response in first packet
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.3 b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
index efd6b45d7..8bf2ddd22 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKDATA 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKDATA 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SEEKDATA \- custom pointer passed to the seek callback
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
index ecec26dc1..62cf7cdbd 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index 5ab8819dd..e1e4d5563 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SERVICE_NAME \- authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.3 b/docs/libcurl/opts/CURLOPT_SHARE.3
index 32bdb3cce..3d2ba331d 100644
--- a/docs/libcurl/opts/CURLOPT_SHARE.3
+++ b/docs/libcurl/opts/CURLOPT_SHARE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SHARE \- specify share handle to use
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
index f06df5e2b..bff5f28f6 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
index d2537aaf0..44cc5600e 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
index b5a8cf381..d197bd91d 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
index 5968ac6bf..9ca4271ed 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
index c54c2c20d..beab699b2 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3 b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
index 5b26f02be..7f726efdd 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP
diff --git a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3 b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
index fa9d82426..893922c09 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_COMPRESSION \- enables compression / decompression of SSH traffic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
index 97d3e6d10..86ffb35a1 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
index cf1aa37fa..545007f91 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
index 8d5bde0cd..cda31e36f 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3 b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
index 77845388b..06afe8c0e 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
index e9b6b5c7f..953a3c057 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
index ec4ae399b..b4c12f27d 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_SSLCERT.3
index fbccdfa97..a3e293dfa 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLCERT \- set SSL client certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index 1603884dd..95f20a358 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
index 46ebefec4..2ca6da47f 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLENGINE \- set SSL engine identifier
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
index 2fc37c528..bc64851b0 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_SSLKEY.3
index cec31ff7f..9d2fb138e 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
index 993b8aeb7..e4b3ae332 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLKEYTYPE \- set type of the private key file
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
index 553f2b64e..5cce52a07 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLVERSION 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLVERSION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLVERSION \- set preferred TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
index e88eacc7d..848dd7f49 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
index f7156b884..5e9c125c9 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
index fd8b8d0b4..fade26edb 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL or mbedTLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
index 58828a8b8..8f55d8916 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_ENABLE_ALPN \- enable ALPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
index 048d03b67..1fe88a8ce 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_ENABLE_NPN \- enable NPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3 b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
index 5b6736dc2..60c7baede 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_FALSESTART \- enable TLS false start
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
index dded0575b..d6445fde5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_OPTIONS \- set SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3 b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
index a4318e567..20b04a57b 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
index 8c016e595..026fcf8c8 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
index 20c33b946..0aa1f28f1 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
index 186dfc970..344ce8e95 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.3 b/docs/libcurl/opts/CURLOPT_STDERR.3
index ae0d19680..aebf6858d 100644
--- a/docs/libcurl/opts/CURLOPT_STDERR.3
+++ b/docs/libcurl/opts/CURLOPT_STDERR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STDERR \- redirect stderr to another stream
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
index 2083b0112..47949b2ac 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
index caf635f31..fa2d943a7 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
index 7c4a87e2f..699304bf2 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_WEIGHT \- set numerical stream weight
diff --git a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3 b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
index 459a88d23..d7d460767 100644
--- a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
+++ b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3 b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
index ad2ebd364..eeb5f06a5 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
index 9390d1c98..5f2a16d88 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
index 82ecf425d..0d49cd03a 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
index 8eb8b4e86..0034c3609 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3 b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
index 9f52b262c..e1f22e2ca 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3 b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
index a23b1b56f..f5309db9f 100644
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TELNETOPTIONS \- custom telnet options
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3 b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
index 8de6d7823..cdc5a0803 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TFTP_BLKSIZE \- TFTP block size
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
index 781e3a346..d814be4ba 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests.
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3 b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
index 62f105949..05976eb3a 100644
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
+++ b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMECONDITION \- select condition for a time request
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
index 7f8a32f77..0d33da863 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT 3 "October 15, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEOUT \- set maximum time the request is allowed to take
@@ -31,9 +31,9 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout);
.SH DESCRIPTION
Pass a long as parameter containing \fItimeout\fP - the maximum time in
seconds that you allow the libcurl transfer operation to take. Normally, name
-lookups can take a considerable time and limiting operations to less than a
-few minutes risk aborting perfectly normal operations. This option may cause
-libcurl to use the SIGALRM signal to timeout system calls.
+lookups can take a considerable time and limiting operations risk aborting
+perfectly normal operations. This option may cause libcurl to use the SIGALRM
+signal to timeout system calls.
In unix-like systems, this might cause signals to be used unless
\fICURLOPT_NOSIGNAL(3)\fP is set.
@@ -41,11 +41,12 @@ In unix-like systems, this might cause signals to be used unless
If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the
value set last will be used.
-Since this puts a hard limit for how long time a request is allowed to take,
-it has limited use in dynamic use cases with varying transfer times. You are
-then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP,
-\fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to
-implement your own timeout logic.
+Since this option puts a hard limit on how long time a request is allowed to
+take, it has limited use in dynamic use cases with varying transfer times. That
+is especially apparent when using the multi interface, which may queue the
+transfer, and that time is included. You are advised to explore
+\fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using
+\fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic.
.SH DEFAULT
Default timeout is 0 (zero) which means it never times out during transfer.
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
index 6371f72ff..d5de79b93 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
index 74b24f20b..61542bfc0 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEVALUE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
index 43dd3b850..61de7dd8a 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
index f0db08893..0561d9d95 100644
--- a/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
+++ b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLS13_CIPHERS 3 "May 27, 2019" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index 276247229..005e5e915 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
index 766482d0b..aa1ee1604 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
index 8ff70be1f..764603525 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TRAILERDATA.3 b/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
index e248473af..46c46653a 100644
--- a/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_TRAILERDATA.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,21 +20,21 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRAILERDATA 3 "December 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TRAILERDATA 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
-.SH NAME:
+.SH NAME
CURLOPT_TRAILERDATA \- Custom pointer passed to the trailing headers callback
-.SH SYNOPSIS:
+.SH SYNOPSIS
#include <curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERDATA, void *userdata);
.SH DESCRIPTION:
Data pointer to be passed to the HTTP trailer callback function.
-.SH DEFAULT:
+.SH DEFAULT
NULL
-.SH PROTOCOLS:
+.SH PROTOCOLS
HTTP
-.SH EXAMPLE:
+.SH EXAMPLE
.nf
/* Assuming we have a CURL handle in the hndl variable. */
@@ -44,7 +44,7 @@ curl_easy_setopt(hndl, CURLOPT_TRAILERDATA, &data);
.fi
A more complete example can be found in examples/http_trailers.html
-.SH AVAILABILITY:
+.SH AVAILABILITY
This option was added in curl 7.64.0 and is present if HTTP support is enabled
.SH "SEE ALSO"
.BR CURLOPT_TRAILERFUNCTION "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
index 3a4c4c028..b4535f406 100644
--- a/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,17 +20,17 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRAILERFUNCTION 3 "December 14, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TRAILERFUNCTION 3 "October 31, 2019" "libcurl 7.67.0" "curl_easy_setopt options"
-.SH NAME:
+.SH NAME
CURLOPT_TRAILERFUNCTION \- Set callback for sending trailing headers
-.SH SYNOPSIS:
+.SH SYNOPSIS
#include <curl.h>
int curl_trailer_callback(struct curl_slist ** list, void *userdata);
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERFUNCTION, curl_trailer_callback *func);
-.SH DESCRIPTION:
+.SH DESCRIPTION
Pass a pointer to a callback function.
This callback function will be called once right before sending the final
@@ -57,11 +57,11 @@ trailers or to abort the request.
If you set this option to NULL, then the transfer proceeds as usual
without any interruptions.
-.SH DEFAULT:
+.SH DEFAULT
NULL
-.SH PROTOCOLS:
+.SH PROTOCOLS
HTTP
-.SH EXAMPLE:
+.SH EXAMPLE
#include <curl/curl.h>
static int trailer_cb(struct curl_slist **tr, void *data)
@@ -96,7 +96,7 @@ if(curl) {
curl_slist_free_all(headers);
}
-.SH AVAILABILITY:
+.SH AVAILABILITY
This option was added in curl 7.64.0 and is present if HTTP support is enabled
.SH "SEE ALSO"
.BR CURLOPT_TRAILERDATA "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3 b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
index 0f7e8f20b..3f0f97670 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3 b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
index 615c1b20a..6cb2d3b6f 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3 b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
index 1cfcef0b2..7a61b8299 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3 b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
index 3751b6967..493be9ada 100644
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.3 b/docs/libcurl/opts/CURLOPT_UPLOAD.3
index ed1268c25..f9b42fe3c 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UPLOAD \- enable data upload
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
index 88f1e5552..dc39eb578 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index 17af07093..809769072 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_URL \- provide the URL to use in the request
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index 6c53c9b19..edaa01bec 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.3
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERAGENT \- set HTTP user-agent header
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.3 b/docs/libcurl/opts/CURLOPT_USERNAME.3
index 036e1d860..532573106 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERNAME \- user name to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.3 b/docs/libcurl/opts/CURLOPT_USERPWD.3
index 50a2f7a52..2b3b92d5c 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERPWD \- user name and password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.3 b/docs/libcurl/opts/CURLOPT_USE_SSL.3
index e248dd618..c72812b5c 100644
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.3
+++ b/docs/libcurl/opts/CURLOPT_USE_SSL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USE_SSL \- request using SSL / TLS for the transfer
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.3 b/docs/libcurl/opts/CURLOPT_VERBOSE.3
index 70f2f058a..8063eb2cb 100644
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.3
+++ b/docs/libcurl/opts/CURLOPT_VERBOSE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_VERBOSE \- set verbose mode on/off
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3 b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
index 5717d13ac..280d6eaec 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.3 b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
index 8e9cc5f2b..4a3491ab1 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WRITEDATA \- custom pointer passed to the write callback
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
index 71afb185c..e9ca2e496 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WRITEFUNCTION \- set callback for writing received data
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3 b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
index 23eb16fbc..c7dfbe24e 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
index 948248007..b0ec54fb9 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XFERINFOFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3 b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
index cad0417e7..09e5315dc 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.66.0" "curl_easy_setopt options"
+.TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.67.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
diff --git a/docs/libcurl/opts/Makefile.inc b/docs/libcurl/opts/Makefile.inc
index b5f62a159..93c4357d2 100644
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@ -68,6 +68,7 @@ man_MANS = \
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \
CURLMOPT_MAXCONNECTS.3 \
+ CURLMOPT_MAX_CONCURRENT_STREAMS.3 \
CURLMOPT_MAX_HOST_CONNECTIONS.3 \
CURLMOPT_MAX_PIPELINE_LENGTH.3 \
CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \
@@ -97,7 +98,6 @@ man_MANS = \
CURLOPT_CHUNK_END_FUNCTION.3 \
CURLOPT_CLOSESOCKETDATA.3 \
CURLOPT_CLOSESOCKETFUNCTION.3 \
- CURLOPT_UPKEEP_INTERVAL_MS.3 \
CURLOPT_CONNECTTIMEOUT.3 \
CURLOPT_CONNECTTIMEOUT_MS.3 \
CURLOPT_CONNECT_ONLY.3 \
@@ -113,8 +113,8 @@ man_MANS = \
CURLOPT_COPYPOSTFIELDS.3 \
CURLOPT_CRLF.3 \
CURLOPT_CRLFILE.3 \
- CURLOPT_CUSTOMREQUEST.3 \
CURLOPT_CURLU.3 \
+ CURLOPT_CUSTOMREQUEST.3 \
CURLOPT_DEBUGDATA.3 \
CURLOPT_DEBUGFUNCTION.3 \
CURLOPT_DEFAULT_PROTOCOL.3 \
@@ -168,8 +168,6 @@ man_MANS = \
CURLOPT_HTTP_TRANSFER_DECODING.3 \
CURLOPT_HTTP_VERSION.3 \
CURLOPT_IGNORE_CONTENT_LENGTH.3 \
- CURLOPT_TRAILERDATA.3 \
- CURLOPT_TRAILERFUNCTION.3 \
CURLOPT_INFILESIZE.3 \
CURLOPT_INFILESIZE_LARGE.3 \
CURLOPT_INTERFACE.3 \
@@ -332,10 +330,13 @@ man_MANS = \
CURLOPT_TLSAUTH_PASSWORD.3 \
CURLOPT_TLSAUTH_TYPE.3 \
CURLOPT_TLSAUTH_USERNAME.3 \
+ CURLOPT_TRAILERDATA.3 \
+ CURLOPT_TRAILERFUNCTION.3 \
CURLOPT_TRANSFERTEXT.3 \
CURLOPT_TRANSFER_ENCODING.3 \
CURLOPT_UNIX_SOCKET_PATH.3 \
CURLOPT_UNRESTRICTED_AUTH.3 \
+ CURLOPT_UPKEEP_INTERVAL_MS.3 \
CURLOPT_UPLOAD.3 \
CURLOPT_UPLOAD_BUFFERSIZE.3 \
CURLOPT_URL.3 \
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 9daad949f..bf23b4488 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -319,6 +319,7 @@ CURLMOPT_MAXCONNECTS 7.16.3
CURLMOPT_MAX_HOST_CONNECTIONS 7.30.0
CURLMOPT_MAX_PIPELINE_LENGTH 7.30.0
CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0
+CURLMOPT_MAX_CONCURRENT_STREAMS 7.67.0
CURLMOPT_PIPELINING 7.16.0
CURLMOPT_PIPELINING_SERVER_BL 7.30.0
CURLMOPT_PIPELINING_SITE_BL 7.30.0
@@ -779,6 +780,7 @@ CURLU_DISALLOW_USER 7.62.0
CURLU_GUESS_SCHEME 7.62.0
CURLU_NON_SUPPORT_SCHEME 7.62.0
CURLU_NO_DEFAULT_PORT 7.62.0
+CURLU_NO_AUTHORITY 7.67.0
CURLU_PATH_AS_IS 7.62.0
CURLU_URLDECODE 7.62.0
CURLU_URLENCODE 7.62.0
@@ -925,6 +927,7 @@ CURL_VERSION_BROTLI 7.57.0
CURL_VERSION_CONV 7.15.4
CURL_VERSION_CURLDEBUG 7.19.6
CURL_VERSION_DEBUG 7.10.6
+CURL_VERSION_ESNI 7.67.0
CURL_VERSION_GSSAPI 7.38.0
CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0
CURL_VERSION_HTTP2 7.33.0
diff --git a/include/curl/curl.h b/include/curl/curl.h
index ff0c77496..dcbe8995c 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -2800,6 +2800,8 @@ typedef struct {
#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */
#define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */
+#define CURL_VERSION_ESNI (1<<26) /* ESNI support */
+
/*
* NAME curl_version_info()
*
diff --git a/include/curl/curlver.h b/include/curl/curlver.h
index f537b9205..cab09eebd 100644
--- a/include/curl/curlver.h
+++ b/include/curl/curlver.h
@@ -30,12 +30,12 @@
/* This is the version number of the libcurl package from which this header
file origins: */
-#define LIBCURL_VERSION "7.66.0"
+#define LIBCURL_VERSION "7.67.0"
/* The numeric version number is also available "in parts" by using these
defines: */
#define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 66
+#define LIBCURL_VERSION_MINOR 67
#define LIBCURL_VERSION_PATCH 0
/* This is the numeric version of the libcurl version number, meant for easier
@@ -57,7 +57,7 @@
CURL_VERSION_BITS() macro since curl's own configure script greps for it
and needs it to contain the full number.
*/
-#define LIBCURL_VERSION_NUM 0x074200
+#define LIBCURL_VERSION_NUM 0x074300
/*
* This is the date and time when the full source package was created. The
@@ -68,7 +68,7 @@
*
* "2007-11-23"
*/
-#define LIBCURL_TIMESTAMP "2019-09-11"
+#define LIBCURL_TIMESTAMP "2019-11-06"
#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z))
#define CURL_AT_LEAST_VERSION(x,y,z) \
diff --git a/include/curl/multi.h b/include/curl/multi.h
index 02df0f389..b39218395 100644
--- a/include/curl/multi.h
+++ b/include/curl/multi.h
@@ -396,6 +396,9 @@ typedef enum {
/* This is the argument passed to the server push callback */
CINIT(PUSHDATA, OBJECTPOINT, 15),
+ /* maximum number of concurrent streams to support on a connection */
+ CINIT(MAX_CONCURRENT_STREAMS, LONG, 16),
+
CURLMOPT_LASTENTRY /* the last unused */
} CURLMoption;
@@ -448,6 +451,9 @@ typedef int (*curl_push_callback)(CURL *parent,
struct curl_pushheaders *headers,
void *userp);
+/* value for MAXIMUM CONCURRENT STREAMS upper limit */
+#define INITIAL_MAX_CONCURRENT_STREAMS ((1U << 31) - 1)
+
#ifdef __cplusplus
} /* end of extern "C" */
#endif
diff --git a/include/curl/urlapi.h b/include/curl/urlapi.h
index 0f2f152f1..f2d06770d 100644
--- a/include/curl/urlapi.h
+++ b/include/curl/urlapi.h
@@ -77,6 +77,8 @@ typedef enum {
#define CURLU_URLENCODE (1<<7) /* URL encode on set */
#define CURLU_APPENDQUERY (1<<8) /* append a form style part */
#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */
+#define CURLU_NO_AUTHORITY (1<<10) /* Allow empty authority when the
+ scheme is unknown. */
typedef struct Curl_URL CURLU;
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index 3e3a385c5..72ef428ee 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -61,7 +61,7 @@ LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
curl_multibyte.c hostcheck.c conncache.c dotdot.c \
x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \
mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \
- doh.c urlapi.c curl_get_line.c altsvc.c
+ doh.c urlapi.c curl_get_line.c altsvc.c socketpair.c
LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \
@@ -82,7 +82,7 @@ LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \
curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \
curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \
- curl_get_line.h altsvc.h quic.h
+ curl_get_line.h altsvc.h quic.h socketpair.h
LIB_RCFILES = libcurl.rc
diff --git a/lib/Makefile.netware b/lib/Makefile.netware
index 29885a19e..a40534684 100644
--- a/lib/Makefile.netware
+++ b/lib/Makefile.netware
@@ -640,8 +640,6 @@ ifdef WITH_SSL
@echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@
@echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@
@echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBSSL 1$(DL) >> $@
- @echo $(DL)#define HAVE_LIBCRYPTO 1$(DL) >> $@
@echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@
ifdef WITH_SRP
@echo $(DL)#define USE_TLS_SRP 1$(DL) >> $@
diff --git a/lib/altsvc.c b/lib/altsvc.c
index a649fefd8..64971a9f0 100644
--- a/lib/altsvc.c
+++ b/lib/altsvc.c
@@ -54,8 +54,8 @@ static enum alpnid alpn2alpnid(char *name)
return ALPN_h1;
if(strcasecompare(name, "h2"))
return ALPN_h2;
-#if (defined(USE_QUICHE) || defined(USE_NGHTTP2)) && !defined(UNITTESTS)
- if(strcasecompare(name, "h3-22"))
+#if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS)
+ if(strcasecompare(name, "h3-23"))
return ALPN_h3;
#else
if(strcasecompare(name, "h3"))
@@ -73,8 +73,8 @@ const char *Curl_alpnid2str(enum alpnid id)
case ALPN_h2:
return "h2";
case ALPN_h3:
-#if (defined(USE_QUICHE) || defined(USE_NGHTTP2)) && !defined(UNITTESTS)
- return "h3-22";
+#if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS)
+ return "h3-23";
#else
return "h3";
#endif
@@ -442,6 +442,7 @@ CURLcode Curl_altsvc_parse(struct Curl_easy *data,
char option[32];
unsigned long num;
char *end_ptr;
+ bool quoted = FALSE;
semip++; /* pass the semicolon */
result = getalnum(&semip, option, sizeof(option));
if(result)
@@ -451,12 +452,21 @@ CURLcode Curl_altsvc_parse(struct Curl_easy *data,
if(*semip != '=')
continue;
semip++;
+ while(*semip && ISBLANK(*semip))
+ semip++;
+ if(*semip == '\"') {
+ /* quoted value */
+ semip++;
+ quoted = TRUE;
+ }
num = strtoul(semip, &end_ptr, 10);
- if(num < ULONG_MAX) {
+ if((end_ptr != semip) && num && (num < ULONG_MAX)) {
if(strcasecompare("ma", option))
maxage = num;
else if(strcasecompare("persist", option) && (num == 1))
persist = TRUE;
+ if(quoted && (*end_ptr == '\"'))
+ end_ptr++;
}
semip = end_ptr;
}
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
index 24da74885..8c552baa9 100755
--- a/lib/asyn-thread.c
+++ b/lib/asyn-thread.c
@@ -21,6 +21,7 @@
***************************************************************************/
#include "curl_setup.h"
+#include "socketpair.h"
/***********************************************************************
* Only for threaded name resolves builds
@@ -74,6 +75,7 @@
#include "inet_ntop.h"
#include "curl_threads.h"
#include "connect.h"
+#include "socketpair.h"
/* The last 3 #include files should be in this order */
#include "curl_printf.h"
#include "curl_memory.h"
@@ -163,7 +165,7 @@ struct thread_sync_data {
char *hostname; /* hostname to resolve, Curl_async.hostname
duplicate */
int port;
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
struct connectdata *conn;
curl_socket_t sock_pair[2]; /* socket pair */
#endif
@@ -201,7 +203,7 @@ void destroy_thread_sync_data(struct thread_sync_data * tsd)
if(tsd->res)
Curl_freeaddrinfo(tsd->res);
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
/*
* close one end of the socket pair (may be done in resolver thread);
* the other end (for reading) is always closed in the parent thread.
@@ -243,9 +245,9 @@ int init_thread_sync_data(struct thread_data * td,
Curl_mutex_init(tsd->mtx);
-#ifdef HAVE_SOCKETPAIR
- /* create socket pair */
- if(socketpair(AF_LOCAL, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) {
+#ifdef USE_SOCKETPAIR
+ /* create socket pair, avoid AF_LOCAL since it doesn't build on Solaris */
+ if(Curl_socketpair(AF_UNIX, SOCK_STREAM, 0, &tsd->sock_pair[0]) < 0) {
tsd->sock_pair[0] = CURL_SOCKET_BAD;
tsd->sock_pair[1] = CURL_SOCKET_BAD;
goto err_exit;
@@ -297,7 +299,7 @@ static unsigned int CURL_STDCALL getaddrinfo_thread(void *arg)
struct thread_data *td = tsd->td;
char service[12];
int rc;
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
char buf[1];
#endif
@@ -322,11 +324,11 @@ static unsigned int CURL_STDCALL getaddrinfo_thread(void *arg)
free(td);
}
else {
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
if(tsd->sock_pair[1] != CURL_SOCKET_BAD) {
/* DNS has been resolved, signal client task */
buf[0] = 1;
- if(write(tsd->sock_pair[1], buf, sizeof(buf)) < 0) {
+ if(swrite(tsd->sock_pair[1], buf, sizeof(buf)) < 0) {
/* update sock_erro to errno */
tsd->sock_error = SOCKERRNO;
}
@@ -382,7 +384,7 @@ static void destroy_async_data(struct Curl_async *async)
if(async->os_specific) {
struct thread_data *td = (struct thread_data*) async->os_specific;
int done;
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
curl_socket_t sock_rd = td->tsd.sock_pair[0];
struct connectdata *conn = td->tsd.conn;
#endif
@@ -407,7 +409,7 @@ static void destroy_async_data(struct Curl_async *async)
free(async->os_specific);
}
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
/*
* ensure CURLMOPT_SOCKETFUNCTION fires CURL_POLL_REMOVE
* before the FD is invalidated to avoid EBADF on EPOLL_CTL_DEL
@@ -647,13 +649,13 @@ int Curl_resolver_getsock(struct connectdata *conn,
timediff_t ms;
struct Curl_easy *data = conn->data;
struct resdata *reslv = (struct resdata *)data->state.resolver;
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
struct thread_data *td = (struct thread_data*)conn->async.os_specific;
#else
(void)socks;
#endif
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
if(td) {
/* return read fd to client for polling the DNS resolution status */
socks[0] = td->tsd.sock_pair[0];
@@ -673,7 +675,7 @@ int Curl_resolver_getsock(struct connectdata *conn,
else
milli = 200;
Curl_expire(data, milli, EXPIRE_ASYNC_NAME);
-#ifdef HAVE_SOCKETPAIR
+#ifdef USE_SOCKETPAIR
}
#endif
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index 965f0bab1..b2cfa8355 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -176,7 +176,7 @@ sub checkwarn {
$file = shift @ARGV;
-while(1) {
+while(defined $file) {
if($file =~ /-D(.*)/) {
$dir = $1;
diff --git a/lib/config-amigaos.h b/lib/config-amigaos.h
index 31cfc3afc..12a87cf29 100644
--- a/lib/config-amigaos.h
+++ b/lib/config-amigaos.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -36,8 +36,6 @@
#define HAVE_INTTYPES_H 1
#define HAVE_IOCTLSOCKET_CAMEL 1
#define HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1
-#define HAVE_LIBCRYPTO 1
-#define HAVE_LIBSSL 1
#define HAVE_LIBZ 1
#define HAVE_LONGLONG 1
#define HAVE_MALLOC_H 1
diff --git a/lib/config-os400.h b/lib/config-os400.h
index d14bd3391..a302828e2 100644
--- a/lib/config-os400.h
+++ b/lib/config-os400.h
@@ -160,9 +160,6 @@
/* Define if you have the <krb.h> header file. */
#undef HAVE_KRB_H
-/* Define if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
/* Define if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
@@ -175,9 +172,6 @@
/* Define if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
-/* Define if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
/* Define if you have GSS API. */
#define HAVE_GSSAPI
diff --git a/lib/config-plan9.h b/lib/config-plan9.h
index 70833a51d..64bfbdea0 100644
--- a/lib/config-plan9.h
+++ b/lib/config-plan9.h
@@ -126,7 +126,6 @@
#define HAVE_INTTYPES_H 1
#define HAVE_IOCTL 1
#define HAVE_LIBGEN_H 1
-#define HAVE_LIBSSL 1
#define HAVE_LIBZ 1
#define HAVE_LL 1
#define HAVE_LOCALE_H 1
diff --git a/lib/config-riscos.h b/lib/config-riscos.h
index 0379524fb..4af94981c 100644
--- a/lib/config-riscos.h
+++ b/lib/config-riscos.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -164,9 +164,6 @@
/* Define if you have the <krb.h> header file. */
#undef HAVE_KRB_H
-/* Define if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
/* Define if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
@@ -179,9 +176,6 @@
/* Define if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
-/* Define if you have the `ssl' library (-lssl). */
-#undef HAVE_LIBSSL
-
/* Define if you have the `ucb' library (-lucb). */
#undef HAVE_LIBUCB
diff --git a/lib/config-symbian.h b/lib/config-symbian.h
index b7b93c6f4..cb2e96d5d 100644
--- a/lib/config-symbian.h
+++ b/lib/config-symbian.h
@@ -315,9 +315,6 @@
/* Define to 1 if you have the <libssh2.h> header file. */
/*#define HAVE_LIBSSH2_H 1*/
-/* Define to 1 if you have the `ssl' library (-lssl). */
-/*#define HAVE_LIBSSL 1*/
-
/* if your compiler supports LL */
#define HAVE_LL 1
diff --git a/lib/config-tpf.h b/lib/config-tpf.h
index 778d9833f..f0c095bb0 100644
--- a/lib/config-tpf.h
+++ b/lib/config-tpf.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -277,10 +277,6 @@
/* Define to 1 if you have the `socket' library (-lsocket). */
/* #undef HAVE_LIBSOCKET */
-/* Define to 1 if you have the `ssl' library (-lssl). */
-/* #undef HAVE_LIBSSL */
-#define HAVE_LIBSSL 1
-
/* if zlib is available */
/* #undef HAVE_LIBZ */
diff --git a/lib/config-vxworks.h b/lib/config-vxworks.h
index 89af3525b..d352578e3 100644
--- a/lib/config-vxworks.h
+++ b/lib/config-vxworks.h
@@ -375,9 +375,6 @@
/* Define to 1 if you have the `libssh2_version' function. */
/* #undef HAVE_LIBSSH2_VERSION */
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#define HAVE_LIBSSL 1
-
/* if zlib is available */
#define HAVE_LIBZ 1
diff --git a/lib/conncache.c b/lib/conncache.c
index 2f4dd4bc3..57d6061fd 100644
--- a/lib/conncache.c
+++ b/lib/conncache.c
@@ -143,10 +143,8 @@ int Curl_conncache_init(struct conncache *connc, int size)
rc = Curl_hash_init(&connc->hash, size, Curl_hash_str,
Curl_str_key_compare, free_bundle_hash_entry);
- if(rc) {
- Curl_close(connc->closure_handle);
- connc->closure_handle = NULL;
- }
+ if(rc)
+ Curl_close(&connc->closure_handle);
else
connc->closure_handle->state.conn_cache = connc;
@@ -595,7 +593,7 @@ void Curl_conncache_close_all_connections(struct conncache *connc)
Curl_hostcache_clean(connc->closure_handle,
connc->closure_handle->dns.hostcache);
- Curl_close(connc->closure_handle);
+ Curl_close(&connc->closure_handle);
sigpipe_restore(&pipe_st);
}
}
diff --git a/lib/connect.c b/lib/connect.c
index 77196250d..3b88a5962 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -665,7 +665,7 @@ bool Curl_addr2string(struct sockaddr *sa, curl_socklen_t salen,
#endif
#if defined(HAVE_SYS_UN_H) && defined(AF_UNIX)
case AF_UNIX:
- if(salen > sizeof(sa_family_t)) {
+ if(salen > (curl_socklen_t)sizeof(sa_family_t)) {
su = (struct sockaddr_un*)sa;
msnprintf(addr, MAX_IPADR_LEN, "%s", su->sun_path);
}
@@ -976,6 +976,14 @@ CURLcode Curl_is_connected(struct connectdata *conn,
failf(data, "Failed to connect to %s port %ld: %s",
hostname, conn->port,
Curl_strerror(error, buffer, sizeof(buffer)));
+
+#ifdef WSAETIMEDOUT
+ if(WSAETIMEDOUT == data->state.os_errno)
+ result = CURLE_OPERATION_TIMEDOUT;
+#elif defined(ETIMEDOUT)
+ if(ETIMEDOUT == data->state.os_errno)
+ result = CURLE_OPERATION_TIMEDOUT;
+#endif
}
return result;
@@ -1508,6 +1516,11 @@ CURLcode Curl_socket(struct connectdata *conn,
/* no socket, no connection */
return CURLE_COULDNT_CONNECT;
+ if(conn->transport == TRNSPRT_QUIC) {
+ /* QUIC sockets need to be nonblocking */
+ (void)curlx_nonblock(*sockfd, TRUE);
+ }
+
#if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID)
if(conn->scope_id && (addr->family == AF_INET6)) {
struct sockaddr_in6 * const sa6 = (void *)&addr->sa_addr;
diff --git a/lib/cookie.c b/lib/cookie.c
index 53ca40237..f56bd85a9 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -1090,6 +1090,8 @@ Curl_cookie_add(struct Curl_easy *data,
*
* If 'newsession' is TRUE, discard all "session cookies" on read from file.
*
+ * Note that 'data' might be called as NULL pointer.
+ *
* Returns NULL on out of memory. Invalid cookies are ignored.
****************************************************************************/
struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
@@ -1160,6 +1162,8 @@ struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
}
c->running = TRUE; /* now, we're running */
+ if(data)
+ data->state.cookie_engine = TRUE;
return c;
@@ -1528,28 +1532,28 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere)
if(c->numcookies) {
unsigned int i;
- unsigned int j;
+ size_t nvalid = 0;
struct Cookie **array;
- array = malloc(sizeof(struct Cookie *) * c->numcookies);
+ array = calloc(1, sizeof(struct Cookie *) * c->numcookies);
if(!array) {
if(!use_stdout)
fclose(out);
return 1;
}
- j = 0;
+ /* only sort the cookies with a domain property */
for(i = 0; i < COOKIE_HASH_SIZE; i++) {
for(co = c->cookies[i]; co; co = co->next) {
if(!co->domain)
continue;
- array[j++] = co;
+ array[nvalid++] = co;
}
}
- qsort(array, c->numcookies, sizeof(struct Cookie *), cookie_sort_ct);
+ qsort(array, nvalid, sizeof(struct Cookie *), cookie_sort_ct);
- for(i = 0; i < j; i++) {
+ for(i = 0; i < nvalid; i++) {
char *format_ptr = get_netscape_format(array[i]);
if(format_ptr == NULL) {
fprintf(out, "#\n# Fatal libcurl error\n");
@@ -1613,7 +1617,7 @@ struct curl_slist *Curl_cookie_list(struct Curl_easy *data)
return list;
}
-void Curl_flush_cookies(struct Curl_easy *data, int cleanup)
+void Curl_flush_cookies(struct Curl_easy *data, bool cleanup)
{
if(data->set.str[STRING_COOKIEJAR]) {
if(data->change.cookielist) {
@@ -1642,6 +1646,7 @@ void Curl_flush_cookies(struct Curl_easy *data, int cleanup)
if(cleanup && (!data->share || (data->cookies != data->share->cookies))) {
Curl_cookie_cleanup(data->cookies);
+ data->cookies = NULL;
}
Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
}
diff --git a/lib/cookie.h b/lib/cookie.h
index b2730cfb9..b3865e601 100644
--- a/lib/cookie.h
+++ b/lib/cookie.h
@@ -109,7 +109,7 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies);
#define Curl_cookie_cleanup(x) Curl_nop_stmt
#define Curl_flush_cookies(x,y) Curl_nop_stmt
#else
-void Curl_flush_cookies(struct Curl_easy *data, int cleanup);
+void Curl_flush_cookies(struct Curl_easy *data, bool cleanup);
void Curl_cookie_cleanup(struct CookieInfo *);
struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
const char *, struct CookieInfo *, bool);
diff --git a/lib/curl_config.h b/lib/curl_config.h
index 6c102cb45..d3bc43e2e 100644
--- a/lib/curl_config.h
+++ b/lib/curl_config.h
@@ -629,6 +629,9 @@
/* Define to 1 if you have the `SSLv2_client_method' function. */
/* #undef HAVE_SSLV2_CLIENT_METHOD */
+/* Define to 1 if you have the `SSL_get_esni_status' function. */
+/* #undef HAVE_SSL_GET_ESNI_STATUS */
+
/* Define to 1 if you have the <ssl.h> header file. */
/* #undef HAVE_SSL_H */
@@ -935,6 +938,9 @@
/* Define to enable c-ares support */
/* #undef USE_ARES */
+/* if ESNI support is available */
+/* #undef USE_ESNI */
+
/* if GnuTLS is enabled */
/* #undef USE_GNUTLS */
diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake
index 5458cbaca..e0793a7ee 100644
--- a/lib/curl_config.h.cmake
+++ b/lib/curl_config.h.cmake
@@ -407,9 +407,6 @@
/* Define to 1 if you have the <libssh2.h> header file. */
#cmakedefine HAVE_LIBSSH2_H 1
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#cmakedefine HAVE_LIBSSL 1
-
/* if zlib is available */
#cmakedefine HAVE_LIBZ 1
diff --git a/lib/curl_config.h.in b/lib/curl_config.h.in
index e5abe77b9..32a87bd29 100644
--- a/lib/curl_config.h.in
+++ b/lib/curl_config.h.in
@@ -628,6 +628,9 @@
/* Define to 1 if you have the `SSLv2_client_method' function. */
#undef HAVE_SSLV2_CLIENT_METHOD
+/* Define to 1 if you have the `SSL_get_esni_status' function. */
+#undef HAVE_SSL_GET_ESNI_STATUS
+
/* Define to 1 if you have the <ssl.h> header file. */
#undef HAVE_SSL_H
@@ -952,6 +955,9 @@
/* Define to enable c-ares support */
#undef USE_ARES
+/* if ESNI support is available */
+#undef USE_ESNI
+
/* if GnuTLS is enabled */
#undef USE_GNUTLS
diff --git a/lib/doh.c b/lib/doh.c
index 6d1f3303b..d1795789e 100644
--- a/lib/doh.c
+++ b/lib/doh.c
@@ -74,17 +74,26 @@ static const char *doh_strerror(DOHcode code)
#define UNITTEST static
#endif
+/* @unittest 1655
+ */
UNITTEST DOHcode doh_encode(const char *host,
DNStype dnstype,
unsigned char *dnsp, /* buffer */
size_t len, /* buffer size */
size_t *olen) /* output length */
{
- size_t hostlen = strlen(host);
+ const size_t hostlen = strlen(host);
unsigned char *orig = dnsp;
const char *hostp = host;
- if(len < (12 + hostlen + 4))
+ /* The expected output length does not depend on the number of dots within
+ * the host name. It will always be two more than the length of the host
+ * name, one for the size and one trailing null. In case there are dots,
+ * each dot adds one size but removes the need to store the dot, net zero.
+ */
+ const size_t expected_len = 12 + ( 1 + hostlen + 1) + 4;
+
+ if(len < expected_len)
return DOH_TOO_SMALL_BUFFER;
*dnsp++ = 0; /* 16 bit id */
@@ -126,12 +135,18 @@ UNITTEST DOHcode doh_encode(const char *host,
}
} while(1);
- *dnsp++ = '\0'; /* upper 8 bit TYPE */
- *dnsp++ = (unsigned char)dnstype;
+ /* There are assigned TYPE codes beyond 255: use range [1..65535] */
+ *dnsp++ = (unsigned char)(255 & (dnstype>>8)); /* upper 8 bit TYPE */
+ *dnsp++ = (unsigned char)(255 & dnstype); /* lower 8 bit TYPE */
+
*dnsp++ = '\0'; /* upper 8 bit CLASS */
*dnsp++ = DNS_CLASS_IN; /* IN - "the Internet" */
*olen = dnsp - orig;
+
+ /* verify that our assumption of length is valid, since
+ * this has lead to buffer overflows in this function */
+ DEBUGASSERT(*olen == expected_len);
return DOH_OK;
}
@@ -225,7 +240,10 @@ static CURLcode dohprobe(struct Curl_easy *data,
}
timeout_ms = Curl_timeleft(data, NULL, TRUE);
-
+ if(timeout_ms <= 0) {
+ result = CURLE_OPERATION_TIMEDOUT;
+ goto error;
+ }
/* Curl_open() is the internal version of curl_easy_init() */
result = Curl_open(&doh);
if(!result) {
@@ -246,6 +264,9 @@ static CURLcode dohprobe(struct Curl_easy *data,
#ifndef CURLDEBUG
/* enforce HTTPS if not debug */
ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
+#else
+ /* in debug mode, also allow http */
+ ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTP|CURLPROTO_HTTPS);
#endif
ERROR_CHECK_SETOPT(CURLOPT_TIMEOUT_MS, (long)timeout_ms);
if(data->set.verbose)
@@ -325,7 +346,7 @@ static CURLcode dohprobe(struct Curl_easy *data,
error:
free(nurl);
- Curl_close(doh);
+ Curl_close(&doh);
return result;
}
@@ -381,10 +402,8 @@ Curl_addrinfo *Curl_doh(struct connectdata *conn,
error:
curl_slist_free_all(data->req.doh.headers);
data->req.doh.headers = NULL;
- curl_easy_cleanup(data->req.doh.probe[0].easy);
- data->req.doh.probe[0].easy = NULL;
- curl_easy_cleanup(data->req.doh.probe[1].easy);
- data->req.doh.probe[1].easy = NULL;
+ Curl_close(&data->req.doh.probe[0].easy);
+ Curl_close(&data->req.doh.probe[1].easy);
return NULL;
}
@@ -419,8 +438,14 @@ static unsigned short get16bit(unsigned char *doh, int index)
static unsigned int get32bit(unsigned char *doh, int index)
{
- return (doh[index] << 24) | (doh[index + 1] << 16) |
- (doh[index + 2] << 8) | doh[index + 3];
+ /* make clang and gcc optimize this to bswap by incrementing
+ the pointer first. */
+ doh += index;
+
+ /* avoid undefined behaviour by casting to unsigned before shifting
+ 24 bits, possibly into the sign bit. codegen is same, but
+ ub sanitizer won't be upset */
+ return ( (unsigned)doh[0] << 24) | (doh[1] << 16) |(doh[2] << 8) | doh[3];
}
static DOHcode store_a(unsigned char *doh, int index, struct dohentry *d)
@@ -898,17 +923,16 @@ CURLcode Curl_doh_is_resolved(struct connectdata *conn,
struct dohentry de;
/* remove DOH handles from multi handle and close them */
curl_multi_remove_handle(data->multi, data->req.doh.probe[0].easy);
- Curl_close(data->req.doh.probe[0].easy);
+ Curl_close(&data->req.doh.probe[0].easy);
curl_multi_remove_handle(data->multi, data->req.doh.probe[1].easy);
- Curl_close(data->req.doh.probe[1].easy);
-
+ Curl_close(&data->req.doh.probe[1].easy);
/* parse the responses, create the struct and return it! */
init_dohentry(&de);
rc = doh_decode(data->req.doh.probe[0].serverdoh.memory,
data->req.doh.probe[0].serverdoh.size,
data->req.doh.probe[0].dnstype,
&de);
- free(data->req.doh.probe[0].serverdoh.memory);
+ Curl_safefree(data->req.doh.probe[0].serverdoh.memory);
if(rc) {
infof(data, "DOH: %s type %s for %s\n", doh_strerror(rc),
type2name(data->req.doh.probe[0].dnstype),
@@ -918,7 +942,7 @@ CURLcode Curl_doh_is_resolved(struct connectdata *conn,
data->req.doh.probe[1].serverdoh.size,
data->req.doh.probe[1].dnstype,
&de);
- free(data->req.doh.probe[1].serverdoh.memory);
+ Curl_safefree(data->req.doh.probe[1].serverdoh.memory);
if(rc2) {
infof(data, "DOH: %s type %s for %s\n", doh_strerror(rc2),
type2name(data->req.doh.probe[1].dnstype),
diff --git a/lib/easy.c b/lib/easy.c
index 0b0016be4..001648d49 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -731,7 +731,7 @@ void curl_easy_cleanup(struct Curl_easy *data)
return;
sigpipe_ignore(data, &pipe_st);
- Curl_close(data);
+ Curl_close(&data);
sigpipe_restore(&pipe_st);
}
@@ -1020,9 +1020,8 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
/* if there's no error and we're not pausing both directions, we want
to have this handle checked soon */
- if(!result &&
- ((newstate&(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
- (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) ) {
+ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+ (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
if(data->multi)
Curl_update_timer(data->multi);
diff --git a/lib/ftp.c b/lib/ftp.c
index e807a2acd..8072a33d5 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -523,7 +523,7 @@ static CURLcode AllowServerConnect(struct connectdata *conn, bool *connected)
}
else {
/* Add timeout to multi handle and break out of the loop */
- if(!result && *connected == FALSE) {
+ if(*connected == FALSE) {
Curl_expire(data, data->set.accepttimeout > 0 ?
data->set.accepttimeout: DEFAULT_ACCEPT_TIMEOUT, 0);
}
@@ -867,6 +867,10 @@ static CURLcode ftp_state_cwd(struct connectdata *conn)
/* already done and fine */
result = ftp_state_mdtm(conn);
else {
+ /* FTPFILE_NOCWD with full path: expect ftpc->cwddone! */
+ DEBUGASSERT((conn->data->set.ftp_filemethod != FTPFILE_NOCWD) ||
+ !(ftpc->dirdepth && ftpc->dirs[0][0] == '/'));
+
ftpc->count2 = 0; /* count2 counts failed CWDs */
/* count3 is set to allow a MKD to fail once. In the case when first CWD
@@ -874,10 +878,9 @@ static CURLcode ftp_state_cwd(struct connectdata *conn)
dir) this then allows for a second try to CWD to it */
ftpc->count3 = (conn->data->set.ftp_create_missing_dirs == 2)?1:0;
- if((conn->data->set.ftp_filemethod == FTPFILE_NOCWD) && !ftpc->cwdcount)
- /* No CWD necessary */
- result = ftp_state_mdtm(conn);
- else if(conn->bits.reuse && ftpc->entrypath) {
+ if(conn->bits.reuse && ftpc->entrypath &&
+ /* no need to go to entrypath when we have an absolute path */
+ !(ftpc->dirdepth && ftpc->dirs[0][0] == '/')) {
/* This is a re-used connection. Since we change directory to where the
transfer is taking place, we must first get back to the original dir
where we ended up after login: */
@@ -1436,31 +1439,37 @@ static CURLcode ftp_state_list(struct connectdata *conn)
servers either... */
/*
- if FTPFILE_NOCWD was specified, we are currently in
- the user's home directory, so we should add the path
+ if FTPFILE_NOCWD was specified, we should add the path
as argument for the LIST / NLST / or custom command.
Whether the server will support this, is uncertain.
The other ftp_filemethods will CWD into dir/dir/ first and
then just do LIST (in that case: nothing to do here)
*/
- char *cmd, *lstArg, *slashPos;
- const char *inpath = ftp->path;
-
- lstArg = NULL;
- if((data->set.ftp_filemethod == FTPFILE_NOCWD) &&
- inpath && inpath[0] && strchr(inpath, '/')) {
- size_t n = strlen(inpath);
-
- /* Check if path does not end with /, as then we cut off the file part */
- if(inpath[n - 1] != '/') {
- /* chop off the file part if format is dir/dir/file */
- slashPos = strrchr(inpath, '/');
- n = slashPos - inpath;
- }
- result = Curl_urldecode(data, inpath, n, &lstArg, NULL, TRUE);
+ char *lstArg = NULL;
+ char *cmd;
+
+ if((data->set.ftp_filemethod == FTPFILE_NOCWD) && ftp->path) {
+ /* url-decode before evaluation: e.g. paths starting/ending with %2f */
+ const char *slashPos = NULL;
+ char *rawPath = NULL;
+ result = Curl_urldecode(data, ftp->path, 0, &rawPath, NULL, TRUE);
if(result)
return result;
+
+ slashPos = strrchr(rawPath, '/');
+ if(slashPos) {
+ /* chop off the file part if format is dir/file otherwise remove
+ the trailing slash for dir/dir/ except for absolute path / */
+ size_t n = slashPos - rawPath;
+ if(n == 0)
+ ++n;
+
+ lstArg = rawPath;
+ lstArg[n] = '\0';
+ }
+ else
+ free(rawPath);
}
cmd = aprintf("%s%s%s",
@@ -1469,15 +1478,12 @@ static CURLcode ftp_state_list(struct connectdata *conn)
(data->set.ftp_list_only?"NLST":"LIST"),
lstArg? " ": "",
lstArg? lstArg: "");
+ free(lstArg);
- if(!cmd) {
- free(lstArg);
+ if(!cmd)
return CURLE_OUT_OF_MEMORY;
- }
result = Curl_pp_sendf(&conn->proto.ftpc.pp, "%s", cmd);
-
- free(lstArg);
free(cmd);
if(result)
@@ -2242,9 +2248,25 @@ static CURLcode ftp_state_size_resp(struct connectdata *conn,
char *buf = data->state.buffer;
/* get the size from the ascii string: */
- if(ftpcode == 213)
+ if(ftpcode == 213) {
+ /* To allow servers to prepend "rubbish" in the response string, we scan
+ for all the digits at the end of the response and parse only those as a
+ number. */
+ char *start = &buf[4];
+ char *fdigit = strchr(start, '\r');
+ if(fdigit) {
+ do
+ fdigit--;
+ while(ISDIGIT(*fdigit) && (fdigit > start));
+ if(!ISDIGIT(*fdigit))
+ fdigit++;
+ }
+ else
+ fdigit = start;
/* ignores parsing errors, which will make the size remain unknown */
- (void)curlx_strtoofft(buf + 4, NULL, 0, &filesize);
+ (void)curlx_strtoofft(fdigit, NULL, 0, &filesize);
+
+ }
if(instate == FTP_SIZE) {
#ifdef CURL_FTP_HTTPSTYLE_HEAD
@@ -3115,7 +3137,8 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
ssize_t nread;
int ftpcode;
CURLcode result = CURLE_OK;
- char *path = NULL;
+ char *rawPath = NULL;
+ size_t pathLen = 0;
if(!ftp)
return CURLE_OK;
@@ -3153,9 +3176,6 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
break;
}
- /* now store a copy of the directory we are in */
- free(ftpc->prevpath);
-
if(data->state.wildcardmatch) {
if(data->set.chunk_end && ftpc->file) {
Curl_set_in_callback(data, true);
@@ -3166,41 +3186,41 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
}
if(!result)
- /* get the "raw" path */
- result = Curl_urldecode(data, ftp->path, 0, &path, NULL, TRUE);
+ /* get the url-decoded "raw" path */
+ result = Curl_urldecode(data, ftp->path, 0, &rawPath, &pathLen, TRUE);
if(result) {
/* We can limp along anyway (and should try to since we may already be in
* the error path) */
ftpc->ctl_valid = FALSE; /* mark control connection as bad */
connclose(conn, "FTP: out of memory!"); /* mark for connection closure */
+ free(ftpc->prevpath);
ftpc->prevpath = NULL; /* no path remembering */
}
- else {
- size_t flen = ftpc->file?strlen(ftpc->file):0; /* file is "raw" already */
- size_t dlen = strlen(path)-flen;
- if(!ftpc->cwdfail) {
- ftpc->prevmethod = data->set.ftp_filemethod;
- if(dlen && (data->set.ftp_filemethod != FTPFILE_NOCWD)) {
- ftpc->prevpath = path;
- if(flen)
- /* if 'path' is not the whole string */
- ftpc->prevpath[dlen] = 0; /* terminate */
+ else { /* remember working directory for connection reuse */
+ if((data->set.ftp_filemethod == FTPFILE_NOCWD) && (rawPath[0] == '/'))
+ free(rawPath); /* full path => no CWDs happened => keep ftpc->prevpath */
+ else {
+ free(ftpc->prevpath);
+
+ if(!ftpc->cwdfail) {
+ if(data->set.ftp_filemethod == FTPFILE_NOCWD)
+ pathLen = 0; /* relative path => working directory is FTP home */
+ else
+ pathLen -= ftpc->file?strlen(ftpc->file):0; /* file is url-decoded */
+
+ rawPath[pathLen] = '\0';
+ ftpc->prevpath = rawPath;
}
else {
- free(path);
- /* we never changed dir */
- ftpc->prevpath = strdup("");
- if(!ftpc->prevpath)
- return CURLE_OUT_OF_MEMORY;
+ free(rawPath);
+ ftpc->prevpath = NULL; /* no path */
}
- if(ftpc->prevpath)
- infof(data, "Remembering we are in dir \"%s\"\n", ftpc->prevpath);
- }
- else {
- ftpc->prevpath = NULL; /* no path */
- free(path);
}
+
+ if(ftpc->prevpath)
+ infof(data, "Remembering we are in dir \"%s\"\n", ftpc->prevpath);
}
+
/* free the dir tree and file parts */
freedirs(ftpc);
@@ -3513,14 +3533,13 @@ static CURLcode ftp_do_more(struct connectdata *conn, int *completep)
/* if we got an error or if we don't wait for a data connection return
immediately */
- if(result || (ftpc->wait_data_conn != TRUE))
+ if(result || !ftpc->wait_data_conn)
return result;
- if(ftpc->wait_data_conn)
- /* if we reach the end of the FTP state machine here, *complete will be
- TRUE but so is ftpc->wait_data_conn, which says we need to wait for
- the data connection and therefore we're not actually complete */
- *completep = 0;
+ /* if we reach the end of the FTP state machine here, *complete will be
+ TRUE but so is ftpc->wait_data_conn, which says we need to wait for the
+ data connection and therefore we're not actually complete */
+ *completep = 0;
}
if(ftp->transfer <= FTPTRANSFER_INFO) {
@@ -3554,13 +3573,8 @@ static CURLcode ftp_do_more(struct connectdata *conn, int *completep)
return result;
result = ftp_multi_statemach(conn, &complete);
- if(ftpc->wait_data_conn)
- /* if we reach the end of the FTP state machine here, *complete will be
- TRUE but so is ftpc->wait_data_conn, which says we need to wait for
- the data connection and therefore we're not actually complete */
- *completep = 0;
- else
- *completep = (int)complete;
+ /* ftpc->wait_data_conn is always false here */
+ *completep = (int)complete;
}
else {
/* download */
@@ -3600,10 +3614,8 @@ static CURLcode ftp_do_more(struct connectdata *conn, int *completep)
return result;
}
- if(!result && (ftp->transfer != FTPTRANSFER_BODY))
- /* no data to transfer. FIX: it feels like a kludge to have this here
- too! */
- Curl_setup_transfer(data, -1, -1, FALSE, -1);
+ /* no data to transfer */
+ Curl_setup_transfer(data, -1, -1, FALSE, -1);
if(!ftpc->wait_data_conn) {
/* no waiting for the data connection so this is now complete */
@@ -4080,186 +4092,142 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
/* the ftp struct is already inited in ftp_connect() */
struct FTP *ftp = data->req.protop;
struct ftp_conn *ftpc = &conn->proto.ftpc;
- const char *slash_pos; /* position of the first '/' char in curpos */
- const char *path_to_use = ftp->path;
- const char *cur_pos;
- const char *filename = NULL;
-
- cur_pos = path_to_use; /* current position in path. point at the begin of
- next path component */
+ const char *slashPos = NULL;
+ const char *fileName = NULL;
+ CURLcode result = CURLE_OK;
+ char *rawPath = NULL; /* url-decoded "raw" path */
+ size_t pathLen = 0;
ftpc->ctl_valid = FALSE;
ftpc->cwdfail = FALSE;
- switch(data->set.ftp_filemethod) {
- case FTPFILE_NOCWD:
- /* fastest, but less standard-compliant */
-
- /*
- The best time to check whether the path is a file or directory is right
- here. so:
+ /* url-decode ftp path before further evaluation */
+ result = Curl_urldecode(data, ftp->path, 0, &rawPath, &pathLen, TRUE);
+ if(result)
+ return result;
- the first condition in the if() right here, is there just in case
- someone decides to set path to NULL one day
- */
- if(path_to_use[0] &&
- (path_to_use[strlen(path_to_use) - 1] != '/') )
- filename = path_to_use; /* this is a full file path */
- /*
- else {
- ftpc->file is not used anywhere other than for operations on a file.
- In other words, never for directory operations.
- So we can safely leave filename as NULL here and use it as a
- argument in dir/file decisions.
- }
- */
- break;
+ switch(data->set.ftp_filemethod) {
+ case FTPFILE_NOCWD: /* fastest, but less standard-compliant */
- case FTPFILE_SINGLECWD:
- /* get the last slash */
- if(!path_to_use[0]) {
- /* no dir, no file */
- ftpc->dirdepth = 0;
+ if((pathLen > 0) && (rawPath[pathLen - 1] != '/'))
+ fileName = rawPath; /* this is a full file path */
+ /*
+ else: ftpc->file is not used anywhere other than for operations on
+ a file. In other words, never for directory operations.
+ So we can safely leave filename as NULL here and use it as a
+ argument in dir/file decisions.
+ */
break;
- }
- slash_pos = strrchr(cur_pos, '/');
- if(slash_pos || !*cur_pos) {
- size_t dirlen = slash_pos-cur_pos;
- CURLcode result;
- ftpc->dirs = calloc(1, sizeof(ftpc->dirs[0]));
- if(!ftpc->dirs)
- return CURLE_OUT_OF_MEMORY;
+ case FTPFILE_SINGLECWD:
+ slashPos = strrchr(rawPath, '/');
+ if(slashPos) {
+ /* get path before last slash, except for / */
+ size_t dirlen = slashPos - rawPath;
+ if(dirlen == 0)
+ dirlen++;
+
+ ftpc->dirs = calloc(1, sizeof(ftpc->dirs[0]));
+ if(!ftpc->dirs) {
+ free(rawPath);
+ return CURLE_OUT_OF_MEMORY;
+ }
- if(!dirlen)
- dirlen++;
+ ftpc->dirs[0] = calloc(1, dirlen + 1);
+ if(!ftpc->dirs[0]) {
+ free(rawPath);
+ return CURLE_OUT_OF_MEMORY;
+ }
- result = Curl_urldecode(conn->data, slash_pos ? cur_pos : "/",
- slash_pos ? dirlen : 1,
- &ftpc->dirs[0], NULL,
- TRUE);
- if(result) {
- freedirs(ftpc);
- return result;
+ strncpy(ftpc->dirs[0], rawPath, dirlen);
+ ftpc->dirdepth = 1; /* we consider it to be a single dir */
+ fileName = slashPos + 1; /* rest is file name */
}
- ftpc->dirdepth = 1; /* we consider it to be a single dir */
- filename = slash_pos ? slash_pos + 1 : cur_pos; /* rest is file name */
- }
- else
- filename = cur_pos; /* this is a file name only */
- break;
+ else
+ fileName = rawPath; /* file name only (or empty) */
+ break;
- default: /* allow pretty much anything */
- case FTPFILE_MULTICWD:
- ftpc->dirdepth = 0;
- ftpc->diralloc = 5; /* default dir depth to allocate */
- ftpc->dirs = calloc(ftpc->diralloc, sizeof(ftpc->dirs[0]));
- if(!ftpc->dirs)
- return CURLE_OUT_OF_MEMORY;
+ default: /* allow pretty much anything */
+ case FTPFILE_MULTICWD: {
+ /* current position: begin of next path component */
+ const char *curPos = rawPath;
+
+ int dirAlloc = 0; /* number of entries allocated for the 'dirs' array */
+ const char *str = rawPath;
+ for(; *str != 0; ++str)
+ if (*str == '/')
+ ++dirAlloc;
+
+ if(dirAlloc > 0) {
+ ftpc->dirs = calloc(dirAlloc, sizeof(ftpc->dirs[0]));
+ if(!ftpc->dirs) {
+ free(rawPath);
+ return CURLE_OUT_OF_MEMORY;
+ }
+
+ /* parse the URL path into separate path components */
+ while((slashPos = strchr(curPos, '/')) != NULL) {
+ size_t compLen = slashPos - curPos;
+
+ /* path starts with a slash: add that as a directory */
+ if((compLen == 0) && (ftpc->dirdepth == 0))
+ ++compLen;
- /* we have a special case for listing the root dir only */
- if(!strcmp(path_to_use, "/")) {
- cur_pos++; /* make it point to the zero byte */
- ftpc->dirs[0] = strdup("/");
- ftpc->dirdepth++;
- }
- else {
- /* parse the URL path into separate path components */
- while((slash_pos = strchr(cur_pos, '/')) != NULL) {
- /* 1 or 0 pointer offset to indicate absolute directory */
- ssize_t absolute_dir = ((cur_pos - ftp->path > 0) &&
- (ftpc->dirdepth == 0))?1:0;
-
- /* seek out the next path component */
- if(slash_pos-cur_pos) {
/* we skip empty path components, like "x//y" since the FTP command
CWD requires a parameter and a non-existent parameter a) doesn't
work on many servers and b) has no effect on the others. */
- size_t len = slash_pos - cur_pos + absolute_dir;
- CURLcode result =
- Curl_urldecode(conn->data, cur_pos - absolute_dir, len,
- &ftpc->dirs[ftpc->dirdepth], NULL,
- TRUE);
- if(result) {
- freedirs(ftpc);
- return result;
- }
- }
- else {
- cur_pos = slash_pos + 1; /* jump to the rest of the string */
- if(!ftpc->dirdepth) {
- /* path starts with a slash, add that as a directory */
- ftpc->dirs[ftpc->dirdepth] = strdup("/");
- if(!ftpc->dirs[ftpc->dirdepth++]) { /* run out of memory ... */
- failf(data, "no memory");
- freedirs(ftpc);
+ if(compLen > 0) {
+ char *comp = calloc(1, compLen + 1);
+ if(!comp) {
+ free(rawPath);
return CURLE_OUT_OF_MEMORY;
}
+ strncpy(comp, curPos, compLen);
+ ftpc->dirs[ftpc->dirdepth++] = comp;
}
- continue;
- }
-
- cur_pos = slash_pos + 1; /* jump to the rest of the string */
- if(++ftpc->dirdepth >= ftpc->diralloc) {
- /* enlarge array */
- char **bigger;
- ftpc->diralloc *= 2; /* double the size each time */
- bigger = realloc(ftpc->dirs, ftpc->diralloc * sizeof(ftpc->dirs[0]));
- if(!bigger) {
- freedirs(ftpc);
- return CURLE_OUT_OF_MEMORY;
- }
- ftpc->dirs = bigger;
+ curPos = slashPos + 1;
}
}
+ DEBUGASSERT(ftpc->dirdepth <= dirAlloc);
+ fileName = curPos; /* the rest is the file name (or empty) */
}
- filename = cur_pos; /* the rest is the file name */
break;
} /* switch */
- if(filename && *filename) {
- CURLcode result =
- Curl_urldecode(conn->data, filename, 0, &ftpc->file, NULL, TRUE);
-
- if(result) {
- freedirs(ftpc);
- return result;
- }
- }
+ if(fileName && *fileName)
+ ftpc->file = strdup(fileName);
else
- ftpc->file = NULL; /* instead of point to a zero byte, we make it a NULL
- pointer */
+ ftpc->file = NULL; /* instead of point to a zero byte,
+ we make it a NULL pointer */
if(data->set.upload && !ftpc->file && (ftp->transfer == FTPTRANSFER_BODY)) {
/* We need a file name when uploading. Return error! */
failf(data, "Uploading to a URL without a file name!");
+ free(rawPath);
return CURLE_URL_MALFORMAT;
}
ftpc->cwddone = FALSE; /* default to not done */
- if(ftpc->prevpath) {
- /* prevpath is "raw" so we convert the input path before we compare the
- strings */
- size_t dlen;
- char *path;
- CURLcode result =
- Curl_urldecode(conn->data, ftp->path, 0, &path, &dlen, TRUE);
- if(result) {
- freedirs(ftpc);
- return result;
- }
+ if((data->set.ftp_filemethod == FTPFILE_NOCWD) && (rawPath[0] == '/'))
+ ftpc->cwddone = TRUE; /* skip CWD for absolute paths */
+ else { /* newly created FTP connections are already in entry path */
+ const char *oldPath = conn->bits.reuse ? ftpc->prevpath : "";
+ if(oldPath) {
+ size_t n = pathLen;
+ if(data->set.ftp_filemethod == FTPFILE_NOCWD)
+ n = 0; /* CWD to entry for relative paths */
+ else
+ n -= ftpc->file?strlen(ftpc->file):0;
- dlen -= ftpc->file?strlen(ftpc->file):0;
- if((dlen == strlen(ftpc->prevpath)) &&
- !strncmp(path, ftpc->prevpath, dlen) &&
- (ftpc->prevmethod == data->set.ftp_filemethod)) {
- infof(data, "Request has same path as previous transfer\n");
- ftpc->cwddone = TRUE;
+ if((strlen(oldPath) == n) && !strncmp(rawPath, oldPath, n)) {
+ infof(data, "Request has same path as previous transfer\n");
+ ftpc->cwddone = TRUE;
+ }
}
- free(path);
}
+ free(rawPath);
return CURLE_OK;
}
diff --git a/lib/ftp.h b/lib/ftp.h
index 828d69a21..2c88d568c 100644
--- a/lib/ftp.h
+++ b/lib/ftp.h
@@ -121,8 +121,7 @@ struct ftp_conn {
char *entrypath; /* the PWD reply when we logged on */
char **dirs; /* realloc()ed array for path components */
int dirdepth; /* number of entries used in the 'dirs' array */
- int diralloc; /* number of entries allocated for the 'dirs' array */
- char *file; /* decoded file */
+ char *file; /* url-decoded file name (or path) */
bool dont_check; /* Set to TRUE to prevent the final (post-transfer)
file size and 226/250 status check. It should still
read the line, just ignore the result. */
@@ -135,8 +134,7 @@ struct ftp_conn {
bool cwdfail; /* set TRUE if a CWD command fails, as then we must prevent
caching the current directory */
bool wait_data_conn; /* this is set TRUE if data connection is waited */
- char *prevpath; /* conn->path from the previous transfer */
- curl_ftpfile prevmethod; /* ftp method in previous transfer */
+ char *prevpath; /* url-decoded conn->path from the previous transfer */
char transfertype; /* set by ftp_transfertype for use by Curl_client_write()a
and others (A/I or zero) */
int count1; /* general purpose counter for the state machine */
diff --git a/lib/ftplistparser.c b/lib/ftplistparser.c
index c4eb43732..f399a4c27 100644
--- a/lib/ftplistparser.c
+++ b/lib/ftplistparser.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/lib/hostcheck.c b/lib/hostcheck.c
index 115d24b2e..9e0db05fa 100644
--- a/lib/hostcheck.c
+++ b/lib/hostcheck.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/lib/hostip.c b/lib/hostip.c
index bd532a891..d4e8f9366 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -749,7 +749,7 @@ clean_up:
conn->created) / 1000;
/* the alarm period is counted in even number of seconds */
- unsigned long alarm_set = prev_alarm - elapsed_secs;
+ unsigned long alarm_set = (unsigned long)(prev_alarm - elapsed_secs);
if(!alarm_set ||
((alarm_set >= 0x80000000) && (prev_alarm < 0x80000000)) ) {
diff --git a/lib/http.c b/lib/http.c
index 28d1fa607..4631a7f36 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -450,9 +450,6 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
/* figure out how much data we are expected to send */
switch(data->set.httpreq) {
case HTTPREQ_POST:
- if(data->state.infilesize != -1)
- expectsend = data->state.infilesize;
- break;
case HTTPREQ_PUT:
if(data->state.infilesize != -1)
expectsend = data->state.infilesize;
@@ -2679,7 +2676,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
struct Cookie *co = NULL; /* no cookies from start */
int count = 0;
- if(data->cookies) {
+ if(data->cookies && data->state.cookie_engine) {
Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE);
co = Curl_cookie_getlist(data->cookies,
conn->allocptr.cookiehost?
@@ -3044,8 +3041,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
failf(data, "Failed sending HTTP request");
else
/* HTTP GET/HEAD download: */
- Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE,
- http->postdata?FIRSTSOCKET:-1);
+ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, -1);
}
if(result)
return result;
@@ -4017,7 +4013,7 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
data->state.resume_from = 0; /* get everything */
}
#if !defined(CURL_DISABLE_COOKIES)
- else if(data->cookies &&
+ else if(data->cookies && data->state.cookie_engine &&
checkprefix("Set-Cookie:", k->p)) {
Curl_share_lock(data, CURL_LOCK_DATA_COOKIE,
CURL_LOCK_ACCESS_SINGLE);
@@ -4058,7 +4054,7 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
if(result)
return result;
}
- #ifdef USE_SPNEGO
+#ifdef USE_SPNEGO
else if(checkprefix("Persistent-Auth", k->p)) {
struct negotiatedata *negdata = &conn->negotiate;
struct auth *authp = &data->state.authhost;
@@ -4066,14 +4062,15 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
char *persistentauth = Curl_copy_header_value(k->p);
if(!persistentauth)
return CURLE_OUT_OF_MEMORY;
- negdata->noauthpersist = checkprefix("false", persistentauth);
+ negdata->noauthpersist = checkprefix("false", persistentauth)?
+ TRUE:FALSE;
negdata->havenoauthpersist = TRUE;
infof(data, "Negotiate: noauthpersist -> %d, header part: %s",
negdata->noauthpersist, persistentauth);
free(persistentauth);
}
}
- #endif
+#endif
else if((k->httpcode >= 300 && k->httpcode < 400) &&
checkprefix("Location:", k->p) &&
!data->req.location) {
diff --git a/lib/http.h b/lib/http.h
index f0ddec759..a3a275702 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -83,11 +83,6 @@ CURLcode Curl_http(struct connectdata *conn, bool *done);
CURLcode Curl_http_done(struct connectdata *, CURLcode, bool premature);
CURLcode Curl_http_connect(struct connectdata *conn, bool *done);
-/* The following functions are defined in http_chunks.c */
-void Curl_httpchunk_init(struct connectdata *conn);
-CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap,
- ssize_t length, ssize_t *wrote);
-
/* These functions are in http.c */
CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
const char *auth);
diff --git a/lib/http2.c b/lib/http2.c
index 31d2d698a..6315fc401 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -496,16 +496,14 @@ static struct Curl_easy *duphandle(struct Curl_easy *data)
/* setup the request struct */
struct HTTP *http = calloc(1, sizeof(struct HTTP));
if(!http) {
- (void)Curl_close(second);
- second = NULL;
+ (void)Curl_close(&second);
}
else {
second->req.protop = http;
http->header_recvbuf = Curl_add_buffer_init();
if(!http->header_recvbuf) {
free(http);
- (void)Curl_close(second);
- second = NULL;
+ (void)Curl_close(&second);
}
else {
Curl_http2_setup_req(second);
@@ -547,7 +545,7 @@ static int push_promise(struct Curl_easy *data,
stream = data->req.protop;
if(!stream) {
failf(data, "Internal NULL stream!\n");
- (void)Curl_close(newhandle);
+ (void)Curl_close(&newhandle);
rv = 1;
goto fail;
}
@@ -569,7 +567,7 @@ static int push_promise(struct Curl_easy *data,
/* denied, kill off the new handle again */
http2_stream_free(newhandle->req.protop);
newhandle->req.protop = NULL;
- (void)Curl_close(newhandle);
+ (void)Curl_close(&newhandle);
goto fail;
}
@@ -585,7 +583,7 @@ static int push_promise(struct Curl_easy *data,
infof(data, "failed to add handle to multi\n");
http2_stream_free(newhandle->req.protop);
newhandle->req.protop = NULL;
- Curl_close(newhandle);
+ Curl_close(&newhandle);
rv = 1;
goto fail;
}
@@ -848,6 +846,7 @@ static int on_stream_close(nghttp2_session *session, int32_t stream_id,
stream->closed = TRUE;
httpc = &conn->proto.httpc;
drain_this(data_s, httpc);
+ Curl_expire(data_s, 0, EXPIRE_RUN_NOW);
httpc->error_code = error_code;
/* remove the entry from the hash as the stream is now gone */
@@ -967,7 +966,9 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
if(!check)
/* no memory */
return NGHTTP2_ERR_CALLBACK_FAILURE;
- if(!Curl_strcasecompare(check, (const char *)value)) {
+ if(!Curl_strcasecompare(check, (const char *)value) &&
+ ((conn->remote_port != conn->given->defport) ||
+ !Curl_strcasecompare(conn->host.name, (const char *)value))) {
/* This is push is not for the same authority that was asked for in
* the URL. RFC 7540 section 8.2 says: "A client MUST treat a
* PUSH_PROMISE for which the server is not authoritative as a stream
@@ -1157,7 +1158,7 @@ static void populate_settings(struct connectdata *conn,
nghttp2_settings_entry *iv = httpc->local_settings;
iv[0].settings_id = NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS;
- iv[0].value = 100;
+ iv[0].value = (uint32_t)Curl_multi_max_concurrent_streams(conn->data->multi);
iv[1].settings_id = NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE;
iv[1].value = HTTP2_HUGE_WINDOW_SIZE;
@@ -1535,6 +1536,7 @@ static int h2_session_send(struct Curl_easy *data,
H2BUGF(infof(data, "Queuing PRIORITY on stream %u (easy %p)\n",
stream->stream_id, data));
+ DEBUGASSERT(stream->stream_id != -1);
rv = nghttp2_submit_priority(h2, NGHTTP2_FLAG_NONE, stream->stream_id,
&pri_spec);
if(rv)
@@ -1659,6 +1661,9 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
socket is not read. But it seems that usually streams are
notified with its drain property, and socket is read again
quickly. */
+ if(stream->closed)
+ /* closed overrides paused */
+ return 0;
H2BUGF(infof(data, "stream %x is paused, pause id: %x\n",
stream->stream_id, httpc->pause_stream_id));
*err = CURLE_AGAIN;
@@ -1773,8 +1778,9 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
field list. */
#define AUTHORITY_DST_IDX 3
+/* USHRT_MAX is 65535 == 0xffff */
#define HEADER_OVERFLOW(x) \
- (x.namelen > (uint16_t)-1 || x.valuelen > (uint16_t)-1 - x.namelen)
+ (x.namelen > 0xffff || x.valuelen > 0xffff - x.namelen)
/*
* Check header memory for the token "trailers".
@@ -2024,8 +2030,10 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
nva[i].namelen = strlen((char *)nva[i].name);
}
else {
- nva[i].name = (unsigned char *)hdbuf;
nva[i].namelen = (size_t)(end - hdbuf);
+ /* Lower case the header name for HTTP/2 */
+ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].namelen);
+ nva[i].name = (unsigned char *)hdbuf;
}
hdbuf = end + 1;
while(*hdbuf == ' ' || *hdbuf == '\t')
@@ -2135,17 +2143,14 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
return -1;
}
- if(stream->stream_id != -1) {
- /* If whole HEADERS frame was sent off to the underlying socket,
- the nghttp2 library calls data_source_read_callback. But only
- it found that no data available, so it deferred the DATA
- transmission. Which means that nghttp2_session_want_write()
- returns 0 on http2_perform_getsock(), which results that no
- writable socket check is performed. To workaround this, we
- issue nghttp2_session_resume_data() here to bring back DATA
- transmission from deferred state. */
- nghttp2_session_resume_data(h2, stream->stream_id);
- }
+ /* If whole HEADERS frame was sent off to the underlying socket, the nghttp2
+ library calls data_source_read_callback. But only it found that no data
+ available, so it deferred the DATA transmission. Which means that
+ nghttp2_session_want_write() returns 0 on http2_perform_getsock(), which
+ results that no writable socket check is performed. To workaround this,
+ we issue nghttp2_session_resume_data() here to bring back DATA
+ transmission from deferred state. */
+ nghttp2_session_resume_data(h2, stream->stream_id);
return len;
diff --git a/lib/http_chunks.c b/lib/http_chunks.c
index 18dfcb282..b6ffa4185 100644
--- a/lib/http_chunks.c
+++ b/lib/http_chunks.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -109,7 +109,8 @@ void Curl_httpchunk_init(struct connectdata *conn)
CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
char *datap,
ssize_t datalen,
- ssize_t *wrotep)
+ ssize_t *wrotep,
+ CURLcode *extrap)
{
CURLcode result = CURLE_OK;
struct Curl_easy *data = conn->data;
@@ -125,8 +126,10 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
chunk read process, to properly calculate the content length*/
if(data->set.http_te_skip && !k->ignorebody) {
result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, datalen);
- if(result)
- return CHUNKE_WRITE_ERROR;
+ if(result) {
+ *extrap = result;
+ return CHUNKE_PASSTHRU_ERROR;
+ }
}
while(length) {
@@ -197,8 +200,10 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
else
result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, piece);
- if(result)
- return CHUNKE_WRITE_ERROR;
+ if(result) {
+ *extrap = result;
+ return CHUNKE_PASSTHRU_ERROR;
+ }
}
*wrote += piece;
@@ -244,8 +249,10 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
if(!data->set.http_te_skip) {
result = Curl_client_write(conn, CLIENTWRITE_HEADER,
conn->trailer, conn->trlPos);
- if(result)
- return CHUNKE_WRITE_ERROR;
+ if(result) {
+ *extrap = result;
+ return CHUNKE_PASSTHRU_ERROR;
+ }
}
conn->trlPos = 0;
ch->state = CHUNK_TRAILER_CR;
@@ -339,8 +346,9 @@ const char *Curl_chunked_strerror(CHUNKcode code)
return "Illegal or missing hexadecimal sequence";
case CHUNKE_BAD_CHUNK:
return "Malformed encoding found";
- case CHUNKE_WRITE_ERROR:
- return "Write error";
+ case CHUNKE_PASSTHRU_ERROR:
+ DEBUGASSERT(0); /* never used */
+ return "";
case CHUNKE_BAD_ENCODING:
return "Bad content-encoding found";
case CHUNKE_OUT_OF_MEMORY:
diff --git a/lib/http_chunks.h b/lib/http_chunks.h
index b969c5590..8f4a33c8e 100644
--- a/lib/http_chunks.h
+++ b/lib/http_chunks.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -21,6 +21,9 @@
* KIND, either express or implied.
*
***************************************************************************/
+
+struct connectdata;
+
/*
* The longest possible hexadecimal number we support in a chunked transfer.
* Weird enough, RFC2616 doesn't set a maximum size! Since we use strtoul()
@@ -71,9 +74,9 @@ typedef enum {
CHUNKE_TOO_LONG_HEX = 1,
CHUNKE_ILLEGAL_HEX,
CHUNKE_BAD_CHUNK,
- CHUNKE_WRITE_ERROR,
CHUNKE_BAD_ENCODING,
CHUNKE_OUT_OF_MEMORY,
+ CHUNKE_PASSTHRU_ERROR, /* Curl_httpchunk_read() returns a CURLcode to use */
CHUNKE_LAST
} CHUNKcode;
@@ -87,4 +90,10 @@ struct Curl_chunker {
size_t dataleft; /* untouched data amount at the end of the last buffer */
};
+/* The following functions are defined in http_chunks.c */
+void Curl_httpchunk_init(struct connectdata *conn);
+CHUNKcode Curl_httpchunk_read(struct connectdata *conn, char *datap,
+ ssize_t length, ssize_t *wrote,
+ CURLcode *passthru);
+
#endif /* HEADER_CURL_HTTP_CHUNKS_H */
diff --git a/lib/http_proxy.c b/lib/http_proxy.c
index ba67b861b..f095455a5 100644
--- a/lib/http_proxy.c
+++ b/lib/http_proxy.c
@@ -327,7 +327,7 @@ static CURLcode CONNECT(struct connectdata *conn,
{ /* READING RESPONSE PHASE */
int error = SELECT_OK;
- while(s->keepon && !error) {
+ while(s->keepon) {
ssize_t gotbytes;
/* make sure we have space to read more data */
@@ -384,11 +384,12 @@ static CURLcode CONNECT(struct connectdata *conn,
/* chunked-encoded body, so we need to do the chunked dance
properly to know when the end of the body is reached */
CHUNKcode r;
+ CURLcode extra;
ssize_t tookcareof = 0;
/* now parse the chunked piece of data so that we can
properly tell when the stream ends */
- r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof);
+ r = Curl_httpchunk_read(conn, s->ptr, 1, &tookcareof, &extra);
if(r == CHUNKE_STOP) {
/* we're done reading chunks! */
infof(data, "chunk reading DONE\n");
@@ -455,6 +456,7 @@ static CURLcode CONNECT(struct connectdata *conn,
}
else if(s->chunked_encoding) {
CHUNKcode r;
+ CURLcode extra;
infof(data, "Ignore chunked response-body\n");
@@ -472,7 +474,8 @@ static CURLcode CONNECT(struct connectdata *conn,
/* now parse the chunked piece of data so that we can
properly tell when the stream ends */
- r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes);
+ r = Curl_httpchunk_read(conn, s->line_start + 1, 1, &gotbytes,
+ &extra);
if(r == CHUNKE_STOP) {
/* we're done reading chunks! */
infof(data, "chunk reading DONE\n");
diff --git a/lib/imap.c b/lib/imap.c
index ff9b62947..66172bddc 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -1306,6 +1306,7 @@ static CURLcode imap_statemach_act(struct connectdata *conn)
break;
case IMAP_LIST:
+ case IMAP_SEARCH:
result = imap_state_listsearch_resp(conn, imapcode, imapc->state);
break;
@@ -1329,10 +1330,6 @@ static CURLcode imap_statemach_act(struct connectdata *conn)
result = imap_state_append_final_resp(conn, imapcode, imapc->state);
break;
- case IMAP_SEARCH:
- result = imap_state_listsearch_resp(conn, imapcode, imapc->state);
- break;
-
case IMAP_LOGOUT:
/* fallthrough, just stop! */
default:
diff --git a/lib/ldap.c b/lib/ldap.c
index fd31faa3e..af3d61c57 100644
--- a/lib/ldap.c
+++ b/lib/ldap.c
@@ -119,6 +119,12 @@ static void _ldap_free_urldesc(LDAPURLDesc *ludp);
#define LDAP_TRACE(x) Curl_nop_stmt
#endif
+#if defined(USE_WIN32_LDAP) && defined(ldap_err2string)
+/* Use ansi error strings in UNICODE builds */
+#undef ldap_err2string
+#define ldap_err2string ldap_err2stringA
+#endif
+
static CURLcode Curl_ldap(struct connectdata *conn, bool *done);
@@ -838,10 +844,10 @@ static bool split_str(char *str, char ***out, size_t *count)
static int _ldap_url_parse2(const struct connectdata *conn, LDAPURLDesc *ludp)
{
int rc = LDAP_SUCCESS;
- char *path;
- char *query;
char *p;
- char *q;
+ char *path;
+ char *q = NULL;
+ char *query = NULL;
size_t i;
if(!conn->data ||
@@ -859,11 +865,13 @@ static int _ldap_url_parse2(const struct connectdata *conn, LDAPURLDesc *ludp)
if(!path)
return LDAP_NO_MEMORY;
- /* Duplicate the query */
- q = query = strdup(conn->data->state.up.query);
- if(!query) {
- free(path);
- return LDAP_NO_MEMORY;
+ /* Duplicate the query if present */
+ if(conn->data->state.up.query) {
+ q = query = strdup(conn->data->state.up.query);
+ if(!query) {
+ free(path);
+ return LDAP_NO_MEMORY;
+ }
}
/* Parse the DN (Distinguished Name) */
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
index 9db8aa310..55c2ed494 100644
--- a/lib/libcurl.plist
+++ b/lib/libcurl.plist
@@ -15,7 +15,7 @@
<string>se.haxx.curl.libcurl</string>
<key>CFBundleVersion</key>
- <string>7.66.0</string>
+ <string>7.67.0</string>
<key>CFBundleName</key>
<string>libcurl</string>
@@ -27,9 +27,9 @@
<string>????</string>
<key>CFBundleShortVersionString</key>
- <string>libcurl 7.66.0</string>
+ <string>libcurl 7.67.0</string>
<key>CFBundleGetInfoString</key>
- <string>libcurl.plist 7.66.0</string>
+ <string>libcurl.plist 7.67.0</string>
</dict>
</plist>
diff --git a/lib/mime.c b/lib/mime.c
index 2135f72c2..081e51e50 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -1135,6 +1135,8 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
const curl_mimepart *s;
CURLcode res = CURLE_OK;
+ DEBUGASSERT(dst);
+
/* Duplicate content. */
switch(src->kind) {
case MIMEKIND_NONE:
@@ -1184,20 +1186,18 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
}
}
- /* Duplicate other fields. */
- if(dst != NULL)
+ if(!res) {
+ /* Duplicate other fields. */
dst->encoder = src->encoder;
- else
- res = CURLE_WRITE_ERROR;
- if(!res)
res = curl_mime_type(dst, src->mimetype);
+ }
if(!res)
res = curl_mime_name(dst, src->name);
if(!res)
res = curl_mime_filename(dst, src->filename);
/* If an error occurred, rollback. */
- if(res && dst)
+ if(res)
Curl_mime_cleanpart(dst);
return res;
@@ -1901,4 +1901,11 @@ CURLcode curl_mime_headers(curl_mimepart *part,
return CURLE_NOT_BUILT_IN;
}
+CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...)
+{
+ (void)slp;
+ (void)fmt;
+ return CURLE_NOT_BUILT_IN;
+}
+
#endif /* if disabled */
diff --git a/lib/mime.h b/lib/mime.h
index 4c9a5fb71..3241fdc1f 100644
--- a/lib/mime.h
+++ b/lib/mime.h
@@ -127,7 +127,9 @@ struct curl_mimepart_s {
mime_encoder_state encstate; /* Data encoder state. */
};
-#if (!defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_MIME)) || \
+CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...);
+
+#if (!defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_MIME)) || \
!defined(CURL_DISABLE_SMTP) || !defined(CURL_DISABLE_IMAP)
/* Prototypes. */
@@ -144,7 +146,6 @@ curl_off_t Curl_mime_size(curl_mimepart *part);
size_t Curl_mime_read(char *buffer, size_t size, size_t nitems,
void *instream);
CURLcode Curl_mime_rewind(curl_mimepart *part);
-CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...);
const char *Curl_mime_contenttype(const char *filename);
#else
@@ -157,7 +158,6 @@ const char *Curl_mime_contenttype(const char *filename);
#define Curl_mime_size(x) (curl_off_t) -1
#define Curl_mime_read NULL
#define Curl_mime_rewind(x) ((void)x, CURLE_NOT_BUILT_IN)
-#define Curl_mime_add_header(x,y,...) CURLE_NOT_BUILT_IN
#endif
diff --git a/lib/multi.c b/lib/multi.c
index 2e91e4ff3..6dfe8842e 100755
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -363,7 +363,7 @@ struct Curl_multi *Curl_multi_handle(int hashsize, /* socket hash */
Curl_llist_init(&multi->msglist, NULL);
Curl_llist_init(&multi->pending, NULL);
- multi->multiplexing = CURLPIPE_MULTIPLEX;
+ multi->multiplexing = TRUE;
/* -1 means it not set by user, use the default value */
multi->maxconnects = -1;
@@ -2772,6 +2772,16 @@ CURLMcode curl_multi_setopt(struct Curl_multi *multi,
break;
case CURLMOPT_PIPELINING_SERVER_BL:
break;
+ case CURLMOPT_MAX_CONCURRENT_STREAMS:
+ {
+ long streams = va_arg(param, long);
+ if(streams < 1)
+ streams = 100;
+ multi->max_concurrent_streams =
+ (streams > (long)INITIAL_MAX_CONCURRENT_STREAMS)?
+ (long)INITIAL_MAX_CONCURRENT_STREAMS : streams;
+ }
+ break;
default:
res = CURLM_UNKNOWN_OPTION;
break;
@@ -3210,3 +3220,9 @@ void Curl_multi_dump(struct Curl_multi *multi)
}
}
#endif
+
+size_t Curl_multi_max_concurrent_streams(struct Curl_multi *multi)
+{
+ return multi ? ((size_t)multi->max_concurrent_streams ?
+ (size_t)multi->max_concurrent_streams : 100) : 0;
+}
diff --git a/lib/multihandle.h b/lib/multihandle.h
index 279379ae0..b65bd9638 100644
--- a/lib/multihandle.h
+++ b/lib/multihandle.h
@@ -133,6 +133,7 @@ struct Curl_multi {
struct curltime timer_lastcall; /* the fixed time for the timeout for the
previous callback */
bool in_callback; /* true while executing a callback */
+ long max_concurrent_streams; /* max concurrent streams client to support */
};
#endif /* HEADER_CURL_MULTIHANDLE_H */
diff --git a/lib/multiif.h b/lib/multiif.h
index 0755a7cd2..75025232c 100644
--- a/lib/multiif.h
+++ b/lib/multiif.h
@@ -89,4 +89,10 @@ CURLMcode Curl_multi_add_perform(struct Curl_multi *multi,
struct Curl_easy *data,
struct connectdata *conn);
+
+/* Return the value of the CURLMOPT_MAX_CONCURRENT_STREAMS option
+ * If not specified or 0, default would be 100
+ */
+size_t Curl_multi_max_concurrent_streams(struct Curl_multi *multi);
+
#endif /* HEADER_CURL_MULTIIF_H */
diff --git a/lib/netrc.c b/lib/netrc.c
index c74065e81..1c9da3199 100644
--- a/lib/netrc.c
+++ b/lib/netrc.c
@@ -88,7 +88,7 @@ static int parsenetrc(const char *host,
if(tok && *tok == '#')
/* treat an initial hash as a comment line */
continue;
- while(!done && tok) {
+ while(tok) {
if((login && *login) && (password && *password)) {
done = TRUE;
diff --git a/lib/non-ascii.c b/lib/non-ascii.c
index 42beaec45..a48e67db4 100644
--- a/lib/non-ascii.c
+++ b/lib/non-ascii.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/lib/parsedate.c b/lib/parsedate.c
index 7ae5eb8cd..f4b18d091 100644
--- a/lib/parsedate.c
+++ b/lib/parsedate.c
@@ -100,16 +100,20 @@ static int parsedate(const char *date, time_t *output);
#define PARSEDATE_LATER 1
#define PARSEDATE_SOONER 2
-#ifndef CURL_DISABLE_PARSEDATE
-
+#if !defined(CURL_DISABLE_PARSEDATE) || !defined(CURL_DISABLE_FTP) || \
+ !defined(CURL_DISABLE_FILE)
+/* These names are also used by FTP and FILE code */
const char * const Curl_wkday[] =
{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
-static const char * const weekday[] =
-{ "Monday", "Tuesday", "Wednesday", "Thursday",
- "Friday", "Saturday", "Sunday" };
const char * const Curl_month[]=
{ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+#endif
+
+#ifndef CURL_DISABLE_PARSEDATE
+static const char * const weekday[] =
+{ "Monday", "Tuesday", "Wednesday", "Thursday",
+ "Friday", "Saturday", "Sunday" };
struct tzinfo {
char name[5];
diff --git a/lib/security.c b/lib/security.c
index c5e4e135d..fbfa70741 100644
--- a/lib/security.c
+++ b/lib/security.c
@@ -236,7 +236,7 @@ static ssize_t sec_recv(struct connectdata *conn, int sockindex,
/* Handle clear text response. */
if(conn->sec_complete == 0 || conn->data_prot == PROT_CLEAR)
- return read(fd, buffer, len);
+ return sread(fd, buffer, len);
if(conn->in_buffer.eof_flag) {
conn->in_buffer.eof_flag = 0;
diff --git a/lib/setopt.c b/lib/setopt.c
index 8909035a9..64c29e333 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -315,7 +315,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
* Parse the $HOME/.netrc file
*/
arg = va_arg(param, long);
- if((arg < CURL_NETRC_IGNORED) || (arg > CURL_NETRC_REQUIRED))
+ if((arg < CURL_NETRC_IGNORED) || (arg >= CURL_NETRC_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.use_netrc = (enum CURL_NETRC_OPTION)arg;
break;
@@ -342,7 +342,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
* curl/curl.h header file.
*/
arg = va_arg(param, long);
- if((arg < CURL_TIMECOND_NONE) || (arg > CURL_TIMECOND_LASTMOD))
+ if((arg < CURL_TIMECOND_NONE) || (arg >= CURL_TIMECOND_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.timecondition = (curl_TimeCond)arg;
break;
@@ -752,7 +752,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
}
else if(strcasecompare(argptr, "FLUSH")) {
/* flush cookies to file, takes care of the locking */
- Curl_flush_cookies(data, 0);
+ Curl_flush_cookies(data, FALSE);
}
else if(strcasecompare(argptr, "RELOAD")) {
/* reload cookies from file */
@@ -818,7 +818,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
if(arg >= CURL_HTTP_VERSION_2)
return CURLE_UNSUPPORTED_PROTOCOL;
#else
- if(arg > CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE)
+ if(arg >= CURL_HTTP_VERSION_LAST)
return CURLE_UNSUPPORTED_PROTOCOL;
if(arg == CURL_HTTP_VERSION_NONE)
arg = CURL_HTTP_VERSION_2TLS;
@@ -1109,7 +1109,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
* How do access files over FTP.
*/
arg = va_arg(param, long);
- if((arg < CURLFTPMETHOD_DEFAULT) || (arg > CURLFTPMETHOD_SINGLECWD))
+ if((arg < CURLFTPMETHOD_DEFAULT) || (arg >= CURLFTPMETHOD_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.ftp_filemethod = (curl_ftpfile)arg;
break;
@@ -1136,7 +1136,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
case CURLOPT_FTP_SSL_CCC:
arg = va_arg(param, long);
- if((arg < CURLFTPSSL_CCC_NONE) || (arg > CURLFTPSSL_CCC_ACTIVE))
+ if((arg < CURLFTPSSL_CCC_NONE) || (arg >= CURLFTPSSL_CCC_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.ftp_ccc = (curl_ftpccc)arg;
break;
@@ -1164,7 +1164,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
* Set a specific auth for FTP-SSL transfers.
*/
arg = va_arg(param, long);
- if((arg < CURLFTPAUTH_DEFAULT) || (arg > CURLFTPAUTH_TLS))
+ if((arg < CURLFTPAUTH_DEFAULT) || (arg >= CURLFTPAUTH_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.ftpsslauth = (curl_ftpauth)arg;
break;
@@ -2123,7 +2123,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
* Make transfers attempt to use SSL/TLS.
*/
arg = va_arg(param, long);
- if((arg < CURLUSESSL_NONE) || (arg > CURLUSESSL_ALL))
+ if((arg < CURLUSESSL_NONE) || (arg >= CURLUSESSL_LAST))
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.use_ssl = (curl_usessl)arg;
break;
@@ -2500,7 +2500,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
case CURLOPT_RTSP_SERVER_CSEQ:
/* Same as the above, but for server-initiated requests */
- data->state.rtsp_next_client_CSeq = va_arg(param, long);
+ data->state.rtsp_next_server_CSeq = va_arg(param, long);
break;
case CURLOPT_INTERLEAVEDATA:
@@ -2725,7 +2725,8 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
result = Curl_setstropt(&data->set.str[STRING_ALTSVC], argptr);
if(result)
return result;
- (void)Curl_altsvc_load(data->asi, argptr);
+ if(argptr)
+ (void)Curl_altsvc_load(data->asi, argptr);
break;
case CURLOPT_ALTSVC_CTRL:
if(!data->asi) {
diff --git a/lib/setup-os400.h b/lib/setup-os400.h
index a3c2a7bdc..629fd94c4 100644
--- a/lib/setup-os400.h
+++ b/lib/setup-os400.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -206,11 +206,15 @@ extern int Curl_os400_sendto(int sd, char *buffer, int buflen, int flags,
struct sockaddr * dstaddr, int addrlen);
extern int Curl_os400_recvfrom(int sd, char *buffer, int buflen, int flags,
struct sockaddr *fromaddr, int *addrlen);
+extern int Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen);
+extern int Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen);
#define connect Curl_os400_connect
#define bind Curl_os400_bind
#define sendto Curl_os400_sendto
#define recvfrom Curl_os400_recvfrom
+#define getpeername Curl_os400_getpeername
+#define getsockname Curl_os400_getsockname
#ifdef HAVE_LIBZ
#define zlibVersion Curl_os400_zlibVersion
diff --git a/lib/smb.c b/lib/smb.c
index f66c05ca4..12f99257f 100644
--- a/lib/smb.c
+++ b/lib/smb.c
@@ -682,7 +682,8 @@ static CURLcode smb_connection_state(struct connectdata *conn, bool *done)
switch(smbc->state) {
case SMB_NEGOTIATE:
- if(h->status || smbc->got < sizeof(*nrsp) + sizeof(smbc->challenge) - 1) {
+ if((smbc->got < sizeof(*nrsp) + sizeof(smbc->challenge) - 1) ||
+ h->status) {
connclose(conn, "SMB: negotiation failed");
return CURLE_COULDNT_CONNECT;
}
diff --git a/lib/socketpair.c b/lib/socketpair.c
new file mode 100644
index 000000000..1f0e2e4a4
--- /dev/null
+++ b/lib/socketpair.c
@@ -0,0 +1,118 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+#include "socketpair.h"
+
+#ifndef HAVE_SOCKETPAIR
+#ifdef WIN32
+/*
+ * This is a socketpair() implementation for Windows.
+ */
+#include <string.h>
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <windows.h>
+#include <io.h>
+#else
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h> /* IPPROTO_TCP */
+#endif
+#ifndef INADDR_LOOPBACK
+#define INADDR_LOOPBACK 0x7f000001
+#endif /* !INADDR_LOOPBACK */
+#endif /* !WIN32 */
+
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
+#include "memdebug.h"
+
+int Curl_socketpair(int domain, int type, int protocol,
+ curl_socket_t socks[2])
+{
+ union {
+ struct sockaddr_in inaddr;
+ struct sockaddr addr;
+ } a;
+ curl_socket_t listener;
+ curl_socklen_t addrlen = sizeof(a.inaddr);
+ int reuse = 1;
+ char data[2][12];
+ ssize_t dlen;
+ (void)domain;
+ (void)type;
+ (void)protocol;
+
+ listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ if(listener == CURL_SOCKET_BAD)
+ return -1;
+
+ memset(&a, 0, sizeof(a));
+ a.inaddr.sin_family = AF_INET;
+ a.inaddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
+ a.inaddr.sin_port = 0;
+
+ socks[0] = socks[1] = CURL_SOCKET_BAD;
+
+ if(setsockopt(listener, SOL_SOCKET, SO_REUSEADDR,
+ (char *)&reuse, (curl_socklen_t)sizeof(reuse)) == -1)
+ goto error;
+ if(bind(listener, &a.addr, sizeof(a.inaddr)) == -1)
+ goto error;
+ if(getsockname(listener, &a.addr, &addrlen) == -1)
+ goto error;
+ if(listen(listener, 1) == -1)
+ goto error;
+ socks[0] = socket(AF_INET, SOCK_STREAM, 0);
+ if(socks[0] == CURL_SOCKET_BAD)
+ goto error;
+ if(connect(socks[0], &a.addr, sizeof(a.inaddr)) == -1)
+ goto error;
+ socks[1] = accept(listener, NULL, NULL);
+ if(socks[1] == CURL_SOCKET_BAD)
+ goto error;
+
+ /* verify that nothing else connected */
+ msnprintf(data[0], sizeof(data[0]), "%p", socks);
+ dlen = strlen(data[0]);
+ if(swrite(socks[0], data[0], dlen) != dlen)
+ goto error;
+ if(sread(socks[1], data[1], sizeof(data[1])) != dlen)
+ goto error;
+ if(memcmp(data[0], data[1], dlen))
+ goto error;
+
+ sclose(listener);
+ return 0;
+
+ error:
+ sclose(listener);
+ sclose(socks[0]);
+ sclose(socks[1]);
+ return -1;
+}
+
+#endif /* ! HAVE_SOCKETPAIR */
diff --git a/lib/socketpair.h b/lib/socketpair.h
new file mode 100644
index 000000000..be9fb24f9
--- /dev/null
+++ b/lib/socketpair.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_SOCKETPAIR_H
+#define HEADER_CURL_SOCKETPAIR_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+#ifndef HAVE_SOCKETPAIR
+int Curl_socketpair(int domain, int type, int protocol,
+ curl_socket_t socks[2]);
+#else
+#define Curl_socketpair(a,b,c,d) socketpair(a,b,c,d)
+#endif
+
+/* Defined here to allow specific build configs to disable it completely */
+#define USE_SOCKETPAIR 1
+
+#endif /* HEADER_CURL_SOCKETPAIR_H */
diff --git a/lib/socks.c b/lib/socks.c
index d8fcc3bbb..6ae98184d 100644
--- a/lib/socks.c
+++ b/lib/socks.c
@@ -38,7 +38,9 @@
#include "timeval.h"
#include "socks.h"
-/* The last #include file should be: */
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
#include "memdebug.h"
/*
@@ -372,8 +374,9 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
o REP Reply field:
o X'00' succeeded
*/
-
- unsigned char socksreq[600]; /* room for large user/pw (255 max each) */
+#define REQUEST_BUFSIZE 600 /* room for large user/pw (255 max each) */
+ unsigned char socksreq[REQUEST_BUFSIZE];
+ char dest[REQUEST_BUFSIZE] = "unknown"; /* printable hostname:port */
int idx;
ssize_t actualread;
ssize_t written;
@@ -605,6 +608,8 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
socksreq[len++] = (char) hostname_len; /* address length */
memcpy(&socksreq[len], hostname, hostname_len); /* address str w/o NULL */
len += hostname_len;
+ msnprintf(dest, sizeof(dest), "%s:%d", hostname, remote_port);
+ infof(data, "SOCKS5 connect to %s (remotely resolved)\n", dest);
}
else {
struct Curl_dns_entry *dns;
@@ -628,8 +633,13 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
if(dns)
hp = dns->addr;
if(hp) {
- char buf[64];
- Curl_printable_address(hp, buf, sizeof(buf));
+ if(Curl_printable_address(hp, dest, sizeof(dest))) {
+ size_t destlen = strlen(dest);
+ msnprintf(dest + destlen, sizeof(dest) - destlen, ":%d", remote_port);
+ }
+ else {
+ strcpy(dest, "unknown");
+ }
if(hp->ai_family == AF_INET) {
int i;
@@ -641,7 +651,7 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
socksreq[len++] = ((unsigned char *)&saddr_in->sin_addr.s_addr)[i];
}
- infof(data, "SOCKS5 connect to IPv4 %s (locally resolved)\n", buf);
+ infof(data, "SOCKS5 connect to IPv4 %s (locally resolved)\n", dest);
}
#ifdef ENABLE_IPV6
else if(hp->ai_family == AF_INET6) {
@@ -655,13 +665,13 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
((unsigned char *)&saddr_in6->sin6_addr.s6_addr)[i];
}
- infof(data, "SOCKS5 connect to IPv6 %s (locally resolved)\n", buf);
+ infof(data, "SOCKS5 connect to IPv6 %s (locally resolved)\n", dest);
}
#endif
else {
hp = NULL; /* fail! */
- failf(data, "SOCKS5 connection to %s not supported\n", buf);
+ failf(data, "SOCKS5 connection to %s not supported\n", dest);
}
Curl_resolv_unlock(data, dns); /* not used anymore from now on */
@@ -756,42 +766,8 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
#endif
if(socksreq[1] != 0) { /* Anything besides 0 is an error */
- if(socksreq[3] == 1) {
- failf(data,
- "Can't complete SOCKS5 connection to %d.%d.%d.%d:%d. (%d)",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (((unsigned char)socksreq[8] << 8) |
- (unsigned char)socksreq[9]),
- (unsigned char)socksreq[1]);
- }
- else if(socksreq[3] == 3) {
- unsigned char port_upper = (unsigned char)socksreq[len - 2];
- socksreq[len - 2] = 0;
- failf(data,
- "Can't complete SOCKS5 connection to %s:%d. (%d)",
- (char *)&socksreq[5],
- ((port_upper << 8) |
- (unsigned char)socksreq[len - 1]),
- (unsigned char)socksreq[1]);
- socksreq[len - 2] = port_upper;
- }
- else if(socksreq[3] == 4) {
- failf(data,
- "Can't complete SOCKS5 connection to %02x%02x:%02x%02x:"
- "%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%02x%02x:%d. (%d)",
- (unsigned char)socksreq[4], (unsigned char)socksreq[5],
- (unsigned char)socksreq[6], (unsigned char)socksreq[7],
- (unsigned char)socksreq[8], (unsigned char)socksreq[9],
- (unsigned char)socksreq[10], (unsigned char)socksreq[11],
- (unsigned char)socksreq[12], (unsigned char)socksreq[13],
- (unsigned char)socksreq[14], (unsigned char)socksreq[15],
- (unsigned char)socksreq[16], (unsigned char)socksreq[17],
- (unsigned char)socksreq[18], (unsigned char)socksreq[19],
- (((unsigned char)socksreq[20] << 8) |
- (unsigned char)socksreq[21]),
- (unsigned char)socksreq[1]);
- }
+ failf(data, "Can't complete SOCKS5 connection to %s. (%d)",
+ dest, (unsigned char)socksreq[1]);
return CURLE_COULDNT_CONNECT;
}
infof(data, "SOCKS5 request granted.\n");
diff --git a/lib/strcase.c b/lib/strcase.c
index 24bcca932..a89471225 100644
--- a/lib/strcase.c
+++ b/lib/strcase.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -93,6 +93,75 @@ char Curl_raw_toupper(char in)
return in;
}
+
+/* Portable, consistent tolower (remember EBCDIC). Do not use tolower() because
+ its behavior is altered by the current locale. */
+char Curl_raw_tolower(char in)
+{
+#if !defined(CURL_DOES_CONVERSIONS)
+ if(in >= 'A' && in <= 'Z')
+ return (char)('a' + in - 'A');
+#else
+ switch(in) {
+ case 'A':
+ return 'a';
+ case 'B':
+ return 'b';
+ case 'C':
+ return 'c';
+ case 'D':
+ return 'd';
+ case 'E':
+ return 'e';
+ case 'F':
+ return 'f';
+ case 'G':
+ return 'g';
+ case 'H':
+ return 'h';
+ case 'I':
+ return 'i';
+ case 'J':
+ return 'j';
+ case 'K':
+ return 'k';
+ case 'L':
+ return 'l';
+ case 'M':
+ return 'm';
+ case 'N':
+ return 'n';
+ case 'O':
+ return 'o';
+ case 'P':
+ return 'p';
+ case 'Q':
+ return 'q';
+ case 'R':
+ return 'r';
+ case 'S':
+ return 's';
+ case 'T':
+ return 't';
+ case 'U':
+ return 'u';
+ case 'V':
+ return 'v';
+ case 'W':
+ return 'w';
+ case 'X':
+ return 'x';
+ case 'Y':
+ return 'y';
+ case 'Z':
+ return 'z';
+ }
+#endif
+
+ return in;
+}
+
+
/*
* Curl_strcasecompare() is for doing "raw" case insensitive strings. This is
* meant to be locale independent and only compare strings we know are safe
@@ -165,6 +234,21 @@ void Curl_strntoupper(char *dest, const char *src, size_t n)
} while(*src++ && --n);
}
+/* Copy a lower case version of the string from src to dest. The
+ * strings may overlap. No more than n characters of the string are copied
+ * (including any NUL) and the destination string will NOT be
+ * NUL-terminated if that limit is reached.
+ */
+void Curl_strntolower(char *dest, const char *src, size_t n)
+{
+ if(n < 1)
+ return;
+
+ do {
+ *dest++ = Curl_raw_tolower(*src);
+ } while(*src++ && --n);
+}
+
/* --- public functions --- */
int curl_strequal(const char *first, const char *second)
diff --git a/lib/strcase.h b/lib/strcase.h
index 6fee3840e..baa768b2b 100644
--- a/lib/strcase.h
+++ b/lib/strcase.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -40,11 +40,13 @@ int Curl_safe_strcasecompare(const char *first, const char *second);
int Curl_strncasecompare(const char *first, const char *second, size_t max);
char Curl_raw_toupper(char in);
+char Curl_raw_tolower(char in);
/* checkprefix() is a shorter version of the above, used when the first
argument is zero-byte terminated */
#define checkprefix(a,b) curl_strnequal(a,b,strlen(a))
void Curl_strntoupper(char *dest, const char *src, size_t n);
+void Curl_strntolower(char *dest, const char *src, size_t n);
#endif /* HEADER_CURL_STRCASE_H */
diff --git a/lib/transfer.c b/lib/transfer.c
index ef0d80638..d0d4aeb50 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -776,14 +776,14 @@ static CURLcode readwrite_data(struct Curl_easy *data,
* and writes away the data. The returned 'nread' holds the number
* of actual data it wrote to the client.
*/
-
+ CURLcode extra;
CHUNKcode res =
- Curl_httpchunk_read(conn, k->str, nread, &nread);
+ Curl_httpchunk_read(conn, k->str, nread, &nread, &extra);
if(CHUNKE_OK < res) {
- if(CHUNKE_WRITE_ERROR == res) {
- failf(data, "Failed writing data");
- return CURLE_WRITE_ERROR;
+ if(CHUNKE_PASSTHRU_ERROR == res) {
+ failf(data, "Failed reading the chunked-encoded stream");
+ return extra;
}
failf(data, "%s in chunked-encoding", Curl_chunked_strerror(res));
return CURLE_RECV_ERROR;
@@ -1510,6 +1510,7 @@ CURLcode Curl_pretransfer(struct Curl_easy *data)
}
}
#endif
+ Curl_http2_init_state(&data->state);
}
return result;
@@ -1591,7 +1592,8 @@ CURLcode Curl_follow(struct Curl_easy *data,
DEBUGASSERT(data->state.uh);
uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl,
- (type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME : 0);
+ (type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME :
+ ((type == FOLLOW_REDIR) ? CURLU_URLENCODE : 0) );
if(uc) {
if(type != FOLLOW_FAKE)
return Curl_uc_to_curlcode(uc);
diff --git a/lib/url.c b/lib/url.c
index b7cf7bedd..8285474fd 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -317,13 +317,17 @@ static void up_free(struct Curl_easy *data)
* when curl_easy_perform() is invoked.
*/
-CURLcode Curl_close(struct Curl_easy *data)
+CURLcode Curl_close(struct Curl_easy **datap)
{
struct Curl_multi *m;
+ struct Curl_easy *data;
- if(!data)
+ if(!datap || !*datap)
return CURLE_OK;
+ data = *datap;
+ *datap = NULL;
+
Curl_expire_clear(data); /* shut off timers */
m = data->multi;
@@ -374,7 +378,7 @@ CURLcode Curl_close(struct Curl_easy *data)
Curl_safefree(data->state.buffer);
Curl_safefree(data->state.headerbuff);
Curl_safefree(data->state.ulbuf);
- Curl_flush_cookies(data, 1);
+ Curl_flush_cookies(data, TRUE);
#ifdef USE_ALTSVC
Curl_altsvc_save(data->asi, data->set.str[STRING_ALTSVC]);
Curl_altsvc_cleanup(data->asi);
@@ -399,6 +403,10 @@ CURLcode Curl_close(struct Curl_easy *data)
Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
}
+ free(data->req.doh.probe[0].serverdoh.memory);
+ free(data->req.doh.probe[1].serverdoh.memory);
+ curl_slist_free_all(data->req.doh.headers);
+
/* destruct wildcard structures if it is needed */
Curl_wildcard_dtor(&data->wildcard);
Curl_freeset(data);
@@ -612,8 +620,6 @@ CURLcode Curl_open(struct Curl_easy **curl)
data->progress.flags |= PGRS_HIDE;
data->state.current_speed = -1; /* init to negative == impossible */
-
- Curl_http2_init_state(&data->state);
}
}
@@ -1041,7 +1047,7 @@ ConnectionExists(struct Curl_easy *data,
/* We can't multiplex if we don't know anything about the server */
if(canmultiplex) {
if(bundle->multiuse == BUNDLE_UNKNOWN) {
- if((bundle->multiuse == BUNDLE_UNKNOWN) && data->set.pipewait) {
+ if(data->set.pipewait) {
infof(data, "Server doesn't support multiplex yet, wait\n");
*waitpipe = TRUE;
Curl_conncache_unlock(data);
@@ -1277,8 +1283,14 @@ ConnectionExists(struct Curl_easy *data,
partway through a handshake!) */
if(wantNTLMhttp) {
if(strcmp(needle->user, check->user) ||
- strcmp(needle->passwd, check->passwd))
+ strcmp(needle->passwd, check->passwd)) {
+
+ /* we prefer a credential match, but this is at least a connection
+ that can be reused and "upgraded" to NTLM */
+ if(check->http_ntlm_state == NTLMSTATE_NONE)
+ chosen = check;
continue;
+ }
}
else if(check->http_ntlm_state != NTLMSTATE_NONE) {
/* Connection is using NTLM auth but we don't want NTLM */
@@ -1787,6 +1799,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
}
if(!data->set.uh) {
+ char *newurl;
uc = curl_url_set(uh, CURLUPART_URL, data->change.url,
CURLU_GUESS_SCHEME |
CURLU_NON_SUPPORT_SCHEME |
@@ -1797,6 +1810,15 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
DEBUGF(infof(data, "curl_url_set rejected %s\n", data->change.url));
return Curl_uc_to_curlcode(uc);
}
+
+ /* after it was parsed, get the generated normalized version */
+ uc = curl_url_get(uh, CURLUPART_URL, &newurl, 0);
+ if(uc)
+ return Curl_uc_to_curlcode(uc);
+ if(data->change.url_alloc)
+ free(data->change.url);
+ data->change.url = newurl;
+ data->change.url_alloc = TRUE;
}
uc = curl_url_get(uh, CURLUPART_SCHEME, &data->state.up.scheme, 0);
@@ -1863,11 +1885,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
(void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0);
hostname = data->state.up.hostname;
- if(!hostname)
- /* this is for file:// transfers, get a dummy made */
- hostname = (char *)"";
-
- if(hostname[0] == '[') {
+ if(hostname && hostname[0] == '[') {
/* This looks like an IPv6 address literal. See if there is an address
scope. */
size_t hlen;
@@ -1881,7 +1899,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
}
/* make sure the connect struct gets its own copy of the host name */
- conn->host.rawalloc = strdup(hostname);
+ conn->host.rawalloc = strdup(hostname ? hostname : "");
if(!conn->host.rawalloc)
return CURLE_OUT_OF_MEMORY;
conn->host.name = conn->host.rawalloc;
@@ -1969,6 +1987,8 @@ void Curl_free_request_state(struct Curl_easy *data)
{
Curl_safefree(data->req.protop);
Curl_safefree(data->req.newurl);
+ Curl_close(&data->req.doh.probe[0].easy);
+ Curl_close(&data->req.doh.probe[1].easy);
}
@@ -2754,13 +2774,6 @@ static CURLcode set_login(struct connectdata *conn)
result = CURLE_OUT_OF_MEMORY;
}
- /* if there's a user without password, consider password blank */
- if(conn->user && !conn->passwd) {
- conn->passwd = strdup("");
- if(!conn->passwd)
- result = CURLE_OUT_OF_MEMORY;
- }
-
return result;
}
@@ -3519,6 +3532,10 @@ static CURLcode create_conn(struct Curl_easy *data,
data->set.str[STRING_SSL_CIPHER13_LIST_ORIG];
data->set.proxy_ssl.primary.cipher_list13 =
data->set.str[STRING_SSL_CIPHER13_LIST_PROXY];
+ data->set.ssl.primary.pinned_key =
+ data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG];
+ data->set.proxy_ssl.primary.pinned_key =
+ data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY];
data->set.ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_ORIG];
data->set.proxy_ssl.CRLfile = data->set.str[STRING_SSL_CRLFILE_PROXY];
@@ -3815,7 +3832,9 @@ CURLcode Curl_setup_conn(struct connectdata *conn,
}
else {
Curl_pgrsTime(data, TIMER_CONNECT); /* we're connected already */
- Curl_pgrsTime(data, TIMER_APPCONNECT); /* we're connected already */
+ if(conn->ssl[FIRSTSOCKET].use ||
+ (conn->handler->protocol & PROTO_FAMILY_SSH))
+ Curl_pgrsTime(data, TIMER_APPCONNECT); /* we're connected already */
conn->bits.tcpconnect[FIRSTSOCKET] = TRUE;
*protocol_done = TRUE;
Curl_updateconninfo(conn, conn->sock[FIRSTSOCKET]);
diff --git a/lib/url.h b/lib/url.h
index f4d611add..053fbdffc 100644
--- a/lib/url.h
+++ b/lib/url.h
@@ -49,7 +49,7 @@ CURLcode Curl_init_userdefined(struct Curl_easy *data);
void Curl_freeset(struct Curl_easy * data);
CURLcode Curl_uc_to_curlcode(CURLUcode uc);
-CURLcode Curl_close(struct Curl_easy *data); /* opposite of curl_open() */
+CURLcode Curl_close(struct Curl_easy **datap); /* opposite of curl_open() */
CURLcode Curl_connect(struct Curl_easy *, bool *async, bool *protocol_connect);
CURLcode Curl_disconnect(struct Curl_easy *data,
struct connectdata *, bool dead_connection);
diff --git a/lib/urlapi.c b/lib/urlapi.c
index a0ee331da..fa514bce5 100644
--- a/lib/urlapi.c
+++ b/lib/urlapi.c
@@ -64,6 +64,7 @@ struct Curl_URL {
char *fragment;
char *scratch; /* temporary scratch area */
+ char *temppath; /* temporary path pointer */
long portnum; /* the numerical version */
};
@@ -82,6 +83,7 @@ static void free_urlhandle(struct Curl_URL *u)
free(u->query);
free(u->fragment);
free(u->scratch);
+ free(u->temppath);
}
/* move the full contents of one handle onto another and
@@ -351,7 +353,7 @@ static char *concat_url(const char *base, const char *relurl)
else {
/* We got a new absolute path for this server */
- if((relurl[0] == '/') && (relurl[1] == '/')) {
+ if(relurl[1] == '/') {
/* the new URL starts with //, just keep the protocol part from the
original one */
*protsep = 0;
@@ -596,8 +598,12 @@ static CURLUcode hostname_check(struct Curl_URL *u, char *hostname)
size_t hlen = strlen(hostname);
if(hostname[0] == '[') {
+#ifdef ENABLE_IPV6
char dest[16]; /* fits a binary IPv6 address */
+#endif
const char *l = "0123456789abcdefABCDEF:.";
+ if(hlen < 5) /* '[::1]' is the shortest possible valid string */
+ return CURLUE_MALFORMED_INPUT;
hostname++;
hlen -= 2;
@@ -784,6 +790,7 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags)
if(junkscan(schemep))
return CURLUE_MALFORMED_INPUT;
+
}
else {
/* no scheme! */
@@ -804,11 +811,14 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags)
p++;
len = p - hostp;
- if(!len)
- return CURLUE_MALFORMED_INPUT;
-
- memcpy(hostname, hostp, len);
- hostname[len] = 0;
+ if(len) {
+ memcpy(hostname, hostp, len);
+ hostname[len] = 0;
+ }
+ else {
+ if(!(flags & CURLU_NO_AUTHORITY))
+ return CURLUE_MALFORMED_INPUT;
+ }
if((flags & CURLU_GUESS_SCHEME) && !schemep) {
/* legacy curl-style guess based on host name */
@@ -843,35 +853,60 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags)
if(junkscan(path))
return CURLUE_MALFORMED_INPUT;
- query = strchr(path, '?');
- if(query)
- *query++ = 0;
+ if((flags & CURLU_URLENCODE) && path[0]) {
+ /* worst case output length is 3x the original! */
+ char *newp = malloc(strlen(path) * 3);
+ if(!newp)
+ return CURLUE_OUT_OF_MEMORY;
+ path_alloced = TRUE;
+ strcpy_url(newp, path, TRUE); /* consider it relative */
+ u->temppath = path = newp;
+ }
- fragment = strchr(query?query:path, '#');
- if(fragment)
+ fragment = strchr(path, '#');
+ if(fragment) {
*fragment++ = 0;
+ if(fragment[0]) {
+ u->fragment = strdup(fragment);
+ if(!u->fragment)
+ return CURLUE_OUT_OF_MEMORY;
+ }
+ }
+
+ query = strchr(path, '?');
+ if(query) {
+ *query++ = 0;
+ /* done even if the query part is a blank string */
+ u->query = strdup(query);
+ if(!u->query)
+ return CURLUE_OUT_OF_MEMORY;
+ }
if(!path[0])
- /* if there's no path set, unset */
+ /* if there's no path left set, unset */
path = NULL;
- else if(!(flags & CURLU_PATH_AS_IS)) {
- /* sanitise paths and remove ../ and ./ sequences according to RFC3986 */
- char *newp = Curl_dedotdotify(path);
- if(!newp)
- return CURLUE_OUT_OF_MEMORY;
+ else {
+ if(!(flags & CURLU_PATH_AS_IS)) {
+ /* remove ../ and ./ sequences according to RFC3986 */
+ char *newp = Curl_dedotdotify(path);
+ if(!newp)
+ return CURLUE_OUT_OF_MEMORY;
- if(strcmp(newp, path)) {
- /* if we got a new version */
- path = newp;
- path_alloced = TRUE;
+ if(strcmp(newp, path)) {
+ /* if we got a new version */
+ if(path_alloced)
+ Curl_safefree(u->temppath);
+ u->temppath = path = newp;
+ path_alloced = TRUE;
+ }
+ else
+ free(newp);
}
- else
- free(newp);
- }
- if(path) {
+
u->path = path_alloced?path:strdup(path);
if(!u->path)
return CURLUE_OUT_OF_MEMORY;
+ u->temppath = NULL; /* used now */
}
if(hostname) {
@@ -889,28 +924,22 @@ static CURLUcode seturl(const char *url, CURLU *u, unsigned int flags)
if(result)
return result;
- result = hostname_check(u, hostname);
- if(result)
- return result;
+ if(0 == strlen(hostname) && (flags & CURLU_NO_AUTHORITY)) {
+ /* Skip hostname check, it's allowed to be empty. */
+ }
+ else {
+ result = hostname_check(u, hostname);
+ if(result)
+ return result;
+ }
u->host = strdup(hostname);
if(!u->host)
return CURLUE_OUT_OF_MEMORY;
}
- if(query) {
- u->query = strdup(query);
- if(!u->query)
- return CURLUE_OUT_OF_MEMORY;
- }
- if(fragment && fragment[0]) {
- u->fragment = strdup(fragment);
- if(!u->fragment)
- return CURLUE_OUT_OF_MEMORY;
- }
-
- free(u->scratch);
- u->scratch = NULL;
+ Curl_safefree(u->scratch);
+ Curl_safefree(u->temppath);
return CURLUE_OK;
}
@@ -1075,24 +1104,23 @@ CURLUcode curl_url_get(CURLU *u, CURLUPart what,
else
return CURLUE_NO_SCHEME;
- if(scheme) {
- h = Curl_builtin_scheme(scheme);
- if(!port && (flags & CURLU_DEFAULT_PORT)) {
- /* there's no stored port number, but asked to deliver
- a default one for the scheme */
- if(h) {
- msnprintf(portbuf, sizeof(portbuf), "%ld", h->defport);
- port = portbuf;
- }
- }
- else if(port) {
- /* there is a stored port number, but asked to inhibit if it matches
- the default one for the scheme */
- if(h && (h->defport == u->portnum) &&
- (flags & CURLU_NO_DEFAULT_PORT))
- port = NULL;
+ h = Curl_builtin_scheme(scheme);
+ if(!port && (flags & CURLU_DEFAULT_PORT)) {
+ /* there's no stored port number, but asked to deliver
+ a default one for the scheme */
+ if(h) {
+ msnprintf(portbuf, sizeof(portbuf), "%ld", h->defport);
+ port = portbuf;
}
}
+ else if(port) {
+ /* there is a stored port number, but asked to inhibit if it matches
+ the default one for the scheme */
+ if(h && (h->defport == u->portnum) &&
+ (flags & CURLU_NO_DEFAULT_PORT))
+ port = NULL;
+ }
+
if(h && !(h->flags & PROTOPT_URLOPTIONS))
options = NULL;
@@ -1340,7 +1368,8 @@ CURLUcode curl_url_set(CURLU *u, CURLUPart what,
default:
return CURLUE_UNKNOWN_PART;
}
- if(storep) {
+ DEBUGASSERT(storep);
+ {
const char *newp = part;
size_t nalloc = strlen(part);
@@ -1432,9 +1461,14 @@ CURLUcode curl_url_set(CURLU *u, CURLUPart what,
}
if(what == CURLUPART_HOST) {
- if(hostname_check(u, (char *)newp)) {
- free((char *)newp);
- return CURLUE_MALFORMED_INPUT;
+ if(0 == strlen(newp) && (flags & CURLU_NO_AUTHORITY)) {
+ /* Skip hostname check, it's allowed to be empty. */
+ }
+ else {
+ if(hostname_check(u, (char *)newp)) {
+ free((char *)newp);
+ return CURLUE_MALFORMED_INPUT;
+ }
}
}
diff --git a/lib/urldata.h b/lib/urldata.h
index acc1fd1b9..f9365b2e6 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -68,6 +68,7 @@
#define PROTO_FAMILY_POP3 (CURLPROTO_POP3|CURLPROTO_POP3S)
#define PROTO_FAMILY_SMB (CURLPROTO_SMB|CURLPROTO_SMBS)
#define PROTO_FAMILY_SMTP (CURLPROTO_SMTP|CURLPROTO_SMTPS)
+#define PROTO_FAMILY_SSH (CURLPROTO_SCP|CURLPROTO_SFTP)
#define DEFAULT_CONNCACHE_SIZE 5
@@ -158,7 +159,13 @@ typedef ssize_t (Curl_recv)(struct connectdata *conn, /* connection data */
((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER))
/* the type we use for storing a single boolean bit */
+#ifdef _MSC_VER
+typedef bool bit;
+#define BIT(x) bool x
+#else
typedef unsigned int bit;
+#define BIT(x) bit x:1
+#endif
#ifdef HAVE_GSSAPI
/* Types needed for krb5-ftp connections */
@@ -166,7 +173,7 @@ struct krb5buffer {
void *data;
size_t size;
size_t index;
- bit eof_flag:1;
+ BIT(eof_flag);
};
enum protection_level {
@@ -209,7 +216,7 @@ struct ssl_connect_data {
#if defined(USE_SSL)
struct ssl_backend_data *backend;
#endif
- bit use:1;
+ BIT(use);
};
struct ssl_primary_config {
@@ -222,10 +229,11 @@ struct ssl_primary_config {
char *egdsocket; /* path to file containing the EGD daemon socket */
char *cipher_list; /* list of ciphers to use */
char *cipher_list13; /* list of TLS 1.3 cipher suites to use */
- bit verifypeer:1; /* set TRUE if this is desired */
- bit verifyhost:1; /* set TRUE if CN/SAN must match hostname */
- bit verifystatus:1; /* set TRUE if certificate status must be checked */
- bit sessionid:1; /* cache session IDs or not */
+ char *pinned_key;
+ BIT(verifypeer); /* set TRUE if this is desired */
+ BIT(verifyhost); /* set TRUE if CN/SAN must match hostname */
+ BIT(verifystatus); /* set TRUE if certificate status must be checked */
+ BIT(sessionid); /* cache session IDs or not */
};
struct ssl_config_data {
@@ -245,10 +253,10 @@ struct ssl_config_data {
char *password; /* TLS password (for, e.g., SRP) */
enum CURL_TLSAUTH authtype; /* TLS authentication type (default SRP) */
#endif
- bit certinfo:1; /* gather lots of certificate info */
- bit falsestart:1;
- bit enable_beast:1; /* allow this flaw for interoperability's sake*/
- bit no_revoke:1; /* disable SSL certificate revocation checks */
+ BIT(certinfo); /* gather lots of certificate info */
+ BIT(falsestart);
+ BIT(enable_beast); /* allow this flaw for interoperability's sake*/
+ BIT(no_revoke); /* disable SSL certificate revocation checks */
};
struct ssl_general_config {
@@ -291,8 +299,8 @@ struct digestdata {
char *qop;
char *algorithm;
int nc; /* nounce count */
- bit stale:1; /* set true for re-negotiation */
- bit userhash:1;
+ BIT(stale); /* set true for re-negotiation */
+ BIT(userhash);
#endif
};
@@ -386,10 +394,10 @@ struct negotiatedata {
size_t output_token_length;
#endif
#endif
- bool noauthpersist;
- bool havenoauthpersist;
- bool havenegdata;
- bool havemultiplerequests;
+ BIT(noauthpersist);
+ BIT(havenoauthpersist);
+ BIT(havenegdata);
+ BIT(havemultiplerequests);
};
#endif
@@ -403,64 +411,64 @@ struct ConnectBits {
is complete */
bool tcpconnect[2]; /* the TCP layer (or similar) is connected, this is set
the first time on the first connect function call */
- bit close:1; /* if set, we close the connection after this request */
- bit reuse:1; /* if set, this is a re-used connection */
- bit altused:1; /* this is an alt-svc "redirect" */
- bit conn_to_host:1; /* if set, this connection has a "connect to host"
- that overrides the host in the URL */
- bit conn_to_port:1; /* if set, this connection has a "connect to port"
- that overrides the port in the URL (remote port) */
- bit proxy:1; /* if set, this transfer is done through a proxy - any type */
- bit httpproxy:1; /* if set, this transfer is done through a http proxy */
- bit socksproxy:1; /* if set, this transfer is done through a socks proxy */
- bit user_passwd:1; /* do we use user+password for this connection? */
- bit proxy_user_passwd:1; /* user+password for the proxy? */
- bit ipv6_ip:1; /* we communicate with a remote site specified with pure IPv6
- IP address */
- bit ipv6:1; /* we communicate with a site using an IPv6 address */
- bit do_more:1; /* this is set TRUE if the ->curl_do_more() function is
- supposed to be called, after ->curl_do() */
- bit protoconnstart:1;/* the protocol layer has STARTED its operation after
- the TCP layer connect */
- bit retry:1; /* this connection is about to get closed and then
- re-attempted at another connection. */
- bit tunnel_proxy:1; /* if CONNECT is used to "tunnel" through the proxy.
- This is implicit when SSL-protocols are used through
- proxies, but can also be enabled explicitly by
- apps */
- bit authneg:1; /* TRUE when the auth phase has started, which means
- that we are creating a request with an auth header,
- but it is not the final request in the auth
- negotiation. */
- bit rewindaftersend:1;/* TRUE when the sending couldn't be stopped even
- though it will be discarded. When the whole send
- operation is done, we must call the data rewind
- callback. */
+ BIT(close); /* if set, we close the connection after this request */
+ BIT(reuse); /* if set, this is a re-used connection */
+ BIT(altused); /* this is an alt-svc "redirect" */
+ BIT(conn_to_host); /* if set, this connection has a "connect to host"
+ that overrides the host in the URL */
+ BIT(conn_to_port); /* if set, this connection has a "connect to port"
+ that overrides the port in the URL (remote port) */
+ BIT(proxy); /* if set, this transfer is done through a proxy - any type */
+ BIT(httpproxy); /* if set, this transfer is done through a http proxy */
+ BIT(socksproxy); /* if set, this transfer is done through a socks proxy */
+ BIT(user_passwd); /* do we use user+password for this connection? */
+ BIT(proxy_user_passwd); /* user+password for the proxy? */
+ BIT(ipv6_ip); /* we communicate with a remote site specified with pure IPv6
+ IP address */
+ BIT(ipv6); /* we communicate with a site using an IPv6 address */
+ BIT(do_more); /* this is set TRUE if the ->curl_do_more() function is
+ supposed to be called, after ->curl_do() */
+ BIT(protoconnstart);/* the protocol layer has STARTED its operation after
+ the TCP layer connect */
+ BIT(retry); /* this connection is about to get closed and then
+ re-attempted at another connection. */
+ BIT(tunnel_proxy); /* if CONNECT is used to "tunnel" through the proxy.
+ This is implicit when SSL-protocols are used through
+ proxies, but can also be enabled explicitly by
+ apps */
+ BIT(authneg); /* TRUE when the auth phase has started, which means
+ that we are creating a request with an auth header,
+ but it is not the final request in the auth
+ negotiation. */
+ BIT(rewindaftersend);/* TRUE when the sending couldn't be stopped even
+ though it will be discarded. When the whole send
+ operation is done, we must call the data rewind
+ callback. */
#ifndef CURL_DISABLE_FTP
- bit ftp_use_epsv:1; /* As set with CURLOPT_FTP_USE_EPSV, but if we find out
- EPSV doesn't work we disable it for the forthcoming
- requests */
- bit ftp_use_eprt:1; /* As set with CURLOPT_FTP_USE_EPRT, but if we find out
- EPRT doesn't work we disable it for the forthcoming
- requests */
- bit ftp_use_data_ssl:1; /* Enabled SSL for the data connection */
+ BIT(ftp_use_epsv); /* As set with CURLOPT_FTP_USE_EPSV, but if we find out
+ EPSV doesn't work we disable it for the forthcoming
+ requests */
+ BIT(ftp_use_eprt); /* As set with CURLOPT_FTP_USE_EPRT, but if we find out
+ EPRT doesn't work we disable it for the forthcoming
+ requests */
+ BIT(ftp_use_data_ssl); /* Enabled SSL for the data connection */
#endif
- bit netrc:1; /* name+password provided by netrc */
- bit userpwd_in_url:1; /* name+password found in url */
- bit stream_was_rewound:1; /* The stream was rewound after a request read
- past the end of its response byte boundary */
- bit proxy_connect_closed:1; /* TRUE if a proxy disconnected the connection
- in a CONNECT request with auth, so that
- libcurl should reconnect and continue. */
- bit bound:1; /* set true if bind() has already been done on this socket/
- connection */
- bit type_set:1; /* type= was used in the URL */
- bit multiplex:1; /* connection is multiplexed */
- bit tcp_fastopen:1; /* use TCP Fast Open */
- bit tls_enable_npn:1; /* TLS NPN extension? */
- bit tls_enable_alpn:1; /* TLS ALPN extension? */
- bit socksproxy_connecting:1; /* connecting through a socks proxy */
- bit connect_only:1;
+ BIT(netrc); /* name+password provided by netrc */
+ BIT(userpwd_in_url); /* name+password found in url */
+ BIT(stream_was_rewound); /* The stream was rewound after a request read
+ past the end of its response byte boundary */
+ BIT(proxy_connect_closed); /* TRUE if a proxy disconnected the connection
+ in a CONNECT request with auth, so that
+ libcurl should reconnect and continue. */
+ BIT(bound); /* set true if bind() has already been done on this socket/
+ connection */
+ BIT(type_set); /* type= was used in the URL */
+ BIT(multiplex); /* connection is multiplexed */
+ BIT(tcp_fastopen); /* use TCP Fast Open */
+ BIT(tls_enable_npn); /* TLS NPN extension? */
+ BIT(tls_enable_alpn); /* TLS ALPN extension? */
+ BIT(socksproxy_connecting); /* connecting through a socks proxy */
+ BIT(connect_only);
};
struct hostname {
@@ -493,7 +501,7 @@ struct Curl_async {
struct Curl_dns_entry *dns;
int status; /* if done is TRUE, this is the status from the callback */
void *os_specific; /* 'struct thread_data' for Windows */
- bit done:1; /* set TRUE when the lookup is complete */
+ BIT(done); /* set TRUE when the lookup is complete */
};
#define FIRSTSOCKET 0
@@ -614,20 +622,20 @@ struct SingleRequest {
#ifndef CURL_DISABLE_DOH
struct dohdata doh; /* DoH specific data for this request */
#endif
- bit header:1; /* incoming data has HTTP header */
- bit content_range:1; /* set TRUE if Content-Range: was found */
- bit upload_done:1; /* set to TRUE when doing chunked transfer-encoding
- upload and we're uploading the last chunk */
- bit ignorebody:1; /* we read a response-body but we ignore it! */
- bit http_bodyless:1; /* HTTP response status code is between 100 and 199,
- 204 or 304 */
- bit chunk:1; /* if set, this is a chunked transfer-encoding */
- bit upload_chunky:1; /* set TRUE if we are doing chunked transfer-encoding
- on upload */
- bit getheader:1; /* TRUE if header parsing is wanted */
- bit forbidchunk:1; /* used only to explicitly forbid chunk-upload for
- specific upload buffers. See readmoredata() in http.c
- for details. */
+ BIT(header); /* incoming data has HTTP header */
+ BIT(content_range); /* set TRUE if Content-Range: was found */
+ BIT(upload_done); /* set to TRUE when doing chunked transfer-encoding
+ upload and we're uploading the last chunk */
+ BIT(ignorebody); /* we read a response-body but we ignore it! */
+ BIT(http_bodyless); /* HTTP response status code is between 100 and 199,
+ 204 or 304 */
+ BIT(chunk); /* if set, this is a chunked transfer-encoding */
+ BIT(upload_chunky); /* set TRUE if we are doing chunked transfer-encoding
+ on upload */
+ BIT(getheader); /* TRUE if header parsing is wanted */
+ BIT(forbidchunk); /* used only to explicitly forbid chunk-upload for
+ specific upload buffers. See readmoredata() in http.c
+ for details. */
};
/*
@@ -776,8 +784,8 @@ struct http_connect_state {
TUNNEL_CONNECT, /* CONNECT has been sent off */
TUNNEL_COMPLETE /* CONNECT response received completely */
} tunnel_state;
- bit chunked_encoding:1;
- bit close_connection:1;
+ BIT(chunked_encoding);
+ BIT(close_connection);
};
struct ldapconninfo;
@@ -952,7 +960,7 @@ struct connectdata {
} allocptr;
#ifdef HAVE_GSSAPI
- bit sec_complete:1; /* if Kerberos is enabled for this connection */
+ BIT(sec_complete); /* if Kerberos is enabled for this connection */
enum protection_level command_prot;
enum protection_level data_prot;
enum protection_level request_data_prot;
@@ -1045,16 +1053,16 @@ struct connectdata {
#ifdef USE_UNIX_SOCKETS
char *unix_domain_socket;
- bit abstract_unix_socket:1;
+ BIT(abstract_unix_socket);
#endif
- bit tls_upgraded:1;
+ BIT(tls_upgraded);
/* the two following *_inuse fields are only flags, not counters in any way.
If TRUE it means the channel is in use, and if FALSE it means the channel
is up for grabs by one. */
- bit readchannel_inuse:1; /* whether the read channel is in use by an easy
- handle */
- bit writechannel_inuse:1; /* whether the write channel is in use by an easy
- handle */
+ BIT(readchannel_inuse); /* whether the read channel is in use by an easy
+ handle */
+ BIT(writechannel_inuse); /* whether the write channel is in use by an easy
+ handle */
};
/* The end of connectdata. */
@@ -1096,8 +1104,8 @@ struct PureInfo {
OpenSSL, GnuTLS, Schannel, NSS and GSKit
builds. Asked for with CURLOPT_CERTINFO
/ CURLINFO_CERTINFO */
- bit timecond:1; /* set to TRUE if the time condition didn't match, which
- thus made the document NOT get fetched */
+ BIT(timecond); /* set to TRUE if the time condition didn't match, which
+ thus made the document NOT get fetched */
};
@@ -1144,8 +1152,8 @@ struct Progress {
curl_off_t speeder[ CURR_TIME ];
struct curltime speeder_time[ CURR_TIME ];
int speeder_c;
- bit callback:1; /* set when progress callback is used */
- bit is_t_startransfer_set:1;
+ BIT(callback); /* set when progress callback is used */
+ BIT(is_t_startransfer_set);
};
typedef enum {
@@ -1193,12 +1201,12 @@ struct auth {
unsigned long picked;
unsigned long avail; /* Bitmask for what the server reports to support for
this resource */
- bit done:1; /* TRUE when the auth phase is done and ready to do the
- *actual* request */
- bit multipass:1; /* TRUE if this is not yet authenticated but within the
- auth multipass negotiation */
- bit iestyle:1; /* TRUE if digest should be done IE-style or FALSE if it
- should be RFC compliant */
+ BIT(done); /* TRUE when the auth phase is done and ready to do the
+ actual request */
+ BIT(multipass); /* TRUE if this is not yet authenticated but within the
+ auth multipass negotiation */
+ BIT(iestyle); /* TRUE if digest should be done IE-style or FALSE if it
+ should be RFC compliant */
};
struct Curl_http2_dep {
@@ -1328,7 +1336,7 @@ struct UrlState {
/* do FTP line-end conversions on most platforms */
#define CURL_DO_LINEEND_CONV
/* for FTP downloads: track CRLF sequences that span blocks */
- bit prev_block_had_trailing_cr:1;
+ BIT(prev_block_had_trailing_cr);
/* for FTP downloads: how many CRLFs did we converted to LFs? */
curl_off_t crlf_conversions;
#endif
@@ -1363,32 +1371,33 @@ struct UrlState {
trailers_state trailers_state; /* whether we are sending trailers
and what stage are we at */
#ifdef CURLDEBUG
- bit conncache_lock:1;
+ BIT(conncache_lock);
#endif
/* when curl_easy_perform() is called, the multi handle is "owned" by
the easy handle so curl_easy_cleanup() on such an easy handle will
also close the multi handle! */
- bit multi_owned_by_easy:1;
+ BIT(multi_owned_by_easy);
- bit this_is_a_follow:1; /* this is a followed Location: request */
- bit refused_stream:1; /* this was refused, try again */
- bit errorbuf:1; /* Set to TRUE if the error buffer is already filled in.
+ BIT(this_is_a_follow); /* this is a followed Location: request */
+ BIT(refused_stream); /* this was refused, try again */
+ BIT(errorbuf); /* Set to TRUE if the error buffer is already filled in.
This must be set to FALSE every time _easy_perform() is
called. */
- bit allow_port:1; /* Is set.use_port allowed to take effect or not. This
+ BIT(allow_port); /* Is set.use_port allowed to take effect or not. This
is always set TRUE when curl_easy_perform() is called. */
- bit authproblem:1; /* TRUE if there's some problem authenticating */
+ BIT(authproblem); /* TRUE if there's some problem authenticating */
/* set after initial USER failure, to prevent an authentication loop */
- bit ftp_trying_alternative:1;
- bit wildcardmatch:1; /* enable wildcard matching */
- bit expect100header:1; /* TRUE if we added Expect: 100-continue */
- bit use_range:1;
- bit rangestringalloc:1; /* the range string is malloc()'ed */
- bit done:1; /* set to FALSE when Curl_init_do() is called and set to TRUE
+ BIT(ftp_trying_alternative);
+ BIT(wildcardmatch); /* enable wildcard matching */
+ BIT(expect100header); /* TRUE if we added Expect: 100-continue */
+ BIT(use_range);
+ BIT(rangestringalloc); /* the range string is malloc()'ed */
+ BIT(done); /* set to FALSE when Curl_init_do() is called and set to TRUE
when multi_done() is called, to prevent multi_done() to get
invoked twice when the multi interface is used. */
- bit stream_depends_e:1; /* set or don't set the Exclusive bit */
- bit previouslypending:1; /* this transfer WAS in the multi->pending queue */
+ BIT(stream_depends_e); /* set or don't set the Exclusive bit */
+ BIT(previouslypending); /* this transfer WAS in the multi->pending queue */
+ BIT(cookie_engine);
};
@@ -1406,9 +1415,9 @@ struct DynamicStatic {
curl_easy_setopt(COOKIEFILE) calls */
struct curl_slist *resolve; /* set to point to the set.resolve list when
this should be dealt with in pretransfer */
- bit url_alloc:1; /* URL string is malloc()'ed */
- bit referer_alloc:1; /* referer string is malloc()ed */
- bit wildcard_resolve:1; /* Set to true if any resolve change is a
+ BIT(url_alloc); /* URL string is malloc()'ed */
+ BIT(referer_alloc); /* referer string is malloc()ed */
+ BIT(wildcard_resolve); /* Set to true if any resolve change is a
wildcard */
};
@@ -1688,84 +1697,82 @@ struct UserDefined {
CURLU *uh; /* URL handle for the current parsed URL */
void *trailer_data; /* pointer to pass to trailer data callback */
curl_trailer_callback trailer_callback; /* trailing data callback */
- bit is_fread_set:1; /* has read callback been set to non-NULL? */
- bit is_fwrite_set:1; /* has write callback been set to non-NULL? */
- bit free_referer:1; /* set TRUE if 'referer' points to a string we
+ BIT(is_fread_set); /* has read callback been set to non-NULL? */
+ BIT(is_fwrite_set); /* has write callback been set to non-NULL? */
+ BIT(free_referer); /* set TRUE if 'referer' points to a string we
allocated */
- bit tftp_no_options:1; /* do not send TFTP options requests */
- bit sep_headers:1; /* handle host and proxy headers separately */
- bit cookiesession:1; /* new cookie session? */
- bit crlf:1; /* convert crlf on ftp upload(?) */
- bit strip_path_slash:1; /* strip off initial slash from path */
- bit ssh_compression:1; /* enable SSH compression */
+ BIT(tftp_no_options); /* do not send TFTP options requests */
+ BIT(sep_headers); /* handle host and proxy headers separately */
+ BIT(cookiesession); /* new cookie session? */
+ BIT(crlf); /* convert crlf on ftp upload(?) */
+ BIT(strip_path_slash); /* strip off initial slash from path */
+ BIT(ssh_compression); /* enable SSH compression */
/* Here follows boolean settings that define how to behave during
this session. They are STATIC, set by libcurl users or at least initially
and they don't change during operations. */
- bit get_filetime:1; /* get the time and get of the remote file */
- bit tunnel_thru_httpproxy:1; /* use CONNECT through a HTTP proxy */
- bit prefer_ascii:1; /* ASCII rather than binary */
- bit ftp_append:1; /* append, not overwrite, on upload */
- bit ftp_list_only:1; /* switch FTP command for listing directories */
+ BIT(get_filetime); /* get the time and get of the remote file */
+ BIT(tunnel_thru_httpproxy); /* use CONNECT through a HTTP proxy */
+ BIT(prefer_ascii); /* ASCII rather than binary */
+ BIT(ftp_append); /* append, not overwrite, on upload */
+ BIT(ftp_list_only); /* switch FTP command for listing directories */
#ifndef CURL_DISABLE_FTP
- bit ftp_use_port:1; /* use the FTP PORT command */
- bit ftp_use_epsv:1; /* if EPSV is to be attempted or not */
- bit ftp_use_eprt:1; /* if EPRT is to be attempted or not */
- bit ftp_use_pret:1; /* if PRET is to be used before PASV or not */
- bit ftp_skip_ip:1; /* skip the IP address the FTP server passes on to
+ BIT(ftp_use_port); /* use the FTP PORT command */
+ BIT(ftp_use_epsv); /* if EPSV is to be attempted or not */
+ BIT(ftp_use_eprt); /* if EPRT is to be attempted or not */
+ BIT(ftp_use_pret); /* if PRET is to be used before PASV or not */
+ BIT(ftp_skip_ip); /* skip the IP address the FTP server passes on to
us */
#endif
- bit hide_progress:1; /* don't use the progress meter */
- bit http_fail_on_error:1; /* fail on HTTP error codes >= 400 */
- bit http_keep_sending_on_error:1; /* for HTTP status codes >= 300 */
- bit http_follow_location:1; /* follow HTTP redirects */
- bit http_transfer_encoding:1; /* request compressed HTTP
- transfer-encoding */
- bit allow_auth_to_other_hosts:1;
- bit include_header:1; /* include received protocol headers in data output */
- bit http_set_referer:1; /* is a custom referer used */
- bit http_auto_referer:1; /* set "correct" referer when following
- location: */
- bit opt_no_body:1; /* as set with CURLOPT_NOBODY */
- bit upload:1; /* upload request */
- bit verbose:1; /* output verbosity */
- bit krb:1; /* Kerberos connection requested */
- bit reuse_forbid:1; /* forbidden to be reused, close after use */
- bit reuse_fresh:1; /* do not re-use an existing connection */
-
- bit no_signal:1; /* do not use any signal/alarm handler */
- bit tcp_nodelay:1; /* whether to enable TCP_NODELAY or not */
- bit ignorecl:1; /* ignore content length */
- bit connect_only:1; /* make connection, let application use the socket */
- bit http_te_skip:1; /* pass the raw body data to the user, even when
- transfer-encoded (chunked, compressed) */
- bit http_ce_skip:1; /* pass the raw body data to the user, even when
- content-encoded (chunked, compressed) */
- bit proxy_transfer_mode:1; /* set transfer mode (;type=<a|i>) when doing
- FTP via an HTTP proxy */
+ BIT(hide_progress); /* don't use the progress meter */
+ BIT(http_fail_on_error); /* fail on HTTP error codes >= 400 */
+ BIT(http_keep_sending_on_error); /* for HTTP status codes >= 300 */
+ BIT(http_follow_location); /* follow HTTP redirects */
+ BIT(http_transfer_encoding); /* request compressed HTTP transfer-encoding */
+ BIT(allow_auth_to_other_hosts);
+ BIT(include_header); /* include received protocol headers in data output */
+ BIT(http_set_referer); /* is a custom referer used */
+ BIT(http_auto_referer); /* set "correct" referer when following
+ location: */
+ BIT(opt_no_body); /* as set with CURLOPT_NOBODY */
+ BIT(upload); /* upload request */
+ BIT(verbose); /* output verbosity */
+ BIT(krb); /* Kerberos connection requested */
+ BIT(reuse_forbid); /* forbidden to be reused, close after use */
+ BIT(reuse_fresh); /* do not re-use an existing connection */
+ BIT(no_signal); /* do not use any signal/alarm handler */
+ BIT(tcp_nodelay); /* whether to enable TCP_NODELAY or not */
+ BIT(ignorecl); /* ignore content length */
+ BIT(connect_only); /* make connection, let application use the socket */
+ BIT(http_te_skip); /* pass the raw body data to the user, even when
+ transfer-encoded (chunked, compressed) */
+ BIT(http_ce_skip); /* pass the raw body data to the user, even when
+ content-encoded (chunked, compressed) */
+ BIT(proxy_transfer_mode); /* set transfer mode (;type=<a|i>) when doing
+ FTP via an HTTP proxy */
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
- bit socks5_gssapi_nec:1; /* Flag to support NEC SOCKS5 server */
+ BIT(socks5_gssapi_nec); /* Flag to support NEC SOCKS5 server */
#endif
- bit sasl_ir:1; /* Enable/disable SASL initial response */
- bit wildcard_enabled:1; /* enable wildcard matching */
- bit tcp_keepalive:1; /* use TCP keepalives */
- bit tcp_fastopen:1; /* use TCP Fast Open */
- bit ssl_enable_npn:1; /* TLS NPN extension? */
- bit ssl_enable_alpn:1;/* TLS ALPN extension? */
- bit path_as_is:1; /* allow dotdots? */
- bit pipewait:1; /* wait for multiplex status before starting a new
- connection */
- bit suppress_connect_headers:1; /* suppress proxy CONNECT response headers
- from user callbacks */
- bit dns_shuffle_addresses:1; /* whether to shuffle addresses before use */
- bit stream_depends_e:1; /* set or don't set the Exclusive bit */
- bit haproxyprotocol:1; /* whether to send HAProxy PROXY protocol v1
- header */
- bit abstract_unix_socket:1;
- bit disallow_username_in_url:1; /* disallow username in url */
- bit doh:1; /* DNS-over-HTTPS enabled */
- bit doh_get:1; /* use GET for DoH requests, instead of POST */
- bit http09_allowed:1; /* allow HTTP/0.9 responses */
+ BIT(sasl_ir); /* Enable/disable SASL initial response */
+ BIT(wildcard_enabled); /* enable wildcard matching */
+ BIT(tcp_keepalive); /* use TCP keepalives */
+ BIT(tcp_fastopen); /* use TCP Fast Open */
+ BIT(ssl_enable_npn); /* TLS NPN extension? */
+ BIT(ssl_enable_alpn);/* TLS ALPN extension? */
+ BIT(path_as_is); /* allow dotdots? */
+ BIT(pipewait); /* wait for multiplex status before starting a new
+ connection */
+ BIT(suppress_connect_headers); /* suppress proxy CONNECT response headers
+ from user callbacks */
+ BIT(dns_shuffle_addresses); /* whether to shuffle addresses before use */
+ BIT(stream_depends_e); /* set or don't set the Exclusive bit */
+ BIT(haproxyprotocol); /* whether to send HAProxy PROXY protocol v1
+ header */
+ BIT(abstract_unix_socket);
+ BIT(disallow_username_in_url); /* disallow username in url */
+ BIT(doh); /* DNS-over-HTTPS enabled */
+ BIT(doh_get); /* use GET for DoH requests, instead of POST */
+ BIT(http09_allowed); /* allow HTTP/0.9 responses */
};
struct Names {
diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h
index 73bd25ed5..a1a557d2a 100644
--- a/lib/vauth/vauth.h
+++ b/lib/vauth/vauth.h
@@ -43,7 +43,7 @@ struct negotiatedata;
#endif
#if defined(USE_WINDOWS_SSPI)
-#define GSS_ERROR(status) (status & 0x80000000)
+#define GSS_ERROR(status) ((status) & 0x80000000)
#endif
/* This is used to build a SPN string */
diff --git a/lib/version.c b/lib/version.c
index ae2b09d31..cfd09e36d 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -104,14 +104,12 @@ char *curl_version(void)
left -= len;
ptr += len;
- if(left > 1) {
- len = Curl_ssl_version(ptr + 1, left - 1);
+ len = Curl_ssl_version(ptr + 1, left - 1);
- if(len > 0) {
- *ptr = ' ';
- left -= ++len;
- ptr += len;
- }
+ if(len > 0) {
+ *ptr = ' ';
+ left -= ++len;
+ ptr += len;
}
#ifdef HAVE_LIBZ
@@ -369,6 +367,9 @@ static curl_version_info_data version_info = {
#if defined(USE_ALTSVC)
| CURL_VERSION_ALTSVC
#endif
+#ifdef USE_ESNI
+ | CURL_VERSION_ESNI
+#endif
,
NULL, /* ssl_version */
0, /* ssl_version_num, this is kept at zero */
diff --git a/lib/vquic/ngtcp2.c b/lib/vquic/ngtcp2.c
index 6b3d53ee0..c0f9b16e3 100644
--- a/lib/vquic/ngtcp2.c
+++ b/lib/vquic/ngtcp2.c
@@ -43,7 +43,9 @@
#include "memdebug.h"
/* #define DEBUG_NGTCP2 */
+#ifdef CURLDEBUG
#define DEBUG_HTTP3
+#endif
#ifdef DEBUG_HTTP3
#define H3BUGF(x) x
#else
@@ -138,13 +140,13 @@ static void quic_settings(ngtcp2_settings *s,
s->log_printf = NULL;
#endif
s->initial_ts = timestamp();
- s->max_stream_data_bidi_local = stream_buffer_size;
- s->max_stream_data_bidi_remote = QUIC_MAX_STREAMS;
- s->max_stream_data_uni = QUIC_MAX_STREAMS;
- s->max_data = QUIC_MAX_DATA;
- s->max_streams_bidi = 1;
- s->max_streams_uni = 3;
- s->idle_timeout = QUIC_IDLE_TIMEOUT;
+ s->transport_params.initial_max_stream_data_bidi_local = stream_buffer_size;
+ s->transport_params.initial_max_stream_data_bidi_remote = QUIC_MAX_STREAMS;
+ s->transport_params.initial_max_stream_data_uni = QUIC_MAX_STREAMS;
+ s->transport_params.initial_max_data = QUIC_MAX_DATA;
+ s->transport_params.initial_max_streams_bidi = 1;
+ s->transport_params.initial_max_streams_uni = 3;
+ s->transport_params.idle_timeout = QUIC_IDLE_TIMEOUT;
}
static FILE *keylog_file; /* not thread-safe */
@@ -204,7 +206,7 @@ static int quic_add_handshake_data(SSL *ssl, OSSL_ENCRYPTION_LEVEL ossl_level,
qs->qconn, level, (uint8_t *)(&crypto_data->buf[crypto_data->len] - len),
len);
if(rv) {
- fprintf(stderr, "write_client_handshake failed\n");
+ H3BUGF(fprintf(stderr, "write_client_handshake failed\n"));
}
assert(0 == rv);
@@ -548,7 +550,7 @@ CURLcode Curl_quic_connect(struct connectdata *conn,
if(!Curl_addr2string((struct sockaddr*)addr, addrlen, ipbuf, &port)) {
char buffer[STRERROR_LEN];
failf(data, "ssrem inet_ntop() failed with errno %d: %s",
- errno, Curl_strerror(errno, buffer, sizeof(buffer)));
+ SOCKERRNO, Curl_strerror(SOCKERRNO, buffer, sizeof(buffer)));
return CURLE_BAD_FUNCTION_ARGUMENT;
}
@@ -597,12 +599,11 @@ CURLcode Curl_quic_connect(struct connectdata *conn,
ngtcp2_conn_get_local_transport_params(qs->qconn, &params);
nwrite = ngtcp2_encode_transport_params(
- paramsbuf, sizeof(paramsbuf), NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO,
- &params);
+ paramsbuf, sizeof(paramsbuf), NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO,
+ &params);
if(nwrite < 0) {
- fprintf(stderr, "ngtcp2_encode_transport_params: %s\n",
- ngtcp2_strerror((int)nwrite));
-
+ failf(data, "ngtcp2_encode_transport_params: %s\n",
+ ngtcp2_strerror((int)nwrite));
return CURLE_FAILED_INIT;
}
@@ -699,7 +700,7 @@ static int cb_h3_stream_close(nghttp3_conn *conn, int64_t stream_id,
(void)stream_id;
(void)app_error_code;
(void)user_data;
- fprintf(stderr, "cb_h3_stream_close CALLED\n");
+ H3BUGF(infof(data, "cb_h3_stream_close CALLED\n"));
stream->closed = TRUE;
Curl_expire(data, 0, EXPIRE_QUIC);
@@ -715,7 +716,7 @@ static int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream_id,
struct Curl_easy *data = stream_user_data;
struct HTTP *stream = data->req.protop;
(void)conn;
- fprintf(stderr, "cb_h3_recv_data CALLED with %d bytes\n", buflen);
+ H3BUGF(infof(data, "cb_h3_recv_data CALLED with %d bytes\n", buflen));
/* TODO: this needs to be handled properly */
DEBUGASSERT(buflen <= stream->len);
@@ -749,7 +750,6 @@ static int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id,
struct quicsocket *qs = user_data;
(void)conn;
(void)stream_user_data;
- fprintf(stderr, "cb_h3_deferred_consume CALLED\n");
ngtcp2_conn_extend_max_stream_offset(qs->qconn, stream_id, consumed);
ngtcp2_conn_extend_max_offset(qs->qconn, consumed);
@@ -818,8 +818,6 @@ static int cb_h3_recv_header(nghttp3_conn *conn, int64_t stream_id,
(void)flags;
(void)user_data;
- fprintf(stderr, "cb_h3_recv_header called!\n");
-
if(h3name.len == sizeof(":status") - 1 &&
!memcmp(":status", h3name.base, h3name.len)) {
int status = decode_status_code(h3val.base, h3val.len);
@@ -849,7 +847,6 @@ static int cb_h3_send_stop_sending(nghttp3_conn *conn, int64_t stream_id,
(void)app_error_code;
(void)user_data;
(void)stream_user_data;
- fprintf(stderr, "cb_h3_send_stop_sending CALLED\n");
return 0;
}
@@ -947,9 +944,6 @@ static ssize_t ngh3_stream_recv(struct connectdata *conn,
struct HTTP *stream = conn->data->req.protop;
struct quicsocket *qs = conn->quic;
- fprintf(stderr, "ngh3_stream_recv CALLED (easy %p, socket %d)\n",
- conn->data, sockfd);
-
if(!stream->memlen) {
/* remember where to store incoming data for this stream and how big the
buffer is */
@@ -1003,17 +997,18 @@ static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id,
if(!data->set.postfields) {
stream->h3out->used -= datalen;
- fprintf(stderr, "cb_h3_acked_stream_data, %zd bytes, %zd left unacked\n",
- datalen, stream->h3out->used);
+ H3BUGF(infof(data,
+ "cb_h3_acked_stream_data, %zd bytes, %zd left unacked\n",
+ datalen, stream->h3out->used));
DEBUGASSERT(stream->h3out->used < H3_SEND_SIZE);
}
return 0;
}
-static int cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
- const uint8_t **pdata,
- size_t *pdatalen, uint32_t *pflags,
- void *user_data, void *stream_user_data)
+static ssize_t cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
+ nghttp3_vec *vec, size_t veccnt,
+ uint32_t *pflags, void *user_data,
+ void *stream_user_data)
{
struct Curl_easy *data = stream_user_data;
size_t nread;
@@ -1021,12 +1016,13 @@ static int cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
(void)conn;
(void)stream_id;
(void)user_data;
+ (void)veccnt;
if(data->set.postfields) {
- *pdata = data->set.postfields;
- *pdatalen = data->state.infilesize;
+ vec[0].base = data->set.postfields;
+ vec[0].len = data->state.infilesize;
*pflags = NGHTTP3_DATA_FLAG_EOF;
- return 0;
+ return 1;
}
nread = CURLMIN(stream->upload_len, H3_SEND_SIZE - stream->h3out->used);
@@ -1044,8 +1040,8 @@ static int cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
out->used += nread;
/* that's the chunk we return to nghttp3 */
- *pdata = &out->buf[out->windex];
- *pdatalen = nread;
+ vec[0].base = &out->buf[out->windex];
+ vec[0].len = nread;
if(out->windex == H3_SEND_SIZE)
out->windex = 0; /* wrap */
@@ -1056,22 +1052,20 @@ static int cb_h3_readfunction(nghttp3_conn *conn, int64_t stream_id,
if(!stream->upload_left)
*pflags = NGHTTP3_DATA_FLAG_EOF;
}
- fprintf(stderr, "cb_h3_readfunction %zd bytes%s (at %zd unacked)\n",
- nread, *pflags == NGHTTP3_DATA_FLAG_EOF?" EOF":"",
- out->used);
+ H3BUGF(infof(data, "cb_h3_readfunction %zd bytes%s (at %zd unacked)\n",
+ nread, *pflags == NGHTTP3_DATA_FLAG_EOF?" EOF":"",
+ out->used));
}
if(stream->upload_done && !stream->upload_len &&
(stream->upload_left <= 0)) {
H3BUGF(infof(data, "!!!!!!!!! cb_h3_readfunction sets EOF\n"));
- *pdata = NULL;
- *pdatalen = 0;
*pflags = NGHTTP3_DATA_FLAG_EOF;
+ return 0;
}
else if(!nread) {
- *pdatalen = 0;
return NGHTTP3_ERR_WOULDBLOCK;
}
- return 0;
+ return 1;
}
/* Index where :authority header field will appear in request header
@@ -1202,8 +1196,10 @@ static CURLcode http_request(struct connectdata *conn, const void *mem,
nva[i].namelen = strlen((char *)nva[i].name);
}
else {
- nva[i].name = (unsigned char *)hdbuf;
nva[i].namelen = (size_t)(end - hdbuf);
+ /* Lower case the header name for HTTP/3 */
+ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].namelen);
+ nva[i].name = (unsigned char *)hdbuf;
}
nva[i].flags = NGHTTP3_NV_FLAG_NONE;
hdbuf = end + 1;
@@ -1332,7 +1328,8 @@ static ssize_t ngh3_stream_send(struct connectdata *conn,
sent = len;
}
else {
- fprintf(stderr, "ngh3_stream_send() wants to send %zd bytes\n", len);
+ H3BUGF(infof(conn->data, "ngh3_stream_send() wants to send %zd bytes\n",
+ len));
if(!stream->upload_len) {
stream->upload_mem = mem;
stream->upload_len = len;
@@ -1407,13 +1404,13 @@ static CURLcode ng_process_ingress(struct connectdata *conn, int sockfd,
for(;;) {
remote_addrlen = sizeof(remote_addr);
- while((recvd = recvfrom(sockfd, buf, bufsize, MSG_DONTWAIT,
+ while((recvd = recvfrom(sockfd, buf, bufsize, 0,
(struct sockaddr *)&remote_addr,
&remote_addrlen)) == -1 &&
- errno == EINTR)
+ SOCKERRNO == EINTR)
;
if(recvd == -1) {
- if(errno == EAGAIN || errno == EWOULDBLOCK)
+ if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK)
break;
failf(conn->data, "ngtcp2: recvfrom() unexpectedly returned %d", recvd);
@@ -1524,7 +1521,7 @@ static CURLcode ng_flush_egress(struct connectdata *conn, int sockfd,
return CURLE_SEND_ERROR;
}
}
- else if(ndatalen > 0) {
+ else if(ndatalen >= 0) {
rv = nghttp3_conn_add_write_offset(qs->h3conn, stream_id, ndatalen);
if(rv != 0) {
failf(conn->data,
@@ -1547,19 +1544,17 @@ static CURLcode ng_flush_egress(struct connectdata *conn, int sockfd,
}
memcpy(&remote_addr, ps.path.remote.addr, ps.path.remote.addrlen);
- while((sent = sendto(sockfd, out, outlen, MSG_DONTWAIT,
- (struct sockaddr *)&remote_addr,
- (socklen_t)ps.path.remote.addrlen)) == -1 &&
- errno == EINTR)
+ while((sent = send(sockfd, out, outlen, 0)) == -1 &&
+ SOCKERRNO == EINTR)
;
if(sent == -1) {
- if(errno == EAGAIN || errno == EWOULDBLOCK) {
+ if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK) {
/* TODO Cache packet */
break;
}
else {
- failf(conn->data, "sendto() returned %zd (errno %d)\n", sent,
+ failf(conn->data, "send() returned %zd (errno %d)\n", sent,
SOCKERRNO);
return CURLE_SEND_ERROR;
}
@@ -1589,8 +1584,6 @@ CURLcode Curl_quic_done_sending(struct connectdata *conn)
/* only for HTTP/3 transfers */
struct HTTP *stream = conn->data->req.protop;
struct quicsocket *qs = conn->quic;
- fprintf(stderr, "!!! Curl_quic_done_sending stream %zu\n",
- stream->stream3_id);
stream->upload_done = TRUE;
(void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id);
}
diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c
index 7f9b34a1e..0ee360d07 100644
--- a/lib/vquic/quiche.c
+++ b/lib/vquic/quiche.c
@@ -50,7 +50,7 @@
#define QUIC_MAX_STREAMS (256*1024)
#define QUIC_MAX_DATA (1*1024*1024)
-#define QUIC_IDLE_TIMEOUT 60 * 1000 /* milliseconds */
+#define QUIC_IDLE_TIMEOUT (60 * 1000) /* milliseconds */
static CURLcode process_ingress(struct connectdata *conn,
curl_socket_t sockfd,
@@ -203,17 +203,17 @@ CURLcode Curl_quic_connect(struct connectdata *conn, curl_socket_t sockfd,
if(result)
return result;
-#if 0
/* store the used address as a string */
- if(!Curl_addr2string((struct sockaddr*)addr,
+ if(!Curl_addr2string((struct sockaddr*)addr, addrlen,
conn->primary_ip, &conn->primary_port)) {
char buffer[STRERROR_LEN];
failf(data, "ssrem inet_ntop() failed with errno %d: %s",
- errno, Curl_strerror(errno, buffer, sizeof(buffer)));
+ SOCKERRNO, Curl_strerror(SOCKERRNO, buffer, sizeof(buffer)));
return CURLE_BAD_FUNCTION_ARGUMENT;
}
memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN);
-#endif
+ Curl_persistconninfo(conn);
+
/* for connection reuse purposes: */
conn->ssl[FIRSTSOCKET].state = ssl_connection_complete;
@@ -237,7 +237,7 @@ static CURLcode quiche_has_connected(struct connectdata *conn,
conn->httpversion = 30;
conn->bundle->multiuse = BUNDLE_MULTIPLEX;
- qs->h3config = quiche_h3_config_new(0, 1024, 0, 0);
+ qs->h3config = quiche_h3_config_new();
if(!qs->h3config)
return CURLE_OUT_OF_MEMORY;
@@ -301,7 +301,7 @@ static CURLcode process_ingress(struct connectdata *conn, int sockfd,
do {
recvd = recv(sockfd, buf, bufsize, 0);
- if((recvd < 0) && ((errno == EAGAIN) || (errno == EWOULDBLOCK)))
+ if((recvd < 0) && ((SOCKERRNO == EAGAIN) || (SOCKERRNO == EWOULDBLOCK)))
break;
if(recvd < 0) {
@@ -404,13 +404,14 @@ static ssize_t h3_stream_recv(struct connectdata *conn,
quiche_h3_event *ev;
int rc;
struct h3h1header headers;
- struct HTTP *stream = conn->data->req.protop;
+ struct Curl_easy *data = conn->data;
+ struct HTTP *stream = data->req.protop;
headers.dest = buf;
headers.destlen = buffersize;
headers.nlen = 0;
if(process_ingress(conn, sockfd, qs)) {
- infof(conn->data, "h3_stream_recv returns on ingress\n");
+ infof(data, "h3_stream_recv returns on ingress\n");
*curlcode = CURLE_RECV_ERROR;
return -1;
}
@@ -423,7 +424,7 @@ static ssize_t h3_stream_recv(struct connectdata *conn,
if(s != stream->stream3_id) {
/* another transfer, ignore for now */
- infof(conn->data, "Got h3 for stream %u, expects %u\n",
+ infof(data, "Got h3 for stream %u, expects %u\n",
s, stream->stream3_id);
continue;
}
@@ -458,9 +459,7 @@ static ssize_t h3_stream_recv(struct connectdata *conn,
break;
case QUICHE_H3_EVENT_FINISHED:
- if(quiche_conn_close(qs->conn, true, 0, NULL, 0) < 0) {
- ;
- }
+ streamclose(conn, "End of stream");
recvd = 0; /* end of stream */
break;
default:
@@ -477,7 +476,9 @@ static ssize_t h3_stream_recv(struct connectdata *conn,
*curlcode = (-1 == recvd)? CURLE_AGAIN : CURLE_OK;
if(recvd >= 0)
/* Get this called again to drain the event queue */
- Curl_expire(conn->data, 0, EXPIRE_QUIC);
+ Curl_expire(data, 0, EXPIRE_QUIC);
+
+ data->state.drain = (recvd >= 0) ? 1 : 0;
return recvd;
}
@@ -646,8 +647,10 @@ static CURLcode http_request(struct connectdata *conn, const void *mem,
nva[i].name_len = strlen((char *)nva[i].name);
}
else {
- nva[i].name = (unsigned char *)hdbuf;
nva[i].name_len = (size_t)(end - hdbuf);
+ /* Lower case the header name for HTTP/3 */
+ Curl_strntolower((char *)hdbuf, hdbuf, nva[i].name_len);
+ nva[i].name = (unsigned char *)hdbuf;
}
hdbuf = end + 1;
while(*hdbuf == ' ' || *hdbuf == '\t')
diff --git a/lib/vssh/libssh.c b/lib/vssh/libssh.c
index 76956a3c1..cad8b3786 100644
--- a/lib/vssh/libssh.c
+++ b/lib/vssh/libssh.c
@@ -493,7 +493,7 @@ restart:
return SSH_ERROR;
nprompts = ssh_userauth_kbdint_getnprompts(sshc->ssh_session);
- if(nprompts == SSH_ERROR || nprompts != 1)
+ if(nprompts != 1)
return SSH_ERROR;
rc = ssh_userauth_kbdint_setanswer(sshc->ssh_session, 0, conn->passwd);
@@ -1356,7 +1356,7 @@ static CURLcode myssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
}
- else if(sshc->readdir_attrs == NULL && sftp_dir_eof(sshc->sftp_dir)) {
+ else if(sftp_dir_eof(sshc->sftp_dir)) {
state(conn, SSH_SFTP_READDIR_DONE);
break;
}
@@ -1999,7 +1999,7 @@ static CURLcode myssh_block_statemach(struct connectdata *conn,
}
}
- if(!result && block) {
+ if(block) {
curl_socket_t fd_read = conn->sock[FIRSTSOCKET];
/* wait for the socket to become ready */
(void) Curl_socket_check(fd_read, CURL_SOCKET_BAD,
diff --git a/lib/vssh/libssh2.c b/lib/vssh/libssh2.c
index 2b25a514f..c71cfbc9f 100644
--- a/lib/vssh/libssh2.c
+++ b/lib/vssh/libssh2.c
@@ -2811,7 +2811,7 @@ static CURLcode ssh_block_statemach(struct connectdata *conn,
}
#ifdef HAVE_LIBSSH2_SESSION_BLOCK_DIRECTION
- if(!result && block) {
+ if(block) {
int dir = libssh2_session_block_directions(sshc->ssh_session);
curl_socket_t sock = conn->sock[FIRSTSOCKET];
curl_socket_t fd_read = CURL_SOCKET_BAD;
@@ -2822,7 +2822,7 @@ static CURLcode ssh_block_statemach(struct connectdata *conn,
fd_write = sock;
/* wait for the socket to become ready */
(void)Curl_socket_check(fd_read, CURL_SOCKET_BAD, fd_write,
- left>1000?1000:left); /* ignore result */
+ left>1000?1000:(time_t)left);
}
#endif
diff --git a/lib/vtls/gskit.c b/lib/vtls/gskit.c
index b93ff5d4f..32153dd07 100644
--- a/lib/vtls/gskit.c
+++ b/lib/vtls/gskit.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -26,6 +26,8 @@
#include <gskssl.h>
#include <qsoasync.h>
+#undef HAVE_SOCKETPAIR /* because the native one isn't good enough */
+#include "socketpair.h"
/* Some symbols are undefined/unsupported on OS400 versions < V7R1. */
#ifndef GSK_SSL_EXTN_SERVERNAME_REQUEST
@@ -511,100 +513,6 @@ static void close_async_handshake(struct ssl_connect_data *connssl)
BACKEND->iocport = -1;
}
-/* SSL over SSL
- * Problems:
- * 1) GSKit can only perform SSL on an AF_INET or AF_INET6 stream socket. To
- * pipe an SSL stream into another, it is therefore needed to have a pair
- * of such communicating sockets and handle the pipelining explicitly.
- * 2) OS/400 socketpair() is only implemented for domain AF_UNIX, thus cannot
- * be used to produce the pipeline.
- * The solution is to simulate socketpair() for AF_INET with low-level API
- * listen(), bind() and connect().
- */
-
-static int
-inetsocketpair(int sv[2])
-{
- int lfd; /* Listening socket. */
- int sfd; /* Server socket. */
- int cfd; /* Client socket. */
- int len;
- struct sockaddr_in addr1;
- struct sockaddr_in addr2;
-
- /* Create listening socket on a local dynamic port. */
- lfd = socket(AF_INET, SOCK_STREAM, 0);
- if(lfd < 0)
- return -1;
- memset((char *) &addr1, 0, sizeof(addr1));
- addr1.sin_family = AF_INET;
- addr1.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
- addr1.sin_port = 0;
- if(bind(lfd, (struct sockaddr *) &addr1, sizeof(addr1)) ||
- listen(lfd, 2) < 0) {
- close(lfd);
- return -1;
- }
-
- /* Get the allocated port. */
- len = sizeof(addr1);
- if(getsockname(lfd, (struct sockaddr *) &addr1, &len) < 0) {
- close(lfd);
- return -1;
- }
-
- /* Create the client socket. */
- cfd = socket(AF_INET, SOCK_STREAM, 0);
- if(cfd < 0) {
- close(lfd);
- return -1;
- }
-
- /* Request unblocking connection to the listening socket. */
- curlx_nonblock(cfd, TRUE);
- if(connect(cfd, (struct sockaddr *) &addr1, sizeof(addr1)) < 0 &&
- errno != EINPROGRESS) {
- close(lfd);
- close(cfd);
- return -1;
- }
-
- /* Get the client dynamic port for intrusion check below. */
- len = sizeof(addr2);
- if(getsockname(cfd, (struct sockaddr *) &addr2, &len) < 0) {
- close(lfd);
- close(cfd);
- return -1;
- }
-
- /* Accept the incoming connection and get the server socket. */
- curlx_nonblock(lfd, TRUE);
- for(;;) {
- len = sizeof(addr1);
- sfd = accept(lfd, (struct sockaddr *) &addr1, &len);
- if(sfd < 0) {
- close(lfd);
- close(cfd);
- return -1;
- }
-
- /* Check for possible intrusion from an external process. */
- if(addr1.sin_addr.s_addr == addr2.sin_addr.s_addr &&
- addr1.sin_port == addr2.sin_port)
- break;
-
- /* Intrusion: reject incoming connection. */
- close(sfd);
- }
-
- /* Done, return sockets and succeed. */
- close(lfd);
- curlx_nonblock(cfd, FALSE);
- sv[0] = cfd;
- sv[1] = sfd;
- return 0;
-}
-
static int pipe_ssloverssl(struct connectdata *conn, int sockindex,
int directions)
{
@@ -855,7 +763,7 @@ static CURLcode gskit_connect_step1(struct connectdata *conn, int sockindex)
/* Establish a pipelining socket pair for SSL over SSL. */
if(conn->proxy_ssl[sockindex].use) {
- if(inetsocketpair(sockpair))
+ if(Curl_socketpair(0, 0, 0, sockpair))
return CURLE_SSL_CONNECT_ERROR;
BACKEND->localfd = sockpair[0];
BACKEND->remotefd = sockpair[1];
@@ -1157,7 +1065,7 @@ static CURLcode gskit_connect_common(struct connectdata *conn, int sockindex,
{
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
- long timeout_ms;
+ timediff_t timeout_ms;
CURLcode result = CURLE_OK;
*done = connssl->state == ssl_connection_complete;
diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
index 8693cdce3..3737d7c68 100644
--- a/lib/vtls/gtls.c
+++ b/lib/vtls/gtls.c
@@ -288,7 +288,7 @@ static CURLcode handshake(struct connectdata *conn,
curl_socket_t sockfd = conn->sock[sockindex];
for(;;) {
- time_t timeout_ms;
+ timediff_t timeout_ms;
int rc;
/* check allowed time left */
@@ -311,7 +311,7 @@ static CURLcode handshake(struct connectdata *conn,
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
nonblocking?0:
- timeout_ms?timeout_ms:1000);
+ timeout_ms?(time_t)timeout_ms:1000);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
@@ -1608,7 +1608,7 @@ static ssize_t gtls_send(struct connectdata *conn,
static void close_one(struct ssl_connect_data *connssl)
{
if(BACKEND->session) {
- gnutls_bye(BACKEND->session, GNUTLS_SHUT_RDWR);
+ gnutls_bye(BACKEND->session, GNUTLS_SHUT_WR);
gnutls_deinit(BACKEND->session);
BACKEND->session = NULL;
}
diff --git a/lib/vtls/mbedtls.c b/lib/vtls/mbedtls.c
index 63d1f4c81..e34ec9d13 100644
--- a/lib/vtls/mbedtls.c
+++ b/lib/vtls/mbedtls.c
@@ -588,6 +588,9 @@ mbed_connect_step2(struct connectdata *conn,
else if(ret & MBEDTLS_X509_BADCERT_NOT_TRUSTED)
failf(data, "Cert verify failed: BADCERT_NOT_TRUSTED");
+ else if(ret & MBEDTLS_X509_BADCERT_FUTURE)
+ failf(data, "Cert verify failed: BADCERT_FUTURE");
+
return CURLE_PEER_FAILED_VERIFICATION;
}
@@ -884,7 +887,7 @@ mbed_connect_common(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- long timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -930,7 +933,7 @@ mbed_connect_common(struct connectdata *conn,
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
- nonblocking ? 0 : timeout_ms);
+ nonblocking ? 0 : (time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
diff --git a/lib/vtls/mesalink.c b/lib/vtls/mesalink.c
index 9507888bd..cab1e390b 100644
--- a/lib/vtls/mesalink.c
+++ b/lib/vtls/mesalink.c
@@ -6,7 +6,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2017 - 2018, Yiming Jing, <jingyiming@baidu.com>
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -494,7 +494,7 @@ mesalink_connect_common(struct connectdata *conn, int sockindex,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- time_t timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -543,7 +543,8 @@ mesalink_connect_common(struct connectdata *conn, int sockindex,
: CURL_SOCKET_BAD;
what = Curl_socket_check(
- readfd, CURL_SOCKET_BAD, writefd, nonblocking ? 0 : timeout_ms);
+ readfd, CURL_SOCKET_BAD, writefd,
+ nonblocking ? 0 : (time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index 435f3e93a..a375f00da 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -2127,7 +2127,7 @@ static CURLcode nss_do_connect(struct connectdata *conn, int sockindex)
/* check timeout situation */
- const time_t time_left = Curl_timeleft(data, NULL, TRUE);
+ const timediff_t time_left = Curl_timeleft(data, NULL, TRUE);
if(time_left < 0) {
failf(data, "timed out before SSL handshake");
result = CURLE_OPERATION_TIMEDOUT;
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index 385f28179..760758d23 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -44,6 +44,7 @@
#include "strcase.h"
#include "hostcheck.h"
#include "multiif.h"
+#include "strerror.h"
#include "curl_printf.h"
#include <openssl/ssl.h>
#include <openssl/rand.h>
@@ -2165,8 +2166,13 @@ set_ssl_version_min_max(SSL_CTX *ctx, struct connectdata *conn)
long curl_ssl_version_max;
/* convert cURL min SSL version option to OpenSSL constant */
+#if defined(OPENSSL_IS_BORINGSSL) || defined(LIBRESSL_VERSION_NUMBER)
+ uint16_t ossl_ssl_version_min = 0;
+ uint16_t ossl_ssl_version_max = 0;
+#else
long ossl_ssl_version_min = 0;
long ossl_ssl_version_max = 0;
+#endif
switch(curl_ssl_version_min) {
case CURL_SSLVERSION_TLSv1: /* TLS 1.x */
case CURL_SSLVERSION_TLSv1_0:
@@ -2186,10 +2192,10 @@ set_ssl_version_min_max(SSL_CTX *ctx, struct connectdata *conn)
}
/* CURL_SSLVERSION_DEFAULT means that no option was selected.
- We don't want to pass 0 to SSL_CTX_set_min_proto_version as
- it would enable all versions down to the lowest supported by
- the library.
- So we skip this, and stay with the OS default
+ We don't want to pass 0 to SSL_CTX_set_min_proto_version as
+ it would enable all versions down to the lowest supported by
+ the library.
+ So we skip this, and stay with the OS default
*/
if(curl_ssl_version_min != CURL_SSLVERSION_DEFAULT) {
if(!SSL_CTX_set_min_proto_version(ctx, ossl_ssl_version_min)) {
@@ -3649,7 +3655,7 @@ static CURLcode ossl_connect_common(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- time_t timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -3696,7 +3702,7 @@ static CURLcode ossl_connect_common(struct connectdata *conn,
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
- nonblocking?0:timeout_ms);
+ nonblocking?0:(time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
@@ -3820,8 +3826,8 @@ static ssize_t ossl_send(struct connectdata *conn,
*curlcode = CURLE_AGAIN;
return -1;
case SSL_ERROR_SYSCALL:
- failf(conn->data, "SSL_write() returned SYSCALL, errno = %d",
- SOCKERRNO);
+ Curl_strerror(SOCKERRNO, error_buffer, sizeof(error_buffer));
+ failf(conn->data, OSSL_PACKAGE " SSL_write: %s", error_buffer);
*curlcode = CURLE_SEND_ERROR;
return -1;
case SSL_ERROR_SSL:
@@ -3878,13 +3884,21 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */
break;
case SSL_ERROR_ZERO_RETURN: /* no more data */
/* close_notify alert */
- connclose(conn, "TLS close_notify");
+ if(num == FIRSTSOCKET)
+ /* mark the connection for close if it is indeed the control
+ connection */
+ connclose(conn, "TLS close_notify");
break;
case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE:
/* there's data pending, re-invoke SSL_read() */
*curlcode = CURLE_AGAIN;
return -1;
+ case SSL_ERROR_SYSCALL:
+ Curl_strerror(SOCKERRNO, error_buffer, sizeof(error_buffer));
+ failf(conn->data, OSSL_PACKAGE " SSL_read: %s", error_buffer);
+ *curlcode = CURLE_RECV_ERROR;
+ return -1;
default:
/* openssl/ssl.h for SSL_ERROR_SYSCALL says "look at error stack/return
value/errno" */
diff --git a/lib/vtls/polarssl.c b/lib/vtls/polarssl.c
index 7ea26b442..9e7dd9043 100644
--- a/lib/vtls/polarssl.c
+++ b/lib/vtls/polarssl.c
@@ -734,7 +734,7 @@ polarssl_connect_common(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- long timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -781,7 +781,7 @@ polarssl_connect_common(struct connectdata *conn,
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
- nonblocking?0:timeout_ms);
+ nonblocking?0:(time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c
index 0f6f734fd..bbd2fe921 100644
--- a/lib/vtls/schannel.c
+++ b/lib/vtls/schannel.c
@@ -1181,6 +1181,7 @@ struct Adder_args
struct connectdata *conn;
CURLcode result;
int idx;
+ int certs_count;
};
static bool
@@ -1191,7 +1192,9 @@ add_cert_to_certinfo(const CERT_CONTEXT *ccert_context, void *raw_arg)
if(valid_cert_encoding(ccert_context)) {
const char *beg = (const char *) ccert_context->pbCertEncoded;
const char *end = beg + ccert_context->cbCertEncoded;
- args->result = Curl_extract_certinfo(args->conn, (args->idx)++, beg, end);
+ int insert_index = (args->certs_count - 1) - args->idx;
+ args->result = Curl_extract_certinfo(args->conn, insert_index, beg, end);
+ args->idx++;
}
return args->result == CURLE_OK;
}
@@ -1326,6 +1329,7 @@ schannel_connect_step3(struct connectdata *conn, int sockindex)
struct Adder_args args;
args.conn = conn;
args.idx = 0;
+ args.certs_count = certs_count;
traverse_cert_store(ccert_context, add_cert_to_certinfo, &args);
result = args.result;
}
@@ -1347,7 +1351,7 @@ schannel_connect_common(struct connectdata *conn, int sockindex,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- time_t timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -1394,7 +1398,7 @@ schannel_connect_common(struct connectdata *conn, int sockindex,
connssl->connecting_state ? sockfd : CURL_SOCKET_BAD;
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
- nonblocking ? 0 : timeout_ms);
+ nonblocking ? 0 : (time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL/TLS socket, errno: %d", SOCKERRNO);
@@ -1544,7 +1548,7 @@ schannel_send(struct connectdata *conn, int sockindex,
/* send entire message or fail */
while(len > (size_t)written) {
ssize_t this_write;
- time_t timeleft;
+ timediff_t timeleft;
int what;
this_write = 0;
diff --git a/lib/vtls/schannel_verify.c b/lib/vtls/schannel_verify.c
index 5a09e969e..1bdf50a55 100644
--- a/lib/vtls/schannel_verify.c
+++ b/lib/vtls/schannel_verify.c
@@ -111,7 +111,7 @@ static CURLcode add_certs_to_store(HCERTSTORE trust_store,
*/
ca_file_handle = CreateFile(ca_file_tstr,
GENERIC_READ,
- 0,
+ FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
diff --git a/lib/vtls/sectransp.c b/lib/vtls/sectransp.c
index 3fb125ab5..4eece89d5 100644
--- a/lib/vtls/sectransp.c
+++ b/lib/vtls/sectransp.c
@@ -79,7 +79,7 @@
/* These macros mean "the following code is present to allow runtime backward
compatibility with at least this cat or earlier":
(You set this at build-time using the compiler command line option
- "-mmacos-version-min.") */
+ "-mmacosx-version-min.") */
#define CURL_SUPPORT_MAC_10_5 MAC_OS_X_VERSION_MIN_REQUIRED <= 1050
#define CURL_SUPPORT_MAC_10_6 MAC_OS_X_VERSION_MIN_REQUIRED <= 1060
#define CURL_SUPPORT_MAC_10_7 MAC_OS_X_VERSION_MIN_REQUIRED <= 1070
@@ -2805,7 +2805,7 @@ sectransp_connect_common(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct ssl_connect_data *connssl = &conn->ssl[sockindex];
curl_socket_t sockfd = conn->sock[sockindex];
- long timeout_ms;
+ timediff_t timeout_ms;
int what;
/* check if the connection has already been established */
@@ -2852,7 +2852,7 @@ sectransp_connect_common(struct connectdata *conn,
connssl->connecting_state?sockfd:CURL_SOCKET_BAD;
what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd,
- nonblocking?0:timeout_ms);
+ nonblocking?0:(time_t)timeout_ms);
if(what < 0) {
/* fatal error */
failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO);
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index 422819899..e6d756225 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -97,7 +97,8 @@ Curl_ssl_config_matches(struct ssl_primary_config* data,
Curl_safe_strcasecompare(data->random_file, needle->random_file) &&
Curl_safe_strcasecompare(data->egdsocket, needle->egdsocket) &&
Curl_safe_strcasecompare(data->cipher_list, needle->cipher_list) &&
- Curl_safe_strcasecompare(data->cipher_list13, needle->cipher_list13))
+ Curl_safe_strcasecompare(data->cipher_list13, needle->cipher_list13) &&
+ Curl_safe_strcasecompare(data->pinned_key, needle->pinned_key))
return TRUE;
return FALSE;
@@ -121,6 +122,7 @@ Curl_clone_primary_ssl_config(struct ssl_primary_config *source,
CLONE_STRING(egdsocket);
CLONE_STRING(cipher_list);
CLONE_STRING(cipher_list13);
+ CLONE_STRING(pinned_key);
return TRUE;
}
@@ -134,6 +136,7 @@ void Curl_free_primary_ssl_config(struct ssl_primary_config* sslc)
Curl_safefree(sslc->egdsocket);
Curl_safefree(sslc->cipher_list);
Curl_safefree(sslc->cipher_list13);
+ Curl_safefree(sslc->pinned_key);
}
#ifdef USE_SSL
diff --git a/local-configure.patch b/local-configure.patch
index 65d2b42b5..8cab352ba 100644
--- a/local-configure.patch
+++ b/local-configure.patch
@@ -20,7 +20,7 @@ Index: curl/lib/curl_config.h
/* Define to 1 if you have the <openssl/ssl.h> header file. */
#define HAVE_OPENSSL_SSL_H 1
-@@ -833,9 +833,6 @@
+@@ -836,9 +836,6 @@
/* Define absolute filename for winbind's ntlm_auth helper. */
/* #undef NTLM_WB_FILE */
@@ -30,7 +30,7 @@ Index: curl/lib/curl_config.h
/* Name of package */
#define PACKAGE "curl"
-@@ -891,7 +888,7 @@
+@@ -894,7 +891,7 @@
#define SELECT_TYPE_ARG5 struct timeval *
/* Define to the function return type for select. */
@@ -39,7 +39,7 @@ Index: curl/lib/curl_config.h
/* Define to the type qualifier of arg 2 for send. */
#define SEND_QUAL_ARG2 const
-@@ -917,24 +914,9 @@
+@@ -920,24 +917,9 @@
/* The number of bytes in type int */
#define SIZEOF_INT 4
@@ -64,7 +64,7 @@ Index: curl/lib/curl_config.h
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
-@@ -1020,7 +1002,7 @@
+@@ -1026,7 +1008,7 @@
/* #undef USE_THREADS_WIN32 */
/* Use TLS-SRP authentication */
@@ -73,7 +73,7 @@ Index: curl/lib/curl_config.h
/* Use Unix domain sockets */
#define USE_UNIX_SOCKETS 1
-@@ -1062,7 +1044,7 @@
+@@ -1068,7 +1050,7 @@
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
diff --git a/m4/curl-confopts.m4 b/m4/curl-confopts.m4
index 20fcc5266..af15a85d9 100644
--- a/m4/curl-confopts.m4
+++ b/m4/curl-confopts.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -648,3 +648,39 @@ AC_DEFUN([CURL_CHECK_NTLM_WB], [
NTLM_WB_ENABLED=1
fi
])
+
+dnl CURL_CHECK_OPTION_ESNI
+dnl -----------------------------------------------------
+dnl Verify whether configure has been invoked with option
+dnl --enable-esni or --disable-esni, and set
+dnl shell variable want_esni as appropriate.
+
+AC_DEFUN([CURL_CHECK_OPTION_ESNI], [
+ AC_MSG_CHECKING([whether to enable ESNI support])
+ OPT_ESNI="default"
+ AC_ARG_ENABLE(esni,
+AC_HELP_STRING([--enable-esni],[Enable ESNI support])
+AC_HELP_STRING([--disable-esni],[Disable ESNI support]),
+ OPT_ESNI=$enableval)
+ case "$OPT_ESNI" in
+ no)
+ dnl --disable-esni option used
+ want_esni="no"
+ curl_esni_msg="no (--enable-esni)"
+ AC_MSG_RESULT([no])
+ ;;
+ default)
+ dnl configure option not specified
+ want_esni="no"
+ curl_esni_msg="no (--enable-esni)"
+ AC_MSG_RESULT([no])
+ ;;
+ *)
+ dnl --enable-esni option used
+ want_esni="yes"
+ curl_esni_msg="enabled (--disable-esni)"
+ experimental="esni"
+ AC_MSG_RESULT([yes])
+ ;;
+ esac
+])
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index 5a53b1b21..8be6c8986 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -1841,6 +1841,8 @@
d c 20014
d CURLMOPT_PUSHDATA...
d c 10015
+ d CURLMOPT_MAX_CONCURRENT_STREAMS...
+ d c 10016
*
* Bitmask bits for CURLMOPT_PIPELING.
*
diff --git a/packages/OS400/os400sys.c b/packages/OS400/os400sys.c
index 67b34a84c..3490fc779 100644
--- a/packages/OS400/os400sys.c
+++ b/packages/OS400/os400sys.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -195,7 +195,7 @@ buffer_threaded(localkey_t key, long size)
/* Allocate buffer descriptors for the current thread. */
- bufs = calloc((size_t) LK_LAST, sizeof *bufs);
+ bufs = calloc((size_t) LK_LAST, sizeof(*bufs));
if(!bufs)
return (char *) NULL;
@@ -224,7 +224,7 @@ buffer_undef(localkey_t key, long size)
if(Curl_thread_buffer == buffer_undef) { /* If unchanged during lock. */
if(!pthread_key_create(&thdkey, thdbufdestroy))
Curl_thread_buffer = buffer_threaded;
- else if(!(locbufs = calloc((size_t) LK_LAST, sizeof *locbufs))) {
+ else if(!(locbufs = calloc((size_t) LK_LAST, sizeof(*locbufs)))) {
pthread_mutex_unlock(&mutex);
return (char *) NULL;
}
@@ -390,7 +390,7 @@ Curl_gsk_environment_open(gsk_handle * my_env_handle)
if(!my_env_handle)
return GSK_OS400_ERROR_INVALID_POINTER;
- p = (struct Curl_gsk_descriptor *) malloc(sizeof *p);
+ p = (struct Curl_gsk_descriptor *) malloc(sizeof(*p));
if(!p)
return GSK_INSUFFICIENT_STORAGE;
p->strlist = (struct gskstrlist *) NULL;
@@ -417,7 +417,7 @@ Curl_gsk_secure_soc_open(gsk_handle my_env_handle,
if(!my_session_handle)
return GSK_OS400_ERROR_INVALID_POINTER;
h = ((struct Curl_gsk_descriptor *) my_env_handle)->h;
- p = (struct Curl_gsk_descriptor *) malloc(sizeof *p);
+ p = (struct Curl_gsk_descriptor *) malloc(sizeof(*p));
if(!p)
return GSK_INSUFFICIENT_STORAGE;
p->strlist = (struct gskstrlist *) NULL;
@@ -598,7 +598,7 @@ cachestring(struct Curl_gsk_descriptor * p,
if(sp->ebcdicstr == ebcdicbuf)
break;
if(!sp) {
- sp = (struct gskstrlist *) malloc(sizeof *sp);
+ sp = (struct gskstrlist *) malloc(sizeof(*sp));
if(!sp)
return GSK_INSUFFICIENT_STORAGE;
asciibuf = malloc(bufsize + 1);
@@ -800,7 +800,7 @@ Curl_gss_import_name_a(OM_uint32 * minor_status, gss_buffer_t in_name,
if(!in_name || !in_name->value || !in_name->length)
return gss_import_name(minor_status, in_name, in_name_type, out_name);
- memcpy((char *) &in, (char *) in_name, sizeof in);
+ memcpy((char *) &in, (char *) in_name, sizeof(in));
i = in.length;
in.value = malloc(i + 1);
@@ -1048,7 +1048,7 @@ Curl_ldap_search_s_a(void * ld, char * base, int scope, char * filter,
for(i = 0; attrs[i++];)
;
- eattrs = calloc(i, sizeof *eattrs);
+ eattrs = calloc(i, sizeof(*eattrs));
if(!eattrs)
status = LDAP_NO_MEMORY;
else {
@@ -1227,19 +1227,18 @@ Curl_ldap_next_attribute_a(void * ld,
static int
-convert_sockaddr(struct sockaddr_storage * dstaddr,
- const struct sockaddr * srcaddr, int srclen)
-
+sockaddr2ebcdic(struct sockaddr_storage *dstaddr,
+ const struct sockaddr *srcaddr, int srclen)
{
- const struct sockaddr_un * srcu;
- struct sockaddr_un * dstu;
+ const struct sockaddr_un *srcu;
+ struct sockaddr_un *dstu;
unsigned int i;
unsigned int dstsize;
- /* Convert a socket address into job CCSID, if needed. */
+ /* Convert a socket address to job CCSID, if needed. */
if(!srcaddr || srclen < offsetof(struct sockaddr, sa_family) +
- sizeof srcaddr->sa_family || srclen > sizeof *dstaddr) {
+ sizeof(srcaddr->sa_family) || srclen > sizeof(*dstaddr)) {
errno = EINVAL;
return -1;
}
@@ -1251,26 +1250,67 @@ convert_sockaddr(struct sockaddr_storage * dstaddr,
case AF_UNIX:
srcu = (const struct sockaddr_un *) srcaddr;
dstu = (struct sockaddr_un *) dstaddr;
- dstsize = sizeof *dstaddr - offsetof(struct sockaddr_un, sun_path);
+ dstsize = sizeof(*dstaddr) - offsetof(struct sockaddr_un, sun_path);
srclen -= offsetof(struct sockaddr_un, sun_path);
i = QadrtConvertA2E(dstu->sun_path, srcu->sun_path, dstsize - 1, srclen);
dstu->sun_path[i] = '\0';
- i += offsetof(struct sockaddr_un, sun_path);
- srclen = i;
+ srclen = i + offsetof(struct sockaddr_un, sun_path);
+ }
+
+ return srclen;
+}
+
+
+static int
+sockaddr2ascii(struct sockaddr *dstaddr, int dstlen,
+ const struct sockaddr_storage *srcaddr, int srclen)
+{
+ const struct sockaddr_un *srcu;
+ struct sockaddr_un *dstu;
+ unsigned int dstsize;
+
+ /* Convert a socket address to ASCII, if needed. */
+
+ if(!srclen)
+ return 0;
+ if(srclen > dstlen)
+ srclen = dstlen;
+ if(!srcaddr || srclen < 0) {
+ errno = EINVAL;
+ return -1;
}
+ memcpy((char *) dstaddr, (char *) srcaddr, srclen);
+
+ if(srclen >= offsetof(struct sockaddr_storage, ss_family) +
+ sizeof(srcaddr->ss_family)) {
+ switch (srcaddr->ss_family) {
+
+ case AF_UNIX:
+ srcu = (const struct sockaddr_un *) srcaddr;
+ dstu = (struct sockaddr_un *) dstaddr;
+ dstsize = dstlen - offsetof(struct sockaddr_un, sun_path);
+ srclen -= offsetof(struct sockaddr_un, sun_path);
+ if(dstsize > 0 && srclen > 0) {
+ srclen = QadrtConvertE2A(dstu->sun_path, srcu->sun_path,
+ dstsize - 1, srclen);
+ dstu->sun_path[srclen] = '\0';
+ }
+ srclen += offsetof(struct sockaddr_un, sun_path);
+ }
+ }
+
return srclen;
}
int
Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen)
-
{
int i;
struct sockaddr_storage laddr;
- i = convert_sockaddr(&laddr, destaddr, addrlen);
+ i = sockaddr2ebcdic(&laddr, destaddr, addrlen);
if(i < 0)
return -1;
@@ -1281,12 +1321,11 @@ Curl_os400_connect(int sd, struct sockaddr * destaddr, int addrlen)
int
Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen)
-
{
int i;
struct sockaddr_storage laddr;
- i = convert_sockaddr(&laddr, localaddr, addrlen);
+ i = sockaddr2ebcdic(&laddr, localaddr, addrlen);
if(i < 0)
return -1;
@@ -1298,12 +1337,11 @@ Curl_os400_bind(int sd, struct sockaddr * localaddr, int addrlen)
int
Curl_os400_sendto(int sd, char * buffer, int buflen, int flags,
struct sockaddr * dstaddr, int addrlen)
-
{
int i;
struct sockaddr_storage laddr;
- i = convert_sockaddr(&laddr, dstaddr, addrlen);
+ i = sockaddr2ebcdic(&laddr, dstaddr, addrlen);
if(i < 0)
return -1;
@@ -1315,19 +1353,14 @@ Curl_os400_sendto(int sd, char * buffer, int buflen, int flags,
int
Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags,
struct sockaddr * fromaddr, int * addrlen)
-
{
- int i;
int rcvlen;
- int laddrlen;
- const struct sockaddr_un * srcu;
- struct sockaddr_un * dstu;
struct sockaddr_storage laddr;
+ int laddrlen = sizeof(laddr);
if(!fromaddr || !addrlen || *addrlen <= 0)
return recvfrom(sd, buffer, buflen, flags, fromaddr, addrlen);
- laddrlen = sizeof laddr;
laddr.ss_family = AF_UNSPEC; /* To detect if unused. */
rcvlen = recvfrom(sd, buffer, buflen, flags,
(struct sockaddr *) &laddr, &laddrlen);
@@ -1335,36 +1368,51 @@ Curl_os400_recvfrom(int sd, char * buffer, int buflen, int flags,
if(rcvlen < 0)
return rcvlen;
- switch (laddr.ss_family) {
-
- case AF_UNIX:
- srcu = (const struct sockaddr_un *) &laddr;
- dstu = (struct sockaddr_un *) fromaddr;
- i = *addrlen - offsetof(struct sockaddr_un, sun_path);
- laddrlen -= offsetof(struct sockaddr_un, sun_path);
- i = QadrtConvertE2A(dstu->sun_path, srcu->sun_path, i, laddrlen);
- laddrlen = i + offsetof(struct sockaddr_un, sun_path);
-
- if(laddrlen < *addrlen)
- dstu->sun_path[i] = '\0';
+ if(laddr.ss_family == AF_UNSPEC)
+ laddrlen = 0;
+ else {
+ laddrlen = sockaddr2ascii(fromaddr, *addrlen, &laddr, laddrlen);
+ if(laddrlen < 0)
+ return laddrlen;
+ }
+ *addrlen = laddrlen;
+ return rcvlen;
+}
- break;
- case AF_UNSPEC:
- break;
+int
+Curl_os400_getpeername(int sd, struct sockaddr *addr, int *addrlen)
+{
+ struct sockaddr_storage laddr;
+ int laddrlen = sizeof(laddr);
+ int retcode = getpeername(sd, (struct sockaddr *) &laddr, &laddrlen);
+
+ if(!retcode) {
+ laddrlen = sockaddr2ascii(addr, *addrlen, &laddr, laddrlen);
+ if(laddrlen < 0)
+ return laddrlen;
+ *addrlen = laddrlen;
+ }
- default:
- if(laddrlen > *addrlen)
- laddrlen = *addrlen;
+ return retcode;
+}
- if(laddrlen)
- memcpy((char *) fromaddr, (char *) &laddr, laddrlen);
- break;
- }
+int
+Curl_os400_getsockname(int sd, struct sockaddr *addr, int *addrlen)
+{
+ struct sockaddr_storage laddr;
+ int laddrlen = sizeof(laddr);
+ int retcode = getsockname(sd, (struct sockaddr *) &laddr, &laddrlen);
+
+ if(!retcode) {
+ laddrlen = sockaddr2ascii(addr, *addrlen, &laddr, laddrlen);
+ if(laddrlen < 0)
+ return laddrlen;
+ *addrlen = laddrlen;
+ }
- *addrlen = laddrlen;
- return rcvlen;
+ return retcode;
}
diff --git a/projects/Windows/VC10/lib/libcurl.vcxproj b/projects/Windows/VC10/lib/libcurl.vcxproj
index 7a60664c0..3765afd04 100644
--- a/projects/Windows/VC10/lib/libcurl.vcxproj
+++ b/projects/Windows/VC10/lib/libcurl.vcxproj
@@ -2412,6 +2412,7 @@
<ClCompile Include="..\..\..\..\lib\slist.c" />
<ClCompile Include="..\..\..\..\lib\smb.c" />
<ClCompile Include="..\..\..\..\lib\smtp.c" />
+ <ClCompile Include="..\..\..\..\lib\socketpair.c" />
<ClCompile Include="..\..\..\..\lib\socks.c" />
<ClCompile Include="..\..\..\..\lib\socks_gssapi.c" />
<ClCompile Include="..\..\..\..\lib\socks_sspi.c" />
@@ -2551,6 +2552,7 @@
<ClInclude Include="..\..\..\..\lib\smb.h" />
<ClInclude Include="..\..\..\..\lib\smtp.h" />
<ClInclude Include="..\..\..\..\lib\sockaddr.h" />
+ <ClInclude Include="..\..\..\..\lib\socketpair.h" />
<ClInclude Include="..\..\..\..\lib\socks.h" />
<ClInclude Include="..\..\..\..\lib\speedcheck.h" />
<ClInclude Include="..\..\..\..\lib\splay.h" />
diff --git a/projects/Windows/VC11/lib/libcurl.vcxproj b/projects/Windows/VC11/lib/libcurl.vcxproj
index 0aea58deb..595e4f7eb 100644
--- a/projects/Windows/VC11/lib/libcurl.vcxproj
+++ b/projects/Windows/VC11/lib/libcurl.vcxproj
@@ -2468,6 +2468,7 @@
<ClCompile Include="..\..\..\..\lib\slist.c" />
<ClCompile Include="..\..\..\..\lib\smb.c" />
<ClCompile Include="..\..\..\..\lib\smtp.c" />
+ <ClCompile Include="..\..\..\..\lib\socketpair.c" />
<ClCompile Include="..\..\..\..\lib\socks.c" />
<ClCompile Include="..\..\..\..\lib\socks_gssapi.c" />
<ClCompile Include="..\..\..\..\lib\socks_sspi.c" />
@@ -2607,6 +2608,7 @@
<ClInclude Include="..\..\..\..\lib\smb.h" />
<ClInclude Include="..\..\..\..\lib\smtp.h" />
<ClInclude Include="..\..\..\..\lib\sockaddr.h" />
+ <ClInclude Include="..\..\..\..\lib\socketpair.h" />
<ClInclude Include="..\..\..\..\lib\socks.h" />
<ClInclude Include="..\..\..\..\lib\speedcheck.h" />
<ClInclude Include="..\..\..\..\lib\splay.h" />
diff --git a/projects/Windows/VC12/lib/libcurl.vcxproj b/projects/Windows/VC12/lib/libcurl.vcxproj
index 01a7bae61..2321d70ee 100644
--- a/projects/Windows/VC12/lib/libcurl.vcxproj
+++ b/projects/Windows/VC12/lib/libcurl.vcxproj
@@ -2468,6 +2468,7 @@
<ClCompile Include="..\..\..\..\lib\slist.c" />
<ClCompile Include="..\..\..\..\lib\smb.c" />
<ClCompile Include="..\..\..\..\lib\smtp.c" />
+ <ClCompile Include="..\..\..\..\lib\socketpair.c" />
<ClCompile Include="..\..\..\..\lib\socks.c" />
<ClCompile Include="..\..\..\..\lib\socks_gssapi.c" />
<ClCompile Include="..\..\..\..\lib\socks_sspi.c" />
@@ -2607,6 +2608,7 @@
<ClInclude Include="..\..\..\..\lib\smb.h" />
<ClInclude Include="..\..\..\..\lib\smtp.h" />
<ClInclude Include="..\..\..\..\lib\sockaddr.h" />
+ <ClInclude Include="..\..\..\..\lib\socketpair.h" />
<ClInclude Include="..\..\..\..\lib\socks.h" />
<ClInclude Include="..\..\..\..\lib\speedcheck.h" />
<ClInclude Include="..\..\..\..\lib\splay.h" />
diff --git a/projects/Windows/VC14/lib/libcurl.vcxproj b/projects/Windows/VC14/lib/libcurl.vcxproj
index 943046d05..b57db7aaa 100644
--- a/projects/Windows/VC14/lib/libcurl.vcxproj
+++ b/projects/Windows/VC14/lib/libcurl.vcxproj
@@ -2468,6 +2468,7 @@
<ClCompile Include="..\..\..\..\lib\slist.c" />
<ClCompile Include="..\..\..\..\lib\smb.c" />
<ClCompile Include="..\..\..\..\lib\smtp.c" />
+ <ClCompile Include="..\..\..\..\lib\socketpair.c" />
<ClCompile Include="..\..\..\..\lib\socks.c" />
<ClCompile Include="..\..\..\..\lib\socks_gssapi.c" />
<ClCompile Include="..\..\..\..\lib\socks_sspi.c" />
@@ -2607,6 +2608,7 @@
<ClInclude Include="..\..\..\..\lib\smb.h" />
<ClInclude Include="..\..\..\..\lib\smtp.h" />
<ClInclude Include="..\..\..\..\lib\sockaddr.h" />
+ <ClInclude Include="..\..\..\..\lib\socketpair.h" />
<ClInclude Include="..\..\..\..\lib\socks.h" />
<ClInclude Include="..\..\..\..\lib\speedcheck.h" />
<ClInclude Include="..\..\..\..\lib\splay.h" />
diff --git a/projects/Windows/VC15/lib/libcurl.vcxproj b/projects/Windows/VC15/lib/libcurl.vcxproj
index 1f14dbab1..1a19d32ef 100644
--- a/projects/Windows/VC15/lib/libcurl.vcxproj
+++ b/projects/Windows/VC15/lib/libcurl.vcxproj
@@ -2440,6 +2440,7 @@
<ClCompile Include="..\..\..\..\lib\slist.c" />
<ClCompile Include="..\..\..\..\lib\smb.c" />
<ClCompile Include="..\..\..\..\lib\smtp.c" />
+ <ClCompile Include="..\..\..\..\lib\socketpair.c" />
<ClCompile Include="..\..\..\..\lib\socks.c" />
<ClCompile Include="..\..\..\..\lib\socks_gssapi.c" />
<ClCompile Include="..\..\..\..\lib\socks_sspi.c" />
@@ -2579,6 +2580,7 @@
<ClInclude Include="..\..\..\..\lib\smb.h" />
<ClInclude Include="..\..\..\..\lib\smtp.h" />
<ClInclude Include="..\..\..\..\lib\sockaddr.h" />
+ <ClInclude Include="..\..\..\..\lib\socketpair.h" />
<ClInclude Include="..\..\..\..\lib\socks.h" />
<ClInclude Include="..\..\..\..\lib\speedcheck.h" />
<ClInclude Include="..\..\..\..\lib\splay.h" />
diff --git a/projects/Windows/VC6/lib/libcurl.dsp b/projects/Windows/VC6/lib/libcurl.dsp
index 19bea26e9..cd7bcd9df 100644
--- a/projects/Windows/VC6/lib/libcurl.dsp
+++ b/projects/Windows/VC6/lib/libcurl.dsp
@@ -1086,6 +1086,10 @@ SOURCE=..\..\..\..\lib\smtp.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\lib\socketpair.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\lib\socks.c
# End Source File
# Begin Source File
@@ -1638,6 +1642,10 @@ SOURCE=..\..\..\..\lib\sockaddr.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\lib\socketpair.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\lib\socks.h
# End Source File
# Begin Source File
diff --git a/projects/Windows/VC7.1/lib/libcurl.vcproj b/projects/Windows/VC7.1/lib/libcurl.vcproj
index 3b07dca12..9b35114c2 100644
--- a/projects/Windows/VC7.1/lib/libcurl.vcproj
+++ b/projects/Windows/VC7.1/lib/libcurl.vcproj
@@ -1523,6 +1523,9 @@
RelativePath="..\..\..\..\lib\smtp.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.c">
</File>
<File
@@ -1863,6 +1866,9 @@
RelativePath="..\..\..\..\lib\sockaddr.h">
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.h">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.h">
</File>
<File
diff --git a/projects/Windows/VC7/lib/libcurl.vcproj b/projects/Windows/VC7/lib/libcurl.vcproj
index 61e31c22a..ce38525fb 100644
--- a/projects/Windows/VC7/lib/libcurl.vcproj
+++ b/projects/Windows/VC7/lib/libcurl.vcproj
@@ -1377,6 +1377,9 @@
RelativePath="..\..\..\..\lib\smtp.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.c">
</File>
<File
@@ -1717,6 +1720,9 @@
RelativePath="..\..\..\..\lib\sockaddr.h">
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.h">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.h">
</File>
<File
diff --git a/projects/Windows/VC8/lib/libcurl.vcproj b/projects/Windows/VC8/lib/libcurl.vcproj
index f258fc77f..d572cc851 100644
--- a/projects/Windows/VC8/lib/libcurl.vcproj
+++ b/projects/Windows/VC8/lib/libcurl.vcproj
@@ -3973,6 +3973,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.c"
>
</File>
@@ -4425,6 +4429,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.h"
>
</File>
diff --git a/projects/Windows/VC9/lib/libcurl.vcproj b/projects/Windows/VC9/lib/libcurl.vcproj
index a02a0d972..77c2e8bc3 100644
--- a/projects/Windows/VC9/lib/libcurl.vcproj
+++ b/projects/Windows/VC9/lib/libcurl.vcproj
@@ -3914,6 +3914,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.c"
>
</File>
@@ -4366,6 +4370,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\socketpair.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\socks.h"
>
</File>
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index ff80f8eb8..7232c35e3 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -22,11 +22,9 @@
*
***************************************************************************/
#include "tool_setup.h"
-
#include "tool_sdecls.h"
-
#include "tool_metalink.h"
-
+#include "tool_urlglob.h"
#include "tool_formparse.h"
typedef enum {
@@ -37,6 +35,20 @@ typedef enum {
struct GlobalConfig;
+struct State {
+ struct getout *urlnode;
+ URLGlob *inglob;
+ URLGlob *urls;
+ char *outfiles;
+ char *httpgetfields;
+ char *uploadfile;
+ unsigned long infilenum; /* number of files to upload */
+ unsigned long up; /* upload file counter within a single upload glob */
+ unsigned long urlnum; /* how many iterations this single URL has with ranges
+ etc */
+ unsigned long li;
+};
+
struct OperationConfig {
bool remote_time;
char *random_file;
@@ -262,6 +274,7 @@ struct OperationConfig {
struct GlobalConfig *global;
struct OperationConfig *prev;
struct OperationConfig *next; /* Always last in the struct */
+ struct State state; /* for create_transfer() */
};
struct GlobalConfig {
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 2c1868383..3882cb97e 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -243,7 +243,7 @@ static const struct LongShort aliases[]= {
{"El", "tlspassword", ARG_STRING},
{"Em", "tlsauthtype", ARG_STRING},
{"En", "ssl-allow-beast", ARG_BOOL},
- {"Eo", "login-options", ARG_STRING},
+ /* Eo */
{"Ep", "pinnedpubkey", ARG_STRING},
{"EP", "proxy-pinnedpubkey", ARG_STRING},
{"Eq", "cert-status", ARG_BOOL},
@@ -322,6 +322,7 @@ static const struct LongShort aliases[]= {
{"Z", "parallel", ARG_BOOL},
{"Zb", "parallel-max", ARG_STRING},
{"#", "progress-bar", ARG_BOOL},
+ {"#m", "progress-meter", ARG_BOOL},
{":", "next", ARG_NONE},
};
@@ -1172,11 +1173,16 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
break;
}
break;
- case '#': /* --progress-bar */
- if(toggle)
- global->progressmode = CURL_PROGRESS_BAR;
- else
- global->progressmode = CURL_PROGRESS_STATS;
+ case '#':
+ switch(subletter) {
+ case 'm': /* --progress-meter */
+ global->noprogress = !toggle;
+ break;
+ default: /* --progress-bar */
+ global->progressmode =
+ toggle ? CURL_PROGRESS_BAR : CURL_PROGRESS_STATS;
+ break;
+ }
break;
case ':': /* --next */
return PARAM_NEXT_OPERATION;
@@ -1569,10 +1575,6 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
config->ssl_allow_beast = toggle;
break;
- case 'o': /* --login-options */
- GetStr(&config->login_options, nextarg);
- break;
-
case 'p': /* Pinned public key DER file */
GetStr(&config->pinnedpubkey, nextarg);
break;
diff --git a/src/tool_help.c b/src/tool_help.c
index 271439053..022956676 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -263,6 +263,8 @@ static const struct helptxt helptext[] = {
"Disable TCP keepalive on the connection"},
{" --no-npn",
"Disable the NPN TLS extension"},
+ {" --no-progress-meter",
+ "Do not show the progress meter"},
{" --no-sessionid",
"Disable SSL session-ID reusing"},
{" --noproxy <no-proxy-list>",
@@ -540,6 +542,7 @@ static const struct feat feats[] = {
{"MultiSSL", CURL_VERSION_MULTI_SSL},
{"PSL", CURL_VERSION_PSL},
{"alt-svc", CURL_VERSION_ALTSVC},
+ {"ESNI", CURL_VERSION_ESNI},
};
void tool_help(void)
diff --git a/src/tool_hugehelp.c b/src/tool_hugehelp.c
index 43209be5e..1a4c4983f 100644
--- a/src/tool_hugehelp.c
+++ b/src/tool_hugehelp.c
@@ -2062,16 +2062,28 @@ void hugehelp(void)
" See also --no-alpn and --http2. --no-npn requires that the un-\n"
" derlying libcurl was built to support TLS. Added in 7.36.0.\n"
"\n"
+" --no-progress-meter\n"
+" Option to switch off the progress meter output without muting or\n"
+" otherwise affecting warning and informational messages like -s,\n"
+, stdout);
+ fputs(
+" --silent does.\n"
+"\n"
+" Note that this is the negated option name documented. You can\n"
+" thus use --progress-meter to enable the progress meter again.\n"
+"\n"
+" See also -v, --verbose and -s, --silent. Added in 7.67.0.\n"
+"\n"
" --no-sessionid\n"
-" (TLS) Disable curl's use of SSL session-ID caching. By default\n"
-" all transfers are done using the cache. Note that while nothing\n"
+" (TLS) Disable curl's use of SSL session-ID caching. By default\n"
+" all transfers are done using the cache. Note that while nothing\n"
, stdout);
fputs(
-" should ever get hurt by attempting to reuse SSL session-IDs,\n"
+" should ever get hurt by attempting to reuse SSL session-IDs,\n"
" there seem to be broken SSL implementations in the wild that may\n"
" require you to disable this in order for you to succeed.\n"
"\n"
-" Note that this is the negated option name documented. You can\n"
+" Note that this is the negated option name documented. You can\n"
" thus use --sessionid to enforce session-ID caching.\n"
"\n"
" Added in 7.16.0.\n"
@@ -2079,70 +2091,70 @@ void hugehelp(void)
" --noproxy <no-proxy-list>\n"
, stdout);
fputs(
-" Comma-separated list of hosts which do not use a proxy, if one\n"
-" is specified. The only wildcard is a single * character, which\n"
+" Comma-separated list of hosts which do not use a proxy, if one\n"
+" is specified. The only wildcard is a single * character, which\n"
" matches all hosts, and effectively disables the proxy. Each name\n"
-" in this list is matched as either a domain which contains the\n"
-" hostname, or the hostname itself. For example, local.com would\n"
-" match local.com, local.com:80, and www.local.com, but not\n"
+" in this list is matched as either a domain which contains the\n"
+" hostname, or the hostname itself. For example, local.com would\n"
+" match local.com, local.com:80, and www.local.com, but not\n"
, stdout);
fputs(
" www.notlocal.com.\n"
"\n"
-" Since 7.53.0, This option overrides the environment variables\n"
-" that disable the proxy. If there's an environment variable dis-\n"
+" Since 7.53.0, This option overrides the environment variables\n"
+" that disable the proxy. If there's an environment variable dis-\n"
" abling a proxy, you can set noproxy list to \"\" to override it.\n"
"\n"
" Added in 7.19.4.\n"
"\n"
" --ntlm-wb\n"
" (HTTP) Enables NTLM much in the style --ntlm does, but hand over\n"
-" the authentication to the separate binary ntlmauth application\n"
+" the authentication to the separate binary ntlmauth application\n"
, stdout);
fputs(
" that is executed when needed.\n"
"\n"
" See also --ntlm and --proxy-ntlm.\n"
"\n"
-" --ntlm (HTTP) Enables NTLM authentication. The NTLM authentication\n"
+" --ntlm (HTTP) Enables NTLM authentication. The NTLM authentication\n"
" method was designed by Microsoft and is used by IIS web servers.\n"
-" It is a proprietary protocol, reverse-engineered by clever peo-\n"
+" It is a proprietary protocol, reverse-engineered by clever peo-\n"
" ple and implemented in curl based on their efforts. This kind of\n"
-" behavior should not be endorsed, you should encourage everyone\n"
+" behavior should not be endorsed, you should encourage everyone\n"
, stdout);
fputs(
-" who uses NTLM to switch to a public and documented authentica-\n"
+" who uses NTLM to switch to a public and documented authentica-\n"
" tion method instead, such as Digest.\n"
"\n"
-" If you want to enable NTLM for your proxy authentication, then\n"
+" If you want to enable NTLM for your proxy authentication, then\n"
" use --proxy-ntlm.\n"
"\n"
-" If this option is used several times, only the first one is\n"
+" If this option is used several times, only the first one is\n"
" used.\n"
"\n"
-" See also --proxy-ntlm. --ntlm requires that the underlying\n"
+" See also --proxy-ntlm. --ntlm requires that the underlying\n"
, stdout);
fputs(
-" libcurl was built to support TLS. This option overrides --basic\n"
+" libcurl was built to support TLS. This option overrides --basic\n"
" and --negotiate and --digest and --anyauth.\n"
"\n"
" --oauth2-bearer <token>\n"
-" (IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2.0 server\n"
+" (IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2.0 server\n"
" authentication. The Bearer Token is used in conjunction with the\n"
-" user name which can be specified as part of the --url or -u,\n"
+" user name which can be specified as part of the --url or -u,\n"
" --user options.\n"
"\n"
, stdout);
fputs(
-" The Bearer Token and user name are formatted according to RFC\n"
+" The Bearer Token and user name are formatted according to RFC\n"
" 6750.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" -o, --output <file>\n"
" Write output to <file> instead of stdout. If you are using {} or\n"
-" [] to fetch multiple documents, you can use '#' followed by a\n"
-" number in the <file> specifier. That variable will be replaced\n"
+" [] to fetch multiple documents, you can use '#' followed by a\n"
+" number in the <file> specifier. That variable will be replaced\n"
, stdout);
fputs(
" with the current string for the URL being fetched. Like in:\n"
@@ -2153,31 +2165,31 @@ void hugehelp(void)
"\n"
" curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n"
"\n"
-" You may use this option as many times as the number of URLs you\n"
-" have. For example, if you specify two URLs on the same command\n"
+" You may use this option as many times as the number of URLs you\n"
+" have. For example, if you specify two URLs on the same command\n"
" line, you can use it like this:\n"
"\n"
, stdout);
fputs(
" curl -o aa example.com -o bb example.net\n"
"\n"
-" and the order of the -o options and the URLs doesn't matter,\n"
-" just that the first -o is for the first URL and so on, so the\n"
+" and the order of the -o options and the URLs doesn't matter,\n"
+" just that the first -o is for the first URL and so on, so the\n"
" above command line can also be written as\n"
"\n"
" curl example.com example.net -o aa -o bb\n"
"\n"
-" See also the --create-dirs option to create the local directo-\n"
-" ries dynamically. Specifying the output as '-' (a single dash)\n"
+" See also the --create-dirs option to create the local directo-\n"
+" ries dynamically. Specifying the output as '-' (a single dash)\n"
, stdout);
fputs(
" will force the output to be done to stdout.\n"
"\n"
-" See also -O, --remote-name and --remote-name-all and -J, --re-\n"
+" See also -O, --remote-name and --remote-name-all and -J, --re-\n"
" mote-header-name.\n"
"\n"
" --parallel-max\n"
-" When asked to do parallel transfers, using -Z, --parallel, this\n"
+" When asked to do parallel transfers, using -Z, --parallel, this\n"
" option controls the maximum amount of transfers to do simultane-\n"
" ously.\n"
"\n"
@@ -2188,7 +2200,7 @@ void hugehelp(void)
" -Z, --parallel\n"
, stdout);
fputs(
-" Makes curl perform its transfers in parallel as compared to the\n"
+" Makes curl perform its transfers in parallel as compared to the\n"
" regular serial manner.\n"
"\n"
" Added in 7.66.0.\n"
@@ -2199,8 +2211,8 @@ void hugehelp(void)
" If this option is used several times, the last one will be used.\n"
"\n"
" --path-as-is\n"
-" Tell curl to not handle sequences of /../ or /./ in the given\n"
-" URL path. Normally curl will squash or merge them according to\n"
+" Tell curl to not handle sequences of /../ or /./ in the given\n"
+" URL path. Normally curl will squash or merge them according to\n"
, stdout);
fputs(
" standards but with this option set you tell it not to do that.\n"
@@ -2208,18 +2220,18 @@ void hugehelp(void)
" Added in 7.42.0.\n"
"\n"
" --pinnedpubkey <hashes>\n"
-" (TLS) Tells curl to use the specified public key file (or\n"
-" hashes) to verify the peer. This can be a path to a file which\n"
+" (TLS) Tells curl to use the specified public key file (or\n"
+" hashes) to verify the peer. This can be a path to a file which\n"
" contains a single public key in PEM or DER format, or any number\n"
" of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
" rated by ';'\n"
"\n"
, stdout);
fputs(
-" When negotiating a TLS or SSL connection, the server sends a\n"
-" certificate indicating its identity. A public key is extracted\n"
-" from this certificate and if it does not exactly match the pub-\n"
-" lic key provided to this option, curl will abort the connection\n"
+" When negotiating a TLS or SSL connection, the server sends a\n"
+" certificate indicating its identity. A public key is extracted\n"
+" from this certificate and if it does not exactly match the pub-\n"
+" lic key provided to this option, curl will abort the connection\n"
" before sending or receiving any data.\n"
"\n"
" PEM/DER support:\n"
@@ -2238,13 +2250,13 @@ void hugehelp(void)
" requests into GET requests when following a 301 redirection. The\n"
, stdout);
fputs(
-" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
-" the conversion by default to maintain consistency. However, a\n"
-" server may require a POST to remain a POST after such a redi-\n"
-" rection. This option is meaningful only when using -L, --loca-\n"
+" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
+" the conversion by default to maintain consistency. However, a\n"
+" server may require a POST to remain a POST after such a redi-\n"
+" rection. This option is meaningful only when using -L, --loca-\n"
" tion.\n"
"\n"
-" See also --post302 and --post303 and -L, --location. Added in\n"
+" See also --post302 and --post303 and -L, --location. Added in\n"
" 7.17.1.\n"
"\n"
" --post302\n"
@@ -2252,49 +2264,49 @@ void hugehelp(void)
fputs(
" (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n"
" requests into GET requests when following a 302 redirection. The\n"
-" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
-" the conversion by default to maintain consistency. However, a\n"
-" server may require a POST to remain a POST after such a redi-\n"
-" rection. This option is meaningful only when using -L, --loca-\n"
+" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
+" the conversion by default to maintain consistency. However, a\n"
+" server may require a POST to remain a POST after such a redi-\n"
+" rection. This option is meaningful only when using -L, --loca-\n"
" tion.\n"
"\n"
, stdout);
fputs(
-" See also --post301 and --post303 and -L, --location. Added in\n"
+" See also --post301 and --post303 and -L, --location. Added in\n"
" 7.19.1.\n"
"\n"
" --post303\n"
" (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n"
-" requests into GET requests when following 303 redirections. A\n"
+" requests into GET requests when following 303 redirections. A\n"
" server may require a POST to remain a POST after a 303 redirect-\n"
" ion. This option is meaningful only when using -L, --location.\n"
"\n"
, stdout);
fputs(
-" See also --post302 and --post301 and -L, --location. Added in\n"
+" See also --post302 and --post301 and -L, --location. Added in\n"
" 7.26.0.\n"
"\n"
" --preproxy [protocol://]host[:port]\n"
-" Use the specified SOCKS proxy before connecting to an HTTP or\n"
-" HTTPS -x, --proxy. In such a case curl first connects to the\n"
-" SOCKS proxy and then connects (through SOCKS) to the HTTP or\n"
+" Use the specified SOCKS proxy before connecting to an HTTP or\n"
+" HTTPS -x, --proxy. In such a case curl first connects to the\n"
+" SOCKS proxy and then connects (through SOCKS) to the HTTP or\n"
" HTTPS proxy. Hence pre proxy.\n"
"\n"
, stdout);
fputs(
" The pre proxy string should be specified with a protocol:// pre-\n"
-" fix to specify alternative proxy protocols. Use socks4://,\n"
-" socks4a://, socks5:// or socks5h:// to request the specific\n"
-" SOCKS version to be used. No protocol specified will make curl\n"
+" fix to specify alternative proxy protocols. Use socks4://,\n"
+" socks4a://, socks5:// or socks5h:// to request the specific\n"
+" SOCKS version to be used. No protocol specified will make curl\n"
" default to SOCKS4.\n"
"\n"
-" If the port number is not specified in the proxy string, it is\n"
+" If the port number is not specified in the proxy string, it is\n"
" assumed to be 1080.\n"
"\n"
, stdout);
fputs(
" User and password that might be provided in the proxy string are\n"
-" URL decoded by curl. This allows you to pass in special charac-\n"
+" URL decoded by curl. This allows you to pass in special charac-\n"
" ters such as @ by using %40 or pass in a colon with %3a.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -2307,10 +2319,10 @@ void hugehelp(void)
fputs(
" stead of the standard, more informational, meter.\n"
"\n"
-" This progress bar draws a single line of '#' characters across\n"
+" This progress bar draws a single line of '#' characters across\n"
" the screen and shows a percentage if the transfer size is known.\n"
-" For transfers without a known size, there will be space ship\n"
-" (-=o=-) that moves back and forth but only while data is being\n"
+" For transfers without a known size, there will be space ship\n"
+" (-=o=-) that moves back and forth but only while data is being\n"
" transferred, with a set of flying hash sign symbols on top.\n"
"\n"
" --proto-default <protocol>\n"
@@ -2322,12 +2334,12 @@ void hugehelp(void)
"\n"
" curl --proto-default https ftp.mozilla.org\n"
"\n"
-" An unknown or unsupported protocol causes error CURLE_UNSUP-\n"
+" An unknown or unsupported protocol causes error CURLE_UNSUP-\n"
" PORTED_PROTOCOL (1).\n"
"\n"
" This option does not change the default proxy protocol (http).\n"
"\n"
-" Without this option curl would make a guess based on the host,\n"
+" Without this option curl would make a guess based on the host,\n"
" see --url for details.\n"
"\n"
, stdout);
@@ -2335,8 +2347,8 @@ void hugehelp(void)
" Added in 7.45.0.\n"
"\n"
" --proto-redir <protocols>\n"
-" Tells curl to limit what protocols it may use on redirect. Pro-\n"
-" tocols denied by --proto are not overridden by this option. See\n"
+" Tells curl to limit what protocols it may use on redirect. Pro-\n"
+" tocols denied by --proto are not overridden by this option. See\n"
" --proto for how protocols are represented.\n"
"\n"
" Example, allow only HTTP and HTTPS on redirect:\n"
@@ -2347,9 +2359,9 @@ void hugehelp(void)
, stdout);
fputs(
" (7.65.2). Older versions of curl allowed all protocols on redi-\n"
-" rect except several disabled for security reasons: Since 7.19.4\n"
-" FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are\n"
-" also disabled. Specifying all or +all enables all protocols on\n"
+" rect except several disabled for security reasons: Since 7.19.4\n"
+" FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are\n"
+" also disabled. Specifying all or +all enables all protocols on\n"
" redirect, including those disabled for security.\n"
"\n"
" Added in 7.20.2.\n"
@@ -2357,9 +2369,9 @@ void hugehelp(void)
" --proto <protocols>\n"
, stdout);
fputs(
-" Tells curl to limit what protocols it may use in the transfer.\n"
-" Protocols are evaluated left to right, are comma separated, and\n"
-" are each a protocol name or 'all', optionally prefixed by zero\n"
+" Tells curl to limit what protocols it may use in the transfer.\n"
+" Protocols are evaluated left to right, are comma separated, and\n"
+" are each a protocol name or 'all', optionally prefixed by zero\n"
" or more modifiers. Available modifiers are:\n"
"\n"
" + Permit this protocol in addition to protocols already permit-\n"
@@ -2367,11 +2379,11 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" - Deny this protocol, removing it from the list of protocols\n"
+" - Deny this protocol, removing it from the list of protocols\n"
" already permitted.\n"
"\n"
-" = Permit only this protocol (ignoring the list already permit-\n"
-" ted), though subject to later modification by subsequent en-\n"
+" = Permit only this protocol (ignoring the list already permit-\n"
+" ted), though subject to later modification by subsequent en-\n"
" tries in the comma separated list.\n"
"\n"
" For example:\n"
@@ -2388,7 +2400,7 @@ void hugehelp(void)
"\n"
" Unknown protocols produce a warning. This allows scripts to safely rely\n"
" on being able to disable potentially dangerous protocols, without rely-\n"
-" ing upon support for that protocol being built into curl to avoid an\n"
+" ing upon support for that protocol being built into curl to avoid an\n"
" error.\n"
"\n"
" This option can be used multiple times, in which case the effect is the\n"
@@ -2399,8 +2411,8 @@ void hugehelp(void)
" See also --proto-redir and --proto-default. Added in 7.20.2.\n"
"\n"
" --proxy-anyauth\n"
-" Tells curl to pick a suitable authentication method when commu-\n"
-" nicating with the given HTTP proxy. This might cause an extra\n"
+" Tells curl to pick a suitable authentication method when commu-\n"
+" nicating with the given HTTP proxy. This might cause an extra\n"
" request/response round-trip.\n"
"\n"
" See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n"
@@ -2409,9 +2421,9 @@ void hugehelp(void)
" --proxy-basic\n"
, stdout);
fputs(
-" Tells curl to use HTTP Basic authentication when communicating\n"
+" Tells curl to use HTTP Basic authentication when communicating\n"
" with the given proxy. Use --basic for enabling HTTP Basic with a\n"
-" remote host. Basic is the default authentication method curl\n"
+" remote host. Basic is the default authentication method curl\n"
" uses with proxies.\n"
"\n"
" See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n"
@@ -2421,13 +2433,13 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" See also --proxy-capath and --cacert and --capath and -x,\n"
+" See also --proxy-capath and --cacert and --capath and -x,\n"
" --proxy. Added in 7.52.0.\n"
"\n"
" --proxy-capath <dir>\n"
" Same as --capath but used in HTTPS proxy context.\n"
"\n"
-" See also --proxy-cacert and -x, --proxy and --capath. Added in\n"
+" See also --proxy-cacert and -x, --proxy and --capath. Added in\n"
" 7.52.0.\n"
"\n"
" --proxy-cert-type <type>\n"
@@ -2453,7 +2465,7 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" --proxy-digest\n"
-" Tells curl to use HTTP Digest authentication when communicating\n"
+" Tells curl to use HTTP Digest authentication when communicating\n"
, stdout);
fputs(
" with the given proxy. Use --digest for enabling HTTP Digest with\n"
@@ -2462,30 +2474,30 @@ void hugehelp(void)
" See also -x, --proxy and --proxy-anyauth and --proxy-basic.\n"
"\n"
" --proxy-header <header/@file>\n"
-" (HTTP) Extra header to include in the request when sending HTTP\n"
+" (HTTP) Extra header to include in the request when sending HTTP\n"
" to a proxy. You may specify any number of extra headers. This is\n"
-" the equivalent option to -H, --header but is for proxy communi-\n"
+" the equivalent option to -H, --header but is for proxy communi-\n"
, stdout);
fputs(
-" cation only like in CONNECT requests when you want a separate\n"
-" header sent to the proxy to what is sent to the actual remote\n"
+" cation only like in CONNECT requests when you want a separate\n"
+" header sent to the proxy to what is sent to the actual remote\n"
" host.\n"
"\n"
-" curl will make sure that each header you add/replace is sent\n"
+" curl will make sure that each header you add/replace is sent\n"
" with the proper end-of-line marker, you should thus not add that\n"
" as a part of the header content: do not add newlines or carriage\n"
" returns, they will only mess things up for you.\n"
"\n"
, stdout);
fputs(
-" Headers specified with this option will not be included in re-\n"
+" Headers specified with this option will not be included in re-\n"
" quests that curl knows will not be sent to a proxy.\n"
"\n"
-" Starting in 7.55.0, this option can take an argument in @file-\n"
-" name style, which then adds a header for each line in the input\n"
+" Starting in 7.55.0, this option can take an argument in @file-\n"
+" name style, which then adds a header for each line in the input\n"
" file. Using @- will make curl read the header file from stdin.\n"
"\n"
-" This option can be used multiple times to add/replace/remove\n"
+" This option can be used multiple times to add/replace/remove\n"
" multiple headers.\n"
"\n"
, stdout);
@@ -2505,7 +2517,7 @@ void hugehelp(void)
" Same as --key but used in HTTPS proxy context.\n"
"\n"
" --proxy-negotiate\n"
-" Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n"
+" Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n"
, stdout);
fputs(
" communicating with the given proxy. Use --negotiate for enabling\n"
@@ -2514,7 +2526,7 @@ void hugehelp(void)
" See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n"
"\n"
" --proxy-ntlm\n"
-" Tells curl to use HTTP NTLM authentication when communicating\n"
+" Tells curl to use HTTP NTLM authentication when communicating\n"
" with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
" host.\n"
"\n"
@@ -2528,18 +2540,18 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" --proxy-pinnedpubkey <hashes>\n"
-" (TLS) Tells curl to use the specified public key file (or\n"
-" hashes) to verify the proxy. This can be a path to a file which\n"
+" (TLS) Tells curl to use the specified public key file (or\n"
+" hashes) to verify the proxy. This can be a path to a file which\n"
" contains a single public key in PEM or DER format, or any number\n"
" of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
, stdout);
fputs(
" rated by ';'\n"
"\n"
-" When negotiating a TLS or SSL connection, the server sends a\n"
-" certificate indicating its identity. A public key is extracted\n"
-" from this certificate and if it does not exactly match the pub-\n"
-" lic key provided to this option, curl will abort the connection\n"
+" When negotiating a TLS or SSL connection, the server sends a\n"
+" certificate indicating its identity. A public key is extracted\n"
+" from this certificate and if it does not exactly match the pub-\n"
+" lic key provided to this option, curl will abort the connection\n"
" before sending or receiving any data.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -2547,7 +2559,7 @@ void hugehelp(void)
, stdout);
fputs(
" --proxy-service-name <name>\n"
-" This option allows you to change the service name for proxy ne-\n"
+" This option allows you to change the service name for proxy ne-\n"
" gotiation.\n"
"\n"
" Added in 7.43.0.\n"
@@ -2558,18 +2570,18 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" --proxy-tls13-ciphers <ciphersuite list>\n"
-" (TLS) Specifies which cipher suites to use in the connection to\n"
+" (TLS) Specifies which cipher suites to use in the connection to\n"
, stdout);
fputs(
" your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n"
-" suites must specify valid ciphers. Read up on TLS 1.3 cipher\n"
+" suites must specify valid ciphers. Read up on TLS 1.3 cipher\n"
" suite details on this URL:\n"
"\n"
" https://curl.haxx.se/docs/ssl-ciphers.html\n"
"\n"
-" This option is currently used only when curl is built to use\n"
+" This option is currently used only when curl is built to use\n"
" OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
-" you can try setting TLS 1.3 cipher suites by using the --proxy-\n"
+" you can try setting TLS 1.3 cipher suites by using the --proxy-\n"
, stdout);
fputs(
" ciphers option.\n"
@@ -2599,20 +2611,20 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" -U, --proxy-user <user:password>\n"
-" Specify the user name and password to use for proxy authentica-\n"
+" Specify the user name and password to use for proxy authentica-\n"
" tion.\n"
"\n"
-" If you use a Windows SSPI-enabled curl binary and do either Ne-\n"
-" gotiate or NTLM authentication then you can tell curl to select\n"
+" If you use a Windows SSPI-enabled curl binary and do either Ne-\n"
+" gotiate or NTLM authentication then you can tell curl to select\n"
, stdout);
fputs(
" the user name and password from your environment by specifying a\n"
" single colon with this option: \"-U :\".\n"
"\n"
" On systems where it works, curl will hide the given option argu-\n"
-" ment from process listings. This is not enough to protect cre-\n"
-" dentials from possibly getting seen by other users on the same\n"
-" system as they will still be visible for a brief moment before\n"
+" ment from process listings. This is not enough to protect cre-\n"
+" dentials from possibly getting seen by other users on the same\n"
+" system as they will still be visible for a brief moment before\n"
, stdout);
fputs(
" cleared. Such sensitive data should be retrieved from a file in-\n"
@@ -2622,7 +2634,7 @@ void hugehelp(void)
" -x, --proxy [protocol://]host[:port]\n"
" Use the specified proxy.\n"
"\n"
-" The proxy string can be specified with a protocol:// prefix. No\n"
+" The proxy string can be specified with a protocol:// prefix. No\n"
" protocol specified or http:// will be treated as HTTP proxy. Use\n"
, stdout);
fputs(
@@ -2630,62 +2642,62 @@ void hugehelp(void)
" cific SOCKS version to be used. (The protocol support was added\n"
" in curl 7.21.7)\n"
"\n"
-" HTTPS proxy support via https:// protocol prefix was added in\n"
+" HTTPS proxy support via https:// protocol prefix was added in\n"
" 7.52.0 for OpenSSL, GnuTLS and NSS.\n"
"\n"
-" Unrecognized and unsupported proxy protocols cause an error\n"
-" since 7.52.0. Prior versions may ignore the protocol and use\n"
+" Unrecognized and unsupported proxy protocols cause an error\n"
+" since 7.52.0. Prior versions may ignore the protocol and use\n"
, stdout);
fputs(
" http:// instead.\n"
"\n"
-" If the port number is not specified in the proxy string, it is\n"
+" If the port number is not specified in the proxy string, it is\n"
" assumed to be 1080.\n"
"\n"
-" This option overrides existing environment variables that set\n"
-" the proxy to use. If there's an environment variable setting a\n"
+" This option overrides existing environment variables that set\n"
+" the proxy to use. If there's an environment variable setting a\n"
" proxy, you can set proxy to \"\" to override it.\n"
"\n"
" All operations that are performed over an HTTP proxy will trans-\n"
, stdout);
fputs(
-" parently be converted to HTTP. It means that certain protocol\n"
+" parently be converted to HTTP. It means that certain protocol\n"
" specific operations might not be available. This is not the case\n"
" if you can tunnel through the proxy, as one with the -p, --prox-\n"
" ytunnel option.\n"
"\n"
" User and password that might be provided in the proxy string are\n"
-" URL decoded by curl. This allows you to pass in special charac-\n"
+" URL decoded by curl. This allows you to pass in special charac-\n"
" ters such as @ by using %40 or pass in a colon with %3a.\n"
"\n"
, stdout);
fputs(
-" The proxy host can be specified the exact same way as the proxy\n"
-" environment variables, including the protocol prefix (http://)\n"
+" The proxy host can be specified the exact same way as the proxy\n"
+" environment variables, including the protocol prefix (http://)\n"
" and the embedded user + password.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" --proxy1.0 <host[:port]>\n"
-" Use the specified HTTP 1.0 proxy. If the port number is not\n"
+" Use the specified HTTP 1.0 proxy. If the port number is not\n"
" specified, it is assumed at port 1080.\n"
"\n"
, stdout);
fputs(
-" The only difference between this and the HTTP proxy option -x,\n"
-" --proxy, is that attempts to use CONNECT through the proxy will\n"
+" The only difference between this and the HTTP proxy option -x,\n"
+" --proxy, is that attempts to use CONNECT through the proxy will\n"
" specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n"
"\n"
" -p, --proxytunnel\n"
-" When an HTTP proxy is used -x, --proxy, this option will make\n"
-" curl tunnel through the proxy. The tunnel approach is made with\n"
-" the HTTP proxy CONNECT request and requires that the proxy al-\n"
+" When an HTTP proxy is used -x, --proxy, this option will make\n"
+" curl tunnel through the proxy. The tunnel approach is made with\n"
+" the HTTP proxy CONNECT request and requires that the proxy al-\n"
, stdout);
fputs(
" lows direct connect to the remote port number curl wants to tun-\n"
" nel through to.\n"
"\n"
-" To suppress proxy CONNECT response headers when curl is set to\n"
+" To suppress proxy CONNECT response headers when curl is set to\n"
" output headers use --suppress-connect-headers.\n"
"\n"
" See also -x, --proxy.\n"
@@ -2698,53 +2710,53 @@ void hugehelp(void)
fputs(
" If this option is used several times, the last one will be used.\n"
" (As of 7.39.0, curl attempts to automatically extract the public\n"
-" key from the private key file, so passing this option is gener-\n"
+" key from the private key file, so passing this option is gener-\n"
" ally not required. Note that this public key extraction requires\n"
-" libcurl to be linked against a copy of libssh2 1.2.8 or higher\n"
+" libcurl to be linked against a copy of libssh2 1.2.8 or higher\n"
" that is itself linked against OpenSSL.)\n"
"\n"
" -Q, --quote\n"
, stdout);
fputs(
-" (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP\n"
-" server. Quote commands are sent BEFORE the transfer takes place\n"
-" (just after the initial PWD command in an FTP transfer, to be\n"
+" (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP\n"
+" server. Quote commands are sent BEFORE the transfer takes place\n"
+" (just after the initial PWD command in an FTP transfer, to be\n"
" exact). To make commands take place after a successful transfer,\n"
-" prefix them with a dash '-'. To make commands be sent after\n"
+" prefix them with a dash '-'. To make commands be sent after\n"
" curl has changed the working directory, just before the transfer\n"
, stdout);
fputs(
-" command(s), prefix the command with a '+' (this is only sup-\n"
+" command(s), prefix the command with a '+' (this is only sup-\n"
" ported for FTP). You may specify any number of commands.\n"
"\n"
-" If the server returns failure for one of the commands, the en-\n"
+" If the server returns failure for one of the commands, the en-\n"
" tire operation will be aborted. You must send syntactically cor-\n"
-" rect FTP commands as RFC 959 defines to FTP servers, or one of\n"
+" rect FTP commands as RFC 959 defines to FTP servers, or one of\n"
" the commands listed below to SFTP servers.\n"
"\n"
, stdout);
fputs(
-" Prefix the command with an asterisk (*) to make curl continue\n"
-" even if the command fails as by default curl will stop at first\n"
+" Prefix the command with an asterisk (*) to make curl continue\n"
+" even if the command fails as by default curl will stop at first\n"
" failure.\n"
"\n"
" This option can be used multiple times.\n"
"\n"
-" SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP\n"
-" quote commands itself before sending them to the server. File\n"
+" SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP\n"
+" quote commands itself before sending them to the server. File\n"
" names may be quoted shell-style to embed spaces or special char-\n"
, stdout);
fputs(
-" acters. Following is the list of all supported SFTP quote com-\n"
+" acters. Following is the list of all supported SFTP quote com-\n"
" mands:\n"
"\n"
" chgrp group file\n"
-" The chgrp command sets the group ID of the file named by\n"
-" the file operand to the group ID specified by the group\n"
+" The chgrp command sets the group ID of the file named by\n"
+" the file operand to the group ID specified by the group\n"
" operand. The group operand is a decimal integer group ID.\n"
"\n"
" chmod mode file\n"
-" The chmod command modifies the file mode bits of the\n"
+" The chmod command modifies the file mode bits of the\n"
, stdout);
fputs(
" specified file. The mode operand is an octal integer mode\n"
@@ -2752,18 +2764,18 @@ void hugehelp(void)
"\n"
" chown user file\n"
" The chown command sets the owner of the file named by the\n"
-" file operand to the user ID specified by the user oper-\n"
+" file operand to the user ID specified by the user oper-\n"
" and. The user operand is a decimal integer user ID.\n"
"\n"
" ln source_file target_file\n"
" The ln and symlink commands create a symbolic link at the\n"
, stdout);
fputs(
-" target_file location pointing to the source_file loca-\n"
+" target_file location pointing to the source_file loca-\n"
" tion.\n"
"\n"
" mkdir directory_name\n"
-" The mkdir command creates the directory named by the di-\n"
+" The mkdir command creates the directory named by the di-\n"
" rectory_name operand.\n"
"\n"
" pwd The pwd command returns the absolute pathname of the cur-\n"
@@ -2773,7 +2785,7 @@ void hugehelp(void)
, stdout);
fputs(
" The rename command renames the file or directory named by\n"
-" the source operand to the destination path named by the\n"
+" the source operand to the destination path named by the\n"
" target operand.\n"
"\n"
" rm file\n"
@@ -2781,7 +2793,7 @@ void hugehelp(void)
" erand.\n"
"\n"
" rmdir directory\n"
-" The rmdir command removes the directory entry specified\n"
+" The rmdir command removes the directory entry specified\n"
, stdout);
fputs(
" by the directory operand, provided it is empty.\n"
@@ -2791,14 +2803,14 @@ void hugehelp(void)
"\n"
" --random-file <file>\n"
" Specify the path name to file containing what will be considered\n"
-" as random data. The data may be used to seed the random engine\n"
+" as random data. The data may be used to seed the random engine\n"
" for SSL connections. See also the --egd-file option.\n"
"\n"
" -r, --range <range>\n"
, stdout);
fputs(
" (HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial docu-\n"
-" ment) from an HTTP/1.1, FTP or SFTP server or a local FILE.\n"
+" ment) from an HTTP/1.1, FTP or SFTP server or a local FILE.\n"
" Ranges can be specified in a number of ways.\n"
"\n"
" 0-499 specifies the first 500 bytes\n"
@@ -2816,30 +2828,30 @@ void hugehelp(void)
" 100-199,500-599\n"
" specifies two separate 100-byte ranges(*) (HTTP)\n"
"\n"
-" (*) = NOTE that this will cause the server to reply with a mul-\n"
+" (*) = NOTE that this will cause the server to reply with a mul-\n"
" tipart response!\n"
"\n"
-" Only digit characters (0-9) are valid in the 'start' and 'stop'\n"
-" fields of the 'start-stop' range syntax. If a non-digit charac-\n"
+" Only digit characters (0-9) are valid in the 'start' and 'stop'\n"
+" fields of the 'start-stop' range syntax. If a non-digit charac-\n"
, stdout);
fputs(
" ter is given in the range, the server's response will be unspec-\n"
" ified, depending on the server's configuration.\n"
"\n"
-" You should also be aware that many HTTP/1.1 servers do not have\n"
-" this feature enabled, so that when you attempt to get a range,\n"
+" You should also be aware that many HTTP/1.1 servers do not have\n"
+" this feature enabled, so that when you attempt to get a range,\n"
" you'll instead get the whole document.\n"
"\n"
-" FTP and SFTP range downloads only support the simple 'start-\n"
+" FTP and SFTP range downloads only support the simple 'start-\n"
, stdout);
fputs(
-" stop' syntax (optionally with one of the numbers omitted). FTP\n"
+" stop' syntax (optionally with one of the numbers omitted). FTP\n"
" use depends on the extended FTP command SIZE.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" --raw (HTTP) When used, it disables all internal HTTP decoding of con-\n"
-" tent or transfer encodings and instead makes them passed on un-\n"
+" tent or transfer encodings and instead makes them passed on un-\n"
" altered, raw.\n"
"\n"
" Added in 7.16.2.\n"
@@ -2849,9 +2861,9 @@ void hugehelp(void)
fputs(
" (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n"
" This can also be set with the -H, --header flag of course. When\n"
-" used with -L, --location you can append \";auto\" to the -e,\n"
-" --referer URL to make curl automatically set the previous URL\n"
-" when it follows a Location: header. The \";auto\" string can be\n"
+" used with -L, --location you can append \";auto\" to the -e,\n"
+" --referer URL to make curl automatically set the previous URL\n"
+" when it follows a Location: header. The \";auto\" string can be\n"
" used alone, even if you don't set an initial -e, --referer.\n"
"\n"
, stdout);
@@ -2862,29 +2874,29 @@ void hugehelp(void)
"\n"
" -J, --remote-header-name\n"
" (HTTP) This option tells the -O, --remote-name option to use the\n"
-" server-specified Content-Disposition filename instead of ex-\n"
+" server-specified Content-Disposition filename instead of ex-\n"
" tracting a filename from the URL.\n"
"\n"
-" If the server specifies a file name and a file with that name\n"
+" If the server specifies a file name and a file with that name\n"
, stdout);
fputs(
-" already exists in the current working directory it will not be\n"
+" already exists in the current working directory it will not be\n"
" overwritten and an error will occur. If the server doesn't spec-\n"
" ify a file name then this option has no effect.\n"
"\n"
-" There's no attempt to decode %-sequences (yet) in the provided\n"
+" There's no attempt to decode %-sequences (yet) in the provided\n"
" file name, so this option may provide you with rather unexpected\n"
" file names.\n"
"\n"
-" WARNING: Exercise judicious use of this option, especially on\n"
+" WARNING: Exercise judicious use of this option, especially on\n"
, stdout);
fputs(
-" Windows. A rogue server could send you the name of a DLL or\n"
-" other file that could possibly be loaded automatically by Win-\n"
+" Windows. A rogue server could send you the name of a DLL or\n"
+" other file that could possibly be loaded automatically by Win-\n"
" dows or some third party software.\n"
"\n"
" --remote-name-all\n"
-" This option changes the default action for all given URLs to be\n"
+" This option changes the default action for all given URLs to be\n"
" dealt with as if -O, --remote-name were used for each one. So if\n"
" you want to disable that for a specific URL after --remote-name-\n"
, stdout);
@@ -2894,76 +2906,76 @@ void hugehelp(void)
" Added in 7.19.0.\n"
"\n"
" -O, --remote-name\n"
-" Write output to a local file named like the remote file we get.\n"
-" (Only the file part of the remote file is used, the path is cut\n"
+" Write output to a local file named like the remote file we get.\n"
+" (Only the file part of the remote file is used, the path is cut\n"
" off.)\n"
"\n"
-" The file will be saved in the current working directory. If you\n"
-" want the file saved in a different directory, make sure you\n"
+" The file will be saved in the current working directory. If you\n"
+" want the file saved in a different directory, make sure you\n"
, stdout);
fputs(
-" change the current working directory before invoking curl with\n"
+" change the current working directory before invoking curl with\n"
" this option.\n"
"\n"
-" The remote file name to use for saving is extracted from the\n"
-" given URL, nothing else, and if it already exists it will be\n"
-" overwritten. If you want the server to be able to choose the\n"
+" The remote file name to use for saving is extracted from the\n"
+" given URL, nothing else, and if it already exists it will be\n"
+" overwritten. If you want the server to be able to choose the\n"
" file name refer to -J, --remote-header-name which can be used in\n"
, stdout);
fputs(
-" addition to this option. If the server chooses a file name and\n"
+" addition to this option. If the server chooses a file name and\n"
" that name already exists it will not be overwritten.\n"
"\n"
" There is no URL decoding done on the file name. If it has %20 or\n"
-" other URL encoded parts of the name, they will end up as-is as\n"
+" other URL encoded parts of the name, they will end up as-is as\n"
" file name.\n"
"\n"
-" You may use this option as many times as the number of URLs you\n"
+" You may use this option as many times as the number of URLs you\n"
" have.\n"
"\n"
" -R, --remote-time\n"
, stdout);
fputs(
-" When used, this will make curl attempt to figure out the time-\n"
-" stamp of the remote file, and if that is available make the lo-\n"
+" When used, this will make curl attempt to figure out the time-\n"
+" stamp of the remote file, and if that is available make the lo-\n"
" cal file get that same timestamp.\n"
"\n"
" --request-target\n"
-" (HTTP) Tells curl to use an alternative \"target\" (path) instead\n"
-" of using the path as provided in the URL. Particularly useful\n"
-" when wanting to issue HTTP requests without leading slash or\n"
+" (HTTP) Tells curl to use an alternative \"target\" (path) instead\n"
+" of using the path as provided in the URL. Particularly useful\n"
+" when wanting to issue HTTP requests without leading slash or\n"
, stdout);
fputs(
-" other data that doesn't follow the regular URL pattern, like\n"
+" other data that doesn't follow the regular URL pattern, like\n"
" \"OPTIONS *\".\n"
"\n"
" Added in 7.55.0.\n"
"\n"
" -X, --request <command>\n"
" (HTTP) Specifies a custom request method to use when communicat-\n"
-" ing with the HTTP server. The specified request method will be\n"
-" used instead of the method otherwise used (which defaults to\n"
-" GET). Read the HTTP 1.1 specification for details and explana-\n"
+" ing with the HTTP server. The specified request method will be\n"
+" used instead of the method otherwise used (which defaults to\n"
+" GET). Read the HTTP 1.1 specification for details and explana-\n"
, stdout);
fputs(
-" tions. Common additional HTTP requests include PUT and DELETE,\n"
+" tions. Common additional HTTP requests include PUT and DELETE,\n"
" but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n"
" and more.\n"
"\n"
-" Normally you don't need this option. All sorts of GET, HEAD,\n"
+" Normally you don't need this option. All sorts of GET, HEAD,\n"
" POST and PUT requests are rather invoked by using dedicated com-\n"
" mand line options.\n"
"\n"
-" This option only changes the actual word used in the HTTP re-\n"
+" This option only changes the actual word used in the HTTP re-\n"
, stdout);
fputs(
" quest, it does not alter the way curl behaves. So for example if\n"
-" you want to make a proper HEAD request, using -X HEAD will not\n"
+" you want to make a proper HEAD request, using -X HEAD will not\n"
" suffice. You need to use the -I, --head option.\n"
"\n"
-" The method string you set with -X, --request will be used for\n"
-" all requests, which if you for example use -L, --location may\n"
-" cause unintended side-effects when curl doesn't change request\n"
+" The method string you set with -X, --request will be used for\n"
+" all requests, which if you for example use -L, --location may\n"
+" cause unintended side-effects when curl doesn't change request\n"
, stdout);
fputs(
" method according to the HTTP 30x response codes - and similar.\n"
@@ -2974,7 +2986,7 @@ void hugehelp(void)
" (POP3) Specifies a custom POP3 command to use instead of LIST or\n"
" RETR. (Added in 7.26.0)\n"
"\n"
-" (IMAP) Specifies a custom IMAP command to use instead of LIST.\n"
+" (IMAP) Specifies a custom IMAP command to use instead of LIST.\n"
" (Added in 7.30.0)\n"
"\n"
, stdout);
@@ -2985,22 +2997,22 @@ void hugehelp(void)
" If this option is used several times, the last one will be used.\n"
"\n"
" --resolve <host:port:address[,address]...>\n"
-" Provide a custom address for a specific host and port pair. Us-\n"
-" ing this, you can make the curl requests(s) use a specified ad-\n"
-" dress and prevent the otherwise normally resolved address to be\n"
+" Provide a custom address for a specific host and port pair. Us-\n"
+" ing this, you can make the curl requests(s) use a specified ad-\n"
+" dress and prevent the otherwise normally resolved address to be\n"
, stdout);
fputs(
-" used. Consider it a sort of /etc/hosts alternative provided on\n"
-" the command line. The port number should be the number used for\n"
-" the specific protocol the host will be used for. It means you\n"
+" used. Consider it a sort of /etc/hosts alternative provided on\n"
+" the command line. The port number should be the number used for\n"
+" the specific protocol the host will be used for. It means you\n"
" need several entries if you want to provide address for the same\n"
" host but different ports.\n"
"\n"
-" By specifying '*' as host you can tell curl to resolve any host\n"
+" By specifying '*' as host you can tell curl to resolve any host\n"
, stdout);
fputs(
" and specific port pair to the specified address. Wildcard is re-\n"
-" solved last so any --resolve with a specific host and port will\n"
+" solved last so any --resolve with a specific host and port will\n"
" be used first.\n"
"\n"
" The provided address set by this option will be used even if -4,\n"
@@ -3010,7 +3022,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" Support for providing multiple IP addresses per entry was added\n"
+" Support for providing multiple IP addresses per entry was added\n"
" in 7.59.0.\n"
"\n"
" Support for resolving with wildcard was added in 7.64.0.\n"
@@ -3021,8 +3033,8 @@ void hugehelp(void)
" Added in 7.21.3.\n"
"\n"
" --retry-connrefused\n"
-" In addition to the other conditions, consider ECONNREFUSED as a\n"
-" transient error too for --retry. This option is used together\n"
+" In addition to the other conditions, consider ECONNREFUSED as a\n"
+" transient error too for --retry. This option is used together\n"
, stdout);
fputs(
" with --retry.\n"
@@ -3030,10 +3042,10 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" --retry-delay <seconds>\n"
-" Make curl sleep this amount of time before each retry when a\n"
-" transfer has failed with a transient error (it changes the de-\n"
-" fault backoff time algorithm between retries). This option is\n"
-" only interesting if --retry is also used. Setting this delay to\n"
+" Make curl sleep this amount of time before each retry when a\n"
+" transfer has failed with a transient error (it changes the de-\n"
+" fault backoff time algorithm between retries). This option is\n"
+" only interesting if --retry is also used. Setting this delay to\n"
" zero will make curl use the default backoff time.\n"
"\n"
, stdout);
@@ -3043,13 +3055,13 @@ void hugehelp(void)
" Added in 7.12.3.\n"
"\n"
" --retry-max-time <seconds>\n"
-" The retry timer is reset before the first transfer attempt. Re-\n"
-" tries will be done as usual (see --retry) as long as the timer\n"
+" The retry timer is reset before the first transfer attempt. Re-\n"
+" tries will be done as usual (see --retry) as long as the timer\n"
" hasn't reached this given limit. Notice that if the timer hasn't\n"
-" reached the limit, the request will be made and while perform-\n"
+" reached the limit, the request will be made and while perform-\n"
, stdout);
fputs(
-" ing, it may take longer than this given time period. To limit a\n"
+" ing, it may take longer than this given time period. To limit a\n"
" single request's maximum time, use -m, --max-time. Set this op-\n"
" tion to zero to not timeout retries.\n"
"\n"
@@ -3058,25 +3070,25 @@ void hugehelp(void)
" Added in 7.12.3.\n"
"\n"
" --retry <num>\n"
-" If a transient error is returned when curl tries to perform a\n"
+" If a transient error is returned when curl tries to perform a\n"
, stdout);
fputs(
-" transfer, it will retry this number of times before giving up.\n"
-" Setting the number to 0 makes curl do no retries (which is the\n"
-" default). Transient error means either: a timeout, an FTP 4xx\n"
+" transfer, it will retry this number of times before giving up.\n"
+" Setting the number to 0 makes curl do no retries (which is the\n"
+" default). Transient error means either: a timeout, an FTP 4xx\n"
" response code or an HTTP 408 or 5xx response code.\n"
"\n"
-" When curl is about to retry a transfer, it will first wait one\n"
-" second and then for all forthcoming retries it will double the\n"
+" When curl is about to retry a transfer, it will first wait one\n"
+" second and then for all forthcoming retries it will double the\n"
, stdout);
fputs(
-" waiting time until it reaches 10 minutes which then will be the\n"
-" delay between the rest of the retries. By using --retry-delay\n"
-" you disable this exponential backoff algorithm. See also\n"
+" waiting time until it reaches 10 minutes which then will be the\n"
+" delay between the rest of the retries. By using --retry-delay\n"
+" you disable this exponential backoff algorithm. See also\n"
" --retry-max-time to limit the total time allowed for retries.\n"
"\n"
-" Since curl 7.66.0, curl will comply with the Retry-After: re-\n"
-" sponse header if one was present to know when to issue the next\n"
+" Since curl 7.66.0, curl will comply with the Retry-After: re-\n"
+" sponse header if one was present to know when to issue the next\n"
" retry.\n"
"\n"
, stdout);
@@ -3087,15 +3099,15 @@ void hugehelp(void)
"\n"
" --sasl-authzid\n"
" Use this authorisation identity (authzid), during SASL PLAIN au-\n"
-" thentication, in addition to the authentication identity (auth-\n"
+" thentication, in addition to the authentication identity (auth-\n"
" cid) as specified by -u, --user.\n"
"\n"
-" If the option isn't specified, the server will derive the au-\n"
-" thzid from the authcid, but if specified, and depending on the\n"
+" If the option isn't specified, the server will derive the au-\n"
+" thzid from the authcid, but if specified, and depending on the\n"
, stdout);
fputs(
-" server implementation, it may be used to access another user's\n"
-" inbox, that the user has been granted access to, or a shared\n"
+" server implementation, it may be used to access another user's\n"
+" inbox, that the user has been granted access to, or a shared\n"
" mailbox for example.\n"
"\n"
" Added in 7.66.0.\n"
@@ -3110,7 +3122,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" Examples: --negotiate --service-name sockd would use\n"
+" Examples: --negotiate --service-name sockd would use\n"
" sockd/server-name.\n"
"\n"
" Added in 7.43.0.\n"
@@ -3118,14 +3130,14 @@ void hugehelp(void)
" When used with -s, --silent, it makes curl show an error message\n"
" if it fails.\n"
" -s, --silent\n"
-" Silent or quiet mode. Don't show progress meter or error mes-\n"
-" sages. Makes Curl mute. It will still output the data you ask\n"
+" Silent or quiet mode. Don't show progress meter or error mes-\n"
+" sages. Makes Curl mute. It will still output the data you ask\n"
, stdout);
fputs(
" for, potentially even to the terminal/stdout unless you redirect\n"
" it.\n"
"\n"
-" Use -S, --show-error in addition to this option to disable\n"
+" Use -S, --show-error in addition to this option to disable\n"
" progress meter but still show error messages.\n"
"\n"
" See also -v, --verbose and --stderr.\n"
@@ -3136,13 +3148,13 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" This option overrides any previous use of -x, --proxy, as they\n"
+" This option overrides any previous use of -x, --proxy, as they\n"
" are mutually exclusive.\n"
"\n"
" Since 7.21.7, this option is superfluous since you can specify a\n"
" socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n"
" Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
-" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
, stdout);
fputs(
" such a case curl first connects to the SOCKS proxy and then con-\n"
@@ -3156,17 +3168,17 @@ void hugehelp(void)
" Use the specified SOCKS4a proxy. If the port number is not spec-\n"
" ified, it is assumed at port 1080.\n"
"\n"
-" This option overrides any previous use of -x, --proxy, as they\n"
+" This option overrides any previous use of -x, --proxy, as they\n"
, stdout);
fputs(
" are mutually exclusive.\n"
"\n"
" Since 7.21.7, this option is superfluous since you can specify a\n"
-" socks4a proxy with -x, --proxy using a socks4a:// protocol pre-\n"
+" socks4a proxy with -x, --proxy using a socks4a:// protocol pre-\n"
" fix.\n"
"\n"
" Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
-" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
" such a case curl first connects to the SOCKS proxy and then con-\n"
, stdout);
fputs(
@@ -3178,8 +3190,8 @@ void hugehelp(void)
"\n"
" --socks5-basic\n"
" Tells curl to use username/password authentication when connect-\n"
-" ing to a SOCKS5 proxy. The username/password authentication is\n"
-" enabled by default. Use --socks5-gssapi to force GSS-API au-\n"
+" ing to a SOCKS5 proxy. The username/password authentication is\n"
+" enabled by default. Use --socks5-gssapi to force GSS-API au-\n"
" thentication to SOCKS5 proxies.\n"
"\n"
, stdout);
@@ -3187,10 +3199,10 @@ void hugehelp(void)
" Added in 7.55.0.\n"
"\n"
" --socks5-gssapi-nec\n"
-" As part of the GSS-API negotiation a protection mode is negoti-\n"
-" ated. RFC 1961 says in section 4.3/4.4 it should be protected,\n"
-" but the NEC reference implementation does not. The option\n"
-" --socks5-gssapi-nec allows the unprotected exchange of the pro-\n"
+" As part of the GSS-API negotiation a protection mode is negoti-\n"
+" ated. RFC 1961 says in section 4.3/4.4 it should be protected,\n"
+" but the NEC reference implementation does not. The option\n"
+" --socks5-gssapi-nec allows the unprotected exchange of the pro-\n"
" tection mode negotiation.\n"
"\n"
" Added in 7.19.4.\n"
@@ -3201,9 +3213,9 @@ void hugehelp(void)
" The default service name for a socks server is rcmd/server-fqdn.\n"
" This option allows you to change it.\n"
"\n"
-" Examples: --socks5 proxy-name --socks5-gssapi-service sockd\n"
-" would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-\n"
-" service sockd/real-name would use sockd/real-name for cases\n"
+" Examples: --socks5 proxy-name --socks5-gssapi-service sockd\n"
+" would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-\n"
+" service sockd/real-name would use sockd/real-name for cases\n"
" where the proxy-name does not match the principal name.\n"
"\n"
" Added in 7.19.4.\n"
@@ -3211,21 +3223,21 @@ void hugehelp(void)
" --socks5-gssapi\n"
, stdout);
fputs(
-" Tells curl to use GSS-API authentication when connecting to a\n"
-" SOCKS5 proxy. The GSS-API authentication is enabled by default\n"
-" (if curl is compiled with GSS-API support). Use --socks5-basic\n"
+" Tells curl to use GSS-API authentication when connecting to a\n"
+" SOCKS5 proxy. The GSS-API authentication is enabled by default\n"
+" (if curl is compiled with GSS-API support). Use --socks5-basic\n"
" to force username/password authentication to SOCKS5 proxies.\n"
"\n"
" Added in 7.55.0.\n"
"\n"
" --socks5-hostname <host[:port]>\n"
-" Use the specified SOCKS5 proxy (and let the proxy resolve the\n"
+" Use the specified SOCKS5 proxy (and let the proxy resolve the\n"
, stdout);
fputs(
-" host name). If the port number is not specified, it is assumed\n"
+" host name). If the port number is not specified, it is assumed\n"
" at port 1080.\n"
"\n"
-" This option overrides any previous use of -x, --proxy, as they\n"
+" This option overrides any previous use of -x, --proxy, as they\n"
" are mutually exclusive.\n"
"\n"
" Since 7.21.7, this option is superfluous since you can specify a\n"
@@ -3235,7 +3247,7 @@ void hugehelp(void)
" Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
, stdout);
fputs(
-" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
" such a case curl first connects to the SOCKS proxy and then con-\n"
" nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
"\n"
@@ -3244,13 +3256,13 @@ void hugehelp(void)
" Added in 7.18.0.\n"
"\n"
" --socks5 <host[:port]>\n"
-" Use the specified SOCKS5 proxy - but resolve the host name lo-\n"
+" Use the specified SOCKS5 proxy - but resolve the host name lo-\n"
, stdout);
fputs(
-" cally. If the port number is not specified, it is assumed at\n"
+" cally. If the port number is not specified, it is assumed at\n"
" port 1080.\n"
"\n"
-" This option overrides any previous use of -x, --proxy, as they\n"
+" This option overrides any previous use of -x, --proxy, as they\n"
" are mutually exclusive.\n"
"\n"
" Since 7.21.7, this option is superfluous since you can specify a\n"
@@ -3258,12 +3270,12 @@ void hugehelp(void)
" Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
, stdout);
fputs(
-" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
+" the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
" such a case curl first connects to the SOCKS proxy and then con-\n"
" nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
-" This option (as well as --socks4) does not work with IPV6, FTPS\n"
+" This option (as well as --socks4) does not work with IPV6, FTPS\n"
" or LDAP.\n"
"\n"
" Added in 7.18.0.\n"
@@ -3272,7 +3284,7 @@ void hugehelp(void)
, stdout);
fputs(
" If a download is slower than this given speed (in bytes per sec-\n"
-" ond) for speed-time seconds it gets aborted. speed-time is set\n"
+" ond) for speed-time seconds it gets aborted. speed-time is set\n"
" with -y, --speed-time and is 30 if not set.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3282,11 +3294,11 @@ void hugehelp(void)
" a speed-time period, the download gets aborted. If speed-time is\n"
, stdout);
fputs(
-" used, the default speed-limit will be 1 unless set with -Y,\n"
+" used, the default speed-limit will be 1 unless set with -Y,\n"
" --speed-limit.\n"
"\n"
-" This option controls transfers and thus will not affect slow\n"
-" connects etc. If this is a concern for you, try the --connect-\n"
+" This option controls transfers and thus will not affect slow\n"
+" connects etc. If this is a concern for you, try the --connect-\n"
" timeout option.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3295,8 +3307,8 @@ void hugehelp(void)
" This option tells curl to not work around a security flaw in the\n"
, stdout);
fputs(
-" SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n"
-" used, the SSL layer may use workarounds known to cause interop-\n"
+" SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n"
+" used, the SSL layer may use workarounds known to cause interop-\n"
" erability problems with some older SSL implementations. WARNING:\n"
" this option loosens the SSL security, and by using this flag you\n"
" ask for exactly that.\n"
@@ -3323,12 +3335,12 @@ void hugehelp(void)
, stdout);
fputs(
" --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection. Re-\n"
-" verts to a non-secure connection if the server doesn't support\n"
-" SSL/TLS. See also --ftp-ssl-control and --ssl-reqd for differ-\n"
+" verts to a non-secure connection if the server doesn't support\n"
+" SSL/TLS. See also --ftp-ssl-control and --ssl-reqd for differ-\n"
" ent levels of encryption required.\n"
"\n"
-" This option was formerly known as --ftp-ssl (Added in 7.11.0).\n"
-" That option name can still be used but will be removed in a fu-\n"
+" This option was formerly known as --ftp-ssl (Added in 7.11.0).\n"
+" That option name can still be used but will be removed in a fu-\n"
" ture version.\n"
"\n"
, stdout);
@@ -3336,29 +3348,29 @@ void hugehelp(void)
" Added in 7.20.0.\n"
"\n"
" -2, --sslv2\n"
-" (SSL) Forces curl to use SSL version 2 when negotiating with a\n"
-" remote SSL server. Sometimes curl is built without SSLv2 sup-\n"
+" (SSL) Forces curl to use SSL version 2 when negotiating with a\n"
+" remote SSL server. Sometimes curl is built without SSLv2 sup-\n"
" port. SSLv2 is widely considered insecure (see RFC 6176).\n"
"\n"
-" See also --http1.1 and --http2. -2, --sslv2 requires that the\n"
-" underlying libcurl was built to support TLS. This option over-\n"
+" See also --http1.1 and --http2. -2, --sslv2 requires that the\n"
+" underlying libcurl was built to support TLS. This option over-\n"
, stdout);
fputs(
" rides -3, --sslv3 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
"\n"
" -3, --sslv3\n"
-" (SSL) Forces curl to use SSL version 3 when negotiating with a\n"
-" remote SSL server. Sometimes curl is built without SSLv3 sup-\n"
+" (SSL) Forces curl to use SSL version 3 when negotiating with a\n"
+" remote SSL server. Sometimes curl is built without SSLv3 sup-\n"
" port. SSLv3 is widely considered insecure (see RFC 7568).\n"
"\n"
-" See also --http1.1 and --http2. -3, --sslv3 requires that the\n"
-" underlying libcurl was built to support TLS. This option over-\n"
+" See also --http1.1 and --http2. -3, --sslv3 requires that the\n"
+" underlying libcurl was built to support TLS. This option over-\n"
, stdout);
fputs(
" rides -2, --sslv2 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
"\n"
" --stderr\n"
-" Redirect all writes to stderr to the specified file instead. If\n"
+" Redirect all writes to stderr to the specified file instead. If\n"
" the file name is a plain '-', it is instead written to stdout.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3366,22 +3378,22 @@ void hugehelp(void)
" See also -v, --verbose and -s, --silent.\n"
"\n"
" --styled-output\n"
-" Enables the automatic use of bold font styles when writing HTTP\n"
+" Enables the automatic use of bold font styles when writing HTTP\n"
, stdout);
fputs(
-" headers to the terminal. Use --no-styled-output to switch them\n"
+" headers to the terminal. Use --no-styled-output to switch them\n"
" off.\n"
"\n"
" Added in 7.61.0.\n"
"\n"
" --suppress-connect-headers\n"
-" When -p, --proxytunnel is used and a CONNECT request is made\n"
-" don't output proxy CONNECT response headers. This option is\n"
-" meant to be used with -D, --dump-header or -i, --include which\n"
-" are used to show protocol headers in the output. It has no ef-\n"
+" When -p, --proxytunnel is used and a CONNECT request is made\n"
+" don't output proxy CONNECT response headers. This option is\n"
+" meant to be used with -D, --dump-header or -i, --include which\n"
+" are used to show protocol headers in the output. It has no ef-\n"
, stdout);
fputs(
-" fect on debug options such as -v, --verbose or --trace, or any\n"
+" fect on debug options such as -v, --verbose or --trace, or any\n"
" statistics.\n"
"\n"
" See also -D, --dump-header and -i, --include and -p, --proxytun-\n"
@@ -3393,12 +3405,12 @@ void hugehelp(void)
" Added in 7.49.0.\n"
"\n"
" --tcp-nodelay\n"
-" Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
+" Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
" page for details about this option.\n"
"\n"
, stdout);
fputs(
-" Since 7.50.2, curl sets this option by default and you need to\n"
+" Since 7.50.2, curl sets this option by default and you need to\n"
" explicitly switch it off if you don't want it on.\n"
"\n"
" Added in 7.11.2.\n"
@@ -3428,25 +3440,25 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" This option improves interop with some legacy servers that do\n"
-" not acknowledge or properly implement TFTP options. When this\n"
+" This option improves interop with some legacy servers that do\n"
+" not acknowledge or properly implement TFTP options. When this\n"
" option is used --tftp-blksize is ignored.\n"
"\n"
" Added in 7.48.0.\n"
"\n"
" -z, --time-cond <time>\n"
-" (HTTP FTP) Request a file that has been modified later than the\n"
-" given time and date, or one that has been modified before that\n"
+" (HTTP FTP) Request a file that has been modified later than the\n"
+" given time and date, or one that has been modified before that\n"
, stdout);
fputs(
-" time. The <date expression> can be all sorts of date strings or\n"
+" time. The <date expression> can be all sorts of date strings or\n"
" if it doesn't match any internal ones, it is taken as a filename\n"
-" and tries to get the modification date (mtime) from <file> in-\n"
+" and tries to get the modification date (mtime) from <file> in-\n"
" stead. See the curl_getdate(3) man pages for date expression de-\n"
" tails.\n"
"\n"
" Start the date expression with a dash (-) to make it request for\n"
-" a document that is older than the given date/time, default is a\n"
+" a document that is older than the given date/time, default is a\n"
, stdout);
fputs(
" document that is newer than the specified date/time.\n"
@@ -3455,7 +3467,7 @@ void hugehelp(void)
"\n"
" --tls-max <VERSION>\n"
" (SSL) VERSION defines maximum supported TLS version. The minimum\n"
-" acceptable version is set by tlsv1.0, tlsv1.1, tlsv1.2 or\n"
+" acceptable version is set by tlsv1.0, tlsv1.1, tlsv1.2 or\n"
" tlsv1.3.\n"
"\n"
" default\n"
@@ -3473,16 +3485,16 @@ void hugehelp(void)
" 7.54.0.\n"
"\n"
" --tls13-ciphers <list of TLS 1.3 ciphersuites>\n"
-" (TLS) Specifies which cipher suites to use in the connection if\n"
+" (TLS) Specifies which cipher suites to use in the connection if\n"
, stdout);
fputs(
-" it negotiates TLS 1.3. The list of ciphers suites must specify\n"
-" valid ciphers. Read up on TLS 1.3 cipher suite details on this\n"
+" it negotiates TLS 1.3. The list of ciphers suites must specify\n"
+" valid ciphers. Read up on TLS 1.3 cipher suite details on this\n"
" URL:\n"
"\n"
" https://curl.haxx.se/docs/ssl-ciphers.html\n"
"\n"
-" This option is currently used only when curl is built to use\n"
+" This option is currently used only when curl is built to use\n"
" OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
" you can try setting TLS 1.3 cipher suites by using the --ciphers\n"
" option.\n"
@@ -3492,37 +3504,37 @@ void hugehelp(void)
" If this option is used several times, the last one will be used.\n"
"\n"
" --tlsauthtype <type>\n"
-" Set TLS authentication type. Currently, the only supported op-\n"
+" Set TLS authentication type. Currently, the only supported op-\n"
" tion is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n"
-" --tlspassword are specified but --tlsauthtype is not, then this\n"
-" option defaults to \"SRP\". This option works only if the under-\n"
+" --tlspassword are specified but --tlsauthtype is not, then this\n"
+" option defaults to \"SRP\". This option works only if the under-\n"
, stdout);
fputs(
-" lying libcurl is built with TLS-SRP support, which requires\n"
+" lying libcurl is built with TLS-SRP support, which requires\n"
" OpenSSL or GnuTLS with TLS-SRP support.\n"
"\n"
" Added in 7.21.4.\n"
"\n"
" --tlspassword\n"
-" Set password for use with the TLS authentication method speci-\n"
+" Set password for use with the TLS authentication method speci-\n"
" fied with --tlsauthtype. Requires that --tlsuser also be set.\n"
"\n"
" Added in 7.21.4.\n"
" --tlsuser <name>\n"
-" Set username for use with the TLS authentication method speci-\n"
+" Set username for use with the TLS authentication method speci-\n"
, stdout);
fputs(
-" fied with --tlsauthtype. Requires that --tlspassword also is\n"
+" fied with --tlsauthtype. Requires that --tlspassword also is\n"
" set.\n"
"\n"
" Added in 7.21.4.\n"
"\n"
" --tlsv1.0\n"
-" (TLS) Forces curl to use TLS version 1.0 or later when connect-\n"
+" (TLS) Forces curl to use TLS version 1.0 or later when connect-\n"
" ing to a remote TLS server.\n"
"\n"
-" In old versions of curl this option was documented to allow\n"
-" _only_ TLS 1.0, but behavior was inconsistent depending on the\n"
+" In old versions of curl this option was documented to allow\n"
+" _only_ TLS 1.0, but behavior was inconsistent depending on the\n"
, stdout);
fputs(
" TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
@@ -3531,11 +3543,11 @@ void hugehelp(void)
" Added in 7.34.0.\n"
"\n"
" --tlsv1.1\n"
-" (TLS) Forces curl to use TLS version 1.1 or later when connect-\n"
+" (TLS) Forces curl to use TLS version 1.1 or later when connect-\n"
" ing to a remote TLS server.\n"
"\n"
-" In old versions of curl this option was documented to allow\n"
-" _only_ TLS 1.1, but behavior was inconsistent depending on the\n"
+" In old versions of curl this option was documented to allow\n"
+" _only_ TLS 1.1, but behavior was inconsistent depending on the\n"
, stdout);
fputs(
" TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
@@ -3544,11 +3556,11 @@ void hugehelp(void)
" Added in 7.34.0.\n"
"\n"
" --tlsv1.2\n"
-" (TLS) Forces curl to use TLS version 1.2 or later when connect-\n"
+" (TLS) Forces curl to use TLS version 1.2 or later when connect-\n"
" ing to a remote TLS server.\n"
"\n"
-" In old versions of curl this option was documented to allow\n"
-" _only_ TLS 1.2, but behavior was inconsistent depending on the\n"
+" In old versions of curl this option was documented to allow\n"
+" _only_ TLS 1.2, but behavior was inconsistent depending on the\n"
, stdout);
fputs(
" TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
@@ -3557,7 +3569,7 @@ void hugehelp(void)
" Added in 7.34.0.\n"
"\n"
" --tlsv1.3\n"
-" (TLS) Forces curl to use TLS version 1.3 or later when connect-\n"
+" (TLS) Forces curl to use TLS version 1.3 or later when connect-\n"
" ing to a remote TLS server.\n"
"\n"
" Note that TLS 1.3 is only supported by a subset of TLS backends.\n"
@@ -3569,32 +3581,32 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" -1, --tlsv1\n"
-" (SSL) Tells curl to use at least TLS version 1.x when negotiat-\n"
-" ing with a remote TLS server. That means TLS version 1.0 or\n"
+" (SSL) Tells curl to use at least TLS version 1.x when negotiat-\n"
+" ing with a remote TLS server. That means TLS version 1.0 or\n"
" higher\n"
"\n"
-" See also --http1.1 and --http2. -1, --tlsv1 requires that the\n"
-" underlying libcurl was built to support TLS. This option over-\n"
+" See also --http1.1 and --http2. -1, --tlsv1 requires that the\n"
+" underlying libcurl was built to support TLS. This option over-\n"
, stdout);
fputs(
" rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n"
"\n"
" --tr-encoding\n"
" (HTTP) Request a compressed Transfer-Encoding response using one\n"
-" of the algorithms curl supports, and uncompress the data while\n"
+" of the algorithms curl supports, and uncompress the data while\n"
" receiving it.\n"
"\n"
" Added in 7.21.6.\n"
"\n"
" --trace-ascii <file>\n"
" Enables a full trace dump of all incoming and outgoing data, in-\n"
-" cluding descriptive information, to the given output file. Use\n"
+" cluding descriptive information, to the given output file. Use\n"
, stdout);
fputs(
" \"-\" as filename to have the output sent to stdout.\n"
"\n"
" This is very similar to --trace, but leaves out the hex part and\n"
-" only shows the ASCII part of the dump. It makes smaller output\n"
+" only shows the ASCII part of the dump. It makes smaller output\n"
" that might be easier to read for untrained humans.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3604,15 +3616,15 @@ void hugehelp(void)
" --trace-time\n"
, stdout);
fputs(
-" Prepends a time stamp to each trace or verbose line that curl\n"
+" Prepends a time stamp to each trace or verbose line that curl\n"
" displays.\n"
"\n"
" Added in 7.14.0.\n"
"\n"
" --trace <file>\n"
" Enables a full trace dump of all incoming and outgoing data, in-\n"
-" cluding descriptive information, to the given output file. Use\n"
-" \"-\" as filename to have the output sent to stdout. Use \"%\" as\n"
+" cluding descriptive information, to the given output file. Use\n"
+" \"-\" as filename to have the output sent to stdout. Use \"%\" as\n"
" filename to have the output sent to stderr.\n"
"\n"
, stdout);
@@ -3628,12 +3640,12 @@ void hugehelp(void)
" Added in 7.40.0.\n"
"\n"
" -T, --upload-file <file>\n"
-" This transfers the specified local file to the remote URL. If\n"
+" This transfers the specified local file to the remote URL. If\n"
, stdout);
fputs(
" there is no file part in the specified URL, curl will append the\n"
" local file name. NOTE that you must use a trailing / on the last\n"
-" directory to really prove to Curl that there is no file name or\n"
+" directory to really prove to Curl that there is no file name or\n"
" curl will think that your last directory name is the remote file\n"
" name to use. That will most likely cause the upload operation to\n"
" fail. If this is used on an HTTP(S) server, the PUT command will\n"
@@ -3641,19 +3653,19 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" Use the file name \"-\" (a single dash) to use stdin instead of a\n"
-" given file. Alternately, the file name \".\" (a single period)\n"
-" may be specified instead of \"-\" to use stdin in non-blocking\n"
-" mode to allow reading server output while stdin is being up-\n"
+" Use the file name \"-\" (a single dash) to use stdin instead of a\n"
+" given file. Alternately, the file name \".\" (a single period)\n"
+" may be specified instead of \"-\" to use stdin in non-blocking\n"
+" mode to allow reading server output while stdin is being up-\n"
" loaded.\n"
"\n"
-" You can specify one -T, --upload-file for each URL on the com-\n"
-" mand line. Each -T, --upload-file + URL pair specifies what to\n"
+" You can specify one -T, --upload-file for each URL on the com-\n"
+" mand line. Each -T, --upload-file + URL pair specifies what to\n"
, stdout);
fputs(
-" upload and to where. curl also supports \"globbing\" of the -T,\n"
-" --upload-file argument, meaning that you can upload multiple\n"
-" files to a single URL by using the same URL globbing style sup-\n"
+" upload and to where. curl also supports \"globbing\" of the -T,\n"
+" --upload-file argument, meaning that you can upload multiple\n"
+" files to a single URL by using the same URL globbing style sup-\n"
" ported in the URL, like this:\n"
"\n"
" curl --upload-file \"{file1,file2}\" http://www.example.com\n"
@@ -3664,41 +3676,41 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" When uploading to an SMTP server: the uploaded data is assumed\n"
+" When uploading to an SMTP server: the uploaded data is assumed\n"
" to be RFC 5322 formatted. It has to feature the necessary set of\n"
-" headers and mail body formatted correctly by the user as curl\n"
+" headers and mail body formatted correctly by the user as curl\n"
" will not transcode nor encode it further in any way.\n"
"\n"
" --url <url>\n"
-" Specify a URL to fetch. This option is mostly handy when you\n"
+" Specify a URL to fetch. This option is mostly handy when you\n"
" want to specify URL(s) in a config file.\n"
"\n"
, stdout);
fputs(
-" If the given URL is missing a scheme name (such as \"http://\" or\n"
-" \"ftp://\" etc) then curl will make a guess based on the host. If\n"
-" the outermost sub-domain name matches DICT, FTP, IMAP, LDAP,\n"
-" POP3 or SMTP then that protocol will be used, otherwise HTTP\n"
+" If the given URL is missing a scheme name (such as \"http://\" or\n"
+" \"ftp://\" etc) then curl will make a guess based on the host. If\n"
+" the outermost sub-domain name matches DICT, FTP, IMAP, LDAP,\n"
+" POP3 or SMTP then that protocol will be used, otherwise HTTP\n"
" will be used. Since 7.45.0 guessing can be disabled by setting a\n"
" default protocol, see --proto-default for details.\n"
"\n"
, stdout);
fputs(
-" This option may be used any number of times. To control where\n"
-" this URL is written, use the -o, --output or the -O, --remote-\n"
+" This option may be used any number of times. To control where\n"
+" this URL is written, use the -o, --output or the -O, --remote-\n"
" name options.\n"
"\n"
" -B, --use-ascii\n"
-" (FTP LDAP) Enable ASCII transfer. For FTP, this can also be en-\n"
-" forced by using a URL that ends with \";type=A\". This option\n"
+" (FTP LDAP) Enable ASCII transfer. For FTP, this can also be en-\n"
+" forced by using a URL that ends with \";type=A\". This option\n"
" causes data sent to stdout to be in text mode for win32 systems.\n"
"\n"
" -A, --user-agent <name>\n"
, stdout);
fputs(
" (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
-" To encode blanks in the string, surround the string with single\n"
-" quote marks. This header can also be set with the -H, --header\n"
+" To encode blanks in the string, surround the string with single\n"
+" quote marks. This header can also be set with the -H, --header\n"
" or the --proxy-header options.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3709,41 +3721,41 @@ void hugehelp(void)
fputs(
" tion. Overrides -n, --netrc and --netrc-optional.\n"
"\n"
-" If you simply specify the user name, curl will prompt for a\n"
+" If you simply specify the user name, curl will prompt for a\n"
" password.\n"
"\n"
-" The user name and passwords are split up on the first colon,\n"
-" which makes it impossible to use a colon in the user name with\n"
+" The user name and passwords are split up on the first colon,\n"
+" which makes it impossible to use a colon in the user name with\n"
" this option. The password can, still.\n"
"\n"
" On systems where it works, curl will hide the given option argu-\n"
, stdout);
fputs(
-" ment from process listings. This is not enough to protect cre-\n"
-" dentials from possibly getting seen by other users on the same\n"
-" system as they will still be visible for a brief moment before\n"
+" ment from process listings. This is not enough to protect cre-\n"
+" dentials from possibly getting seen by other users on the same\n"
+" system as they will still be visible for a brief moment before\n"
" cleared. Such sensitive data should be retrieved from a file in-\n"
" stead or similar and never used in clear text in a command line.\n"
-" When using Kerberos V5 with a Windows based server you should\n"
+" When using Kerberos V5 with a Windows based server you should\n"
, stdout);
fputs(
-" include the Windows domain name in the user name, in order for\n"
-" the server to successfully obtain a Kerberos Ticket. If you\n"
+" include the Windows domain name in the user name, in order for\n"
+" the server to successfully obtain a Kerberos Ticket. If you\n"
" don't then the initial authentication handshake may fail.\n"
"\n"
-" When using NTLM, the user name can be specified simply as the\n"
-" user name, without the domain, if there is a single domain and\n"
+" When using NTLM, the user name can be specified simply as the\n"
+" user name, without the domain, if there is a single domain and\n"
" forest in your setup for example.\n"
"\n"
, stdout);
fputs(
-" To specify the domain name use either Down-Level Logon Name or\n"
+" To specify the domain name use either Down-Level Logon Name or\n"
" UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n"
" user@example.com respectively.\n"
"\n"
-" If you use a Windows SSPI-enabled curl binary and perform Ker-\n"
-" beros V5, Negotiate, NTLM or Digest authentication then you can\n"
-" tell curl to select the user name and password from your envi-\n"
+" If you use a Windows SSPI-enabled curl binary and perform Ker-\n"
+" beros V5, Negotiate, NTLM or Digest authentication then you can\n"
+" tell curl to select the user name and password from your envi-\n"
, stdout);
fputs(
" ronment by specifying a single colon with this option: \"-u :\".\n"
@@ -3751,10 +3763,10 @@ void hugehelp(void)
" If this option is used several times, the last one will be used.\n"
"\n"
" -v, --verbose\n"
-" Makes curl verbose during the operation. Useful for debugging\n"
-" and seeing what's going on \"under the hood\". A line starting\n"
-" with '>' means \"header data\" sent by curl, '<' means \"header\n"
-" data\" received by curl that is hidden in normal cases, and a\n"
+" Makes curl verbose during the operation. Useful for debugging\n"
+" and seeing what's going on \"under the hood\". A line starting\n"
+" with '>' means \"header data\" sent by curl, '<' means \"header\n"
+" data\" received by curl that is hidden in normal cases, and a\n"
, stdout);
fputs(
" line starting with '*' means additional info provided by curl.\n"
@@ -3762,22 +3774,22 @@ void hugehelp(void)
" If you only want HTTP headers in the output, -i, --include might\n"
" be the option you're looking for.\n"
"\n"
-" If you think this option still doesn't give you enough details,\n"
+" If you think this option still doesn't give you enough details,\n"
" consider using --trace or --trace-ascii instead.\n"
"\n"
" Use -s, --silent to make curl really quiet.\n"
"\n"
-" See also -i, --include. This option overrides --trace and\n"
+" See also -i, --include. This option overrides --trace and\n"
, stdout);
fputs(
" --trace-ascii.\n"
"\n"
" -V, --version\n"
" Displays information about curl and the libcurl version it uses.\n"
-" The first line includes the full version of curl, libcurl and\n"
+" The first line includes the full version of curl, libcurl and\n"
" other 3rd party libraries linked with the executable.\n"
"\n"
-" The second line (starts with \"Protocols:\") shows all protocols\n"
+" The second line (starts with \"Protocols:\") shows all protocols\n"
" that libcurl reports to support.\n"
"\n"
" The third line (starts with \"Features:\") shows specific features\n"
@@ -3789,23 +3801,23 @@ void hugehelp(void)
"\n"
" krb4 Krb4 for FTP is supported.\n"
"\n"
-" SSL SSL versions of various protocols are supported, such as\n"
+" SSL SSL versions of various protocols are supported, such as\n"
" HTTPS, FTPS, POP3S and so on.\n"
"\n"
-" libz Automatic decompression of compressed files over HTTP is\n"
+" libz Automatic decompression of compressed files over HTTP is\n"
" supported.\n"
"\n"
" NTLM NTLM authentication is supported.\n"
"\n"
, stdout);
fputs(
-" Debug This curl uses a libcurl built with Debug. This enables\n"
-" more error-tracking and memory debugging etc. For curl-\n"
+" Debug This curl uses a libcurl built with Debug. This enables\n"
+" more error-tracking and memory debugging etc. For curl-\n"
" developers only!\n"
"\n"
" AsynchDNS\n"
-" This curl uses asynchronous name resolves. Asynchronous\n"
-" name resolves can be done using either the c-ares or the\n"
+" This curl uses asynchronous name resolves. Asynchronous\n"
+" name resolves can be done using either the c-ares or the\n"
" threaded resolver backends.\n"
"\n"
" SPNEGO SPNEGO authentication is supported.\n"
@@ -3824,7 +3836,7 @@ void hugehelp(void)
" SSPI SSPI is supported.\n"
"\n"
" TLS-SRP\n"
-" SRP (Secure Remote Password) authentication is supported\n"
+" SRP (Secure Remote Password) authentication is supported\n"
" for TLS.\n"
"\n"
, stdout);
@@ -3838,15 +3850,15 @@ void hugehelp(void)
" This curl is built to support HTTPS proxy.\n"
"\n"
" Metalink\n"
-" This curl supports Metalink (both version 3 and 4 (RFC\n"
-" 5854)), which describes mirrors and hashes. curl will\n"
+" This curl supports Metalink (both version 3 and 4 (RFC\n"
+" 5854)), which describes mirrors and hashes. curl will\n"
" use mirrors for failover if there are errors (such as the\n"
, stdout);
fputs(
" file or server not being available).\n"
"\n"
-" PSL PSL is short for Public Suffix List and means that this\n"
-" curl has been built with knowledge about \"public suf-\n"
+" PSL PSL is short for Public Suffix List and means that this\n"
+" curl has been built with knowledge about \"public suf-\n"
" fixes\".\n"
"\n"
" MultiSSL\n"
@@ -3856,42 +3868,42 @@ void hugehelp(void)
" Make curl display information on stdout after a completed trans-\n"
, stdout);
fputs(
-" fer. The format is a string that may contain plain text mixed\n"
-" with any number of variables. The format can be specified as a\n"
-" literal \"string\", or you can have curl read the format from a\n"
-" file with \"@filename\" and to tell curl to read the format from\n"
+" fer. The format is a string that may contain plain text mixed\n"
+" with any number of variables. The format can be specified as a\n"
+" literal \"string\", or you can have curl read the format from a\n"
+" file with \"@filename\" and to tell curl to read the format from\n"
" stdin you write \"@-\".\n"
"\n"
-" The variables present in the output format will be substituted\n"
+" The variables present in the output format will be substituted\n"
, stdout);
fputs(
-" by the value or text that curl thinks fit, as described below.\n"
-" All variables are specified as %{variable_name} and to output a\n"
-" normal % you just write them as %%. You can output a newline by\n"
+" by the value or text that curl thinks fit, as described below.\n"
+" All variables are specified as %{variable_name} and to output a\n"
+" normal % you just write them as %%. You can output a newline by\n"
" using \\n, a carriage return with \\r and a tab space with \\t.\n"
"\n"
-" The output will be written to standard output, but this can be\n"
+" The output will be written to standard output, but this can be\n"
" switched to standard error by using %{stderr}.\n"
"\n"
, stdout);
fputs(
" NOTE: The %-symbol is a special symbol in the win32-environment,\n"
-" where all occurrences of % must be doubled when using this op-\n"
+" where all occurrences of % must be doubled when using this op-\n"
" tion.\n"
"\n"
" The variables available are:\n"
"\n"
-" content_type The Content-Type of the requested document, if\n"
+" content_type The Content-Type of the requested document, if\n"
" there was any.\n"
"\n"
" filename_effective\n"
-" The ultimate filename that curl writes out to.\n"
+" The ultimate filename that curl writes out to.\n"
, stdout);
fputs(
-" This is only meaningful if curl is told to write\n"
-" to a file with the -O, --remote-name or -o,\n"
-" --output option. It's most useful in combination\n"
-" with the -J, --remote-header-name option. (Added\n"
+" This is only meaningful if curl is told to write\n"
+" to a file with the -O, --remote-name or -o,\n"
+" --output option. It's most useful in combination\n"
+" with the -J, --remote-header-name option. (Added\n"
" in 7.26.0)\n"
"\n"
" ftp_entry_path The initial path curl ended up in when logging on\n"
@@ -3900,29 +3912,29 @@ void hugehelp(void)
" to the remote FTP server. (Added in 7.15.4)\n"
"\n"
" http_code The numerical response code that was found in the\n"
-" last retrieved HTTP(S) or FTP(s) transfer. In\n"
-" 7.18.2 the alias response_code was added to show\n"
+" last retrieved HTTP(S) or FTP(s) transfer. In\n"
+" 7.18.2 the alias response_code was added to show\n"
" the same info.\n"
"\n"
" http_connect The numerical code that was found in the last re-\n"
, stdout);
fputs(
-" sponse (from a proxy) to a curl CONNECT request.\n"
+" sponse (from a proxy) to a curl CONNECT request.\n"
" (Added in 7.12.4)\n"
"\n"
" http_version The http version that was effectively used.\n"
" (Added in 7.50.0)\n"
"\n"
-" local_ip The IP address of the local end of the most re-\n"
-" cently done connection - can be either IPv4 or\n"
+" local_ip The IP address of the local end of the most re-\n"
+" cently done connection - can be either IPv4 or\n"
" IPv6 (Added in 7.29.0)\n"
"\n"
, stdout);
fputs(
-" local_port The local port number of the most recently done\n"
+" local_port The local port number of the most recently done\n"
" connection (Added in 7.29.0)\n"
"\n"
-" num_connects Number of new connects made in the recent trans-\n"
+" num_connects Number of new connects made in the recent trans-\n"
" fer. (Added in 7.12.3)\n"
"\n"
" num_redirects Number of redirects that were followed in the re-\n"
@@ -3936,20 +3948,20 @@ void hugehelp(void)
" verification was successful. (Added in 7.52.0)\n"
"\n"
" redirect_url When an HTTP request was made without -L, --loca-\n"
-" tion to follow redirects (or when --max-redir is\n"
-" met), this variable will show the actual URL a\n"
+" tion to follow redirects (or when --max-redir is\n"
+" met), this variable will show the actual URL a\n"
, stdout);
fputs(
" redirect would have gone to. (Added in 7.18.2)\n"
"\n"
-" remote_ip The remote IP address of the most recently done\n"
+" remote_ip The remote IP address of the most recently done\n"
" connection - can be either IPv4 or IPv6 (Added in\n"
" 7.29.0)\n"
"\n"
-" remote_port The remote port number of the most recently done\n"
+" remote_port The remote port number of the most recently done\n"
" connection (Added in 7.29.0)\n"
"\n"
-" scheme The URL scheme (sometimes called protocol) that\n"
+" scheme The URL scheme (sometimes called protocol) that\n"
, stdout);
fputs(
" was effectively used (Added in 7.52.0)\n"
@@ -3959,7 +3971,7 @@ void hugehelp(void)
" size_header The total amount of bytes of the downloaded head-\n"
" ers.\n"
"\n"
-" size_request The total amount of bytes that were sent in the\n"
+" size_request The total amount of bytes that were sent in the\n"
" HTTP request.\n"
"\n"
" size_upload The total amount of bytes that were uploaded.\n"
@@ -3969,45 +3981,45 @@ void hugehelp(void)
" speed_download The average download speed that curl measured for\n"
" the complete download. Bytes per second.\n"
"\n"
-" speed_upload The average upload speed that curl measured for\n"
+" speed_upload The average upload speed that curl measured for\n"
" the complete upload. Bytes per second.\n"
"\n"
" ssl_verify_result\n"
-" The result of the SSL peer certificate verifica-\n"
+" The result of the SSL peer certificate verifica-\n"
" tion that was requested. 0 means the verification\n"
, stdout);
fputs(
" was successful. (Added in 7.19.0)\n"
"\n"
-" stderr From this point on, the -w, --write-out output\n"
-" will be written to standard error. (Added in\n"
+" stderr From this point on, the -w, --write-out output\n"
+" will be written to standard error. (Added in\n"
" 7.63.0)\n"
"\n"
-" stdout From this point on, the -w, --write-out output\n"
-" will be written to standard output. This is the\n"
-" default, but can be used to switch back after\n"
+" stdout From this point on, the -w, --write-out output\n"
+" will be written to standard output. This is the\n"
+" default, but can be used to switch back after\n"
, stdout);
fputs(
" switching to stderr. (Added in 7.63.0)\n"
"\n"
" time_appconnect\n"
-" The time, in seconds, it took from the start un-\n"
-" til the SSL/SSH/etc connect/handshake to the re-\n"
+" The time, in seconds, it took from the start un-\n"
+" til the SSL/SSH/etc connect/handshake to the re-\n"
" mote host was completed. (Added in 7.19.0)\n"
"\n"
-" time_connect The time, in seconds, it took from the start un-\n"
+" time_connect The time, in seconds, it took from the start un-\n"
" til the TCP connect to the remote host (or proxy)\n"
, stdout);
fputs(
" was completed.\n"
"\n"
" time_namelookup\n"
-" The time, in seconds, it took from the start un-\n"
+" The time, in seconds, it took from the start un-\n"
" til the name resolving was completed.\n"
"\n"
" time_pretransfer\n"
-" The time, in seconds, it took from the start un-\n"
-" til the file transfer was just about to begin.\n"
+" The time, in seconds, it took from the start un-\n"
+" til the file transfer was just about to begin.\n"
" This includes all pre-transfer commands and nego-\n"
, stdout);
fputs(
@@ -4016,27 +4028,27 @@ void hugehelp(void)
"\n"
" time_redirect The time, in seconds, it took for all redirection\n"
" steps including name lookup, connect, pretransfer\n"
-" and transfer before the final transaction was\n"
-" started. time_redirect shows the complete execu-\n"
+" and transfer before the final transaction was\n"
+" started. time_redirect shows the complete execu-\n"
, stdout);
fputs(
-" tion time for multiple redirections. (Added in\n"
+" tion time for multiple redirections. (Added in\n"
" 7.12.3)\n"
"\n"
" time_starttransfer\n"
-" The time, in seconds, it took from the start un-\n"
-" til the first byte was just about to be trans-\n"
-" ferred. This includes time_pretransfer and also\n"
-" the time the server needed to calculate the re-\n"
+" The time, in seconds, it took from the start un-\n"
+" til the first byte was just about to be trans-\n"
+" ferred. This includes time_pretransfer and also\n"
+" the time the server needed to calculate the re-\n"
, stdout);
fputs(
" sult.\n"
"\n"
-" time_total The total time, in seconds, that the full opera-\n"
+" time_total The total time, in seconds, that the full opera-\n"
" tion lasted.\n"
"\n"
" url_effective The URL that was fetched last. This is most mean-\n"
-" ingful if you've told curl to follow location:\n"
+" ingful if you've told curl to follow location:\n"
" headers.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -4044,11 +4056,11 @@ void hugehelp(void)
" --xattr\n"
, stdout);
fputs(
-" When saving output to a file, this option tells curl to store\n"
-" certain file metadata in extended file attributes. Currently,\n"
+" When saving output to a file, this option tells curl to store\n"
+" certain file metadata in extended file attributes. Currently,\n"
" the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
-" the content type is stored in the mime_type attribute. If the\n"
-" file system does not support extended attributes, a warning is\n"
+" the content type is stored in the mime_type attribute. If the\n"
+" file system does not support extended attributes, a warning is\n"
" issued.\n"
"\n"
"FILES\n"
@@ -4062,7 +4074,7 @@ void hugehelp(void)
" The lower case version has precedence. http_proxy is an exception as it\n"
" is only available in lower case.\n"
"\n"
-" Using an environment variable to set the proxy has the same effect as\n"
+" Using an environment variable to set the proxy has the same effect as\n"
" using the -x, --proxy option.\n"
"\n"
" http_proxy [protocol://]<host>[:port]\n"
@@ -4073,44 +4085,44 @@ void hugehelp(void)
" Sets the proxy server to use for HTTPS.\n"
"\n"
" [url-protocol]_PROXY [protocol://]<host>[:port]\n"
-" Sets the proxy server to use for [url-protocol], where the pro-\n"
-" tocol is a protocol that curl supports and as specified in a\n"
+" Sets the proxy server to use for [url-protocol], where the pro-\n"
+" tocol is a protocol that curl supports and as specified in a\n"
" URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n"
"\n"
" ALL_PROXY [protocol://]<host>[:port]\n"
-" Sets the proxy server to use if no protocol-specific proxy is\n"
+" Sets the proxy server to use if no protocol-specific proxy is\n"
, stdout);
fputs(
" set.\n"
"\n"
" NO_PROXY <comma-separated list of hosts/domains>\n"
-" list of host names that shouldn't go through any proxy. If set\n"
+" list of host names that shouldn't go through any proxy. If set\n"
" to an asterisk '*' only, it matches all hosts. Each name in this\n"
" list is matched as either a domain name which contains the host-\n"
" name, or the hostname itself.\n"
"\n"
-" This environment variable disables use of the proxy even when\n"
+" This environment variable disables use of the proxy even when\n"
, stdout);
fputs(
-" specified with the -x, --proxy option. That is NO_PROXY=di-\n"
+" specified with the -x, --proxy option. That is NO_PROXY=di-\n"
" rect.example.com curl -x http://proxy.example.com http://di-\n"
-" rect.example.com accesses the target URL directly, and\n"
-" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
+" rect.example.com accesses the target URL directly, and\n"
+" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
" http://somewhere.example.com accesses the target URL through the\n"
" proxy.\n"
"\n"
-" The list of host names can also be include numerical IP ad-\n"
+" The list of host names can also be include numerical IP ad-\n"
, stdout);
fputs(
-" dresses, and IPv6 versions should then be given without enclos-\n"
+" dresses, and IPv6 versions should then be given without enclos-\n"
" ing brackets.\n"
"\n"
"PROXY PROTOCOL PREFIXES\n"
-" Since curl version 7.21.7, the proxy string may be specified with a\n"
+" Since curl version 7.21.7, the proxy string may be specified with a\n"
" protocol:// prefix to specify alternative proxy protocols.\n"
"\n"
-" If no protocol is specified in the proxy string or if the string\n"
-" doesn't match a supported one, the proxy will be treated as an HTTP\n"
+" If no protocol is specified in the proxy string or if the string\n"
+" doesn't match a supported one, the proxy will be treated as an HTTP\n"
" proxy.\n"
"\n"
, stdout);
@@ -4118,7 +4130,7 @@ void hugehelp(void)
" The supported proxy protocol prefixes are as follows:\n"
"\n"
" http://\n"
-" Makes it use it as an HTTP proxy. The default if no scheme pre-\n"
+" Makes it use it as an HTTP proxy. The default if no scheme pre-\n"
" fix is used.\n"
"\n"
" https://\n"
@@ -4139,7 +4151,7 @@ void hugehelp(void)
" Makes it the equivalent of --socks5-hostname\n"
"\n"
"EXIT CODES\n"
-" There are a bunch of different error codes and their corresponding er-\n"
+" There are a bunch of different error codes and their corresponding er-\n"
" ror messages that may appear during bad conditions. At the time of this\n"
" writing, the exit codes are:\n"
"\n"
@@ -4152,12 +4164,12 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 4 A feature or option that was needed to perform the desired re-\n"
-" quest was not enabled or was explicitly disabled at build-time.\n"
+" 4 A feature or option that was needed to perform the desired re-\n"
+" quest was not enabled or was explicitly disabled at build-time.\n"
" To make curl able to do this, you probably need another build of\n"
" libcurl!\n"
"\n"
-" 5 Couldn't resolve proxy. The given proxy host could not be re-\n"
+" 5 Couldn't resolve proxy. The given proxy host could not be re-\n"
" solved.\n"
"\n"
" 6 Couldn't resolve host. The given remote host was not resolved.\n"
@@ -4168,59 +4180,59 @@ void hugehelp(void)
fputs(
" 8 Weird server reply. The server sent data curl couldn't parse.\n"
"\n"
-" 9 FTP access denied. The server denied login or denied access to\n"
-" the particular resource or directory you wanted to reach. Most\n"
-" often you tried to change to a directory that doesn't exist on\n"
+" 9 FTP access denied. The server denied login or denied access to\n"
+" the particular resource or directory you wanted to reach. Most\n"
+" often you tried to change to a directory that doesn't exist on\n"
" the server.\n"
"\n"
-" 10 FTP accept failed. While waiting for the server to connect back\n"
-" when an active FTP session is used, an error code was sent over\n"
+" 10 FTP accept failed. While waiting for the server to connect back\n"
+" when an active FTP session is used, an error code was sent over\n"
, stdout);
fputs(
" the control connection or similar.\n"
"\n"
-" 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n"
+" 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n"
" PASS request.\n"
"\n"
-" 12 During an active FTP session while waiting for the server to\n"
+" 12 During an active FTP session while waiting for the server to\n"
" connect back to curl, the timeout expired.\n"
"\n"
-" 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n"
+" 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n"
" PASV request.\n"
"\n"
-" 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n"
+" 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n"
, stdout);
fputs(
" server sent.\n"
"\n"
-" 15 FTP can't get host. Couldn't resolve the host IP we got in the\n"
+" 15 FTP can't get host. Couldn't resolve the host IP we got in the\n"
" 227-line.\n"
"\n"
" 16 HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n"
" This is somewhat generic and can be one out of several problems,\n"
" see the error message for details.\n"
"\n"
-" 17 FTP couldn't set binary. Couldn't change transfer method to bi-\n"
+" 17 FTP couldn't set binary. Couldn't change transfer method to bi-\n"
" nary.\n"
"\n"
, stdout);
fputs(
" 18 Partial file. Only a part of the file was transferred.\n"
"\n"
-" 19 FTP couldn't download/access the given file, the RETR (or simi-\n"
+" 19 FTP couldn't download/access the given file, the RETR (or simi-\n"
" lar) command failed.\n"
"\n"
" 21 FTP quote error. A quote command returned error from the server.\n"
-" 22 HTTP page not retrieved. The requested url was not found or re-\n"
-" turned another error with the HTTP error code being 400 or\n"
+" 22 HTTP page not retrieved. The requested url was not found or re-\n"
+" turned another error with the HTTP error code being 400 or\n"
" above. This return code only appears if -f, --fail is used.\n"
"\n"
, stdout);
fputs(
-" 23 Write error. Curl couldn't write data to a local filesystem or\n"
+" 23 Write error. Curl couldn't write data to a local filesystem or\n"
" similar.\n"
"\n"
-" 25 FTP couldn't STOR file. The server denied the STOR operation,\n"
+" 25 FTP couldn't STOR file. The server denied the STOR operation,\n"
" used for FTP uploading.\n"
"\n"
" 26 Read error. Various reading problems.\n"
@@ -4232,11 +4244,11 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n"
-" support the PORT command, try doing a transfer using PASV in-\n"
+" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n"
+" support the PORT command, try doing a transfer using PASV in-\n"
" stead!\n"
"\n"
-" 31 FTP couldn't use REST. The REST command failed. This command is\n"
+" 31 FTP couldn't use REST. The REST command failed. This command is\n"
" used for resumed FTP transfers.\n"
"\n"
" 33 HTTP range error. The range \"command\" didn't work.\n"
@@ -4247,7 +4259,7 @@ void hugehelp(void)
fputs(
" 35 SSL connect error. The SSL handshaking failed.\n"
"\n"
-" 36 Bad download resume. Couldn't continue an earlier aborted down-\n"
+" 36 Bad download resume. Couldn't continue an earlier aborted down-\n"
" load.\n"
"\n"
" 37 FILE couldn't read file. Failed to open the file. Permissions?\n"
@@ -4265,14 +4277,14 @@ void hugehelp(void)
"\n"
" 43 Internal error. A function was called with a bad parameter.\n"
"\n"
-" 45 Interface error. A specified outgoing interface could not be\n"
+" 45 Interface error. A specified outgoing interface could not be\n"
" used.\n"
"\n"
" 47 Too many redirects. When following redirects, curl hit the maxi-\n"
" mum amount.\n"
"\n"
-" 48 Unknown option specified to libcurl. This indicates that you\n"
-" passed a weird option to curl that was passed on to libcurl and\n"
+" 48 Unknown option specified to libcurl. This indicates that you\n"
+" passed a weird option to curl that was passed on to libcurl and\n"
, stdout);
fputs(
" rejected. Read up in the manual!\n"
@@ -4281,7 +4293,7 @@ void hugehelp(void)
"\n"
" 51 The peer's SSL certificate or SSH MD5 fingerprint was not OK.\n"
"\n"
-" 52 The server didn't reply anything, which here is considered an\n"
+" 52 The server didn't reply anything, which here is considered an\n"
" error.\n"
"\n"
" 53 SSL crypto engine not found.\n"
@@ -4298,7 +4310,7 @@ void hugehelp(void)
"\n"
" 59 Couldn't use specified SSL cipher.\n"
"\n"
-" 60 Peer certificate cannot be authenticated with known CA certifi-\n"
+" 60 Peer certificate cannot be authenticated with known CA certifi-\n"
" cates.\n"
"\n"
" 61 Unrecognized transfer encoding.\n"
@@ -4315,7 +4327,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 67 The user name, password, or similar was not accepted and curl\n"
+" 67 The user name, password, or similar was not accepted and curl\n"
" failed to log in.\n"
"\n"
" 68 File not found on TFTP server.\n"
@@ -4346,7 +4358,7 @@ void hugehelp(void)
"\n"
" 80 Failed to shut down the SSL connection.\n"
"\n"
-" 82 Could not load CRL file, missing or wrong format (added in\n"
+" 82 Could not load CRL file, missing or wrong format (added in\n"
" 7.19.0).\n"
"\n"
" 83 Issuer check failed (added in 7.19.0).\n"
@@ -4377,7 +4389,7 @@ void hugehelp(void)
" ing ones are meant to never change.\n"
"\n"
"AUTHORS / CONTRIBUTORS\n"
-" Daniel Stenberg is the main author, but the whole list of contributors\n"
+" Daniel Stenberg is the main author, but the whole list of contributors\n"
" is found in the separate THANKS file.\n"
"\n"
"WWW\n"
@@ -4403,3976 +4415,3984 @@ void hugehelp(void) {}
#include "memdebug.h" /* keep this as LAST include */
static const unsigned char hugehelpgz[] = {
/* This mumbo-jumbo is the huge help text compressed with gzip.
- Thanks to this operation, the size of this data shrank from 169779
- to 47597 bytes. You can disable the use of compressed help
+ Thanks to this operation, the size of this data shrank from 170223
+ to 47691 bytes. You can disable the use of compressed help
texts by NOT passing -c to the mkhelp.pl tool. */
0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd,
- 0x6b, 0x77, 0xdb, 0x46, 0x96, 0x2e, 0xfc, 0x3d, 0xbf, 0x02, 0xcd, 0x5e,
- 0x7d, 0x24, 0x4d, 0x93, 0xd4, 0xdd, 0x8e, 0x15, 0x39, 0x13, 0x45, 0x96,
- 0x63, 0x4d, 0x64, 0x49, 0x23, 0xca, 0x49, 0xfa, 0x24, 0x59, 0x5e, 0x20,
- 0x09, 0x52, 0x68, 0x91, 0x00, 0x1b, 0x00, 0x75, 0xe9, 0x9e, 0x3e, 0xbf,
- 0xfd, 0xdd, 0xd7, 0xaa, 0x02, 0xaa, 0x40, 0x29, 0xe9, 0x38, 0x73, 0x2e,
- 0x6f, 0xcf, 0x9a, 0xd8, 0x96, 0x80, 0x42, 0x5d, 0x76, 0xed, 0xfb, 0x7e,
- 0x76, 0x14, 0x3d, 0xf5, 0xbf, 0x8f, 0xf4, 0xff, 0x1f, 0xe1, 0x7f, 0xf0,
- 0xe7, 0x67, 0x51, 0x74, 0x59, 0xe4, 0x7f, 0x4d, 0x46, 0x55, 0xf8, 0xd9,
- 0x8f, 0x1f, 0xff, 0x2b, 0xe2, 0xff, 0x83, 0x77, 0x7e, 0x82, 0x3f, 0x3f,
- 0x5b, 0x39, 0xf6, 0x66, 0x64, 0x5f, 0xf8, 0xaf, 0x8f, 0x1b, 0xd1, 0x53,
- 0x2f, 0xfc, 0x57, 0xb4, 0x4e, 0x2f, 0x7c, 0x94, 0x2f, 0x1c, 0xe2, 0xdf,
- 0x3f, 0x7e, 0x5c, 0xfd, 0x91, 0x9f, 0x70, 0x56, 0xf8, 0x9f, 0x4d, 0x7c,
- 0xef, 0xa7, 0x8f, 0xf8, 0x57, 0xf8, 0xc9, 0x67, 0x9f, 0x9d, 0x1f, 0xbd,
- 0x3f, 0xd1, 0x57, 0x47, 0xcb, 0x62, 0x16, 0xf5, 0xa2, 0xaa, 0x88, 0xb3,
- 0x72, 0x92, 0x14, 0x51, 0x1c, 0x7d, 0xb8, 0x3a, 0xfb, 0xec, 0xb3, 0xc1,
- 0x5f, 0xce, 0x2f, 0x2e, 0x07, 0xa7, 0x83, 0xda, 0x63, 0x3f, 0xe6, 0x8b,
- 0x2a, 0xcd, 0xb3, 0x12, 0xa6, 0x0f, 0x0f, 0x95, 0x3f, 0x7f, 0xf6, 0xd9,
- 0x9b, 0x93, 0xc1, 0xf1, 0xd5, 0xe9, 0xe5, 0xf5, 0xe9, 0xc5, 0x79, 0xed,
- 0xc9, 0x28, 0x2d, 0x23, 0x18, 0xaa, 0xca, 0xf3, 0x19, 0xfc, 0xc7, 0x8e,
- 0x3e, 0x8e, 0xab, 0x38, 0x9a, 0x14, 0xf9, 0x3c, 0xca, 0x0b, 0xfc, 0x45,
- 0x1c, 0x95, 0x49, 0x71, 0x97, 0x14, 0xdd, 0x68, 0x59, 0xa6, 0xd9, 0x34,
- 0xca, 0xb3, 0x24, 0xca, 0x27, 0x51, 0x75, 0x93, 0xe8, 0x70, 0xe5, 0x72,
- 0xb1, 0xc8, 0x8b, 0x2a, 0x19, 0x47, 0x8b, 0x22, 0xaf, 0xf2, 0x51, 0x3e,
- 0x2b, 0xa3, 0xf5, 0x37, 0xa7, 0xc7, 0xd7, 0xdd, 0xe8, 0xed, 0xe9, 0xd9,
- 0x09, 0xfc, 0xf7, 0xfa, 0x92, 0xfe, 0x33, 0xe8, 0x46, 0xdf, 0x5c, 0x5c,
- 0xbe, 0x3b, 0xb9, 0xea, 0x46, 0xef, 0xae, 0xf1, 0x67, 0xf8, 0x5f, 0xf8,
- 0x61, 0x74, 0xfa, 0xfe, 0xe8, 0xb2, 0xab, 0xc3, 0xe1, 0x3f, 0xf0, 0x87,
- 0x67, 0x6f, 0xe0, 0x87, 0xfc, 0x07, 0xfe, 0xf3, 0xf2, 0xe2, 0x72, 0x57,
- 0xfe, 0xc0, 0x7f, 0x5e, 0x5d, 0xbf, 0x87, 0xdf, 0x5e, 0x5d, 0x0f, 0xe0,
- 0xbf, 0x83, 0x63, 0xfc, 0x0f, 0x7d, 0x65, 0xf0, 0xfe, 0x6b, 0xfa, 0xcf,
- 0xc0, 0x0c, 0x37, 0x78, 0xcf, 0x3f, 0xa7, 0x2f, 0x5d, 0x9f, 0x9c, 0x9d,
- 0x9f, 0x5c, 0x47, 0x71, 0x36, 0x8e, 0xae, 0xe1, 0xf9, 0x8d, 0x7e, 0x74,
- 0x7d, 0x93, 0x44, 0xa3, 0x7c, 0x3e, 0xc7, 0x1f, 0xc1, 0x8e, 0x8c, 0x93,
- 0x32, 0x9d, 0x66, 0xb0, 0x14, 0x58, 0xf9, 0x7d, 0x5e, 0xdc, 0x46, 0xd1,
- 0x7d, 0x5a, 0xdd, 0xe4, 0xcb, 0x4a, 0x87, 0x5b, 0xc2, 0x6e, 0x44, 0x69,
- 0x56, 0x25, 0x45, 0x3c, 0xc2, 0x9d, 0xee, 0x7f, 0x56, 0xdb, 0xd5, 0x7c,
- 0x02, 0x7b, 0x58, 0xc2, 0xa6, 0x0d, 0x97, 0xe5, 0x2c, 0x8f, 0xc7, 0xb8,
- 0x55, 0xf0, 0xca, 0x64, 0x09, 0x9b, 0x5c, 0xa4, 0xa3, 0xdb, 0x32, 0x9a,
- 0xa5, 0xb7, 0x09, 0x6e, 0xd4, 0xc3, 0xa3, 0x6e, 0x5c, 0x97, 0x07, 0x8d,
- 0x97, 0xb0, 0xa7, 0x59, 0x4f, 0x87, 0xab, 0xd2, 0x51, 0x8c, 0x1f, 0xa0,
- 0x9d, 0x8b, 0x96, 0x0b, 0x1c, 0x8d, 0x77, 0x2c, 0x5a, 0xe4, 0x25, 0xbc,
- 0x34, 0x18, 0x9c, 0xc1, 0xcc, 0xb3, 0x2c, 0xa1, 0x79, 0x94, 0x5d, 0xf8,
- 0x47, 0x7e, 0x9b, 0x26, 0xf0, 0x97, 0x49, 0x3a, 0x4b, 0x22, 0x3e, 0x51,
- 0x33, 0x1c, 0x1e, 0x6d, 0x54, 0x24, 0xe5, 0x72, 0x9e, 0xc0, 0xee, 0xbd,
- 0x4f, 0xaa, 0x78, 0x96, 0x66, 0xb7, 0xf0, 0x57, 0x5c, 0xf8, 0x3c, 0x2f,
- 0x92, 0x7e, 0x74, 0x54, 0x46, 0x8f, 0xf9, 0x12, 0x16, 0x3c, 0x9b, 0xc1,
- 0x99, 0x27, 0xd1, 0x30, 0x99, 0xe5, 0xf7, 0x5d, 0x3c, 0xe9, 0x28, 0x5b,
- 0xce, 0x87, 0x30, 0x40, 0x3e, 0xb1, 0xc3, 0xc5, 0xd5, 0x12, 0x86, 0xe3,
- 0xa7, 0xe7, 0x31, 0xac, 0x09, 0xde, 0x2d, 0xa2, 0x9b, 0x04, 0xd6, 0x5c,
- 0x2e, 0xd2, 0xec, 0x0f, 0xf5, 0x7d, 0x81, 0xad, 0x5d, 0xe4, 0xf7, 0x49,
- 0x01, 0x3b, 0x3b, 0x7c, 0x8c, 0x60, 0x13, 0x86, 0x4c, 0x84, 0x13, 0x20,
- 0xb2, 0x28, 0x86, 0x21, 0x0c, 0x01, 0xf6, 0x8a, 0x64, 0x16, 0x23, 0x31,
- 0x99, 0x6f, 0xf4, 0xe1, 0x10, 0x13, 0x43, 0x6d, 0xf2, 0xea, 0xfa, 0xee,
- 0x06, 0xbd, 0x3c, 0x86, 0x95, 0xa4, 0xb3, 0x12, 0x8e, 0x01, 0x2f, 0x85,
- 0x3c, 0x83, 0x87, 0x8a, 0xf4, 0x0f, 0xb4, 0xf9, 0x98, 0x55, 0xf1, 0x03,
- 0x7d, 0x5e, 0x68, 0xb3, 0x37, 0x4e, 0x16, 0x49, 0x36, 0x4e, 0xb2, 0xaa,
- 0x1f, 0xfd, 0x25, 0x5f, 0xae, 0xc1, 0xb7, 0x27, 0x29, 0xec, 0x41, 0x2c,
- 0x43, 0xc1, 0x97, 0x81, 0x08, 0x46, 0x45, 0xba, 0x70, 0x8e, 0x22, 0xcf,
- 0xe0, 0xcc, 0xa3, 0xab, 0xb7, 0xc7, 0xd1, 0xee, 0xab, 0xcf, 0x5f, 0xd8,
- 0x33, 0x87, 0x01, 0xa2, 0x51, 0x9c, 0xc1, 0x8a, 0x93, 0x51, 0x3a, 0x79,
- 0x8c, 0xe6, 0xcb, 0x59, 0x95, 0x2e, 0x60, 0xf7, 0xf1, 0xf2, 0xe1, 0x05,
- 0x5a, 0xc4, 0x45, 0x55, 0x22, 0x11, 0xd0, 0x0f, 0x68, 0xed, 0xf7, 0x45,
- 0x5a, 0xe1, 0x45, 0xa2, 0xdf, 0xc1, 0x0c, 0x93, 0xaa, 0xd4, 0xe1, 0x90,
- 0xd6, 0xe0, 0x3b, 0x43, 0xa0, 0x2d, 0xd8, 0xda, 0xb8, 0x84, 0x8f, 0x1e,
- 0x7c, 0x66, 0x39, 0xc8, 0x4d, 0x55, 0x2d, 0x0e, 0x36, 0x37, 0xcb, 0xb4,
- 0x4a, 0xfa, 0xff, 0x80, 0x7b, 0xd8, 0xad, 0xee, 0xf3, 0x6e, 0x75, 0x53,
- 0x24, 0xc9, 0x3f, 0xfb, 0x40, 0xc3, 0xe6, 0x49, 0xf8, 0xee, 0xa3, 0x4c,
- 0x6c, 0x9a, 0x54, 0xf0, 0x85, 0xbf, 0x2d, 0x93, 0x0c, 0x47, 0x84, 0x79,
- 0xc4, 0xb3, 0xc5, 0x4d, 0x0c, 0xc7, 0x99, 0x00, 0x35, 0xe2, 0xcd, 0x06,
- 0x82, 0xc1, 0x59, 0xf1, 0xdd, 0xfe, 0xf1, 0x67, 0xff, 0xa3, 0x13, 0xfa,
- 0x26, 0xfc, 0xb7, 0x9f, 0x3c, 0xc4, 0x73, 0x58, 0x1b, 0x7e, 0x6a, 0x13,
- 0x49, 0xec, 0xc7, 0xed, 0xde, 0xf6, 0xd6, 0xd6, 0xcf, 0xfd, 0xea, 0xa1,
- 0x7a, 0xde, 0xf3, 0x5b, 0x5b, 0xf6, 0x0d, 0x7c, 0x74, 0x1d, 0xd7, 0x1b,
- 0xcd, 0x80, 0x64, 0xf0, 0xe3, 0x7f, 0x4f, 0x8a, 0xbc, 0xdc, 0x78, 0xde,
- 0x48, 0x71, 0xef, 0xef, 0xf5, 0xef, 0x9e, 0x27, 0x25, 0xd1, 0x8c, 0x5d,
- 0x6b, 0x14, 0x17, 0x40, 0xb7, 0x79, 0x65, 0xd9, 0x53, 0x17, 0x2e, 0x65,
- 0x65, 0x76, 0x06, 0xee, 0x1c, 0x3c, 0x0d, 0x8c, 0x2d, 0x9e, 0x21, 0x4f,
- 0x2b, 0xa3, 0x2c, 0x79, 0x30, 0xb7, 0x1c, 0x6e, 0x7f, 0x12, 0x8f, 0x6e,
- 0xa2, 0x1c, 0x88, 0xbf, 0x08, 0x1c, 0x81, 0x3b, 0xa1, 0xb8, 0x18, 0xdd,
- 0xa4, 0x77, 0xb0, 0x1b, 0xaf, 0x5e, 0xbd, 0xe8, 0xc1, 0x7f, 0x5e, 0xfd,
- 0xbc, 0x79, 0x97, 0xcf, 0x60, 0x73, 0xf6, 0x7e, 0xde, 0xc4, 0x23, 0xfe,
- 0x47, 0xdc, 0x1d, 0x76, 0x47, 0xff, 0xec, 0xdf, 0x54, 0xf3, 0x59, 0x2b,
- 0xe1, 0xc4, 0x19, 0xfc, 0xff, 0x3c, 0x5f, 0x66, 0x95, 0x21, 0x16, 0xa0,
- 0xb9, 0xca, 0x61, 0x4e, 0x70, 0x5d, 0xe1, 0x8e, 0x22, 0x69, 0x23, 0x0d,
- 0xe1, 0xad, 0x83, 0x0b, 0x6a, 0xaf, 0x63, 0x35, 0xba, 0xc1, 0xf5, 0x03,
- 0xf5, 0xc4, 0xb2, 0x09, 0x55, 0x1a, 0xe3, 0xcd, 0x04, 0x06, 0x81, 0x0c,
- 0x8b, 0xc6, 0xe2, 0xaf, 0xa5, 0xf0, 0x60, 0x5e, 0x8c, 0x93, 0xa2, 0xdf,
- 0x9c, 0x86, 0xb9, 0xb2, 0xce, 0x37, 0x23, 0x95, 0x28, 0xf8, 0x03, 0x9a,
- 0xd8, 0x3c, 0x7d, 0x80, 0x11, 0x88, 0x61, 0x66, 0x34, 0x71, 0x1e, 0x2d,
- 0xc2, 0x19, 0xd3, 0x67, 0xf4, 0x7d, 0x7b, 0x65, 0x61, 0xea, 0xb5, 0xa5,
- 0xd3, 0x47, 0xed, 0xe2, 0x23, 0x38, 0xbc, 0x05, 0xbc, 0xb5, 0x44, 0xbe,
- 0x4a, 0xd7, 0x1a, 0x87, 0x01, 0x86, 0x30, 0x85, 0x73, 0x81, 0xb3, 0x40,
- 0x2a, 0xc6, 0xa3, 0x7a, 0x8c, 0xce, 0x81, 0x60, 0x98, 0x19, 0x39, 0xc4,
- 0x3e, 0x4b, 0xaa, 0xea, 0xc9, 0x63, 0xb2, 0x14, 0x7b, 0xb0, 0xed, 0x11,
- 0x6d, 0xdb, 0xf3, 0x40, 0x67, 0x07, 0x3b, 0xf5, 0x87, 0xbf, 0x07, 0x26,
- 0x6d, 0xaf, 0x0b, 0x7c, 0xfd, 0x1f, 0xff, 0x74, 0xa8, 0xee, 0x1e, 0x7f,
- 0x9b, 0x66, 0x77, 0xf9, 0x2d, 0x6c, 0x11, 0x49, 0xd1, 0xb8, 0xbe, 0x9b,
- 0xc8, 0x87, 0xe6, 0x8b, 0xca, 0x88, 0x27, 0x24, 0x47, 0xf8, 0xd1, 0x30,
- 0x1e, 0xce, 0x1e, 0xa3, 0x9b, 0xf8, 0x2e, 0xc1, 0xf5, 0x2e, 0x80, 0x4e,
- 0x71, 0x07, 0x40, 0x6c, 0xcc, 0x88, 0x8f, 0x09, 0x63, 0x18, 0xe7, 0xcb,
- 0x21, 0x30, 0x97, 0xbf, 0x2d, 0xf3, 0x8a, 0x37, 0x26, 0xbe, 0xcb, 0xd3,
- 0x71, 0x4d, 0x16, 0xdf, 0x24, 0xc8, 0xd0, 0xf0, 0xc3, 0x24, 0xa4, 0x80,
- 0xa1, 0xe2, 0x4c, 0xe9, 0xa2, 0xa5, 0x15, 0x8a, 0x3b, 0x60, 0x85, 0xf1,
- 0xac, 0xcc, 0xa3, 0x68, 0x9a, 0xe3, 0x2d, 0x21, 0x06, 0x4c, 0x64, 0x0e,
- 0x87, 0x72, 0x13, 0xa3, 0x54, 0x03, 0x01, 0x66, 0xee, 0x41, 0x91, 0x10,
- 0x2f, 0xa6, 0x93, 0x8a, 0x67, 0x5d, 0x96, 0x5e, 0xf8, 0x8e, 0x6c, 0x55,
- 0xb4, 0xf6, 0x3f, 0xd6, 0xba, 0xd1, 0xda, 0xbf, 0xaf, 0x11, 0x3d, 0xac,
- 0xfd, 0xdb, 0x9a, 0x3d, 0x67, 0x50, 0xc6, 0xee, 0xd2, 0x71, 0xc2, 0x24,
- 0x71, 0x7a, 0x79, 0xf7, 0x22, 0xfa, 0x3b, 0xea, 0x0e, 0xc0, 0x6b, 0x93,
- 0x07, 0x25, 0x48, 0x5d, 0x1b, 0xbc, 0x1d, 0x01, 0xd3, 0x8d, 0x17, 0xa8,
- 0x44, 0x24, 0xc5, 0x08, 0xa8, 0x37, 0x9e, 0x02, 0xbd, 0x82, 0x2c, 0xd6,
- 0xe1, 0x70, 0x7c, 0x7c, 0x85, 0x97, 0x05, 0x0c, 0x32, 0xca, 0xe2, 0x39,
- 0xdc, 0x88, 0x33, 0x9c, 0x51, 0x9a, 0xf9, 0x87, 0xf9, 0xe3, 0x24, 0xf9,
- 0x7c, 0xeb, 0xe0, 0x60, 0xf7, 0x4f, 0x3b, 0xfb, 0x49, 0x75, 0xb3, 0xf5,
- 0xf3, 0xa6, 0x79, 0xe4, 0x74, 0x42, 0xdb, 0xae, 0xe4, 0xa7, 0x93, 0x00,
- 0x29, 0x6f, 0xa4, 0x04, 0xbc, 0x0f, 0x7f, 0x4f, 0x26, 0xe9, 0x43, 0x57,
- 0xf5, 0x25, 0xbe, 0x73, 0x31, 0x90, 0x1a, 0x9c, 0x1f, 0xb2, 0x08, 0x1d,
- 0x6e, 0xba, 0x4c, 0x4a, 0xd8, 0xc9, 0xfb, 0x9b, 0xb8, 0x8a, 0xcc, 0x00,
- 0x7c, 0xb2, 0xf3, 0x74, 0x7a, 0x53, 0x45, 0xf7, 0x31, 0x0a, 0x9b, 0xd3,
- 0x8a, 0x87, 0x40, 0x29, 0x0f, 0x22, 0x66, 0x12, 0x83, 0xac, 0xc0, 0x33,
- 0x24, 0x91, 0x3e, 0xb4, 0x1a, 0x46, 0x05, 0x64, 0xce, 0x07, 0x62, 0xd5,
- 0xa9, 0x61, 0x5c, 0xe2, 0xa5, 0xcd, 0x80, 0x39, 0x54, 0xa0, 0x23, 0x2c,
- 0xf1, 0x5f, 0x37, 0xa0, 0x05, 0xd0, 0x1e, 0xc8, 0x44, 0x49, 0x50, 0xbe,
- 0xc5, 0xe3, 0xc4, 0xb3, 0x31, 0xc2, 0x0b, 0x0e, 0xa9, 0x2b, 0xc7, 0x6c,
- 0xde, 0x28, 0xe1, 0xc2, 0x01, 0x67, 0x32, 0x94, 0xd1, 0x41, 0x26, 0xdb,
- 0xe1, 0x75, 0xd2, 0x1c, 0xe3, 0x12, 0x15, 0x05, 0x56, 0x07, 0x60, 0xf2,
- 0xce, 0x62, 0x61, 0xd3, 0xe2, 0x5b, 0x54, 0x49, 0x1a, 0x8a, 0x0f, 0xbd,
- 0x36, 0xce, 0x81, 0xc8, 0x60, 0xb6, 0xc0, 0x8c, 0x71, 0x65, 0xc8, 0x62,
- 0x69, 0x57, 0x88, 0xc8, 0x61, 0x4c, 0xfc, 0x61, 0x5a, 0xa1, 0x8c, 0x21,
- 0x1d, 0x16, 0xe6, 0x0b, 0x9b, 0x42, 0x8a, 0x28, 0x30, 0x6a, 0x67, 0xfd,
- 0x24, 0x1e, 0xe1, 0xd9, 0xe8, 0x0e, 0xb4, 0x14, 0x50, 0x48, 0x13, 0xf3,
- 0x16, 0xc9, 0xf3, 0x11, 0xea, 0x46, 0x33, 0xb8, 0x2f, 0xa3, 0xbc, 0x28,
- 0x50, 0xdf, 0xc7, 0x13, 0x1c, 0x32, 0x13, 0x9d, 0x27, 0xa0, 0x46, 0xb8,
- 0xdb, 0x99, 0xa2, 0x40, 0x03, 0xfe, 0x02, 0x7a, 0x09, 0x71, 0x10, 0xd0,
- 0x1f, 0x88, 0xe7, 0xd3, 0xc2, 0x69, 0x76, 0x38, 0xf6, 0x68, 0x94, 0x2c,
- 0xaa, 0x32, 0xb4, 0x26, 0x3d, 0x70, 0x98, 0x4e, 0x91, 0xe0, 0xce, 0xbb,
- 0x4a, 0x17, 0xed, 0xab, 0x11, 0xfa, 0xa4, 0x77, 0xa9, 0x1e, 0x03, 0x7a,
- 0x58, 0x69, 0x76, 0xad, 0x22, 0xda, 0x00, 0x36, 0x46, 0x7b, 0x3e, 0xc7,
- 0x89, 0xe2, 0xc3, 0x25, 0xdf, 0x54, 0x62, 0xcd, 0x78, 0x90, 0xac, 0x69,
- 0xf3, 0x77, 0x51, 0x74, 0xc1, 0x7e, 0x9a, 0xc1, 0xe1, 0xab, 0xe6, 0x4c,
- 0xf1, 0xf3, 0xa8, 0xe2, 0x83, 0x24, 0x1f, 0x97, 0x37, 0xa0, 0x7c, 0x95,
- 0x72, 0xb3, 0xd3, 0x39, 0xd0, 0xcc, 0x1d, 0x9e, 0xef, 0x22, 0x49, 0xc6,
- 0xfd, 0xe8, 0x62, 0x82, 0x5c, 0xb5, 0x80, 0x49, 0x57, 0xf4, 0x6b, 0x94,
- 0x2a, 0xb0, 0x6f, 0x63, 0x52, 0xe2, 0xcd, 0xd5, 0xe2, 0xa9, 0x38, 0xd2,
- 0x81, 0x38, 0x79, 0x0c, 0x3f, 0x81, 0xd9, 0xce, 0xea, 0x22, 0x88, 0xee,
- 0x21, 0x70, 0x6f, 0x9c, 0xde, 0x30, 0x89, 0x88, 0x12, 0x87, 0x49, 0x75,
- 0x9f, 0x24, 0x66, 0xb8, 0x32, 0x01, 0xb1, 0x87, 0x87, 0xc6, 0x9a, 0x1f,
- 0x31, 0x43, 0xdc, 0xda, 0xcb, 0xab, 0x8b, 0x6f, 0xae, 0x4e, 0x06, 0x83,
- 0xe8, 0xfd, 0xc9, 0xf5, 0xc9, 0x55, 0x6d, 0xa7, 0xb3, 0xbc, 0x98, 0xd3,
- 0x89, 0x8e, 0xd3, 0x72, 0x31, 0x8b, 0x1f, 0xf1, 0xa8, 0x61, 0x25, 0xd3,
- 0x02, 0x6f, 0xd6, 0x3c, 0x41, 0xa9, 0x30, 0x5e, 0x12, 0x27, 0x03, 0x71,
- 0x04, 0xc7, 0x27, 0x1a, 0x2f, 0x32, 0x13, 0x52, 0x93, 0xb3, 0xa9, 0xdd,
- 0x69, 0xe0, 0x38, 0x22, 0x49, 0x51, 0x94, 0x9a, 0xf3, 0x40, 0xd5, 0x93,
- 0x8c, 0x9b, 0xae, 0xfd, 0x19, 0x6f, 0x13, 0x8b, 0x36, 0xa0, 0xd9, 0x74,
- 0x4e, 0xcc, 0x0e, 0xfe, 0xb4, 0xda, 0x66, 0x32, 0x01, 0x55, 0x1b, 0xa4,
- 0x2b, 0x5b, 0x0a, 0xcd, 0x39, 0xe9, 0x6c, 0x8d, 0x7e, 0x0c, 0x64, 0x88,
- 0xac, 0x19, 0x07, 0xe4, 0xa9, 0xf0, 0x17, 0x0c, 0x13, 0x03, 0x9d, 0x04,
- 0x79, 0x9f, 0x3c, 0xb6, 0xc0, 0x29, 0x24, 0x70, 0xb2, 0x63, 0x1e, 0xbe,
- 0x5c, 0x4e, 0xe8, 0x22, 0x47, 0xeb, 0xa0, 0x99, 0xbf, 0x07, 0x6b, 0x09,
- 0x2c, 0x96, 0x6e, 0x74, 0xb9, 0x41, 0xef, 0x6d, 0x6f, 0xed, 0xec, 0x31,
- 0x23, 0xe8, 0xeb, 0x70, 0x6f, 0x1d, 0x46, 0xbc, 0x7d, 0x8b, 0xc7, 0xcb,
- 0x0f, 0xe1, 0xe0, 0xfd, 0x68, 0xfb, 0x3d, 0xff, 0x64, 0xef, 0xf3, 0xfd,
- 0x97, 0x2f, 0xe4, 0x87, 0x75, 0x02, 0x37, 0xf3, 0x27, 0xea, 0x20, 0xcb,
- 0x0f, 0x4d, 0x41, 0x98, 0x09, 0xac, 0x6e, 0x9e, 0x66, 0x70, 0x4d, 0xe0,
- 0x5a, 0x09, 0xaf, 0x42, 0x7a, 0x86, 0xc9, 0x4f, 0x98, 0xb3, 0xc9, 0xb9,
- 0xd6, 0x4d, 0x4a, 0x78, 0x19, 0x48, 0x16, 0x78, 0xb9, 0x39, 0x24, 0x56,
- 0x13, 0x2a, 0x9c, 0x48, 0x3c, 0x44, 0x06, 0x8b, 0x76, 0x15, 0x28, 0xc0,
- 0x49, 0xf0, 0x6b, 0x46, 0x2a, 0xc2, 0x1b, 0x30, 0x37, 0x90, 0x89, 0x28,
- 0xe6, 0xfc, 0x7d, 0x07, 0x56, 0x40, 0x1c, 0xf2, 0x3e, 0x2d, 0x89, 0x35,
- 0xdc, 0xe7, 0xcb, 0x19, 0x58, 0x31, 0xf8, 0xc0, 0x72, 0x41, 0x2f, 0xc0,
- 0xa7, 0x16, 0x96, 0x07, 0x80, 0xc6, 0x82, 0xb4, 0xd3, 0x1c, 0x05, 0xa6,
- 0x06, 0xff, 0x5c, 0x00, 0x29, 0xf1, 0x74, 0xfa, 0x4d, 0x09, 0x41, 0xbc,
- 0xcf, 0xa3, 0x44, 0xbc, 0xf3, 0xc4, 0xb4, 0x2f, 0x2f, 0x06, 0xd7, 0xa8,
- 0x01, 0x5c, 0x7e, 0xb8, 0x86, 0x81, 0x40, 0x05, 0x28, 0x2b, 0x20, 0x4a,
- 0x7c, 0x31, 0x4b, 0xc8, 0x84, 0xd4, 0xe1, 0x80, 0xf6, 0x52, 0x62, 0x54,
- 0xa4, 0xd6, 0xe8, 0x27, 0x79, 0x8e, 0x6c, 0x63, 0xe3, 0x15, 0x54, 0x0b,
- 0x9b, 0x65, 0xb8, 0x79, 0x27, 0x5a, 0xff, 0x72, 0x03, 0x68, 0xb6, 0x97,
- 0x9b, 0xdd, 0xe9, 0xf5, 0xe4, 0x55, 0xf8, 0x76, 0x99, 0xce, 0xd3, 0x59,
- 0x5c, 0x38, 0x53, 0x67, 0x8e, 0x8a, 0xf7, 0xd3, 0xf0, 0x95, 0x11, 0x50,
- 0x0d, 0x4d, 0xdb, 0x9a, 0x92, 0xb8, 0x87, 0xc4, 0x95, 0xec, 0x51, 0x8d,
- 0x51, 0x21, 0x20, 0x8d, 0x79, 0x91, 0x9a, 0xad, 0xc3, 0x33, 0x43, 0x76,
- 0x55, 0xdb, 0xa8, 0xe6, 0xb9, 0x79, 0x1b, 0x87, 0x12, 0x89, 0x3c, 0x15,
- 0x66, 0xeb, 0xa2, 0xce, 0x30, 0x2e, 0x3a, 0x91, 0xe1, 0xc5, 0x7c, 0x37,
- 0xf1, 0x86, 0x14, 0xc9, 0x74, 0x09, 0x2b, 0x88, 0x78, 0x77, 0x71, 0xa5,
- 0x7f, 0x74, 0x56, 0xaa, 0x03, 0xf4, 0x86, 0xf8, 0x48, 0x5a, 0xb2, 0x99,
- 0x39, 0x01, 0xbb, 0x05, 0x2f, 0x8d, 0xea, 0xaf, 0xa4, 0xd1, 0x08, 0xc5,
- 0x04, 0x08, 0xc6, 0xd1, 0x6b, 0xe1, 0xaa, 0x54, 0x09, 0x30, 0x1a, 0x62,
- 0xff, 0xf8, 0x64, 0x0f, 0x8e, 0xac, 0xd7, 0x2b, 0x61, 0xff, 0x51, 0xf7,
- 0x5e, 0x88, 0x4d, 0x7f, 0x41, 0x0e, 0x13, 0xe3, 0x5b, 0xb9, 0x10, 0x1d,
- 0x98, 0xc4, 0x26, 0xbf, 0x4b, 0x2c, 0x14, 0x14, 0xd5, 0x7b, 0xf8, 0x70,
- 0x0c, 0x47, 0x06, 0x17, 0xee, 0x3d, 0x6e, 0x14, 0xfb, 0x46, 0x22, 0xa3,
- 0x36, 0x13, 0x65, 0xa4, 0x78, 0xef, 0x63, 0xab, 0xcb, 0x8c, 0xc7, 0x29,
- 0xfe, 0x16, 0xee, 0x17, 0x48, 0xb8, 0x65, 0x42, 0xb6, 0x87, 0x6c, 0xea,
- 0xdc, 0x6e, 0x26, 0x99, 0xb1, 0xe5, 0x4d, 0x8e, 0x66, 0x62, 0x87, 0x79,
- 0x71, 0x0f, 0xbf, 0xd5, 0x21, 0x79, 0x3e, 0x8f, 0xf4, 0x5b, 0xf2, 0x29,
- 0x58, 0xc7, 0xd8, 0xd5, 0xcd, 0xba, 0x20, 0x68, 0x1e, 0x1d, 0x23, 0x81,
- 0x78, 0x35, 0xcf, 0xbd, 0x30, 0x0a, 0x0f, 0x88, 0xd4, 0x05, 0x2a, 0x53,
- 0xc2, 0xc3, 0x49, 0x18, 0xd2, 0x95, 0x2d, 0x79, 0x6a, 0x5d, 0xd8, 0x5b,
- 0x7c, 0x72, 0x7a, 0xa3, 0x8f, 0x3a, 0x82, 0x35, 0x86, 0xc5, 0xa1, 0x70,
- 0x40, 0x7b, 0x7a, 0xac, 0x7c, 0x3f, 0x2f, 0x98, 0x99, 0xcd, 0x72, 0xa0,
- 0xe5, 0x0e, 0xab, 0xac, 0x32, 0x6d, 0x9c, 0x35, 0xce, 0x12, 0x77, 0x9c,
- 0xfd, 0x4c, 0xb9, 0x39, 0x1b, 0x33, 0x69, 0xd9, 0xaf, 0xf2, 0xc9, 0xa9,
- 0xd9, 0x8d, 0x1a, 0xd0, 0x1e, 0x81, 0xe8, 0x2c, 0x91, 0x8e, 0x75, 0xe7,
- 0x89, 0xbc, 0x41, 0xd4, 0xad, 0x55, 0x7c, 0x1f, 0xc9, 0xc6, 0x6a, 0xec,
- 0x7c, 0x49, 0xe4, 0x23, 0x82, 0xcc, 0xac, 0x0c, 0x56, 0x34, 0x4e, 0x63,
- 0xa2, 0x13, 0x3e, 0x1a, 0x52, 0x46, 0xac, 0x45, 0x18, 0xd0, 0x83, 0x1f,
- 0x9b, 0x06, 0xdd, 0x6c, 0xe6, 0x8a, 0x24, 0x9d, 0x53, 0xef, 0x02, 0xd6,
- 0x7e, 0x46, 0xeb, 0xe8, 0xdd, 0x45, 0x78, 0xfd, 0xc0, 0x6c, 0xc0, 0xbb,
- 0xd8, 0xbb, 0x38, 0xbb, 0x73, 0xae, 0x11, 0x5a, 0xee, 0x19, 0xea, 0x29,
- 0x5d, 0xf2, 0x8e, 0x0c, 0xf3, 0x1c, 0xcc, 0x64, 0xbb, 0x34, 0x94, 0x07,
- 0x49, 0x86, 0xd4, 0x2e, 0x27, 0x0a, 0x2c, 0x61, 0x61, 0xf8, 0xed, 0x23,
- 0x98, 0x4b, 0xf1, 0x34, 0x4e, 0x0d, 0xbd, 0xc9, 0xcd, 0x18, 0x47, 0xfa,
- 0x70, 0x96, 0xcb, 0xf3, 0x78, 0x54, 0xa8, 0x02, 0x09, 0xdf, 0x5a, 0x96,
- 0x7c, 0x7d, 0x60, 0x55, 0xc0, 0x79, 0x88, 0x77, 0xc8, 0xb8, 0xa8, 0x36,
- 0xea, 0x70, 0x43, 0x52, 0x94, 0x51, 0xe7, 0x24, 0xe6, 0x4b, 0x1a, 0x24,
- 0x8c, 0xd8, 0xe9, 0x47, 0xef, 0xf2, 0xfb, 0x84, 0x7c, 0x85, 0xa4, 0xdf,
- 0xa7, 0xe8, 0xed, 0x02, 0x55, 0xf0, 0x3e, 0x89, 0xe6, 0xa0, 0x7a, 0xc2,
- 0x6e, 0x92, 0xf6, 0x41, 0x3f, 0x73, 0xcc, 0x43, 0xa0, 0xf0, 0x7b, 0xde,
- 0x25, 0xb3, 0x0a, 0x73, 0x94, 0x13, 0xbe, 0x12, 0xd1, 0x3a, 0xa9, 0x37,
- 0x23, 0xdc, 0xad, 0x45, 0x65, 0x57, 0x61, 0x36, 0xe4, 0x3e, 0x2e, 0x9d,
- 0xcb, 0x95, 0x90, 0x69, 0xfa, 0xb2, 0xbf, 0xfd, 0xaa, 0xbf, 0xd5, 0x07,
- 0x43, 0x24, 0xb9, 0x4b, 0xf3, 0x65, 0x09, 0x9f, 0xc6, 0x69, 0xd8, 0x77,
- 0x12, 0xbc, 0x95, 0x55, 0x3e, 0x9d, 0xce, 0x58, 0xe7, 0xd9, 0xcc, 0x27,
- 0x13, 0xd6, 0x7d, 0x40, 0xd3, 0x33, 0xfa, 0x33, 0x5b, 0x40, 0xb8, 0x33,
- 0x72, 0xdd, 0x98, 0xa5, 0xfa, 0x26, 0x72, 0xdf, 0x3a, 0x2f, 0x7a, 0xbd,
- 0x78, 0x58, 0x56, 0x68, 0x4c, 0xf5, 0x96, 0x59, 0xfa, 0xd0, 0x2b, 0xf3,
- 0xd1, 0x2d, 0x1c, 0xca, 0xe1, 0x22, 0xae, 0x6e, 0xbe, 0x6c, 0xb8, 0x84,
- 0xd7, 0x51, 0x96, 0x6c, 0x44, 0xd1, 0x31, 0xab, 0x95, 0xb8, 0x13, 0x05,
- 0xdf, 0x37, 0x38, 0x4d, 0x19, 0x25, 0xfa, 0x00, 0xa3, 0x00, 0x2d, 0xcf,
- 0xe1, 0x50, 0x23, 0x1e, 0xac, 0xab, 0xac, 0xb4, 0x31, 0x1c, 0x39, 0x1c,
- 0x51, 0x8c, 0x90, 0xdf, 0x0e, 0xae, 0x4e, 0x5e, 0xdc, 0x82, 0xa2, 0x7d,
- 0x0e, 0x26, 0xe3, 0x01, 0xfe, 0x1b, 0x58, 0x58, 0x45, 0x5b, 0x2e, 0x92,
- 0x15, 0x66, 0xc4, 0xcc, 0x18, 0x2d, 0xf2, 0x78, 0xd8, 0x6b, 0x0c, 0x27,
- 0xdf, 0x97, 0x8f, 0x46, 0x6a, 0x6b, 0x28, 0x29, 0x45, 0x6b, 0x5f, 0x81,
- 0xfd, 0x77, 0xc3, 0xc7, 0x4e, 0x03, 0xf2, 0x1a, 0x81, 0x42, 0xa7, 0x60,
- 0x41, 0x64, 0x55, 0x73, 0xb8, 0x1b, 0x12, 0xd5, 0x28, 0x65, 0xd8, 0xd8,
- 0x25, 0x22, 0x11, 0x0f, 0x90, 0xb1, 0x3f, 0xfb, 0x9f, 0x35, 0x5e, 0x3b,
- 0xb2, 0x67, 0xba, 0xbf, 0x0b, 0x67, 0xea, 0x6e, 0xf4, 0xac, 0xea, 0x95,
- 0x77, 0xa3, 0xe8, 0x90, 0xb4, 0x6f, 0x24, 0xd3, 0xe0, 0x06, 0x0f, 0x36,
- 0xa2, 0xef, 0x8f, 0xae, 0xce, 0x4f, 0xcf, 0xbf, 0x39, 0xe0, 0x8f, 0x0a,
- 0xa5, 0xc1, 0xdf, 0x92, 0x87, 0x05, 0xfa, 0xc1, 0x70, 0xb6, 0x20, 0xca,
- 0xa2, 0xe8, 0x4d, 0x4e, 0xf6, 0x08, 0x31, 0x4c, 0x14, 0x58, 0x8d, 0xe1,
- 0x40, 0xb4, 0x8c, 0x97, 0x0d, 0xdf, 0xaf, 0x61, 0xd8, 0x76, 0x60, 0xbe,
- 0x9e, 0xbc, 0xc9, 0x3a, 0x47, 0xe0, 0x8f, 0xec, 0x3e, 0x26, 0x7d, 0xa9,
- 0x8f, 0xd2, 0x92, 0xcc, 0x7c, 0x9d, 0x79, 0xf3, 0x4b, 0x39, 0x18, 0xbb,
- 0x6c, 0xe7, 0xc3, 0x78, 0x0f, 0x70, 0x6d, 0x70, 0x97, 0x74, 0xb0, 0x11,
- 0xb0, 0xa3, 0x44, 0x14, 0x07, 0x62, 0x75, 0x64, 0x36, 0x08, 0x2b, 0xeb,
- 0x47, 0x47, 0x93, 0xe6, 0x51, 0xa2, 0xee, 0x82, 0x5a, 0xbd, 0x4a, 0xc1,
- 0xb1, 0x55, 0x84, 0xd9, 0xcb, 0xcb, 0x23, 0xea, 0x30, 0x25, 0x9c, 0xcf,
- 0x58, 0x25, 0x3d, 0x7e, 0xa6, 0x31, 0x1c, 0x99, 0x9e, 0xc4, 0x66, 0x50,
- 0x29, 0x4c, 0xf1, 0x40, 0xd1, 0xf4, 0x03, 0x46, 0x3d, 0xcf, 0xc7, 0x64,
- 0x47, 0x78, 0xfb, 0x33, 0x30, 0x0e, 0x9f, 0x4e, 0xc7, 0xae, 0x3a, 0x5a,
- 0x47, 0xd7, 0x1f, 0x50, 0x41, 0x36, 0xad, 0x6e, 0x36, 0xac, 0x5b, 0x03,
- 0xd5, 0x14, 0x58, 0xf0, 0x26, 0x4c, 0x84, 0xd6, 0x9d, 0x35, 0x49, 0x9d,
- 0xdc, 0xce, 0xa4, 0x79, 0xfe, 0x75, 0x59, 0x56, 0x64, 0x0d, 0x89, 0xf8,
- 0xe7, 0x95, 0xc0, 0xcc, 0xe6, 0xc9, 0x3c, 0x2f, 0x1e, 0xbd, 0x89, 0x9c,
- 0x92, 0xf2, 0x81, 0x86, 0xa7, 0x9c, 0x16, 0xd2, 0x01, 0xc9, 0x47, 0x75,
- 0x09, 0xa2, 0x11, 0x80, 0x3e, 0x75, 0x63, 0x07, 0x92, 0xd2, 0x04, 0x0c,
- 0x08, 0xec, 0x6f, 0xeb, 0xb0, 0x55, 0x03, 0x8a, 0x1c, 0x3d, 0x6c, 0xdb,
- 0x8b, 0x35, 0x35, 0x14, 0x17, 0x0e, 0xfe, 0xff, 0x2c, 0x46, 0xae, 0x93,
- 0x25, 0xb5, 0x13, 0x22, 0xe9, 0xc1, 0x4b, 0x5b, 0x45, 0xee, 0x2f, 0xf6,
- 0xfa, 0xdb, 0x35, 0x72, 0xcf, 0x1e, 0x31, 0x50, 0x10, 0xe6, 0x21, 0xd7,
- 0xa0, 0x38, 0x96, 0x3c, 0x67, 0xd8, 0xc5, 0x49, 0x3a, 0x5d, 0x16, 0x09,
- 0x6b, 0x70, 0x14, 0x5b, 0xd0, 0x90, 0x02, 0x2a, 0x45, 0x37, 0x39, 0x79,
- 0xe2, 0x41, 0x98, 0x26, 0xb3, 0x49, 0xb7, 0x31, 0x1c, 0x99, 0x2f, 0x44,
- 0xfd, 0x38, 0x7d, 0x62, 0x9a, 0x60, 0xa6, 0xd0, 0x60, 0x59, 0x22, 0x4a,
- 0xec, 0x1c, 0x18, 0x4a, 0x84, 0xae, 0xe8, 0x68, 0x34, 0x8b, 0xd3, 0x39,
- 0x91, 0xa9, 0xb8, 0x5a, 0xfb, 0xa1, 0x6b, 0x81, 0x06, 0x06, 0xbe, 0x3d,
- 0x44, 0xd3, 0xb7, 0x28, 0x51, 0x32, 0xd3, 0xa9, 0xaa, 0xe6, 0xcc, 0x86,
- 0xe5, 0x4d, 0x32, 0xba, 0x55, 0xe6, 0xa5, 0x2a, 0x67, 0x93, 0x8e, 0x31,
- 0xc6, 0x40, 0xf6, 0x35, 0x3c, 0xb5, 0x2c, 0xf1, 0x9a, 0x94, 0x65, 0x8a,
- 0xee, 0x33, 0x34, 0x07, 0x97, 0x23, 0xb2, 0x12, 0xe9, 0xc2, 0x00, 0x75,
- 0x2b, 0x07, 0x8c, 0x80, 0xa5, 0x66, 0xe3, 0x5e, 0x55, 0xa4, 0x8b, 0xb6,
- 0xd9, 0xf1, 0xa9, 0xd4, 0x15, 0xd4, 0x52, 0x2c, 0x76, 0x32, 0x86, 0xd9,
- 0x3c, 0x1e, 0x45, 0x8d, 0xdd, 0x6c, 0x12, 0x25, 0xed, 0x6d, 0x17, 0xfd,
- 0x41, 0x29, 0xe8, 0x0b, 0x6c, 0x2c, 0x91, 0xbb, 0x13, 0x4c, 0x23, 0x11,
- 0x5c, 0x60, 0xc5, 0xa5, 0x23, 0x52, 0x82, 0xd2, 0x69, 0x82, 0xb1, 0x1c,
- 0x90, 0x65, 0xd5, 0x0c, 0x54, 0x23, 0x9f, 0xc6, 0xe1, 0x37, 0xc9, 0x34,
- 0xaf, 0x50, 0x1b, 0xf1, 0xc8, 0xe4, 0x03, 0xf1, 0x79, 0x43, 0x13, 0xaa,
- 0xf6, 0xbb, 0x3a, 0x59, 0xca, 0xfa, 0x38, 0x7c, 0x9a, 0xd5, 0x7e, 0xf1,
- 0x38, 0x94, 0x15, 0xdc, 0xac, 0xe6, 0xa9, 0xc3, 0x68, 0xa3, 0x84, 0x6c,
- 0x2f, 0x52, 0x1c, 0x55, 0x6f, 0x55, 0x85, 0x1f, 0x59, 0x02, 0xea, 0xc8,
- 0xd5, 0x7d, 0x3a, 0x4a, 0xd4, 0x1d, 0x27, 0x3e, 0xea, 0x59, 0xea, 0xb3,
- 0xfa, 0x39, 0xde, 0x49, 0x78, 0x89, 0x75, 0x72, 0xf4, 0x9e, 0xdc, 0xa7,
- 0xa8, 0xb3, 0x0b, 0xd3, 0x23, 0x95, 0x4c, 0xc4, 0x41, 0x5c, 0xa4, 0xe4,
- 0x2a, 0x82, 0xe1, 0x64, 0x9e, 0x8e, 0x45, 0xef, 0xde, 0x31, 0x9e, 0x37,
- 0xbd, 0x2f, 0x66, 0x8c, 0x35, 0x5f, 0xe8, 0x72, 0x4d, 0xe2, 0x74, 0x16,
- 0xd8, 0x27, 0x62, 0x64, 0xd3, 0x84, 0xbc, 0x6a, 0x7c, 0x06, 0x4b, 0xdc,
- 0x74, 0x8c, 0xbb, 0xf9, 0x4c, 0x2a, 0x49, 0xd8, 0x9e, 0x20, 0xe3, 0xe3,
- 0xe1, 0xd1, 0x6c, 0x2f, 0x29, 0x6d, 0x7c, 0x76, 0xf2, 0x77, 0x3e, 0x3e,
- 0xe7, 0x7a, 0xc6, 0x38, 0x6a, 0xbc, 0xc0, 0x00, 0x53, 0xf3, 0x86, 0xa2,
- 0xe9, 0x85, 0x31, 0xca, 0x0d, 0xf5, 0x20, 0x27, 0xe2, 0x3f, 0x37, 0xb1,
- 0x3d, 0x62, 0x48, 0xc8, 0xd3, 0xe4, 0x0a, 0xf3, 0x38, 0xc2, 0x81, 0x9b,
- 0xbc, 0x1c, 0xe4, 0x2b, 0x88, 0x63, 0xe2, 0xa1, 0x35, 0x8a, 0xcd, 0x81,
- 0x7d, 0x99, 0x08, 0x13, 0x7a, 0x7c, 0x85, 0xd7, 0x91, 0xa1, 0x45, 0x77,
- 0x36, 0xc4, 0xcb, 0xd1, 0xf4, 0x43, 0x3d, 0x99, 0xa5, 0x4c, 0x37, 0x62,
- 0xbd, 0x8e, 0x99, 0xd5, 0x88, 0x7d, 0xc0, 0xa2, 0x43, 0xb0, 0xa8, 0xa1,
- 0xa9, 0x4e, 0x66, 0xf1, 0x94, 0xdc, 0x6b, 0xd3, 0xe6, 0x0d, 0xcd, 0x72,
- 0x09, 0xf4, 0x95, 0x39, 0xb0, 0x77, 0x5c, 0xb5, 0xb8, 0xb6, 0xca, 0x68,
- 0x1d, 0x88, 0x6c, 0xb6, 0x24, 0x71, 0x7f, 0x01, 0xcb, 0x1b, 0x0c, 0xde,
- 0x6d, 0xb8, 0xec, 0x8d, 0x76, 0xf7, 0x39, 0xcc, 0x0d, 0xb9, 0x13, 0x19,
- 0xe1, 0x5f, 0xf3, 0x79, 0xd4, 0x19, 0x9c, 0xb1, 0xee, 0x5c, 0x4d, 0x4e,
- 0xe9, 0x12, 0x57, 0x81, 0xae, 0xd0, 0xbe, 0xb9, 0xfa, 0xf8, 0xa4, 0x7a,
- 0x64, 0x99, 0xb0, 0x6b, 0x0a, 0xc2, 0xb2, 0x5c, 0x92, 0x73, 0x8a, 0xe4,
- 0x71, 0x73, 0x38, 0x60, 0xf6, 0xc0, 0x8a, 0x96, 0x19, 0xfe, 0x69, 0x74,
- 0xe8, 0x94, 0xac, 0x39, 0x3c, 0x8b, 0x02, 0x5d, 0xe0, 0x68, 0x07, 0x1b,
- 0x1d, 0x14, 0x78, 0x8a, 0x8e, 0x8d, 0x7b, 0xd9, 0xbc, 0x84, 0xa0, 0xa1,
- 0x11, 0xbb, 0x01, 0x11, 0x0a, 0x82, 0x19, 0x2f, 0x5c, 0x0b, 0xf7, 0x5e,
- 0x2f, 0x97, 0xc0, 0x5f, 0xd0, 0x74, 0x10, 0xe6, 0x81, 0xf4, 0xd8, 0x9c,
- 0x1d, 0xb3, 0x17, 0x90, 0x34, 0x0e, 0x1f, 0xd9, 0xf8, 0xad, 0x2f, 0x08,
- 0x1d, 0x9a, 0x7b, 0x8a, 0x20, 0x7e, 0x13, 0x30, 0xc8, 0x48, 0x25, 0xf3,
- 0xb4, 0xb1, 0xeb, 0xb3, 0x41, 0xe8, 0x30, 0xeb, 0xf1, 0x29, 0x7c, 0x1f,
- 0x99, 0x2d, 0xba, 0x11, 0xd9, 0xad, 0x9a, 0xa3, 0x51, 0xe0, 0xc4, 0xa8,
- 0x5c, 0x7f, 0xdf, 0x22, 0xc1, 0x60, 0x16, 0xdb, 0xcb, 0x1c, 0xfc, 0x46,
- 0x06, 0x86, 0xc2, 0x1a, 0xb5, 0x13, 0xe3, 0x42, 0x3d, 0x3e, 0x72, 0xc7,
- 0x25, 0x9f, 0x69, 0xf3, 0x22, 0x38, 0xbf, 0x5f, 0x2f, 0x37, 0x0c, 0x0f,
- 0x83, 0x51, 0x2e, 0x4f, 0xde, 0x93, 0xfd, 0x1a, 0x03, 0xdd, 0x9c, 0xab,
- 0xbb, 0x52, 0x63, 0xdb, 0xc3, 0x65, 0x3a, 0xab, 0xc5, 0x04, 0xac, 0xc9,
- 0x4d, 0x81, 0x65, 0x26, 0x2d, 0x9a, 0x1a, 0x47, 0xb7, 0x52, 0x72, 0x0f,
- 0x37, 0x09, 0xad, 0x7a, 0x5c, 0x88, 0x67, 0x7b, 0x59, 0xd6, 0x1c, 0x48,
- 0x2a, 0x97, 0x67, 0x15, 0x69, 0xd9, 0x68, 0xd7, 0x3a, 0x63, 0x7a, 0x27,
- 0x44, 0xd3, 0x42, 0x31, 0x30, 0xcd, 0xd2, 0xbf, 0x8b, 0x0e, 0x9a, 0x64,
- 0x77, 0x69, 0x91, 0x67, 0xa8, 0xe5, 0x82, 0xe9, 0x5b, 0xa4, 0xc4, 0x96,
- 0x51, 0xfd, 0x02, 0xc6, 0xb1, 0x76, 0xfc, 0xe1, 0xea, 0xec, 0xe3, 0xf1,
- 0xd1, 0xc7, 0xaf, 0x3f, 0x9c, 0xbf, 0x39, 0x3b, 0x59, 0x6b, 0x0c, 0x87,
- 0x3e, 0xbf, 0x54, 0x1c, 0xf5, 0x25, 0x5a, 0x1e, 0x74, 0x49, 0x60, 0x8a,
- 0x3c, 0xf2, 0x34, 0xbd, 0x03, 0x86, 0x46, 0x86, 0x04, 0xf9, 0xe8, 0xe9,
- 0x6f, 0xe4, 0xd5, 0x92, 0x0d, 0x6f, 0x0c, 0x37, 0x5c, 0xa2, 0x9e, 0xd6,
- 0xaf, 0x69, 0xcb, 0x7a, 0x55, 0xc4, 0x6a, 0xd7, 0x09, 0x06, 0x34, 0x6c,
- 0xd4, 0xa2, 0xb2, 0x31, 0x9a, 0x2f, 0x8e, 0x91, 0xe8, 0xb8, 0xeb, 0x97,
- 0x15, 0x58, 0x49, 0x1a, 0x20, 0x00, 0xad, 0x2d, 0xbf, 0xd5, 0x2c, 0x03,
- 0x30, 0xb1, 0x8e, 0x02, 0xc7, 0x5d, 0x5a, 0x4d, 0x74, 0x1c, 0xad, 0xe1,
- 0x48, 0x40, 0xbf, 0x3d, 0x99, 0xe4, 0xa8, 0xa8, 0xc0, 0xbe, 0x49, 0x52,
- 0xba, 0x18, 0x1a, 0x45, 0x45, 0x9d, 0x95, 0x9c, 0x73, 0x9e, 0x86, 0x0d,
- 0xba, 0x26, 0xee, 0x01, 0x69, 0xf7, 0xc9, 0x43, 0x42, 0x37, 0x4f, 0xde,
- 0x3a, 0x5e, 0x16, 0x74, 0x9b, 0xbf, 0x07, 0x6d, 0x04, 0xb9, 0xdf, 0x1b,
- 0xf2, 0xee, 0xc1, 0x0b, 0xfa, 0x10, 0x88, 0x99, 0xa6, 0xc8, 0xcb, 0x67,
- 0x18, 0x57, 0x8d, 0xc9, 0x93, 0x42, 0x7e, 0xaf, 0xcb, 0xa3, 0xeb, 0x77,
- 0x41, 0x65, 0xd6, 0xa6, 0xf4, 0x08, 0x29, 0x92, 0x62, 0x5e, 0x56, 0x72,
- 0x41, 0xce, 0x07, 0x83, 0x88, 0x12, 0x46, 0x66, 0xe9, 0xb0, 0x88, 0xf1,
- 0x9b, 0xf8, 0x63, 0xfc, 0x29, 0x90, 0x75, 0x63, 0xb8, 0xcb, 0x6f, 0x8f,
- 0x07, 0x7f, 0xdc, 0xde, 0x46, 0x2d, 0x7e, 0x09, 0xfb, 0xb2, 0x0e, 0xaf,
- 0x64, 0x25, 0xdc, 0xcc, 0x79, 0xbf, 0xcc, 0x37, 0x48, 0x6c, 0x97, 0xa2,
- 0x0e, 0xc4, 0x77, 0x20, 0x6d, 0x89, 0x8e, 0x94, 0xa8, 0xe1, 0x38, 0xbd,
- 0x3d, 0x21, 0x46, 0x27, 0xd9, 0x34, 0xc0, 0x2f, 0x40, 0x5e, 0xcf, 0x7c,
- 0x85, 0x7c, 0x3d, 0xbd, 0x18, 0x48, 0x2e, 0x4a, 0x3c, 0x82, 0xbf, 0xa2,
- 0xa3, 0x60, 0x03, 0x57, 0x56, 0xbf, 0x61, 0xba, 0xaa, 0x01, 0x6b, 0xa3,
- 0xd7, 0x68, 0xbe, 0x50, 0x0a, 0x8d, 0xcf, 0x15, 0xb2, 0xe6, 0xe5, 0xb2,
- 0x69, 0x4a, 0x44, 0x0e, 0xc3, 0x78, 0x74, 0x7b, 0x1f, 0x17, 0x63, 0xb6,
- 0x87, 0x80, 0x62, 0x86, 0xe9, 0x2c, 0xad, 0x1e, 0xd9, 0xae, 0x6d, 0xda,
- 0xd4, 0x1c, 0x1f, 0xc5, 0x0d, 0x84, 0x7b, 0x34, 0x05, 0x93, 0x1f, 0xb5,
- 0x4f, 0x54, 0xf1, 0xd3, 0xca, 0x35, 0x69, 0x49, 0x45, 0xaa, 0x8c, 0x8a,
- 0x63, 0xbe, 0xed, 0x89, 0xc7, 0x8a, 0xef, 0x11, 0x4d, 0xd3, 0xd2, 0xae,
- 0xb2, 0x41, 0x97, 0x49, 0x29, 0xf9, 0x44, 0xe5, 0x23, 0x48, 0xf9, 0x79,
- 0x14, 0x50, 0x11, 0x29, 0x7b, 0x28, 0xfa, 0x36, 0x79, 0x04, 0xfb, 0x39,
- 0xcd, 0x2c, 0xa7, 0x64, 0xfb, 0x3e, 0x41, 0xeb, 0x8e, 0x75, 0xd1, 0x54,
- 0x9d, 0xe9, 0x89, 0xc4, 0x43, 0x58, 0x92, 0xf8, 0x0e, 0x04, 0x7e, 0x5f,
- 0xf5, 0x70, 0x1c, 0x62, 0xad, 0xac, 0xb1, 0x64, 0xfa, 0x92, 0x7f, 0x88,
- 0x03, 0xf8, 0x79, 0x96, 0x25, 0x33, 0x39, 0xbe, 0xeb, 0x55, 0x07, 0x60,
- 0x9e, 0x85, 0x29, 0x7f, 0xcf, 0x37, 0xba, 0x31, 0xdc, 0x4b, 0x0e, 0xee,
- 0xc7, 0x95, 0xca, 0x24, 0xcd, 0x1a, 0x02, 0xab, 0x68, 0xcb, 0xfc, 0xaa,
- 0xdf, 0xfa, 0x19, 0xef, 0x36, 0x15, 0xf6, 0xd0, 0xeb, 0x67, 0xce, 0x4e,
- 0x51, 0x3a, 0x64, 0x3c, 0x63, 0x39, 0xe2, 0x2f, 0x8c, 0x66, 0x45, 0x01,
- 0x8c, 0xc6, 0x70, 0xae, 0x96, 0xad, 0x32, 0x4c, 0xd6, 0xb1, 0x06, 0x7a,
- 0x6a, 0x5e, 0x90, 0xbf, 0xa8, 0xc8, 0xe1, 0xac, 0x6b, 0xe7, 0xb9, 0xce,
- 0xca, 0x46, 0xf3, 0x9a, 0x08, 0x37, 0x77, 0x36, 0x66, 0x23, 0x74, 0xd1,
- 0x3d, 0xcd, 0xc4, 0x37, 0x59, 0x5b, 0x2d, 0xce, 0xba, 0x84, 0x26, 0x2e,
- 0x7d, 0x08, 0x6c, 0xec, 0x5f, 0x17, 0xd0, 0xcc, 0x0c, 0x89, 0xf9, 0xf9,
- 0x32, 0x4b, 0x68, 0xb1, 0x26, 0xa8, 0xdf, 0xab, 0x44, 0xc6, 0x49, 0x18,
- 0x17, 0xec, 0x82, 0x13, 0x06, 0x58, 0x71, 0x64, 0x5f, 0xb2, 0x6f, 0x06,
- 0xa0, 0x3b, 0x50, 0x5c, 0x8e, 0x07, 0x9d, 0x68, 0x3d, 0xe9, 0x4f, 0x61,
- 0xbc, 0x0e, 0x8e, 0xb3, 0x7d, 0x80, 0xff, 0xdd, 0xa1, 0xff, 0xee, 0x76,
- 0x34, 0xb5, 0xcf, 0xdd, 0x7a, 0x94, 0xe6, 0x4d, 0x59, 0xc4, 0xf1, 0x38,
- 0x2b, 0xdc, 0xbb, 0xec, 0x63, 0x6e, 0x63, 0x3c, 0xac, 0xb3, 0x9e, 0xf1,
- 0x2e, 0xfb, 0xea, 0x96, 0x6e, 0xc3, 0x9c, 0xfd, 0x11, 0x77, 0x09, 0x3b,
- 0x44, 0x60, 0x65, 0x23, 0x50, 0x0f, 0xc9, 0x8d, 0xa8, 0xb7, 0x6a, 0xf4,
- 0xb1, 0x48, 0x6e, 0xe2, 0xf2, 0x26, 0x5a, 0x56, 0x4c, 0x84, 0x40, 0xb7,
- 0xcd, 0xe1, 0x16, 0xb3, 0xd4, 0x7a, 0xda, 0xe4, 0xd3, 0x7d, 0xb5, 0xfb,
- 0xec, 0x29, 0x72, 0x04, 0x64, 0x96, 0xdf, 0xeb, 0x33, 0x3d, 0xc9, 0xb5,
- 0x0b, 0xa9, 0x05, 0x70, 0x9a, 0xe4, 0x37, 0xc1, 0xc7, 0xdc, 0x48, 0xf6,
- 0x1c, 0xb5, 0x49, 0x4c, 0x04, 0x04, 0x16, 0x37, 0x81, 0x1d, 0x43, 0x8b,
- 0x6e, 0x46, 0xe7, 0x86, 0xb6, 0x2b, 0xcd, 0xdb, 0x33, 0x4d, 0x45, 0xcf,
- 0x4b, 0x27, 0xe2, 0xbd, 0x95, 0x7f, 0x93, 0x3c, 0x15, 0xed, 0xab, 0xe4,
- 0x68, 0x77, 0x53, 0xf5, 0x7a, 0x9a, 0xb4, 0x95, 0x41, 0x1a, 0x4d, 0x47,
- 0x16, 0xcb, 0x01, 0x13, 0xa5, 0xeb, 0x74, 0x4a, 0xb6, 0x46, 0xc8, 0x81,
- 0xc1, 0x4e, 0xa9, 0x7f, 0xe9, 0x92, 0xc0, 0x8c, 0x7b, 0xe8, 0x2f, 0x5d,
- 0x96, 0xcf, 0xb8, 0x23, 0x0e, 0xd3, 0xe5, 0x77, 0x8c, 0xbf, 0x98, 0xa3,
- 0xfa, 0xee, 0x06, 0x34, 0xa9, 0xf0, 0xd1, 0x21, 0x8c, 0x63, 0xe7, 0x66,
- 0x0d, 0x78, 0xa0, 0x2b, 0x71, 0x91, 0xac, 0xc7, 0xb7, 0x71, 0x3f, 0xba,
- 0x38, 0x1e, 0x5c, 0xe2, 0x27, 0x80, 0x3a, 0xb2, 0x29, 0xcc, 0xe2, 0x6c,
- 0xd0, 0x18, 0x2e, 0x79, 0xa8, 0x92, 0xac, 0x0c, 0x39, 0x28, 0xfd, 0x6d,
- 0xd6, 0x28, 0x82, 0xa6, 0xd7, 0xc8, 0x64, 0xc1, 0xd2, 0xa7, 0xb8, 0x38,
- 0x86, 0x79, 0x31, 0x07, 0x23, 0xe2, 0xab, 0xe6, 0x7d, 0x68, 0x01, 0x37,
- 0x7f, 0xbc, 0x61, 0x5c, 0x35, 0x5d, 0xa5, 0x05, 0x13, 0x2e, 0x2c, 0x97,
- 0x53, 0xb4, 0x41, 0x4a, 0xb5, 0x1b, 0xcd, 0x17, 0x60, 0x37, 0x7c, 0x55,
- 0x41, 0x96, 0x6d, 0x3c, 0x89, 0x60, 0x35, 0x61, 0x26, 0x15, 0xa9, 0x48,
- 0x59, 0x6e, 0x47, 0xc5, 0x6c, 0x0a, 0xca, 0x1a, 0x4d, 0x29, 0xc0, 0x36,
- 0x4a, 0x40, 0x05, 0x1d, 0x07, 0x94, 0x00, 0x3e, 0x14, 0x35, 0x9c, 0x26,
- 0x92, 0x29, 0x1a, 0xf0, 0xff, 0xd0, 0x40, 0x23, 0x56, 0xd1, 0x90, 0xea,
- 0x29, 0x50, 0x91, 0xa2, 0x9f, 0x14, 0x15, 0x66, 0x36, 0xd5, 0x71, 0x3c,
- 0x73, 0xff, 0xbf, 0xc9, 0x96, 0xb0, 0xf1, 0x01, 0x69, 0x8c, 0x4a, 0x15,
- 0x8a, 0x19, 0xdc, 0xc0, 0x55, 0x8e, 0xbd, 0xbd, 0xed, 0xba, 0x1f, 0x9b,
- 0x88, 0x0d, 0x0c, 0x80, 0x24, 0x3a, 0xc4, 0xff, 0x3e, 0xc9, 0x95, 0x29,
- 0x75, 0x85, 0x9e, 0x97, 0x78, 0x27, 0xf3, 0x4e, 0xf1, 0xc5, 0x44, 0x75,
- 0x06, 0xed, 0x49, 0x2f, 0x22, 0xb7, 0x3e, 0xf2, 0xbd, 0x6e, 0xf4, 0x06,
- 0x13, 0xb2, 0x4f, 0xce, 0xbf, 0x21, 0x1a, 0xb8, 0xdc, 0xde, 0xa1, 0xe8,
- 0x92, 0xb1, 0x1e, 0xc6, 0xf4, 0x91, 0x92, 0x1d, 0x09, 0x1c, 0x1d, 0xf6,
- 0x15, 0x5f, 0x92, 0x09, 0x5d, 0x62, 0xa3, 0x18, 0x16, 0xa4, 0xec, 0xa1,
- 0xf1, 0xa7, 0x93, 0x5f, 0x9e, 0x21, 0x7a, 0xd2, 0x95, 0x1d, 0x14, 0xc7,
- 0xcc, 0x6d, 0xf2, 0x68, 0xff, 0x46, 0xbb, 0xea, 0x6c, 0xb5, 0x7d, 0xf8,
- 0xd0, 0xd9, 0xa4, 0x1f, 0x0f, 0x30, 0x43, 0x09, 0xb4, 0xd4, 0xf1, 0xcf,
- 0xbf, 0x4e, 0x22, 0x86, 0x77, 0x3e, 0xe0, 0x6c, 0x21, 0x3f, 0x97, 0xe6,
- 0x02, 0x71, 0xe8, 0x9f, 0x59, 0xbc, 0xa4, 0xc3, 0x63, 0xa6, 0x3c, 0x12,
- 0x7c, 0x9c, 0x19, 0x95, 0xa4, 0xc7, 0x09, 0x60, 0x94, 0x10, 0xd6, 0xdc,
- 0xfb, 0x51, 0x3e, 0xf3, 0x64, 0x5d, 0xcd, 0x70, 0x25, 0x7d, 0x7e, 0x47,
- 0xe4, 0x1b, 0x19, 0x73, 0xcc, 0x6c, 0x44, 0x8b, 0x6e, 0x5e, 0x07, 0xa3,
- 0x53, 0x93, 0xfa, 0x65, 0x25, 0x23, 0xbe, 0xc9, 0x2f, 0x52, 0x98, 0x9b,
- 0xa6, 0xc6, 0x9a, 0x52, 0x3f, 0xb2, 0x1a, 0x6f, 0x48, 0xfd, 0x87, 0xb3,
- 0xd5, 0xbd, 0x85, 0x43, 0x47, 0x3f, 0x93, 0xd9, 0xb5, 0xae, 0xeb, 0x69,
- 0x02, 0x26, 0x57, 0xa4, 0xaa, 0x9f, 0x4b, 0x32, 0xa9, 0x1f, 0xc3, 0xe0,
- 0x8c, 0x03, 0xf1, 0x46, 0x49, 0x66, 0x55, 0xcd, 0x97, 0xcf, 0xe4, 0x87,
- 0x96, 0x68, 0xc7, 0xd9, 0x92, 0x4e, 0xe8, 0x28, 0x2a, 0x0e, 0x7e, 0xca,
- 0x15, 0x4a, 0xef, 0x70, 0xeb, 0x94, 0x76, 0xac, 0x63, 0xb3, 0xae, 0xfa,
- 0xe6, 0x19, 0xfe, 0x99, 0xa1, 0x4f, 0xec, 0x0f, 0x01, 0x82, 0x0c, 0xd2,
- 0x22, 0xfa, 0xc6, 0x25, 0xf6, 0x41, 0x0a, 0x0c, 0x26, 0x41, 0x4a, 0x16,
- 0xfa, 0xec, 0xf1, 0x59, 0x06, 0x9d, 0x2a, 0x20, 0x6a, 0xb7, 0x39, 0xc6,
- 0x9c, 0x67, 0xed, 0x34, 0x09, 0x04, 0xd8, 0x78, 0x85, 0x29, 0x25, 0x4c,
- 0xbb, 0xe8, 0x7b, 0x4d, 0x47, 0xb7, 0x14, 0x79, 0x11, 0x09, 0xe5, 0xae,
- 0x4f, 0xf3, 0xf6, 0x38, 0xe3, 0x34, 0x70, 0x04, 0x64, 0x4b, 0xa2, 0x53,
- 0x18, 0x69, 0x12, 0xa5, 0x73, 0x9a, 0xb1, 0xce, 0xd6, 0xea, 0x65, 0x80,
- 0xb9, 0x7e, 0x7c, 0x73, 0x7a, 0x15, 0xad, 0xa3, 0x06, 0xde, 0x34, 0x72,
- 0x55, 0xbc, 0x6f, 0x26, 0xd5, 0x68, 0x73, 0x71, 0x9b, 0x6e, 0x82, 0xb1,
- 0x39, 0x1e, 0x6e, 0x18, 0x23, 0x8a, 0x3e, 0x87, 0x54, 0x68, 0x0c, 0x53,
- 0xb5, 0x4c, 0xc9, 0x34, 0xf5, 0x5c, 0x8f, 0xd6, 0x54, 0xe5, 0x0a, 0x17,
- 0x63, 0xa3, 0xf2, 0x36, 0x31, 0x41, 0x53, 0x88, 0x86, 0xb3, 0x23, 0x28,
- 0xb0, 0x93, 0xb0, 0x5f, 0x1a, 0x6c, 0xec, 0xe6, 0x5d, 0xe5, 0xec, 0x47,
- 0x71, 0xe4, 0xb0, 0x03, 0x47, 0x53, 0xf6, 0x44, 0x5c, 0x58, 0xed, 0xb7,
- 0x8b, 0xc9, 0x96, 0xb8, 0x29, 0x0b, 0x14, 0x49, 0x63, 0x74, 0x03, 0x36,
- 0x87, 0x23, 0x4d, 0xae, 0xd3, 0xdf, 0xec, 0x44, 0x26, 0xbd, 0x14, 0x76,
- 0x99, 0xf3, 0xa7, 0x4d, 0xe0, 0x0b, 0x48, 0x6c, 0xb2, 0x2c, 0x8d, 0x1f,
- 0x33, 0x36, 0xe7, 0xd5, 0x0f, 0x31, 0x54, 0xe7, 0x38, 0x8d, 0xce, 0x05,
- 0xba, 0x31, 0xdd, 0x2c, 0xd7, 0x5a, 0x97, 0x49, 0xd1, 0x51, 0x75, 0x7e,
- 0xea, 0x44, 0x4e, 0x7a, 0x62, 0x2d, 0x4b, 0x31, 0xb5, 0x09, 0x44, 0x8e,
- 0x10, 0x00, 0x89, 0x6c, 0xee, 0xf0, 0x38, 0x99, 0xa5, 0xf3, 0x94, 0x6c,
- 0x2f, 0x77, 0x0a, 0xbd, 0x50, 0x80, 0xd0, 0x4e, 0xe9, 0x27, 0x7f, 0x4a,
- 0x9a, 0xf2, 0x1b, 0xe3, 0xaf, 0x61, 0x4a, 0xe4, 0x11, 0xe3, 0x8c, 0xcc,
- 0xb0, 0xd5, 0x5c, 0x9f, 0x90, 0x49, 0x1a, 0x5e, 0x11, 0x39, 0x36, 0x77,
- 0xa9, 0x4d, 0x95, 0xb7, 0x2e, 0x11, 0xbd, 0xf4, 0xcc, 0xd4, 0xa2, 0xc5,
- 0xed, 0xa8, 0xdc, 0xde, 0x6e, 0x0a, 0xba, 0xd2, 0x52, 0x94, 0xd8, 0xef,
- 0xb1, 0x21, 0xcc, 0x0f, 0x57, 0xa7, 0xd1, 0x3a, 0x16, 0x89, 0xbc, 0xdc,
- 0xdf, 0xde, 0xd9, 0x70, 0x33, 0x4b, 0x94, 0x01, 0xf8, 0x72, 0xf3, 0x91,
- 0x43, 0xb2, 0xce, 0x05, 0x9c, 0xe5, 0xa3, 0x58, 0x34, 0x0e, 0x3b, 0xf4,
- 0x38, 0xb9, 0x4b, 0x47, 0x58, 0xa3, 0x83, 0x01, 0x79, 0xe4, 0xc1, 0xc3,
- 0x04, 0x26, 0xe9, 0xed, 0xb8, 0xcd, 0xe8, 0xe5, 0xd9, 0x83, 0x89, 0x64,
- 0x34, 0x65, 0xcc, 0x9b, 0x06, 0x1a, 0xa8, 0x64, 0xef, 0xdc, 0x59, 0x4b,
- 0x94, 0x20, 0x6e, 0xf1, 0x04, 0xe1, 0xba, 0xb8, 0x82, 0x86, 0x74, 0x8c,
- 0xae, 0x0d, 0xfc, 0xf4, 0x7a, 0xb2, 0x59, 0xc2, 0x7a, 0x4d, 0xec, 0x18,
- 0x33, 0x50, 0x9a, 0x07, 0x28, 0x73, 0xea, 0xa0, 0x20, 0xc9, 0x48, 0xb8,
- 0xc7, 0x76, 0x50, 0xb3, 0xfb, 0xae, 0x26, 0x54, 0x1f, 0xd5, 0xf7, 0x94,
- 0x13, 0xe1, 0x80, 0xe6, 0x12, 0x1e, 0xf2, 0x77, 0x72, 0x32, 0xd5, 0xd9,
- 0xa7, 0x1c, 0x0f, 0x9e, 0xbd, 0x78, 0x0d, 0x87, 0xac, 0x28, 0x28, 0xbf,
- 0x8d, 0xf5, 0x71, 0x4f, 0x8e, 0xc3, 0xeb, 0x9b, 0x2a, 0x84, 0x48, 0x0a,
- 0xa9, 0xbf, 0x91, 0x3d, 0x3f, 0xc0, 0x3c, 0xc9, 0xd3, 0x73, 0x2b, 0x8e,
- 0x1e, 0x52, 0x8a, 0x4d, 0x0a, 0x87, 0xef, 0x2b, 0x56, 0xc1, 0x0f, 0x47,
- 0x34, 0xca, 0xc7, 0x0d, 0x93, 0x1d, 0x37, 0xc1, 0x11, 0x78, 0xc4, 0xfd,
- 0x38, 0x54, 0x49, 0x1c, 0x2f, 0xec, 0xc9, 0x46, 0x4a, 0x65, 0xf7, 0xfa,
- 0x2f, 0xe2, 0x81, 0x21, 0x8f, 0x1a, 0xb1, 0xc0, 0x5f, 0xc5, 0x01, 0x9f,
- 0xf0, 0x39, 0x1d, 0x7b, 0x12, 0xbb, 0x34, 0xca, 0x90, 0xd5, 0xd5, 0x30,
- 0x59, 0x3c, 0xa2, 0x8d, 0xf3, 0x2d, 0x1a, 0x4c, 0x1b, 0xa4, 0x94, 0x00,
- 0xcc, 0xf9, 0x6a, 0xdc, 0x4d, 0x76, 0xec, 0xc0, 0x75, 0x59, 0x3f, 0xe3,
- 0x20, 0x65, 0x74, 0xf9, 0xf6, 0x07, 0xe5, 0x96, 0x21, 0x03, 0x9e, 0x1c,
- 0x51, 0x5f, 0x98, 0xec, 0x30, 0xb0, 0x28, 0x30, 0x53, 0x2d, 0x95, 0xac,
- 0x4f, 0x76, 0x13, 0x51, 0x38, 0x7c, 0xc3, 0x26, 0x33, 0xe2, 0x56, 0x77,
- 0x0e, 0xe9, 0x77, 0xcd, 0x58, 0x53, 0xce, 0x96, 0xcc, 0x97, 0x3f, 0xf1,
- 0xaf, 0x99, 0xc7, 0xc2, 0xbf, 0xaa, 0x9b, 0xe5, 0x7c, 0x08, 0xe7, 0x99,
- 0x55, 0x5f, 0x76, 0x22, 0x0e, 0xb6, 0x4e, 0x64, 0x3f, 0x57, 0x98, 0x9d,
- 0xa9, 0xd6, 0xeb, 0xa8, 0x6f, 0xb1, 0xb6, 0x6b, 0x3c, 0x3b, 0xad, 0x1d,
- 0xb0, 0xf9, 0x79, 0x70, 0x78, 0xec, 0xcb, 0xf6, 0x54, 0xbd, 0x0f, 0x40,
- 0x9e, 0x3f, 0xbd, 0xff, 0xcb, 0x4f, 0xaf, 0x76, 0xf7, 0xe2, 0x97, 0xf1,
- 0xe8, 0xc5, 0xe4, 0xf3, 0x78, 0x7f, 0xbc, 0xff, 0xf2, 0xd5, 0xce, 0xe7,
- 0xfb, 0xf1, 0xcb, 0xbd, 0x49, 0xfc, 0x62, 0x3b, 0xd9, 0x7e, 0x35, 0xd9,
- 0xd9, 0x1d, 0x8f, 0x27, 0xc9, 0xe7, 0xe3, 0x97, 0x71, 0xa7, 0x4f, 0xe6,
- 0x97, 0x4e, 0xdd, 0x67, 0xb5, 0x1a, 0x78, 0x8b, 0xa3, 0xc1, 0xbb, 0xa3,
- 0xde, 0x76, 0x74, 0x93, 0x3c, 0xe8, 0x05, 0x63, 0x8f, 0xa6, 0xc9, 0xba,
- 0x4b, 0x24, 0xaf, 0xba, 0x7d, 0xb1, 0x5a, 0x28, 0x88, 0x59, 0xd3, 0xe8,
- 0x2b, 0x21, 0x0d, 0x98, 0x77, 0x51, 0xb7, 0x95, 0xf3, 0xea, 0x8c, 0xff,
- 0xf0, 0x40, 0x7d, 0xf6, 0xb8, 0xae, 0xe6, 0xe5, 0x3f, 0x83, 0x77, 0x66,
- 0xef, 0xe3, 0x11, 0x28, 0x49, 0xb0, 0x27, 0xf2, 0xe0, 0x00, 0x4c, 0x5b,
- 0x60, 0xd3, 0xdd, 0x48, 0xfe, 0x82, 0x5e, 0x62, 0x67, 0x8c, 0x6f, 0x8a,
- 0x7c, 0xb9, 0xb8, 0xcc, 0x67, 0xe9, 0xe8, 0x71, 0xd5, 0x70, 0xee, 0x63,
- 0xb5, 0x5f, 0x9c, 0x30, 0x0b, 0x4f, 0xcb, 0xe4, 0x77, 0x34, 0xad, 0x1c,
- 0x76, 0xfc, 0x0c, 0xdb, 0xaa, 0x37, 0x4a, 0x17, 0x37, 0x18, 0xe7, 0x3d,
- 0xa4, 0x2c, 0x3f, 0x0c, 0xcd, 0xf0, 0x0f, 0xc2, 0x36, 0xd5, 0x40, 0x6e,
- 0x64, 0x29, 0xe7, 0xa9, 0x6f, 0x8b, 0xc6, 0x95, 0x6a, 0x09, 0x9c, 0xba,
- 0xa9, 0x24, 0xb3, 0x34, 0xf5, 0xfc, 0x78, 0xf6, 0x43, 0x7c, 0xdb, 0x55,
- 0xdb, 0x66, 0xe7, 0x85, 0xfc, 0xaa, 0x1f, 0x5d, 0x51, 0x9c, 0x7c, 0xb9,
- 0x60, 0xf3, 0x82, 0xfc, 0xf9, 0xfc, 0xbb, 0xe6, 0x45, 0xc3, 0xc9, 0x0b,
- 0xc5, 0x70, 0x21, 0x1e, 0xec, 0xe8, 0x87, 0xab, 0xb3, 0x83, 0xe6, 0x3e,
- 0x51, 0xb1, 0x51, 0x79, 0xb0, 0xb9, 0x49, 0x21, 0x9f, 0x9b, 0xf8, 0xe1,
- 0xa1, 0x5f, 0x26, 0x9b, 0xe3, 0x7c, 0x54, 0x6e, 0x96, 0xe5, 0x4c, 0x77,
- 0xa3, 0x5e, 0xfb, 0xf7, 0x09, 0xbc, 0xb9, 0xf9, 0x9c, 0xd8, 0x56, 0x32,
- 0xee, 0x95, 0xa5, 0x97, 0x1b, 0x34, 0x38, 0xd6, 0xcc, 0x83, 0x13, 0xc9,
- 0x49, 0x23, 0x39, 0xd7, 0x83, 0xdd, 0x1d, 0x0c, 0xde, 0x45, 0xfa, 0x32,
- 0x6d, 0xaf, 0x09, 0x89, 0x9b, 0xbc, 0x9c, 0x6e, 0x40, 0x0d, 0x8b, 0x85,
- 0x61, 0x7f, 0xe1, 0x3a, 0x74, 0x50, 0x9d, 0xce, 0xf9, 0x0f, 0xa9, 0x5d,
- 0x49, 0xab, 0x95, 0x89, 0x7c, 0x2f, 0x1a, 0x0e, 0x10, 0xb3, 0x88, 0x70,
- 0xfc, 0x5f, 0x9d, 0x60, 0x71, 0x64, 0x9f, 0xb4, 0x1e, 0xa1, 0x66, 0x71,
- 0x3a, 0x50, 0xef, 0x34, 0x2f, 0x40, 0x78, 0xcc, 0xcb, 0x90, 0x17, 0x54,
- 0x6f, 0x79, 0xc9, 0x6a, 0x5f, 0xc9, 0xb9, 0x88, 0x30, 0x4c, 0xe6, 0x0c,
- 0x0e, 0xc7, 0x48, 0x39, 0x8c, 0x7d, 0xf7, 0xb0, 0x82, 0xf1, 0x2d, 0x3d,
- 0xbc, 0x36, 0x2f, 0xda, 0x32, 0xb3, 0xc1, 0x0f, 0x12, 0xc7, 0x30, 0x59,
- 0x29, 0x2c, 0xf3, 0x2c, 0x04, 0xca, 0xfd, 0x27, 0x31, 0x81, 0x3a, 0x44,
- 0x51, 0xe4, 0x8e, 0x52, 0xdb, 0xfb, 0x96, 0x8c, 0x4b, 0x90, 0x8e, 0xe9,
- 0x54, 0xc3, 0xeb, 0x2d, 0x39, 0x76, 0x28, 0xba, 0x2a, 0xca, 0x5d, 0x96,
- 0x72, 0x70, 0x14, 0x0a, 0x98, 0xc2, 0x46, 0xa9, 0x25, 0x92, 0x9d, 0xc9,
- 0xe9, 0x40, 0xb5, 0x2a, 0x78, 0xef, 0x26, 0x60, 0xcd, 0x8f, 0x7d, 0x1c,
- 0xd3, 0xa8, 0xf4, 0x5e, 0xd2, 0xf0, 0xe2, 0xbe, 0x70, 0x12, 0xdb, 0x50,
- 0x2b, 0x23, 0x37, 0x03, 0x3c, 0xd3, 0xb4, 0xf6, 0x28, 0xe7, 0xd6, 0xe8,
- 0x7c, 0xa1, 0x12, 0xd7, 0xe6, 0x7a, 0x34, 0xf5, 0x5e, 0xf7, 0x36, 0xa5,
- 0xa2, 0xea, 0x98, 0xf2, 0xfa, 0x43, 0xa2, 0x3d, 0x77, 0x82, 0xb4, 0x38,
- 0xa0, 0x2f, 0xf3, 0x2a, 0x93, 0x36, 0xa9, 0x95, 0x4a, 0xa4, 0x10, 0x00,
- 0x07, 0x02, 0xb1, 0x87, 0x19, 0xe7, 0x58, 0x4a, 0x3f, 0xcb, 0xad, 0x82,
- 0x05, 0x84, 0x07, 0xbc, 0x90, 0xaa, 0x11, 0xfb, 0x1e, 0xdf, 0xe6, 0x9a,
- 0x24, 0x4e, 0x22, 0xe4, 0xda, 0x3a, 0xce, 0xf6, 0xe2, 0x9f, 0x91, 0xf8,
- 0x1a, 0x6a, 0x8c, 0xdc, 0xf2, 0x33, 0x3c, 0xbf, 0x90, 0x6b, 0x48, 0xb2,
- 0xf2, 0xb9, 0xd0, 0x31, 0xa5, 0x12, 0x5e, 0x29, 0xfa, 0xe4, 0x22, 0x03,
- 0xf5, 0x6c, 0x97, 0xb9, 0xa4, 0x6c, 0xe2, 0x44, 0x71, 0x9e, 0x3c, 0xc7,
- 0x26, 0xa9, 0x9b, 0x82, 0xce, 0x9a, 0x31, 0x12, 0x97, 0x36, 0x57, 0xbf,
- 0xf4, 0xa3, 0x95, 0x76, 0x33, 0x43, 0xd6, 0xab, 0x57, 0xf7, 0x40, 0x13,
- 0x29, 0x12, 0xfd, 0x42, 0x96, 0x37, 0x27, 0xa5, 0xf3, 0x08, 0xe5, 0xa3,
- 0x6a, 0x6e, 0xbf, 0x33, 0x01, 0xcd, 0xf1, 0x37, 0xa7, 0xdc, 0x92, 0xbd,
- 0x99, 0x44, 0xf6, 0x91, 0xc8, 0xda, 0x99, 0xf6, 0x18, 0xc9, 0xdf, 0x40,
- 0x15, 0x1b, 0x25, 0x4f, 0xfd, 0x00, 0xe7, 0xf4, 0x7a, 0x23, 0xe4, 0x27,
- 0xb6, 0x23, 0x29, 0x45, 0xe1, 0x3d, 0x9d, 0xe5, 0xa5, 0xc6, 0x5f, 0x50,
- 0xb9, 0xe0, 0xba, 0x5b, 0xe0, 0x06, 0xdf, 0xcb, 0x0f, 0xf8, 0x68, 0x1a,
- 0xc3, 0xf1, 0x53, 0x5d, 0x99, 0xe2, 0xc4, 0x2a, 0x1b, 0x62, 0xab, 0xda,
- 0x62, 0x61, 0xd4, 0x36, 0x8c, 0x35, 0x79, 0x10, 0xfd, 0xf4, 0x53, 0x37,
- 0x02, 0x23, 0xb9, 0x31, 0xdc, 0x4f, 0x15, 0xfc, 0x14, 0x68, 0xf1, 0x27,
- 0x2e, 0x58, 0xfa, 0xe9, 0x0e, 0x8d, 0x40, 0x74, 0x30, 0x97, 0x33, 0x8c,
- 0x1e, 0xb1, 0x9a, 0x5d, 0xf7, 0xca, 0x71, 0x3d, 0xf4, 0x8a, 0xd4, 0x2c,
- 0x6b, 0xb7, 0x73, 0x2a, 0x26, 0x1c, 0xd8, 0x72, 0x9e, 0x89, 0x75, 0xc2,
- 0xc4, 0x49, 0xf7, 0x9e, 0xe4, 0xc0, 0xda, 0x1f, 0xd7, 0x2c, 0x21, 0x85,
- 0xf6, 0xae, 0x48, 0x58, 0xd2, 0x93, 0xa8, 0x4a, 0x1d, 0x31, 0xa5, 0xd5,
- 0xc3, 0x64, 0x6e, 0x46, 0x1c, 0x2e, 0x45, 0x66, 0x7a, 0x81, 0xce, 0x75,
- 0x2e, 0x03, 0x6b, 0x8a, 0x71, 0x6b, 0x4a, 0x62, 0x6d, 0xdc, 0xe2, 0xe6,
- 0xb1, 0xc4, 0x4c, 0x0e, 0x99, 0x8d, 0x77, 0x7b, 0x5a, 0x13, 0x8c, 0x65,
- 0xef, 0xb1, 0xa8, 0x07, 0xf9, 0x00, 0x32, 0xbf, 0x1a, 0xeb, 0x84, 0x19,
- 0xad, 0xf5, 0xd6, 0x4c, 0x2c, 0x4c, 0xf2, 0x65, 0xbc, 0x5c, 0x7a, 0x93,
- 0x9c, 0x6d, 0x93, 0x0f, 0xbd, 0x4f, 0x3a, 0x49, 0x71, 0xb9, 0x9b, 0xee,
- 0x68, 0x8b, 0xdb, 0xb1, 0x3a, 0x55, 0xa3, 0xf8, 0xf2, 0x7d, 0xe1, 0x3f,
- 0x01, 0x87, 0x13, 0xa5, 0x45, 0x92, 0xe9, 0xa1, 0x03, 0x90, 0x37, 0xc4,
- 0x86, 0x87, 0x7a, 0x3d, 0xc2, 0x19, 0x59, 0x30, 0x36, 0x08, 0x92, 0x04,
- 0x65, 0x1e, 0x3c, 0x62, 0x25, 0xd8, 0x62, 0xe6, 0xf1, 0x5b, 0x49, 0x05,
- 0xd4, 0x62, 0x6b, 0xbc, 0xe0, 0x08, 0x48, 0x71, 0x9f, 0x09, 0xa0, 0xc0,
- 0x20, 0x27, 0xaf, 0xcc, 0x88, 0x72, 0x18, 0x24, 0x5d, 0x46, 0x6a, 0xca,
- 0x02, 0x56, 0x20, 0xca, 0x40, 0x4f, 0x07, 0xc2, 0xf9, 0xbc, 0x8e, 0x3a,
- 0xed, 0x9a, 0x50, 0xa7, 0xf9, 0x06, 0x65, 0x40, 0x5a, 0x17, 0xa7, 0xd4,
- 0xcb, 0xd3, 0x44, 0xd6, 0x25, 0x93, 0xae, 0xf7, 0x37, 0x4e, 0x68, 0xe3,
- 0x92, 0x2e, 0x91, 0xaf, 0x1b, 0x9c, 0x20, 0x5c, 0x06, 0x22, 0xfb, 0x36,
- 0xcb, 0xca, 0xa1, 0x0f, 0x9b, 0xa7, 0x94, 0x92, 0xfb, 0x9a, 0xa4, 0x17,
- 0x4b, 0x3b, 0xe7, 0x69, 0x2f, 0x14, 0xaf, 0x6f, 0x63, 0xc5, 0x09, 0x7e,
- 0x4f, 0x5c, 0xd2, 0x2a, 0x3a, 0xcc, 0x8d, 0x5e, 0xcc, 0x08, 0xa7, 0x43,
- 0x6b, 0x5d, 0x48, 0x25, 0xf2, 0x76, 0x67, 0x7b, 0xc3, 0x54, 0x47, 0x12,
- 0xd8, 0x06, 0x67, 0x66, 0x8b, 0x9e, 0xd0, 0xb9, 0xc9, 0x39, 0x97, 0xa8,
- 0x73, 0x80, 0x85, 0x7b, 0x72, 0x1b, 0x69, 0x8d, 0x0a, 0x83, 0xd0, 0x18,
- 0x8e, 0x32, 0xb5, 0xde, 0x5d, 0xbc, 0x3f, 0xa9, 0x67, 0xe0, 0xd2, 0x4f,
- 0x42, 0xce, 0x57, 0x60, 0x57, 0x6f, 0x81, 0xc3, 0x30, 0x0d, 0xc4, 0x9e,
- 0x36, 0xc7, 0xb4, 0x05, 0xd3, 0x9a, 0x26, 0xd5, 0xe2, 0x7e, 0x99, 0x8e,
- 0xd7, 0x37, 0x90, 0x46, 0xb0, 0xdc, 0xa4, 0x47, 0x35, 0x4e, 0x6c, 0x1a,
- 0x96, 0xd1, 0x3a, 0x2b, 0xe8, 0x45, 0x52, 0x2d, 0x8b, 0x8c, 0x1d, 0xe6,
- 0x38, 0xf7, 0xa6, 0x91, 0x05, 0xd2, 0x99, 0x45, 0x9d, 0xeb, 0x1c, 0x10,
- 0xcc, 0x1c, 0x4e, 0x61, 0xe2, 0x01, 0xc1, 0xdc, 0xbd, 0x30, 0x79, 0x1f,
- 0x74, 0xf0, 0xb4, 0x16, 0x4f, 0x7e, 0xb9, 0x3b, 0x11, 0x1d, 0x5d, 0x5e,
- 0xbe, 0x39, 0xba, 0x3e, 0x32, 0x6b, 0x23, 0x01, 0x4d, 0xcc, 0x85, 0x34,
- 0x64, 0xe0, 0x43, 0xa8, 0x35, 0xe1, 0x93, 0x6b, 0x7f, 0xfa, 0x30, 0x38,
- 0xb9, 0x6a, 0x1e, 0xec, 0xe5, 0xd5, 0x05, 0x02, 0x12, 0xfd, 0xe9, 0xa7,
- 0xa3, 0xc5, 0x62, 0xa6, 0x41, 0xc1, 0x37, 0x71, 0x15, 0xaf, 0x79, 0xb7,
- 0x7a, 0x67, 0x03, 0xe7, 0x77, 0x6f, 0xe6, 0x37, 0x11, 0x21, 0x47, 0xa6,
- 0x7e, 0xd4, 0xc7, 0x03, 0x2d, 0x46, 0x9a, 0x7e, 0x6b, 0x76, 0x83, 0x36,
- 0x80, 0xb2, 0x67, 0xdb, 0x17, 0x92, 0x5b, 0x4e, 0xa6, 0x89, 0x64, 0xba,
- 0x59, 0x33, 0x30, 0xb2, 0x93, 0xd1, 0xb2, 0x52, 0x92, 0x27, 0xfa, 0xc2,
- 0x2a, 0xee, 0xe6, 0xbe, 0x78, 0xc7, 0x63, 0xc3, 0x28, 0xcc, 0x05, 0x08,
- 0x44, 0x00, 0x08, 0x8d, 0x52, 0xa4, 0x75, 0xb6, 0xcc, 0xc5, 0x02, 0x34,
- 0x35, 0x4e, 0x38, 0xac, 0x42, 0xa0, 0x02, 0x3c, 0x25, 0x6f, 0x43, 0xfe,
- 0x08, 0xb7, 0xb1, 0x17, 0x9d, 0x48, 0xb5, 0x1b, 0x2d, 0x1c, 0x7e, 0xe0,
- 0x3d, 0x54, 0x19, 0xf3, 0x41, 0xd8, 0x7d, 0x98, 0x57, 0x38, 0x40, 0x1b,
- 0x9d, 0xa6, 0x08, 0xe0, 0xd2, 0x56, 0x78, 0x08, 0xa7, 0x8d, 0x9b, 0x4e,
- 0xd6, 0x53, 0x27, 0x90, 0xf4, 0xd4, 0x8b, 0xa7, 0x48, 0x5e, 0xf0, 0x28,
- 0x68, 0xd7, 0x60, 0x34, 0xe1, 0xbf, 0x36, 0xb7, 0xfb, 0x5b, 0x1d, 0x7f,
- 0xf2, 0x78, 0x59, 0x08, 0x24, 0xc5, 0x44, 0xd5, 0x90, 0x1b, 0x56, 0x79,
- 0xfe, 0xe4, 0xfc, 0x98, 0x85, 0x81, 0x7e, 0xba, 0x80, 0xf1, 0x83, 0x53,
- 0xe9, 0x5d, 0x78, 0x59, 0x20, 0x98, 0xb9, 0x5b, 0x28, 0x53, 0x04, 0x9e,
- 0x98, 0xe5, 0xf7, 0xb8, 0x12, 0x20, 0xb5, 0xd9, 0xac, 0x86, 0x66, 0xd3,
- 0x09, 0x6f, 0x73, 0x46, 0xc0, 0x51, 0x49, 0x73, 0xb7, 0x83, 0x91, 0x6b,
- 0x55, 0x3e, 0x5d, 0x0d, 0xcf, 0xa4, 0xbc, 0x92, 0x15, 0x69, 0x28, 0xc1,
- 0x05, 0x13, 0x00, 0x2e, 0xe7, 0xf1, 0xbd, 0x99, 0x9b, 0x99, 0xd1, 0xd3,
- 0xf4, 0x90, 0x1e, 0x0e, 0x82, 0x5a, 0xe9, 0x21, 0xd7, 0xaa, 0x7b, 0xb6,
- 0xfc, 0xfb, 0xf8, 0x21, 0x9d, 0x2f, 0xe7, 0xf4, 0x31, 0xa4, 0x6d, 0x79,
- 0x4c, 0xe2, 0x09, 0xe4, 0x55, 0xe4, 0xf4, 0x14, 0x22, 0xf2, 0xb5, 0x32,
- 0x72, 0x2c, 0xfa, 0x90, 0x90, 0x01, 0x91, 0xdc, 0xb7, 0xcb, 0x23, 0x65,
- 0x81, 0x02, 0x0e, 0x65, 0xc3, 0x1b, 0x00, 0xfa, 0x41, 0x8c, 0x39, 0x07,
- 0x65, 0x6e, 0x12, 0x76, 0x02, 0xec, 0x9c, 0xc1, 0x12, 0x44, 0x87, 0x73,
- 0xf2, 0x55, 0x93, 0x22, 0xcd, 0xc7, 0xe6, 0xde, 0xa0, 0xfe, 0x98, 0x66,
- 0x4b, 0xd8, 0x67, 0xf6, 0x25, 0x73, 0x10, 0x02, 0x7f, 0xe5, 0x79, 0x08,
- 0x29, 0xab, 0x7e, 0x40, 0xc5, 0x12, 0x9a, 0x82, 0xfa, 0xb2, 0xbf, 0xbb,
- 0xd3, 0xdf, 0xea, 0xd6, 0x0c, 0x7a, 0xc1, 0x94, 0x80, 0xdb, 0x35, 0x4a,
- 0xe7, 0xa6, 0xde, 0xb4, 0xff, 0xbb, 0x39, 0x6e, 0x28, 0x23, 0x7c, 0x1e,
- 0x3f, 0xd0, 0xf1, 0x05, 0x8f, 0x35, 0x8f, 0x0e, 0xdf, 0x5d, 0x0c, 0xae,
- 0xb7, 0x0f, 0x2e, 0x2f, 0xae, 0xe0, 0xbf, 0xf8, 0xf7, 0x1d, 0xfa, 0xfb,
- 0x8e, 0x67, 0x55, 0xbe, 0x95, 0x0c, 0x5a, 0x2d, 0xd6, 0x21, 0x0d, 0x85,
- 0x34, 0x1a, 0xde, 0xcd, 0xc8, 0x19, 0x08, 0xf5, 0x72, 0x62, 0x83, 0x23,
- 0x53, 0xd1, 0xd8, 0x3c, 0x62, 0xe7, 0x53, 0x9a, 0x64, 0xd7, 0x8f, 0xfc,
- 0x44, 0xbe, 0xb4, 0x52, 0x6d, 0x4a, 0x6a, 0xe1, 0xb5, 0xca, 0xbe, 0xe9,
- 0xeb, 0xe6, 0x3a, 0x66, 0xa9, 0xcf, 0x51, 0xbc, 0x3a, 0xca, 0x0d, 0xab,
- 0xff, 0x6a, 0x34, 0x03, 0xed, 0x3e, 0xc1, 0x5c, 0x92, 0x71, 0xc2, 0x01,
- 0x16, 0xfc, 0x49, 0xc8, 0x30, 0x81, 0xeb, 0x27, 0x25, 0x0b, 0x5e, 0x82,
- 0x21, 0x51, 0xa4, 0x46, 0x75, 0x60, 0x36, 0x30, 0xc7, 0x14, 0x34, 0x71,
- 0xde, 0x8e, 0x2c, 0xf1, 0x2a, 0x04, 0x18, 0x47, 0xce, 0x75, 0x62, 0x51,
- 0x91, 0x3e, 0x95, 0xdb, 0x9f, 0x5f, 0x5c, 0x47, 0xf1, 0x64, 0xa2, 0xd8,
- 0x00, 0x58, 0x96, 0x80, 0x1a, 0xeb, 0xe6, 0x82, 0x25, 0x59, 0x5c, 0x85,
- 0x52, 0x37, 0x44, 0x1f, 0xb9, 0x3e, 0x1b, 0x6c, 0xa2, 0x0b, 0x8b, 0x93,
- 0xe0, 0x06, 0xe7, 0xa7, 0xdd, 0x9a, 0xaf, 0xda, 0x4d, 0x7d, 0xd9, 0x40,
- 0x49, 0x19, 0x56, 0x28, 0x62, 0x47, 0x16, 0x5a, 0xc4, 0x19, 0x4c, 0xaa,
- 0xa3, 0x23, 0xed, 0x48, 0x35, 0x58, 0x87, 0x8e, 0xb6, 0x13, 0x69, 0xd4,
- 0x94, 0xec, 0xe2, 0xf9, 0xa2, 0x7a, 0xf4, 0xeb, 0x45, 0xc9, 0xb7, 0x81,
- 0x38, 0x2c, 0xa8, 0x74, 0x74, 0xd0, 0x2c, 0xc1, 0x65, 0xd1, 0x92, 0x3a,
- 0x7d, 0x1e, 0x76, 0xa7, 0x43, 0xa3, 0xd2, 0xa0, 0xf0, 0x77, 0x1c, 0x93,
- 0x88, 0x76, 0x98, 0x84, 0xd2, 0xfb, 0xf9, 0x43, 0xce, 0xe0, 0x91, 0x19,
- 0x1e, 0x26, 0x66, 0xea, 0xd4, 0x94, 0x3a, 0x90, 0xc1, 0xe4, 0x45, 0x3a,
- 0xc5, 0x3c, 0x81, 0x66, 0xe9, 0x98, 0x9d, 0x88, 0xe7, 0x99, 0x42, 0x65,
- 0xac, 0xac, 0x3a, 0x8e, 0x2b, 0xa1, 0xf2, 0x12, 0xf4, 0x29, 0x6d, 0xb4,
- 0x50, 0x93, 0x46, 0xa7, 0x83, 0xfc, 0xa7, 0x0a, 0xe8, 0xf1, 0xac, 0xec,
- 0xc1, 0xea, 0x50, 0xee, 0xd8, 0x20, 0x90, 0x96, 0xfe, 0xe8, 0x5d, 0x22,
- 0x24, 0x9c, 0xd3, 0x4a, 0x19, 0x38, 0x87, 0x8d, 0x9a, 0xc3, 0x31, 0x62,
- 0x1b, 0x70, 0x04, 0xad, 0xfa, 0xe8, 0x6c, 0xef, 0xbc, 0xec, 0x6f, 0xc1,
- 0xff, 0xc1, 0xa1, 0x88, 0x7e, 0x44, 0x70, 0x51, 0x16, 0x16, 0xc8, 0x3c,
- 0x99, 0x3c, 0x34, 0x49, 0x92, 0x05, 0x50, 0x5e, 0x4c, 0x3b, 0x2b, 0x6b,
- 0x58, 0x6b, 0x22, 0x05, 0x0f, 0xd2, 0x88, 0x93, 0x78, 0x2c, 0x3f, 0xd1,
- 0x3b, 0x5e, 0x2c, 0x67, 0x81, 0xb4, 0x3e, 0xc7, 0x8d, 0x8c, 0xda, 0xd9,
- 0xec, 0x4e, 0x9c, 0xc8, 0xef, 0x90, 0x37, 0x71, 0x1d, 0x5f, 0xbf, 0x96,
- 0x14, 0xf5, 0xaa, 0xe6, 0x13, 0x3c, 0x16, 0x93, 0x8d, 0x38, 0x73, 0x0f,
- 0x2e, 0xc3, 0x61, 0x3e, 0x99, 0x94, 0x49, 0xd5, 0x14, 0x40, 0xc7, 0xf2,
- 0xc8, 0xe6, 0x15, 0x01, 0x1c, 0x12, 0xa7, 0xd2, 0x8a, 0x9b, 0xa8, 0x0e,
- 0xcb, 0x13, 0x49, 0x16, 0x1a, 0xb3, 0x2d, 0x1e, 0xae, 0x1f, 0x28, 0x32,
- 0x70, 0x7f, 0xaf, 0x19, 0x22, 0x5c, 0x15, 0xaf, 0x60, 0x2f, 0x54, 0x6e,
- 0xc5, 0x38, 0x2e, 0x22, 0xe9, 0x9a, 0xa8, 0x6c, 0x7a, 0x25, 0x6e, 0xd3,
- 0xc5, 0x02, 0xcd, 0x1b, 0x46, 0x38, 0x23, 0xb2, 0x35, 0x01, 0x34, 0x8a,
- 0xe3, 0x12, 0x29, 0x6b, 0xb6, 0x20, 0x28, 0xc9, 0x23, 0x91, 0xf9, 0xc3,
- 0x64, 0xe2, 0x07, 0x81, 0x38, 0xa9, 0xd1, 0x85, 0xb5, 0x91, 0x1a, 0xdd,
- 0x31, 0x42, 0xd8, 0x64, 0xb1, 0xb2, 0x98, 0x89, 0x03, 0xf8, 0x20, 0xc5,
- 0x7f, 0xdd, 0xc0, 0xfd, 0xb7, 0xc5, 0x59, 0xc6, 0x0f, 0x37, 0x38, 0xfd,
- 0x9f, 0x27, 0x16, 0x84, 0xc8, 0xa0, 0xfc, 0x70, 0xb9, 0x4b, 0xa8, 0x78,
- 0x08, 0x6e, 0x61, 0xef, 0x18, 0xce, 0xab, 0x43, 0x53, 0xb1, 0xa9, 0x26,
- 0x79, 0xa3, 0x1c, 0x83, 0xec, 0x1e, 0xd4, 0x24, 0x48, 0x1b, 0xda, 0xc4,
- 0xba, 0x7f, 0x4f, 0x34, 0x30, 0x46, 0x25, 0xfb, 0x17, 0x65, 0x8d, 0x74,
- 0x3b, 0x2a, 0xa9, 0x9a, 0x73, 0x6b, 0x4e, 0x44, 0x59, 0xdc, 0x4c, 0x33,
- 0x54, 0x19, 0x59, 0x81, 0xf1, 0x4a, 0x32, 0xb4, 0x0e, 0x96, 0xd1, 0x4e,
- 0x96, 0xd5, 0xef, 0x18, 0x3b, 0x29, 0x90, 0x7e, 0x09, 0xc6, 0xce, 0x21,
- 0xea, 0x11, 0x13, 0x35, 0x62, 0x75, 0xf6, 0xfe, 0x0a, 0x56, 0xf6, 0xa1,
- 0xba, 0x29, 0xda, 0x80, 0x01, 0xd4, 0xa9, 0x81, 0x45, 0x14, 0x64, 0x84,
- 0x11, 0x6d, 0x18, 0x7c, 0x1a, 0xdd, 0x6a, 0x86, 0xd5, 0x89, 0x49, 0x97,
- 0x21, 0x20, 0xd0, 0xe6, 0x9d, 0x9f, 0x10, 0xe8, 0x8d, 0x53, 0xfe, 0x6d,
- 0x6a, 0x27, 0xfb, 0x18, 0xa5, 0x9a, 0xf1, 0x08, 0x25, 0x27, 0x56, 0xca,
- 0x18, 0x6a, 0x34, 0xa4, 0x9e, 0xcc, 0x4d, 0xb3, 0x1e, 0x17, 0x57, 0xeb,
- 0xb3, 0x14, 0x4c, 0x43, 0xd4, 0x36, 0x21, 0x47, 0x3e, 0x22, 0x36, 0xc3,
- 0x2b, 0x49, 0xac, 0x20, 0xb5, 0x96, 0x3e, 0x1b, 0x72, 0xa3, 0xb3, 0x2f,
- 0x92, 0x1c, 0x88, 0xfc, 0x71, 0x74, 0x90, 0xdd, 0x82, 0xee, 0x9c, 0x75,
- 0xf1, 0xa7, 0x54, 0x88, 0x6a, 0x2e, 0x19, 0xfb, 0x36, 0xaa, 0x84, 0x83,
- 0x16, 0x49, 0x40, 0x97, 0x75, 0x9e, 0x95, 0x47, 0x1d, 0x37, 0xca, 0x79,
- 0x52, 0x49, 0xea, 0x08, 0x4f, 0x5e, 0x6b, 0xb3, 0xa8, 0xbe, 0xeb, 0x74,
- 0xd2, 0x18, 0x8e, 0xe0, 0xe2, 0x92, 0xaa, 0x5e, 0xad, 0x2f, 0x31, 0x5c,
- 0xc6, 0xc8, 0x42, 0x5f, 0x68, 0x17, 0xae, 0x41, 0x47, 0xfd, 0xb2, 0xbc,
- 0x82, 0x70, 0xea, 0x82, 0x4e, 0x07, 0xdd, 0x44, 0xd5, 0x38, 0x44, 0x93,
- 0xac, 0xfb, 0xea, 0x85, 0x14, 0xe8, 0x40, 0x37, 0x1d, 0x02, 0x41, 0xd0,
- 0x28, 0x7a, 0x6f, 0xbf, 0xa6, 0x89, 0x2b, 0x81, 0xaa, 0x42, 0xa7, 0xaa,
- 0x14, 0x53, 0x68, 0x8a, 0xb1, 0x7a, 0x46, 0x74, 0xa2, 0xc0, 0x85, 0xc5,
- 0x2e, 0xba, 0x8f, 0x89, 0xd2, 0xcc, 0xf8, 0xa1, 0xda, 0x07, 0x27, 0xff,
- 0xb1, 0x37, 0xb4, 0xe4, 0x6c, 0xe1, 0x73, 0x82, 0x69, 0x4a, 0xf2, 0x10,
- 0xd2, 0x3c, 0x08, 0x96, 0xb5, 0xca, 0x29, 0x2e, 0x25, 0x44, 0x1a, 0xb3,
- 0x29, 0xbc, 0x85, 0xf7, 0x37, 0xf9, 0x2c, 0x09, 0x85, 0x48, 0x9c, 0x92,
- 0x5f, 0x02, 0x77, 0xc1, 0xb4, 0x5e, 0xf2, 0x36, 0xdf, 0x51, 0xc6, 0x70,
- 0x2d, 0x74, 0x02, 0xfa, 0x5d, 0x12, 0x63, 0xc1, 0x91, 0x49, 0x9a, 0xbf,
- 0xeb, 0x7a, 0x69, 0xec, 0x70, 0xcf, 0x87, 0x79, 0x69, 0xe8, 0x05, 0x0b,
- 0x6b, 0x51, 0x82, 0xdc, 0xc7, 0x05, 0x31, 0x66, 0x41, 0xc9, 0x52, 0x00,
- 0x51, 0x37, 0x67, 0x10, 0x55, 0xc1, 0x66, 0xbd, 0x43, 0x8a, 0xc5, 0xe8,
- 0x40, 0x26, 0xa0, 0x00, 0xa0, 0x9b, 0x96, 0x68, 0x07, 0x87, 0x14, 0xfc,
- 0xab, 0x1b, 0x82, 0xc2, 0x95, 0x8a, 0x75, 0xb8, 0x87, 0x37, 0x28, 0xd3,
- 0xd3, 0x6a, 0x19, 0x57, 0xcf, 0x4b, 0xd8, 0x6e, 0xe3, 0x4d, 0xcc, 0x9c,
- 0xdc, 0x7c, 0xd4, 0x36, 0xcc, 0x86, 0x96, 0x28, 0xa2, 0x7b, 0x90, 0x87,
- 0x78, 0xd7, 0xfe, 0xeb, 0x09, 0xc6, 0x74, 0x49, 0x88, 0x7e, 0x37, 0x75,
- 0x48, 0x28, 0xaa, 0xc9, 0x15, 0x79, 0xa2, 0x95, 0x6f, 0x3c, 0xa6, 0x8a,
- 0xfb, 0xd3, 0x40, 0xa0, 0x9f, 0xa2, 0x63, 0x30, 0x9d, 0xd9, 0xa3, 0x1d,
- 0xd0, 0x29, 0x99, 0xd5, 0x0c, 0x6f, 0x07, 0x2e, 0xcf, 0x7c, 0xc1, 0xcb,
- 0x5a, 0xea, 0x0c, 0x40, 0x05, 0xe7, 0x6f, 0x1e, 0x74, 0x14, 0x7d, 0xd4,
- 0xc0, 0x29, 0x09, 0x17, 0x91, 0xa2, 0x2d, 0xad, 0xff, 0x50, 0x5f, 0x3d,
- 0x5e, 0xff, 0xe6, 0x70, 0x08, 0xc5, 0xbd, 0xfd, 0xfa, 0xbb, 0xa3, 0xb3,
- 0x0f, 0x27, 0xdb, 0x5f, 0x44, 0xf8, 0xaf, 0x1d, 0xfe, 0xd7, 0x4e, 0x27,
- 0x74, 0x5c, 0xc0, 0xa8, 0xd6, 0x5e, 0xaf, 0x45, 0xe5, 0xe3, 0x7c, 0x98,
- 0xcf, 0xcc, 0x81, 0xc9, 0x56, 0x68, 0x20, 0xad, 0x2b, 0x52, 0xdc, 0x94,
- 0x6e, 0x8b, 0xab, 0xbc, 0xc9, 0xb2, 0x4b, 0x49, 0x3a, 0x54, 0x76, 0x43,
- 0x11, 0x3c, 0xb7, 0x96, 0xb8, 0xa2, 0x4a, 0x6b, 0xe5, 0x61, 0x12, 0xcb,
- 0x6b, 0x4b, 0x04, 0x25, 0xa1, 0xa4, 0x17, 0xbb, 0x0c, 0x70, 0x0e, 0x16,
- 0x2f, 0x16, 0xd2, 0xd9, 0x65, 0x18, 0x7e, 0xb6, 0x19, 0x70, 0x27, 0xba,
- 0x52, 0x06, 0x77, 0x9a, 0x5f, 0x17, 0x03, 0x01, 0xd1, 0x38, 0x1e, 0x05,
- 0x7f, 0x60, 0xad, 0x48, 0x0c, 0xeb, 0xa5, 0x55, 0xe3, 0xbb, 0xcd, 0xe1,
- 0x86, 0xa2, 0xbb, 0x38, 0xd0, 0x5c, 0x67, 0x88, 0x06, 0xd6, 0xd3, 0xf4,
- 0x0c, 0xeb, 0xea, 0x40, 0x63, 0x74, 0x8c, 0x9a, 0xb5, 0xfa, 0x33, 0x22,
- 0x07, 0xfc, 0xd9, 0xc0, 0x48, 0x0a, 0x0e, 0x63, 0x54, 0x0b, 0x09, 0xb2,
- 0xaf, 0xd9, 0x87, 0x5e, 0x61, 0x20, 0x18, 0xd8, 0x1c, 0x4a, 0x37, 0x99,
- 0x7b, 0xd9, 0x59, 0x19, 0x68, 0x92, 0xeb, 0xc0, 0xde, 0x37, 0x5c, 0x4c,
- 0x10, 0x3d, 0x3e, 0x71, 0x4b, 0x54, 0x26, 0xa2, 0xda, 0x12, 0x2b, 0xb8,
- 0xbe, 0xa9, 0x09, 0x1a, 0x55, 0xf9, 0xb4, 0xc0, 0x99, 0xe3, 0xb3, 0x22,
- 0x39, 0x78, 0x18, 0x26, 0x53, 0xcc, 0xde, 0x9c, 0xc5, 0x1e, 0x12, 0x0d,
- 0xdd, 0x35, 0x85, 0xc3, 0xc0, 0x40, 0xbf, 0x21, 0x7c, 0xf8, 0xfe, 0xe3,
- 0x2c, 0xd9, 0x50, 0xc3, 0x40, 0x85, 0xdd, 0xe6, 0xfb, 0xfc, 0xef, 0x30,
- 0xef, 0x58, 0x3e, 0x12, 0x92, 0x99, 0x22, 0x02, 0x5b, 0x67, 0x6e, 0xf9,
- 0x0b, 0x97, 0x89, 0xbb, 0x5c, 0xa3, 0x66, 0x1b, 0x53, 0x10, 0x18, 0xf5,
- 0x32, 0x4a, 0xd5, 0xf6, 0x48, 0x47, 0xb4, 0x0b, 0x4f, 0x42, 0x3b, 0x78,
- 0x33, 0x40, 0xca, 0xb9, 0x64, 0xe8, 0x18, 0x12, 0x13, 0xb1, 0xd3, 0x64,
- 0xe1, 0x4d, 0x9d, 0xaa, 0x45, 0x10, 0x9d, 0x3c, 0x24, 0xc5, 0x08, 0xa1,
- 0x26, 0x46, 0xa0, 0x97, 0x12, 0x3f, 0x9d, 0x88, 0x7b, 0x0a, 0x73, 0xa9,
- 0x24, 0x2b, 0xbe, 0x8e, 0x0b, 0x43, 0xe2, 0x57, 0xe9, 0xac, 0x95, 0xc4,
- 0x28, 0xf7, 0x61, 0x04, 0x84, 0xd1, 0x37, 0x10, 0x78, 0x2a, 0x20, 0xeb,
- 0xec, 0x43, 0x8b, 0xcc, 0x28, 0x9c, 0xe0, 0x65, 0xec, 0xd1, 0x0e, 0xeb,
- 0x8b, 0xce, 0x69, 0x0a, 0xb9, 0xd0, 0x5c, 0x18, 0xd0, 0xcc, 0x46, 0x87,
- 0x10, 0x2a, 0x80, 0x70, 0xa1, 0xda, 0xd3, 0x13, 0xcd, 0xe9, 0x10, 0x7e,
- 0x07, 0x45, 0x4b, 0xb2, 0x47, 0x45, 0x93, 0x5a, 0x27, 0xb1, 0xc9, 0xca,
- 0xa1, 0x62, 0x0e, 0x92, 0xe6, 0xe5, 0x17, 0x23, 0xcf, 0xf2, 0x7b, 0x8c,
- 0xc1, 0xd4, 0x11, 0x40, 0x15, 0xec, 0x87, 0x73, 0xea, 0x98, 0x2f, 0xf7,
- 0x50, 0x57, 0xe2, 0xcf, 0xf6, 0x35, 0x5a, 0x1b, 0xa4, 0x00, 0x2d, 0xa7,
- 0x6d, 0x56, 0x22, 0xc5, 0x36, 0x83, 0xa2, 0x62, 0x67, 0x32, 0xeb, 0x17,
- 0x16, 0x80, 0x2b, 0x24, 0xd8, 0x68, 0xc5, 0xc3, 0xbc, 0xba, 0x71, 0xf2,
- 0x50, 0x11, 0xd4, 0x0f, 0xfd, 0x3c, 0x93, 0x65, 0x45, 0x46, 0x80, 0x9a,
- 0x81, 0x95, 0xa4, 0x1a, 0x8b, 0xb3, 0xc8, 0xcb, 0x7a, 0xb8, 0x45, 0xf0,
- 0x37, 0x5c, 0xa2, 0x01, 0xb0, 0xc5, 0x04, 0xda, 0x8c, 0x32, 0xc5, 0x91,
- 0x2e, 0xc1, 0x00, 0x26, 0x7c, 0x41, 0xf8, 0x26, 0x26, 0x2a, 0x95, 0x25,
- 0x62, 0xc9, 0x51, 0x4a, 0x2a, 0x6c, 0xac, 0x07, 0x39, 0x41, 0x20, 0x49,
- 0x99, 0x7b, 0xa4, 0xeb, 0x0c, 0x7f, 0x63, 0x81, 0x9b, 0x18, 0x17, 0x03,
- 0xad, 0xf6, 0xa1, 0x1c, 0x4d, 0x49, 0xf7, 0x17, 0xe9, 0x21, 0xe0, 0x14,
- 0x31, 0xfa, 0x6b, 0xcb, 0x85, 0xfd, 0x97, 0x8d, 0x1a, 0xcf, 0xc8, 0x2b,
- 0x4a, 0x06, 0xd0, 0x25, 0x08, 0x62, 0x93, 0x18, 0x4f, 0xdb, 0xed, 0x33,
- 0xae, 0xd8, 0xc6, 0xdf, 0x42, 0x71, 0xde, 0xe5, 0x62, 0x4c, 0x6a, 0x9f,
- 0xbe, 0x43, 0x8a, 0x92, 0x03, 0x84, 0x59, 0xe6, 0x72, 0x1b, 0x69, 0x78,
- 0x64, 0x32, 0x96, 0xcb, 0x84, 0x40, 0x72, 0x9a, 0xf7, 0xdf, 0x0d, 0xb0,
- 0xd4, 0x90, 0xda, 0xd8, 0x87, 0x33, 0x77, 0x79, 0x03, 0xbc, 0x48, 0xc2,
- 0xb7, 0x07, 0xb4, 0x5f, 0x86, 0x02, 0x95, 0x2a, 0xc0, 0x81, 0xc3, 0xff,
- 0x75, 0x99, 0x8d, 0x1a, 0x32, 0x2a, 0xef, 0x3a, 0x78, 0x9c, 0x12, 0x95,
- 0x35, 0x12, 0xa2, 0x49, 0xf4, 0xf4, 0x21, 0x81, 0xbf, 0xc1, 0x8a, 0x50,
- 0xac, 0xde, 0x40, 0xf1, 0x36, 0x73, 0x4a, 0x68, 0x6f, 0x52, 0x38, 0xa1,
- 0x62, 0x74, 0x43, 0x48, 0x02, 0xe4, 0x47, 0x4a, 0xd4, 0x39, 0xea, 0x29,
- 0xc2, 0xe2, 0xf9, 0xa7, 0x61, 0x45, 0x17, 0x4b, 0x91, 0x1d, 0x21, 0x5a,
- 0x48, 0x9e, 0x29, 0x93, 0x6e, 0x9b, 0xa7, 0x9f, 0xd9, 0x75, 0x83, 0x7b,
- 0x9e, 0xcc, 0x4a, 0x2b, 0x20, 0xcd, 0x3b, 0x56, 0x52, 0x92, 0x11, 0x9e,
- 0x91, 0x4f, 0x96, 0x45, 0x71, 0x1a, 0xbc, 0xe1, 0x34, 0x13, 0x50, 0x73,
- 0x64, 0x32, 0x68, 0x57, 0x22, 0x9d, 0x3c, 0x2a, 0xc6, 0x8c, 0x8c, 0xd0,
- 0x84, 0x99, 0xf1, 0x24, 0x4f, 0x6e, 0xf6, 0x4d, 0x00, 0x6c, 0x74, 0xab,
- 0x52, 0xc5, 0x5b, 0x67, 0x52, 0x41, 0x47, 0x06, 0x96, 0x4f, 0x53, 0x1f,
- 0x10, 0x8c, 0x7f, 0xf5, 0x7a, 0x93, 0xca, 0x4b, 0xd7, 0x72, 0xce, 0xba,
- 0x4e, 0x02, 0xb3, 0x89, 0x60, 0xf4, 0xbc, 0x57, 0x34, 0xbe, 0x3b, 0xac,
- 0xe1, 0x89, 0xce, 0xde, 0xb2, 0x17, 0xef, 0xf8, 0x0a, 0xff, 0x96, 0x1a,
- 0x84, 0x22, 0xaa, 0xc3, 0xa5, 0xc6, 0x1e, 0x9c, 0x20, 0xfb, 0xfe, 0xbb,
- 0x66, 0x19, 0xe6, 0xfa, 0xc5, 0x60, 0x73, 0xf7, 0xd5, 0xd6, 0x46, 0x20,
- 0x67, 0x19, 0xbe, 0xe1, 0xe2, 0x14, 0xee, 0x6d, 0xf5, 0xb7, 0x36, 0x1a,
- 0xb3, 0xc1, 0xed, 0x5e, 0x01, 0xa0, 0xa2, 0xe8, 0xea, 0x46, 0x68, 0x50,
- 0x32, 0xb2, 0x2d, 0xd6, 0x92, 0xbc, 0x69, 0xb7, 0x98, 0xf4, 0x2a, 0xb9,
- 0x03, 0x52, 0x0b, 0xe6, 0xaf, 0x9d, 0xa5, 0xa5, 0x18, 0x36, 0x28, 0xc9,
- 0x54, 0xb6, 0x60, 0xb5, 0x76, 0x3d, 0x27, 0x98, 0x1e, 0x41, 0x61, 0xc9,
- 0xb9, 0x0e, 0x81, 0x68, 0x4b, 0x09, 0x93, 0x2a, 0x28, 0x31, 0x8f, 0x62,
- 0xfa, 0x9f, 0xdc, 0xd9, 0x72, 0x54, 0x43, 0x7b, 0x7c, 0xe9, 0x9e, 0x29,
- 0x6a, 0xfa, 0xbd, 0xb8, 0x1c, 0xa5, 0x29, 0xdb, 0x33, 0x2d, 0x66, 0x8c,
- 0x66, 0x3c, 0x12, 0x86, 0x1c, 0x55, 0x52, 0xa7, 0x31, 0x87, 0x6a, 0x2d,
- 0x50, 0xa9, 0x37, 0x2c, 0x2a, 0xab, 0x40, 0x62, 0xab, 0xc6, 0x15, 0x1b,
- 0x1e, 0x9b, 0xb5, 0x08, 0xb6, 0xb2, 0xd1, 0x2f, 0xcb, 0xa6, 0x1a, 0x05,
- 0x77, 0x81, 0xe1, 0xca, 0x16, 0x85, 0x5f, 0xdf, 0x87, 0xb9, 0x99, 0x94,
- 0xf1, 0x1c, 0x57, 0x65, 0x8e, 0xfb, 0x14, 0xda, 0x54, 0xf2, 0x50, 0x10,
- 0x3a, 0xad, 0x31, 0xa0, 0xcc, 0xdd, 0x97, 0x7c, 0xa0, 0xaf, 0xba, 0x36,
- 0x5d, 0xa7, 0x66, 0x00, 0xc5, 0x01, 0x45, 0x90, 0xc1, 0xf5, 0x23, 0x0a,
- 0x8f, 0x73, 0x25, 0x15, 0x2e, 0x44, 0x5a, 0x4c, 0x90, 0xdb, 0x83, 0x73,
- 0x44, 0xa4, 0xc1, 0x04, 0xc2, 0x10, 0x99, 0xdd, 0x0a, 0x80, 0x4b, 0x75,
- 0x61, 0x7d, 0x04, 0xdd, 0x49, 0x14, 0x94, 0x25, 0xf7, 0xc8, 0x8d, 0x4b,
- 0x51, 0x25, 0x8a, 0x22, 0x45, 0xbf, 0x91, 0x49, 0x2e, 0x60, 0x75, 0x0c,
- 0xb3, 0x30, 0x51, 0x38, 0x8f, 0x03, 0xb5, 0xdd, 0x23, 0xba, 0x9d, 0xa5,
- 0xc9, 0xd9, 0xce, 0x08, 0x7e, 0x12, 0xf1, 0xe5, 0xbc, 0xbd, 0xa1, 0xfe,
- 0x00, 0x34, 0x39, 0x05, 0x9d, 0xad, 0xea, 0xe9, 0x1f, 0xa8, 0xb5, 0x73,
- 0x7e, 0x33, 0xc3, 0x9b, 0xe5, 0x35, 0x03, 0xb3, 0x6c, 0x0f, 0x97, 0x6c,
- 0x3e, 0xf4, 0xee, 0xef, 0xef, 0x7b, 0x78, 0xe1, 0x30, 0x27, 0x47, 0xca,
- 0x2c, 0xfa, 0x35, 0xf0, 0x68, 0xb2, 0x2b, 0xd9, 0xe4, 0x44, 0x26, 0xe2,
- 0xc7, 0x37, 0x9c, 0x14, 0xa9, 0x62, 0x98, 0x56, 0x54, 0xcf, 0x27, 0xc4,
- 0x45, 0xaf, 0x49, 0x5d, 0x9d, 0x4c, 0x87, 0x34, 0x1c, 0x75, 0x44, 0x05,
- 0x6e, 0x9f, 0x5d, 0x0b, 0xc2, 0x4f, 0x8d, 0xaa, 0x04, 0xeb, 0xd7, 0xe1,
- 0x13, 0xf3, 0x83, 0xa8, 0xf7, 0x2e, 0xea, 0x1c, 0xcb, 0x6a, 0xaf, 0xe1,
- 0x89, 0x83, 0xfa, 0x5a, 0xf8, 0x61, 0x3f, 0x98, 0x03, 0xef, 0x76, 0x9e,
- 0x07, 0x9f, 0xd8, 0x7a, 0x91, 0xa9, 0xbb, 0x8a, 0xcd, 0x9a, 0xa9, 0x02,
- 0xce, 0x3a, 0x4c, 0x7b, 0x61, 0xb7, 0x16, 0x63, 0x9e, 0xd1, 0xd2, 0xe3,
- 0x52, 0x3a, 0xf1, 0x0c, 0xf9, 0x86, 0xaf, 0xb8, 0x8e, 0x45, 0x7c, 0xff,
- 0xf4, 0x1d, 0x77, 0x6e, 0xa2, 0x50, 0xef, 0x8c, 0x5c, 0x5d, 0x0e, 0x1e,
- 0x31, 0xfa, 0x77, 0x4c, 0x12, 0x66, 0x60, 0xa6, 0xd2, 0x07, 0xc3, 0x16,
- 0x53, 0xb1, 0x61, 0x2a, 0x7a, 0xe9, 0x57, 0x2b, 0xea, 0xd0, 0xac, 0x53,
- 0xd8, 0xae, 0xa2, 0x16, 0xf9, 0x68, 0xc0, 0x9a, 0xd2, 0xb2, 0x0c, 0x55,
- 0x3d, 0x83, 0xd1, 0xd8, 0xd5, 0x75, 0xcd, 0xe5, 0x14, 0x5a, 0x66, 0xc7,
- 0x9e, 0xb3, 0x4c, 0x41, 0xc0, 0x0d, 0xa5, 0x77, 0x72, 0x9c, 0x03, 0xaf,
- 0xaa, 0x02, 0x94, 0x89, 0xcb, 0x2a, 0x29, 0x90, 0xd0, 0x29, 0x0b, 0xbe,
- 0xa7, 0x29, 0xcc, 0x21, 0x61, 0x0d, 0x0c, 0xe5, 0xf8, 0x9b, 0x53, 0xca,
- 0xe6, 0x06, 0x46, 0x9a, 0x09, 0x88, 0x03, 0xcf, 0x9f, 0x5b, 0x1e, 0x19,
- 0xa3, 0x76, 0x8a, 0xac, 0x84, 0x4b, 0x22, 0xe3, 0x28, 0x04, 0x80, 0xaa,
- 0x36, 0x47, 0xa4, 0xc6, 0x85, 0x24, 0xad, 0x8a, 0x8d, 0x20, 0x97, 0xd7,
- 0x84, 0x77, 0x63, 0x5b, 0x22, 0x10, 0xdc, 0x2f, 0xfa, 0xba, 0x82, 0x8d,
- 0xc4, 0xa5, 0x44, 0x70, 0x49, 0x59, 0xf3, 0xd2, 0xc7, 0x2d, 0xbd, 0x72,
- 0x0b, 0xa9, 0xc4, 0xcf, 0x7b, 0x93, 0xcf, 0x87, 0x3b, 0xbc, 0xd1, 0x99,
- 0x34, 0x3c, 0x29, 0x66, 0xeb, 0x12, 0xd7, 0x63, 0xc0, 0xb5, 0x58, 0xe8,
- 0x4b, 0x0b, 0x79, 0x6e, 0x4d, 0x62, 0x24, 0x30, 0xe3, 0xff, 0x40, 0x09,
- 0x45, 0x72, 0x17, 0x78, 0x1e, 0x6a, 0x1e, 0x5a, 0x2f, 0xe9, 0x8e, 0xa6,
- 0x50, 0x7e, 0x92, 0x10, 0x1b, 0x1e, 0x0e, 0xed, 0xbf, 0xd7, 0xa8, 0x2d,
- 0x7d, 0x25, 0x8e, 0x2a, 0xcc, 0x83, 0x2f, 0x1d, 0x6b, 0x44, 0x8a, 0x65,
- 0x69, 0xee, 0x5a, 0x23, 0x84, 0xdb, 0x10, 0x1e, 0x8e, 0x23, 0x9c, 0xce,
- 0xee, 0x31, 0xc5, 0x21, 0xec, 0x7c, 0xc9, 0x6d, 0xc4, 0xfe, 0xd0, 0xdc,
- 0xbc, 0xd7, 0x4f, 0xef, 0xde, 0x2f, 0xdd, 0xbe, 0xd5, 0xbb, 0xc7, 0xed,
- 0x1b, 0x34, 0x59, 0xf6, 0xb5, 0xe3, 0xa0, 0xa3, 0x64, 0x0f, 0xb6, 0xbe,
- 0x8c, 0xa3, 0xae, 0xce, 0x65, 0x1c, 0x23, 0xf3, 0xf5, 0x6f, 0x75, 0xea,
- 0x44, 0x8c, 0x64, 0xd1, 0xe3, 0xe4, 0xc3, 0xc3, 0x71, 0x58, 0x91, 0xce,
- 0xde, 0xc5, 0x5e, 0x14, 0x3d, 0x9c, 0x46, 0x10, 0xfc, 0xe2, 0x51, 0xc5,
- 0xc4, 0x3c, 0xa4, 0x34, 0xcf, 0x5e, 0x78, 0x38, 0x2d, 0x04, 0x14, 0x45,
- 0xdc, 0x5b, 0xdf, 0x57, 0x2a, 0xf8, 0x9f, 0xbf, 0x38, 0x4a, 0x2b, 0xb2,
- 0x2d, 0x03, 0xdd, 0x8c, 0x10, 0x0e, 0xc1, 0xac, 0xfb, 0x7e, 0x43, 0xbd,
- 0x3e, 0x02, 0x03, 0xc9, 0x2d, 0xa4, 0x54, 0x25, 0xd8, 0xe8, 0xd6, 0x37,
- 0x0c, 0xa1, 0xee, 0x48, 0x18, 0xe8, 0x29, 0xa7, 0xad, 0x67, 0xac, 0x67,
- 0x87, 0x6d, 0x19, 0x82, 0x67, 0xf7, 0x7f, 0xd3, 0xfa, 0x88, 0x9e, 0x2d,
- 0x19, 0x60, 0x84, 0xa1, 0x64, 0x0c, 0x6f, 0x4a, 0xba, 0x8f, 0xa8, 0x5a,
- 0x01, 0x45, 0x7c, 0xcb, 0xec, 0x08, 0x7d, 0x00, 0x95, 0x22, 0x8c, 0xb7,
- 0xce, 0x04, 0x2e, 0x94, 0x61, 0xde, 0x5f, 0x5b, 0x65, 0xa6, 0x87, 0x8b,
- 0xec, 0x09, 0xc9, 0xf6, 0x89, 0x08, 0x57, 0x50, 0xaa, 0xa1, 0xcc, 0x30,
- 0x51, 0x7a, 0xe4, 0xd7, 0x2e, 0x1a, 0x15, 0x5f, 0x55, 0x64, 0x7b, 0x4d,
- 0x52, 0x6e, 0x7f, 0x5e, 0x93, 0x94, 0xf6, 0x9d, 0x55, 0x32, 0x72, 0x90,
- 0x70, 0x42, 0x9a, 0xeb, 0xc0, 0xa4, 0x97, 0xb8, 0xca, 0x1a, 0x1b, 0x79,
- 0xf8, 0xa9, 0x4d, 0xf8, 0xaa, 0x57, 0x74, 0xcc, 0xb9, 0x45, 0x4e, 0xed,
- 0x24, 0x25, 0x98, 0x63, 0xd4, 0x4c, 0xac, 0xa3, 0x68, 0x58, 0xe4, 0xf7,
- 0x25, 0xa9, 0xa3, 0x6a, 0xa0, 0xc6, 0x9c, 0x02, 0x7b, 0xe3, 0x95, 0x44,
- 0xc3, 0xf6, 0xce, 0x0c, 0x0e, 0xec, 0xbb, 0xeb, 0xf7, 0x67, 0xdc, 0xd8,
- 0x81, 0xab, 0x73, 0xb1, 0x08, 0x49, 0xe6, 0xbc, 0x1c, 0xce, 0xc1, 0x92,
- 0x06, 0xed, 0xa4, 0x62, 0x56, 0xa6, 0xdc, 0xd1, 0x2b, 0x21, 0xa6, 0x90,
- 0x9e, 0x04, 0x84, 0x17, 0xa1, 0xf8, 0x8c, 0x28, 0x92, 0x0e, 0x0e, 0x95,
- 0xa3, 0x01, 0xff, 0x72, 0x5d, 0x17, 0xec, 0x64, 0xca, 0x88, 0x21, 0x3d,
- 0xea, 0x2d, 0x1e, 0x05, 0x3e, 0xe2, 0xdd, 0x3e, 0x47, 0x4d, 0xa3, 0xfe,
- 0x63, 0x04, 0x29, 0x6d, 0x3c, 0x34, 0xa8, 0x75, 0x99, 0xe6, 0x23, 0x84,
- 0x9a, 0x15, 0xd7, 0x35, 0x2d, 0xaf, 0xac, 0xd6, 0x68, 0x5e, 0xb6, 0x8d,
- 0x88, 0xab, 0x7c, 0xa1, 0x1e, 0x82, 0xfa, 0x90, 0x04, 0x92, 0x96, 0x05,
- 0x3a, 0xf3, 0x58, 0xab, 0xee, 0x06, 0x72, 0xee, 0x45, 0x21, 0x51, 0x6f,
- 0xbe, 0x09, 0x6d, 0xd6, 0x4c, 0x3d, 0xed, 0x97, 0x80, 0x63, 0x3b, 0x37,
- 0x38, 0xa0, 0x24, 0x32, 0x42, 0x15, 0x15, 0x53, 0xd0, 0x69, 0x02, 0xb1,
- 0xc1, 0xe8, 0xd4, 0x0e, 0x2c, 0x26, 0xe7, 0xb8, 0xa7, 0xde, 0x05, 0x15,
- 0x6c, 0xdb, 0x4c, 0xa4, 0xb4, 0xfd, 0x23, 0xd4, 0x5e, 0x26, 0xa0, 0x2e,
- 0x82, 0xe6, 0xa2, 0x06, 0x12, 0x79, 0xdd, 0xdf, 0xe5, 0xfb, 0x1f, 0xc5,
- 0xff, 0xd5, 0x75, 0xc2, 0x6b, 0x29, 0x7a, 0xa0, 0xdc, 0x78, 0xa1, 0x8d,
- 0xac, 0xcf, 0x93, 0x62, 0xca, 0x65, 0x08, 0x0c, 0x09, 0x1b, 0x44, 0xb1,
- 0x88, 0x23, 0x07, 0xa5, 0x2d, 0x8a, 0xfe, 0x47, 0x8f, 0x25, 0x2a, 0xb9,
- 0xaa, 0x96, 0x58, 0xff, 0x22, 0xfe, 0xf4, 0xb5, 0xde, 0x98, 0xd9, 0xca,
- 0x38, 0xce, 0x60, 0x27, 0xe0, 0xc6, 0xfa, 0xf9, 0x31, 0xb3, 0xd9, 0xeb,
- 0x59, 0xbe, 0x2c, 0x1f, 0xd7, 0x22, 0xe9, 0xe5, 0x23, 0xed, 0x2f, 0x2a,
- 0xc9, 0xe5, 0xc1, 0xb3, 0x84, 0xf3, 0x5d, 0x66, 0xb7, 0x2a, 0x14, 0xb1,
- 0x52, 0xa1, 0x64, 0x47, 0x6d, 0x63, 0xb8, 0x35, 0xe7, 0x63, 0xff, 0xc3,
- 0x1d, 0x3b, 0xb8, 0xcb, 0xe4, 0xfe, 0x67, 0xc3, 0xf9, 0x79, 0x96, 0xb3,
- 0x0d, 0xc9, 0x84, 0xcc, 0xe6, 0xa8, 0x16, 0xa9, 0x33, 0x03, 0xa2, 0xf0,
- 0x60, 0x18, 0x5e, 0x0d, 0x39, 0xd8, 0xd4, 0x0d, 0xe2, 0x37, 0x2d, 0xc5,
- 0x27, 0x56, 0xf2, 0x70, 0x40, 0xc9, 0x22, 0xe7, 0x31, 0x84, 0x89, 0xe9,
- 0x7d, 0xe3, 0x96, 0xc0, 0xf5, 0xa3, 0x4b, 0xd8, 0x2f, 0x0f, 0x6a, 0x02,
- 0x23, 0xd9, 0x66, 0xb8, 0xb8, 0x06, 0x7a, 0x3a, 0xc9, 0xf3, 0x61, 0x5c,
- 0xac, 0xc9, 0xde, 0x13, 0xaa, 0x3a, 0x0c, 0x38, 0x66, 0xe7, 0x0b, 0x9e,
- 0x75, 0x6f, 0xdc, 0x0d, 0xde, 0x68, 0xd4, 0x19, 0xe8, 0xdd, 0xbe, 0x16,
- 0x75, 0xe8, 0xcf, 0x31, 0x40, 0x9e, 0xcf, 0xc6, 0x66, 0x2b, 0xdc, 0xaf,
- 0x06, 0x0e, 0x8d, 0x6a, 0x13, 0xac, 0x2b, 0x40, 0x3d, 0x01, 0x54, 0xde,
- 0xa2, 0xce, 0x02, 0xe3, 0xd4, 0x47, 0x14, 0x77, 0x84, 0x0d, 0xc1, 0xc4,
- 0x89, 0x30, 0x6c, 0x8b, 0x04, 0x49, 0x8c, 0x09, 0xee, 0x30, 0x07, 0x9c,
- 0x51, 0x88, 0xc7, 0x58, 0x9e, 0xe2, 0x3b, 0xdc, 0x5d, 0xf6, 0x25, 0xd9,
- 0xaa, 0x2b, 0x32, 0xdd, 0x5c, 0xae, 0xe1, 0xc8, 0x31, 0x6b, 0xcc, 0x35,
- 0x85, 0xdb, 0x0a, 0xd7, 0xae, 0xc5, 0xc5, 0x25, 0xf6, 0x2a, 0xfc, 0x95,
- 0x9d, 0x20, 0xbd, 0x53, 0xcd, 0xa2, 0xe3, 0x7f, 0x5e, 0x13, 0x62, 0x33,
- 0x39, 0x27, 0x7b, 0x01, 0xd2, 0xac, 0x59, 0x97, 0xc9, 0x2c, 0x99, 0xf2,
- 0x6a, 0x0f, 0xcf, 0x4e, 0xbe, 0x3b, 0x39, 0xf3, 0xc4, 0xe6, 0x37, 0x83,
- 0xc1, 0xe6, 0x6d, 0x52, 0x0c, 0xa9, 0x29, 0x2b, 0x06, 0x2e, 0x22, 0x7a,
- 0xce, 0x24, 0x78, 0x39, 0xb2, 0xe4, 0xde, 0x42, 0xb6, 0x48, 0xa2, 0xb7,
- 0xe7, 0xb3, 0xc1, 0x0c, 0x5e, 0xfe, 0xa4, 0xc0, 0xbc, 0x53, 0xc9, 0x91,
- 0xe4, 0x12, 0x92, 0x6c, 0x1c, 0x15, 0xc9, 0x98, 0x7b, 0x96, 0xfa, 0x59,
- 0x84, 0x84, 0xec, 0x81, 0x7d, 0x39, 0xf0, 0x50, 0x39, 0x93, 0x9c, 0x02,
- 0x58, 0x66, 0x11, 0xde, 0x1b, 0x0b, 0xaa, 0x9e, 0x8f, 0xde, 0xc8, 0x37,
- 0xa5, 0x1e, 0x15, 0x77, 0x89, 0x81, 0xdd, 0xd8, 0x4a, 0xb9, 0xf8, 0xb6,
- 0x77, 0x34, 0xe8, 0xbd, 0x39, 0x39, 0x3b, 0xf9, 0xe6, 0xe8, 0xfa, 0xc4,
- 0xe0, 0x99, 0x97, 0x49, 0x8b, 0x0a, 0x26, 0xfa, 0xd7, 0xb7, 0xb2, 0x2d,
- 0xb4, 0x7e, 0xc4, 0xc2, 0xaf, 0x52, 0x6e, 0xc8, 0xa2, 0x90, 0xff, 0xdc,
- 0x59, 0x1b, 0xad, 0xa2, 0x8a, 0xf3, 0x04, 0xc3, 0xc3, 0xc1, 0xbd, 0x98,
- 0xcd, 0x65, 0xaa, 0xde, 0x0a, 0xe2, 0xd9, 0x3d, 0x36, 0x66, 0xfb, 0x90,
- 0x61, 0x2a, 0x7d, 0x6a, 0x4a, 0x49, 0x79, 0xf5, 0xae, 0x47, 0xc8, 0xee,
- 0x6c, 0xed, 0x80, 0x09, 0x99, 0xbe, 0xc5, 0x5f, 0xa0, 0x65, 0xe0, 0x14,
- 0x3f, 0x7e, 0x43, 0x4f, 0x36, 0x30, 0xc6, 0x2d, 0x34, 0x3a, 0x32, 0x18,
- 0xf9, 0x55, 0x00, 0xb0, 0x04, 0x09, 0xa8, 0x1c, 0xdd, 0x24, 0x73, 0x51,
- 0x65, 0x31, 0x35, 0x81, 0x82, 0xe0, 0x5c, 0x53, 0x29, 0x78, 0x41, 0x9c,
- 0x42, 0x36, 0x4c, 0x18, 0x72, 0x81, 0x30, 0xd2, 0x90, 0xae, 0x43, 0xa9,
- 0xbe, 0xf7, 0xd8, 0x71, 0x00, 0x63, 0x2d, 0x98, 0xb6, 0x43, 0x05, 0xc6,
- 0x7d, 0x4a, 0x30, 0x74, 0xf2, 0x06, 0xfc, 0x3c, 0x01, 0xee, 0x1e, 0xd8,
- 0xbc, 0xb3, 0x06, 0xc0, 0xdc, 0xa0, 0xad, 0xe7, 0xe4, 0x3a, 0xa3, 0x1f,
- 0x71, 0xf3, 0x12, 0xd1, 0xb9, 0x71, 0x92, 0xbf, 0xd2, 0x51, 0x2d, 0xe5,
- 0x09, 0x52, 0x6e, 0x88, 0x6e, 0x2c, 0x32, 0x83, 0xc3, 0x59, 0xdb, 0x41,
- 0xa6, 0x21, 0xdd, 0x58, 0x9d, 0xe9, 0x32, 0x7b, 0x60, 0x68, 0xf5, 0xb1,
- 0x9c, 0x0e, 0xfd, 0x48, 0x1a, 0x11, 0x98, 0x14, 0x8f, 0xa0, 0x2b, 0xdf,
- 0x72, 0x8c, 0x7a, 0xaf, 0x02, 0xc4, 0x88, 0xd7, 0xbf, 0xfa, 0x1d, 0x25,
- 0x4c, 0xa9, 0x5d, 0x2f, 0x59, 0x78, 0x80, 0xdd, 0xeb, 0x6f, 0x15, 0x7f,
- 0xdf, 0xe8, 0x96, 0x6e, 0xaf, 0x35, 0xa7, 0x35, 0xd2, 0xc9, 0xe5, 0x15,
- 0x77, 0x57, 0x3f, 0xc3, 0xbf, 0x48, 0xe4, 0xad, 0x0c, 0xe1, 0xdf, 0x49,
- 0xf7, 0x0f, 0x4c, 0x46, 0x49, 0x28, 0x74, 0x63, 0x82, 0xe9, 0x9a, 0x8c,
- 0xc8, 0xf9, 0xa7, 0x02, 0xb4, 0x2e, 0xd7, 0x81, 0xb6, 0xd8, 0x4b, 0xfe,
- 0x37, 0x0d, 0x3a, 0x71, 0x26, 0x38, 0x05, 0x41, 0x28, 0xa2, 0x49, 0x70,
- 0x0e, 0xad, 0x06, 0x48, 0x2e, 0xf0, 0x97, 0xa8, 0x6f, 0xb2, 0x5c, 0xab,
- 0xda, 0x38, 0x2f, 0xb7, 0x40, 0x10, 0x95, 0x08, 0x87, 0xc5, 0x37, 0xa3,
- 0x82, 0xda, 0xb9, 0xc6, 0x30, 0x95, 0x7e, 0x63, 0xa9, 0xd4, 0x90, 0x0b,
- 0x61, 0x37, 0xfd, 0x78, 0x08, 0xb5, 0x22, 0x13, 0x47, 0x9c, 0x64, 0xa5,
- 0xd3, 0x82, 0x35, 0xd7, 0xbe, 0x2b, 0x39, 0x06, 0x68, 0x41, 0x50, 0xdb,
- 0x21, 0xae, 0x17, 0xa0, 0xe4, 0x03, 0x4f, 0xc3, 0x97, 0x9a, 0x04, 0xcd,
- 0x44, 0x4b, 0x1e, 0x25, 0x6c, 0xce, 0x0a, 0xe1, 0x44, 0xc2, 0x93, 0x31,
- 0x01, 0xca, 0x92, 0x69, 0x33, 0x64, 0x0d, 0x86, 0xb2, 0xfa, 0x6e, 0xe2,
- 0x2c, 0x70, 0xe7, 0x60, 0xe3, 0x4d, 0x4f, 0x34, 0x5a, 0xa5, 0x1c, 0x5b,
- 0x40, 0x89, 0x47, 0xda, 0x68, 0xc2, 0x5a, 0x81, 0xa1, 0x07, 0x0c, 0x2c,
- 0xc5, 0xb8, 0x86, 0x4c, 0x85, 0x77, 0x86, 0x1a, 0x03, 0x09, 0xbd, 0xe5,
- 0x21, 0xaa, 0x12, 0xe6, 0x62, 0xa3, 0x2d, 0x35, 0x12, 0x6c, 0x2f, 0xfa,
- 0x36, 0x9e, 0x79, 0xaa, 0xb0, 0x71, 0x50, 0x75, 0xb1, 0xc7, 0x70, 0xbd,
- 0x04, 0x87, 0x8e, 0x8f, 0x84, 0x7d, 0xd6, 0xcc, 0x40, 0x49, 0xb8, 0xe8,
- 0x02, 0xbe, 0x4d, 0xd3, 0x45, 0x37, 0x90, 0x89, 0xc8, 0x22, 0xf1, 0x78,
- 0xdf, 0x7f, 0x43, 0x93, 0xc3, 0xef, 0xd0, 0x0b, 0x74, 0xef, 0x11, 0x7a,
- 0x68, 0xaa, 0x3d, 0x9e, 0x98, 0x94, 0x87, 0x09, 0x7c, 0x2f, 0xc5, 0x1e,
- 0x78, 0x6e, 0x18, 0xc0, 0x4f, 0x73, 0x2e, 0x81, 0x00, 0xa9, 0x2a, 0x20,
- 0x67, 0x07, 0x10, 0xbe, 0x8b, 0xb9, 0x14, 0x49, 0xe4, 0x36, 0x90, 0x24,
- 0x82, 0x20, 0x8b, 0xe1, 0xb2, 0x2b, 0xf1, 0x4c, 0x4a, 0x6f, 0xcc, 0x0b,
- 0xbf, 0x04, 0x76, 0x64, 0xb0, 0x96, 0xf4, 0xc9, 0xb8, 0xbc, 0x0b, 0xdf,
- 0xf0, 0xf2, 0x2e, 0x78, 0xc3, 0x9f, 0x71, 0xcf, 0xad, 0xbd, 0x75, 0x72,
- 0x39, 0xf8, 0x2e, 0x6a, 0x01, 0x8d, 0xe0, 0x4e, 0x2e, 0x7c, 0xc5, 0xed,
- 0xea, 0x90, 0xe8, 0xdd, 0x6b, 0xde, 0x7e, 0xcf, 0x83, 0xf1, 0x01, 0xef,
- 0x9e, 0xc3, 0xf7, 0xe5, 0x72, 0x5f, 0x1e, 0x0d, 0xbe, 0x73, 0xae, 0xb5,
- 0x43, 0x02, 0xa1, 0x62, 0x4c, 0x93, 0xd9, 0x8e, 0x41, 0x62, 0x26, 0x1d,
- 0x1c, 0x2c, 0x48, 0xef, 0xe5, 0xdd, 0x73, 0xe8, 0x1d, 0x66, 0xe2, 0xd1,
- 0xbb, 0xb7, 0xc7, 0xab, 0xe8, 0xdd, 0x3d, 0xa8, 0x7a, 0xd2, 0xac, 0x43,
- 0xed, 0x19, 0x77, 0xd1, 0xc6, 0x02, 0x8f, 0x36, 0x32, 0xc7, 0x40, 0xa2,
- 0x90, 0xb6, 0x9f, 0x4a, 0x48, 0xf3, 0xfc, 0x65, 0x84, 0x0e, 0x2f, 0x78,
- 0x84, 0xae, 0xe7, 0x19, 0xa6, 0xf4, 0x36, 0x42, 0xd7, 0x94, 0xe2, 0x84,
- 0x89, 0xdc, 0xa5, 0x71, 0x9f, 0xbe, 0x1d, 0xaa, 0x75, 0xcb, 0xc0, 0xfd,
- 0x1d, 0xd2, 0x4c, 0x33, 0x0b, 0x65, 0x60, 0x81, 0x1c, 0x02, 0xe0, 0x22,
- 0x0a, 0xca, 0xc0, 0x05, 0xb1, 0xbe, 0x3b, 0xdf, 0x94, 0xe6, 0xd7, 0xaa,
- 0x1f, 0x0a, 0xd5, 0xb0, 0xb9, 0xb1, 0x1a, 0x0a, 0x6d, 0x72, 0x0f, 0xb8,
- 0x80, 0x02, 0x13, 0xef, 0x46, 0xd6, 0xd0, 0x83, 0x92, 0x60, 0x75, 0x7a,
- 0x99, 0x60, 0x9e, 0x07, 0xc1, 0x90, 0x35, 0xef, 0x29, 0xaa, 0x79, 0xa4,
- 0x0d, 0xa0, 0xa2, 0xd2, 0x4b, 0xb3, 0x9e, 0x9f, 0x06, 0xed, 0x86, 0xb6,
- 0xaa, 0x1a, 0x36, 0x2d, 0x96, 0x28, 0x92, 0xc2, 0x2b, 0x41, 0x0e, 0x54,
- 0x46, 0xc9, 0xd2, 0x94, 0x98, 0x00, 0x7b, 0x25, 0x03, 0x05, 0xb5, 0x41,
- 0x84, 0xb5, 0x7a, 0xbb, 0x97, 0x2a, 0xaf, 0x39, 0xe3, 0x5e, 0x34, 0x50,
- 0x8c, 0xc7, 0x59, 0xd9, 0xb3, 0x1d, 0xda, 0x0f, 0xcd, 0x5f, 0x3d, 0xfb,
- 0xe2, 0xcd, 0xf9, 0x00, 0x23, 0x57, 0x09, 0xd5, 0x1a, 0xa8, 0x19, 0x5c,
- 0x26, 0x5c, 0x1f, 0x32, 0x25, 0xce, 0x01, 0x8f, 0x98, 0x82, 0x3f, 0xd3,
- 0x14, 0xf1, 0x30, 0xe8, 0x10, 0xa2, 0x4f, 0x78, 0x85, 0x7a, 0x31, 0x17,
- 0xdc, 0x80, 0x6d, 0x47, 0x71, 0x71, 0x5c, 0x81, 0x9d, 0x9b, 0x56, 0xb4,
- 0x93, 0xe7, 0x29, 0x80, 0x71, 0xa4, 0x65, 0x79, 0x38, 0x8d, 0x0d, 0x6d,
- 0xcf, 0xbc, 0x60, 0x44, 0x76, 0xc1, 0x20, 0x33, 0x1d, 0xae, 0xb2, 0x46,
- 0x57, 0xfa, 0xe6, 0x62, 0x05, 0x33, 0x49, 0x72, 0xc6, 0x36, 0x56, 0x1a,
- 0x8f, 0xb8, 0x81, 0x8b, 0xbb, 0xbd, 0x1e, 0x3e, 0x2c, 0xe9, 0x87, 0xe6,
- 0xa7, 0x2f, 0xe8, 0xa7, 0x7d, 0x6f, 0xa3, 0xbd, 0x12, 0x1a, 0xe9, 0xa0,
- 0x6a, 0xd0, 0x71, 0x31, 0xbb, 0x31, 0x1b, 0x63, 0xe7, 0x0d, 0x3a, 0x7b,
- 0x6d, 0xa4, 0x80, 0x68, 0x89, 0x8c, 0x79, 0x68, 0x9b, 0xb7, 0x45, 0x1e,
- 0x4e, 0x0b, 0xe8, 0x36, 0x65, 0xed, 0xd0, 0x77, 0x77, 0x03, 0x87, 0x6e,
- 0xe6, 0x7c, 0x28, 0xcb, 0x0c, 0x1f, 0x79, 0x4d, 0xba, 0x0c, 0x53, 0xee,
- 0x6f, 0x75, 0x98, 0x2e, 0x7a, 0xfa, 0x16, 0x0b, 0x8f, 0x79, 0x7c, 0x2b,
- 0x22, 0x7d, 0x4f, 0xe8, 0xa0, 0xe7, 0xc1, 0xac, 0x70, 0xbb, 0x65, 0xea,
- 0x4a, 0x6d, 0xd7, 0x59, 0x23, 0x1a, 0xd1, 0xb7, 0x2a, 0x03, 0xda, 0x8a,
- 0x44, 0xc1, 0xdf, 0x09, 0xd5, 0x7c, 0x69, 0x76, 0xb6, 0xeb, 0xe3, 0xd1,
- 0xfa, 0x0e, 0x9a, 0x89, 0x79, 0xf7, 0x89, 0xf3, 0xb3, 0x44, 0xb6, 0xfa,
- 0xfc, 0x74, 0xcf, 0xfe, 0xf7, 0x38, 0xbf, 0x17, 0x9f, 0xe4, 0xfc, 0x5e,
- 0xfc, 0x6f, 0x73, 0x7e, 0x2f, 0xfe, 0xe5, 0xf3, 0xdb, 0xf3, 0xce, 0xef,
- 0xc5, 0xff, 0x2e, 0xe7, 0xa7, 0xfd, 0xd5, 0xf4, 0xf4, 0x12, 0xef, 0xfc,
- 0x06, 0x92, 0x36, 0xa2, 0xc0, 0x7c, 0xb8, 0xd3, 0xfa, 0x16, 0x07, 0x69,
- 0x24, 0xd1, 0x91, 0xbd, 0xe0, 0x9a, 0x6b, 0xcb, 0xd0, 0x90, 0x2d, 0x0d,
- 0x4b, 0xfa, 0x5a, 0x56, 0xa1, 0x83, 0x9e, 0x5e, 0x46, 0x66, 0x02, 0xce,
- 0x31, 0x58, 0xa0, 0x2d, 0x52, 0xd0, 0x82, 0x2e, 0xea, 0x12, 0xfd, 0x96,
- 0xb0, 0x7e, 0x2e, 0xaf, 0x2c, 0x6d, 0x51, 0x70, 0x08, 0x49, 0x0b, 0x36,
- 0xee, 0xe0, 0x10, 0xb7, 0xab, 0xc7, 0x8f, 0x7f, 0x19, 0x2c, 0x76, 0xa3,
- 0x8e, 0xcd, 0x76, 0x4a, 0xa1, 0xb0, 0x84, 0xb3, 0x75, 0xf6, 0xdc, 0x4c,
- 0x34, 0xcb, 0x39, 0xb4, 0xd0, 0x99, 0x35, 0x55, 0x1d, 0x73, 0x82, 0x4f,
- 0x1f, 0x59, 0x7e, 0x43, 0x38, 0x3e, 0x87, 0x1f, 0xae, 0x7c, 0xdf, 0x1b,
- 0x2c, 0xd5, 0x87, 0x46, 0x84, 0xe3, 0xea, 0xa1, 0x6d, 0xdf, 0x23, 0x94,
- 0x78, 0xb8, 0x8d, 0x17, 0xef, 0x36, 0x1c, 0x27, 0x10, 0x05, 0x2d, 0xf2,
- 0x50, 0xbf, 0x3b, 0x2e, 0xbb, 0x35, 0xa5, 0xe5, 0x65, 0xb7, 0xd1, 0xe3,
- 0xd2, 0xa4, 0xbd, 0x5b, 0x25, 0x85, 0xbc, 0x23, 0x52, 0xb0, 0x5b, 0x78,
- 0xfd, 0x2d, 0x51, 0x19, 0x4c, 0x4b, 0x41, 0x8d, 0x43, 0x18, 0x0d, 0x95,
- 0x83, 0x34, 0xb3, 0xdf, 0x33, 0xe3, 0xef, 0xc5, 0x4e, 0x6d, 0x57, 0xdf,
- 0x90, 0xae, 0xb8, 0x9c, 0x2f, 0xa4, 0xb4, 0xf8, 0x89, 0xd2, 0xca, 0x88,
- 0xbb, 0x31, 0x52, 0xd9, 0x24, 0xbb, 0xf7, 0xa5, 0xca, 0x48, 0x2d, 0x73,
- 0x53, 0x5a, 0x21, 0xe6, 0x7b, 0x2b, 0x30, 0x5a, 0x10, 0x8b, 0xea, 0xba,
- 0x99, 0x20, 0xc5, 0x15, 0x31, 0x8a, 0xaf, 0x8e, 0x5c, 0xd2, 0xd1, 0x9a,
- 0xa5, 0xd0, 0x81, 0x40, 0x00, 0xf8, 0xab, 0x21, 0x70, 0x6e, 0x8a, 0x12,
- 0x62, 0x81, 0x15, 0xce, 0x99, 0xd1, 0x05, 0xe1, 0x55, 0x18, 0xa6, 0x2f,
- 0x55, 0x56, 0xa5, 0x13, 0xa7, 0x36, 0x85, 0x21, 0x04, 0xee, 0x14, 0xaa,
- 0x0e, 0xa0, 0x60, 0x0f, 0xa9, 0xb7, 0x92, 0xd5, 0x27, 0xd0, 0x1d, 0x06,
- 0x9b, 0x29, 0xbb, 0xd3, 0xda, 0x9b, 0x5a, 0x8b, 0x92, 0xde, 0xd0, 0x0f,
- 0x07, 0xd4, 0x4a, 0x00, 0xff, 0x40, 0xb4, 0xd1, 0x52, 0x96, 0xc1, 0xaa,
- 0x99, 0xe3, 0x98, 0x08, 0xdc, 0x24, 0xb7, 0xea, 0x23, 0xe8, 0x0a, 0x40,
- 0x43, 0x47, 0x17, 0x28, 0xfd, 0x2a, 0xb8, 0x09, 0x48, 0xdd, 0x25, 0xd5,
- 0x30, 0x92, 0x38, 0xfb, 0xd7, 0x4b, 0x28, 0x14, 0x80, 0x81, 0xe0, 0x31,
- 0xd6, 0x52, 0xc0, 0x39, 0xb7, 0xf8, 0x26, 0x71, 0xab, 0xa6, 0x0d, 0x04,
- 0x25, 0x47, 0x29, 0x38, 0x79, 0x11, 0x76, 0x51, 0x32, 0x61, 0xbd, 0x86,
- 0x43, 0x84, 0x8a, 0x20, 0x53, 0xef, 0x08, 0x8a, 0xd3, 0x52, 0xa0, 0x67,
- 0xb9, 0xe5, 0x32, 0x81, 0xde, 0xfc, 0x7e, 0x55, 0xca, 0x4e, 0x66, 0xb8,
- 0xcb, 0xa2, 0x92, 0x29, 0x87, 0xff, 0x57, 0x65, 0x21, 0x37, 0x00, 0xd7,
- 0xb8, 0x99, 0xb8, 0x81, 0x5c, 0x23, 0x8f, 0x60, 0x56, 0x15, 0xf9, 0xe2,
- 0x31, 0xfa, 0x26, 0xc6, 0x65, 0x91, 0x5a, 0x1f, 0x27, 0x73, 0xaf, 0x34,
- 0x8d, 0xdb, 0x8b, 0x8b, 0x9a, 0xcd, 0xad, 0xc6, 0x75, 0x85, 0x64, 0x17,
- 0xf0, 0xb6, 0x00, 0xb1, 0xc2, 0x7e, 0xa1, 0x33, 0x59, 0xca, 0x46, 0x38,
- 0xf5, 0x7a, 0x30, 0x38, 0xf3, 0x6d, 0x39, 0x6d, 0x6c, 0xb4, 0x12, 0x93,
- 0x80, 0x46, 0xeb, 0x35, 0xa3, 0x23, 0x32, 0xf8, 0x61, 0x90, 0x73, 0xc8,
- 0xba, 0x93, 0x99, 0x62, 0x76, 0x28, 0x8e, 0xfc, 0xa8, 0x78, 0x5c, 0xa0,
- 0xf1, 0x25, 0x45, 0xb8, 0x7c, 0xcd, 0x71, 0x7e, 0x0c, 0x02, 0xbb, 0xb2,
- 0xec, 0xf9, 0x43, 0xe9, 0x60, 0xa9, 0x93, 0x2c, 0xc5, 0xf8, 0x3d, 0x82,
- 0x22, 0x23, 0xb8, 0x95, 0xc8, 0x56, 0x94, 0x3a, 0x63, 0x42, 0x73, 0x69,
- 0xed, 0x71, 0x26, 0x9d, 0xcb, 0x1a, 0xdd, 0x31, 0xd8, 0x9c, 0x41, 0x4b,
- 0x0b, 0x11, 0x11, 0x29, 0x9c, 0xb2, 0xa1, 0xf2, 0x5d, 0xde, 0x90, 0xaa,
- 0xbd, 0xe6, 0xcd, 0x30, 0xcd, 0x13, 0x62, 0x44, 0x78, 0xc8, 0x3c, 0x28,
- 0x19, 0xce, 0xf2, 0xd8, 0xde, 0xda, 0x7a, 0x12, 0x23, 0x48, 0xac, 0xd5,
- 0x95, 0x50, 0x41, 0xc8, 0x0e, 0x39, 0xc0, 0x61, 0x6a, 0xda, 0xe3, 0x54,
- 0x0a, 0x96, 0x9a, 0xa8, 0x6a, 0xf0, 0x49, 0x03, 0xd9, 0x63, 0xaf, 0x20,
- 0xb3, 0x55, 0x86, 0xd2, 0x22, 0xc0, 0x20, 0xb8, 0xdb, 0x27, 0x34, 0xc7,
- 0xf2, 0xa0, 0xf6, 0x4e, 0xb0, 0xa5, 0x34, 0x4e, 0x08, 0x5f, 0x12, 0xfd,
- 0xb3, 0x1f, 0x7d, 0xfd, 0x68, 0xed, 0x76, 0x62, 0x88, 0xec, 0x0f, 0xa6,
- 0x59, 0xb1, 0x9f, 0x9f, 0xe7, 0xdf, 0x5f, 0xc5, 0xfa, 0xc3, 0x38, 0x40,
- 0x7f, 0x60, 0xc6, 0x42, 0xc3, 0x02, 0xb7, 0x5b, 0x94, 0x34, 0x2a, 0xc1,
- 0x89, 0x84, 0x1d, 0x56, 0x66, 0xb5, 0xa0, 0x7f, 0x34, 0x9b, 0x2c, 0x39,
- 0xfd, 0x92, 0x98, 0x0b, 0xae, 0xc4, 0x73, 0xae, 0xa3, 0x3a, 0xd5, 0xb3,
- 0x50, 0x5f, 0xd6, 0xd5, 0x14, 0x2c, 0xad, 0xee, 0x51, 0x01, 0x75, 0x13,
- 0x35, 0x02, 0x6b, 0xae, 0x91, 0x77, 0x91, 0xaf, 0x21, 0xcf, 0x1c, 0x0f,
- 0x0c, 0xa2, 0x89, 0x71, 0xe6, 0x8f, 0xd6, 0x5a, 0x35, 0x40, 0x6c, 0x5d,
- 0xc6, 0xaa, 0xc8, 0xfb, 0x7a, 0xd3, 0xc7, 0xb9, 0x83, 0x5d, 0x65, 0xca,
- 0xeb, 0x1a, 0xae, 0x1c, 0xf6, 0xe5, 0xf8, 0xb0, 0x18, 0x9c, 0x41, 0x6c,
- 0xdd, 0x84, 0x5c, 0x28, 0x4e, 0xd9, 0x11, 0xa4, 0x09, 0xb2, 0xea, 0x08,
- 0x1a, 0x4b, 0x37, 0x92, 0x4e, 0xe4, 0x98, 0x30, 0xce, 0xa7, 0x1c, 0x54,
- 0x6f, 0x2d, 0xac, 0x1a, 0xf7, 0x19, 0xe3, 0x95, 0x94, 0x16, 0x0e, 0x0e,
- 0x99, 0x36, 0xf7, 0x4c, 0x83, 0x51, 0x4b, 0x93, 0x1a, 0xe6, 0x7b, 0x44,
- 0x9d, 0x0a, 0x6d, 0x78, 0x12, 0x11, 0x6a, 0xca, 0x25, 0x79, 0xaf, 0x79,
- 0x78, 0x83, 0xc0, 0xc6, 0x77, 0x92, 0x2b, 0xd7, 0xd1, 0x4f, 0x26, 0x15,
- 0xb8, 0x1e, 0xdb, 0xc0, 0xe8, 0x38, 0x82, 0x37, 0x46, 0x74, 0x38, 0x54,
- 0x02, 0xbf, 0x2c, 0x9c, 0x18, 0x79, 0xe7, 0x26, 0x85, 0x53, 0xcd, 0x3a,
- 0x04, 0x0c, 0xb9, 0x1c, 0x32, 0xe6, 0x68, 0xa5, 0x1f, 0xf5, 0x16, 0xbb,
- 0x9c, 0x39, 0x8e, 0xd9, 0x70, 0x9b, 0xf1, 0x5a, 0xc2, 0x77, 0x37, 0xaa,
- 0x5d, 0x08, 0xd5, 0x27, 0x39, 0x6c, 0x6f, 0x8b, 0xef, 0xf9, 0xdc, 0x82,
- 0xde, 0x5c, 0x5b, 0x88, 0x87, 0x37, 0x9f, 0x3a, 0x73, 0x75, 0xdd, 0xb6,
- 0x38, 0xd6, 0xd1, 0x1c, 0xcf, 0xd1, 0x89, 0xc3, 0xba, 0x2a, 0xee, 0x72,
- 0xb0, 0x69, 0x09, 0x1e, 0x84, 0x40, 0xb6, 0x04, 0x30, 0x85, 0x25, 0xb5,
- 0x2f, 0x7e, 0xa4, 0xaa, 0x23, 0xf3, 0x69, 0xa2, 0x6e, 0x0f, 0x00, 0x0e,
- 0xc1, 0x10, 0x73, 0xd2, 0xfc, 0x85, 0x8e, 0x71, 0x0b, 0x47, 0x45, 0xba,
- 0xa8, 0x38, 0x1f, 0x41, 0x92, 0xab, 0x57, 0x02, 0xe7, 0xc0, 0xdf, 0xa6,
- 0xb3, 0x7c, 0x18, 0xf3, 0x1d, 0x31, 0xb9, 0x4d, 0xea, 0xf1, 0xac, 0x01,
- 0x16, 0x23, 0x7b, 0x43, 0xf2, 0x0c, 0x34, 0x5c, 0x80, 0x25, 0xf7, 0x0e,
- 0xa8, 0x3b, 0x3c, 0x06, 0x42, 0x57, 0x7d, 0xd0, 0x7c, 0x82, 0xe1, 0xff,
- 0x7a, 0x93, 0xae, 0xdc, 0x5e, 0xad, 0xca, 0xa6, 0xd4, 0xb0, 0xd2, 0xb9,
- 0x53, 0x9e, 0xce, 0x45, 0x30, 0x0a, 0xe3, 0x65, 0x52, 0xcf, 0x14, 0x5b,
- 0x93, 0x30, 0xb1, 0xb4, 0xb4, 0xa3, 0x6c, 0x25, 0xd3, 0xa9, 0x40, 0xc2,
- 0xb1, 0xc1, 0x2c, 0x28, 0x04, 0x08, 0x96, 0xac, 0xa5, 0x2e, 0x18, 0x1f,
- 0xf7, 0x54, 0xa1, 0x91, 0xa1, 0x54, 0xb2, 0x93, 0xd3, 0xec, 0x5b, 0x67,
- 0xaf, 0x18, 0x58, 0xc1, 0xa7, 0xf8, 0x09, 0x2b, 0x84, 0xe4, 0xbf, 0xe4,
- 0x33, 0x59, 0xb1, 0x33, 0x2e, 0xca, 0x78, 0xdd, 0x44, 0x30, 0x9f, 0x0e,
- 0x8b, 0x27, 0x62, 0x6b, 0x25, 0x1a, 0x0d, 0xe8, 0xdf, 0x5f, 0x07, 0x62,
- 0x91, 0xea, 0xb7, 0x98, 0x12, 0x0f, 0x08, 0x1b, 0x53, 0xdb, 0xf9, 0x31,
- 0x2f, 0x08, 0x57, 0xe6, 0xe1, 0x4d, 0xc1, 0x1c, 0xb7, 0xd9, 0x23, 0x67,
- 0xd1, 0xd0, 0x99, 0x93, 0xbe, 0x2b, 0x31, 0x03, 0x25, 0xa8, 0xa4, 0x1a,
- 0x39, 0xbf, 0x1c, 0x27, 0xf1, 0x2c, 0xd4, 0x2d, 0x03, 0x27, 0x8c, 0x8e,
- 0x6e, 0x66, 0x6d, 0x08, 0x93, 0x92, 0x49, 0xc8, 0x44, 0x72, 0xac, 0x39,
- 0xcb, 0x50, 0x8c, 0x03, 0x33, 0x43, 0xba, 0x55, 0x01, 0xed, 0x1a, 0xfb,
- 0xf7, 0xd0, 0x03, 0x54, 0x3b, 0x3c, 0x12, 0x44, 0x02, 0x0a, 0x78, 0xda,
- 0x12, 0x1c, 0xc4, 0x74, 0xc3, 0x84, 0x44, 0x7d, 0x80, 0x28, 0x80, 0xf2,
- 0xe1, 0x9b, 0xc3, 0x89, 0x23, 0x95, 0xeb, 0x42, 0x49, 0xc8, 0x68, 0xd9,
- 0x06, 0x4e, 0x8c, 0x73, 0x60, 0x90, 0x49, 0x6e, 0xc8, 0x3d, 0xa4, 0x3c,
- 0x0b, 0xe1, 0x1c, 0x0b, 0xff, 0xa4, 0xef, 0x12, 0xcd, 0x8c, 0x22, 0x53,
- 0x86, 0x0f, 0xa0, 0x32, 0xc5, 0xb2, 0x38, 0x9a, 0xf0, 0x19, 0x66, 0x32,
- 0x3b, 0x3b, 0x2d, 0xa6, 0x97, 0xf4, 0x49, 0x17, 0x1a, 0xa3, 0xcb, 0x5e,
- 0xc6, 0x93, 0x44, 0x81, 0x53, 0x85, 0x7d, 0xe7, 0x23, 0xd8, 0x42, 0x0a,
- 0xd2, 0x12, 0x28, 0x11, 0x6a, 0x47, 0x9e, 0x05, 0xcd, 0x5c, 0x13, 0xb9,
- 0xa4, 0x11, 0xb9, 0x78, 0x11, 0x84, 0xdd, 0x96, 0xb3, 0x74, 0xa1, 0xfe,
- 0xe9, 0x6e, 0x94, 0x48, 0x56, 0xd1, 0xec, 0x51, 0x4e, 0x65, 0xd9, 0x0b,
- 0x98, 0x5e, 0xa6, 0x99, 0xbb, 0xc0, 0xdf, 0xce, 0x50, 0xf1, 0x5f, 0x6f,
- 0x8c, 0xbe, 0xb7, 0xb5, 0x4d, 0x93, 0xdd, 0xdb, 0x7a, 0xb9, 0x51, 0x97,
- 0xca, 0xb3, 0x32, 0xe9, 0x51, 0xd2, 0x5a, 0x58, 0x3b, 0xe5, 0x56, 0x75,
- 0xd6, 0xaf, 0x4e, 0x9a, 0x28, 0xbe, 0x24, 0x99, 0x6e, 0xe3, 0x65, 0xa1,
- 0xa6, 0x1c, 0x36, 0x31, 0x44, 0xc3, 0xb4, 0xbc, 0x41, 0xd4, 0x45, 0x4f,
- 0xca, 0xdb, 0x77, 0xc8, 0x68, 0xa3, 0xd8, 0x0d, 0xef, 0x53, 0x4c, 0xaf,
- 0x4a, 0x83, 0x34, 0xde, 0x07, 0x7a, 0x0e, 0xad, 0x52, 0x0e, 0x30, 0x84,
- 0xda, 0x99, 0x2a, 0x92, 0x03, 0x27, 0x89, 0x49, 0xf8, 0xae, 0xde, 0x6e,
- 0xd8, 0xf0, 0x9d, 0xb7, 0x69, 0x96, 0x96, 0x37, 0xd4, 0xa6, 0xb8, 0x2c,
- 0xe3, 0x69, 0xe2, 0x17, 0xb8, 0x03, 0x43, 0x02, 0x93, 0x89, 0xdb, 0xe8,
- 0x15, 0x84, 0x4c, 0x8f, 0xa9, 0x61, 0xbc, 0xef, 0x52, 0xb0, 0x22, 0x3d,
- 0xf6, 0x08, 0x19, 0xcd, 0x2e, 0x33, 0x44, 0x2f, 0x69, 0xe9, 0x34, 0x80,
- 0x6c, 0xeb, 0xff, 0x88, 0xdd, 0xc8, 0x08, 0x22, 0x8b, 0x7b, 0x03, 0x71,
- 0x73, 0xa0, 0x50, 0xd7, 0x17, 0x50, 0xb5, 0xe1, 0x70, 0x2f, 0x06, 0xc0,
- 0x82, 0x6c, 0xaf, 0x62, 0x4a, 0x01, 0x84, 0x9f, 0xfd, 0x00, 0xba, 0x68,
- 0xff, 0x95, 0xf9, 0xf1, 0xc6, 0xf3, 0x1a, 0x46, 0xee, 0x34, 0x74, 0x33,
- 0xcc, 0xc5, 0x95, 0x48, 0x04, 0x99, 0x2a, 0xaf, 0xf9, 0x1f, 0x61, 0x5f,
- 0x07, 0xd5, 0xb5, 0x82, 0x15, 0xf9, 0xfe, 0x88, 0x20, 0xa5, 0x2c, 0xc2,
- 0xb3, 0x93, 0xb6, 0x5b, 0xab, 0xd1, 0xa3, 0xee, 0x99, 0xa8, 0xaa, 0x06,
- 0x01, 0xfe, 0x0c, 0x26, 0x2f, 0x67, 0x10, 0xda, 0xa8, 0x9b, 0xea, 0x72,
- 0x20, 0x78, 0x2b, 0x34, 0x4c, 0x11, 0x7a, 0x27, 0x3a, 0x4b, 0xb8, 0x59,
- 0x4e, 0xb4, 0xf6, 0xd5, 0x5a, 0xa0, 0x9a, 0x6f, 0xed, 0xd0, 0x41, 0x18,
- 0x2f, 0x6d, 0x23, 0xae, 0xb5, 0x2f, 0x30, 0x29, 0x19, 0xc1, 0x54, 0xf8,
- 0x9b, 0x72, 0x06, 0x9c, 0x5f, 0x1b, 0x0e, 0xeb, 0x6b, 0x4a, 0x9f, 0xe0,
- 0x03, 0xd6, 0x93, 0x87, 0xb8, 0xf1, 0x35, 0x62, 0xaf, 0x37, 0xd6, 0xad,
- 0xfa, 0xdc, 0x9a, 0x57, 0xed, 0x87, 0xa9, 0xfb, 0x8c, 0xd6, 0x23, 0xdd,
- 0xc1, 0x6d, 0x1b, 0x53, 0x9e, 0x13, 0x4f, 0x86, 0x7c, 0x95, 0xa3, 0x51,
- 0x8a, 0x9a, 0x0b, 0x5d, 0x7d, 0xf8, 0xe5, 0x74, 0x1a, 0x4c, 0x71, 0x82,
- 0x2d, 0xc0, 0x83, 0xc7, 0x35, 0x4f, 0x92, 0xb8, 0x22, 0x7d, 0x03, 0xe5,
- 0x7c, 0x7b, 0xf2, 0xb4, 0xd5, 0xdd, 0x03, 0xcf, 0x38, 0xab, 0x38, 0x74,
- 0xeb, 0x53, 0xc2, 0x54, 0x40, 0x44, 0xc0, 0x34, 0x80, 0x88, 0x9e, 0xf4,
- 0x33, 0xe3, 0xed, 0x9a, 0xc4, 0x40, 0x14, 0x8f, 0x12, 0x5a, 0x9e, 0x51,
- 0x3d, 0x01, 0x73, 0x90, 0x64, 0xee, 0xf1, 0xb0, 0x99, 0xa6, 0xe6, 0x72,
- 0x06, 0x3b, 0xf6, 0x12, 0xe1, 0x64, 0x67, 0xdc, 0x67, 0x96, 0x07, 0x36,
- 0xe9, 0x3d, 0xd2, 0x86, 0x1a, 0x36, 0x97, 0xbd, 0xe9, 0x15, 0x71, 0x33,
- 0xdb, 0x45, 0x55, 0x51, 0x1b, 0x90, 0x92, 0xf3, 0x85, 0x61, 0x38, 0xbe,
- 0xca, 0xc8, 0x2d, 0x66, 0x6c, 0xfa, 0x28, 0xc9, 0x84, 0x00, 0x6e, 0xb4,
- 0x49, 0x97, 0x84, 0x2b, 0x0a, 0x46, 0x08, 0x63, 0x43, 0x4c, 0x26, 0x8f,
- 0xb0, 0x49, 0xdb, 0xce, 0xee, 0xe7, 0x9f, 0xf7, 0x83, 0x38, 0xa7, 0x5c,
- 0x9e, 0x0d, 0x44, 0x88, 0x3b, 0x65, 0x31, 0x31, 0xbb, 0x06, 0xdd, 0x18,
- 0xbf, 0x8f, 0x14, 0x46, 0xe5, 0x63, 0xf9, 0x1c, 0xa1, 0x8b, 0x90, 0x39,
- 0x2e, 0x67, 0xbe, 0x79, 0x4f, 0xa1, 0xc7, 0x39, 0xaa, 0x15, 0xc2, 0xc5,
- 0x48, 0xbd, 0x42, 0xae, 0x31, 0x4f, 0x5b, 0x54, 0xba, 0x44, 0xd2, 0xf3,
- 0x38, 0x95, 0x53, 0xa0, 0x01, 0x25, 0x9f, 0x94, 0xd3, 0x7e, 0x41, 0x6b,
- 0xa0, 0x1c, 0x77, 0xce, 0xfa, 0xe0, 0xed, 0x58, 0x6b, 0x29, 0x07, 0x5d,
- 0x8b, 0x34, 0xfa, 0x39, 0x4c, 0x0c, 0xbe, 0x02, 0x77, 0xde, 0x6a, 0x20,
- 0xe0, 0x70, 0xc9, 0x78, 0x86, 0x35, 0x61, 0xd8, 0xe9, 0x02, 0x3e, 0xd0,
- 0x18, 0x8e, 0x2a, 0xa4, 0xa7, 0x49, 0xe5, 0xd7, 0x31, 0x39, 0xd9, 0xbd,
- 0x2b, 0x06, 0x0f, 0xd9, 0x44, 0x52, 0x86, 0x15, 0x1d, 0xf6, 0x25, 0x92,
- 0x30, 0x4e, 0x27, 0x7a, 0x49, 0x4d, 0x77, 0x88, 0xaf, 0xe8, 0x34, 0x0e,
- 0x65, 0xeb, 0xa5, 0x2c, 0xf1, 0xab, 0x20, 0xc6, 0x99, 0xa4, 0x18, 0x13,
- 0xe0, 0x56, 0x55, 0x81, 0x5a, 0x6d, 0x79, 0x37, 0x65, 0x91, 0x73, 0x2f,
- 0x02, 0xae, 0xdd, 0xe1, 0x0d, 0xe6, 0xbc, 0xcd, 0x59, 0x08, 0x64, 0xe3,
- 0xd0, 0x0c, 0x2a, 0xad, 0x4e, 0x30, 0x91, 0x1f, 0xa7, 0x12, 0xda, 0x09,
- 0xc5, 0x29, 0x47, 0xfe, 0x00, 0x4f, 0x7b, 0x56, 0x0f, 0xbe, 0xeb, 0xec,
- 0x93, 0x7f, 0xf6, 0x6e, 0x64, 0x4d, 0x10, 0x35, 0x78, 0x8b, 0x6d, 0x02,
- 0xb8, 0x1b, 0x9d, 0x91, 0x95, 0x82, 0x26, 0x1c, 0xee, 0xce, 0x8d, 0x4b,
- 0xb5, 0x95, 0xdc, 0x44, 0x59, 0xd3, 0x3c, 0xe1, 0x59, 0x12, 0xac, 0x86,
- 0xee, 0x2a, 0xfa, 0x2a, 0xab, 0x62, 0x39, 0x42, 0xc5, 0x92, 0x8c, 0x72,
- 0xfa, 0x54, 0xa8, 0x1b, 0x97, 0xba, 0x57, 0xcd, 0x8a, 0xa9, 0x67, 0x1e,
- 0x9d, 0x17, 0xed, 0xb2, 0x00, 0x02, 0xb2, 0x85, 0x27, 0x78, 0x91, 0x9c,
- 0xa1, 0xda, 0x0b, 0xf6, 0x71, 0x4d, 0xc8, 0xdd, 0x52, 0xa6, 0x7f, 0x67,
- 0xa5, 0x4c, 0x52, 0x7b, 0x15, 0x1e, 0x8d, 0x1c, 0x1c, 0x09, 0x02, 0xf6,
- 0x47, 0x6f, 0xb0, 0xcb, 0x28, 0x8b, 0x72, 0xa4, 0x37, 0x8f, 0x4f, 0xbb,
- 0x89, 0xed, 0x2c, 0x91, 0x50, 0x8d, 0x2b, 0x92, 0xe9, 0x12, 0xa5, 0x1c,
- 0xed, 0xd3, 0xba, 0xc2, 0xa1, 0xea, 0x13, 0x8b, 0x74, 0x41, 0x9d, 0x4c,
- 0xc0, 0x9e, 0xf3, 0x72, 0xe5, 0xe1, 0x2d, 0xee, 0x1f, 0xba, 0xcc, 0x60,
- 0xbb, 0xaa, 0x25, 0xc6, 0x20, 0x05, 0x0f, 0x06, 0xf8, 0xd7, 0x5f, 0xc9,
- 0xf5, 0x97, 0xcb, 0xd2, 0xb9, 0xf7, 0xc6, 0xd8, 0x98, 0xde, 0xc9, 0xc4,
- 0xb3, 0x5d, 0x12, 0xca, 0x7c, 0x21, 0x20, 0x33, 0x4c, 0x25, 0xa9, 0x94,
- 0x01, 0x70, 0xa3, 0x39, 0x74, 0xc4, 0x7c, 0x81, 0x71, 0xca, 0x51, 0x62,
- 0x61, 0x5c, 0x69, 0x53, 0xa8, 0xaa, 0xda, 0xbb, 0xd5, 0x84, 0x88, 0xa8,
- 0xba, 0x93, 0x8b, 0x93, 0x29, 0xcd, 0x4e, 0xba, 0x8c, 0xfc, 0xca, 0xe5,
- 0x4d, 0x02, 0xfa, 0x13, 0x97, 0x5c, 0x3e, 0x51, 0xfa, 0x0d, 0x58, 0x49,
- 0x08, 0xb0, 0x56, 0xfd, 0x57, 0x63, 0xf0, 0x22, 0xe7, 0x0b, 0xc0, 0x27,
- 0x11, 0x6e, 0xec, 0x01, 0xe7, 0x69, 0x50, 0x3b, 0x3b, 0x61, 0x68, 0x26,
- 0x2e, 0x21, 0xe5, 0x51, 0xac, 0x22, 0xae, 0x01, 0xeb, 0xc4, 0xbd, 0x5f,
- 0x93, 0x8b, 0x1b, 0xc2, 0xec, 0xb1, 0x76, 0x3e, 0xb1, 0x6a, 0xbe, 0x26,
- 0x06, 0xe9, 0xd2, 0xf0, 0x10, 0x54, 0xa9, 0x8a, 0x18, 0x38, 0xe6, 0x5f,
- 0x17, 0xd3, 0x16, 0x50, 0x45, 0xee, 0x99, 0x03, 0xb6, 0x82, 0xdf, 0xa4,
- 0x8b, 0xe8, 0xb0, 0xf7, 0x36, 0x92, 0xf9, 0xbc, 0xfe, 0xaa, 0x36, 0x9c,
- 0x36, 0xae, 0x70, 0x71, 0xd9, 0x05, 0xe3, 0x63, 0x34, 0x4d, 0x9f, 0xd8,
- 0x04, 0x6e, 0x6a, 0x60, 0xd2, 0x89, 0xcb, 0x9b, 0x3c, 0x91, 0xb3, 0xcb,
- 0xc8, 0x04, 0x36, 0x3d, 0x98, 0x60, 0x5d, 0x65, 0xb0, 0xa3, 0x86, 0x6a,
- 0xbc, 0xed, 0xd3, 0x26, 0xb9, 0xfe, 0x1f, 0xf9, 0x4d, 0x86, 0xff, 0xc0,
- 0x2f, 0xe0, 0x07, 0x5e, 0x6f, 0x6f, 0x07, 0x67, 0xde, 0x3a, 0x5f, 0x9e,
- 0xb0, 0xce, 0x18, 0x85, 0x91, 0xa4, 0x88, 0x3a, 0xbc, 0xad, 0x66, 0xfa,
- 0xf7, 0xa9, 0x6a, 0xce, 0x77, 0xb3, 0xd1, 0x1d, 0x22, 0x3c, 0x32, 0xe7,
- 0x55, 0x4e, 0xbf, 0x0b, 0xb2, 0xc4, 0xd4, 0xc8, 0x87, 0x99, 0x0f, 0x6e,
- 0x01, 0xba, 0x1a, 0x1e, 0x49, 0xfb, 0xe2, 0x3b, 0x18, 0x0b, 0x7a, 0x7c,
- 0x7d, 0x78, 0xb3, 0x9c, 0x26, 0xc4, 0x37, 0xab, 0x87, 0xaa, 0xf3, 0xac,
- 0x95, 0xa3, 0x97, 0x82, 0xdd, 0x14, 0x9c, 0x62, 0x5d, 0x39, 0xc9, 0x46,
- 0x54, 0xb3, 0x50, 0x53, 0x21, 0x38, 0x15, 0x13, 0x2d, 0x25, 0x0d, 0x75,
- 0x35, 0xeb, 0x8a, 0x58, 0x19, 0xed, 0xf2, 0xa6, 0x09, 0xee, 0x85, 0xad,
- 0xb4, 0x5f, 0xb1, 0x82, 0xfb, 0x64, 0xf8, 0xfa, 0x2b, 0xf4, 0x6d, 0x3d,
- 0x50, 0xff, 0x00, 0xd6, 0x6a, 0x71, 0xeb, 0x36, 0xa9, 0x9d, 0x40, 0xe4,
- 0x2c, 0xa2, 0x39, 0x48, 0x5e, 0xb4, 0x0f, 0xeb, 0xd4, 0x39, 0x39, 0x43,
- 0x4e, 0xf2, 0x7c, 0xe5, 0x88, 0xea, 0xbb, 0xa1, 0x3d, 0x71, 0x92, 0x19,
- 0x39, 0xc5, 0xcf, 0xd6, 0x70, 0x32, 0x41, 0x90, 0x9c, 0xa9, 0x89, 0xcb,
- 0x50, 0x4d, 0x3d, 0x7a, 0xc8, 0xa4, 0x9f, 0xb9, 0x4a, 0x9c, 0xd7, 0x5d,
- 0x2a, 0xf3, 0x09, 0x77, 0x8c, 0xb1, 0x6b, 0xe0, 0xeb, 0x48, 0x10, 0x48,
- 0xf8, 0xd7, 0x2f, 0xcc, 0xeb, 0xf8, 0x1f, 0xb8, 0xcd, 0x84, 0xc8, 0xbd,
- 0x62, 0x35, 0x18, 0x0a, 0xd4, 0x77, 0x36, 0x29, 0xfc, 0x64, 0x1a, 0x41,
- 0xad, 0x75, 0x59, 0xd1, 0xfe, 0x62, 0x8d, 0xdc, 0xb8, 0x1a, 0xa4, 0xa6,
- 0xf6, 0x4c, 0xc4, 0xe3, 0xc6, 0xb9, 0xa7, 0xd6, 0x62, 0x36, 0x26, 0xf7,
- 0x6f, 0xa2, 0xd9, 0xb7, 0x4c, 0x1c, 0x67, 0xae, 0x53, 0xff, 0xa9, 0x63,
- 0x26, 0xff, 0x53, 0xc7, 0x4e, 0xff, 0xa7, 0x8e, 0x5d, 0xc0, 0x4f, 0x1d,
- 0x84, 0xa1, 0xc4, 0x45, 0xf8, 0x06, 0xf1, 0x2f, 0x3d, 0xf4, 0x35, 0xfe,
- 0xaa, 0xfd, 0xa8, 0xf3, 0x4d, 0xe7, 0x93, 0x9d, 0xb5, 0x55, 0x9b, 0xe6,
- 0xc6, 0x86, 0xa8, 0x2e, 0xa6, 0xb9, 0x87, 0xc0, 0xae, 0x6b, 0xdb, 0x64,
- 0xb7, 0x05, 0x8d, 0x33, 0xaf, 0x83, 0xb7, 0xf3, 0x00, 0xee, 0xb8, 0x6d,
- 0x4e, 0xe5, 0x34, 0x5d, 0x30, 0x28, 0x96, 0x7a, 0x0e, 0xda, 0xfb, 0xd9,
- 0x93, 0x47, 0xe6, 0x75, 0x4f, 0xfe, 0xfc, 0x27, 0x7c, 0x81, 0xf4, 0x7f,
- 0x1a, 0x43, 0x6e, 0x35, 0x01, 0xd8, 0x48, 0x5e, 0x1e, 0x25, 0x4c, 0x67,
- 0x1c, 0xb5, 0x64, 0xf1, 0x37, 0xe1, 0x4a, 0x23, 0x26, 0x09, 0x2f, 0x97,
- 0x7e, 0x9e, 0x52, 0xab, 0x32, 0x58, 0xd5, 0x8c, 0x2d, 0xd4, 0x4d, 0x94,
- 0x0a, 0x94, 0xfb, 0x4a, 0x1d, 0xc4, 0x4a, 0x32, 0xd1, 0xc5, 0x78, 0x95,
- 0x3e, 0x6c, 0xbc, 0x0f, 0xed, 0x24, 0x8d, 0x8a, 0xf8, 0x2c, 0x2f, 0xca,
- 0xd7, 0x9d, 0x02, 0x3b, 0xbf, 0x46, 0xd3, 0x02, 0x34, 0xd8, 0x2f, 0x90,
- 0xb4, 0x96, 0x70, 0x58, 0xf6, 0x9e, 0x3e, 0xf4, 0xe6, 0x8f, 0x30, 0xef,
- 0xb5, 0x5f, 0x44, 0x19, 0x0e, 0x4b, 0x1b, 0x53, 0x94, 0x1e, 0x98, 0xe3,
- 0x3c, 0x6a, 0xe6, 0x29, 0xf0, 0xd5, 0x75, 0x2e, 0xa5, 0xfc, 0xfe, 0x75,
- 0x08, 0xe6, 0xce, 0x5b, 0x88, 0xc3, 0x79, 0xc9, 0x54, 0x7b, 0x7d, 0xf1,
- 0xed, 0x17, 0x3a, 0xc0, 0x4f, 0x9d, 0x1f, 0x7a, 0xfc, 0x53, 0xaa, 0x17,
- 0x3e, 0x88, 0x2e, 0xbe, 0x45, 0xea, 0xfe, 0x65, 0x0c, 0x6c, 0xd5, 0x07,
- 0xbe, 0xe2, 0xbf, 0x10, 0x65, 0xaf, 0x1a, 0xf6, 0xda, 0xe6, 0x49, 0xbc,
- 0xc6, 0x06, 0xc6, 0x54, 0x67, 0x44, 0x56, 0xf8, 0x62, 0x81, 0x95, 0x43,
- 0x5a, 0x1f, 0x5b, 0x71, 0x7d, 0x2c, 0x45, 0x8d, 0xe2, 0x61, 0xce, 0x29,
- 0xd2, 0x95, 0x8f, 0x8d, 0x4d, 0xd8, 0xbc, 0x74, 0xb6, 0xe2, 0xbb, 0x5a,
- 0x90, 0xe3, 0x82, 0xd4, 0xe1, 0x7a, 0x9a, 0x41, 0xbd, 0x96, 0xb1, 0x1b,
- 0x9d, 0x04, 0x9a, 0x20, 0x58, 0x70, 0x23, 0xfe, 0x1b, 0xe9, 0x65, 0xa6,
- 0x37, 0x37, 0x36, 0x54, 0x8b, 0x8b, 0x44, 0x3b, 0xe4, 0x48, 0x4f, 0x3f,
- 0x0a, 0x30, 0x01, 0xc1, 0x04, 0x42, 0x01, 0x12, 0x9d, 0x94, 0x44, 0xf4,
- 0x49, 0x3e, 0x93, 0x2e, 0xee, 0x25, 0x50, 0x3d, 0x1f, 0xb0, 0x69, 0xa3,
- 0x07, 0x1a, 0x07, 0x6e, 0x85, 0x44, 0x2a, 0xe4, 0xb3, 0x01, 0x95, 0x43,
- 0xa2, 0x89, 0xec, 0x8d, 0x93, 0xa6, 0x6d, 0x04, 0x18, 0xc6, 0x84, 0xff,
- 0x05, 0x1a, 0xfd, 0xc3, 0x84, 0x9c, 0x4f, 0xa6, 0x2a, 0xb3, 0x27, 0xce,
- 0xe1, 0x80, 0x07, 0x27, 0x32, 0xf7, 0x46, 0x2f, 0x0e, 0xa7, 0x41, 0x68,
- 0xa9, 0x26, 0xe6, 0x89, 0xbd, 0x43, 0x95, 0x50, 0x12, 0xd9, 0xb5, 0xb3,
- 0x0d, 0x8a, 0x97, 0xf0, 0x62, 0xe9, 0x0e, 0xab, 0x1a, 0xe1, 0xdf, 0xb6,
- 0xe8, 0x8f, 0xe2, 0x4b, 0xd6, 0xc7, 0x62, 0xd1, 0xb7, 0xe4, 0xb0, 0xfa,
- 0xde, 0x0b, 0x3f, 0x48, 0x52, 0x50, 0x6f, 0xfb, 0xc0, 0xe9, 0x52, 0xc4,
- 0x3f, 0x0b, 0x0f, 0xef, 0x82, 0xc0, 0x68, 0x80, 0xb8, 0x94, 0xed, 0x5f,
- 0x31, 0xfe, 0x8e, 0x19, 0xff, 0xb3, 0x00, 0xee, 0x0a, 0x23, 0xa3, 0x84,
- 0x3f, 0x7b, 0x6d, 0x93, 0x00, 0xd5, 0x8b, 0x6a, 0x3c, 0x19, 0x35, 0x1f,
- 0x82, 0x42, 0x3e, 0x33, 0x26, 0x0b, 0x87, 0x1b, 0xfc, 0x26, 0x0f, 0x0c,
- 0x57, 0x49, 0x66, 0x20, 0xad, 0x03, 0xb6, 0xb1, 0x69, 0x22, 0xb2, 0xa8,
- 0x17, 0xc2, 0xca, 0xe7, 0x08, 0xc1, 0x3a, 0x3e, 0xb0, 0x3d, 0x2f, 0x19,
- 0x44, 0x22, 0x75, 0xf3, 0xeb, 0x6d, 0x1d, 0xad, 0x57, 0xd6, 0x58, 0x03,
- 0x38, 0xf6, 0x3e, 0x05, 0xac, 0x98, 0xa1, 0x97, 0x9c, 0x86, 0x8c, 0x6b,
- 0xeb, 0x6b, 0xe2, 0x54, 0xc1, 0x0f, 0x61, 0xab, 0x48, 0x4a, 0x84, 0xa2,
- 0x62, 0xec, 0x98, 0x30, 0x33, 0xc4, 0x97, 0xd3, 0x0b, 0x68, 0x1d, 0x07,
- 0xc4, 0xda, 0xcd, 0x9d, 0x60, 0xa0, 0x20, 0xc2, 0x09, 0x52, 0xbb, 0x99,
- 0x41, 0xbd, 0x6a, 0xe0, 0x40, 0xbe, 0x91, 0xec, 0x6c, 0xb1, 0x0c, 0xc6,
- 0xb6, 0xa9, 0xcd, 0x56, 0x8c, 0xa3, 0xb5, 0xd7, 0x1b, 0x6b, 0x66, 0x69,
- 0xed, 0x66, 0x91, 0xd7, 0xf1, 0x51, 0x83, 0x90, 0xa6, 0x0f, 0x2c, 0x79,
- 0x96, 0xe6, 0x98, 0xfb, 0x90, 0xf4, 0xe8, 0x40, 0x83, 0x08, 0x7a, 0x65,
- 0x25, 0xde, 0x4e, 0x4a, 0x2c, 0xa7, 0xdb, 0xc9, 0x58, 0x2f, 0x4c, 0xe2,
- 0xf1, 0xac, 0xc2, 0x54, 0x7d, 0x2a, 0xa6, 0x60, 0xb4, 0xbf, 0xf2, 0xc0,
- 0xd1, 0xc7, 0x03, 0xd7, 0x13, 0x03, 0x39, 0xd4, 0x44, 0x41, 0x5c, 0x22,
- 0x8e, 0x47, 0x63, 0x95, 0xea, 0xbd, 0xf6, 0x7a, 0x9d, 0x05, 0x96, 0xf5,
- 0xa7, 0x39, 0xdf, 0x5e, 0x8b, 0x7e, 0x0a, 0xd7, 0xb5, 0x46, 0xfc, 0xae,
- 0x63, 0x21, 0x08, 0xd9, 0x3e, 0xf5, 0x46, 0x74, 0x38, 0xcc, 0xc7, 0x8f,
- 0x5f, 0x52, 0xd8, 0x49, 0x5e, 0x39, 0xdc, 0xa4, 0x1f, 0x35, 0x54, 0xe6,
- 0xb6, 0x81, 0x68, 0x14, 0x38, 0x2a, 0xfa, 0xf3, 0x2b, 0x7c, 0x5c, 0x2d,
- 0x86, 0xb5, 0xa8, 0xdf, 0x07, 0x26, 0x54, 0xce, 0xa9, 0x1d, 0xd7, 0x0a,
- 0xc1, 0xc2, 0x78, 0x77, 0x24, 0x62, 0x51, 0x49, 0x11, 0xc8, 0x12, 0xf2,
- 0xec, 0xa8, 0x95, 0xcd, 0x4e, 0x48, 0xfe, 0x55, 0xf1, 0xba, 0x1f, 0x1d,
- 0x99, 0x2c, 0x99, 0x24, 0x80, 0x91, 0x8d, 0xd7, 0x98, 0x65, 0x87, 0x53,
- 0x12, 0xfe, 0xf9, 0x30, 0x15, 0x37, 0xfb, 0x38, 0xaf, 0xe1, 0x6e, 0x32,
- 0xa6, 0x03, 0x08, 0xf7, 0x30, 0x52, 0xda, 0x28, 0x2f, 0x38, 0x46, 0xc4,
- 0xee, 0x74, 0x63, 0xbf, 0xc8, 0xd4, 0x7a, 0x27, 0x02, 0xcc, 0xa5, 0x6c,
- 0xb4, 0x1b, 0xbd, 0x34, 0x5f, 0x0a, 0x60, 0xd5, 0xb3, 0xc5, 0x5f, 0x46,
- 0x9f, 0xf7, 0xf0, 0x29, 0xa7, 0x5b, 0xac, 0xd0, 0x7d, 0x3d, 0x83, 0xa3,
- 0x2b, 0x4a, 0x61, 0x8f, 0x12, 0x93, 0x02, 0x05, 0x39, 0x24, 0x09, 0x86,
- 0x71, 0x99, 0xbc, 0xd8, 0x53, 0xf5, 0x92, 0x77, 0xa9, 0x54, 0xff, 0x6d,
- 0xcd, 0x09, 0xcb, 0x72, 0xc8, 0x59, 0x50, 0xf3, 0x22, 0x50, 0x61, 0x31,
- 0x2a, 0x67, 0xd8, 0xfc, 0x8b, 0x73, 0x70, 0x51, 0x9a, 0x82, 0x22, 0x39,
- 0xad, 0xa8, 0xa2, 0xe8, 0xe5, 0x0b, 0x67, 0xd2, 0x4f, 0xb8, 0x2b, 0x1a,
- 0x9c, 0x54, 0x56, 0xd8, 0x5c, 0x91, 0xda, 0xeb, 0xf0, 0x5d, 0xef, 0x5e,
- 0xa2, 0xaf, 0x83, 0x81, 0xc7, 0x64, 0x8d, 0xc6, 0xc1, 0xf8, 0xd4, 0x35,
- 0x72, 0x2f, 0xc1, 0x17, 0x4a, 0x38, 0xcd, 0x4f, 0xaf, 0x24, 0x6a, 0xc7,
- 0x44, 0xd2, 0xf7, 0x79, 0x12, 0x4c, 0xd8, 0x4f, 0xd3, 0x35, 0x06, 0x11,
- 0x26, 0xcb, 0x82, 0xa4, 0x8f, 0x3c, 0xc6, 0x4a, 0x82, 0xd6, 0x29, 0x89,
- 0x9e, 0xfe, 0xfe, 0xe8, 0xfc, 0xc3, 0xd1, 0xd9, 0xf3, 0xbb, 0x02, 0xd5,
- 0x1a, 0xcd, 0x3d, 0x91, 0x03, 0xeb, 0x82, 0x19, 0x34, 0xa0, 0x7e, 0xc2,
- 0x50, 0x06, 0x5e, 0xd4, 0x01, 0xa1, 0x0d, 0x9a, 0xd9, 0x7a, 0x58, 0x34,
- 0x86, 0x74, 0x85, 0x49, 0x22, 0x61, 0x08, 0x20, 0xce, 0xf3, 0x95, 0x10,
- 0xb9, 0x93, 0xb9, 0x19, 0x97, 0xd2, 0x93, 0xb1, 0xa3, 0xef, 0xe3, 0xeb,
- 0x1d, 0x49, 0x1e, 0x37, 0x75, 0xe2, 0x21, 0x2a, 0x37, 0xb5, 0xed, 0x26,
- 0xf5, 0x4a, 0x9b, 0x5a, 0x8b, 0x40, 0xab, 0x79, 0xdf, 0xf2, 0xc9, 0xc4,
- 0x66, 0xcf, 0x36, 0x23, 0x7c, 0xc7, 0xc7, 0xed, 0x25, 0xb7, 0x9f, 0x12,
- 0x2d, 0xb5, 0x91, 0x91, 0x4e, 0xdb, 0x68, 0xb9, 0x7b, 0xaf, 0xca, 0xb9,
- 0x1a, 0xfd, 0x50, 0xe6, 0x16, 0xde, 0x55, 0x98, 0xa0, 0x8b, 0x1c, 0xa0,
- 0x2a, 0x2e, 0xb5, 0x9b, 0x1d, 0x9c, 0x5c, 0xd1, 0x66, 0x5d, 0x1e, 0x0d,
- 0x06, 0x46, 0x16, 0x96, 0x92, 0x96, 0xd0, 0xf5, 0x8c, 0x31, 0x52, 0x23,
- 0xdd, 0xb6, 0x27, 0xfd, 0xc8, 0x74, 0x8a, 0x95, 0x74, 0x4e, 0x8a, 0xfd,
- 0x80, 0xcd, 0x77, 0xbd, 0x9c, 0xc3, 0x85, 0x01, 0x8d, 0x77, 0xbc, 0x56,
- 0x4a, 0x28, 0xb6, 0x49, 0x78, 0xc8, 0xb9, 0x44, 0x93, 0xa2, 0xb3, 0x46,
- 0xda, 0xc3, 0xb3, 0x1f, 0x68, 0x0c, 0x09, 0xb9, 0x3c, 0x07, 0xaf, 0x5d,
- 0x88, 0xdb, 0x6e, 0xd8, 0x99, 0xde, 0x19, 0x9c, 0x5e, 0x9f, 0xc0, 0xf6,
- 0x7d, 0xb8, 0x7e, 0xd7, 0x91, 0xd4, 0x85, 0x26, 0x0a, 0x06, 0x39, 0xed,
- 0xb1, 0xc5, 0xeb, 0x9d, 0xa9, 0x96, 0x2d, 0xd8, 0x91, 0x02, 0xd6, 0x42,
- 0x48, 0x03, 0xb7, 0x1f, 0xed, 0xaf, 0x38, 0xa5, 0xfd, 0xfe, 0x7e, 0xf3,
- 0x94, 0xda, 0xe1, 0xaa, 0x19, 0xc0, 0xd8, 0x23, 0x77, 0x41, 0x45, 0xc6,
- 0xec, 0xa9, 0x4d, 0xdb, 0x3c, 0x85, 0x82, 0x6c, 0x84, 0xae, 0x13, 0x73,
- 0x29, 0xbc, 0x87, 0x9e, 0xa7, 0x50, 0x82, 0x4e, 0x5c, 0x9c, 0xb0, 0x9b,
- 0x0d, 0xdc, 0x90, 0x78, 0x7b, 0x39, 0x1c, 0x0a, 0x27, 0x16, 0x17, 0x63,
- 0x53, 0x16, 0xea, 0xeb, 0x87, 0x9a, 0xeb, 0x87, 0x2d, 0x99, 0x80, 0x04,
- 0xb4, 0x25, 0x4b, 0xad, 0x5a, 0xd7, 0xef, 0xad, 0x60, 0xf3, 0xf9, 0xc2,
- 0x60, 0xda, 0xe4, 0x45, 0xa7, 0x2e, 0x2d, 0x06, 0x15, 0x7a, 0x65, 0xf6,
- 0x63, 0x18, 0xff, 0x19, 0xf7, 0x55, 0xf2, 0x45, 0x0e, 0xf9, 0xcf, 0x30,
- 0xbd, 0x93, 0xc8, 0x2d, 0xf2, 0x19, 0x3b, 0x10, 0xe5, 0x0d, 0x4e, 0xe2,
- 0xe4, 0x62, 0x17, 0xa9, 0xc3, 0x28, 0x28, 0xe1, 0x50, 0x42, 0x34, 0xd4,
- 0xd4, 0xdc, 0x6f, 0xbb, 0xb5, 0x3e, 0xd8, 0x30, 0x9e, 0xd6, 0x6b, 0x8a,
- 0x28, 0xd2, 0x68, 0x81, 0x2a, 0x26, 0x07, 0x59, 0x51, 0xd4, 0xcb, 0x10,
- 0xba, 0x8f, 0x73, 0x7b, 0x7d, 0x8b, 0x89, 0x18, 0xf5, 0xe8, 0x7e, 0xdc,
- 0x82, 0x55, 0x47, 0x6e, 0x2d, 0x4a, 0x22, 0x23, 0x1b, 0x90, 0x6b, 0xa6,
- 0x8e, 0xbf, 0x7f, 0xe3, 0x34, 0xdb, 0xd1, 0x3c, 0x35, 0xa6, 0x17, 0x51,
- 0x48, 0xdb, 0xd0, 0xe0, 0x12, 0x9b, 0x6c, 0xd9, 0xa7, 0xa0, 0xea, 0x38,
- 0x49, 0x16, 0x06, 0xda, 0x3c, 0xa5, 0x1a, 0x9b, 0xb4, 0xa4, 0x20, 0xaa,
- 0xc0, 0xca, 0x53, 0x3b, 0xb9, 0x96, 0xd9, 0x09, 0xeb, 0xd0, 0x16, 0x91,
- 0x64, 0xef, 0x60, 0xf3, 0x30, 0x0c, 0xe3, 0x6e, 0xbf, 0xdc, 0xfd, 0x1c,
- 0x64, 0xf3, 0x23, 0x61, 0x8d, 0xdb, 0x2d, 0x63, 0x2c, 0xe0, 0x76, 0x9c,
- 0x3f, 0x31, 0x6a, 0x34, 0xbd, 0x57, 0xe0, 0x14, 0xa2, 0x12, 0xcd, 0x08,
- 0x72, 0x50, 0x49, 0x71, 0xb3, 0x8f, 0x45, 0x03, 0x9b, 0x28, 0x1b, 0x26,
- 0x49, 0x77, 0xb4, 0x4f, 0x9c, 0x20, 0xd6, 0x77, 0x08, 0x18, 0x1b, 0x94,
- 0x60, 0x27, 0x35, 0x60, 0x29, 0x57, 0x27, 0xd7, 0x57, 0xf0, 0xc7, 0xe0,
- 0xfa, 0xe2, 0xaa, 0x05, 0x99, 0xb1, 0x62, 0x98, 0x0e, 0xdc, 0x34, 0x4d,
- 0x57, 0xa1, 0x6d, 0xae, 0xa3, 0xb6, 0x51, 0x26, 0x34, 0xb3, 0x9d, 0x32,
- 0x08, 0xf4, 0xe5, 0xe0, 0x7d, 0x95, 0xfd, 0xda, 0x42, 0x27, 0x20, 0x1f,
- 0x56, 0x2e, 0x8c, 0xcf, 0x7c, 0x35, 0x85, 0xd0, 0x82, 0x91, 0x18, 0x71,
- 0xc5, 0x86, 0xd1, 0xd3, 0x6c, 0xc1, 0x68, 0x43, 0xe7, 0xbf, 0x85, 0xb1,
- 0xd7, 0xf6, 0xd4, 0x2d, 0x68, 0x86, 0x9c, 0x9a, 0xcb, 0xcd, 0x59, 0x6c,
- 0xb7, 0x76, 0xe0, 0xb4, 0x0a, 0x05, 0xd0, 0x89, 0xd6, 0xc9, 0x81, 0x2c,
- 0x7a, 0xc9, 0x13, 0xf4, 0x0b, 0xba, 0xd0, 0x86, 0x5d, 0x70, 0x99, 0xcf,
- 0x13, 0xf6, 0xf0, 0x73, 0x72, 0xae, 0x32, 0x27, 0x96, 0x2d, 0x8c, 0x4b,
- 0x1b, 0x85, 0xf0, 0x30, 0x0c, 0x84, 0x18, 0x9e, 0xf2, 0x9a, 0x41, 0x14,
- 0xc8, 0x85, 0x3a, 0xf8, 0x5c, 0x12, 0xb0, 0x54, 0x2b, 0xc2, 0x66, 0x5b,
- 0xd3, 0x59, 0x39, 0xd8, 0x62, 0x75, 0xe6, 0xbd, 0xdd, 0x64, 0x32, 0x08,
- 0xca, 0x10, 0xe6, 0x2c, 0xd4, 0x47, 0x4f, 0x8b, 0xeb, 0x29, 0xd1, 0x4a,
- 0x73, 0x6c, 0x48, 0x97, 0x70, 0xfb, 0x87, 0x5e, 0xca, 0x53, 0xc1, 0xb0,
- 0x1a, 0x55, 0x2f, 0x22, 0x98, 0x87, 0xa1, 0x6d, 0x39, 0x72, 0x0e, 0xd1,
- 0x2c, 0x9b, 0x4c, 0xb7, 0xa6, 0xcf, 0xf9, 0x6c, 0x56, 0x95, 0xb6, 0xc8,
- 0x76, 0x64, 0xf2, 0xd0, 0x28, 0x5a, 0xdb, 0x7e, 0xb5, 0xa1, 0x44, 0x37,
- 0x35, 0x18, 0x4a, 0xb7, 0xb2, 0x4e, 0x06, 0xea, 0x91, 0x1d, 0x44, 0xd0,
- 0x89, 0x3e, 0x64, 0x82, 0x1c, 0x93, 0x81, 0x6d, 0x41, 0xf9, 0x0f, 0x63,
- 0xb3, 0x69, 0x08, 0xa8, 0x84, 0x69, 0x5b, 0x2c, 0xb4, 0xc6, 0x39, 0x2b,
- 0xf4, 0x84, 0xe9, 0xec, 0x43, 0x84, 0x91, 0x0f, 0x99, 0xb2, 0x09, 0x54,
- 0xd2, 0xc8, 0x78, 0xd6, 0x2e, 0x19, 0x55, 0xcd, 0x95, 0x12, 0xca, 0x83,
- 0xb7, 0xd0, 0x4b, 0xf7, 0xd0, 0x98, 0xa5, 0x91, 0xf5, 0x63, 0x79, 0x41,
- 0xc5, 0x60, 0x0b, 0x8c, 0xa8, 0xa0, 0x5e, 0x01, 0x81, 0xb5, 0xc8, 0x82,
- 0xa5, 0x59, 0x0c, 0x69, 0xb1, 0xcc, 0x66, 0x98, 0x23, 0x5e, 0x87, 0x8a,
- 0x50, 0x35, 0xb0, 0xbf, 0xa2, 0x8a, 0xd5, 0x45, 0x96, 0xa8, 0x91, 0x64,
- 0xbd, 0x5e, 0xbf, 0xbe, 0xba, 0xd6, 0xca, 0x5f, 0x22, 0xd0, 0x2b, 0x3c,
- 0x32, 0x45, 0xa4, 0x54, 0xda, 0x4a, 0xb3, 0x14, 0x91, 0x84, 0xf2, 0x62,
- 0x13, 0xab, 0x54, 0x10, 0xb3, 0x0f, 0xac, 0xca, 0x7c, 0x46, 0xad, 0x7d,
- 0x54, 0x75, 0x0b, 0x35, 0x64, 0x26, 0x15, 0x8c, 0x31, 0x78, 0x60, 0xf0,
- 0x7a, 0xe5, 0xbe, 0xd3, 0xac, 0x0e, 0xa5, 0xa9, 0x03, 0x1b, 0xd1, 0x0f,
- 0xb5, 0x83, 0xe3, 0x8c, 0x10, 0xca, 0x78, 0xac, 0xab, 0x63, 0xda, 0x9a,
- 0x54, 0x9b, 0x8b, 0xd0, 0xb9, 0x92, 0xca, 0x47, 0xf9, 0xf7, 0x2d, 0xb5,
- 0x7c, 0xda, 0xd8, 0x85, 0xc0, 0xa1, 0x60, 0x57, 0xba, 0x9c, 0x1d, 0x52,
- 0xbf, 0x99, 0x64, 0x39, 0xd4, 0xbf, 0x56, 0x26, 0xd5, 0x72, 0xe1, 0xcb,
- 0x79, 0x5b, 0x7d, 0x6a, 0x46, 0xd4, 0xa0, 0xa8, 0x33, 0x45, 0x44, 0x55,
- 0xb0, 0xdb, 0xef, 0xa2, 0xf3, 0x37, 0x6f, 0x23, 0x69, 0x02, 0x9e, 0x74,
- 0x6f, 0x43, 0x02, 0x50, 0xf1, 0x82, 0x0d, 0x82, 0xa3, 0x0e, 0xe8, 0x17,
- 0x5b, 0x1d, 0x06, 0x5a, 0x90, 0xb2, 0x2d, 0x8e, 0xb2, 0x9b, 0xb7, 0x61,
- 0x5f, 0x9c, 0xf9, 0xfa, 0x77, 0x46, 0xeb, 0x51, 0xa4, 0x64, 0x11, 0x4f,
- 0x67, 0x1d, 0x7b, 0xd1, 0xd3, 0xfd, 0xdd, 0xf8, 0xac, 0x75, 0xe9, 0x2b,
- 0x66, 0xd5, 0xd9, 0x7e, 0xb5, 0xd3, 0xdf, 0x7e, 0xf1, 0x79, 0x7f, 0x9b,
- 0x3a, 0xd9, 0x3a, 0x73, 0xb3, 0x1d, 0x57, 0x9d, 0x81, 0x02, 0xfd, 0x7c,
- 0xa3, 0x76, 0x44, 0x5f, 0xfe, 0xc2, 0xfc, 0xb1, 0x8f, 0xcf, 0xf5, 0xb9,
- 0xab, 0x8e, 0xf7, 0x8d, 0x39, 0xe8, 0x34, 0x69, 0xe6, 0xc5, 0x41, 0x7a,
- 0x36, 0xab, 0x88, 0x69, 0x71, 0x91, 0x22, 0x19, 0x29, 0xca, 0xa6, 0xb3,
- 0x4f, 0xda, 0x10, 0xd0, 0x34, 0x38, 0xa1, 0xdb, 0x19, 0x9e, 0x91, 0xb2,
- 0xf4, 0x91, 0xa8, 0x91, 0x96, 0xab, 0x9b, 0xef, 0x7b, 0x6c, 0xf3, 0x17,
- 0x5b, 0x7d, 0x08, 0xe1, 0x62, 0x2e, 0x5d, 0x13, 0xa6, 0x8b, 0x20, 0x9e,
- 0x9a, 0x28, 0x41, 0x02, 0xfa, 0xc2, 0x0f, 0xaa, 0xc6, 0x6d, 0x02, 0xe2,
- 0xae, 0x90, 0x21, 0xf0, 0x23, 0x5b, 0x89, 0xe3, 0x56, 0x12, 0xd3, 0xc8,
- 0xa6, 0x4e, 0xb4, 0x01, 0xe7, 0x64, 0x60, 0x96, 0x98, 0x49, 0xeb, 0x70,
- 0xf8, 0xce, 0x9f, 0xff, 0x6c, 0x39, 0x12, 0xb7, 0x55, 0xa7, 0x5e, 0x1e,
- 0xfb, 0x04, 0xd5, 0xca, 0xb1, 0x6a, 0xee, 0x0a, 0xd0, 0x39, 0xf8, 0x91,
- 0x9c, 0xc3, 0x3f, 0xf7, 0x7e, 0x84, 0x7f, 0xfe, 0xdc, 0xd1, 0x4b, 0xcd,
- 0xb0, 0x5c, 0xb6, 0x60, 0xc4, 0xc2, 0x1f, 0xd2, 0x01, 0x75, 0xa3, 0x7a,
- 0x5b, 0x5a, 0xd2, 0x0c, 0xae, 0x8f, 0x2f, 0xf9, 0x32, 0x16, 0x1c, 0xf6,
- 0x26, 0x6a, 0x46, 0x3e, 0x44, 0x6a, 0x3d, 0xb2, 0x70, 0xea, 0xa8, 0xc1,
- 0x74, 0x62, 0xf6, 0xd2, 0x79, 0xa5, 0x6b, 0x93, 0x1a, 0xee, 0x99, 0x03,
- 0xc4, 0xa0, 0xdf, 0x4e, 0xd1, 0xbf, 0xc2, 0x25, 0xe9, 0xc0, 0x77, 0x55,
- 0x91, 0x96, 0x8e, 0xc1, 0x08, 0xec, 0x05, 0x6c, 0xc0, 0x5c, 0x87, 0x7b,
- 0x98, 0x52, 0x37, 0x12, 0xf8, 0x5b, 0xae, 0x8d, 0xa8, 0x04, 0x4b, 0x11,
- 0xb6, 0x01, 0x36, 0x4a, 0xb9, 0x6d, 0x91, 0x96, 0xb7, 0xb8, 0x3e, 0x29,
- 0xf3, 0x71, 0x72, 0x85, 0x70, 0x3e, 0x9f, 0x19, 0xad, 0xef, 0x51, 0x21,
- 0x6b, 0x4c, 0xe1, 0x9e, 0xb3, 0xb3, 0x56, 0x3a, 0xe8, 0xb1, 0x2b, 0x10,
- 0x65, 0x10, 0x76, 0x4b, 0x1e, 0x2b, 0x92, 0x67, 0xa0, 0xc1, 0x49, 0x2a,
- 0xcc, 0x25, 0xe8, 0xb9, 0x86, 0x34, 0x1c, 0x68, 0x26, 0x2c, 0x69, 0x47,
- 0x62, 0x41, 0xe9, 0xb7, 0xd1, 0x94, 0x5a, 0xd8, 0xa1, 0x06, 0x1d, 0xc5,
- 0x0c, 0x0f, 0x65, 0xf0, 0xcd, 0xa8, 0x67, 0x16, 0x96, 0x4f, 0x14, 0x30,
- 0x8d, 0x71, 0x57, 0x6b, 0xf3, 0xf9, 0x66, 0x60, 0x90, 0x57, 0x75, 0xba,
- 0xcf, 0x82, 0xb6, 0x02, 0x5d, 0x34, 0xab, 0x8c, 0xce, 0xd8, 0xa7, 0x8e,
- 0x9b, 0x4f, 0xbb, 0x8e, 0x7f, 0x02, 0xb7, 0xd6, 0x8e, 0x6a, 0xf7, 0x19,
- 0xb5, 0x47, 0x8e, 0x7c, 0x83, 0x86, 0xa6, 0x3f, 0x0f, 0x41, 0xf4, 0x3a,
- 0x42, 0x75, 0x67, 0xcb, 0x77, 0xa5, 0x60, 0xd3, 0x67, 0xda, 0xe4, 0x5e,
- 0xba, 0x78, 0x7a, 0x03, 0x15, 0xe6, 0x0b, 0x8f, 0xb4, 0xc6, 0x59, 0x8c,
- 0x84, 0x29, 0x97, 0xd3, 0x29, 0x61, 0x62, 0xf8, 0x99, 0x79, 0x54, 0xb1,
- 0x28, 0x85, 0x03, 0xd2, 0xcf, 0x00, 0x18, 0x39, 0xcd, 0x5c, 0x77, 0xc3,
- 0x96, 0x45, 0x0a, 0xc3, 0x29, 0x6d, 0x67, 0x92, 0xd6, 0xd2, 0x59, 0xec,
- 0x65, 0x27, 0xd7, 0xdb, 0x6a, 0x32, 0x45, 0xd2, 0xd3, 0x89, 0x36, 0xf9,
- 0x20, 0xa6, 0x06, 0x79, 0x19, 0xb0, 0xcc, 0x11, 0xc9, 0xd7, 0xd0, 0xce,
- 0xfb, 0x56, 0xba, 0x1b, 0xd1, 0xc3, 0x86, 0xfd, 0x71, 0x18, 0x8e, 0x27,
- 0x9d, 0x08, 0x88, 0x1f, 0xa3, 0xb0, 0x15, 0x06, 0xd5, 0x8a, 0xf5, 0x4a,
- 0xe1, 0x47, 0x4d, 0xa9, 0x39, 0xa1, 0xed, 0x58, 0xe5, 0x17, 0xb0, 0xac,
- 0xd0, 0xd5, 0x96, 0xf6, 0xfa, 0x3b, 0xde, 0xc1, 0x96, 0xb3, 0xde, 0x68,
- 0x34, 0xea, 0x91, 0x1e, 0x70, 0xc8, 0xca, 0xc9, 0xa6, 0x28, 0x07, 0x2d,
- 0x3e, 0x83, 0x41, 0x22, 0xfb, 0x7d, 0x7c, 0x7c, 0x2c, 0x7a, 0xcc, 0xf5,
- 0x4d, 0x43, 0xa3, 0x30, 0x80, 0x53, 0xa2, 0x51, 0x85, 0xda, 0x1c, 0x96,
- 0x37, 0xcb, 0x6a, 0x4c, 0xdd, 0x90, 0x91, 0x65, 0x28, 0xeb, 0x35, 0x35,
- 0xb2, 0x0d, 0x54, 0x50, 0x6c, 0x4a, 0xdf, 0xb5, 0x99, 0x89, 0x30, 0xb6,
- 0x77, 0x34, 0x0b, 0x6e, 0x80, 0x42, 0x2f, 0xca, 0xd8, 0xcd, 0x16, 0xab,
- 0x3c, 0x55, 0x17, 0xba, 0x4b, 0x27, 0x58, 0x86, 0x32, 0xd9, 0x74, 0x14,
- 0xfa, 0x6c, 0x9c, 0x4a, 0x06, 0x58, 0x2c, 0xdf, 0x6a, 0x8e, 0xfd, 0xc4,
- 0x79, 0xc8, 0x56, 0xd7, 0x8f, 0xe4, 0x45, 0xeb, 0x91, 0x04, 0x37, 0x1f,
- 0xad, 0x2a, 0xdc, 0xf6, 0xf5, 0x63, 0x42, 0x14, 0x3d, 0x96, 0x0b, 0x71,
- 0x7c, 0x83, 0xf9, 0x5b, 0x33, 0x3c, 0x1c, 0x98, 0x72, 0xc9, 0x4c, 0x40,
- 0xe4, 0xc7, 0x60, 0x70, 0xb6, 0x79, 0x7d, 0x36, 0xf0, 0x32, 0xde, 0x1f,
- 0xd1, 0x65, 0xcc, 0x4d, 0xb4, 0x6b, 0x2e, 0x4f, 0xde, 0x22, 0x02, 0x87,
- 0xce, 0x27, 0x75, 0x0a, 0xe7, 0xaf, 0x04, 0xf1, 0x4e, 0x96, 0x99, 0x16,
- 0xc3, 0x18, 0xd9, 0x9d, 0x25, 0x19, 0x15, 0x91, 0xa3, 0x08, 0xa7, 0x1b,
- 0x40, 0x09, 0xb1, 0x65, 0x74, 0x7e, 0x74, 0x8d, 0xe5, 0x2d, 0x95, 0xa4,
- 0x78, 0xa0, 0x0b, 0xc8, 0xf7, 0x8c, 0xdf, 0x1b, 0x5c, 0x02, 0x8a, 0xda,
- 0xc4, 0x23, 0xdb, 0x0c, 0x45, 0x95, 0x75, 0x3e, 0xbe, 0x52, 0x09, 0x6f,
- 0xd5, 0xf6, 0xc3, 0x96, 0x8a, 0x74, 0x68, 0xd2, 0x7c, 0xf3, 0x34, 0xb6,
- 0x83, 0xa7, 0xc1, 0x1b, 0x10, 0xbe, 0x0e, 0x57, 0xc2, 0xca, 0x75, 0xa3,
- 0xa5, 0x8a, 0x5f, 0xa7, 0x3f, 0xcb, 0xa7, 0x29, 0x7a, 0x02, 0xe9, 0xbc,
- 0xdc, 0xc0, 0x9b, 0xe7, 0x26, 0xe5, 0xdd, 0x29, 0xb9, 0x14, 0xa7, 0x0e,
- 0x60, 0xcb, 0x57, 0x04, 0xe5, 0x84, 0xd9, 0x53, 0xd3, 0x87, 0x49, 0x4b,
- 0x20, 0xfd, 0x0a, 0x43, 0xc2, 0xce, 0x4b, 0x47, 0x60, 0x22, 0x8c, 0x30,
- 0xfb, 0x83, 0xca, 0x01, 0xcb, 0x7a, 0x8a, 0x6d, 0x5a, 0x83, 0xe5, 0x53,
- 0x0f, 0x69, 0xe9, 0xc7, 0x2a, 0x48, 0x53, 0x90, 0x15, 0xae, 0xf4, 0xc3,
- 0xbf, 0xa8, 0x09, 0x8f, 0x6f, 0xd0, 0x22, 0x9b, 0x7a, 0x42, 0xd7, 0xa0,
- 0x50, 0x04, 0x90, 0xff, 0x48, 0x45, 0xa5, 0xf2, 0x7e, 0xe9, 0x6d, 0xec,
- 0x42, 0xba, 0xaf, 0x42, 0xef, 0xee, 0x36, 0xdb, 0x99, 0x31, 0x2a, 0x61,
- 0x1d, 0xac, 0xba, 0x06, 0x0d, 0xa4, 0x89, 0xbe, 0x8d, 0xe1, 0xbe, 0x39,
- 0xb1, 0xed, 0x13, 0x1a, 0xf8, 0x41, 0xb5, 0xd6, 0x0a, 0x1c, 0x87, 0xc4,
- 0x18, 0xd4, 0x3d, 0x76, 0x61, 0xbd, 0x6f, 0x31, 0x72, 0x58, 0x89, 0xbd,
- 0xb6, 0x68, 0xec, 0x7c, 0x3f, 0x58, 0x0b, 0x4c, 0x4c, 0x96, 0x2a, 0x42,
- 0xcf, 0x68, 0x80, 0xfe, 0xdf, 0xd7, 0x6c, 0x77, 0xa0, 0x7e, 0xc0, 0x0f,
- 0xa1, 0xd2, 0xc1, 0x07, 0x10, 0xb6, 0xa1, 0xa7, 0xae, 0x9d, 0xb0, 0xfd,
- 0xae, 0xdf, 0xde, 0x83, 0x97, 0xb7, 0x7a, 0x3e, 0xef, 0x4e, 0x8e, 0xde,
- 0x18, 0x18, 0x81, 0xdf, 0x03, 0x59, 0xd8, 0x7a, 0x35, 0x87, 0x09, 0x77,
- 0x81, 0x58, 0xaa, 0xa3, 0x84, 0x4e, 0x47, 0x09, 0x95, 0x68, 0x05, 0xd4,
- 0xb5, 0x32, 0xe1, 0x1b, 0xd2, 0xda, 0x0c, 0xa1, 0xd5, 0x33, 0xe2, 0x66,
- 0x1f, 0x88, 0xc7, 0x1a, 0x35, 0x65, 0xae, 0xad, 0x72, 0x08, 0x79, 0x4a,
- 0x84, 0x3c, 0xcb, 0x87, 0xf9, 0x64, 0xb2, 0x42, 0xba, 0x33, 0x3c, 0x24,
- 0xd5, 0x40, 0x31, 0xc1, 0x74, 0x70, 0x1b, 0xf1, 0xbd, 0x21, 0xce, 0x1e,
- 0x8e, 0x14, 0xae, 0x5a, 0x47, 0x0a, 0x13, 0x48, 0x25, 0xf7, 0xee, 0x46,
- 0xbd, 0x30, 0x5d, 0x6d, 0x06, 0x35, 0xf1, 0xa8, 0x30, 0x9f, 0xdd, 0x31,
- 0x9a, 0x26, 0x64, 0x80, 0xfd, 0xcb, 0xe8, 0x1f, 0xff, 0xfc, 0xf1, 0xe7,
- 0x40, 0x77, 0x03, 0x74, 0xf8, 0xdd, 0x70, 0x65, 0x21, 0x3c, 0x3d, 0x17,
- 0xd4, 0x16, 0x83, 0x13, 0xcf, 0x89, 0x26, 0x1c, 0xcf, 0xa8, 0xca, 0x64,
- 0x36, 0xe9, 0x3b, 0x39, 0x95, 0xbe, 0x58, 0x44, 0x13, 0x4a, 0x3f, 0x48,
- 0xdd, 0xea, 0xb0, 0x14, 0x9c, 0xcb, 0x77, 0x11, 0xb9, 0x9b, 0x5a, 0x04,
- 0xd9, 0x94, 0x69, 0x83, 0xec, 0xcb, 0x27, 0xe1, 0xe1, 0xc7, 0xd8, 0x36,
- 0x3e, 0xcd, 0x60, 0xfa, 0x87, 0xab, 0x53, 0xe3, 0xea, 0x74, 0xb9, 0xf2,
- 0x0d, 0x50, 0xea, 0x63, 0x2f, 0x79, 0x4c, 0x86, 0xc0, 0x25, 0x4a, 0x05,
- 0x7e, 0xe8, 0xcd, 0xcb, 0xe8, 0x70, 0x0e, 0x34, 0x9e, 0xb6, 0x40, 0x76,
- 0xbc, 0xc3, 0xd7, 0x22, 0x7d, 0xcd, 0xe0, 0x97, 0x4e, 0xf3, 0x02, 0x76,
- 0x68, 0x2e, 0xd5, 0xb8, 0x52, 0x92, 0x5c, 0x77, 0x66, 0x44, 0x54, 0x60,
- 0xe2, 0xb9, 0x03, 0xee, 0xf6, 0x44, 0xe3, 0x26, 0x30, 0x36, 0x07, 0x28,
- 0x8c, 0x94, 0xf5, 0x25, 0x28, 0x8f, 0x30, 0x7b, 0x30, 0xb2, 0xd1, 0x5a,
- 0x2f, 0xbb, 0x42, 0x52, 0x85, 0xe2, 0xc8, 0x05, 0x61, 0x04, 0x4c, 0x19,
- 0x22, 0x5b, 0x58, 0xc0, 0x74, 0xdc, 0x15, 0x99, 0x2e, 0xa6, 0x2e, 0xfa,
- 0x9b, 0xf4, 0x2e, 0xf6, 0xf7, 0x55, 0x17, 0xc0, 0x6e, 0xd0, 0xc8, 0x66,
- 0xaf, 0x62, 0xc1, 0x46, 0xaa, 0xfd, 0x85, 0x5d, 0x4f, 0xac, 0x31, 0x95,
- 0xbd, 0x4b, 0x39, 0x8f, 0xc7, 0xa6, 0x90, 0xde, 0x85, 0x0e, 0xa4, 0x32,
- 0xc4, 0x18, 0xeb, 0x22, 0x93, 0x59, 0x5f, 0xba, 0x6a, 0x53, 0x5a, 0x95,
- 0x1d, 0x93, 0x18, 0x6e, 0x13, 0xd7, 0xa5, 0xc4, 0x14, 0x01, 0xae, 0x86,
- 0x15, 0x87, 0x3e, 0x95, 0x95, 0x8b, 0xe7, 0x21, 0x18, 0xeb, 0xbd, 0x16,
- 0xbc, 0x9c, 0x29, 0x99, 0xfd, 0x62, 0x3f, 0x10, 0x58, 0x32, 0xf5, 0x0e,
- 0x63, 0x18, 0x12, 0x7c, 0x9b, 0xd2, 0x2b, 0x90, 0x87, 0xf0, 0x81, 0x9f,
- 0xc8, 0x81, 0x37, 0x86, 0xc3, 0x58, 0xcb, 0x8b, 0xfd, 0xfd, 0x7d, 0x8e,
- 0xb5, 0x74, 0x4e, 0xe9, 0xc3, 0x57, 0x27, 0xc7, 0x17, 0xef, 0xdf, 0x9f,
- 0x9c, 0xbf, 0x39, 0x79, 0xa3, 0x19, 0x1f, 0xce, 0x4a, 0x2c, 0x75, 0xf8,
- 0x2b, 0xc2, 0x2c, 0x41, 0xd8, 0xe7, 0xed, 0xfd, 0xad, 0xde, 0xce, 0xfe,
- 0x56, 0x04, 0xb4, 0x18, 0x9b, 0x3a, 0xb5, 0x78, 0x16, 0xa3, 0x7d, 0x7b,
- 0xb3, 0x04, 0x55, 0x0d, 0xa1, 0x3d, 0x2b, 0xc4, 0xdc, 0x20, 0xd7, 0x2b,
- 0x7a, 0x7b, 0x92, 0x0a, 0xed, 0xe8, 0x40, 0x66, 0x40, 0xbf, 0x63, 0x40,
- 0xda, 0x6c, 0xc0, 0x52, 0x74, 0x1f, 0x22, 0xd0, 0x9d, 0x2d, 0xfc, 0x50,
- 0x3f, 0x7a, 0x0b, 0xda, 0xc7, 0x24, 0x7f, 0x60, 0x5a, 0x3c, 0xbe, 0x01,
- 0xa5, 0x34, 0xf1, 0x43, 0x95, 0xf5, 0xf7, 0xf1, 0xf5, 0x5d, 0x7e, 0xfd,
- 0x77, 0x8c, 0xd1, 0xef, 0xbf, 0xaa, 0x1b, 0x96, 0x70, 0x91, 0x09, 0x15,
- 0x5e, 0x4b, 0x12, 0x5b, 0xf0, 0xfd, 0x07, 0x6c, 0x8e, 0xbf, 0x3b, 0xba,
- 0xc4, 0xa7, 0xc1, 0x2c, 0xbf, 0xf8, 0xe1, 0x2f, 0xb6, 0xcc, 0xf3, 0x6e,
- 0x5b, 0xb3, 0x19, 0xa5, 0x92, 0x95, 0x1a, 0xf1, 0x65, 0x7e, 0xd0, 0xdb,
- 0x2a, 0xb3, 0xc6, 0x20, 0x54, 0x21, 0x43, 0x2b, 0xc4, 0x0c, 0x54, 0xd8,
- 0x3a, 0xee, 0x91, 0x25, 0x87, 0x56, 0x94, 0x72, 0xc5, 0x43, 0x75, 0xfd,
- 0xc0, 0xca, 0x71, 0x1a, 0x0f, 0x29, 0xf7, 0x7d, 0x48, 0xb3, 0x31, 0x37,
- 0xa6, 0xad, 0x39, 0x66, 0xab, 0x62, 0x99, 0x84, 0xbc, 0xa6, 0x2b, 0x31,
- 0x76, 0x50, 0xa9, 0x2d, 0xd2, 0x79, 0x5c, 0xa4, 0xdc, 0x7e, 0x1e, 0x09,
- 0xfc, 0x9e, 0x7b, 0x65, 0x72, 0xaa, 0x14, 0xc5, 0xbe, 0x2c, 0x98, 0x6c,
- 0xee, 0xa5, 0x9d, 0x9a, 0x5e, 0x0e, 0x48, 0xc4, 0x0c, 0x6b, 0x24, 0x31,
- 0x4a, 0xde, 0xac, 0x95, 0x30, 0x74, 0x75, 0xfb, 0xdf, 0x28, 0x14, 0x6d,
- 0xa0, 0x73, 0xd1, 0xdb, 0xd3, 0xb3, 0x93, 0x8d, 0xe8, 0x6d, 0x52, 0x49,
- 0x89, 0x93, 0x66, 0x18, 0xa3, 0xc8, 0xff, 0x03, 0x29, 0x58, 0x06, 0x94,
- 0x50, 0x6a, 0x84, 0x83, 0xb9, 0x60, 0xe2, 0x83, 0x23, 0x65, 0x43, 0xeb,
- 0xa5, 0xf8, 0x70, 0x68, 0x89, 0x18, 0x8f, 0xd3, 0xdc, 0x32, 0x8d, 0x6f,
- 0xca, 0xc9, 0x07, 0xf2, 0x6e, 0x15, 0xe7, 0xa1, 0xef, 0x20, 0x9e, 0xe5,
- 0x6e, 0x0a, 0x01, 0x4e, 0x5a, 0x72, 0x9e, 0x35, 0x5e, 0x9c, 0x96, 0x8b,
- 0x19, 0x72, 0x83, 0x20, 0xca, 0xcb, 0x2c, 0xb1, 0x95, 0x7d, 0x44, 0xf9,
- 0xdc, 0x29, 0x5e, 0x8c, 0x1e, 0x62, 0xa8, 0xb8, 0x5e, 0x67, 0xe3, 0xde,
- 0xe9, 0xc6, 0x61, 0xda, 0x09, 0xff, 0xb9, 0xf9, 0x55, 0x10, 0x7c, 0x4c,
- 0x1b, 0x59, 0x50, 0xcf, 0x5c, 0x79, 0x83, 0x28, 0x8a, 0x7b, 0xa8, 0x8b,
- 0x90, 0x57, 0xb5, 0xb3, 0x46, 0x09, 0x01, 0xf5, 0x95, 0x7c, 0x77, 0x6a,
- 0xee, 0xfe, 0x45, 0xfa, 0x34, 0xa9, 0xfe, 0x80, 0x25, 0xe0, 0x56, 0xba,
- 0x70, 0x97, 0x5e, 0x93, 0x65, 0x1c, 0x85, 0x5a, 0xa2, 0x31, 0x57, 0x96,
- 0x96, 0xbc, 0xac, 0x4d, 0x61, 0xb6, 0x7e, 0xac, 0xe9, 0xfa, 0x3a, 0x5f,
- 0x7c, 0xec, 0x46, 0xc0, 0xab, 0xc9, 0x97, 0xc2, 0x55, 0x64, 0x65, 0xd0,
- 0xe5, 0x2f, 0xe5, 0x6d, 0x12, 0xda, 0xa3, 0x96, 0xaa, 0xec, 0x94, 0x61,
- 0x1d, 0x7a, 0x89, 0x0a, 0x1d, 0x57, 0x76, 0x51, 0x1f, 0x82, 0x82, 0xf1,
- 0x32, 0x03, 0xda, 0x92, 0x7c, 0xdd, 0x65, 0x41, 0x4d, 0x9d, 0xdd, 0xfd,
- 0x4c, 0xdd, 0x12, 0xf5, 0xd5, 0x45, 0xd8, 0x3b, 0xd2, 0x29, 0xb1, 0xef,
- 0x07, 0x56, 0xbd, 0x8f, 0x6e, 0x53, 0x2a, 0x44, 0x5c, 0x92, 0x3a, 0x17,
- 0x67, 0x5a, 0x6f, 0xc5, 0xd3, 0x34, 0x38, 0xef, 0x40, 0x6e, 0x7d, 0x2a,
- 0x67, 0x08, 0x6b, 0x9f, 0x0c, 0x59, 0x86, 0x4e, 0x03, 0x44, 0x61, 0xd5,
- 0xf9, 0xcc, 0xa8, 0xa2, 0xc1, 0xdc, 0x16, 0x55, 0xd4, 0xb0, 0x1e, 0x92,
- 0x74, 0xc5, 0x00, 0x2e, 0x74, 0x42, 0x0d, 0x97, 0xc9, 0xe5, 0x77, 0x2f,
- 0x10, 0x63, 0x6b, 0x45, 0xc2, 0xd0, 0xf4, 0x7d, 0xb0, 0x44, 0xe7, 0x58,
- 0x12, 0xa0, 0xf8, 0xcd, 0xb8, 0x64, 0xd9, 0x1e, 0xe0, 0x6d, 0xd3, 0xf4,
- 0x2e, 0x94, 0x65, 0x81, 0xf9, 0x11, 0x32, 0x31, 0xca, 0xd2, 0xb0, 0xed,
- 0x62, 0x35, 0xed, 0xd8, 0x84, 0xb4, 0xd9, 0x2f, 0x8d, 0x38, 0x80, 0xb2,
- 0xb3, 0xde, 0x0d, 0x9e, 0xa1, 0xc6, 0x8a, 0x80, 0x5e, 0x19, 0x37, 0xe8,
- 0x7d, 0x07, 0x9a, 0xcf, 0x41, 0xc7, 0x20, 0xaa, 0x93, 0x5f, 0x95, 0xb8,
- 0x63, 0x8d, 0x72, 0xa4, 0x65, 0x74, 0x2f, 0xd8, 0x77, 0x4c, 0x34, 0xf7,
- 0x4a, 0x19, 0x97, 0x29, 0xb8, 0xf1, 0xd3, 0x9a, 0x4d, 0x01, 0x0c, 0x57,
- 0x8c, 0xfa, 0x88, 0xf1, 0x38, 0xa5, 0x1f, 0x7a, 0xc7, 0xf4, 0xf1, 0xde,
- 0x3b, 0x1a, 0xee, 0x8b, 0x8e, 0x71, 0xf8, 0x36, 0x7f, 0x75, 0xe0, 0x37,
- 0x0a, 0xb6, 0x7e, 0x43, 0x36, 0x3c, 0x96, 0x5a, 0x95, 0x41, 0x89, 0x24,
- 0x32, 0x41, 0xee, 0xc1, 0x05, 0x57, 0x64, 0x53, 0x0f, 0x9c, 0xa2, 0x29,
- 0xa5, 0xdf, 0x65, 0xd3, 0xa4, 0x1c, 0x80, 0x14, 0x59, 0x10, 0x98, 0xce,
- 0xb8, 0x97, 0x4f, 0x7a, 0x94, 0x21, 0x0d, 0xcc, 0xff, 0x16, 0x93, 0x91,
- 0x9c, 0x5b, 0x47, 0x00, 0x21, 0x84, 0xbd, 0x3d, 0x1e, 0x87, 0x54, 0x73,
- 0x2e, 0x64, 0x44, 0xad, 0x43, 0x08, 0x5f, 0x0b, 0x2d, 0xf8, 0x20, 0x0f,
- 0xc4, 0x2b, 0x4f, 0xaf, 0x9b, 0x2e, 0x54, 0x88, 0xcc, 0x25, 0x05, 0x11,
- 0x9e, 0x3f, 0x8d, 0xca, 0x23, 0xba, 0xac, 0xbd, 0xd3, 0xaa, 0xc9, 0x86,
- 0x9b, 0xb3, 0x2b, 0x97, 0xfc, 0xcf, 0xcb, 0x05, 0xa9, 0xac, 0x88, 0xd8,
- 0xe9, 0x79, 0x5f, 0xb4, 0x48, 0x84, 0xb0, 0x38, 0x41, 0xf8, 0xef, 0xf7,
- 0xb7, 0xba, 0x5e, 0xa0, 0xbe, 0x22, 0x63, 0x3f, 0xb3, 0x59, 0x42, 0xf0,
- 0x30, 0xf1, 0xc8, 0x5e, 0xa8, 0xba, 0xb6, 0xac, 0x1e, 0x91, 0x5f, 0x9b,
- 0x62, 0x5a, 0x4a, 0x2d, 0xb6, 0x75, 0x0f, 0x36, 0xa7, 0x87, 0xb6, 0x50,
- 0xd8, 0x26, 0x57, 0xd1, 0x86, 0x20, 0x4e, 0x25, 0x63, 0xeb, 0xab, 0x5e,
- 0xb3, 0x4d, 0xa6, 0xe9, 0x76, 0xe6, 0x56, 0x6f, 0x38, 0x7d, 0xcb, 0x5a,
- 0x3d, 0x4d, 0x84, 0x26, 0x7a, 0xa4, 0xad, 0x6f, 0x7a, 0xb0, 0xa9, 0xd2,
- 0xd1, 0xb5, 0x97, 0xe0, 0x0f, 0x19, 0xb0, 0x43, 0x81, 0x43, 0xcb, 0xf6,
- 0x3d, 0x63, 0x90, 0xdd, 0x97, 0xb8, 0x63, 0xa6, 0xb5, 0x80, 0xf6, 0xd0,
- 0xb1, 0xf2, 0x81, 0xc8, 0xd6, 0xb9, 0x4b, 0xcd, 0x3d, 0x43, 0xae, 0x82,
- 0x9c, 0x20, 0xd3, 0x9c, 0x6f, 0x6a, 0xc8, 0xfe, 0xf0, 0xd8, 0x9a, 0x5a,
- 0xdc, 0x92, 0xf3, 0x4b, 0xd7, 0xe6, 0x2d, 0x2a, 0xf6, 0xbd, 0x73, 0x38,
- 0x86, 0x83, 0xe8, 0x3f, 0xf2, 0x84, 0x6b, 0x56, 0x9f, 0x28, 0x59, 0xfd,
- 0xfe, 0xe8, 0xea, 0xfc, 0xf4, 0xfc, 0x9b, 0x03, 0xc3, 0xe3, 0x90, 0xdf,
- 0x35, 0x7b, 0x5a, 0x18, 0xde, 0x4d, 0xbf, 0x65, 0xe4, 0x56, 0xf4, 0xfe,
- 0xb4, 0x61, 0x6c, 0x63, 0x2c, 0x93, 0xd8, 0x33, 0x3b, 0x2f, 0x8b, 0x84,
- 0xe3, 0x22, 0x6c, 0x8b, 0x6a, 0xe5, 0x84, 0x94, 0x6b, 0x92, 0xa8, 0xa4,
- 0xc6, 0x6d, 0x01, 0xc0, 0x86, 0xde, 0x19, 0x9e, 0xc9, 0x2c, 0xaf, 0xf5,
- 0x88, 0x42, 0xa2, 0x9c, 0xd1, 0xf1, 0xe7, 0x2e, 0x05, 0xb0, 0xc5, 0xac,
- 0x1d, 0xd5, 0xd9, 0xe9, 0x13, 0x08, 0xde, 0x32, 0x46, 0xb6, 0x7a, 0x5e,
- 0x4d, 0x7f, 0x1c, 0x69, 0x72, 0x51, 0xd2, 0x91, 0x95, 0x29, 0x39, 0x1b,
- 0xcc, 0x96, 0x68, 0x8e, 0x57, 0xc0, 0x0f, 0x22, 0xf0, 0xd2, 0xf1, 0x92,
- 0xef, 0x0b, 0xa3, 0x93, 0xc9, 0x4f, 0x6d, 0x5d, 0x86, 0xd9, 0x81, 0x67,
- 0xa7, 0x39, 0xdb, 0x3c, 0x67, 0xd6, 0xe7, 0xd9, 0x40, 0x74, 0x58, 0x16,
- 0xfc, 0x89, 0xa2, 0x24, 0x88, 0x43, 0x32, 0x4b, 0x6c, 0x55, 0x92, 0xd1,
- 0x75, 0x6e, 0x58, 0xd7, 0x99, 0x2d, 0x3c, 0xb0, 0x3d, 0x4c, 0x33, 0x8f,
- 0xf0, 0x37, 0xea, 0xd4, 0xc1, 0xe0, 0x15, 0x49, 0x60, 0x35, 0x4b, 0x6a,
- 0xe0, 0x76, 0xa6, 0x35, 0x24, 0x33, 0x75, 0x5f, 0x9e, 0x22, 0xde, 0x53,
- 0xc2, 0x78, 0x63, 0x6e, 0x05, 0x0c, 0x7c, 0x1d, 0xf6, 0x78, 0xb1, 0x1c,
- 0xce, 0xc7, 0xfb, 0xd1, 0x21, 0xfc, 0xc7, 0x53, 0xb2, 0x28, 0x67, 0x74,
- 0x70, 0x0c, 0x8a, 0x16, 0x26, 0xb8, 0xa0, 0xbc, 0x60, 0xc8, 0x1b, 0xa7,
- 0x8b, 0xc4, 0xee, 0x0e, 0xcc, 0xf4, 0x21, 0x56, 0x68, 0x4b, 0xd0, 0x08,
- 0xa7, 0x69, 0xc5, 0x79, 0x7a, 0x2d, 0xb8, 0x41, 0x4e, 0x6a, 0x03, 0x9d,
- 0xf9, 0xf6, 0xce, 0xe7, 0x11, 0x16, 0x1f, 0xbc, 0x7f, 0xb3, 0x1f, 0x8d,
- 0x6e, 0x92, 0xd1, 0x6d, 0xb9, 0x9c, 0x2b, 0x3b, 0xc6, 0x3d, 0x05, 0xf3,
- 0x00, 0xe7, 0xe9, 0x21, 0x3e, 0xc0, 0xc4, 0x67, 0xe9, 0x08, 0x4b, 0xff,
- 0xba, 0xb5, 0xe8, 0xd4, 0x44, 0xa3, 0x53, 0x8e, 0x1d, 0x6a, 0xc4, 0x06,
- 0xa5, 0x0b, 0x70, 0x4e, 0x4d, 0x20, 0x78, 0x01, 0x7b, 0x00, 0x1f, 0x2f,
- 0xb9, 0x9b, 0xf5, 0x4a, 0x97, 0xed, 0xcb, 0xba, 0xd7, 0x1b, 0x2f, 0xf6,
- 0x56, 0xff, 0x55, 0x4b, 0x7f, 0x8e, 0x5a, 0x6b, 0x0e, 0xac, 0x55, 0x32,
- 0xd5, 0x76, 0x64, 0x0f, 0xa0, 0x96, 0x8f, 0x93, 0x44, 0x40, 0x28, 0x0d,
- 0xe3, 0x79, 0x1f, 0xc7, 0x27, 0x37, 0xf1, 0x09, 0xe9, 0x2d, 0x47, 0x59,
- 0x6c, 0x09, 0x61, 0x52, 0x30, 0x69, 0x51, 0x9a, 0x90, 0x89, 0x02, 0x1a,
- 0x84, 0x33, 0x0a, 0xc1, 0xfa, 0x4a, 0x9b, 0xa9, 0xff, 0x56, 0x97, 0x8d,
- 0x65, 0x31, 0x52, 0x42, 0xeb, 0xa0, 0x39, 0x68, 0x2d, 0x21, 0xe1, 0xb5,
- 0xa1, 0x4d, 0xe1, 0x11, 0x99, 0xf9, 0x2e, 0xc7, 0xa5, 0xed, 0x71, 0x94,
- 0x8c, 0x46, 0x48, 0xce, 0x73, 0xec, 0x12, 0xcb, 0x16, 0x75, 0x7e, 0x9f,
- 0x4d, 0x0b, 0xf4, 0x8f, 0x50, 0x51, 0x58, 0x1c, 0x8a, 0x65, 0x84, 0x10,
- 0x4c, 0xed, 0xd8, 0x60, 0x71, 0xbd, 0x40, 0x4e, 0x6f, 0x76, 0x05, 0xf3,
- 0xed, 0x39, 0x88, 0xcd, 0x15, 0xcb, 0x6c, 0xb3, 0x3b, 0x47, 0xb4, 0xd5,
- 0x95, 0x63, 0xda, 0xee, 0x6f, 0x3d, 0xe7, 0x98, 0x90, 0x88, 0x6a, 0xa7,
- 0x03, 0xef, 0xb9, 0x5a, 0xb2, 0x26, 0x91, 0x03, 0xb1, 0xb7, 0x64, 0xdf,
- 0xc1, 0x42, 0xc5, 0x7f, 0x95, 0x8c, 0x6b, 0x43, 0xad, 0xe4, 0x39, 0x6e,
- 0xf3, 0x36, 0x9e, 0xee, 0xb6, 0x84, 0x61, 0xf0, 0x5f, 0x3b, 0x4d, 0xa2,
- 0x83, 0x5f, 0xff, 0xca, 0xd5, 0x6c, 0xff, 0x82, 0x52, 0x8d, 0xad, 0xae,
- 0xfd, 0xde, 0x96, 0x69, 0x89, 0xc0, 0x13, 0xb2, 0xf7, 0xa2, 0x31, 0x9c,
- 0x0f, 0x79, 0x4f, 0x2f, 0x60, 0xb9, 0x4b, 0x5e, 0xf4, 0x50, 0x65, 0x87,
- 0xc3, 0xf2, 0x54, 0xa8, 0xe0, 0xf4, 0xe1, 0x78, 0x4b, 0x54, 0x6c, 0x51,
- 0xa7, 0x25, 0xe2, 0xa4, 0x98, 0x11, 0xa3, 0x9a, 0x19, 0x93, 0x3e, 0x98,
- 0xb6, 0x4f, 0x04, 0xb2, 0xe3, 0xa8, 0xe8, 0xf4, 0x03, 0xdc, 0xd4, 0xe8,
- 0xc3, 0x82, 0x68, 0x10, 0x63, 0xdc, 0x95, 0x05, 0xfe, 0xa7, 0xd9, 0x45,
- 0x6d, 0xb3, 0xb3, 0xd8, 0x5f, 0x1a, 0x93, 0xa7, 0x62, 0xcd, 0x52, 0xbf,
- 0x53, 0x62, 0x15, 0x2c, 0xaa, 0xfc, 0xd2, 0x22, 0x8e, 0x01, 0xf1, 0xed,
- 0x24, 0x43, 0xb0, 0xbe, 0x7a, 0xb1, 0x40, 0xd5, 0x94, 0x51, 0x6a, 0xd9,
- 0xf4, 0x08, 0x8f, 0xce, 0xea, 0xbe, 0xf6, 0xec, 0xb3, 0xf0, 0xf4, 0x01,
- 0xff, 0x4a, 0x6a, 0xbb, 0x84, 0x37, 0x80, 0xfd, 0xbc, 0x00, 0x50, 0xf0,
- 0x38, 0x9e, 0xdd, 0x02, 0xc1, 0xc3, 0xef, 0x6a, 0x34, 0xb1, 0xe0, 0xb5,
- 0xf4, 0x9f, 0x47, 0xdc, 0x5b, 0xdd, 0xe0, 0xec, 0x90, 0xda, 0x5c, 0xe2,
- 0xaf, 0x81, 0xe1, 0xbd, 0x0a, 0x10, 0xd7, 0xaf, 0xba, 0x0b, 0x3b, 0xab,
- 0xc2, 0xa0, 0xfe, 0x1d, 0xdc, 0xed, 0xeb, 0xd7, 0xda, 0xf6, 0xca, 0x63,
- 0x67, 0xad, 0xed, 0x23, 0x9e, 0xb7, 0x5b, 0x2d, 0x7b, 0x63, 0xf6, 0xae,
- 0xb1, 0x5b, 0x6d, 0x47, 0xab, 0x57, 0xd5, 0xe3, 0x57, 0x2d, 0x57, 0x75,
- 0x37, 0xbc, 0x9b, 0x46, 0x43, 0x6d, 0xf8, 0x3c, 0xd1, 0x65, 0x56, 0xa4,
- 0x64, 0x12, 0xc7, 0xb3, 0x7e, 0xf4, 0xc6, 0xe6, 0xb4, 0x10, 0xf0, 0x9e,
- 0x67, 0xac, 0x8e, 0x97, 0x2d, 0x99, 0x1f, 0xab, 0x4f, 0x6b, 0x57, 0x92,
- 0x7a, 0x6c, 0xe2, 0x02, 0xc9, 0x74, 0x29, 0xca, 0xca, 0x3d, 0x40, 0x4c,
- 0xf1, 0xdc, 0x68, 0xf8, 0x52, 0xc2, 0x74, 0x98, 0x9a, 0x25, 0x01, 0x18,
- 0xda, 0xfa, 0x5d, 0x37, 0x66, 0x6e, 0xd4, 0x6b, 0x2c, 0x21, 0x08, 0x79,
- 0x8a, 0xe8, 0x8b, 0x9a, 0xde, 0x4e, 0x12, 0x51, 0x15, 0x4a, 0xf8, 0xc8,
- 0x5d, 0x1a, 0x47, 0x47, 0xb3, 0xaa, 0x37, 0xf8, 0x6e, 0xc4, 0x11, 0xb6,
- 0x5a, 0x78, 0xca, 0x6b, 0xf2, 0x4a, 0x5e, 0x15, 0xea, 0xcf, 0x55, 0x4a,
- 0xd2, 0x6a, 0x5a, 0x8c, 0x96, 0x73, 0xc2, 0x40, 0x25, 0xb2, 0x32, 0x7d,
- 0x22, 0xf0, 0x20, 0x2d, 0xa5, 0x71, 0xba, 0xbd, 0x0f, 0x7e, 0x18, 0xdf,
- 0x96, 0xba, 0x24, 0x29, 0xd2, 0xe1, 0x3a, 0x0c, 0x33, 0xe7, 0x7a, 0x7b,
- 0xb5, 0x80, 0x08, 0x6a, 0x58, 0x76, 0x0c, 0xd3, 0x8b, 0x28, 0x30, 0xff,
- 0xf9, 0xe1, 0xf4, 0xb8, 0xe6, 0xdd, 0xe7, 0x38, 0x4a, 0xb4, 0x32, 0x5a,
- 0xc1, 0xb0, 0xb2, 0xf2, 0xe4, 0x04, 0x75, 0x58, 0xcd, 0xc6, 0xd5, 0xc4,
- 0xb9, 0xda, 0xf1, 0xe6, 0x59, 0x40, 0xa4, 0x82, 0xbe, 0xf0, 0xcb, 0xee,
- 0xe8, 0x8e, 0xde, 0xd1, 0xdd, 0xdf, 0xfa, 0x8e, 0xee, 0xfe, 0x36, 0x77,
- 0x54, 0x39, 0x88, 0xf3, 0x77, 0xf7, 0xba, 0x7a, 0x66, 0x29, 0x5d, 0x5f,
- 0xd7, 0xe1, 0x5c, 0xcf, 0x19, 0xe8, 0x31, 0x78, 0x44, 0x4f, 0xfc, 0x16,
- 0x3d, 0x2e, 0x90, 0x0d, 0xd5, 0x86, 0x45, 0xe2, 0x38, 0x55, 0xf0, 0xc7,
- 0x6e, 0x74, 0xca, 0xc0, 0xe6, 0x94, 0x9d, 0x24, 0xaf, 0x9f, 0x71, 0x7d,
- 0xad, 0xf8, 0xbd, 0xd5, 0xe7, 0x1f, 0xa8, 0xc0, 0x4f, 0x47, 0x08, 0xaf,
- 0x66, 0x3d, 0xee, 0x68, 0x31, 0xab, 0xce, 0x58, 0x2c, 0x29, 0xa4, 0x10,
- 0x1d, 0x2d, 0xb0, 0x44, 0x16, 0x34, 0x8e, 0x07, 0xdb, 0x1f, 0x19, 0x49,
- 0xcc, 0xcf, 0x45, 0xc2, 0x4d, 0x46, 0x0f, 0xae, 0x64, 0xde, 0x37, 0xa7,
- 0x43, 0xa3, 0x33, 0xfc, 0xe1, 0x0c, 0x89, 0xbf, 0x60, 0xc3, 0x71, 0x07,
- 0x08, 0x7c, 0xea, 0xb5, 0x55, 0x18, 0x3e, 0x56, 0x81, 0x32, 0x30, 0x5c,
- 0x35, 0xee, 0xc2, 0x7a, 0x29, 0x59, 0xa6, 0x7b, 0xb0, 0x8f, 0x1b, 0x5d,
- 0x6c, 0x40, 0xbf, 0xa0, 0x1d, 0xc0, 0x3a, 0x1d, 0x63, 0x5c, 0x61, 0x99,
- 0x5a, 0x3a, 0x45, 0x8f, 0x55, 0xce, 0xd7, 0xd8, 0xb3, 0x68, 0xd0, 0xbb,
- 0x2d, 0x69, 0x8e, 0x9a, 0x43, 0x28, 0x70, 0xb3, 0xf5, 0x12, 0xd5, 0xb4,
- 0x4b, 0x9d, 0xe7, 0xc8, 0x37, 0xdd, 0x0c, 0x1e, 0x89, 0xc7, 0x9a, 0xed,
- 0x5f, 0xd5, 0x69, 0x14, 0xd6, 0x5f, 0x2c, 0x5e, 0x61, 0x5c, 0xd2, 0xa2,
- 0x83, 0x02, 0x7b, 0xf4, 0x64, 0xa0, 0xd7, 0x4f, 0xfd, 0xc5, 0x11, 0x79,
- 0x36, 0xf9, 0x0b, 0xe2, 0x80, 0x62, 0x33, 0xdf, 0x40, 0x44, 0xa3, 0x97,
- 0x08, 0xfd, 0xf9, 0xdc, 0x69, 0xa5, 0xeb, 0xc3, 0xea, 0x19, 0xdf, 0xb3,
- 0x05, 0x8a, 0xae, 0xdd, 0x58, 0x05, 0x77, 0xee, 0xf7, 0xfb, 0x01, 0x38,
- 0x8b, 0xbb, 0x34, 0xb9, 0xaf, 0xb9, 0xe2, 0x65, 0x66, 0x5d, 0xd3, 0x20,
- 0x85, 0x3d, 0x40, 0x77, 0xb8, 0x43, 0x30, 0xe4, 0x10, 0x91, 0x34, 0x5b,
- 0xca, 0x49, 0xec, 0x95, 0x77, 0x9f, 0x76, 0xb6, 0xf9, 0x96, 0xb7, 0xb9,
- 0x0c, 0xd5, 0x83, 0x32, 0x30, 0xb2, 0xed, 0xe7, 0xd0, 0x45, 0x8f, 0x48,
- 0xf1, 0x18, 0x51, 0xe3, 0x0e, 0xcb, 0xd3, 0xe8, 0xfa, 0x73, 0xfd, 0x41,
- 0x5a, 0x32, 0x2e, 0x31, 0xe3, 0x0a, 0xf9, 0xd1, 0x62, 0xfe, 0x4c, 0x9d,
- 0x1f, 0x08, 0x3f, 0x57, 0xe9, 0x05, 0x62, 0x6f, 0x84, 0x8e, 0x28, 0x12,
- 0x4e, 0xda, 0x8c, 0x80, 0x5c, 0x31, 0x81, 0xd4, 0x23, 0x39, 0x11, 0xa7,
- 0x73, 0x89, 0x93, 0x29, 0x63, 0xdb, 0xc9, 0x44, 0xba, 0xc0, 0x70, 0xbc,
- 0x57, 0xcf, 0xd5, 0xe5, 0xd3, 0xee, 0x4a, 0xc0, 0x3a, 0x92, 0xd6, 0x6c,
- 0xe2, 0x8b, 0xb5, 0x78, 0xcb, 0x4d, 0x1b, 0xd1, 0xd6, 0xa7, 0x5a, 0x4c,
- 0x2d, 0xeb, 0xd5, 0x66, 0xf0, 0x3e, 0x5a, 0x99, 0x0c, 0x5e, 0xba, 0x40,
- 0xd9, 0x1e, 0xd4, 0x80, 0x6d, 0x1e, 0x84, 0x03, 0x73, 0x83, 0x9f, 0xe0,
- 0x11, 0xb3, 0x5e, 0xc1, 0xa8, 0x17, 0xd8, 0x82, 0x6a, 0x89, 0x89, 0x27,
- 0x74, 0xf7, 0xa5, 0x7a, 0x5d, 0x0a, 0xd6, 0x9b, 0x60, 0x26, 0x06, 0x12,
- 0x0e, 0x77, 0xbf, 0x7f, 0x13, 0x3f, 0x3c, 0xf4, 0xcb, 0x64, 0x13, 0xa8,
- 0xb6, 0xdc, 0x2c, 0xcb, 0x19, 0x7e, 0xb4, 0x24, 0xf4, 0xb5, 0x95, 0xdd,
- 0x2d, 0x1f, 0x1e, 0x0d, 0x01, 0x09, 0x73, 0x1e, 0xc5, 0xf8, 0x6a, 0x8d,
- 0xd9, 0xda, 0xf6, 0x96, 0xdc, 0x20, 0xa6, 0x99, 0x32, 0xcc, 0xc0, 0xd3,
- 0x04, 0xa1, 0xee, 0x56, 0xdb, 0x32, 0x6b, 0xb0, 0xc9, 0x59, 0x66, 0x1c,
- 0x8b, 0xa7, 0x8f, 0x50, 0xd3, 0x45, 0x5b, 0x69, 0x87, 0xdc, 0x55, 0x27,
- 0x34, 0x0a, 0x9b, 0x62, 0x0a, 0x20, 0x40, 0x3e, 0x58, 0x58, 0x1d, 0xee,
- 0xf8, 0x84, 0x96, 0x74, 0x7e, 0x1b, 0x80, 0x7c, 0x6a, 0x73, 0x5b, 0x3a,
- 0x4b, 0xc3, 0x52, 0x91, 0x03, 0x0b, 0x30, 0x78, 0x7f, 0x7f, 0xdf, 0x5f,
- 0xe5, 0xb7, 0xfc, 0x97, 0x63, 0xe0, 0xf5, 0xe1, 0x2e, 0x80, 0x6a, 0xcf,
- 0xd2, 0x6c, 0xf9, 0x10, 0x39, 0x18, 0x2f, 0xa6, 0x19, 0x90, 0x06, 0xe6,
- 0xa2, 0xef, 0xae, 0xde, 0x9a, 0x46, 0xd8, 0x8a, 0xae, 0x81, 0x9e, 0xdf,
- 0xd2, 0xd7, 0xda, 0x92, 0x94, 0x71, 0x77, 0x10, 0x34, 0xfa, 0xf8, 0xe8,
- 0xf2, 0xe3, 0xf9, 0xc9, 0xf5, 0xc7, 0xab, 0xa3, 0xef, 0x71, 0x0b, 0xd9,
- 0x2b, 0x03, 0xf2, 0x0a, 0xe3, 0x01, 0x45, 0x9e, 0x63, 0x53, 0xbb, 0xf7,
- 0x54, 0x36, 0x98, 0x66, 0x04, 0xaf, 0x12, 0x6c, 0xb3, 0x6e, 0x30, 0xa3,
- 0x64, 0x9e, 0x30, 0x97, 0x83, 0xa8, 0xb6, 0x5f, 0xb7, 0x49, 0x91, 0x25,
- 0xb3, 0x7e, 0x5e, 0x4c, 0x91, 0x0a, 0x37, 0xdf, 0x08, 0xff, 0x0c, 0x0e,
- 0xb7, 0x29, 0x59, 0x0d, 0x08, 0x41, 0x76, 0x57, 0x4c, 0x10, 0xb1, 0xe4,
- 0xb9, 0x3d, 0x0a, 0x1d, 0xd2, 0xdc, 0x23, 0x06, 0xb8, 0xb8, 0xdb, 0x5b,
- 0xa1, 0xde, 0xd5, 0x3b, 0xc5, 0x4a, 0x8f, 0x37, 0xa2, 0x20, 0xf2, 0xfd,
- 0xb8, 0xb9, 0x2a, 0x5c, 0x9d, 0x39, 0x7b, 0xec, 0x06, 0x00, 0x10, 0x48,
- 0x9d, 0xcb, 0x0d, 0x94, 0x04, 0x15, 0xb8, 0x61, 0x92, 0xcd, 0xca, 0x16,
- 0xf7, 0x46, 0x2b, 0x6a, 0xfa, 0x10, 0xda, 0x7c, 0x0f, 0xbd, 0x17, 0xbe,
- 0x65, 0x88, 0x4d, 0x17, 0x9d, 0x35, 0xbf, 0x90, 0x35, 0xbf, 0xf8, 0x97,
- 0xd6, 0xfc, 0xe2, 0x5f, 0x58, 0xf3, 0xde, 0x6f, 0xbc, 0xe6, 0xbd, 0xe0,
- 0x9a, 0x9d, 0xaf, 0xf4, 0xfe, 0x8a, 0x6b, 0xfe, 0xeb, 0x32, 0xbb, 0xed,
- 0xc1, 0x7c, 0x51, 0x0a, 0x4b, 0x8f, 0xb5, 0xb2, 0xc5, 0x64, 0x73, 0x1b,
- 0xed, 0x90, 0x6f, 0xdf, 0x02, 0x0c, 0x3b, 0x3d, 0xe3, 0x62, 0x31, 0x15,
- 0x38, 0xc4, 0x5f, 0xf9, 0x4d, 0x2d, 0x3c, 0x03, 0x21, 0xc5, 0x7a, 0xdf,
- 0x72, 0x84, 0x7e, 0x0a, 0xd4, 0xec, 0x3b, 0x32, 0x1b, 0x1d, 0xb6, 0xa3,
- 0x7d, 0x57, 0xe8, 0xa6, 0xc7, 0x3e, 0xce, 0xd1, 0x88, 0xdc, 0x64, 0x74,
- 0x27, 0x4d, 0x0c, 0xdc, 0xf6, 0x65, 0x27, 0xa3, 0x83, 0x31, 0xa0, 0x74,
- 0x60, 0x8e, 0x0b, 0x62, 0xcc, 0xc7, 0xe7, 0x19, 0xd7, 0x8f, 0x0b, 0x1c,
- 0x10, 0x64, 0x73, 0x01, 0x32, 0x98, 0x13, 0x51, 0xa8, 0x99, 0x78, 0x64,
- 0x26, 0x19, 0x35, 0x26, 0x28, 0xd1, 0x8e, 0x9b, 0xe4, 0x71, 0xcd, 0x53,
- 0x18, 0x46, 0xb3, 0x1c, 0xf9, 0xcd, 0x78, 0xb5, 0xf1, 0x31, 0xb4, 0x0d,
- 0xee, 0x58, 0x5e, 0x34, 0x3a, 0xde, 0xb9, 0x72, 0xe3, 0x36, 0x49, 0x16,
- 0xf1, 0x8c, 0xa0, 0x35, 0x30, 0xf7, 0xa1, 0xad, 0x51, 0x56, 0x2d, 0x39,
- 0x52, 0x0b, 0x07, 0xe8, 0x8d, 0x5a, 0xe6, 0x19, 0xf1, 0x39, 0x3e, 0x48,
- 0xac, 0x94, 0x89, 0xd2, 0x31, 0xd5, 0xba, 0x86, 0xfb, 0xa6, 0xd8, 0xa6,
- 0x0c, 0x66, 0x12, 0xd8, 0x7a, 0x23, 0x1f, 0x0a, 0x06, 0x8c, 0xf9, 0x84,
- 0xe2, 0xc8, 0x61, 0x6a, 0xce, 0x5d, 0x8a, 0x29, 0x79, 0x4d, 0xec, 0x61,
- 0xf3, 0x3e, 0xbf, 0x4e, 0xa8, 0x52, 0xb5, 0xce, 0x09, 0x7c, 0x80, 0xf8,
- 0x44, 0x6e, 0xe4, 0x1f, 0xaa, 0x1b, 0xd4, 0x47, 0xd4, 0x23, 0x29, 0x05,
- 0x50, 0x66, 0xfd, 0xf7, 0xfa, 0xf8, 0xf2, 0xe3, 0xb7, 0x27, 0x27, 0x97,
- 0xa7, 0x6f, 0xce, 0x4e, 0xe4, 0xc2, 0x98, 0x1f, 0x9d, 0x5f, 0x7f, 0x77,
- 0xa6, 0x7d, 0xe2, 0x94, 0x16, 0x3d, 0x82, 0x17, 0xd8, 0x7f, 0x66, 0xca,
- 0x5d, 0x6a, 0x87, 0x05, 0x86, 0xf4, 0xd1, 0xe9, 0x0f, 0xa0, 0xb5, 0x5e,
- 0xf6, 0x3e, 0xfc, 0xe0, 0xf5, 0x22, 0x71, 0x6a, 0x4c, 0xfc, 0x66, 0x02,
- 0xb6, 0xe4, 0x84, 0x7a, 0xba, 0xdb, 0xb5, 0xb7, 0xa5, 0xdc, 0xfd, 0xc6,
- 0x62, 0x10, 0x1b, 0x9c, 0x67, 0x46, 0x61, 0xe0, 0x17, 0xb5, 0xdf, 0x8f,
- 0x93, 0xd6, 0xf6, 0x62, 0x4b, 0xdb, 0xa8, 0xad, 0x0c, 0x5a, 0x7c, 0x5e,
- 0xb7, 0x19, 0x6f, 0x93, 0x47, 0xc2, 0x70, 0x8c, 0x0e, 0xf1, 0xbf, 0xe1,
- 0x36, 0x77, 0x97, 0x45, 0x7a, 0x87, 0xfa, 0x1f, 0x3c, 0xcb, 0x21, 0x5d,
- 0x7c, 0xb4, 0x6f, 0x9a, 0xfe, 0x49, 0x58, 0x19, 0x07, 0xa1, 0xcc, 0x13,
- 0x1a, 0x34, 0x0a, 0x79, 0x7b, 0x08, 0x19, 0x07, 0x7f, 0xc3, 0xe3, 0xd1,
- 0x80, 0xb0, 0x3d, 0xfd, 0xe8, 0xcd, 0xc9, 0x55, 0x37, 0xba, 0x3c, 0x79,
- 0xcf, 0x85, 0x2a, 0x27, 0xe7, 0xdf, 0x70, 0x1f, 0x44, 0x6d, 0x6f, 0x47,
- 0x99, 0x10, 0x7e, 0xb2, 0xa6, 0xb3, 0x27, 0xf0, 0x2e, 0x65, 0xa6, 0x96,
- 0x25, 0x48, 0xd7, 0x4f, 0x08, 0xa0, 0xc3, 0x6b, 0x3b, 0x84, 0xff, 0x84,
- 0xb6, 0x0a, 0xec, 0x88, 0x77, 0x81, 0xed, 0x12, 0xc5, 0xcc, 0xe4, 0xce,
- 0x88, 0x51, 0x80, 0xbb, 0xc1, 0x3b, 0x06, 0x1b, 0xe2, 0x67, 0x71, 0xe8,
- 0x06, 0x91, 0xd9, 0x47, 0x10, 0x42, 0xdc, 0x3c, 0x57, 0x62, 0xf0, 0x68,
- 0xc5, 0xc2, 0xe7, 0xba, 0x48, 0x97, 0x04, 0x48, 0x6e, 0x37, 0x23, 0x54,
- 0x1d, 0x5d, 0xa4, 0xdc, 0x88, 0xb8, 0x81, 0x4c, 0x07, 0xdb, 0x9d, 0x8e,
- 0x19, 0x81, 0x01, 0x03, 0xc8, 0x79, 0x81, 0x09, 0x1c, 0x08, 0x7d, 0xf0,
- 0xbf, 0x36, 0xfb, 0x65, 0x79, 0xb3, 0x99, 0x8e, 0x3f, 0x16, 0x65, 0xbc,
- 0xd6, 0x94, 0x45, 0xce, 0xaf, 0xc7, 0xf8, 0xeb, 0x68, 0xad, 0x6f, 0x1e,
- 0x95, 0xbf, 0xe3, 0xcf, 0x83, 0x58, 0x00, 0x2a, 0x82, 0xd8, 0xb5, 0xa2,
- 0xf9, 0x9c, 0xda, 0x3e, 0x71, 0x96, 0x0e, 0x0b, 0x50, 0xe0, 0x6c, 0xf7,
- 0x0f, 0xe9, 0x86, 0xb8, 0xb8, 0x1d, 0x95, 0xdb, 0xdb, 0x3e, 0x1a, 0xbd,
- 0x29, 0x71, 0xec, 0x6a, 0x5e, 0xee, 0xe5, 0xb7, 0xc7, 0x83, 0x3f, 0x6e,
- 0x6f, 0x53, 0x1a, 0xf4, 0x3a, 0xa6, 0xab, 0xbe, 0xdc, 0xdf, 0xde, 0xd9,
- 0x08, 0xa9, 0x8f, 0x5e, 0x5e, 0x0f, 0x76, 0xb0, 0x8c, 0x2d, 0x7d, 0xe2,
- 0xee, 0x53, 0x98, 0x5b, 0x8a, 0x1e, 0xcc, 0xd0, 0xe3, 0x04, 0x93, 0x04,
- 0xa9, 0xb2, 0x93, 0xc3, 0x99, 0x94, 0x3b, 0xe9, 0xa5, 0x5e, 0x18, 0x1c,
- 0xa4, 0x0e, 0xcf, 0xfe, 0xa0, 0x63, 0xa8, 0xca, 0xcd, 0x21, 0xa7, 0xfc,
- 0x13, 0x67, 0xd6, 0x7d, 0xde, 0xa7, 0x66, 0x78, 0xcd, 0x5d, 0x17, 0x25,
- 0x3a, 0x5a, 0xa0, 0x29, 0x16, 0x5f, 0xb6, 0x75, 0x64, 0x23, 0x41, 0x00,
- 0xf3, 0x03, 0x3c, 0x5f, 0xbd, 0xcc, 0xa9, 0xc3, 0xf4, 0x83, 0x04, 0x1f,
- 0xdb, 0x41, 0xcd, 0xee, 0x3b, 0x0c, 0xc2, 0x1d, 0xd4, 0x77, 0xf6, 0xf1,
- 0x37, 0xa2, 0x0e, 0xdc, 0xdd, 0xf0, 0x90, 0x9f, 0xf4, 0x4e, 0x16, 0xc3,
- 0xe8, 0x70, 0x06, 0x2f, 0xce, 0x5a, 0x4a, 0xef, 0x4e, 0xb8, 0xdd, 0xd6,
- 0xb7, 0x49, 0x31, 0x4c, 0x8a, 0xbc, 0x6c, 0x54, 0x09, 0xd1, 0x6a, 0xa5,
- 0xee, 0x17, 0x6b, 0x02, 0x60, 0x1c, 0x4d, 0x97, 0xf2, 0x1a, 0x6b, 0x56,
- 0x64, 0x7d, 0x0b, 0xc6, 0x7b, 0x1d, 0x97, 0x67, 0x8d, 0x6a, 0x95, 0xf0,
- 0x02, 0x60, 0x7f, 0x29, 0xfc, 0x13, 0xb8, 0xf1, 0x84, 0x9a, 0xc1, 0xa4,
- 0xf1, 0x6c, 0x0d, 0xbb, 0xfe, 0x34, 0xaf, 0x91, 0x50, 0xda, 0x5a, 0x1f,
- 0x0b, 0xd0, 0xd8, 0x58, 0xa3, 0x2c, 0x28, 0x2a, 0xb7, 0x8e, 0x23, 0x99,
- 0x8b, 0xe6, 0x77, 0xe3, 0x35, 0xb7, 0x69, 0x80, 0xa5, 0xd7, 0x09, 0xc9,
- 0x0c, 0x57, 0x87, 0x4e, 0x6a, 0xcb, 0x30, 0xfe, 0x8d, 0xc5, 0x14, 0x1f,
- 0xc3, 0x2f, 0x6e, 0x9e, 0x6d, 0xfa, 0x65, 0x37, 0x86, 0xd3, 0xb3, 0x72,
- 0xcf, 0x59, 0xdf, 0x0f, 0xb6, 0xa2, 0x3d, 0xe2, 0xea, 0xf0, 0x06, 0xd6,
- 0x08, 0x75, 0x25, 0xc0, 0x92, 0xa6, 0x31, 0x1b, 0x86, 0x52, 0xfd, 0x6a,
- 0x13, 0x27, 0x98, 0xd3, 0xf8, 0xc1, 0x71, 0x5a, 0x2a, 0xf5, 0x0f, 0xd1,
- 0x69, 0xf7, 0xd8, 0x78, 0x3f, 0x8e, 0xc4, 0x1b, 0x41, 0x75, 0x51, 0xf7,
- 0x05, 0xa2, 0xa5, 0x66, 0x16, 0x73, 0x79, 0x96, 0xb4, 0x82, 0x68, 0x29,
- 0xa2, 0x2a, 0x1c, 0xd2, 0x4c, 0x7a, 0x1b, 0x6a, 0x36, 0x62, 0xa1, 0x73,
- 0xea, 0x49, 0x32, 0x87, 0x3a, 0x0c, 0xf0, 0xbd, 0x3f, 0x3c, 0x09, 0xa9,
- 0xf2, 0xd4, 0xd9, 0x59, 0x95, 0x3e, 0x04, 0x93, 0xf0, 0x6c, 0xac, 0xb8,
- 0x46, 0x99, 0x1f, 0x55, 0x0c, 0xf4, 0x48, 0x26, 0x1d, 0x02, 0x3f, 0x4d,
- 0x3c, 0xb0, 0xac, 0x41, 0x0d, 0x5f, 0x41, 0x5a, 0xbe, 0x6a, 0x09, 0x1d,
- 0xbd, 0x67, 0x5a, 0x5f, 0x9b, 0x26, 0x65, 0x4c, 0xfb, 0x3d, 0x52, 0x59,
- 0x9b, 0xee, 0x36, 0x6c, 0x57, 0x62, 0xcb, 0xb4, 0xe9, 0xd6, 0x12, 0x18,
- 0xbd, 0x82, 0x1c, 0x69, 0x96, 0x34, 0x6f, 0x07, 0xfa, 0xa2, 0x25, 0xff,
- 0x96, 0x8c, 0x8b, 0xd8, 0xf3, 0x81, 0x50, 0xc1, 0x03, 0x77, 0x00, 0x11,
- 0x22, 0x58, 0x1b, 0xb3, 0x67, 0x94, 0x8e, 0xc4, 0x4c, 0x15, 0x2f, 0x9e,
- 0x84, 0xa1, 0xb8, 0x6b, 0x02, 0xdc, 0x68, 0xcf, 0x54, 0x18, 0xc2, 0x10,
- 0xf7, 0xe9, 0xb8, 0xba, 0xa1, 0x9e, 0x3c, 0x6a, 0x19, 0x95, 0x82, 0x0b,
- 0x80, 0x4e, 0xea, 0xd4, 0xaf, 0x7a, 0x1b, 0xb6, 0x38, 0xf0, 0xf8, 0xc0,
- 0x68, 0x53, 0x23, 0x06, 0xc8, 0x42, 0x47, 0x1d, 0x9d, 0x03, 0x39, 0xb5,
- 0x37, 0x59, 0xd5, 0x33, 0xd0, 0x30, 0x31, 0xdc, 0xa2, 0x09, 0xb6, 0xdb,
- 0xf1, 0xcc, 0x35, 0x2d, 0x4f, 0xeb, 0xeb, 0x0d, 0x41, 0x1a, 0x5e, 0xbb,
- 0x65, 0x50, 0xfc, 0x6f, 0xd7, 0xb4, 0xab, 0xec, 0x32, 0xab, 0xdc, 0x0a,
- 0x1a, 0xe4, 0xe5, 0xd1, 0x6d, 0xea, 0x77, 0x6a, 0xa0, 0xaf, 0x77, 0x81,
- 0xd7, 0xcc, 0x79, 0x84, 0xf7, 0x6b, 0xea, 0x28, 0x45, 0xc0, 0x84, 0x69,
- 0x2c, 0xbf, 0x67, 0xb0, 0x94, 0xb5, 0x29, 0x3f, 0xf4, 0x8d, 0x7d, 0xa8,
- 0x31, 0x1c, 0x7a, 0xed, 0xd9, 0x4b, 0xaf, 0xc9, 0x74, 0xe5, 0x01, 0x16,
- 0x68, 0x7c, 0xdb, 0x8d, 0x76, 0xe7, 0x74, 0x28, 0xdb, 0xdf, 0x84, 0x18,
- 0x17, 0xf7, 0x08, 0x2e, 0x73, 0x53, 0x2e, 0xdf, 0xfb, 0x0b, 0x9a, 0x5c,
- 0xb4, 0x61, 0x4c, 0x97, 0xa6, 0x12, 0x8c, 0xeb, 0x51, 0x94, 0x1f, 0x04,
- 0x82, 0x0e, 0x94, 0x4b, 0xb9, 0x40, 0x23, 0x61, 0x9c, 0x28, 0x4a, 0xf8,
- 0x9c, 0xbc, 0x9b, 0x98, 0x2d, 0xb5, 0x10, 0x38, 0x0c, 0x24, 0xd7, 0x9e,
- 0x81, 0x20, 0x2d, 0x67, 0xf8, 0x00, 0xb5, 0xc9, 0xca, 0xbd, 0xcc, 0xea,
- 0xd9, 0x82, 0x0c, 0x24, 0xd3, 0xc9, 0xce, 0x99, 0x14, 0x56, 0xb5, 0x8e,
- 0x22, 0xf1, 0xf1, 0x7c, 0x42, 0x91, 0x38, 0xa3, 0x14, 0xbd, 0xb4, 0xac,
- 0x7a, 0x01, 0xbc, 0x57, 0x8a, 0x01, 0x5d, 0x5e, 0x5c, 0xee, 0x6e, 0xb8,
- 0xa0, 0x98, 0x02, 0x8e, 0xc0, 0x3d, 0x1f, 0x29, 0x4a, 0x64, 0x80, 0x13,
- 0xba, 0xca, 0x6e, 0xb8, 0x4c, 0xcf, 0xb7, 0x2d, 0x47, 0x82, 0x18, 0x87,
- 0xcc, 0x85, 0xbe, 0x48, 0x2e, 0x7f, 0x5b, 0x28, 0xe2, 0x74, 0x43, 0xb4,
- 0x17, 0x53, 0xe1, 0x11, 0x3f, 0xf3, 0x61, 0x65, 0x4a, 0x4e, 0x28, 0x27,
- 0x44, 0x96, 0x1e, 0x15, 0xff, 0xd5, 0xfb, 0x89, 0x60, 0xe1, 0x82, 0x37,
- 0xcb, 0x88, 0x13, 0x8f, 0x02, 0x29, 0x5d, 0x12, 0xe4, 0xb5, 0x4f, 0x52,
- 0x40, 0x42, 0x8b, 0x21, 0x09, 0x5d, 0xc8, 0xe6, 0x5a, 0xa0, 0xb7, 0x14,
- 0xa9, 0x96, 0x31, 0x95, 0xfb, 0xad, 0x7d, 0xe0, 0x4d, 0x5f, 0x8b, 0x9a,
- 0x45, 0x26, 0x5d, 0xcb, 0xe2, 0xe8, 0xfc, 0x6c, 0x70, 0xed, 0x06, 0x91,
- 0x48, 0x0f, 0xf3, 0x52, 0x99, 0xeb, 0xc0, 0x6e, 0x4e, 0x6a, 0xd1, 0xd9,
- 0xe9, 0xe0, 0xba, 0x1f, 0xea, 0xd8, 0x00, 0xda, 0xf9, 0x00, 0xcb, 0x6d,
- 0x6a, 0x40, 0x19, 0x11, 0x77, 0x07, 0xe7, 0x44, 0x63, 0x8e, 0x8e, 0x71,
- 0xb4, 0x28, 0x2d, 0x5c, 0x50, 0x88, 0xe6, 0x70, 0x30, 0xc5, 0x2f, 0x38,
- 0x4d, 0x59, 0x52, 0x9c, 0x35, 0x4a, 0x54, 0x2e, 0x87, 0x3d, 0x07, 0x49,
- 0x91, 0xf5, 0x1d, 0x6a, 0xd1, 0x05, 0xd4, 0x0b, 0x12, 0xea, 0xd6, 0xb7,
- 0x31, 0xd7, 0x99, 0xa0, 0x68, 0x7f, 0x04, 0x01, 0xb3, 0xe6, 0xea, 0x1e,
- 0x45, 0x09, 0x21, 0xee, 0x92, 0x93, 0x09, 0x9f, 0x7d, 0x36, 0x51, 0xe1,
- 0x56, 0x34, 0x76, 0x52, 0xba, 0x3a, 0xd6, 0x6b, 0x16, 0x30, 0x6c, 0xf7,
- 0x4b, 0xe2, 0x94, 0x0e, 0x09, 0x5a, 0xa2, 0x2b, 0x93, 0x84, 0x5d, 0x4e,
- 0x66, 0xda, 0xad, 0x20, 0xc0, 0xe9, 0x98, 0x71, 0x30, 0xcb, 0x3a, 0x10,
- 0x26, 0x83, 0x1e, 0x20, 0xd3, 0xe1, 0x06, 0x40, 0xa8, 0xba, 0xb5, 0x9d,
- 0x24, 0xfb, 0xe4, 0x6a, 0xf9, 0xa9, 0xbd, 0x1f, 0x38, 0xe3, 0x99, 0x02,
- 0x65, 0xdd, 0x36, 0x84, 0x36, 0x9f, 0x8c, 0xb4, 0x19, 0xd3, 0x87, 0xd3,
- 0x37, 0x67, 0x66, 0xb7, 0x64, 0x77, 0x28, 0x85, 0xd6, 0xac, 0x15, 0xcb,
- 0x5a, 0x94, 0x6d, 0xd2, 0x99, 0x78, 0x41, 0x9f, 0x65, 0x96, 0xfe, 0x8d,
- 0x52, 0xad, 0x48, 0x77, 0x9d, 0xa4, 0x04, 0xe7, 0x15, 0x93, 0xeb, 0x5c,
- 0x25, 0xd9, 0x5a, 0x69, 0x3a, 0xd9, 0xa5, 0x63, 0x53, 0xfe, 0xc1, 0x31,
- 0xbe, 0x60, 0xfe, 0xf1, 0x4a, 0xe4, 0x94, 0xed, 0x3a, 0xbc, 0x29, 0xa1,
- 0x1c, 0x0b, 0x18, 0x19, 0x08, 0xa4, 0x4d, 0x2a, 0x5f, 0xf4, 0x94, 0x0b,
- 0xd2, 0xcd, 0x6c, 0x76, 0x5d, 0x1d, 0x64, 0x27, 0x2f, 0xa4, 0xe8, 0x71,
- 0xfd, 0xed, 0xd5, 0xc5, 0xfb, 0xde, 0xf5, 0x05, 0xb5, 0xba, 0x27, 0x73,
- 0x6e, 0xb6, 0x22, 0x45, 0xa4, 0x34, 0x7d, 0x52, 0x2d, 0x4a, 0x89, 0xf8,
- 0xda, 0xd6, 0xcb, 0x0d, 0x29, 0xf4, 0x61, 0x91, 0x42, 0xd3, 0xd3, 0xb7,
- 0xbc, 0xf6, 0x25, 0x19, 0x6b, 0x22, 0x31, 0xb5, 0x48, 0x45, 0xbf, 0xe3,
- 0xc8, 0x89, 0x63, 0x71, 0x4a, 0x87, 0x70, 0xee, 0xe1, 0xb2, 0x7c, 0x8c,
- 0xa4, 0xb6, 0x14, 0x31, 0x0b, 0xc9, 0x96, 0xf2, 0xa3, 0x03, 0xa6, 0xf7,
- 0xb6, 0x41, 0x2a, 0xc2, 0xaa, 0x3b, 0x2e, 0xeb, 0xaa, 0x72, 0xb8, 0xbe,
- 0x71, 0x51, 0xe4, 0xf7, 0x2a, 0xb8, 0xa4, 0xf6, 0x1b, 0xa6, 0x8e, 0x87,
- 0x54, 0x3c, 0xb6, 0xa2, 0xbb, 0x08, 0x60, 0x99, 0x76, 0x0e, 0x5f, 0xa9,
- 0xfe, 0xed, 0xd7, 0x31, 0x37, 0x34, 0x03, 0xbc, 0x57, 0x15, 0x4b, 0x2c,
- 0x29, 0x0d, 0xbb, 0x9d, 0xcf, 0x90, 0x4d, 0xd6, 0x53, 0xc6, 0xbb, 0x82,
- 0xa8, 0x88, 0x00, 0x3c, 0xd4, 0xeb, 0xcd, 0xf8, 0x25, 0xc9, 0x3f, 0xc1,
- 0x31, 0xc5, 0x3f, 0x7b, 0x37, 0x58, 0xa0, 0x96, 0x51, 0xa3, 0xc7, 0x36,
- 0xae, 0x94, 0x36, 0x6e, 0x73, 0xf1, 0xd2, 0x8a, 0xfb, 0x6f, 0x6a, 0x12,
- 0x0e, 0x81, 0xa9, 0x11, 0x33, 0xc0, 0x9f, 0x7a, 0xba, 0xa4, 0xa2, 0x24,
- 0xa5, 0x88, 0x50, 0x31, 0x5e, 0x8e, 0xe8, 0x98, 0x30, 0xe2, 0x87, 0xed,
- 0x3d, 0x87, 0x8c, 0xdb, 0xaa, 0x20, 0x0f, 0x38, 0xb4, 0x4d, 0x97, 0x67,
- 0x07, 0x4e, 0x53, 0xcb, 0x8a, 0xf8, 0x31, 0xdb, 0xb3, 0x0c, 0x95, 0x49,
- 0xcc, 0x7d, 0x4d, 0x58, 0xb1, 0x2c, 0x9a, 0x36, 0x27, 0x46, 0x95, 0xb4,
- 0x67, 0xb2, 0xcf, 0xae, 0x10, 0x34, 0x9f, 0xe0, 0xc2, 0x25, 0xe8, 0x8f,
- 0xc8, 0x96, 0x48, 0xc0, 0x14, 0x74, 0xff, 0x3a, 0x2e, 0x81, 0x2f, 0xd5,
- 0xc7, 0xdb, 0x58, 0xe1, 0x9e, 0x5e, 0x6a, 0x61, 0x85, 0x73, 0x7a, 0xb5,
- 0x03, 0x09, 0x9f, 0xdc, 0x69, 0x0d, 0xe3, 0x82, 0x53, 0x33, 0x9c, 0x1d,
- 0x17, 0x16, 0x45, 0xc0, 0x8b, 0x94, 0xab, 0x1e, 0x53, 0xb7, 0xeb, 0xbb,
- 0x10, 0x73, 0x8a, 0x4d, 0x3f, 0xc7, 0x2a, 0xd2, 0x8f, 0x46, 0xeb, 0x5a,
- 0xf9, 0x69, 0x2a, 0x91, 0xce, 0xe4, 0x57, 0x07, 0xa6, 0x34, 0x15, 0x79,
- 0x5a, 0x63, 0xb8, 0xdd, 0x1f, 0x7e, 0xa8, 0xf7, 0x5f, 0xde, 0x68, 0x03,
- 0xc3, 0x90, 0x9a, 0x94, 0x31, 0xf3, 0x3e, 0x9d, 0xb0, 0x57, 0x57, 0xa7,
- 0x64, 0x87, 0x21, 0x06, 0xca, 0xe2, 0x67, 0x07, 0x8c, 0x78, 0x8a, 0xc0,
- 0x04, 0xbc, 0xd1, 0x62, 0xab, 0x5a, 0x0a, 0x07, 0xc1, 0x64, 0x9c, 0x06,
- 0x72, 0x16, 0x89, 0xe1, 0x6a, 0xee, 0x05, 0xc7, 0x54, 0x28, 0x27, 0xdd,
- 0xdd, 0xae, 0xd2, 0x3a, 0x67, 0x6e, 0x30, 0xb6, 0x20, 0x40, 0xcd, 0xab,
- 0x9b, 0x44, 0x1b, 0xe0, 0x4c, 0x53, 0x7a, 0x49, 0xf2, 0x9e, 0xdb, 0x4a,
- 0x60, 0x5a, 0xec, 0xa8, 0x48, 0xc4, 0xdb, 0xa0, 0x4d, 0x80, 0xbc, 0x28,
- 0x32, 0x82, 0xf6, 0xf0, 0xe5, 0x21, 0xa7, 0x6a, 0xec, 0xdc, 0x17, 0x8b,
- 0xb7, 0xd8, 0x38, 0x31, 0x29, 0xc3, 0xf0, 0xb5, 0xf7, 0xfb, 0x9c, 0x20,
- 0x36, 0xa9, 0xf7, 0x12, 0xc1, 0xc6, 0xe5, 0xec, 0xd8, 0x92, 0xf6, 0xc1,
- 0x2c, 0x6f, 0xfe, 0xac, 0x37, 0xb7, 0xef, 0x06, 0x2f, 0x91, 0x0a, 0x42,
- 0x21, 0x50, 0x65, 0x26, 0x78, 0x2e, 0x88, 0xed, 0x8b, 0xb9, 0x70, 0xda,
- 0x92, 0x0c, 0x3d, 0xc5, 0x1a, 0x23, 0x67, 0x75, 0x9a, 0x90, 0x28, 0xe6,
- 0x64, 0xbc, 0xf8, 0x40, 0xd3, 0xf6, 0xca, 0x62, 0x0e, 0x0f, 0x39, 0x3d,
- 0x2d, 0x2e, 0x1d, 0x3b, 0xb7, 0xc0, 0x28, 0xed, 0xd1, 0x63, 0x65, 0x5b,
- 0xba, 0x89, 0x20, 0x8f, 0x53, 0x0e, 0x1c, 0xb7, 0x4f, 0x71, 0xf7, 0x4c,
- 0xdd, 0x64, 0x06, 0xf5, 0x44, 0x0a, 0xcd, 0xa4, 0x0f, 0xc7, 0x37, 0x27,
- 0xd7, 0xcd, 0xab, 0xe5, 0x46, 0x0e, 0x09, 0x63, 0x04, 0xfe, 0x7d, 0xf9,
- 0xe1, 0x7a, 0x83, 0x9a, 0x93, 0x29, 0x60, 0x70, 0x55, 0x6b, 0x3a, 0x63,
- 0xea, 0x57, 0xfd, 0x52, 0x1c, 0x46, 0xf5, 0x10, 0x3e, 0x25, 0xc9, 0x40,
- 0x72, 0x33, 0xd0, 0xc7, 0xb2, 0xbb, 0xb5, 0x0d, 0x76, 0xd4, 0xd6, 0x0e,
- 0x35, 0x9c, 0xde, 0xdd, 0xda, 0x35, 0x40, 0x08, 0xfa, 0x94, 0xdf, 0xa6,
- 0x82, 0x5f, 0x24, 0x97, 0x09, 0xd1, 0xfd, 0xee, 0xc3, 0x03, 0xfd, 0xb8,
- 0x5e, 0x5e, 0xd1, 0x33, 0x25, 0x89, 0xee, 0x34, 0x83, 0x72, 0xdf, 0xd9,
- 0x6f, 0x8a, 0xec, 0x2d, 0x33, 0x2e, 0x00, 0xa6, 0x86, 0xde, 0x88, 0x1b,
- 0xd2, 0x6f, 0xef, 0x6e, 0xe5, 0xb4, 0xea, 0x13, 0x74, 0x34, 0xb7, 0x3d,
- 0x1d, 0x10, 0x8b, 0x8b, 0x38, 0x23, 0x28, 0x24, 0x1e, 0x6b, 0xc6, 0x67,
- 0x04, 0xaf, 0x09, 0xf6, 0xe0, 0xc1, 0xee, 0x90, 0x69, 0x99, 0x2a, 0x0c,
- 0x00, 0x04, 0x9d, 0xb0, 0x23, 0x53, 0x4c, 0x13, 0x70, 0x42, 0x20, 0xff,
- 0x3b, 0xc0, 0x34, 0x11, 0xb8, 0x13, 0xb4, 0xbf, 0xfa, 0x57, 0xcd, 0xe3,
- 0xe3, 0x7f, 0xed, 0xd6, 0x25, 0x25, 0xba, 0x87, 0x75, 0xd0, 0x43, 0xf9,
- 0x8b, 0xe7, 0xab, 0xa4, 0x3e, 0xc3, 0xa4, 0x1b, 0x53, 0x87, 0x98, 0x8d,
- 0x9a, 0xff, 0x84, 0xc6, 0x30, 0x13, 0x13, 0x2d, 0x45, 0x3a, 0xb8, 0x33,
- 0x8b, 0x6e, 0xd2, 0x46, 0x4d, 0x3e, 0xf4, 0xdb, 0x1a, 0x00, 0xaa, 0x26,
- 0xe8, 0x8d, 0xaf, 0x09, 0x16, 0x06, 0x31, 0xc0, 0x51, 0x89, 0xf3, 0x45,
- 0xe8, 0xee, 0x96, 0x0a, 0xfe, 0x80, 0xc2, 0xd5, 0x38, 0xdb, 0x65, 0x8e,
- 0x8d, 0xe9, 0x44, 0x47, 0x15, 0xf5, 0x83, 0x26, 0x3f, 0x98, 0x6f, 0xa2,
- 0xe2, 0x56, 0x74, 0x79, 0x2b, 0xa8, 0xcf, 0x3a, 0x36, 0xcc, 0xd1, 0x14,
- 0xcc, 0xda, 0x4c, 0x39, 0x10, 0x32, 0x77, 0x13, 0x35, 0x42, 0x19, 0xb6,
- 0x43, 0x4d, 0xde, 0x8b, 0x1a, 0x0b, 0x85, 0x7b, 0x88, 0xa2, 0x15, 0xd5,
- 0x7e, 0xe9, 0x06, 0xbd, 0xd7, 0xa5, 0xbf, 0xed, 0x6f, 0xbd, 0xe2, 0x13,
- 0x3d, 0x3d, 0xb9, 0x7e, 0xdb, 0x74, 0xe6, 0x15, 0x40, 0x50, 0xfc, 0xdf,
- 0x5e, 0x12, 0x17, 0x37, 0x60, 0x5c, 0x20, 0x54, 0x52, 0x0f, 0xfb, 0x6f,
- 0xf4, 0xb6, 0xb6, 0x42, 0x79, 0x1b, 0x9f, 0x10, 0x1e, 0x62, 0x77, 0xaf,
- 0x1e, 0xd2, 0x43, 0x95, 0xbe, 0x87, 0xdb, 0xdd, 0x8e, 0xe4, 0x5b, 0x27,
- 0xaf, 0x58, 0x75, 0x67, 0x79, 0xbc, 0x16, 0xb0, 0x4f, 0x22, 0x03, 0x09,
- 0x1d, 0x35, 0x81, 0x30, 0x1d, 0x13, 0xbb, 0xa9, 0xde, 0x98, 0xec, 0x24,
- 0x10, 0xf3, 0x24, 0x93, 0xaa, 0xc7, 0x8d, 0x88, 0xfb, 0x48, 0x72, 0xbb,
- 0xb7, 0x8a, 0x18, 0x00, 0x59, 0x10, 0xc1, 0xc2, 0xf9, 0x52, 0x6a, 0x07,
- 0x8b, 0x04, 0x21, 0xd7, 0x58, 0xed, 0x93, 0xb6, 0x59, 0x4f, 0xc3, 0xc6,
- 0xd1, 0x16, 0x14, 0xa3, 0x85, 0x14, 0x91, 0xf2, 0xbf, 0x51, 0x14, 0xd7,
- 0xf2, 0x67, 0x77, 0xf6, 0x03, 0x1b, 0x47, 0x02, 0xfb, 0x57, 0x6e, 0x9c,
- 0x55, 0x8e, 0xd8, 0x7f, 0x47, 0x06, 0xaf, 0x29, 0x75, 0x0b, 0x64, 0x6a,
- 0x6b, 0x5b, 0xe7, 0x5f, 0xbc, 0x16, 0xdc, 0xed, 0xfe, 0x2a, 0xf0, 0x49,
- 0xfb, 0xd6, 0xaf, 0x5c, 0x4b, 0xd7, 0x76, 0x3e, 0x41, 0xe9, 0x31, 0x97,
- 0xc6, 0x6e, 0xe4, 0x67, 0xa0, 0x80, 0x66, 0x13, 0x18, 0x26, 0x59, 0x24,
- 0xb4, 0x78, 0x37, 0x6f, 0xc1, 0x21, 0x6e, 0x63, 0xa3, 0xa2, 0xad, 0xa8,
- 0x05, 0x91, 0x20, 0x44, 0xd3, 0x05, 0x22, 0x7e, 0x94, 0x41, 0x3f, 0x8b,
- 0x98, 0xf9, 0xec, 0x47, 0xa0, 0xcd, 0x54, 0x97, 0x6c, 0x57, 0xc4, 0x98,
- 0xbc, 0xae, 0x7b, 0xac, 0x3c, 0xcb, 0x53, 0x1a, 0xef, 0xe2, 0x19, 0x9a,
- 0xeb, 0x34, 0x86, 0x39, 0xac, 0xdc, 0x56, 0xd6, 0xf3, 0xe0, 0x79, 0x8b,
- 0xf8, 0x77, 0xe7, 0x91, 0x99, 0xf7, 0x39, 0xe1, 0x51, 0x95, 0xd9, 0xef,
- 0xae, 0xde, 0xfe, 0x45, 0xed, 0xee, 0x8d, 0x6e, 0x8b, 0x25, 0xdc, 0x98,
- 0xee, 0x30, 0x71, 0x12, 0x01, 0x05, 0x02, 0xa2, 0xb6, 0xeb, 0xfc, 0x2f,
- 0x9b, 0x65, 0xe9, 0x05, 0x15, 0x28, 0xe9, 0x63, 0x1d, 0xc3, 0x6c, 0xf0,
- 0xdc, 0x40, 0x4c, 0xba, 0xdd, 0xfe, 0x3e, 0xf9, 0x43, 0xde, 0x1e, 0xef,
- 0xef, 0xee, 0x6c, 0x83, 0xd5, 0xba, 0xde, 0xe0, 0x16, 0x1b, 0x9f, 0x3d,
- 0x6b, 0xb7, 0xcd, 0x79, 0x27, 0x0f, 0x0b, 0xa4, 0xbd, 0xf5, 0x93, 0x1f,
- 0x2e, 0xcf, 0xbd, 0x35, 0xc2, 0x9a, 0xbc, 0x40, 0x6a, 0xdb, 0x1a, 0xad,
- 0x2e, 0x50, 0x1b, 0x5f, 0xf3, 0x8f, 0xa9, 0x61, 0x75, 0x20, 0x54, 0xf9,
- 0xb6, 0x48, 0x51, 0xc7, 0xed, 0xe0, 0x96, 0x74, 0xce, 0xf2, 0x6c, 0x0c,
- 0xa2, 0xff, 0x02, 0x21, 0xfa, 0x92, 0x0e, 0xe8, 0xea, 0x4f, 0xae, 0xae,
- 0xfd, 0x9a, 0xbc, 0xef, 0xd2, 0x55, 0xc9, 0xfc, 0x0c, 0x97, 0xf7, 0xf4,
- 0x43, 0x42, 0x44, 0x46, 0x70, 0x13, 0xae, 0x31, 0x59, 0x4e, 0x13, 0x76,
- 0xef, 0xa2, 0x69, 0x56, 0xbf, 0x6d, 0x0f, 0xd4, 0x90, 0x88, 0x3c, 0x3e,
- 0x87, 0xe4, 0xd0, 0x6e, 0x8b, 0x85, 0x30, 0xb7, 0xd4, 0x68, 0x08, 0xfb,
- 0x88, 0xd6, 0xd5, 0xad, 0xbf, 0xe1, 0x74, 0x74, 0x27, 0xf0, 0x4e, 0x8e,
- 0x75, 0xa0, 0xde, 0x16, 0xe0, 0xb9, 0xf4, 0x98, 0xb5, 0x2b, 0xd2, 0x7a,
- 0x4a, 0x3c, 0xdd, 0x44, 0x02, 0x83, 0xe8, 0xd6, 0xb1, 0x0b, 0x43, 0x3e,
- 0x70, 0xca, 0x20, 0xa0, 0x8e, 0x7b, 0x71, 0x56, 0xc7, 0x79, 0x45, 0x30,
- 0x03, 0xb6, 0x7e, 0x92, 0x07, 0x6a, 0xa2, 0x0a, 0x2a, 0xe2, 0x8b, 0x5d,
- 0x5f, 0x1e, 0xc9, 0x52, 0x04, 0xde, 0x45, 0xdc, 0x4c, 0x06, 0x8a, 0xfa,
- 0xad, 0x55, 0x7b, 0xbb, 0xc1, 0x38, 0x44, 0x28, 0x24, 0xc5, 0x51, 0x09,
- 0xb1, 0xce, 0x1a, 0x71, 0x09, 0x37, 0x0e, 0x41, 0x37, 0x05, 0x23, 0x11,
- 0x12, 0x65, 0xf0, 0x0d, 0x15, 0x27, 0x32, 0xd1, 0x1e, 0x9a, 0x58, 0x11,
- 0x8c, 0x68, 0x9a, 0xa0, 0x26, 0x34, 0x51, 0x23, 0xbe, 0xfd, 0xcf, 0x03,
- 0xc4, 0x77, 0x7e, 0x71, 0x7d, 0x72, 0x20, 0x10, 0x5f, 0x8a, 0x85, 0xa3,
- 0x66, 0x02, 0x27, 0xa6, 0x71, 0x23, 0x77, 0xae, 0x39, 0x44, 0x21, 0xab,
- 0xa7, 0xde, 0x0d, 0x5d, 0x79, 0xca, 0x11, 0xc7, 0x6b, 0xc2, 0x5e, 0xde,
- 0xaa, 0x15, 0x21, 0x97, 0x4a, 0xfd, 0xc5, 0x32, 0x60, 0x7a, 0xc2, 0xf3,
- 0xf7, 0x91, 0x51, 0x08, 0x3e, 0x83, 0x10, 0x29, 0x58, 0xde, 0x7a, 0x24,
- 0xc4, 0xa2, 0x8c, 0x0d, 0x2e, 0x93, 0xb0, 0x38, 0xc2, 0x7e, 0xaa, 0x7e,
- 0x13, 0x50, 0x8a, 0xd0, 0xbd, 0x95, 0x46, 0xf2, 0x64, 0x8f, 0x18, 0x98,
- 0xcd, 0x55, 0x22, 0xce, 0x06, 0x12, 0x9b, 0x97, 0x4a, 0x8c, 0x33, 0xf4,
- 0x02, 0x7e, 0xd9, 0x0a, 0x73, 0x55, 0x39, 0xf7, 0x49, 0xe9, 0x04, 0xee,
- 0x91, 0x5a, 0x69, 0x68, 0x55, 0x1a, 0x33, 0x45, 0x30, 0x6c, 0xfc, 0xf0,
- 0x35, 0xb1, 0xc0, 0xba, 0x5b, 0x44, 0xb5, 0xb4, 0xae, 0x51, 0xd7, 0x28,
- 0x71, 0x27, 0xa1, 0xb2, 0x2c, 0x36, 0xc0, 0x49, 0x5b, 0x68, 0x41, 0x62,
- 0x75, 0x31, 0x06, 0x44, 0xa9, 0x46, 0xd1, 0x37, 0x02, 0xc1, 0xed, 0x56,
- 0x20, 0x90, 0xce, 0x47, 0xd6, 0x6c, 0xca, 0x40, 0x0f, 0xf0, 0x91, 0xfd,
- 0xad, 0x16, 0x5b, 0x96, 0x55, 0xde, 0x41, 0x52, 0x17, 0xb4, 0xf0, 0x46,
- 0x6f, 0xdb, 0x38, 0x61, 0x53, 0x2a, 0x6e, 0x17, 0x34, 0xb7, 0x4f, 0x17,
- 0x62, 0x9a, 0x77, 0xe5, 0x8c, 0x56, 0xe6, 0x31, 0xbe, 0xd7, 0xb0, 0x2f,
- 0x3e, 0x94, 0x66, 0x9a, 0xa2, 0xc6, 0x9a, 0x12, 0x47, 0xf1, 0x14, 0xb4,
- 0x16, 0x6e, 0x66, 0x8e, 0xd1, 0x73, 0x1b, 0xfc, 0xf6, 0x8d, 0x39, 0x74,
- 0x52, 0xf4, 0xa3, 0xc8, 0x45, 0x20, 0xd3, 0x92, 0x23, 0x39, 0x18, 0xdc,
- 0x75, 0xf2, 0xb7, 0x0d, 0xb1, 0x7e, 0x3f, 0xfa, 0x6b, 0x3e, 0x14, 0x27,
- 0x0c, 0x5a, 0x8e, 0x21, 0x24, 0x9f, 0x09, 0xe5, 0xcf, 0x2f, 0x81, 0xca,
- 0xc6, 0x4b, 0xf6, 0xab, 0xe2, 0x84, 0x24, 0x13, 0x9b, 0x5b, 0x3f, 0x63,
- 0xc0, 0x23, 0x9a, 0x12, 0x8e, 0x26, 0xa7, 0x82, 0x6a, 0x21, 0xba, 0x5f,
- 0xed, 0xbc, 0xd3, 0x44, 0x6b, 0x89, 0x47, 0xe8, 0x0d, 0x81, 0xc1, 0x05,
- 0x1c, 0x81, 0x01, 0xf7, 0x6c, 0xc2, 0x7a, 0x3c, 0xaa, 0x96, 0xb2, 0xf1,
- 0xcd, 0xd9, 0xe5, 0xea, 0x25, 0x85, 0x77, 0x09, 0x06, 0x9e, 0xb2, 0x90,
- 0x46, 0x40, 0x79, 0xf1, 0xe8, 0x51, 0xf5, 0x05, 0x2b, 0x5c, 0x05, 0xd0,
- 0xd1, 0x82, 0xc6, 0xfb, 0x35, 0x9e, 0x3a, 0x09, 0x8c, 0x76, 0xa6, 0x65,
- 0x4b, 0xb7, 0x96, 0xdf, 0xd4, 0x4e, 0x71, 0x7b, 0x6e, 0xb1, 0xd3, 0x59,
- 0x81, 0x27, 0x6b, 0x57, 0x3d, 0xa9, 0x62, 0xdc, 0xe5, 0x95, 0xc5, 0xe8,
- 0xd6, 0x25, 0x60, 0x2a, 0x6b, 0x28, 0x32, 0x48, 0xf5, 0x8c, 0x58, 0x63,
- 0x43, 0x71, 0x70, 0x6d, 0x38, 0x75, 0xea, 0xeb, 0x11, 0xef, 0xe5, 0x2b,
- 0xcc, 0x0f, 0xd7, 0x89, 0x59, 0xd9, 0x8a, 0x52, 0x1c, 0x66, 0x8f, 0x33,
- 0xc6, 0xa2, 0xfd, 0xcf, 0xf7, 0xf7, 0x36, 0xb4, 0x79, 0xb1, 0x66, 0x21,
- 0x6e, 0x84, 0x3a, 0x00, 0xd2, 0x8d, 0x93, 0x9e, 0x0a, 0xa4, 0xd7, 0xa4,
- 0xd8, 0x23, 0x93, 0xd1, 0x3a, 0xc4, 0xb1, 0x99, 0x72, 0xd3, 0x2c, 0x74,
- 0xb1, 0x53, 0xfb, 0x39, 0x66, 0xca, 0x5e, 0xfe, 0x00, 0x7e, 0x2c, 0xe1,
- 0x97, 0xd7, 0x89, 0xc3, 0xc7, 0xa5, 0x65, 0xde, 0xb6, 0x32, 0x88, 0xa1,
- 0xfd, 0x49, 0x49, 0xd3, 0xd4, 0xb7, 0x0d, 0x2a, 0x5f, 0x0f, 0x96, 0x95,
- 0x73, 0xfa, 0x39, 0x69, 0xaa, 0xa2, 0x7a, 0xdc, 0x60, 0x47, 0xf6, 0xdc,
- 0x91, 0x0b, 0xec, 0x1b, 0xe1, 0xda, 0x2e, 0x16, 0x3c, 0x21, 0xa0, 0x6a,
- 0xc2, 0x99, 0x28, 0x39, 0x43, 0xaa, 0xbe, 0x8f, 0x0c, 0x7d, 0x4a, 0xe0,
- 0x0b, 0xf2, 0xbe, 0x24, 0x48, 0xc9, 0x99, 0x30, 0xe2, 0xae, 0x27, 0x90,
- 0xe7, 0xda, 0x1d, 0x8a, 0x55, 0x8f, 0xbc, 0xb0, 0xa5, 0xb9, 0x1c, 0xa4,
- 0x61, 0x71, 0x49, 0xf9, 0xc2, 0x6d, 0xc0, 0x3b, 0xea, 0x06, 0x89, 0x15,
- 0x23, 0xa4, 0x36, 0xb3, 0xd6, 0xfa, 0x16, 0xa5, 0x36, 0x85, 0xe2, 0x69,
- 0x96, 0xb5, 0xe8, 0xdf, 0x0d, 0x55, 0xfa, 0x15, 0x6d, 0xfc, 0xd5, 0xc6,
- 0x46, 0xb4, 0xcc, 0x9e, 0x2c, 0x29, 0xc6, 0xcd, 0x23, 0x5f, 0x8a, 0xdf,
- 0x1c, 0x76, 0x16, 0xad, 0xd3, 0x84, 0x37, 0x37, 0x37, 0x9e, 0x9e, 0xb4,
- 0x3c, 0xf9, 0xd4, 0x24, 0x2f, 0xd9, 0xb1, 0xe1, 0xb4, 0x93, 0x98, 0x38,
- 0x73, 0xc0, 0x6f, 0x3a, 0x70, 0x19, 0x5d, 0xa6, 0x48, 0x72, 0x30, 0x67,
- 0x88, 0x79, 0x1a, 0x3f, 0xfa, 0x4e, 0x7c, 0xcd, 0x4a, 0xe3, 0x05, 0xd6,
- 0xd7, 0xae, 0xf5, 0xc8, 0x04, 0xe7, 0x27, 0x2c, 0x04, 0x53, 0xa3, 0x08,
- 0x5f, 0xed, 0x08, 0x88, 0xd0, 0xd7, 0x37, 0xed, 0xb4, 0x9c, 0xc5, 0x91,
- 0x89, 0x9b, 0x76, 0x23, 0xc7, 0xcd, 0xce, 0xb7, 0x50, 0x7d, 0x10, 0xec,
- 0x8e, 0x0f, 0xd4, 0x46, 0xe8, 0xd3, 0x26, 0xc3, 0x92, 0x3b, 0xa9, 0xf7,
- 0x3d, 0x44, 0x64, 0x7e, 0xd2, 0x76, 0xf3, 0x0e, 0xf4, 0x52, 0x70, 0x5d,
- 0xa4, 0x32, 0x20, 0x70, 0xd4, 0x5b, 0xbb, 0x66, 0xc6, 0x23, 0xe6, 0x8e,
- 0xed, 0xd2, 0x90, 0x4f, 0x07, 0xc3, 0xe9, 0x7a, 0x8c, 0x97, 0xe6, 0x66,
- 0xe8, 0x9b, 0x76, 0x8c, 0xc1, 0x78, 0x86, 0xfc, 0xd3, 0xda, 0x66, 0x76,
- 0xf9, 0x8e, 0x12, 0x0c, 0x4e, 0x48, 0x57, 0xa7, 0xae, 0x89, 0x3e, 0x92,
- 0x83, 0xd9, 0xc3, 0x95, 0x29, 0x78, 0x26, 0x07, 0x8f, 0xfc, 0xbc, 0x92,
- 0x85, 0xe7, 0xcb, 0x59, 0xf5, 0xb5, 0xe9, 0xa0, 0x75, 0x5f, 0xc3, 0xcb,
- 0xba, 0xaf, 0xc1, 0x80, 0x52, 0x84, 0x35, 0x34, 0x4e, 0xbe, 0x2c, 0xa3,
- 0x73, 0x7d, 0x2c, 0x5a, 0x1f, 0x5c, 0x9e, 0x9f, 0x7c, 0x73, 0xb1, 0xf1,
- 0x94, 0x8f, 0xb2, 0xce, 0xff, 0xcd, 0xba, 0x62, 0xcd, 0x12, 0x96, 0xe9,
- 0x93, 0x75, 0xf2, 0xcd, 0x60, 0xd0, 0x3b, 0xba, 0x3c, 0xa5, 0x2e, 0x97,
- 0x03, 0xf8, 0xb3, 0x05, 0x8b, 0xbd, 0x4f, 0xad, 0x00, 0x7a, 0xdf, 0x49,
- 0xed, 0x68, 0xa9, 0x49, 0x82, 0xe4, 0x01, 0xc4, 0xc3, 0x14, 0xf4, 0x44,
- 0xde, 0x23, 0x03, 0xed, 0x41, 0xc3, 0x37, 0x4d, 0x9e, 0xcb, 0xd3, 0x4d,
- 0xfa, 0x14, 0x7e, 0x92, 0x16, 0xd4, 0xe2, 0x3e, 0x58, 0xfa, 0x0d, 0x2e,
- 0x51, 0xf3, 0xa1, 0x14, 0x53, 0x62, 0xd0, 0x9a, 0x0c, 0x0e, 0x96, 0x1f,
- 0x8a, 0x13, 0x1b, 0xb0, 0x0b, 0x97, 0xde, 0xa0, 0x2b, 0x0c, 0x6b, 0x2b,
- 0x14, 0x34, 0xb5, 0xe1, 0x7a, 0x23, 0x13, 0x8d, 0xa1, 0xf1, 0x66, 0x08,
- 0x3f, 0x32, 0xd0, 0xe8, 0x6a, 0xd3, 0x29, 0xb2, 0xd6, 0x5b, 0x46, 0xd1,
- 0xc1, 0x9a, 0x34, 0x8e, 0xcf, 0xf2, 0xe5, 0xf4, 0x86, 0x0d, 0xac, 0xba,
- 0x1f, 0x82, 0x78, 0xb9, 0x46, 0x5f, 0x4d, 0xef, 0x06, 0x98, 0xa4, 0x47,
- 0x82, 0xf4, 0x8e, 0xea, 0x3d, 0x45, 0x82, 0xc1, 0x21, 0x56, 0x6f, 0x38,
- 0xe9, 0x62, 0xfc, 0xbb, 0x60, 0xa0, 0xaf, 0xd0, 0x40, 0x86, 0x1c, 0x38,
- 0x25, 0x37, 0x5a, 0x56, 0xcd, 0xe6, 0xf2, 0xd7, 0x38, 0x7b, 0x24, 0x77,
- 0xa9, 0xf8, 0xef, 0xa9, 0xfe, 0xd3, 0xd0, 0x74, 0x9d, 0xd0, 0xab, 0x62,
- 0x44, 0x86, 0x3e, 0xa7, 0xa0, 0x72, 0xe1, 0xe7, 0x2a, 0x9a, 0xa5, 0x9e,
- 0xf6, 0x73, 0x10, 0xd3, 0x64, 0xda, 0xf5, 0xb2, 0xae, 0x8e, 0xd2, 0x05,
- 0x73, 0x58, 0xc2, 0x64, 0xa2, 0x08, 0x0b, 0x11, 0x04, 0x58, 0x11, 0xb5,
- 0x80, 0x5c, 0x8f, 0x87, 0x65, 0x3e, 0x5b, 0x56, 0xa4, 0x0b, 0xa0, 0x53,
- 0x14, 0x8b, 0x6b, 0x36, 0x88, 0x74, 0x25, 0x7c, 0x09, 0xa3, 0x46, 0x4e,
- 0x02, 0x6a, 0x14, 0xaa, 0x03, 0xb0, 0xed, 0x49, 0xfb, 0x36, 0x04, 0xc0,
- 0x51, 0x44, 0xf1, 0x4f, 0xe0, 0xce, 0xf2, 0x58, 0x34, 0xd4, 0x82, 0xd2,
- 0x92, 0xee, 0x14, 0xec, 0xcd, 0x3f, 0x3f, 0x3d, 0xab, 0xda, 0xee, 0xa8,
- 0x77, 0x1d, 0x59, 0x77, 0x2d, 0x51, 0xdd, 0x6a, 0x8d, 0x21, 0xce, 0xd6,
- 0x9a, 0xa9, 0xac, 0xd9, 0x02, 0x43, 0xbc, 0x25, 0xc3, 0x47, 0xf3, 0x31,
- 0xfe, 0x4e, 0x4c, 0xb9, 0x3c, 0x46, 0x11, 0x7e, 0x2e, 0xb4, 0x92, 0x3d,
- 0x8c, 0xfe, 0xaa, 0x64, 0x94, 0xfa, 0x97, 0x1a, 0x43, 0x7f, 0x97, 0x70,
- 0xde, 0x19, 0x1f, 0x31, 0x9d, 0x46, 0xed, 0x90, 0x59, 0xcb, 0x6f, 0x36,
- 0xb5, 0xc3, 0x8d, 0xe8, 0xd3, 0x13, 0x1e, 0x01, 0x63, 0x28, 0xdd, 0xac,
- 0x4a, 0xd5, 0x23, 0xf4, 0xb7, 0xc5, 0xdc, 0x4e, 0x93, 0x5f, 0x76, 0xbe,
- 0x61, 0x4a, 0x81, 0xf2, 0xd5, 0x1d, 0x6f, 0xed, 0xe9, 0xf4, 0x9f, 0xb1,
- 0x21, 0x76, 0xfd, 0xf6, 0x87, 0x9e, 0x65, 0x67, 0xe2, 0xc5, 0x25, 0x41,
- 0x52, 0x9a, 0x45, 0x01, 0xe7, 0xff, 0x28, 0x7f, 0xc1, 0x3b, 0xf0, 0x7d,
- 0x9a, 0x81, 0x66, 0x58, 0x6e, 0x28, 0x71, 0xa6, 0x59, 0x08, 0x46, 0x01,
- 0x79, 0xc7, 0x5a, 0x09, 0x96, 0x18, 0x70, 0x1c, 0x9b, 0xa8, 0x87, 0x8a,
- 0x33, 0x07, 0x6c, 0x3c, 0x56, 0xe4, 0x34, 0x36, 0x7d, 0x5c, 0x78, 0xf5,
- 0x33, 0x23, 0xc3, 0x74, 0x68, 0x0c, 0x02, 0x2f, 0x06, 0xb3, 0x20, 0x4b,
- 0x1f, 0xfa, 0x26, 0xb8, 0x6f, 0xd0, 0xd7, 0xdc, 0xe0, 0x26, 0x30, 0xc2,
- 0x40, 0x4f, 0x7b, 0xe2, 0x6c, 0xcd, 0x10, 0x16, 0xee, 0x2e, 0xad, 0x73,
- 0x7d, 0x7f, 0x23, 0x9a, 0x54, 0x8b, 0xf5, 0xed, 0x0d, 0xc6, 0xb0, 0x97,
- 0x5e, 0xea, 0xb9, 0x15, 0xf7, 0xbe, 0x17, 0x07, 0x73, 0x0b, 0xa3, 0x63,
- 0xf3, 0x59, 0x0a, 0x6e, 0x22, 0x9c, 0x1b, 0x55, 0xf1, 0x4d, 0xe4, 0x06,
- 0xf3, 0x86, 0x99, 0x06, 0xcc, 0x94, 0xc6, 0x1c, 0xd8, 0x3b, 0xae, 0xc5,
- 0x5f, 0x20, 0xb2, 0x2b, 0x55, 0x36, 0x82, 0x05, 0x61, 0xbb, 0xe0, 0x4a,
- 0x2f, 0x30, 0x29, 0x7d, 0x86, 0x9d, 0x9b, 0x8d, 0x7b, 0xc8, 0x43, 0xa6,
- 0x45, 0x0e, 0x22, 0xb2, 0x08, 0xe0, 0x5f, 0x8a, 0x4d, 0x71, 0x4d, 0xd5,
- 0x37, 0x77, 0x69, 0x91, 0x67, 0x04, 0x31, 0x7a, 0x17, 0x17, 0x29, 0x85,
- 0xf9, 0x3b, 0xef, 0x2e, 0xde, 0x9f, 0x74, 0x5c, 0xa7, 0xc8, 0x24, 0x15,
- 0x3f, 0x3a, 0x9d, 0x5f, 0xd3, 0x4b, 0xad, 0xa7, 0x19, 0x72, 0x1a, 0x82,
- 0x48, 0x1f, 0xb1, 0xda, 0x47, 0x40, 0x0c, 0x04, 0x15, 0x97, 0x98, 0x08,
- 0x39, 0xa8, 0x92, 0x92, 0x04, 0x20, 0x7d, 0x15, 0x95, 0xc2, 0x28, 0x09,
- 0x28, 0xd4, 0xfd, 0x46, 0x4d, 0x43, 0xea, 0x80, 0x93, 0xbb, 0x9d, 0xfd,
- 0x22, 0xa7, 0xfb, 0x1f, 0xaa, 0xf9, 0xda, 0x16, 0xc5, 0xba, 0xd8, 0x9b,
- 0xe2, 0x71, 0xfe, 0x88, 0x96, 0xcd, 0x5a, 0x5d, 0x00, 0xae, 0x95, 0x68,
- 0x8c, 0x57, 0x6b, 0xba, 0xbd, 0x94, 0x2e, 0x6a, 0x79, 0xbc, 0xdf, 0x71,
- 0xb9, 0xe5, 0xeb, 0x4c, 0xd5, 0xfc, 0x09, 0x3b, 0x3a, 0x0f, 0x6e, 0x6f,
- 0xdf, 0x01, 0xdf, 0xbe, 0x87, 0xea, 0x49, 0x7c, 0xa4, 0xd8, 0x16, 0x88,
- 0xd5, 0x9b, 0x35, 0xd7, 0xa3, 0xf4, 0xd8, 0x63, 0xc2, 0xf7, 0x2a, 0xc2,
- 0xe7, 0xf3, 0x11, 0xc3, 0x8a, 0x99, 0xb8, 0x6a, 0x03, 0xf0, 0x59, 0xb5,
- 0xa4, 0xcc, 0x69, 0xdb, 0x4a, 0xa3, 0xb5, 0x02, 0x8e, 0x82, 0xe0, 0xa6,
- 0x34, 0x2a, 0xc5, 0x5d, 0x4c, 0x0b, 0xc4, 0xf0, 0xb1, 0x51, 0x64, 0xf9,
- 0x52, 0xd7, 0xad, 0xa6, 0x6e, 0x83, 0x20, 0xb6, 0xc9, 0x28, 0x46, 0x2f,
- 0x61, 0x0c, 0x5e, 0x46, 0x71, 0x35, 0xf8, 0x6f, 0x8a, 0x64, 0xeb, 0xeb,
- 0xc7, 0x66, 0x27, 0xd5, 0xb1, 0x4d, 0x15, 0x4b, 0xf0, 0x37, 0x36, 0x67,
- 0x4c, 0xc4, 0x9f, 0x51, 0x3a, 0x48, 0xe1, 0xc0, 0xf6, 0x23, 0x31, 0x65,
- 0xd9, 0x24, 0x61, 0xd0, 0x36, 0x73, 0x1f, 0x61, 0x69, 0xd2, 0x48, 0xa1,
- 0x5c, 0x16, 0x77, 0x54, 0xf5, 0x2a, 0xfd, 0xb7, 0x38, 0x35, 0xd8, 0x9e,
- 0x87, 0x9c, 0x43, 0x40, 0xca, 0x3b, 0x33, 0xc4, 0xb4, 0xcd, 0x42, 0x90,
- 0xb1, 0xa2, 0x6f, 0x78, 0x16, 0x66, 0x82, 0xc6, 0xd2, 0x41, 0x00, 0x14,
- 0xd6, 0x62, 0xbd, 0x24, 0xfd, 0xbc, 0x24, 0xdc, 0xdc, 0xaa, 0x88, 0x47,
- 0xf6, 0x2f, 0xbd, 0xb8, 0x1c, 0xa5, 0xa9, 0xf6, 0x73, 0xc2, 0xf8, 0x60,
- 0x82, 0xe9, 0xb0, 0x41, 0x7c, 0x1c, 0x7b, 0x1e, 0xa6, 0x93, 0xca, 0x38,
- 0x67, 0xf7, 0x2e, 0xe7, 0x9c, 0xc4, 0xdc, 0xea, 0x0f, 0x33, 0x58, 0xa8,
- 0x34, 0x4e, 0x82, 0x87, 0xa1, 0x16, 0x57, 0x5a, 0x69, 0xd3, 0x62, 0xda,
- 0x82, 0xf5, 0xbd, 0xed, 0x9a, 0xdf, 0xba, 0x09, 0x3d, 0x44, 0xa9, 0x2a,
- 0x2b, 0x36, 0x25, 0xef, 0xef, 0x77, 0xdc, 0x67, 0x56, 0x45, 0xc3, 0x1b,
- 0xa0, 0x48, 0x59, 0xde, 0x8b, 0x67, 0x8b, 0x60, 0x8a, 0xdb, 0x60, 0xa3,
- 0xd6, 0xf0, 0xf2, 0xe8, 0xec, 0xf2, 0x9c, 0xf0, 0xf2, 0x10, 0x39, 0x3d,
- 0x2b, 0x39, 0x4b, 0x01, 0x7f, 0x86, 0x09, 0xec, 0x19, 0xc3, 0x4a, 0x52,
- 0xd2, 0xc8, 0xd8, 0x2f, 0xaf, 0xa6, 0xe6, 0x10, 0x64, 0x3e, 0x84, 0xec,
- 0x2b, 0x4e, 0x6f, 0xcb, 0x22, 0xa7, 0xc0, 0x91, 0x19, 0xbc, 0xda, 0x17,
- 0xcd, 0xe5, 0xc0, 0x57, 0xed, 0xb7, 0xb5, 0xcb, 0x82, 0x29, 0x44, 0xaa,
- 0xbf, 0x6b, 0x00, 0x03, 0xf3, 0x48, 0xe0, 0x01, 0x3d, 0x7e, 0x5e, 0x25,
- 0x06, 0x9b, 0x50, 0xec, 0x3a, 0x83, 0x85, 0xaa, 0x1d, 0xac, 0x38, 0x49,
- 0x83, 0x80, 0x2b, 0xb4, 0x3e, 0xbe, 0x5c, 0x8d, 0x68, 0x00, 0x1b, 0x9b,
- 0x2d, 0xb2, 0x26, 0xde, 0x96, 0x6c, 0x77, 0xd0, 0x08, 0xf5, 0xc0, 0xdf,
- 0x56, 0xd6, 0x85, 0xe9, 0x54, 0xb1, 0x71, 0xd6, 0x8a, 0x03, 0x3e, 0xef,
- 0xf2, 0x57, 0x87, 0x4b, 0xe4, 0x10, 0x8d, 0x2f, 0xc8, 0xf1, 0xb2, 0xd2,
- 0xc4, 0x4f, 0xe0, 0xf7, 0xc4, 0xfd, 0xc5, 0x48, 0x4a, 0x58, 0xc3, 0x99,
- 0xc4, 0x73, 0x50, 0x0b, 0x32, 0x2d, 0x14, 0x40, 0xcf, 0x2f, 0xe6, 0x73,
- 0x36, 0x27, 0xbc, 0x8c, 0x85, 0x63, 0x29, 0x9c, 0x3d, 0x71, 0x81, 0x46,
- 0xfd, 0x00, 0x7f, 0x06, 0x39, 0xa9, 0x3b, 0x7c, 0xa8, 0x26, 0x8c, 0x5e,
- 0x37, 0xb8, 0x07, 0x12, 0xb7, 0xd1, 0xd6, 0x9f, 0x0c, 0x1c, 0xce, 0x43,
- 0x98, 0xee, 0xdf, 0xd8, 0xb9, 0xea, 0x66, 0x99, 0xdd, 0xc2, 0x14, 0xfc,
- 0x72, 0x68, 0x4d, 0xf6, 0xc5, 0xe6, 0x17, 0xdc, 0x32, 0x17, 0xff, 0xc2,
- 0xfd, 0x97, 0xcd, 0x08, 0x88, 0x59, 0x7e, 0x87, 0x8e, 0x3c, 0x01, 0xf1,
- 0x76, 0x94, 0xd3, 0xd0, 0xec, 0xc6, 0xe6, 0x7e, 0xc0, 0xac, 0xcc, 0x06,
- 0x06, 0xd3, 0xd9, 0xf5, 0xa4, 0x6d, 0xb3, 0x79, 0xa0, 0x46, 0x47, 0xa4,
- 0x48, 0x14, 0x5b, 0x01, 0xa4, 0xa8, 0x22, 0x49, 0x53, 0xbd, 0x3c, 0x76,
- 0xb8, 0x24, 0xb2, 0x47, 0x93, 0x8d, 0xbe, 0x49, 0xd8, 0x2d, 0x4e, 0xf7,
- 0xa9, 0xc0, 0x4c, 0xea, 0xb5, 0xf9, 0x6d, 0x74, 0xc0, 0x4a, 0x0a, 0x39,
- 0xb2, 0x80, 0x08, 0x6c, 0x29, 0xbf, 0x64, 0xa2, 0x18, 0x9d, 0x0d, 0xfb,
- 0xc2, 0xba, 0x8d, 0x29, 0x03, 0x7c, 0xcb, 0x96, 0x72, 0x25, 0x99, 0x21,
- 0xb2, 0x79, 0x10, 0x78, 0xf6, 0x93, 0xef, 0x92, 0x5d, 0x88, 0xb3, 0x51,
- 0xe6, 0x87, 0x8d, 0x4d, 0xca, 0x9e, 0xc5, 0x0d, 0xcf, 0x7d, 0x66, 0x78,
- 0x5e, 0xe7, 0x85, 0x76, 0xa5, 0x5e, 0x1d, 0x75, 0xe0, 0x46, 0x3f, 0xc9,
- 0x03, 0x71, 0x78, 0x4c, 0xb0, 0xbf, 0x3c, 0xf7, 0xab, 0xbc, 0xc5, 0xfd,
- 0x37, 0xa4, 0xfa, 0xec, 0xa7, 0xb8, 0xa0, 0x31, 0xdd, 0xe5, 0x67, 0x2d,
- 0xae, 0xad, 0x5f, 0xcf, 0x02, 0xd5, 0xa2, 0x12, 0x56, 0xe7, 0x73, 0xc0,
- 0xcc, 0x63, 0x80, 0x42, 0x77, 0x9f, 0x86, 0x05, 0xe2, 0x27, 0x65, 0xc2,
- 0xe9, 0x38, 0x88, 0xe0, 0x60, 0x4e, 0x56, 0xba, 0xc2, 0x4a, 0xc0, 0x02,
- 0xcf, 0x42, 0xb1, 0x63, 0x4e, 0xdf, 0x00, 0x89, 0xa1, 0xaa, 0x8a, 0x3d,
- 0xc2, 0xbf, 0x6e, 0x3b, 0xda, 0x78, 0x66, 0x73, 0x70, 0xd8, 0xbc, 0x47,
- 0x78, 0x4c, 0x17, 0xd6, 0x0b, 0x71, 0xfe, 0xfa, 0x0e, 0xa9, 0x73, 0xb8,
- 0x5d, 0x3b, 0xd0, 0xb4, 0xf4, 0xf9, 0x48, 0x08, 0xad, 0x8c, 0x50, 0xa5,
- 0x6f, 0x96, 0x08, 0x00, 0x88, 0xe2, 0x8e, 0xbb, 0x46, 0x49, 0x63, 0xb3,
- 0x22, 0xc1, 0x39, 0xd7, 0x27, 0xec, 0x01, 0xd5, 0xb1, 0x13, 0xbb, 0x4c,
- 0xe0, 0x1a, 0x72, 0x9d, 0xd0, 0xb0, 0xc8, 0x6f, 0x13, 0xa6, 0x39, 0x32,
- 0x2c, 0x08, 0x79, 0x89, 0xf5, 0x28, 0xf1, 0xc5, 0x02, 0x97, 0xe3, 0xa6,
- 0x10, 0x98, 0xaf, 0xe0, 0x05, 0x5d, 0xb9, 0x43, 0xa5, 0x40, 0x36, 0x58,
- 0x5e, 0x98, 0xd2, 0xeb, 0x04, 0x96, 0xa0, 0x7d, 0x1c, 0xf8, 0xb8, 0x46,
- 0x08, 0xf4, 0x16, 0xbe, 0xf7, 0x86, 0x0e, 0x90, 0x9c, 0x57, 0x5c, 0x7d,
- 0xf7, 0xe6, 0x8b, 0x83, 0xa6, 0xfd, 0xde, 0x9b, 0x53, 0x77, 0xef, 0x7d,
- 0xe0, 0x44, 0x9f, 0xdf, 0x78, 0x12, 0x68, 0x89, 0x1c, 0x60, 0xd1, 0x21,
- 0x10, 0x15, 0xbb, 0xc2, 0x30, 0x94, 0xd5, 0xf4, 0x72, 0x51, 0x03, 0xd5,
- 0x9e, 0x5a, 0x1c, 0x63, 0x4e, 0xe3, 0x21, 0x6b, 0x0d, 0xb5, 0x70, 0xae,
- 0x6a, 0x18, 0x5b, 0xf0, 0x57, 0x69, 0xa0, 0xd0, 0x65, 0x15, 0xc9, 0x07,
- 0x54, 0xa5, 0x32, 0x30, 0xe3, 0xbf, 0xe1, 0x1a, 0x58, 0xd2, 0xc1, 0xf1,
- 0x78, 0x08, 0xb4, 0x27, 0x2d, 0xad, 0x92, 0xf9, 0x6f, 0x98, 0x06, 0x0c,
- 0x1a, 0x6d, 0x85, 0x79, 0x60, 0xf4, 0x2d, 0x4f, 0xe5, 0xe4, 0x66, 0x82,
- 0xa6, 0x4e, 0x84, 0x8b, 0xbc, 0x0d, 0x26, 0x0d, 0xc2, 0x8f, 0xbb, 0x9a,
- 0x01, 0x77, 0x77, 0x88, 0x4e, 0xd0, 0x5a, 0x09, 0x18, 0x82, 0xec, 0xb0,
- 0x48, 0x4d, 0x95, 0x5d, 0x2a, 0xe0, 0xf0, 0x9c, 0xb4, 0x25, 0x86, 0x75,
- 0xac, 0xd9, 0x58, 0xbc, 0x78, 0x17, 0x2b, 0x2f, 0xd0, 0xf0, 0x80, 0x13,
- 0x9e, 0xc4, 0x3a, 0xd3, 0x1f, 0x98, 0x2e, 0x82, 0xb5, 0x6c, 0x19, 0x36,
- 0x50, 0xc4, 0x62, 0x0d, 0xb4, 0x02, 0xa4, 0xa9, 0x44, 0xce, 0x63, 0xee,
- 0x2b, 0x07, 0x9f, 0x6f, 0x75, 0xc5, 0xa6, 0xc1, 0x28, 0x97, 0xfb, 0x0c,
- 0xa1, 0xd2, 0xfa, 0x5a, 0x04, 0x3e, 0x06, 0x3f, 0x35, 0x4f, 0xb6, 0x20,
- 0xb0, 0xbf, 0xec, 0xef, 0xef, 0x62, 0xa8, 0x3b, 0xec, 0x4a, 0x62, 0x76,
- 0xe7, 0x3a, 0x0f, 0x8c, 0xf7, 0xa0, 0x0c, 0x65, 0x7b, 0x3a, 0x77, 0xcb,
- 0x9c, 0xc6, 0xa9, 0x84, 0x49, 0xd7, 0xa8, 0xe1, 0x60, 0xd0, 0x11, 0x31,
- 0x4e, 0xcb, 0x80, 0xef, 0x82, 0x13, 0xd8, 0x84, 0xe0, 0x4c, 0x1f, 0x48,
- 0xea, 0x82, 0xc5, 0xa4, 0x4d, 0xa7, 0x08, 0x17, 0xa6, 0x43, 0x4d, 0x6c,
- 0x74, 0xd6, 0xb0, 0xfb, 0x2b, 0xef, 0xc9, 0xab, 0xfe, 0x5e, 0xed, 0x9e,
- 0x54, 0xb3, 0x79, 0xef, 0x7e, 0xf8, 0x44, 0xc8, 0xe3, 0xfa, 0xec, 0x3d,
- 0xa5, 0x7c, 0x28, 0xbb, 0xa1, 0x4e, 0x2c, 0xea, 0x7d, 0x46, 0xbf, 0x0e,
- 0xbb, 0x08, 0x11, 0xa1, 0x9b, 0x26, 0xf2, 0x9c, 0xcc, 0x5a, 0x53, 0x33,
- 0x2a, 0xe6, 0xbe, 0x42, 0xde, 0xc1, 0x90, 0xec, 0xc6, 0x5e, 0x2c, 0x66,
- 0x69, 0xb0, 0xb0, 0x47, 0x33, 0x6b, 0x93, 0x87, 0x64, 0xb4, 0xa4, 0xf0,
- 0x34, 0x2a, 0x87, 0x88, 0x21, 0xb5, 0xda, 0x6f, 0xee, 0xf8, 0xca, 0xc5,
- 0x3b, 0x0e, 0x3f, 0x68, 0x6e, 0x46, 0x73, 0xed, 0xbc, 0x78, 0xcf, 0x69,
- 0xc6, 0xf5, 0xed, 0xa1, 0xdf, 0x79, 0x21, 0x62, 0xca, 0xe7, 0x47, 0x81,
- 0x08, 0x24, 0x95, 0x4e, 0x33, 0x56, 0x39, 0xde, 0xa7, 0xa3, 0x22, 0x2f,
- 0xf3, 0x09, 0x67, 0xaa, 0x39, 0xe6, 0xd1, 0xe9, 0xe9, 0x20, 0xba, 0x4f,
- 0x86, 0x5a, 0x12, 0xdb, 0xf7, 0x7d, 0xc8, 0xc4, 0x43, 0x30, 0x30, 0x52,
- 0xa4, 0x49, 0x85, 0x5b, 0xa6, 0xa1, 0x50, 0x84, 0x88, 0xa2, 0xbe, 0x74,
- 0x02, 0xa0, 0x42, 0xea, 0x3b, 0xb6, 0xf6, 0x9c, 0xb1, 0x60, 0x5a, 0x24,
- 0x79, 0x20, 0x1e, 0xce, 0x13, 0x50, 0xb1, 0xc2, 0x74, 0x42, 0x32, 0x7c,
- 0x18, 0x4b, 0xd7, 0x34, 0xf6, 0x0c, 0x00, 0xdb, 0x41, 0x0d, 0x45, 0x3c,
- 0x2a, 0xb7, 0xe8, 0x2a, 0xf3, 0x6a, 0x55, 0x86, 0x09, 0xf6, 0x19, 0xc5,
- 0x28, 0x7f, 0xdd, 0x69, 0x97, 0x8d, 0xf3, 0x82, 0x32, 0x90, 0x9c, 0x7e,
- 0x46, 0xd4, 0xf9, 0x73, 0x59, 0x50, 0xd1, 0x15, 0xc1, 0x97, 0xfa, 0xfc,
- 0xf4, 0xfe, 0x86, 0xc3, 0xb5, 0x7a, 0x0a, 0x28, 0x9c, 0xa8, 0xca, 0x96,
- 0x4b, 0x7b, 0xa4, 0x6b, 0x06, 0xce, 0xdf, 0x8a, 0x1b, 0xe7, 0x34, 0x82,
- 0x50, 0x87, 0x72, 0x1e, 0xb6, 0xa4, 0x54, 0x72, 0x14, 0xde, 0xa4, 0xd3,
- 0x96, 0xf6, 0xb6, 0x06, 0xdc, 0x81, 0x84, 0x13, 0xdd, 0x58, 0x9a, 0x8d,
- 0x88, 0xcc, 0x82, 0xef, 0x68, 0xe4, 0xf5, 0x6c, 0xa6, 0xaa, 0x27, 0xdf,
- 0x01, 0xdb, 0x42, 0x7d, 0x6d, 0x98, 0x18, 0x8e, 0xde, 0xd8, 0x88, 0x27,
- 0x91, 0x64, 0xa9, 0x4c, 0xd3, 0x4d, 0x54, 0x60, 0x7e, 0x61, 0x28, 0xa9,
- 0x3e, 0x15, 0x73, 0x03, 0xac, 0xd2, 0x57, 0xd7, 0xfa, 0x54, 0xcb, 0xf3,
- 0x00, 0x28, 0x1c, 0x57, 0x41, 0x58, 0xe9, 0x6b, 0x03, 0xce, 0xa7, 0x48,
- 0x56, 0x20, 0x1f, 0xc5, 0x09, 0xc6, 0xca, 0xbf, 0xc7, 0x74, 0x3c, 0xf5,
- 0x48, 0x97, 0x7b, 0x75, 0x73, 0xfc, 0xc1, 0x4e, 0x6f, 0x98, 0xc4, 0xd8,
- 0x61, 0xe9, 0xb0, 0x42, 0x85, 0x29, 0x5c, 0x99, 0xd2, 0x52, 0x98, 0xf2,
- 0x35, 0xbf, 0x79, 0x4d, 0x9a, 0x16, 0x1e, 0xed, 0xc5, 0xd1, 0x87, 0xeb,
- 0x77, 0x51, 0xb4, 0x83, 0x5d, 0x22, 0x9e, 0x53, 0x99, 0x42, 0x1c, 0xa1,
- 0x36, 0x8a, 0xde, 0x6a, 0x6a, 0xd4, 0x9c, 0xfd, 0x75, 0x99, 0xd5, 0x1b,
- 0xb8, 0x84, 0x7c, 0xf3, 0x24, 0x3f, 0x45, 0xf4, 0x72, 0x99, 0x74, 0x2d,
- 0xb3, 0x5a, 0xdb, 0x7b, 0xf1, 0x89, 0xf4, 0x7a, 0x5c, 0x3d, 0x07, 0x57,
- 0xfb, 0x89, 0x30, 0x66, 0x19, 0x86, 0xe7, 0x90, 0xd9, 0xca, 0x74, 0x15,
- 0x3f, 0x48, 0xe3, 0xa5, 0xd4, 0x4f, 0x09, 0x1d, 0xfc, 0x55, 0xb3, 0x3d,
- 0xef, 0xd5, 0xdb, 0xe3, 0xc6, 0x70, 0x2f, 0x5e, 0xee, 0x6f, 0x7d, 0xc2,
- 0x24, 0xbd, 0x1c, 0xbd, 0x23, 0xe2, 0x45, 0x08, 0xa2, 0xe6, 0x7c, 0x5f,
- 0x60, 0xd9, 0xaa, 0xfa, 0x19, 0x72, 0x79, 0xc8, 0x2d, 0xab, 0x2f, 0xab,
- 0x31, 0x66, 0x6b, 0x19, 0xd4, 0x8d, 0x42, 0xd5, 0xfd, 0x7f, 0xfc, 0xd3,
- 0x2f, 0xab, 0xfd, 0xf1, 0x67, 0xf6, 0x13, 0x4f, 0xa8, 0xa9, 0xa5, 0x4d,
- 0xf4, 0x57, 0x36, 0x53, 0x5a, 0x89, 0x8c, 0x37, 0x7a, 0xed, 0x8f, 0x6b,
- 0xa6, 0xf5, 0x14, 0xe9, 0xfc, 0x61, 0xdc, 0x7e, 0x11, 0x9e, 0x32, 0x37,
- 0x3d, 0x58, 0x02, 0x25, 0x8f, 0x1d, 0x75, 0x40, 0xa1, 0xa9, 0x4c, 0x67,
- 0xbe, 0x71, 0x5b, 0xe3, 0x38, 0xed, 0xa0, 0x24, 0xf0, 0x5d, 0xea, 0x26,
- 0x47, 0x77, 0x36, 0xe7, 0x56, 0xd1, 0xfc, 0x51, 0x15, 0xa5, 0xf2, 0xe5,
- 0x34, 0x6b, 0xf1, 0x5d, 0x4a, 0x02, 0xd1, 0x3f, 0xe0, 0x04, 0xba, 0xd5,
- 0x7d, 0xfe, 0xcf, 0xba, 0x1f, 0x13, 0x34, 0x0c, 0x9c, 0xf1, 0xc7, 0x3f,
- 0x6e, 0x63, 0x45, 0x50, 0xa7, 0x39, 0x44, 0x4e, 0x0d, 0x09, 0xcc, 0xa9,
- 0x1a, 0x05, 0x69, 0x15, 0x38, 0xaf, 0x7e, 0x10, 0x8b, 0x8d, 0xbb, 0xa8,
- 0x37, 0xfe, 0xb3, 0x8f, 0xff, 0xfd, 0x71, 0xbb, 0xb7, 0xff, 0xb3, 0xf9,
- 0xe8, 0x1f, 0xb7, 0x3f, 0xfe, 0x71, 0xa7, 0x13, 0x2c, 0xab, 0xb3, 0xb5,
- 0xff, 0x4e, 0x86, 0x22, 0xaa, 0xb3, 0xd9, 0xa3, 0x94, 0x69, 0x48, 0x84,
- 0xd1, 0xf6, 0xba, 0xa4, 0xce, 0xd9, 0x3e, 0x3e, 0x12, 0xfa, 0xad, 0x1a,
- 0x9a, 0xaa, 0x36, 0xbb, 0x54, 0xe6, 0x70, 0x9f, 0xf3, 0xcb, 0xe2, 0x53,
- 0xe1, 0xfa, 0x3f, 0xad, 0x1f, 0xf0, 0x78, 0x21, 0x42, 0x31, 0xb9, 0xb4,
- 0x81, 0x68, 0x29, 0x0a, 0xb1, 0xe1, 0xef, 0x86, 0xa4, 0x45, 0x81, 0x34,
- 0x8b, 0xa3, 0xc6, 0xa6, 0x0f, 0x87, 0xe6, 0x27, 0x59, 0xe2, 0x15, 0x62,
- 0xc5, 0x8c, 0x11, 0x95, 0x08, 0xd8, 0x5d, 0x64, 0xb8, 0x02, 0xbc, 0x69,
- 0xc2, 0xd6, 0x12, 0xcd, 0xa2, 0xd9, 0xdb, 0x9e, 0xe9, 0xd8, 0xba, 0xbb,
- 0xc9, 0x2d, 0xfe, 0xba, 0xd4, 0x86, 0xf6, 0x56, 0xa0, 0xc0, 0x48, 0x69,
- 0x69, 0x63, 0x2f, 0xf4, 0x33, 0x89, 0xbb, 0x50, 0x7d, 0x3f, 0xc9, 0xb8,
- 0x32, 0x0f, 0x45, 0xf2, 0xe2, 0x21, 0x76, 0xa2, 0xac, 0x35, 0xf6, 0x32,
- 0x5d, 0x9a, 0x86, 0x16, 0x6d, 0x2a, 0x2e, 0x5b, 0x36, 0xc4, 0xdd, 0x0a,
- 0x67, 0x13, 0x64, 0xa3, 0x68, 0x73, 0x56, 0x38, 0x75, 0xb9, 0x28, 0x16,
- 0xb3, 0x47, 0xab, 0xa4, 0xe7, 0x54, 0xc5, 0x52, 0x15, 0x2e, 0xfd, 0xd4,
- 0xc9, 0x70, 0x93, 0xb0, 0x5e, 0xcf, 0x8b, 0x45, 0x02, 0x11, 0x8d, 0x1f,
- 0x81, 0x13, 0x32, 0xb0, 0xab, 0xc1, 0x89, 0x54, 0x0f, 0x81, 0xf0, 0x1a,
- 0xa0, 0xb3, 0xb5, 0xde, 0x5a, 0xb4, 0x4e, 0x95, 0xf3, 0x64, 0xd6, 0x45,
- 0xe3, 0xb8, 0xbc, 0xd9, 0x08, 0x79, 0x21, 0xad, 0xe3, 0xcf, 0x32, 0x2a,
- 0xe9, 0xcc, 0x41, 0x12, 0x93, 0x39, 0xd4, 0x2a, 0x6f, 0xf5, 0x05, 0x83,
- 0x6a, 0x60, 0x92, 0x60, 0xcf, 0x44, 0x92, 0x6b, 0x3f, 0xe9, 0xa1, 0xb1,
- 0x48, 0x3f, 0xfd, 0x0f, 0x7e, 0xd6, 0x8b, 0x63, 0xe0, 0x93, 0x9c, 0xe5,
- 0xd5, 0xe3, 0x02, 0x28, 0x2b, 0x44, 0xb5, 0x97, 0x37, 0xe6, 0x43, 0x87,
- 0x52, 0x80, 0xe2, 0xf2, 0x96, 0x03, 0xa5, 0xe3, 0xdc, 0xf4, 0xfd, 0xb6,
- 0x7e, 0x94, 0xae, 0x30, 0xd4, 0xde, 0xff, 0xec, 0x3a, 0x63, 0x09, 0x3e,
- 0x4a, 0x38, 0x05, 0x08, 0xcd, 0xcb, 0x22, 0x9f, 0x95, 0x35, 0x68, 0x2d,
- 0xa9, 0x84, 0x46, 0xef, 0xb6, 0x71, 0xd1, 0xf0, 0x37, 0xcb, 0x14, 0x39,
- 0x71, 0x9c, 0x05, 0x52, 0x8c, 0xcb, 0x40, 0x04, 0x08, 0x65, 0x9c, 0x76,
- 0xbc, 0x06, 0x4a, 0x0e, 0x48, 0x28, 0x6b, 0x1c, 0xd4, 0xe6, 0xbc, 0xaa,
- 0x3d, 0x45, 0xed, 0xc1, 0xf6, 0x5c, 0x02, 0xa9, 0x42, 0xa2, 0x7a, 0x76,
- 0xbb, 0x0c, 0xa7, 0x5f, 0x3a, 0x52, 0x0e, 0x46, 0xca, 0xe3, 0x82, 0xb7,
- 0x34, 0x14, 0x0f, 0x4f, 0xa6, 0x08, 0xf5, 0x82, 0xda, 0x07, 0x56, 0xbb,
- 0xc3, 0x5d, 0xca, 0x9e, 0x68, 0xdd, 0xdc, 0x70, 0x82, 0x60, 0x3c, 0x36,
- 0x3a, 0x5c, 0xdc, 0x14, 0xa0, 0xc9, 0xfb, 0x75, 0x73, 0x83, 0x77, 0x11,
- 0xe3, 0xa2, 0xc2, 0x53, 0xfc, 0x8c, 0xb9, 0xec, 0x0e, 0x74, 0xe4, 0x27,
- 0xc4, 0x3b, 0xc4, 0x84, 0xa0, 0x5e, 0x5c, 0xf6, 0x3c, 0xea, 0xb8, 0xb6,
- 0x05, 0xd3, 0x1c, 0x0f, 0xca, 0xd9, 0xb6, 0xc4, 0x5c, 0x54, 0x0c, 0x91,
- 0x66, 0x88, 0xa9, 0x03, 0xf4, 0xb1, 0xd9, 0xef, 0x6f, 0xa2, 0xfc, 0xd9,
- 0x84, 0x3f, 0x52, 0xa7, 0x41, 0x4c, 0xb3, 0x0b, 0x21, 0x30, 0x2d, 0xfc,
- 0x16, 0xfa, 0xf3, 0xa4, 0x63, 0xaf, 0xd3, 0xd5, 0xed, 0x6f, 0x4b, 0x4a,
- 0x25, 0x2e, 0xc0, 0x32, 0x28, 0xb8, 0x26, 0x1b, 0xd1, 0xee, 0x8d, 0xba,
- 0x13, 0x48, 0x2a, 0x94, 0x10, 0x49, 0x29, 0xf8, 0x1f, 0x8d, 0x7e, 0x96,
- 0x68, 0xa2, 0x93, 0x27, 0x0d, 0x17, 0x91, 0x56, 0x8a, 0xba, 0x46, 0xf5,
- 0xf0, 0xf1, 0x4a, 0xdb, 0x7c, 0x6f, 0xa7, 0x71, 0x7c, 0x29, 0x1c, 0xf8,
- 0x18, 0xac, 0x1c, 0x02, 0x6b, 0xc5, 0x6c, 0x4a, 0xbf, 0x1e, 0x4b, 0x1c,
- 0xa3, 0x1c, 0x48, 0x6f, 0xc2, 0xcf, 0xb1, 0xb8, 0x32, 0x0a, 0xa4, 0xd3,
- 0x66, 0x50, 0x72, 0xc7, 0x3d, 0xc5, 0x87, 0x3f, 0x42, 0xf9, 0x58, 0x92,
- 0x6d, 0x4d, 0xe4, 0x90, 0x98, 0xd6, 0x29, 0xa2, 0x95, 0xc6, 0x9c, 0xcd,
- 0x45, 0x66, 0x98, 0xa4, 0x77, 0x84, 0x3c, 0x58, 0xc6, 0x7d, 0x64, 0x9c,
- 0x5e, 0xce, 0x14, 0x60, 0xcd, 0x88, 0x77, 0x0b, 0x3b, 0xff, 0xe6, 0xe4,
- 0x4a, 0x54, 0x4d, 0x72, 0x26, 0xd9, 0x26, 0xd5, 0x7e, 0x0f, 0x77, 0x34,
- 0x4a, 0x5f, 0xec, 0x91, 0xed, 0x88, 0xfb, 0x56, 0xde, 0xc4, 0x3b, 0xfb,
- 0x2f, 0x64, 0xda, 0x8a, 0x7e, 0x46, 0x3a, 0xd8, 0x1a, 0xff, 0x6a, 0x73,
- 0x93, 0x13, 0x1f, 0xd0, 0xcd, 0xe0, 0xf1, 0x78, 0xf2, 0xf9, 0xe1, 0xb3,
- 0x5f, 0xac, 0x85, 0x53, 0x1e, 0xd5, 0x0a, 0xd1, 0x56, 0xc9, 0xd4, 0xab,
- 0x8d, 0x52, 0x33, 0xdd, 0x46, 0x1b, 0xdd, 0x5a, 0x1b, 0x35, 0xaa, 0x43,
- 0x8a, 0x57, 0xf4, 0x9f, 0x10, 0xbc, 0x10, 0x6a, 0xf4, 0x0a, 0xdc, 0x41,
- 0xeb, 0x8a, 0x11, 0x87, 0xd5, 0xd9, 0x1d, 0xce, 0x66, 0xc4, 0x06, 0xdd,
- 0x23, 0x1f, 0x94, 0x86, 0xeb, 0x75, 0x88, 0xea, 0xdc, 0x91, 0x25, 0x91,
- 0x17, 0x91, 0xcc, 0x11, 0xa7, 0x11, 0x29, 0x4f, 0x03, 0x68, 0xec, 0x5e,
- 0xa3, 0xc3, 0x5c, 0x0e, 0xbd, 0x8c, 0x13, 0xf9, 0xa6, 0xc1, 0x4d, 0x25,
- 0xdf, 0x8c, 0x93, 0xe7, 0x69, 0xaf, 0x0b, 0x48, 0xf6, 0x82, 0x95, 0x04,
- 0x67, 0x03, 0x3c, 0x2f, 0x00, 0xe1, 0x74, 0x2b, 0x1c, 0x0e, 0x25, 0xfa,
- 0x8d, 0x92, 0x94, 0x81, 0xb4, 0xe0, 0x6c, 0x31, 0x82, 0xe7, 0xdd, 0x03,
- 0x20, 0x85, 0x4d, 0xa4, 0x03, 0xb1, 0x1b, 0xbd, 0x86, 0x18, 0x18, 0x2f,
- 0x78, 0xd5, 0xdf, 0x3a, 0x50, 0x88, 0xdd, 0x6e, 0xf4, 0x4d, 0xb6, 0xc4,
- 0xf3, 0xc0, 0x45, 0x7f, 0x33, 0xf8, 0xd6, 0x2b, 0x96, 0xc3, 0x37, 0xf6,
- 0x76, 0xf1, 0x8d, 0xf3, 0x01, 0x3f, 0x75, 0x9f, 0xcf, 0x26, 0xf0, 0x66,
- 0xe8, 0xb9, 0x97, 0xf8, 0x1c, 0x50, 0xdc, 0xb8, 0x9a, 0x95, 0x4a, 0x54,
- 0x2b, 0x66, 0xb2, 0xb7, 0x17, 0x98, 0x49, 0xf7, 0x17, 0x7f, 0xe8, 0x82,
- 0x5c, 0xae, 0x48, 0x4c, 0xd8, 0x47, 0x8a, 0x08, 0x87, 0xca, 0x08, 0x0c,
- 0x60, 0xf4, 0xa7, 0x64, 0xbe, 0x0c, 0xfc, 0xf0, 0x9c, 0x2e, 0x73, 0x05,
- 0xe1, 0xde, 0x55, 0x84, 0x27, 0xf0, 0x72, 0x67, 0x77, 0x7b, 0xf3, 0x45,
- 0x7f, 0xaf, 0xbf, 0x63, 0xd2, 0xfa, 0x80, 0x0e, 0xee, 0xb0, 0x0b, 0x0a,
- 0x66, 0x51, 0x04, 0x42, 0x0f, 0x94, 0xd0, 0x92, 0x66, 0x30, 0x8e, 0x03,
- 0x73, 0x21, 0x68, 0xf5, 0x36, 0xa1, 0x07, 0x41, 0x2d, 0xb6, 0xdd, 0xfa,
- 0xb0, 0x7e, 0xa0, 0xeb, 0x2a, 0x62, 0x65, 0x50, 0x61, 0x8b, 0xf8, 0x99,
- 0x30, 0xc3, 0x99, 0xdc, 0x23, 0xc3, 0xf4, 0x6f, 0xcb, 0xb4, 0x02, 0x2d,
- 0x00, 0x99, 0x0a, 0x7a, 0xcf, 0x14, 0x36, 0x9f, 0x20, 0xc3, 0x68, 0x1d,
- 0x78, 0x23, 0x02, 0x6e, 0x49, 0x9e, 0x3c, 0xe5, 0x4f, 0xdb, 0x40, 0x20,
- 0xd7, 0xa0, 0xa5, 0xc4, 0xbb, 0x22, 0x6e, 0x57, 0x03, 0x76, 0x64, 0x36,
- 0xa2, 0x2e, 0x88, 0x60, 0xe4, 0xdd, 0xa1, 0xc7, 0xde, 0xef, 0x4e, 0x2b,
- 0xdd, 0x6a, 0x08, 0x36, 0x42, 0x83, 0x2e, 0x9a, 0x5d, 0x62, 0xb1, 0xed,
- 0xe5, 0x07, 0x5c, 0xaf, 0xc2, 0xde, 0x27, 0x5a, 0xb7, 0xc7, 0x9d, 0xec,
- 0x3e, 0xd4, 0x4e, 0x5c, 0x50, 0xe1, 0xb1, 0x5e, 0x8c, 0x63, 0x0b, 0x0c,
- 0xe5, 0x47, 0x2c, 0x0a, 0x0b, 0xff, 0x56, 0xa0, 0xd2, 0xac, 0xce, 0x84,
- 0x50, 0xfc, 0x8f, 0x3a, 0x00, 0x08, 0xff, 0xab, 0xd1, 0x2b, 0xb9, 0xb5,
- 0x4d, 0x66, 0xb3, 0x99, 0xac, 0x8c, 0xf9, 0xab, 0xa9, 0x6c, 0xf7, 0xb7,
- 0xa7, 0xb2, 0x9d, 0xe7, 0x52, 0x99, 0x25, 0x32, 0xbc, 0x67, 0x2b, 0x48,
- 0x8c, 0x8c, 0x20, 0x16, 0xbd, 0x2d, 0x54, 0xe6, 0x92, 0x99, 0xe4, 0xde,
- 0xf8, 0x84, 0x56, 0xa3, 0x33, 0x43, 0x66, 0x2d, 0x54, 0xc6, 0x18, 0x61,
- 0x4c, 0x63, 0xab, 0x49, 0x4c, 0xcb, 0xd1, 0xa3, 0xd5, 0x54, 0x56, 0xcf,
- 0xf8, 0x5e, 0x4d, 0x67, 0x96, 0x1c, 0x9e, 0x4d, 0x65, 0xda, 0x95, 0x88,
- 0xb9, 0x4e, 0x0b, 0x89, 0xd5, 0x68, 0x4c, 0x88, 0x2c, 0x48, 0x65, 0xaf,
- 0x42, 0x54, 0xb6, 0xfb, 0x1c, 0x2a, 0x83, 0x03, 0x9d, 0xa1, 0xa8, 0xac,
- 0x51, 0xd9, 0xde, 0x6f, 0x4b, 0x65, 0x88, 0x51, 0xd4, 0xac, 0x75, 0x8d,
- 0x8e, 0xfe, 0xd5, 0x73, 0x8c, 0x69, 0x58, 0x1d, 0xd5, 0x2b, 0x01, 0xfd,
- 0x65, 0x9c, 0xa2, 0x71, 0xa1, 0x9f, 0x3c, 0xb1, 0x3a, 0x2a, 0xd0, 0xf6,
- 0x2f, 0x3e, 0xb1, 0x9d, 0xa6, 0x65, 0x52, 0x24, 0xec, 0x35, 0xff, 0x51,
- 0x83, 0x17, 0x07, 0x9b, 0x9b, 0x3f, 0x93, 0x0f, 0xe8, 0x00, 0x65, 0xdf,
- 0xcf, 0x5e, 0x23, 0xf1, 0x80, 0x3a, 0x3b, 0xb8, 0x38, 0xfe, 0x76, 0x20,
- 0xde, 0x77, 0xd1, 0x39, 0x54, 0x27, 0x61, 0x3f, 0x25, 0xe8, 0xaa, 0x54,
- 0xbd, 0xed, 0xa9, 0xb9, 0xdc, 0xca, 0xb6, 0xf7, 0xd0, 0x55, 0x0f, 0x38,
- 0xa5, 0x4d, 0x09, 0x33, 0x26, 0x90, 0x3a, 0xa9, 0x8b, 0xe6, 0x32, 0x0d,
- 0x19, 0x55, 0x1a, 0xa5, 0xfb, 0x86, 0x1a, 0x4f, 0xc4, 0xc4, 0x01, 0xc4,
- 0x35, 0x93, 0x39, 0x2f, 0xae, 0x57, 0x37, 0x05, 0x15, 0xa6, 0xd0, 0xa3,
- 0x1b, 0x1a, 0xfc, 0x5a, 0x35, 0x3b, 0x99, 0xd7, 0x3b, 0x02, 0xf3, 0x5d,
- 0x14, 0x1a, 0x50, 0x0c, 0x19, 0xb9, 0xe6, 0xb7, 0xea, 0x09, 0x0c, 0x81,
- 0x56, 0x08, 0x38, 0x9d, 0xb3, 0xdf, 0xf8, 0x9e, 0x97, 0x02, 0x98, 0x3e,
- 0xd4, 0x30, 0x72, 0x50, 0x3c, 0x50, 0x0f, 0xe8, 0x4a, 0xdb, 0xac, 0x3c,
- 0x70, 0x53, 0x0c, 0x1a, 0x84, 0x13, 0xb0, 0x12, 0x6a, 0x64, 0x52, 0xee,
- 0xc1, 0x90, 0x4d, 0xbf, 0x12, 0xff, 0x22, 0xc6, 0xdf, 0xf0, 0xdf, 0xf7,
- 0xf1, 0xbb, 0xe8, 0xb1, 0xe6, 0x7f, 0xdd, 0xe0, 0x3f, 0xe9, 0x7b, 0x8a,
- 0x7f, 0x55, 0x3b, 0xe5, 0x51, 0x78, 0xa3, 0xdd, 0x8a, 0x27, 0x83, 0xcd,
- 0x70, 0x9e, 0xdb, 0x9a, 0x40, 0x77, 0xd5, 0x2e, 0x8c, 0x9e, 0x97, 0xb6,
- 0x62, 0xb8, 0x30, 0x8d, 0xbc, 0x17, 0x56, 0xb8, 0x12, 0x17, 0x24, 0x53,
- 0x51, 0x0f, 0xdc, 0xd6, 0x67, 0x36, 0xde, 0x2b, 0x07, 0xc0, 0x8d, 0x42,
- 0x03, 0x28, 0xd6, 0xdc, 0xd8, 0x43, 0xe6, 0xbd, 0xbd, 0xf5, 0xb9, 0xef,
- 0x92, 0xf8, 0xa0, 0x15, 0x79, 0x16, 0x29, 0x92, 0xd2, 0x3a, 0x28, 0x37,
- 0x7e, 0x68, 0xeb, 0x50, 0x42, 0x9f, 0x0d, 0x14, 0xed, 0xa1, 0xed, 0x3b,
- 0x4e, 0xd8, 0x58, 0x1a, 0xb2, 0xdd, 0xeb, 0xe7, 0x44, 0x53, 0x0d, 0x72,
- 0x49, 0x92, 0x4d, 0x10, 0x8e, 0x23, 0xc9, 0x4d, 0xf0, 0xf8, 0x3b, 0x7a,
- 0x31, 0x34, 0x64, 0xf6, 0x95, 0xc5, 0xa1, 0xfb, 0xd3, 0xde, 0x16, 0x9e,
- 0xaa, 0x8e, 0x82, 0xcd, 0x7d, 0x66, 0x1a, 0xea, 0xf8, 0xd3, 0x6e, 0xdc,
- 0xff, 0x1d, 0x71, 0xa4, 0xf6, 0xeb, 0x56, 0xf4, 0x1f, 0xe5, 0x8e, 0x4f,
- 0x11, 0xec, 0xa6, 0x37, 0x8c, 0x8b, 0x80, 0xcf, 0x46, 0x34, 0x44, 0xc5,
- 0x48, 0x51, 0x84, 0x11, 0x7d, 0x8b, 0x5b, 0x5b, 0x48, 0x4e, 0xbf, 0xf9,
- 0x21, 0x0c, 0x15, 0xf9, 0xdd, 0x32, 0x4c, 0xbc, 0xc1, 0x6d, 0x7c, 0xdd,
- 0x65, 0x64, 0x2f, 0x07, 0xd8, 0x2b, 0x9e, 0x75, 0x31, 0x12, 0x19, 0x70,
- 0xe7, 0xd0, 0xd9, 0xd4, 0x3e, 0x32, 0x2e, 0xe2, 0x7b, 0xc7, 0x82, 0x66,
- 0x64, 0xfd, 0x09, 0x05, 0x1d, 0x6c, 0x06, 0x09, 0xa6, 0x7c, 0x63, 0x44,
- 0x39, 0xa4, 0x7d, 0x94, 0xa3, 0x02, 0xdb, 0x20, 0x49, 0xb7, 0x07, 0x1a,
- 0x6b, 0x81, 0xe8, 0x86, 0xa0, 0x76, 0x4c, 0x13, 0xad, 0xfc, 0x34, 0xab,
- 0x56, 0x68, 0x0f, 0xc2, 0xf3, 0xe8, 0x07, 0x92, 0xaa, 0xad, 0x3b, 0x4b,
- 0x3b, 0x91, 0xc7, 0x02, 0xfe, 0x81, 0xaf, 0x6a, 0x0d, 0xae, 0x13, 0xc6,
- 0x28, 0x17, 0xd8, 0x84, 0x0f, 0xbe, 0x9d, 0x2e, 0x9a, 0x22, 0xba, 0xf7,
- 0x3a, 0x7f, 0xdd, 0xdb, 0x30, 0x80, 0x6b, 0xf9, 0x5d, 0x52, 0x72, 0x4f,
- 0x5d, 0x9c, 0x2c, 0xc6, 0x9b, 0x6f, 0xc8, 0xc9, 0x22, 0xe2, 0x8b, 0x0a,
- 0x4e, 0x29, 0x81, 0x54, 0x60, 0xb5, 0xbc, 0xf6, 0x30, 0x3c, 0xb3, 0x02,
- 0x43, 0xcd, 0xc2, 0xef, 0xd0, 0x1d, 0x03, 0xbb, 0x35, 0xe1, 0xfc, 0x34,
- 0x2a, 0x49, 0xc5, 0x28, 0xbc, 0xe0, 0x40, 0xb3, 0x57, 0x3f, 0x5f, 0xd4,
- 0x65, 0x13, 0x56, 0x37, 0x2b, 0x6f, 0x38, 0x54, 0xa6, 0xf2, 0xe5, 0x93,
- 0xb5, 0x0b, 0x86, 0xfd, 0x4c, 0xc4, 0x89, 0x81, 0x97, 0x8f, 0x6a, 0x59,
- 0x18, 0x41, 0x7a, 0x74, 0x93, 0xcc, 0xa5, 0x8d, 0x4e, 0x4b, 0x25, 0x78,
- 0x6b, 0xd9, 0x74, 0x7d, 0x4e, 0x9c, 0xdc, 0x37, 0xa9, 0x16, 0xfd, 0x79,
- 0xfe, 0x77, 0xd8, 0xe6, 0x18, 0xfb, 0xf2, 0x79, 0x57, 0x02, 0x64, 0x7d,
- 0xc6, 0xe7, 0x82, 0x21, 0x9a, 0xcc, 0x58, 0x95, 0x91, 0x83, 0x85, 0x27,
- 0x38, 0xdf, 0x5c, 0xb1, 0x1f, 0x45, 0xc7, 0x30, 0xe3, 0x93, 0x8f, 0x1f,
- 0xce, 0x07, 0x1f, 0x2e, 0x9b, 0x84, 0x7d, 0x79, 0x71, 0x75, 0x7d, 0xf2,
- 0xe6, 0xe3, 0xe5, 0xd5, 0xc5, 0xf5, 0xc5, 0xf1, 0xc5, 0x59, 0xb4, 0xbe,
- 0xbd, 0xb1, 0xb2, 0x42, 0xcd, 0x78, 0x20, 0x1c, 0xac, 0x43, 0x9d, 0x3f,
- 0xf3, 0x2c, 0x33, 0x8b, 0x75, 0x5c, 0x8f, 0x3f, 0xda, 0xf7, 0xda, 0xe7,
- 0xbe, 0x16, 0x0f, 0x67, 0x57, 0x04, 0x89, 0x37, 0x62, 0xeb, 0x71, 0x34,
- 0x5d, 0xf2, 0x4d, 0xb1, 0xd9, 0x0a, 0x8c, 0xf4, 0xe9, 0x29, 0x5c, 0x89,
- 0x44, 0x4c, 0x9d, 0xe2, 0xa6, 0x95, 0xee, 0xb8, 0xfd, 0xa6, 0xce, 0x82,
- 0x67, 0x40, 0x0a, 0x98, 0xa5, 0x8a, 0x72, 0x35, 0x59, 0x30, 0x22, 0x0a,
- 0xc1, 0x68, 0x9b, 0x37, 0xa8, 0xc7, 0x80, 0x04, 0xb0, 0xf2, 0xcc, 0x68,
- 0x74, 0x20, 0x4a, 0x2f, 0xfd, 0x5e, 0x53, 0xf2, 0x0a, 0xcc, 0x37, 0x93,
- 0x8e, 0xa7, 0x32, 0x11, 0x8a, 0x60, 0x52, 0x2b, 0x15, 0x8e, 0xa7, 0xc3,
- 0x03, 0xf8, 0x5b, 0x87, 0xab, 0x52, 0x65, 0x97, 0x17, 0x15, 0xe6, 0x97,
- 0x19, 0x2d, 0xe4, 0xde, 0x99, 0x14, 0x0e, 0x87, 0x4a, 0x19, 0x61, 0x19,
- 0x06, 0x38, 0xec, 0x89, 0x86, 0xc7, 0x18, 0xe9, 0x84, 0x6e, 0x24, 0xa9,
- 0x2f, 0x8a, 0x91, 0x33, 0x70, 0x17, 0xf3, 0x04, 0x21, 0xf3, 0x26, 0x62,
- 0xac, 0xa2, 0x8b, 0x67, 0xdf, 0x65, 0x82, 0x96, 0xa8, 0xe0, 0x8a, 0x02,
- 0x09, 0x9b, 0xd0, 0xe9, 0xba, 0xa4, 0x68, 0x42, 0x5c, 0x00, 0x47, 0x13,
- 0xe9, 0x1a, 0xec, 0x9e, 0xb7, 0x8d, 0x69, 0x35, 0xd9, 0xcf, 0xcb, 0xfe,
- 0x8b, 0xfd, 0xfe, 0x0e, 0x02, 0x4f, 0x5c, 0xcc, 0x30, 0x8a, 0x26, 0x8a,
- 0x05, 0x39, 0x97, 0xe9, 0x03, 0x82, 0xb2, 0x43, 0x29, 0x78, 0x76, 0xaf,
- 0x64, 0xc4, 0x90, 0x2d, 0xa5, 0xf5, 0xb0, 0x2a, 0xc9, 0x14, 0x9a, 0x40,
- 0xba, 0xe2, 0x0a, 0x32, 0x33, 0x02, 0x9b, 0xc0, 0x67, 0x0e, 0x24, 0x0b,
- 0x4d, 0xf2, 0xb2, 0x9a, 0xbc, 0xf6, 0xd4, 0xf4, 0x8d, 0x1b, 0x1c, 0x5f,
- 0x0a, 0x80, 0x80, 0x85, 0x3a, 0x20, 0x76, 0xae, 0xad, 0x9f, 0xb7, 0xfa,
- 0x5b, 0xd1, 0xe0, 0xfd, 0xd7, 0x82, 0x32, 0xf9, 0xf5, 0x20, 0xa0, 0x09,
- 0x90, 0x3e, 0xaf, 0xaf, 0xd7, 0xc2, 0x59, 0xb8, 0x38, 0x98, 0xdd, 0x9f,
- 0xf1, 0x4f, 0x4d, 0x02, 0xc7, 0xbf, 0x3b, 0x2b, 0x8e, 0x3c, 0x27, 0x9f,
- 0x6e, 0x69, 0xd7, 0x41, 0x22, 0x80, 0xfb, 0x5a, 0x26, 0xe1, 0x25, 0xf7,
- 0x57, 0xa3, 0x99, 0xed, 0x78, 0x17, 0xed, 0xc9, 0x2b, 0x66, 0x9d, 0xdd,
- 0x4f, 0x5d, 0x32, 0xd1, 0x94, 0x54, 0x3a, 0x34, 0x65, 0xda, 0x65, 0xed,
- 0x0e, 0x24, 0x58, 0x01, 0xc5, 0xc9, 0xa0, 0xc9, 0x84, 0x54, 0x43, 0x2a,
- 0x4b, 0xec, 0xd2, 0x2f, 0x29, 0xa2, 0x69, 0x52, 0xd6, 0xc2, 0xd0, 0x56,
- 0x74, 0x4c, 0x54, 0x31, 0xe6, 0x68, 0xdb, 0x06, 0x0a, 0x6f, 0x0d, 0x36,
- 0x16, 0x7b, 0x28, 0x49, 0x6d, 0xec, 0xec, 0x91, 0xa0, 0xdf, 0xd3, 0x07,
- 0xbe, 0xdb, 0x7f, 0x4f, 0x8a, 0xdc, 0x0f, 0xaf, 0x93, 0xf2, 0xa0, 0x80,
- 0x64, 0xa0, 0x72, 0x1f, 0x29, 0x62, 0x8a, 0xfd, 0x21, 0x7e, 0xd5, 0xbb,
- 0x73, 0x7f, 0xa6, 0xf6, 0xbd, 0x0c, 0x30, 0xcc, 0x4a, 0x85, 0x20, 0x66,
- 0x10, 0xf8, 0x5f, 0xaa, 0x21, 0x51, 0x87, 0x07, 0xcc, 0xb0, 0x8e, 0xf2,
- 0x91, 0x4b, 0x30, 0x3d, 0x13, 0x93, 0xd4, 0xbf, 0x31, 0x9a, 0x32, 0x36,
- 0xeb, 0xdf, 0x84, 0xd7, 0xb0, 0x55, 0x96, 0x05, 0x4d, 0x13, 0x7d, 0xce,
- 0xe7, 0xe9, 0xbd, 0x28, 0x7a, 0x93, 0x64, 0x8f, 0xca, 0xd3, 0x6d, 0xe6,
- 0x1a, 0x41, 0x9f, 0xdc, 0xb1, 0x4f, 0xdc, 0x56, 0xe7, 0x6b, 0x3e, 0xae,
- 0x99, 0xa2, 0x3f, 0xa5, 0xfa, 0x9c, 0x43, 0x9c, 0xeb, 0xb5, 0xd9, 0x06,
- 0xc9, 0x98, 0x72, 0xf7, 0x62, 0x9d, 0x00, 0x36, 0x34, 0xa8, 0x4b, 0xdf,
- 0xd3, 0x11, 0x57, 0x6e, 0xc3, 0x06, 0xc5, 0x35, 0xc9, 0xa4, 0x2b, 0x97,
- 0xc3, 0xbf, 0x32, 0x52, 0x7b, 0x84, 0xae, 0x85, 0x42, 0xb6, 0x41, 0xf2,
- 0x1c, 0xe1, 0x54, 0xe1, 0x01, 0x0e, 0x5b, 0x01, 0x77, 0xc8, 0x42, 0xc3,
- 0x51, 0xb0, 0x59, 0x21, 0xd2, 0xeb, 0x24, 0x46, 0x53, 0x0a, 0xd6, 0xb6,
- 0x25, 0x2d, 0x2a, 0x83, 0xde, 0x9f, 0xde, 0x04, 0x79, 0x2a, 0xa7, 0xcf,
- 0x35, 0x84, 0x2f, 0xef, 0x25, 0xe7, 0x6c, 0x9a, 0x0c, 0x62, 0x7c, 0xbc,
- 0x75, 0x2c, 0xe5, 0xd4, 0x65, 0xf7, 0xcf, 0xf8, 0x87, 0xbf, 0x86, 0x1a,
- 0xc9, 0xe2, 0x36, 0x2b, 0x23, 0xc1, 0xc7, 0x89, 0x2d, 0xd1, 0xeb, 0x6d,
- 0x1f, 0x78, 0x6d, 0xc5, 0xc0, 0xea, 0xb1, 0x89, 0x8b, 0x3d, 0xe7, 0x03,
- 0x1f, 0x32, 0x05, 0xa4, 0x53, 0xea, 0x5e, 0x18, 0x84, 0xfc, 0xfb, 0xb8,
- 0xc8, 0xa8, 0x42, 0xc0, 0x35, 0x84, 0x10, 0xc7, 0x64, 0x21, 0xdd, 0x33,
- 0xe2, 0x09, 0x26, 0x57, 0x17, 0x89, 0x05, 0xf4, 0xc5, 0x93, 0x64, 0xb8,
- 0x22, 0x41, 0x08, 0xd7, 0x54, 0xdf, 0x45, 0x5e, 0x31, 0x56, 0x39, 0x66,
- 0x63, 0xa3, 0xa6, 0x53, 0xa0, 0x8f, 0xd0, 0xd9, 0x64, 0x55, 0x92, 0x71,
- 0x34, 0x73, 0xf8, 0x38, 0xd2, 0x72, 0x81, 0xd1, 0x42, 0x49, 0x93, 0xe3,
- 0xc8, 0xab, 0xc3, 0xc1, 0xe4, 0x73, 0x9c, 0x4f, 0x47, 0x2e, 0x27, 0x1b,
- 0xdc, 0x8b, 0xef, 0xf2, 0x74, 0x8c, 0xbc, 0x47, 0x87, 0x23, 0xf5, 0xcd,
- 0x52, 0xc9, 0x75, 0xb8, 0xdb, 0x86, 0xcd, 0x63, 0x12, 0xfb, 0xca, 0xa6,
- 0x79, 0xc7, 0x65, 0xad, 0x7a, 0x2b, 0xad, 0x25, 0x7c, 0x53, 0xc2, 0x0b,
- 0x85, 0xab, 0x33, 0x0c, 0x33, 0x65, 0x1c, 0xbb, 0x12, 0xe3, 0x53, 0xd9,
- 0x2d, 0xce, 0x90, 0x52, 0x10, 0x33, 0xb4, 0x7a, 0x46, 0x06, 0x49, 0xaa,
- 0x09, 0x48, 0x5e, 0x6f, 0x51, 0x6e, 0x74, 0x01, 0x93, 0x96, 0x6b, 0xd5,
- 0xdc, 0xfe, 0x13, 0x32, 0xe2, 0xe1, 0x51, 0x13, 0x01, 0x57, 0xaa, 0x60,
- 0x0b, 0xaa, 0xcc, 0x86, 0x8d, 0x4e, 0x2b, 0x3a, 0xb0, 0x46, 0x1e, 0xb2,
- 0xe6, 0xe7, 0x8a, 0xbf, 0x66, 0x3e, 0x5f, 0xfa, 0x0d, 0x10, 0x25, 0x5a,
- 0x27, 0x95, 0xd6, 0x95, 0xed, 0x6c, 0x45, 0x0a, 0x90, 0x38, 0x6a, 0xb8,
- 0x49, 0x83, 0xd3, 0xb7, 0x02, 0xd3, 0xbd, 0x31, 0x7e, 0x17, 0xf6, 0x23,
- 0x6e, 0x1a, 0x64, 0x1e, 0x20, 0x98, 0x6c, 0xdc, 0x03, 0x26, 0xb0, 0x58,
- 0xe1, 0x87, 0xb3, 0xae, 0xaa, 0x5a, 0x06, 0xb3, 0x0b, 0x05, 0xc2, 0x3f,
- 0xe1, 0x44, 0x49, 0xd9, 0x3b, 0xbf, 0x02, 0x00, 0x34, 0x8d, 0xdd, 0xd0,
- 0x4e, 0x86, 0x32, 0x31, 0x9b, 0x72, 0x16, 0x17, 0xd5, 0xda, 0xb9, 0x81,
- 0x77, 0x90, 0x36, 0x50, 0x37, 0xac, 0x2d, 0x6d, 0x8d, 0xf7, 0x4e, 0xb6,
- 0xed, 0x03, 0xd7, 0xc7, 0xd1, 0x88, 0x54, 0xf6, 0x9c, 0x49, 0xee, 0xbb,
- 0xf3, 0x25, 0x36, 0xe5, 0xbc, 0x7d, 0x24, 0xac, 0x2c, 0x69, 0x02, 0x20,
- 0x4f, 0x52, 0x38, 0xc8, 0xe5, 0x76, 0xe1, 0xd3, 0x0e, 0xf8, 0x82, 0x88,
- 0x4f, 0xd2, 0x87, 0x70, 0x62, 0xe9, 0x4a, 0x14, 0x8a, 0x96, 0xc3, 0x08,
- 0x01, 0xb0, 0x8c, 0x1b, 0x69, 0xc5, 0xfa, 0xf3, 0x51, 0x8c, 0x81, 0xdb,
- 0x70, 0x32, 0xe3, 0x40, 0xee, 0x5b, 0x4f, 0x9f, 0x42, 0x3e, 0xad, 0x99,
- 0xa4, 0x8e, 0x73, 0x90, 0x1b, 0x49, 0x3d, 0x54, 0xcf, 0x48, 0xf0, 0x1d,
- 0xc5, 0x14, 0xaf, 0xd7, 0xb6, 0xdd, 0x32, 0xae, 0xfd, 0xa7, 0xfb, 0xdb,
- 0x87, 0x6e, 0x88, 0x49, 0xe3, 0x59, 0xb5, 0x7b, 0x59, 0xea, 0x9f, 0x39,
- 0x84, 0x1b, 0xbd, 0x6a, 0x51, 0xf4, 0xd0, 0xaf, 0x59, 0x94, 0xb7, 0x2a,
- 0x5a, 0x06, 0xed, 0xb7, 0x77, 0x26, 0xfc, 0x99, 0x15, 0xb1, 0xaa, 0x96,
- 0x25, 0xc0, 0x88, 0x2b, 0x5a, 0x09, 0x3b, 0xcb, 0x30, 0x0f, 0xfe, 0xd2,
- 0x95, 0x3c, 0xbd, 0x8d, 0x44, 0x1a, 0xf8, 0xdf, 0x1f, 0x0f, 0xc8, 0x0d,
- 0x38, 0xfe, 0xb9, 0x75, 0x1e, 0x27, 0x5d, 0x99, 0xcb, 0x27, 0x98, 0x46,
- 0xba, 0xb8, 0x41, 0xdd, 0xf2, 0x30, 0x54, 0x3a, 0xe5, 0x6c, 0x84, 0x3c,
- 0xf6, 0xdb, 0x7f, 0xbf, 0x98, 0x59, 0x90, 0xa2, 0x15, 0xdf, 0x97, 0xc7,
- 0x7e, 0xf3, 0xef, 0xf3, 0xdd, 0x7d, 0xd2, 0xed, 0x43, 0x8c, 0xea, 0x8d,
- 0xe4, 0xa7, 0x07, 0x78, 0xe2, 0xaf, 0x66, 0x8a, 0x92, 0xf3, 0xee, 0x73,
- 0x45, 0xf9, 0x58, 0xb0, 0x93, 0x86, 0xb0, 0x45, 0xe2, 0x8a, 0xbf, 0x09,
- 0x07, 0x23, 0xd6, 0xec, 0x6f, 0x8e, 0xb4, 0xb6, 0x39, 0xe4, 0x3f, 0x37,
- 0xbf, 0x0a, 0x9d, 0x91, 0x96, 0xd2, 0xa0, 0x14, 0xd4, 0x5e, 0x38, 0xd4,
- 0x5c, 0x85, 0xa1, 0x1f, 0x44, 0xe3, 0x35, 0x8d, 0x41, 0x70, 0xb3, 0x4c,
- 0x0f, 0x25, 0x7c, 0x35, 0xd4, 0x81, 0x47, 0x76, 0x08, 0xd3, 0x80, 0xd1,
- 0xbe, 0xd3, 0x30, 0x85, 0xcd, 0x19, 0x42, 0xc5, 0x23, 0x71, 0xbe, 0x58,
- 0xb6, 0x35, 0x53, 0x6b, 0xb6, 0x31, 0xb5, 0x20, 0xb4, 0xef, 0xba, 0xd2,
- 0x00, 0x07, 0x46, 0x43, 0xaa, 0x92, 0x34, 0x58, 0x09, 0x7e, 0xc8, 0x71,
- 0xfa, 0x50, 0x3d, 0x5c, 0xaf, 0xc1, 0xa0, 0x1b, 0x94, 0xf3, 0x8b, 0x2b,
- 0x3c, 0xbe, 0x38, 0x3f, 0x3f, 0x39, 0x6e, 0x06, 0x0b, 0x4d, 0x4d, 0x89,
- 0x55, 0xf5, 0xbd, 0xfe, 0x8b, 0xf4, 0x79, 0xc2, 0xd6, 0x97, 0x68, 0x11,
- 0x7f, 0x9f, 0x5a, 0x33, 0xc5, 0x02, 0xb3, 0xcb, 0xbf, 0x94, 0x02, 0x2b,
- 0x86, 0x60, 0x15, 0x0a, 0x08, 0x54, 0xeb, 0x79, 0xf4, 0xe0, 0x96, 0xff,
- 0x93, 0x33, 0x0d, 0x71, 0x3f, 0xb4, 0xc6, 0x93, 0x4c, 0x58, 0x99, 0x05,
- 0x65, 0xcc, 0x8f, 0xc7, 0x9b, 0x92, 0x90, 0xae, 0xdf, 0x6e, 0xa3, 0x65,
- 0x46, 0x6d, 0xc3, 0xb2, 0x9f, 0x5e, 0x3e, 0xe1, 0x56, 0xb0, 0xf3, 0xb8,
- 0xb8, 0xc5, 0x70, 0xb6, 0x53, 0x00, 0x44, 0x05, 0xa0, 0x04, 0x20, 0x3d,
- 0x1e, 0x87, 0x70, 0x05, 0xc8, 0xeb, 0xae, 0x15, 0x0f, 0xe4, 0xd5, 0xe3,
- 0xc9, 0x48, 0xfb, 0xc4, 0x03, 0xad, 0xcc, 0xc4, 0xd7, 0xb3, 0xe4, 0x1e,
- 0x3f, 0xc3, 0x60, 0x2a, 0x08, 0x0e, 0xe0, 0xf7, 0x63, 0x60, 0x0c, 0x70,
- 0x8e, 0x2a, 0x3c, 0x0a, 0x2e, 0x01, 0x1e, 0xd5, 0x9c, 0x3b, 0x1e, 0x10,
- 0xa8, 0x32, 0xb6, 0x10, 0xe3, 0xaa, 0x1e, 0x6f, 0xaf, 0xde, 0x09, 0x30,
- 0x62, 0x23, 0xa0, 0xe6, 0xb5, 0x6c, 0x92, 0x92, 0x27, 0x03, 0x96, 0x48,
- 0x65, 0x97, 0x6d, 0xd8, 0x32, 0xbc, 0xd3, 0x74, 0x0c, 0x68, 0xad, 0x94,
- 0xb5, 0x21, 0xf4, 0x74, 0xe3, 0x96, 0xc8, 0xdf, 0x00, 0x81, 0xce, 0xe9,
- 0xae, 0xe0, 0x27, 0x80, 0x89, 0xed, 0x37, 0x41, 0x7b, 0x09, 0xcf, 0x8a,
- 0x9c, 0xa4, 0x08, 0x64, 0x37, 0xa5, 0xd2, 0x05, 0x7c, 0x98, 0x2e, 0xab,
- 0xa7, 0xe6, 0x22, 0x43, 0xa5, 0xc2, 0x3e, 0xa9, 0x46, 0x95, 0x4e, 0xe4,
- 0x63, 0x4c, 0x67, 0xd3, 0xbd, 0x57, 0x60, 0x1a, 0x8e, 0x42, 0xc8, 0x05,
- 0x86, 0x3f, 0x17, 0xcb, 0xca, 0x0b, 0x24, 0x22, 0x44, 0x17, 0xa3, 0x33,
- 0x7c, 0xd5, 0xf3, 0xdb, 0x59, 0xc5, 0x63, 0xf7, 0x4c, 0x89, 0x81, 0x93,
- 0xd9, 0x5f, 0x56, 0x70, 0xff, 0x9f, 0x80, 0x50, 0x24, 0x08, 0x5d, 0xd3,
- 0xd2, 0xa3, 0x6e, 0xd5, 0xd0, 0x8e, 0x59, 0x52, 0xdd, 0x24, 0xbf, 0x42,
- 0x93, 0x16, 0xcc, 0x2b, 0xca, 0x22, 0x56, 0x21, 0xb1, 0x10, 0x4c, 0x64,
- 0x83, 0xfb, 0x81, 0x95, 0x83, 0x8e, 0xad, 0xa4, 0x4d, 0x28, 0xdd, 0x72,
- 0x87, 0x2d, 0x7e, 0xe8, 0xb7, 0x97, 0x4c, 0xa6, 0x9b, 0xf9, 0x13, 0x3a,
- 0x8a, 0x79, 0xee, 0x53, 0xcc, 0x20, 0x3a, 0x84, 0xff, 0xac, 0xfc, 0xf6,
- 0xf3, 0x3f, 0xeb, 0xe1, 0x15, 0x3e, 0x4f, 0xea, 0x5a, 0x2c, 0x4e, 0x0b,
- 0xc6, 0xe9, 0x15, 0x9a, 0xde, 0xfb, 0x65, 0x78, 0x35, 0x89, 0xbc, 0x52,
- 0x06, 0xdb, 0x3a, 0x34, 0x57, 0x0c, 0x07, 0x02, 0xf6, 0x21, 0x5c, 0x50,
- 0x09, 0x41, 0x3d, 0x4f, 0x24, 0x3f, 0x29, 0x82, 0x6b, 0x65, 0xbc, 0xcd,
- 0x3c, 0x2b, 0x53, 0xc6, 0xf7, 0xcc, 0x8d, 0x0b, 0x14, 0xae, 0x46, 0xff,
- 0xa2, 0xba, 0x42, 0xb5, 0x83, 0x35, 0x65, 0x85, 0xbe, 0x52, 0xdb, 0x84,
- 0xe7, 0x48, 0x25, 0x6f, 0x4b, 0x9a, 0xb5, 0x80, 0xb5, 0x8d, 0xf2, 0x77,
- 0x61, 0x55, 0xd6, 0xbb, 0x25, 0x4f, 0x7a, 0xea, 0x37, 0xbf, 0x16, 0xcf,
- 0x4f, 0xd9, 0xae, 0x1f, 0xcc, 0xca, 0x7c, 0x6d, 0xce, 0x07, 0xe6, 0x2c,
- 0xeb, 0xf6, 0x94, 0xed, 0x66, 0xce, 0xb6, 0xe3, 0x95, 0x08, 0x24, 0x6d,
- 0xd3, 0x68, 0xff, 0x17, 0xa6, 0x6c, 0xbb, 0x19, 0xdb, 0x31, 0xe5, 0x6b,
- 0x07, 0xd2, 0xb5, 0x65, 0xa3, 0x25, 0x5f, 0x93, 0x33, 0xb6, 0x57, 0xa6,
- 0x6c, 0xbb, 0x39, 0xdb, 0xab, 0x92, 0xb6, 0xa9, 0x28, 0x7d, 0x45, 0xca,
- 0xf6, 0xaf, 0xcb, 0xd8, 0x6e, 0x4b, 0xd9, 0xfe, 0xe5, 0x39, 0xdb, 0xbf,
- 0x6d, 0xca, 0xf6, 0x6f, 0x99, 0x8d, 0x4c, 0xb7, 0x07, 0x4f, 0x24, 0x1d,
- 0x49, 0x69, 0xd3, 0x61, 0x2b, 0x2c, 0xad, 0x16, 0xfc, 0xd5, 0x12, 0x58,
- 0x9c, 0x30, 0xb3, 0x0c, 0xc3, 0x1a, 0x8d, 0xa3, 0xb8, 0xfb, 0x75, 0x43,
- 0x42, 0x2b, 0x81, 0x0c, 0x38, 0x37, 0x0e, 0xbc, 0x1b, 0xba, 0xe9, 0x65,
- 0x39, 0xeb, 0xd1, 0x0c, 0xb0, 0xe6, 0xd8, 0xb3, 0x12, 0x2d, 0x9f, 0x69,
- 0x3c, 0xf7, 0xdb, 0xb3, 0x9c, 0x6a, 0x56, 0x6e, 0xef, 0x5a, 0x5b, 0x5d,
- 0xfe, 0xb2, 0xc4, 0x7a, 0xd8, 0x90, 0xdd, 0x2e, 0x05, 0x23, 0x03, 0xe1,
- 0x32, 0x8a, 0x72, 0xc2, 0xaf, 0x91, 0x97, 0x34, 0x31, 0x7d, 0xf9, 0x4c,
- 0x48, 0xc2, 0xb4, 0xd9, 0xf5, 0x8a, 0x61, 0xa8, 0x00, 0xde, 0x5d, 0x07,
- 0xc9, 0x10, 0x2c, 0x7b, 0x51, 0xa6, 0x5d, 0xd2, 0x2d, 0xdc, 0xee, 0xef,
- 0x72, 0x85, 0xb4, 0x86, 0x74, 0x64, 0x9e, 0x1e, 0xaa, 0x11, 0x7d, 0x9f,
- 0x41, 0xa5, 0x6d, 0x0e, 0x1a, 0xf7, 0xbd, 0xd2, 0x77, 0xfa, 0xd1, 0x15,
- 0xaa, 0x8f, 0xa0, 0xac, 0xc3, 0x8c, 0x64, 0x70, 0xf9, 0x5d, 0x68, 0xb8,
- 0x3a, 0x90, 0x29, 0xd0, 0xcf, 0x87, 0xab, 0x33, 0x3f, 0x3e, 0x4d, 0xd1,
- 0x83, 0x83, 0xcd, 0x4d, 0xca, 0x90, 0xba, 0x89, 0x1f, 0x1e, 0xfa, 0x65,
- 0xb2, 0x39, 0xce, 0x47, 0xe5, 0x26, 0x9e, 0xa0, 0x7e, 0xf9, 0xa6, 0x9a,
- 0xcf, 0x56, 0x65, 0x3d, 0xa4, 0xa5, 0x16, 0xe5, 0x2a, 0x6c, 0xab, 0xcd,
- 0xbc, 0x64, 0x6b, 0x2b, 0x75, 0xe1, 0xca, 0x89, 0xef, 0x37, 0x86, 0x93,
- 0xaa, 0x02, 0x58, 0x14, 0xfc, 0x1f, 0xf5, 0xed, 0xc0, 0xa0, 0x52, 0xa0,
- 0x70, 0xd9, 0xed, 0x6d, 0xea, 0xd4, 0x10, 0xf8, 0x07, 0xc4, 0x76, 0x00,
- 0xc2, 0x92, 0x26, 0x15, 0xb1, 0xb0, 0xfa, 0x9e, 0xe9, 0xa6, 0xd7, 0x9a,
- 0x8a, 0x1a, 0xf2, 0xf2, 0x5b, 0x7f, 0x11, 0x9d, 0xb5, 0xf4, 0x19, 0xfd,
- 0xcd, 0x59, 0x02, 0x50, 0x37, 0x4a, 0xf9, 0xe7, 0x28, 0xbb, 0xee, 0xa3,
- 0x9f, 0xe2, 0x96, 0x99, 0x84, 0xbc, 0x43, 0xce, 0xb6, 0x5b, 0x39, 0x13,
- 0xf3, 0xf0, 0xa7, 0x98, 0x09, 0x15, 0xe9, 0x07, 0xf9, 0x63, 0x6d, 0x0e,
- 0xf4, 0xd8, 0xa7, 0xf8, 0xfe, 0xdd, 0x76, 0xdb, 0x67, 0xa9, 0x91, 0x28,
- 0x3d, 0xf1, 0x1b, 0x7e, 0xf8, 0x83, 0x71, 0x56, 0x31, 0xa6, 0xc1, 0x21,
- 0xfe, 0xf7, 0x40, 0x77, 0x78, 0x65, 0x87, 0xb2, 0x16, 0xf8, 0x77, 0xa7,
- 0x3b, 0xba, 0x38, 0xc1, 0x56, 0x82, 0x86, 0xb4, 0xa1, 0x82, 0x30, 0x26,
- 0x94, 0x00, 0x43, 0x13, 0x5e, 0x7f, 0x4f, 0x51, 0xe5, 0x18, 0x41, 0x85,
- 0x21, 0x6d, 0x18, 0xa0, 0x44, 0x11, 0x96, 0xc0, 0x50, 0x08, 0x8b, 0x21,
- 0xaa, 0xe5, 0x66, 0x9d, 0xb9, 0xa1, 0x98, 0x57, 0xea, 0x32, 0xa2, 0x8b,
- 0xec, 0xb6, 0x8e, 0x29, 0x93, 0x99, 0x9f, 0xd6, 0xf2, 0x14, 0xee, 0x3d,
- 0xf1, 0x6c, 0x17, 0x89, 0x68, 0x68, 0xfc, 0x68, 0xc4, 0x57, 0x9a, 0x4c,
- 0x54, 0x31, 0x51, 0x67, 0x16, 0xbc, 0xc2, 0x5c, 0xf1, 0x83, 0xa8, 0xd3,
- 0xfb, 0x10, 0x1d, 0x74, 0xbc, 0x2d, 0xba, 0xc8, 0xa4, 0x6f, 0x08, 0x79,
- 0xbc, 0x0a, 0x2a, 0x84, 0xa7, 0x56, 0x44, 0xae, 0x66, 0x72, 0x83, 0x80,
- 0x45, 0xd6, 0x9c, 0x30, 0x98, 0xfb, 0x53, 0x2f, 0x08, 0x37, 0xd7, 0x1e,
- 0x93, 0xa6, 0x47, 0x0e, 0x0a, 0x12, 0x74, 0xda, 0x58, 0x00, 0x6d, 0xd2,
- 0x9e, 0x18, 0xff, 0x1f, 0x59, 0x2b, 0x06, 0x13, 0x31, 0x98, 0x89, 0x35,
- 0xdf, 0x3e, 0x60, 0x9d, 0xf4, 0x97, 0x96, 0x52, 0xba, 0x45, 0x5e, 0x96,
- 0xe9, 0x10, 0x38, 0xf5, 0x54, 0x58, 0x64, 0x99, 0x70, 0x3e, 0x15, 0xb7,
- 0xea, 0xc4, 0xdd, 0x34, 0x00, 0x00, 0xa5, 0x0f, 0xad, 0xc5, 0x2b, 0x15,
- 0xd0, 0x01, 0x71, 0x2e, 0xc1, 0xec, 0x98, 0xb1, 0xdd, 0xa5, 0x38, 0x34,
- 0x53, 0x5b, 0x1c, 0x0d, 0x8b, 0x34, 0x99, 0x60, 0xaa, 0x23, 0xe3, 0x49,
- 0xb1, 0xe2, 0xd5, 0x64, 0xb2, 0x33, 0x04, 0xe6, 0xc0, 0x24, 0x1d, 0xcc,
- 0xb4, 0x2d, 0x11, 0xb8, 0x90, 0xd2, 0xaf, 0x29, 0xf7, 0xd1, 0xe6, 0x76,
- 0x17, 0x09, 0x66, 0x0e, 0xdc, 0x25, 0x72, 0xac, 0xb1, 0xf6, 0x6f, 0x69,
- 0xc9, 0x49, 0x2d, 0x0c, 0xbe, 0x33, 0x55, 0x3b, 0x10, 0x26, 0x90, 0xc1,
- 0x27, 0xc1, 0x2f, 0x46, 0xda, 0xaa, 0x3d, 0xae, 0x95, 0xee, 0xf7, 0x3f,
- 0x19, 0x8f, 0x77, 0xbc, 0xd0, 0xbf, 0xa0, 0x0e, 0xa0, 0xde, 0x2e, 0x6a,
- 0x55, 0x56, 0xbc, 0x93, 0x19, 0xed, 0xa1, 0xa9, 0x84, 0xd3, 0xe1, 0x27,
- 0x08, 0xac, 0x1e, 0x9d, 0x37, 0xb5, 0x9c, 0x40, 0x62, 0x39, 0x26, 0xd0,
- 0x71, 0xbe, 0x9a, 0x59, 0x5d, 0x45, 0xd8, 0x02, 0x04, 0xd4, 0xe2, 0x06,
- 0x86, 0x3f, 0x78, 0x22, 0xde, 0xa6, 0xcb, 0xb7, 0x27, 0xc8, 0x3b, 0xf9,
- 0xf1, 0x54, 0x10, 0xc2, 0x3e, 0xf2, 0x18, 0x67, 0xe0, 0xcb, 0x64, 0xc4,
- 0xa1, 0xe6, 0xdc, 0x78, 0x4d, 0x8d, 0x77, 0x33, 0xe3, 0x41, 0xe7, 0x73,
- 0x62, 0xf5, 0x16, 0x39, 0x12, 0x1d, 0xac, 0xe1, 0x28, 0x31, 0xdd, 0x50,
- 0xea, 0x21, 0xf0, 0xd2, 0xeb, 0x04, 0xe8, 0xf2, 0x72, 0x1d, 0xea, 0x2e,
- 0x8d, 0x8d, 0x02, 0x65, 0x3f, 0xc4, 0xfb, 0x29, 0x10, 0xc2, 0x71, 0x6b,
- 0x6d, 0x08, 0x72, 0x7b, 0x46, 0xdc, 0x09, 0x54, 0x76, 0x9e, 0x0f, 0x06,
- 0x7e, 0x8a, 0x7c, 0x06, 0xc6, 0x49, 0x3e, 0xcd, 0xd2, 0xbf, 0x27, 0x63,
- 0x09, 0x5a, 0x36, 0xd3, 0x5b, 0x6b, 0x45, 0x0a, 0x91, 0x13, 0x90, 0xc7,
- 0x44, 0x09, 0x9f, 0xbf, 0x31, 0x12, 0x1c, 0x4a, 0x1d, 0x4c, 0x07, 0x43,
- 0x00, 0x2b, 0x93, 0x09, 0x88, 0x41, 0x06, 0x6e, 0xc2, 0x23, 0xb6, 0x98,
- 0xc9, 0x9d, 0xe5, 0x0f, 0x7b, 0x87, 0xab, 0x54, 0x21, 0xd8, 0x33, 0x2d,
- 0x08, 0x4f, 0x49, 0xf4, 0x2b, 0x8a, 0x0a, 0xa8, 0xb9, 0xde, 0x2f, 0x2f,
- 0x29, 0x08, 0xa3, 0x2f, 0x25, 0x0f, 0xcc, 0x40, 0x5b, 0xf0, 0xed, 0x34,
- 0x27, 0xbb, 0x4c, 0x42, 0xe2, 0x45, 0xf7, 0x98, 0x05, 0xe9, 0xb3, 0x50,
- 0xee, 0x54, 0xf9, 0x8c, 0xfd, 0xbb, 0xd5, 0x44, 0xb8, 0x33, 0x81, 0x8e,
- 0x67, 0x40, 0xdb, 0xa1, 0x1b, 0x5f, 0x81, 0xc9, 0xc5, 0x9f, 0x4e, 0xed,
- 0x3a, 0x18, 0x7f, 0x21, 0x61, 0x3c, 0x3a, 0x53, 0x09, 0x24, 0x36, 0x4a,
- 0xaa, 0xf8, 0x9f, 0x1e, 0x1e, 0x5a, 0x2c, 0xba, 0x3b, 0xb9, 0x97, 0xa5,
- 0x1a, 0x4c, 0xda, 0x46, 0xe3, 0x00, 0x7d, 0x04, 0x60, 0xc3, 0xba, 0x2a,
- 0x75, 0xdd, 0xc3, 0xaf, 0xb1, 0x52, 0x4b, 0xa9, 0xa2, 0x49, 0x5a, 0x16,
- 0x24, 0xde, 0x4c, 0x91, 0x53, 0x44, 0xc4, 0xc7, 0x6f, 0x9a, 0x9f, 0xd5,
- 0xa5, 0x18, 0x43, 0x90, 0x7a, 0xa4, 0x25, 0xc8, 0x34, 0xa4, 0x05, 0x2c,
- 0xc1, 0x26, 0x43, 0xf0, 0x58, 0x2e, 0x2b, 0x32, 0xb4, 0xd2, 0x45, 0xee,
- 0xc3, 0x2c, 0x57, 0x3c, 0x75, 0xbd, 0x85, 0x72, 0xd9, 0xe6, 0x62, 0x1f,
- 0x65, 0x90, 0x16, 0x5d, 0xfe, 0x13, 0x54, 0xa2, 0xfc, 0xaa, 0x52, 0x94,
- 0x4f, 0x5b, 0x89, 0x62, 0x25, 0x05, 0x4a, 0x1d, 0x5f, 0x4e, 0x50, 0x94,
- 0x10, 0x5d, 0x32, 0x9c, 0x06, 0x75, 0x1f, 0x9b, 0xee, 0x25, 0xfc, 0x5a,
- 0x63, 0xb8, 0xf0, 0x65, 0xea, 0x46, 0xb5, 0x2c, 0xd9, 0xc4, 0xe3, 0x91,
- 0xeb, 0xc2, 0x35, 0x42, 0xcd, 0xf9, 0x68, 0x06, 0x58, 0x32, 0x3e, 0x4e,
- 0x04, 0x9f, 0xeb, 0xcf, 0xb6, 0x7b, 0xc8, 0xa7, 0x36, 0xc0, 0xb6, 0x81,
- 0x37, 0x1f, 0x3a, 0xf2, 0xf8, 0xcb, 0x27, 0x05, 0x32, 0xdd, 0x33, 0x7c,
- 0xcd, 0x02, 0x60, 0x3a, 0xfc, 0xce, 0x74, 0x36, 0xe5, 0x1e, 0x6d, 0x55,
- 0xf8, 0xc2, 0x50, 0xb3, 0x52, 0x46, 0x3a, 0x14, 0xf6, 0x86, 0x99, 0x71,
- 0xf8, 0x7e, 0x0b, 0x83, 0x4b, 0x34, 0xee, 0xaa, 0x26, 0x31, 0x70, 0xf4,
- 0x61, 0x52, 0xdd, 0xa3, 0x16, 0x47, 0xfb, 0xa1, 0x1b, 0xe9, 0x70, 0x01,
- 0xd9, 0xa2, 0xd6, 0x7c, 0x97, 0x2e, 0xa7, 0xc1, 0x21, 0x43, 0x61, 0x0c,
- 0x5f, 0xe3, 0x17, 0xd1, 0x98, 0xae, 0x77, 0xfb, 0x82, 0xed, 0x80, 0x6c,
- 0x88, 0xba, 0xb6, 0x37, 0x9a, 0x8b, 0x5b, 0xab, 0x18, 0xd2, 0xb4, 0x25,
- 0x79, 0xd0, 0xf5, 0xf1, 0x9b, 0x6b, 0x2c, 0xd7, 0x36, 0x08, 0x58, 0x81,
- 0x81, 0x31, 0x7a, 0x57, 0xe6, 0xa3, 0xe7, 0xef, 0xa8, 0x5a, 0x5d, 0x3f,
- 0x66, 0x89, 0x71, 0xb9, 0x50, 0x68, 0xb8, 0x8d, 0xc9, 0xb0, 0x27, 0x47,
- 0x7e, 0x1b, 0x2f, 0xe0, 0x67, 0x18, 0x12, 0x24, 0x3c, 0x59, 0xee, 0x5d,
- 0xe7, 0xe5, 0x25, 0x10, 0x01, 0xb8, 0x13, 0x6b, 0x84, 0xc5, 0xe9, 0x7c,
- 0x7c, 0xb0, 0x7d, 0x31, 0xce, 0x42, 0x2d, 0x52, 0x4a, 0x41, 0x6e, 0x52,
- 0xef, 0x94, 0x06, 0xc9, 0x25, 0xd8, 0xe2, 0x0a, 0x57, 0x41, 0xa4, 0xce,
- 0xf8, 0x00, 0x2b, 0x1f, 0xbe, 0xba, 0xb6, 0x48, 0xbf, 0x7b, 0xfa, 0x75,
- 0xce, 0x70, 0xdb, 0x54, 0x91, 0xe5, 0xcd, 0x5f, 0xb2, 0xf8, 0xb4, 0x71,
- 0x9e, 0x75, 0xf5, 0x98, 0x3e, 0xb8, 0x7e, 0x3f, 0x54, 0x04, 0x7f, 0xd2,
- 0x17, 0x04, 0x02, 0x59, 0xc6, 0x37, 0xed, 0x45, 0xdb, 0x22, 0x93, 0xa1,
- 0x1c, 0x8e, 0xda, 0xad, 0x95, 0xd8, 0x43, 0x20, 0x36, 0xb7, 0x3e, 0xc0,
- 0xba, 0x88, 0xc1, 0xf1, 0xe5, 0x46, 0x74, 0xd9, 0x40, 0x82, 0xa1, 0xa2,
- 0x24, 0x14, 0xa6, 0x2e, 0x1f, 0x96, 0x76, 0x6e, 0x8c, 0x71, 0xd9, 0x8e,
- 0x1a, 0x92, 0xca, 0x15, 0x33, 0x48, 0xae, 0x14, 0xfa, 0xfd, 0xcd, 0x19,
- 0x53, 0x63, 0x2d, 0x47, 0x54, 0xa4, 0xc1, 0xa0, 0x20, 0x62, 0x52, 0xba,
- 0xd7, 0x14, 0x2c, 0xe8, 0x1c, 0x4b, 0xed, 0xb8, 0x81, 0x92, 0x38, 0xe5,
- 0x15, 0xff, 0x64, 0xe6, 0xa5, 0x3a, 0xd2, 0x46, 0x68, 0xd6, 0xb9, 0x83,
- 0x7e, 0x24, 0x9d, 0x0c, 0x4b, 0x96, 0x4a, 0x8d, 0x4e, 0x03, 0xc4, 0xc3,
- 0xa6, 0x49, 0xe6, 0x77, 0x2e, 0xa1, 0x8f, 0xa2, 0x20, 0x17, 0x92, 0x1e,
- 0xf7, 0x9b, 0xa8, 0xf9, 0x4e, 0xd0, 0x40, 0x26, 0x97, 0xe6, 0x16, 0x6d,
- 0xbd, 0x05, 0x61, 0x93, 0x75, 0x3c, 0x6c, 0x64, 0x88, 0x1c, 0x71, 0x8a,
- 0x61, 0x9a, 0x8a, 0x24, 0xdc, 0xe2, 0x11, 0x37, 0x03, 0x1e, 0x2b, 0xcb,
- 0x9b, 0x1d, 0xe0, 0x1b, 0x3b, 0xfd, 0xcf, 0x19, 0x17, 0xf2, 0x06, 0x84,
- 0x75, 0x00, 0x8e, 0x97, 0xd3, 0x47, 0xa4, 0xe5, 0x69, 0x63, 0x3c, 0xd1,
- 0xc2, 0xfb, 0x56, 0xf1, 0xef, 0xfd, 0x27, 0x52, 0xda, 0xdf, 0x96, 0x7e,
- 0xfc, 0x6e, 0x1d, 0x09, 0x2a, 0x42, 0xb2, 0xda, 0xe0, 0x06, 0x7d, 0x9c,
- 0x69, 0x30, 0x4c, 0x2b, 0x02, 0xc6, 0x57, 0x2b, 0xb2, 0x7e, 0x35, 0xa9,
- 0x89, 0x55, 0x41, 0x6f, 0x05, 0x6b, 0xe2, 0xfb, 0xd1, 0x7f, 0xe2, 0xa7,
- 0xf4, 0x6d, 0x2e, 0xcb, 0xa0, 0x64, 0x88, 0xaf, 0x4f, 0xde, 0x5e, 0x5c,
- 0x9d, 0xd4, 0xcb, 0x15, 0x2b, 0xee, 0x95, 0x4e, 0xc1, 0xfe, 0xe6, 0xec,
- 0x08, 0xd5, 0x4e, 0x61, 0x10, 0x24, 0x53, 0x21, 0x45, 0xbb, 0x3f, 0xba,
- 0xfc, 0xfe, 0x8d, 0x99, 0x1d, 0x6a, 0x09, 0x19, 0x77, 0x5a, 0x92, 0x41,
- 0xbb, 0xbc, 0xd3, 0x4d, 0xd1, 0x8e, 0x5a, 0x00, 0x36, 0x94, 0x92, 0x06,
- 0xd5, 0x66, 0x7e, 0x94, 0x62, 0xc1, 0x89, 0x31, 0x5a, 0xaa, 0x4f, 0x18,
- 0xea, 0x65, 0x89, 0xa5, 0xf7, 0x66, 0x50, 0x4f, 0xef, 0x65, 0xeb, 0x88,
- 0x01, 0xa7, 0x38, 0xb5, 0x38, 0x66, 0xf4, 0x38, 0x84, 0x94, 0xeb, 0x47,
- 0xfe, 0x87, 0x34, 0x29, 0x84, 0xbe, 0x12, 0x62, 0xd8, 0xd8, 0x3b, 0x9d,
- 0x03, 0x21, 0x2c, 0xed, 0xd0, 0xe1, 0x82, 0x44, 0x6b, 0x7a, 0x57, 0x75,
- 0x19, 0xe9, 0x4f, 0xc2, 0x3d, 0xee, 0x46, 0x06, 0x22, 0xe4, 0xf0, 0xcd,
- 0xf5, 0x12, 0x0b, 0x1d, 0x9c, 0xa9, 0x9a, 0xdf, 0x44, 0x6a, 0x41, 0xaf,
- 0xfd, 0x79, 0xcd, 0xd6, 0x84, 0x70, 0x0f, 0xbe, 0x70, 0xcf, 0x4a, 0xdb,
- 0xc3, 0x6c, 0xe3, 0xa9, 0xfc, 0x2d, 0x5d, 0x71, 0x5b, 0x3d, 0xb6, 0x84,
- 0xee, 0x24, 0xa5, 0x87, 0x5a, 0x89, 0x2e, 0x19, 0xae, 0x94, 0x18, 0x87,
- 0x08, 0x53, 0x1d, 0xa5, 0x6b, 0x80, 0xbc, 0x7d, 0xe7, 0x5e, 0xe1, 0xf6,
- 0x35, 0x52, 0x86, 0x43, 0x01, 0x33, 0x45, 0xae, 0xa7, 0x50, 0x04, 0x35,
- 0x8c, 0x2a, 0x1f, 0xb3, 0x0a, 0x2f, 0x2a, 0xf3, 0x94, 0x51, 0x5e, 0x04,
- 0x0b, 0xc0, 0x90, 0x90, 0x2c, 0xe9, 0x96, 0x84, 0x34, 0xf1, 0x6a, 0xff,
- 0x15, 0x8a, 0x76, 0xca, 0x50, 0x92, 0xae, 0x5e, 0x82, 0xef, 0x4c, 0xd1,
- 0x53, 0xee, 0x24, 0xe8, 0xa1, 0x29, 0xbb, 0x6b, 0xd0, 0x4e, 0xcc, 0xc3,
- 0x64, 0xc6, 0x9d, 0xc4, 0x06, 0xce, 0x20, 0x3e, 0x98, 0xd2, 0x8a, 0x03,
- 0x43, 0x18, 0x3f, 0x20, 0x9f, 0xb4, 0xbc, 0x8d, 0xd6, 0xff, 0x6d, 0xc3,
- 0xb4, 0x5b, 0x27, 0xfa, 0x41, 0xdf, 0x6c, 0x9a, 0x2d, 0x3d, 0xca, 0x47,
- 0xe7, 0x5c, 0x5a, 0xdb, 0x54, 0xda, 0x73, 0x5a, 0xdf, 0x30, 0x54, 0x93,
- 0x57, 0x56, 0xf9, 0x22, 0xe2, 0xd6, 0x6f, 0x85, 0x17, 0x1c, 0x93, 0xe3,
- 0x5a, 0x69, 0xa7, 0xb6, 0x97, 0x2d, 0xf8, 0x12, 0x91, 0x98, 0x10, 0xa1,
- 0x62, 0x8b, 0xc3, 0x55, 0xb5, 0xab, 0x7e, 0xf4, 0x21, 0xa3, 0x44, 0x3c,
- 0xa1, 0x3b, 0x91, 0x13, 0x69, 0x06, 0xeb, 0x07, 0x9a, 0x06, 0x49, 0x11,
- 0x60, 0x42, 0x7f, 0xab, 0x33, 0x1f, 0x61, 0x92, 0x8d, 0x00, 0x29, 0x5d,
- 0x5a, 0x61, 0x6b, 0x86, 0x6d, 0x45, 0xd1, 0x5b, 0xbf, 0x47, 0x1e, 0xf7,
- 0xf8, 0x42, 0x52, 0x87, 0xe5, 0xd0, 0xd8, 0x18, 0x02, 0x4f, 0x66, 0xb3,
- 0x1e, 0x83, 0xa8, 0x23, 0xa8, 0x34, 0x2a, 0xf7, 0x5c, 0x25, 0x4d, 0x09,
- 0x6c, 0xae, 0xe1, 0xe3, 0x49, 0x16, 0x2a, 0xf6, 0xee, 0x63, 0x09, 0x90,
- 0xc2, 0x8d, 0x48, 0x29, 0x96, 0x06, 0xd6, 0xb0, 0x72, 0xcf, 0x3a, 0x43,
- 0x68, 0x73, 0x78, 0x49, 0x6d, 0x5d, 0xad, 0x7c, 0x58, 0xd2, 0xd1, 0xcd,
- 0xb4, 0x58, 0x70, 0x67, 0xbd, 0x50, 0xdb, 0x3f, 0x57, 0xeb, 0xe6, 0x47,
- 0x95, 0x28, 0xca, 0xa4, 0xe2, 0xc9, 0xf0, 0xbb, 0xa7, 0x6f, 0x6a, 0x2d,
- 0xba, 0x71, 0x2b, 0xd0, 0xf4, 0x0b, 0x0f, 0x67, 0x9b, 0x84, 0xe3, 0x7d,
- 0xb4, 0x52, 0xc3, 0x0c, 0x65, 0x4d, 0x8c, 0xa1, 0xb6, 0x51, 0xa5, 0xdf,
- 0x85, 0x87, 0x93, 0x51, 0x58, 0x55, 0xe5, 0x31, 0x74, 0x60, 0x22, 0x15,
- 0xed, 0x21, 0x8f, 0xc4, 0x30, 0x4d, 0x0a, 0xf3, 0x19, 0x3f, 0x49, 0xf2,
- 0x66, 0x9e, 0x8f, 0xb1, 0xa6, 0x2b, 0x79, 0x7a, 0x2f, 0xf0, 0x49, 0x7b,
- 0xdf, 0xa4, 0x1c, 0xae, 0x34, 0x3d, 0x5f, 0xb9, 0x62, 0x0f, 0xa1, 0xee,
- 0xab, 0x52, 0x76, 0x26, 0x3c, 0x9c, 0x5d, 0xaa, 0x76, 0xba, 0x94, 0x37,
- 0xdd, 0x25, 0x64, 0x51, 0x3e, 0xaa, 0x9c, 0x15, 0xe0, 0x03, 0xe1, 0xe1,
- 0x98, 0xb1, 0x06, 0x56, 0x86, 0x05, 0x52, 0x64, 0x51, 0xae, 0x5e, 0x19,
- 0x3f, 0xe8, 0x1d, 0x32, 0xfc, 0x90, 0xd9, 0xb5, 0x77, 0xc2, 0xed, 0x2b,
- 0x0b, 0x9d, 0x30, 0xcd, 0xa0, 0x79, 0xc0, 0xda, 0xe1, 0xa8, 0xe0, 0xa3,
- 0xec, 0x85, 0x87, 0x33, 0x27, 0x2c, 0x60, 0xd7, 0x2b, 0x0e, 0x58, 0xbe,
- 0xe2, 0xed, 0xc2, 0x2c, 0x03, 0xf5, 0x6e, 0x59, 0x8c, 0x92, 0x8f, 0x34,
- 0xb7, 0x2a, 0x2e, 0xa6, 0x49, 0xf5, 0x71, 0xf5, 0x86, 0xcc, 0x04, 0x4d,
- 0xe1, 0x71, 0x4e, 0xad, 0xaa, 0x0d, 0xb3, 0x10, 0x74, 0xd9, 0x58, 0xd0,
- 0x05, 0x40, 0xc1, 0xe3, 0x76, 0xe0, 0x55, 0xfb, 0x86, 0x38, 0xdf, 0x8b,
- 0x14, 0x4a, 0x07, 0xc4, 0x65, 0x9a, 0x29, 0x88, 0x8d, 0xf0, 0x18, 0x67,
- 0x8a, 0x51, 0x08, 0x79, 0x69, 0x55, 0xb8, 0x6a, 0x7e, 0x8b, 0x25, 0x56,
- 0x46, 0x09, 0xf8, 0x18, 0x68, 0x0e, 0xe2, 0xd2, 0x31, 0x3f, 0xae, 0xc7,
- 0xcd, 0x6b, 0x92, 0x1a, 0x42, 0xd3, 0xd1, 0xd4, 0x3d, 0xe9, 0xc8, 0x2f,
- 0x85, 0x76, 0x04, 0xa2, 0x7e, 0xd0, 0xdc, 0xc8, 0xe6, 0xec, 0x16, 0xf7,
- 0x63, 0xe3, 0x88, 0x81, 0xbf, 0xea, 0x77, 0x55, 0xb8, 0x53, 0x6b, 0x68,
- 0x6d, 0x1a, 0x8c, 0x09, 0x4c, 0x3c, 0xd8, 0x44, 0x11, 0xb0, 0x5b, 0x3f,
- 0x9d, 0x55, 0xbe, 0xfe, 0xe3, 0x7d, 0xbc, 0x48, 0x38, 0xef, 0x95, 0xb6,
- 0x57, 0x0e, 0xa3, 0x7d, 0x6b, 0xe4, 0x69, 0x3b, 0x45, 0xe6, 0xee, 0x96,
- 0x75, 0x15, 0x81, 0x2d, 0x6a, 0x67, 0x77, 0xf2, 0xd5, 0xc6, 0x75, 0x18,
- 0x27, 0xe8, 0x97, 0x15, 0x42, 0xc0, 0x84, 0x2d, 0x1e, 0x48, 0xb9, 0xde,
- 0x2a, 0x32, 0x6a, 0xdd, 0xe3, 0x62, 0xfe, 0xc4, 0x15, 0x87, 0x07, 0xec,
- 0xaa, 0x18, 0x87, 0xc3, 0xac, 0xca, 0xbb, 0x97, 0x72, 0x89, 0x5b, 0x76,
- 0xbe, 0x6d, 0x06, 0x35, 0x1a, 0x5c, 0x35, 0x13, 0x97, 0xfa, 0xdc, 0xc9,
- 0xd8, 0xad, 0x05, 0x55, 0xae, 0xa2, 0x8e, 0xc5, 0x3a, 0xb3, 0xf0, 0x70,
- 0x86, 0x3c, 0xf5, 0x3d, 0xd9, 0x9e, 0xae, 0xe3, 0xbb, 0xe4, 0x4e, 0x22,
- 0x60, 0x36, 0xfa, 0xb4, 0xa1, 0xd7, 0xfb, 0x17, 0xb1, 0x07, 0xb4, 0xcf,
- 0x67, 0x99, 0x6b, 0x91, 0xe3, 0x17, 0x41, 0xf2, 0xae, 0x28, 0x65, 0x71,
- 0xda, 0x10, 0x98, 0x03, 0xe7, 0x7e, 0xb4, 0x14, 0x77, 0xa5, 0x84, 0x3c,
- 0x4a, 0x54, 0xa5, 0x4e, 0x54, 0xa2, 0xa4, 0x12, 0x5c, 0xdc, 0x18, 0x7b,
- 0x7c, 0xf8, 0x79, 0xf3, 0xfc, 0x49, 0xce, 0xda, 0x62, 0x18, 0x64, 0x8c,
- 0x1c, 0x8a, 0x12, 0xa2, 0xdd, 0x6e, 0xcb, 0x44, 0xac, 0x04, 0x7d, 0x3c,
- 0xe2, 0xb6, 0x21, 0x7e, 0x93, 0xdf, 0x46, 0x02, 0x5d, 0xd9, 0x77, 0xdc,
- 0x10, 0x0c, 0xb6, 0x9d, 0x4c, 0xc7, 0x6e, 0xcb, 0x6c, 0x67, 0xf9, 0x45,
- 0x97, 0xb7, 0x60, 0x0a, 0x8b, 0xa7, 0x3f, 0x82, 0x45, 0x22, 0xa4, 0x12,
- 0x93, 0xae, 0x82, 0xa8, 0x07, 0x1b, 0xd1, 0x95, 0x84, 0x36, 0x51, 0xa7,
- 0x7b, 0x84, 0x7b, 0xcf, 0x03, 0xac, 0xa7, 0x7d, 0x10, 0x86, 0x5c, 0x14,
- 0x80, 0x0a, 0x12, 0xc2, 0xf1, 0x87, 0x02, 0xc5, 0x1b, 0x12, 0x10, 0x65,
- 0x87, 0xdb, 0xe6, 0x76, 0x7f, 0xbb, 0xeb, 0x5a, 0x9d, 0x36, 0xf5, 0x0f,
- 0x75, 0xef, 0x58, 0xfa, 0x0c, 0x31, 0xe0, 0x42, 0xd3, 0xcf, 0x70, 0x85,
- 0x1f, 0x2e, 0x7d, 0xb7, 0x30, 0xb9, 0x96, 0xad, 0xc1, 0x72, 0x1f, 0x3f,
- 0xfa, 0x8a, 0xe9, 0x56, 0x6f, 0xef, 0xd5, 0xab, 0x9a, 0x3c, 0x2f, 0x1d,
- 0x28, 0xf5, 0xfd, 0xad, 0x2d, 0x5a, 0x9b, 0x57, 0x13, 0x0d, 0xbf, 0xe8,
- 0xbd, 0xa2, 0x17, 0xeb, 0xaf, 0x95, 0x09, 0x1c, 0xc1, 0xb8, 0xfd, 0xbd,
- 0x1e, 0xfe, 0x26, 0xf0, 0x39, 0xf2, 0xa7, 0xb4, 0xbe, 0xf5, 0x0a, 0x3f,
- 0x17, 0x78, 0x8b, 0x1e, 0xe6, 0x7d, 0xcc, 0x27, 0x13, 0x74, 0x64, 0xe1,
- 0x93, 0x8a, 0xcb, 0x73, 0x1f, 0x17, 0x63, 0x7f, 0xb9, 0x5b, 0xdd, 0xde,
- 0x76, 0xdb, 0x72, 0x29, 0x9a, 0x4c, 0x09, 0x70, 0x78, 0x9e, 0x68, 0x27,
- 0x82, 0xf5, 0xc1, 0x05, 0x42, 0xcd, 0x81, 0xb6, 0x61, 0x46, 0xdb, 0xaf,
- 0x5e, 0x75, 0x71, 0x66, 0xfb, 0xaf, 0x5e, 0xb5, 0x16, 0x84, 0x3b, 0x9f,
- 0xb9, 0xcf, 0xad, 0xfb, 0x09, 0x5f, 0xb7, 0x44, 0x53, 0xa2, 0x91, 0x13,
- 0xfe, 0x0e, 0xfe, 0x26, 0x7a, 0x1d, 0x9d, 0x5f, 0x5c, 0x9f, 0x38, 0x9e,
- 0x19, 0xba, 0x5f, 0x1c, 0x30, 0x74, 0x4c, 0x4d, 0x8a, 0xc1, 0x2e, 0xa8,
- 0x95, 0x17, 0x59, 0xbd, 0x60, 0x93, 0xf8, 0xc6, 0x24, 0x15, 0xab, 0xa8,
- 0x47, 0xf0, 0x0f, 0x7e, 0x46, 0x04, 0x35, 0xec, 0x9a, 0xa6, 0x95, 0x0b,
- 0xdb, 0xb4, 0x0e, 0x87, 0xbd, 0x41, 0x2e, 0x0e, 0x4e, 0x72, 0x93, 0x60,
- 0xca, 0x5a, 0x89, 0xd5, 0x1d, 0x9c, 0x08, 0x8b, 0xff, 0xc8, 0x17, 0x6b,
- 0x5e, 0x81, 0x45, 0x32, 0xc3, 0xbc, 0x55, 0x91, 0x84, 0xfc, 0x42, 0x8f,
- 0x9e, 0x94, 0xeb, 0x42, 0xf6, 0x2a, 0x37, 0x0a, 0x8f, 0x09, 0xd5, 0xd2,
- 0xfd, 0x78, 0x20, 0x9e, 0x82, 0x9c, 0x90, 0x13, 0x31, 0xb4, 0x32, 0x0b,
- 0x87, 0x71, 0xd1, 0x8d, 0xd7, 0x4a, 0xeb, 0xf0, 0x34, 0xde, 0xb9, 0x0c,
- 0xcf, 0xc1, 0xc3, 0x23, 0x64, 0x27, 0xfe, 0x38, 0x59, 0x68, 0x4a, 0x69,
- 0x56, 0x1f, 0x07, 0x68, 0x79, 0x92, 0x4e, 0x97, 0x45, 0x38, 0xfd, 0x92,
- 0xba, 0x3c, 0x48, 0xa6, 0x83, 0x76, 0x0d, 0x88, 0xef, 0xe3, 0x22, 0xd1,
- 0x26, 0x77, 0xd9, 0xa3, 0xb9, 0xdb, 0x6a, 0x05, 0x6b, 0x3d, 0x10, 0xb6,
- 0x74, 0xf0, 0x2c, 0x69, 0x2c, 0xe1, 0x02, 0x3d, 0x06, 0xbd, 0x04, 0x92,
- 0xa2, 0x43, 0x5e, 0x3d, 0xe9, 0xed, 0x27, 0xe9, 0x35, 0xe2, 0x40, 0xc4,
- 0xc3, 0xa6, 0x26, 0x7e, 0x71, 0x24, 0x5b, 0xe0, 0xe7, 0xd4, 0xad, 0xcd,
- 0xac, 0xef, 0x1e, 0x9f, 0x25, 0x6f, 0xcb, 0x4d, 0xee, 0xf4, 0x08, 0xf1,
- 0x41, 0x1b, 0x90, 0xf3, 0x30, 0x9c, 0x0b, 0xfd, 0x95, 0x0f, 0x09, 0x9e,
- 0xbf, 0xcf, 0x66, 0x79, 0x3c, 0xb6, 0xce, 0x93, 0x85, 0xa6, 0xeb, 0x0a,
- 0xe4, 0x98, 0x1c, 0xad, 0x97, 0xd5, 0x81, 0x27, 0xcd, 0x67, 0x1c, 0xad,
- 0x3b, 0x80, 0x22, 0x44, 0xa1, 0x8e, 0x1b, 0x84, 0xb9, 0x14, 0x52, 0x0a,
- 0x03, 0x64, 0x20, 0xdc, 0x8d, 0x6f, 0xf6, 0x22, 0xbd, 0xf3, 0x69, 0x99,
- 0x44, 0x17, 0xea, 0x99, 0x89, 0x42, 0xd2, 0x71, 0x69, 0x44, 0x83, 0xd3,
- 0xff, 0x79, 0xf2, 0x29, 0xa3, 0x4e, 0x45, 0x7c, 0x6f, 0x0a, 0x07, 0xbf,
- 0x67, 0xc0, 0x4a, 0x89, 0x06, 0x19, 0xa4, 0x8a, 0x78, 0x26, 0x36, 0x3c,
- 0xac, 0x97, 0x83, 0x0a, 0x14, 0x56, 0x94, 0x96, 0xb8, 0x40, 0x58, 0x3e,
- 0x6d, 0x63, 0x7d, 0x9f, 0x45, 0x2e, 0xe3, 0x5c, 0x74, 0xaa, 0xf8, 0x62,
- 0x07, 0x20, 0x9f, 0xe3, 0x9c, 0x5c, 0x89, 0x64, 0xda, 0xa3, 0xb7, 0x97,
- 0xe1, 0xa4, 0x02, 0xdd, 0x2e, 0x09, 0x11, 0x11, 0x27, 0x05, 0x73, 0x7d,
- 0xa2, 0x27, 0xa1, 0x5b, 0x69, 0x9f, 0x70, 0x43, 0x06, 0x0c, 0x4f, 0x15,
- 0xd1, 0xe1, 0x87, 0xab, 0xb3, 0x96, 0x72, 0xc9, 0x01, 0x9d, 0x01, 0x6e,
- 0x56, 0xe7, 0x2a, 0x21, 0x34, 0xb3, 0x22, 0xba, 0x8c, 0xa7, 0x49, 0xc7,
- 0x05, 0x90, 0xab, 0x21, 0x48, 0x8a, 0x03, 0x22, 0xe4, 0x4e, 0x71, 0xdb,
- 0x6e, 0x20, 0x13, 0xb7, 0x61, 0x61, 0xb7, 0xc8, 0x71, 0x32, 0x8b, 0x65,
- 0xef, 0x96, 0x05, 0x86, 0xf3, 0x69, 0xe7, 0x03, 0xad, 0xa4, 0xd4, 0x4f,
- 0xd9, 0x80, 0xfe, 0xe4, 0x2c, 0x53, 0x2e, 0xcb, 0x8a, 0x17, 0x48, 0x43,
- 0x51, 0xe7, 0x0b, 0xf4, 0xc0, 0x77, 0x74, 0x9a, 0xbd, 0xc4, 0x0f, 0xb2,
- 0xe9, 0x56, 0x60, 0x60, 0xb8, 0xe6, 0x85, 0xaa, 0xfb, 0xee, 0x71, 0xd6,
- 0x1a, 0x6f, 0x4d, 0x10, 0x8f, 0xb7, 0xa4, 0x58, 0xb2, 0xd7, 0x2a, 0x0c,
- 0xc3, 0x5f, 0x08, 0xba, 0xc8, 0x38, 0xac, 0x98, 0x71, 0x12, 0x9d, 0xc9,
- 0xfc, 0x0e, 0x24, 0xd8, 0xc2, 0xba, 0x90, 0x4e, 0xad, 0x96, 0x19, 0x14,
- 0x5a, 0x6c, 0x3c, 0xc3, 0x86, 0x38, 0xc6, 0xfb, 0x85, 0x6b, 0x1c, 0xe7,
- 0xd8, 0x43, 0x85, 0x7a, 0xae, 0x67, 0xc6, 0x99, 0x5c, 0x3b, 0xd9, 0x4f,
- 0x0e, 0x75, 0x68, 0x03, 0x40, 0x47, 0x5d, 0xe9, 0xf2, 0xd4, 0x03, 0xea,
- 0xc8, 0xa4, 0x0e, 0xde, 0x39, 0x56, 0x87, 0xf6, 0xfe, 0xc3, 0x69, 0x1c,
- 0xe2, 0x34, 0xff, 0x68, 0x41, 0xcc, 0x75, 0xa6, 0x5b, 0x51, 0x99, 0x0a,
- 0x1d, 0xa1, 0xd7, 0x7c, 0xc4, 0x56, 0xcc, 0x8a, 0xb0, 0x0c, 0xba, 0xf3,
- 0x7b, 0x4e, 0x41, 0xcb, 0x31, 0x97, 0x6e, 0xf6, 0xde, 0xa4, 0x20, 0x44,
- 0x4a, 0x46, 0x20, 0x22, 0x2d, 0x97, 0xdb, 0x05, 0xeb, 0x45, 0xe4, 0x12,
- 0xde, 0x9e, 0x8f, 0xee, 0x37, 0x92, 0xba, 0x0e, 0xf3, 0x8a, 0x89, 0xd9,
- 0x00, 0x45, 0x3c, 0xe1, 0x2c, 0xb6, 0xda, 0x42, 0x6c, 0x9d, 0x15, 0xd2,
- 0x00, 0x5e, 0x3a, 0x18, 0x08, 0xbc, 0x07, 0xfa, 0x2d, 0x03, 0xbb, 0x63,
- 0x70, 0x81, 0x28, 0x73, 0x86, 0x5a, 0xd8, 0xd7, 0xba, 0x30, 0x79, 0xc6,
- 0xa6, 0xe9, 0x7f, 0xcd, 0xc9, 0x1e, 0xcd, 0x30, 0x20, 0x4c, 0xca, 0x34,
- 0xc2, 0xe1, 0xc8, 0x09, 0xa3, 0xf0, 0x71, 0x69, 0xea, 0x08, 0x86, 0xed,
- 0x37, 0x96, 0xa0, 0x3d, 0x7c, 0xc2, 0x02, 0xf7, 0xb1, 0xb6, 0x30, 0xca,
- 0x19, 0x75, 0x09, 0x0f, 0x63, 0x03, 0x59, 0x2e, 0x08, 0x2f, 0xa1, 0x10,
- 0x3a, 0x65, 0xef, 0xe0, 0x23, 0xae, 0x1c, 0xe4, 0x84, 0x8d, 0xe8, 0x4f,
- 0x3d, 0xdb, 0x78, 0x63, 0xfd, 0x31, 0x01, 0x0d, 0xdb, 0x26, 0x7d, 0x90,
- 0x21, 0x15, 0xa8, 0xfe, 0x8c, 0xb8, 0x3b, 0x68, 0x59, 0xab, 0x4b, 0x21,
- 0x23, 0xc4, 0x89, 0x2c, 0xf2, 0xa6, 0x83, 0x16, 0x40, 0x69, 0x96, 0x59,
- 0xf2, 0x80, 0x18, 0xe0, 0xed, 0xc3, 0xf9, 0x4a, 0xf6, 0xf7, 0x47, 0x57,
- 0xe7, 0xa7, 0xe7, 0xdf, 0x1c, 0x20, 0x42, 0x5d, 0x52, 0x8c, 0xb0, 0x91,
- 0x75, 0xf4, 0xd7, 0xe5, 0x38, 0x1d, 0x31, 0xa7, 0x90, 0x16, 0xc1, 0xb5,
- 0xca, 0x98, 0x44, 0x1c, 0xac, 0xc0, 0x5c, 0xbc, 0x42, 0x18, 0x49, 0xe6,
- 0xc5, 0xba, 0x9e, 0x22, 0x9f, 0x2e, 0xcd, 0xd6, 0x8f, 0x48, 0x15, 0xa1,
- 0x30, 0x00, 0x85, 0x47, 0x91, 0x1f, 0x31, 0xd1, 0x62, 0xe3, 0x25, 0x50,
- 0x14, 0xde, 0x9c, 0x9d, 0x45, 0x3e, 0x94, 0x2f, 0xa7, 0x8f, 0x0a, 0x7d,
- 0x71, 0xc6, 0x10, 0x0d, 0x64, 0xf2, 0x4d, 0x31, 0x9e, 0x07, 0xc2, 0x9f,
- 0xfb, 0x16, 0x3a, 0x5c, 0x0f, 0x4c, 0xd7, 0xef, 0xfd, 0x4c, 0x4e, 0xca,
- 0x33, 0xa6, 0xe4, 0x40, 0x3a, 0xe1, 0xb4, 0x18, 0x93, 0x2d, 0x04, 0x4c,
- 0x32, 0x9f, 0x54, 0xa8, 0x1e, 0xd5, 0x24, 0x69, 0xbd, 0x2b, 0xd0, 0x2a,
- 0x67, 0xfb, 0x0d, 0x5b, 0x39, 0x35, 0xe0, 0x14, 0x8e, 0x48, 0x52, 0xd2,
- 0x2a, 0xd0, 0x23, 0xeb, 0x85, 0xd4, 0x49, 0x0a, 0x7d, 0x52, 0x1e, 0x35,
- 0x8f, 0x93, 0xd8, 0x74, 0xc7, 0x2e, 0x91, 0x5b, 0xfa, 0xec, 0xe2, 0x3e,
- 0x29, 0xc4, 0xf8, 0x34, 0x55, 0xc4, 0xc0, 0xec, 0xfa, 0xd1, 0x20, 0x87,
- 0xe7, 0x03, 0x55, 0x0b, 0xda, 0x73, 0xb1, 0xd6, 0xbc, 0x9d, 0x93, 0x68,
- 0x4d, 0x5e, 0x15, 0xf5, 0xa3, 0xa2, 0x98, 0x5b, 0x7d, 0xbd, 0x81, 0x7e,
- 0xcf, 0x48, 0xff, 0xc3, 0xc4, 0x28, 0x14, 0x8f, 0x1a, 0xda, 0x41, 0x0a,
- 0xe9, 0xf4, 0x80, 0x9d, 0x76, 0x70, 0x67, 0xa9, 0x0b, 0xb5, 0x33, 0xd2,
- 0x13, 0xbd, 0x54, 0xdd, 0x34, 0xf5, 0xe6, 0x82, 0x83, 0x2d, 0xea, 0x9c,
- 0xd6, 0x4f, 0xb1, 0xd8, 0x9d, 0x8e, 0xe7, 0x54, 0x3a, 0x85, 0x99, 0x50,
- 0x29, 0x57, 0xe9, 0x25, 0xa8, 0x61, 0x7a, 0x01, 0xf0, 0x0b, 0xdb, 0xfe,
- 0x11, 0x8b, 0xf4, 0x9c, 0x3a, 0x79, 0xf7, 0x65, 0x11, 0x37, 0x5d, 0xeb,
- 0x5c, 0x48, 0x09, 0xd2, 0xa7, 0xf2, 0xea, 0xf4, 0x26, 0xfd, 0x8d, 0x60,
- 0x5e, 0x0d, 0xcf, 0x41, 0x24, 0x52, 0x19, 0xdf, 0xd9, 0x84, 0xaf, 0x56,
- 0xc6, 0xa7, 0xc5, 0x2a, 0x4d, 0x19, 0x4d, 0x07, 0x6a, 0xbc, 0x4a, 0x3a,
- 0x54, 0x1c, 0x39, 0x85, 0x2c, 0x6e, 0xa8, 0xb2, 0x86, 0x49, 0xe0, 0x0f,
- 0x27, 0x15, 0x5f, 0x12, 0xe4, 0x6a, 0x65, 0xc2, 0x12, 0xb9, 0x49, 0xb3,
- 0xbb, 0x9c, 0x7e, 0x23, 0x41, 0xaa, 0x40, 0x8a, 0x4a, 0xda, 0x5a, 0xd6,
- 0x72, 0xdd, 0xd8, 0x55, 0x75, 0xd0, 0x68, 0x11, 0x01, 0xac, 0x85, 0x4b,
- 0x03, 0xdd, 0x9e, 0x2d, 0xb6, 0x4d, 0x4b, 0x93, 0x14, 0xf8, 0x32, 0x21,
- 0xf1, 0x76, 0x4d, 0x4b, 0x71, 0x78, 0x71, 0x56, 0x26, 0xd2, 0xe5, 0x98,
- 0x4b, 0x02, 0x55, 0xe0, 0x88, 0xbc, 0x49, 0x8d, 0xef, 0xa7, 0x5d, 0x92,
- 0xf4, 0xeb, 0x0d, 0x4b, 0x6b, 0xf6, 0x2b, 0x66, 0x34, 0xd2, 0x45, 0xa2,
- 0x1b, 0x3c, 0xba, 0xc9, 0x73, 0xa9, 0x39, 0x6d, 0x63, 0xb6, 0x11, 0xa9,
- 0x34, 0x84, 0x88, 0xd1, 0xa2, 0x3f, 0xd4, 0x5b, 0x55, 0x4a, 0x32, 0x79,
- 0xf3, 0xee, 0x39, 0x50, 0x83, 0x35, 0x74, 0xd2, 0xba, 0x6c, 0xe3, 0xf9,
- 0x18, 0xe1, 0x2c, 0xcc, 0xd5, 0x87, 0x57, 0x24, 0x2e, 0xc0, 0xa2, 0x3b,
- 0xbc, 0x3d, 0x92, 0x59, 0xe9, 0x6e, 0x4a, 0x50, 0xd8, 0x71, 0xae, 0xa5,
- 0x05, 0xc8, 0x26, 0xaa, 0x21, 0xb3, 0x29, 0xab, 0x07, 0x34, 0x68, 0xa6,
- 0x69, 0x45, 0x0c, 0xe4, 0x4f, 0x3b, 0x5b, 0x6d, 0x4c, 0x1e, 0x07, 0xd2,
- 0x1a, 0x57, 0xbc, 0x8d, 0xa5, 0xb1, 0xbf, 0x48, 0x0c, 0xda, 0xc2, 0x00,
- 0x94, 0x21, 0xcb, 0x05, 0xfa, 0xe9, 0x7a, 0x48, 0x2f, 0x71, 0xd9, 0xb6,
- 0xff, 0xfd, 0xdf, 0xa3, 0xf7, 0xa1, 0xe5, 0x5f, 0x57, 0xce, 0x19, 0xe3,
- 0x40, 0xa1, 0x04, 0x33, 0xe5, 0x25, 0xea, 0x27, 0x71, 0x94, 0x76, 0xab,
- 0x33, 0x90, 0x5d, 0x4f, 0x4d, 0xee, 0xe4, 0x72, 0xe2, 0x68, 0xbe, 0xf9,
- 0x1a, 0xcf, 0x17, 0x51, 0x80, 0x65, 0x75, 0xf5, 0x06, 0x68, 0x9a, 0x4a,
- 0x6c, 0xe1, 0x2e, 0xe3, 0x5b, 0x6d, 0xdd, 0xe7, 0xa3, 0xaf, 0x08, 0x23,
- 0x65, 0x63, 0x3c, 0x96, 0x74, 0x4d, 0xda, 0x10, 0xfc, 0x52, 0x5d, 0x30,
- 0x52, 0xce, 0x59, 0x2f, 0xe8, 0xed, 0x0f, 0x76, 0x8d, 0x90, 0xec, 0x71,
- 0x17, 0x0a, 0xbf, 0xc3, 0x6f, 0x77, 0xa2, 0x75, 0xe4, 0xaa, 0x1b, 0x46,
- 0x79, 0xf5, 0xeb, 0x9f, 0xb5, 0x39, 0x0b, 0xdb, 0x30, 0x31, 0x4b, 0xc8,
- 0x66, 0xf2, 0x2c, 0xea, 0xaf, 0x60, 0xe5, 0x15, 0x20, 0xff, 0xb1, 0xe7,
- 0x1b, 0x57, 0x0f, 0x4e, 0x96, 0xb3, 0x90, 0x99, 0x83, 0x77, 0x5b, 0x82,
- 0x43, 0x69, 0x59, 0x2e, 0xc5, 0x08, 0x34, 0x00, 0x33, 0x06, 0x71, 0x30,
- 0x9a, 0xc1, 0x7c, 0xe8, 0xd3, 0xe5, 0x0c, 0xb3, 0x4a, 0x5a, 0xd5, 0x13,
- 0xf2, 0x0e, 0x6b, 0x0b, 0x73, 0xd1, 0x31, 0xc5, 0x8e, 0x92, 0xd3, 0xe1,
- 0x46, 0x74, 0xd2, 0x48, 0x0d, 0x37, 0xa1, 0x4b, 0xb2, 0xaa, 0x31, 0x5c,
- 0xe7, 0xe2, 0xf2, 0xfa, 0xf4, 0xe2, 0x7c, 0x10, 0xfd, 0x5b, 0x67, 0x65,
- 0x79, 0x57, 0x1d, 0x58, 0xf9, 0x87, 0xae, 0x3d, 0x93, 0xe8, 0x50, 0xfc,
- 0x0c, 0x6d, 0xb6, 0xb1, 0xa3, 0xc4, 0x8f, 0x40, 0x7a, 0x03, 0x7f, 0xd5,
- 0x37, 0x05, 0xda, 0x4d, 0x4e, 0xab, 0x81, 0x46, 0xe7, 0x69, 0xcb, 0x06,
- 0xce, 0xaf, 0x69, 0x44, 0x33, 0xb3, 0xb7, 0x36, 0x4b, 0x63, 0xf8, 0x30,
- 0x07, 0x16, 0xce, 0x57, 0x4b, 0xe5, 0x94, 0x17, 0x68, 0x8b, 0xef, 0x49,
- 0x2d, 0x65, 0x0b, 0x7a, 0x9d, 0x79, 0xa6, 0x2a, 0x5a, 0x65, 0xa0, 0xc3,
- 0xdc, 0x37, 0x27, 0xd7, 0xe8, 0xa4, 0xa1, 0x2a, 0x57, 0x3b, 0x41, 0x72,
- 0x75, 0x89, 0xe2, 0x13, 0x1b, 0xe5, 0x4c, 0x8b, 0x5b, 0xf1, 0xd2, 0x80,
- 0xf6, 0x3c, 0x8b, 0xb3, 0x60, 0x09, 0x1b, 0x68, 0xb4, 0xc7, 0xb0, 0x1b,
- 0xb9, 0x85, 0x7e, 0x55, 0xdf, 0x89, 0xd3, 0xd7, 0x84, 0x61, 0x99, 0x2e,
- 0x3f, 0x5c, 0x8b, 0x9f, 0xea, 0xcd, 0xc9, 0xd9, 0xc9, 0xf5, 0x49, 0xd3,
- 0x72, 0x1f, 0x32, 0x98, 0x25, 0x95, 0xba, 0x54, 0xc9, 0xe8, 0x26, 0xcb,
- 0x67, 0xf9, 0x34, 0x95, 0x86, 0xaf, 0xd1, 0xf7, 0xc9, 0xf0, 0xcd, 0xd1,
- 0x77, 0xa8, 0x4f, 0xa0, 0xcf, 0xe9, 0xf2, 0xea, 0xe2, 0xf2, 0xed, 0xe9,
- 0xf9, 0x9b, 0x6e, 0x74, 0x7c, 0x71, 0xf9, 0x97, 0x6e, 0xf4, 0xfe, 0xe2,
- 0xbb, 0x93, 0x40, 0x8a, 0x33, 0x22, 0xdc, 0x7a, 0x14, 0x63, 0x9a, 0xf5,
- 0x59, 0xc3, 0x3b, 0xe3, 0x90, 0x85, 0x23, 0x44, 0x30, 0xff, 0x1f, 0xb4,
- 0x5f, 0x64, 0xb7, 0x74, 0xd7, 0x60, 0xeb, 0x40, 0x86, 0xbe, 0x3b, 0x39,
- 0x7a, 0xd3, 0xf5, 0x00, 0xcc, 0xb1, 0x95, 0x0a, 0x7c, 0x0c, 0xd7, 0x67,
- 0x16, 0x4d, 0xb0, 0xd7, 0x6c, 0x7d, 0x90, 0x86, 0xc0, 0x41, 0x2e, 0xbe,
- 0xb1, 0x40, 0xb0, 0x54, 0xa5, 0x3f, 0x6e, 0xcb, 0x9c, 0x10, 0x2c, 0xfe,
- 0xd6, 0x16, 0xcb, 0x4e, 0xd9, 0x05, 0x2a, 0x6b, 0xae, 0x9a, 0x2d, 0x60,
- 0x4d, 0x94, 0x56, 0xaf, 0x45, 0x58, 0x6e, 0x96, 0x6c, 0x0b, 0x62, 0x50,
- 0xb7, 0x06, 0x15, 0x40, 0xfc, 0x88, 0x5d, 0x8f, 0xb1, 0xf4, 0x34, 0xa4,
- 0xa6, 0x45, 0x60, 0x26, 0xa1, 0x56, 0x3d, 0xb1, 0x28, 0xb1, 0xab, 0x35,
- 0x6c, 0x01, 0x52, 0x17, 0xd8, 0x26, 0xdc, 0x3c, 0xdd, 0x20, 0xd3, 0xd3,
- 0xf3, 0x07, 0xfe, 0xb1, 0x80, 0x45, 0x05, 0x12, 0xb7, 0x97, 0x13, 0x20,
- 0xcb, 0x84, 0x53, 0xa6, 0xf8, 0x98, 0x8c, 0x5b, 0x20, 0xea, 0x9d, 0xaa,
- 0x53, 0x62, 0x95, 0x82, 0xa5, 0x37, 0x46, 0x1d, 0x33, 0x8c, 0x15, 0xa5,
- 0x3e, 0xab, 0x3a, 0x9b, 0x70, 0x3d, 0x24, 0xb8, 0xce, 0x80, 0xbe, 0xaf,
- 0x47, 0xac, 0x68, 0x46, 0xe2, 0xc1, 0x71, 0x37, 0x85, 0x40, 0x37, 0x3c,
- 0x5f, 0x16, 0x08, 0x58, 0x4f, 0xb8, 0xd0, 0x93, 0xc0, 0x4a, 0x32, 0xf1,
- 0x88, 0x46, 0x18, 0x7a, 0xeb, 0xb1, 0x2d, 0xed, 0xe6, 0xfc, 0x2a, 0xf7,
- 0x14, 0xdd, 0x54, 0xe6, 0xe0, 0x85, 0xa8, 0x68, 0x9d, 0xb5, 0x96, 0xda,
- 0xe6, 0x96, 0xef, 0x6e, 0x3d, 0x58, 0x1f, 0x3b, 0x6a, 0x13, 0x65, 0xd4,
- 0x13, 0xac, 0x6f, 0x2a, 0xde, 0xf3, 0xb6, 0x6e, 0xfd, 0x6d, 0x0b, 0x63,
- 0x74, 0xbd, 0xb6, 0xa6, 0xa0, 0xdf, 0xb0, 0xa8, 0xb3, 0x53, 0xb8, 0x0e,
- 0x01, 0x68, 0x9c, 0x71, 0x4e, 0x8d, 0xa3, 0x29, 0x1d, 0x81, 0xf4, 0x2a,
- 0xda, 0x7d, 0x18, 0xcb, 0xff, 0x30, 0x76, 0x52, 0x0f, 0x7e, 0x99, 0x5a,
- 0xac, 0x3f, 0xf1, 0x69, 0xef, 0xcc, 0xae, 0x4e, 0xae, 0xaf, 0xfa, 0xd1,
- 0xba, 0x8b, 0xf9, 0xfa, 0xa2, 0xbf, 0xe5, 0x07, 0x6d, 0xb0, 0x89, 0x7b,
- 0xf0, 0xab, 0xd4, 0xdd, 0xbd, 0xe5, 0xab, 0xc4, 0x1b, 0xf0, 0xbb, 0x7e,
- 0x1e, 0xb1, 0x83, 0xf4, 0xb4, 0x15, 0xfa, 0x9e, 0xdb, 0x2a, 0xbe, 0xf6,
- 0x3d, 0xfc, 0xc5, 0x8a, 0x55, 0xbe, 0x3b, 0x39, 0x0b, 0xf4, 0xf6, 0xf9,
- 0xee, 0xea, 0xed, 0x5f, 0xea, 0xab, 0xdc, 0xdd, 0x0b, 0x7c, 0xf5, 0xb7,
- 0x74, 0xa8, 0x27, 0x65, 0x3e, 0x03, 0x85, 0x85, 0xaa, 0x38, 0xa8, 0x88,
- 0xe3, 0x00, 0x44, 0x00, 0xe6, 0x9a, 0xff, 0xd8, 0x95, 0xbf, 0xfc, 0xdc,
- 0xef, 0xf7, 0xbf, 0xf4, 0x51, 0xd1, 0xc9, 0x47, 0x63, 0x96, 0x2b, 0xcf,
- 0x36, 0x2d, 0x70, 0xaa, 0x9a, 0xa1, 0x2a, 0x21, 0x8c, 0x5a, 0x2c, 0xe2,
- 0xb4, 0xa0, 0x9e, 0x40, 0x41, 0x81, 0x8b, 0x4b, 0xb2, 0x95, 0x5e, 0x46,
- 0x9b, 0x13, 0x44, 0x30, 0xbe, 0xae, 0xeb, 0xe5, 0x86, 0xd4, 0x55, 0x5b,
- 0x19, 0x1c, 0x8f, 0x3d, 0x47, 0x08, 0xf7, 0x65, 0xc1, 0xcf, 0x16, 0xe8,
- 0x9f, 0x65, 0x5b, 0xc7, 0xca, 0xda, 0x4c, 0x65, 0x87, 0xac, 0x7e, 0x6c,
- 0xa6, 0x1f, 0xf4, 0x5e, 0x48, 0x9d, 0xe4, 0xb1, 0x84, 0xd4, 0xc9, 0x91,
- 0x1c, 0x93, 0x58, 0xa1, 0x36, 0xb3, 0x49, 0x35, 0xda, 0xc4, 0x75, 0x96,
- 0x35, 0x0d, 0xd0, 0xa8, 0x70, 0x9e, 0x13, 0xc9, 0xcd, 0x93, 0xa4, 0x0a,
- 0x5a, 0x4e, 0x6e, 0x71, 0x4a, 0x12, 0x6c, 0x11, 0xaf, 0xa3, 0xa9, 0xb3,
- 0x7e, 0xe0, 0x73, 0xb3, 0x5a, 0x47, 0x24, 0xb7, 0x02, 0x51, 0x5b, 0x5d,
- 0x78, 0xec, 0xd0, 0x29, 0x53, 0xf3, 0xd5, 0x7e, 0xe2, 0xce, 0x4a, 0x49,
- 0x98, 0x48, 0x41, 0xe8, 0xe3, 0x93, 0x9a, 0x44, 0x50, 0x0f, 0x9d, 0x7b,
- 0xe8, 0x2d, 0xb5, 0xcf, 0x34, 0x01, 0x46, 0x12, 0x57, 0x23, 0x1e, 0x57,
- 0xea, 0xcb, 0xc3, 0xaf, 0x4d, 0xc2, 0x06, 0x95, 0x99, 0xaf, 0xfd, 0xdb,
- 0x1a, 0x2a, 0xc2, 0xf4, 0x7a, 0xb0, 0xb6, 0x5d, 0x09, 0x17, 0x0d, 0x1b,
- 0x7c, 0x2a, 0xa0, 0x37, 0x98, 0x4d, 0x31, 0xc4, 0xa7, 0xbc, 0xd4, 0x25,
- 0x1e, 0x5a, 0x42, 0x3f, 0xfa, 0x3e, 0x9d, 0x8d, 0x47, 0x71, 0x41, 0xe9,
- 0x61, 0xbe, 0x78, 0x15, 0x32, 0xe1, 0xfb, 0x54, 0xe6, 0xf4, 0x55, 0x7b,
- 0x79, 0xb4, 0x99, 0x4c, 0x98, 0xea, 0x03, 0x45, 0x3f, 0xe6, 0x30, 0x30,
- 0xf8, 0xdd, 0x56, 0x74, 0xc6, 0xe4, 0xa3, 0x7b, 0x8c, 0xa2, 0xae, 0xde,
- 0xc1, 0xa3, 0x7e, 0xae, 0x1a, 0x87, 0xe8, 0xed, 0xf9, 0xb1, 0x94, 0x74,
- 0x71, 0xb7, 0x47, 0xee, 0xab, 0x17, 0x5d, 0xfe, 0xd7, 0x0b, 0x5b, 0x7e,
- 0xe2, 0x18, 0x69, 0x6c, 0xc7, 0xb0, 0xd6, 0x7f, 0x7a, 0xa9, 0x45, 0xae,
- 0x4d, 0x9e, 0x38, 0x70, 0x30, 0xc9, 0x79, 0x96, 0x5a, 0xb6, 0x06, 0xef,
- 0xe8, 0x6c, 0x71, 0x47, 0x80, 0x7f, 0xfd, 0x38, 0x2c, 0x10, 0x76, 0xa4,
- 0x2a, 0x7f, 0x5e, 0x55, 0x4f, 0x0c, 0x3a, 0xff, 0xcb, 0x7e, 0xa0, 0xfd,
- 0x76, 0xf0, 0x43, 0x26, 0xdd, 0xd7, 0x7e, 0x0d, 0x81, 0xa2, 0x28, 0x6c,
- 0x87, 0x59, 0x3f, 0xb6, 0x9c, 0x38, 0xf8, 0xa1, 0x57, 0x4f, 0x7c, 0x88,
- 0x8f, 0xd4, 0xe0, 0xbe, 0xdd, 0x2b, 0x55, 0x98, 0xe9, 0x4b, 0x2f, 0xed,
- 0xbd, 0xfe, 0xd6, 0xf3, 0x33, 0x94, 0xad, 0xf1, 0xcd, 0xf0, 0x83, 0xfc,
- 0x13, 0xa2, 0x12, 0x49, 0x11, 0xcb, 0xdb, 0x68, 0x6e, 0x65, 0x67, 0x0c,
- 0x84, 0xcd, 0xa9, 0xf1, 0x72, 0xd8, 0x00, 0x2a, 0x11, 0x2a, 0xc0, 0x38,
- 0x2c, 0xbd, 0x1d, 0x38, 0xcd, 0x1a, 0xee, 0x16, 0xe1, 0x89, 0x18, 0x14,
- 0xe5, 0x1f, 0x23, 0xfc, 0x82, 0x72, 0xb9, 0x13, 0x2c, 0x62, 0xba, 0x3a,
- 0x79, 0xfb, 0x61, 0x70, 0xf2, 0x26, 0x8a, 0x03, 0x10, 0x58, 0x14, 0x2f,
- 0x4d, 0xc9, 0x2d, 0x27, 0x0d, 0x82, 0xaa, 0x3c, 0xe7, 0x8c, 0x20, 0x99,
- 0x8b, 0xd7, 0x73, 0x50, 0x92, 0x8b, 0xc0, 0x32, 0xf6, 0xeb, 0x4e, 0x58,
- 0x8f, 0x93, 0x17, 0x7f, 0x01, 0xee, 0x08, 0xaf, 0x7a, 0x9c, 0x60, 0x73,
- 0xae, 0x43, 0xce, 0x82, 0xf1, 0x40, 0xd5, 0x6c, 0x1b, 0xaf, 0x72, 0x96,
- 0x24, 0x0b, 0x29, 0xfa, 0xb3, 0x9d, 0xe4, 0xe1, 0x6c, 0xd4, 0x13, 0x28,
- 0xcd, 0x39, 0x68, 0x54, 0x0d, 0x1c, 0xc6, 0x2d, 0x9d, 0xa4, 0x08, 0x5e,
- 0x8d, 0x33, 0xd6, 0x2d, 0x66, 0x80, 0xdd, 0x16, 0xde, 0x95, 0xf5, 0xb4,
- 0x6a, 0xb8, 0xd0, 0xbd, 0xae, 0x7a, 0xe4, 0x52, 0x47, 0x80, 0x1e, 0xb0,
- 0x8b, 0x78, 0x32, 0xf1, 0x6c, 0x9a, 0x17, 0x30, 0xde, 0xdc, 0xd4, 0x29,
- 0x32, 0x9c, 0x43, 0xb9, 0xd1, 0xec, 0xc5, 0xe9, 0xd7, 0x7c, 0x73, 0xa9,
- 0x23, 0x85, 0xc0, 0x13, 0xae, 0xe1, 0x46, 0xb6, 0xc0, 0xfb, 0x44, 0x1e,
- 0x13, 0x0c, 0x0f, 0xb2, 0x4c, 0x1b, 0x48, 0xd5, 0x35, 0xed, 0x07, 0x6f,
- 0xa1, 0x67, 0x6e, 0x62, 0xd7, 0x91, 0xa6, 0x3b, 0x47, 0x55, 0x77, 0x0d,
- 0x07, 0xb8, 0x73, 0xff, 0x3d, 0xbb, 0xb9, 0x6d, 0xef, 0x84, 0x6e, 0xc0,
- 0x3c, 0x7e, 0x20, 0x17, 0x55, 0x2b, 0x39, 0xb0, 0xc3, 0x16, 0xb7, 0x03,
- 0x1f, 0x2b, 0x98, 0xe5, 0x13, 0x83, 0xb5, 0x95, 0x2f, 0x9c, 0x97, 0x64,
- 0x4e, 0x5a, 0x1c, 0x58, 0x64, 0x77, 0xfb, 0xa1, 0x47, 0x4a, 0xe3, 0x36,
- 0x2d, 0xcd, 0xc8, 0x4f, 0x18, 0xe3, 0x32, 0xd1, 0x88, 0x5b, 0xe7, 0xd6,
- 0x52, 0xf4, 0xbd, 0x0d, 0xfc, 0xf1, 0x2c, 0xc7, 0x28, 0x25, 0x13, 0x03,
- 0x7d, 0xdf, 0x87, 0xec, 0x43, 0x23, 0xa1, 0x40, 0x42, 0x54, 0x83, 0x96,
- 0x7d, 0xc2, 0xd4, 0xca, 0x86, 0x8a, 0xc5, 0x10, 0xc0, 0x8c, 0x3d, 0x60,
- 0x13, 0x3b, 0x8e, 0xbc, 0xe9, 0xe5, 0xb0, 0xf2, 0x38, 0xac, 0x28, 0xd0,
- 0x10, 0xdd, 0x3a, 0xb2, 0xb2, 0x6c, 0x36, 0x95, 0x67, 0x52, 0x83, 0x6a,
- 0x6a, 0xa5, 0x26, 0x35, 0xf2, 0x01, 0x55, 0xad, 0xab, 0xed, 0x73, 0xa8,
- 0xb4, 0x09, 0x97, 0x43, 0x76, 0x66, 0x9c, 0xb9, 0x73, 0xa5, 0x03, 0x80,
- 0x31, 0xd2, 0x7c, 0x4c, 0x45, 0x51, 0xdc, 0x86, 0xa7, 0x0d, 0x3e, 0x46,
- 0xe6, 0xb2, 0x86, 0x9e, 0xca, 0x87, 0x74, 0xbe, 0x9c, 0xd3, 0xfb, 0x5d,
- 0x2e, 0x7f, 0x9c, 0xa3, 0xd4, 0xd2, 0x43, 0xa5, 0xec, 0xc2, 0x4a, 0x29,
- 0x2a, 0xe4, 0xcc, 0x40, 0xde, 0x46, 0x44, 0x5b, 0x71, 0xc6, 0x0f, 0xbe,
- 0xc5, 0x2d, 0x36, 0xe8, 0xa0, 0xfe, 0xdb, 0xe9, 0x33, 0x3a, 0x04, 0x8d,
- 0xee, 0x4b, 0x7f, 0x12, 0x3e, 0xeb, 0x20, 0xba, 0xc4, 0x3c, 0xe7, 0x64,
- 0xec, 0x58, 0x91, 0x42, 0x6e, 0x04, 0x62, 0xc3, 0x67, 0xd4, 0xce, 0xa1,
- 0xa4, 0xd5, 0x24, 0xcd, 0x57, 0x28, 0x1e, 0x97, 0x6a, 0x9d, 0xbf, 0x2c,
- 0x96, 0x84, 0xee, 0xa7, 0x0c, 0xe9, 0xb7, 0x5c, 0x78, 0x32, 0xdf, 0xf0,
- 0x09, 0xa3, 0x8e, 0xc2, 0xe7, 0xb7, 0x24, 0x27, 0x46, 0x6c, 0x5b, 0xf4,
- 0x97, 0xcb, 0x1e, 0x1b, 0x37, 0x96, 0x34, 0x5c, 0x08, 0x77, 0xd6, 0x24,
- 0x5e, 0xe6, 0x09, 0x11, 0x56, 0x4c, 0x19, 0x0e, 0xe9, 0x00, 0x37, 0x85,
- 0x8f, 0xaf, 0xab, 0x65, 0x78, 0x7b, 0x0f, 0x0f, 0x1e, 0x85, 0x3b, 0x06,
- 0x31, 0xe3, 0x4d, 0xb2, 0xb5, 0xbc, 0xb7, 0xf5, 0x39, 0xfe, 0x73, 0xff,
- 0xa1, 0x61, 0x34, 0xf7, 0x83, 0xe0, 0x90, 0x5a, 0x96, 0x1b, 0x0f, 0x73,
- 0x0e, 0xc1, 0xf1, 0x86, 0xc5, 0xce, 0x66, 0x6a, 0x14, 0x41, 0x3a, 0xbf,
- 0xde, 0xc7, 0xb8, 0xb9, 0x79, 0xe6, 0xa7, 0x36, 0x50, 0x2e, 0xa6, 0xd3,
- 0xeb, 0x55, 0x03, 0xa5, 0xd4, 0xb4, 0x10, 0x94, 0x7f, 0xdc, 0x4c, 0xdd,
- 0x2b, 0x1d, 0x74, 0x9c, 0x2f, 0x39, 0x90, 0x99, 0x78, 0x91, 0xb1, 0x94,
- 0x77, 0x1f, 0xaf, 0x14, 0x88, 0xac, 0x74, 0x86, 0xef, 0xf0, 0xbd, 0x2e,
- 0xa3, 0x6d, 0x38, 0x86, 0x34, 0x5b, 0x56, 0x06, 0xac, 0x8f, 0x3e, 0xa8,
- 0x14, 0x1a, 0xdc, 0x7d, 0xe4, 0xf3, 0x46, 0xb0, 0x08, 0x2f, 0x28, 0x9d,
- 0x00, 0x21, 0xdf, 0x13, 0xd2, 0xc9, 0xc5, 0xc1, 0xe3, 0x4a, 0xd9, 0x80,
- 0xab, 0xc8, 0x44, 0x61, 0xa5, 0x73, 0x53, 0xf2, 0x00, 0x9b, 0xcd, 0x20,
- 0x4a, 0x91, 0x11, 0x0e, 0x56, 0xa8, 0x49, 0x86, 0x30, 0x37, 0x6c, 0x08,
- 0x64, 0xfe, 0xd4, 0x98, 0xb8, 0x69, 0xe1, 0x45, 0x7c, 0x2e, 0xaf, 0xe4,
- 0x4a, 0x9a, 0xe6, 0x6b, 0xac, 0xb5, 0x85, 0xaf, 0xb6, 0x34, 0x50, 0x63,
- 0x6c, 0x3d, 0xd0, 0xda, 0x5e, 0x60, 0x35, 0xb0, 0x53, 0x88, 0x06, 0x27,
- 0x61, 0xb2, 0x36, 0x71, 0xf8, 0x2b, 0xfa, 0xf4, 0x11, 0x86, 0x8c, 0x0f,
- 0x42, 0x1a, 0x99, 0x5b, 0xcc, 0x8d, 0xac, 0x97, 0x78, 0x01, 0xf9, 0xeb,
- 0x13, 0xc5, 0xe3, 0x46, 0xa4, 0x6e, 0xbe, 0xac, 0xc6, 0x01, 0xcf, 0xe9,
- 0x00, 0xc9, 0x83, 0xcf, 0x99, 0x43, 0xaa, 0xce, 0xef, 0xc8, 0x8e, 0xca,
- 0x18, 0xe1, 0x27, 0x97, 0xd5, 0xcd, 0xdf, 0xd3, 0x71, 0x10, 0xb9, 0x01,
- 0x6f, 0x03, 0xfc, 0x1a, 0x4e, 0xad, 0x64, 0xf7, 0x97, 0x22, 0x9b, 0x46,
- 0xeb, 0xf2, 0xda, 0x46, 0x37, 0x1a, 0x2f, 0xc9, 0x21, 0x37, 0x38, 0x1a,
- 0x9c, 0x45, 0x97, 0x67, 0x47, 0xa7, 0xe7, 0xf0, 0x4e, 0xcf, 0x37, 0x52,
- 0x0d, 0x60, 0x59, 0xb7, 0xd9, 0x62, 0x8c, 0x3c, 0x9e, 0x75, 0x4c, 0x33,
- 0xf3, 0x1d, 0xfe, 0x90, 0x8f, 0x69, 0x34, 0x26, 0x51, 0x5a, 0xab, 0x3d,
- 0xe8, 0x2d, 0x35, 0xe3, 0xa9, 0x1d, 0x55, 0xc7, 0x2a, 0x4d, 0x9a, 0x29,
- 0x23, 0xa9, 0xa8, 0x4e, 0xac, 0x91, 0x2f, 0x23, 0x48, 0xae, 0xbb, 0x44,
- 0xa6, 0xe6, 0xaf, 0x06, 0x56, 0x6e, 0xb3, 0x8b, 0x70, 0x86, 0x30, 0x23,
- 0xee, 0x98, 0x05, 0x54, 0xe1, 0x0c, 0x4b, 0xe0, 0x6e, 0x26, 0xcb, 0x95,
- 0x32, 0x06, 0xdb, 0x32, 0xa1, 0x60, 0x52, 0xe8, 0x76, 0xc4, 0xe4, 0x50,
- 0xd9, 0x26, 0x15, 0xb3, 0x4e, 0x56, 0x7e, 0x4c, 0x85, 0xc3, 0xc6, 0x4a,
- 0xc3, 0xc5, 0xae, 0x95, 0x9e, 0x84, 0x1e, 0xe6, 0x0f, 0x5d, 0x0b, 0x93,
- 0x40, 0xa5, 0x4d, 0x26, 0xbf, 0x61, 0x0a, 0xcc, 0x8c, 0x60, 0xa8, 0x78,
- 0x24, 0x18, 0xb4, 0x6b, 0x32, 0xdd, 0xcb, 0x9b, 0xd8, 0x2f, 0x18, 0x98,
- 0x83, 0x76, 0x0b, 0x03, 0xba, 0xae, 0xd1, 0x55, 0x34, 0xf6, 0xa2, 0xd1,
- 0xcb, 0x9b, 0x68, 0x2c, 0x6d, 0xea, 0x38, 0x27, 0x94, 0x65, 0x6b, 0x72,
- 0xe4, 0x0c, 0x77, 0x86, 0x21, 0x88, 0x8e, 0xea, 0xe4, 0xb0, 0x12, 0x80,
- 0x7d, 0xbb, 0xf1, 0xbd, 0x4f, 0x84, 0x12, 0xcb, 0xa8, 0xdd, 0x6d, 0x8d,
- 0x2f, 0xcb, 0x03, 0xfe, 0xba, 0x05, 0xa3, 0xf6, 0x27, 0xc3, 0xc8, 0x5e,
- 0x58, 0xcd, 0xc4, 0x0d, 0x4a, 0x43, 0xf0, 0x50, 0xf4, 0xc4, 0xa6, 0xa4,
- 0xc6, 0x3d, 0x95, 0x61, 0xc2, 0xd0, 0xb3, 0xba, 0xf2, 0x01, 0x52, 0x3f,
- 0x76, 0xf0, 0xed, 0x85, 0x60, 0xac, 0x4c, 0x7c, 0x56, 0xec, 0xac, 0x92,
- 0x9e, 0xc6, 0x44, 0xb9, 0x4a, 0xd4, 0x39, 0x23, 0xc9, 0x71, 0x0c, 0x9b,
- 0x6f, 0x86, 0x0d, 0x10, 0xfc, 0x76, 0x09, 0x9c, 0x82, 0x30, 0xe1, 0x26,
- 0xa9, 0x3a, 0x03, 0x67, 0x4c, 0x8f, 0x0f, 0x53, 0x13, 0x0d, 0xa2, 0xb3,
- 0xbf, 0x2d, 0xd3, 0x84, 0xba, 0xf9, 0x82, 0x1c, 0x8e, 0xde, 0x70, 0xc6,
- 0xa4, 0x34, 0x1b, 0xe5, 0xae, 0xc6, 0xd4, 0xf9, 0x18, 0x1f, 0x35, 0x13,
- 0xf0, 0xf8, 0x30, 0x4c, 0x08, 0xe5, 0xd3, 0x7b, 0x9a, 0xf4, 0x31, 0x4e,
- 0x7a, 0x0e, 0x02, 0x90, 0xfc, 0x5a, 0x0e, 0xba, 0x9e, 0x26, 0xd3, 0x68,
- 0x85, 0x0b, 0x8b, 0xaa, 0xb8, 0xbc, 0xf5, 0x6b, 0x58, 0xba, 0xb5, 0x4e,
- 0x6d, 0xe4, 0x4b, 0x11, 0xc6, 0x54, 0x61, 0x9b, 0xbf, 0x2c, 0x9e, 0x6d,
- 0x96, 0xd5, 0x18, 0xf5, 0x82, 0x65, 0x36, 0xc3, 0x49, 0xe2, 0x50, 0x2d,
- 0x7d, 0x43, 0x03, 0x38, 0x54, 0x04, 0x81, 0xde, 0x38, 0x20, 0x8a, 0xe9,
- 0x18, 0x36, 0x28, 0xb5, 0x7c, 0xae, 0x61, 0x87, 0x3f, 0x11, 0xb9, 0xea,
- 0x83, 0x62, 0xb9, 0x5b, 0x85, 0x6c, 0x87, 0x57, 0x4c, 0x1b, 0x59, 0x3b,
- 0xb7, 0x55, 0x10, 0x21, 0x77, 0x38, 0x21, 0x20, 0xb4, 0x61, 0x5e, 0x2a,
- 0x78, 0x3a, 0x2c, 0x12, 0x5e, 0xaf, 0xdd, 0x27, 0x82, 0xa0, 0xfb, 0x85,
- 0x28, 0x3f, 0xdc, 0x2f, 0xdd, 0xc1, 0xf8, 0x59, 0xd5, 0x26, 0xdd, 0x6f,
- 0x32, 0xff, 0x8b, 0x01, 0x7e, 0x42, 0x08, 0x66, 0xe8, 0x62, 0x31, 0x39,
- 0xc1, 0x92, 0xe8, 0x57, 0x03, 0xba, 0x21, 0xa7, 0x06, 0x26, 0x5e, 0x04,
- 0x5a, 0x74, 0x02, 0x39, 0x2d, 0x05, 0x1b, 0x64, 0x34, 0x03, 0x1d, 0x28,
- 0xe0, 0x88, 0x19, 0x08, 0x30, 0x1c, 0xc2, 0xe0, 0x75, 0x9b, 0x22, 0xbb,
- 0x5c, 0xa2, 0x6a, 0x3e, 0x5b, 0xe2, 0xb7, 0x19, 0x41, 0xce, 0x20, 0x98,
- 0x29, 0xa4, 0x41, 0x10, 0xf5, 0xcf, 0x40, 0x90, 0xe1, 0x1d, 0x75, 0x00,
- 0x10, 0x15, 0xd3, 0xd7, 0x60, 0x03, 0x36, 0x31, 0xa2, 0xfa, 0x2d, 0xb3,
- 0x43, 0x6f, 0x09, 0x0f, 0x93, 0x08, 0xc0, 0xaa, 0xe3, 0x98, 0xc2, 0x32,
- 0x2f, 0x9d, 0x8e, 0x20, 0x04, 0x0a, 0xa6, 0x4e, 0x10, 0xd5, 0x8d, 0x72,
- 0x26, 0x58, 0xf9, 0x72, 0xe7, 0xa6, 0x1a, 0x8a, 0x02, 0x08, 0x50, 0xe5,
- 0x85, 0x83, 0x03, 0x08, 0x04, 0x90, 0x79, 0xf1, 0x40, 0x44, 0xe6, 0xe2,
- 0xc6, 0x82, 0xc4, 0x73, 0x58, 0xa1, 0x96, 0x22, 0xb2, 0x52, 0xef, 0x5e,
- 0x6d, 0x4a, 0x0c, 0xd1, 0x94, 0x85, 0x32, 0xf8, 0xf9, 0xa5, 0x75, 0x05,
- 0xe9, 0xa1, 0xd7, 0x36, 0x6a, 0x71, 0xb3, 0xbc, 0x06, 0x43, 0xfd, 0xbb,
- 0xea, 0x5c, 0xfb, 0xf5, 0x86, 0x7a, 0x02, 0xe9, 0xf8, 0xab, 0x2e, 0x54,
- 0xfc, 0xbc, 0x1b, 0xd5, 0x52, 0x6d, 0xf3, 0xff, 0xe6, 0x8d, 0x8a, 0x9f,
- 0x77, 0xa5, 0xe2, 0xda, 0x9d, 0xc2, 0x65, 0xfa, 0x6c, 0xe9, 0xa1, 0x75,
- 0xc6, 0xbf, 0xe1, 0x2d, 0x33, 0x89, 0x49, 0xcf, 0xbd, 0x63, 0x4a, 0x13,
- 0xff, 0x6f, 0xdf, 0xb2, 0xcf, 0x1b, 0x5a, 0x20, 0xe1, 0xa3, 0xae, 0xe8,
- 0x5b, 0xe9, 0xe6, 0x6e, 0xa1, 0x82, 0x8c, 0xba, 0xd6, 0xa6, 0x81, 0x32,
- 0x0c, 0x37, 0xaf, 0x64, 0xe8, 0xad, 0x60, 0xe8, 0x32, 0xd7, 0xa3, 0xdd,
- 0x37, 0xc7, 0xa1, 0xb8, 0x03, 0x2b, 0x47, 0xf6, 0x9c, 0xb7, 0x8a, 0x10,
- 0x6d, 0x71, 0x53, 0xfa, 0xa2, 0x3e, 0xe8, 0x9a, 0xa6, 0x20, 0xd7, 0x17,
- 0x29, 0x69, 0x07, 0xa0, 0xb8, 0xa0, 0x79, 0xfb, 0xcd, 0x60, 0xd0, 0x3b,
- 0xba, 0x3c, 0x8d, 0x9e, 0xb0, 0xbb, 0x08, 0x17, 0xc6, 0xce, 0x31, 0x64,
- 0x2f, 0xb7, 0xa7, 0x61, 0xd5, 0xbf, 0x0e, 0x7a, 0x6e, 0x73, 0x5b, 0x8f,
- 0xca, 0xa8, 0x96, 0x66, 0xac, 0x93, 0x32, 0x2d, 0x37, 0x50, 0xdb, 0x56,
- 0xd4, 0x65, 0x4a, 0xf5, 0x47, 0x67, 0x0d, 0x72, 0x2d, 0x7a, 0xc0, 0xcb,
- 0xc9, 0x26, 0x84, 0x1d, 0x44, 0xc7, 0xd9, 0x7e, 0xf5, 0x62, 0x1b, 0x6e,
- 0xc5, 0x23, 0xa3, 0x3e, 0xca, 0xcb, 0x7b, 0xfd, 0xdd, 0xcd, 0xbd, 0xfe,
- 0x1e, 0xf2, 0x34, 0x09, 0x96, 0x92, 0xb3, 0x43, 0x86, 0x07, 0x6e, 0x17,
- 0xc8, 0x4a, 0x62, 0x21, 0x76, 0x7e, 0x72, 0x1c, 0x71, 0xea, 0x2a, 0xc1,
- 0x00, 0x36, 0x8c, 0x2e, 0xce, 0x70, 0xa3, 0x14, 0x16, 0x39, 0x42, 0x26,
- 0x56, 0xcf, 0x49, 0xe1, 0x6d, 0x87, 0x9a, 0x12, 0x64, 0x71, 0x65, 0x66,
- 0x22, 0xc8, 0xee, 0xd8, 0xaa, 0x90, 0x7d, 0xc1, 0x39, 0xfa, 0x15, 0x68,
- 0xce, 0x96, 0x38, 0x1b, 0xf6, 0x44, 0x7a, 0xf9, 0x5e, 0xfb, 0xf9, 0xa8,
- 0xf9, 0xd2, 0x62, 0x00, 0x59, 0xcf, 0xbd, 0x67, 0xe7, 0x08, 0x43, 0x54,
- 0xa3, 0x14, 0x5d, 0x90, 0xa3, 0xb9, 0x31, 0x49, 0x26, 0x7f, 0x1b, 0x67,
- 0xfd, 0x5f, 0x6a, 0x4f, 0x05, 0x14, 0x62, 0xc7, 0x6c, 0xd2, 0xa9, 0x0b,
- 0x23, 0x13, 0x5b, 0xa9, 0x6d, 0x41, 0x62, 0x22, 0x35, 0x3d, 0x64, 0x4c,
- 0x02, 0x78, 0x99, 0xd9, 0x82, 0x72, 0x86, 0x32, 0xe3, 0x07, 0x7e, 0xa6,
- 0xa3, 0x07, 0x0c, 0x72, 0xfc, 0x18, 0x8f, 0x55, 0x24, 0xf1, 0x4c, 0x66,
- 0xe5, 0x7c, 0xc7, 0xff, 0x25, 0xee, 0x1e, 0x31, 0xdb, 0xd2, 0x4f, 0xcb,
- 0x94, 0xa0, 0x82, 0x33, 0x05, 0x93, 0xa6, 0x65, 0x3b, 0xb9, 0x2c, 0x0a,
- 0x10, 0x27, 0xe9, 0x22, 0x9e, 0x45, 0xcf, 0xa8, 0x2d, 0x68, 0x3f, 0xfc,
- 0x27, 0xfa, 0xf4, 0xd2, 0xec, 0xf5, 0x76, 0xae, 0x60, 0x74, 0x92, 0x7a,
- 0xd4, 0x94, 0xaa, 0x01, 0x2e, 0xd7, 0x32, 0x18, 0x22, 0x27, 0x58, 0x6e,
- 0xa6, 0x14, 0xd7, 0x4c, 0xa0, 0x01, 0x4b, 0xd2, 0x78, 0x5e, 0xd1, 0x1d,
- 0x67, 0x43, 0x69, 0x3a, 0xac, 0xd4, 0xbc, 0x6e, 0x34, 0x19, 0x61, 0x88,
- 0xb9, 0x57, 0xb9, 0x30, 0xc5, 0x27, 0x39, 0xef, 0x6f, 0xc1, 0x0c, 0x51,
- 0x85, 0x63, 0x3f, 0xc3, 0x2f, 0x57, 0xe6, 0x64, 0x0b, 0xa3, 0x75, 0x4a,
- 0x03, 0x91, 0x1a, 0x61, 0xc5, 0x09, 0xd5, 0xc4, 0x82, 0x80, 0xb3, 0x88,
- 0xa2, 0xc6, 0x44, 0x20, 0xb8, 0x21, 0x4f, 0x98, 0x56, 0x01, 0xc5, 0xcf,
- 0xe3, 0xb3, 0xff, 0x4f, 0xa8, 0x81, 0xfb, 0x91, 0x39, 0xab, 0xe7, 0xa8,
- 0x83, 0x8c, 0xac, 0xce, 0xfd, 0xc6, 0x3d, 0xe8, 0x3b, 0x6b, 0x72, 0xfd,
- 0xff, 0xda, 0xe0, 0xff, 0x49, 0xda, 0xe0, 0xbf, 0x72, 0x4b, 0x7b, 0x92,
- 0xd7, 0xcc, 0xd7, 0xd2, 0x64, 0x56, 0x49, 0x1d, 0x4a, 0xb0, 0xe0, 0x60,
- 0xf6, 0xd8, 0x8f, 0x5a, 0xe0, 0x8d, 0x9f, 0xb8, 0xa2, 0x3e, 0x29, 0xfc,
- 0xbf, 0x71, 0x45, 0x9f, 0x75, 0x33, 0xff, 0x7f, 0xdf, 0xc7, 0xff, 0x6e,
- 0xf7, 0x30, 0x40, 0x90, 0x3a, 0xd8, 0x3a, 0x90, 0xd9, 0x3d, 0x66, 0xed,
- 0x71, 0xb3, 0x33, 0xb2, 0xb4, 0x37, 0xac, 0xea, 0x83, 0xe5, 0x78, 0xbc,
- 0x75, 0xa7, 0x97, 0xdf, 0xbd, 0x20, 0x14, 0x9e, 0x41, 0x33, 0x99, 0xa5,
- 0x88, 0xce, 0xde, 0x1c, 0x5d, 0xfe, 0x82, 0xdb, 0xfe, 0x17, 0x72, 0xb3,
- 0x2e, 0x92, 0x64, 0xdc, 0xe3, 0xb8, 0xe1, 0x21, 0xfd, 0x23, 0x18, 0x70,
- 0x57, 0x74, 0x0d, 0x22, 0x5b, 0x0c, 0x27, 0xfa, 0x79, 0x0c, 0xf4, 0x32,
- 0xa8, 0x29, 0x99, 0x60, 0xde, 0x2c, 0xa8, 0xed, 0xb2, 0xe7, 0x63, 0xc9,
- 0xb3, 0xf1, 0x86, 0xa8, 0x80, 0xfc, 0x6d, 0x22, 0x15, 0xc9, 0x3f, 0xc1,
- 0xeb, 0x3d, 0x45, 0x5c, 0x3c, 0x03, 0x1d, 0xea, 0x3c, 0xc3, 0x99, 0x78,
- 0xc1, 0x64, 0xa8, 0x47, 0xbb, 0x14, 0x0e, 0x79, 0x32, 0x7a, 0xdd, 0xee,
- 0x16, 0xfa, 0xdf, 0x89, 0x83, 0x24, 0xd5, 0x27, 0x44, 0xdb, 0x68, 0x7e,
- 0xbe, 0x2d, 0x9d, 0x66, 0xe5, 0x56, 0xba, 0x27, 0x51, 0xdb, 0x41, 0x8c,
- 0x90, 0x73, 0xe8, 0xd0, 0xeb, 0x52, 0xee, 0x7c, 0x93, 0x33, 0x48, 0x78,
- 0xbe, 0xe6, 0x13, 0xf5, 0xbd, 0x3c, 0x9d, 0xd4, 0xb7, 0x33, 0x90, 0xbd,
- 0xdb, 0xad, 0x65, 0x2b, 0xb9, 0x53, 0x32, 0x71, 0xf2, 0xed, 0x48, 0x5d,
- 0xfb, 0x8c, 0x29, 0x21, 0x50, 0x16, 0x7f, 0xf1, 0xb3, 0x29, 0x9d, 0xd7,
- 0x9f, 0xea, 0x44, 0x9c, 0x67, 0x55, 0x41, 0x2d, 0x46, 0x34, 0x85, 0xa0,
- 0x54, 0xd0, 0xfe, 0xa5, 0xd3, 0xcd, 0x39, 0xa6, 0x42, 0x01, 0xda, 0x35,
- 0xbf, 0xdd, 0x26, 0xdf, 0xef, 0xa4, 0x1a, 0xf5, 0xcd, 0xc9, 0x12, 0x80,
- 0x21, 0xfc, 0x6a, 0x04, 0x2a, 0xae, 0x76, 0xa4, 0xee, 0x52, 0x0b, 0x37,
- 0x6d, 0xce, 0xd6, 0xe2, 0xab, 0xd0, 0x4c, 0x98, 0x4f, 0xdf, 0x9e, 0x6d,
- 0x75, 0xff, 0x43, 0x1f, 0x42, 0x42, 0xdd, 0x31, 0x86, 0x2b, 0xc4, 0xc0,
- 0xce, 0x08, 0x7c, 0x81, 0x9a, 0x24, 0x63, 0x24, 0x78, 0x32, 0x8b, 0xef,
- 0xa5, 0x1e, 0xae, 0xc9, 0xef, 0x07, 0x67, 0xbb, 0xb4, 0xad, 0xd7, 0x67,
- 0x03, 0x17, 0x3e, 0xbf, 0xa4, 0x60, 0x3c, 0xd5, 0x3f, 0x7e, 0x7d, 0x72,
- 0x34, 0xb8, 0xee, 0x7b, 0x4b, 0xe4, 0x38, 0x70, 0x90, 0x60, 0x98, 0x09,
- 0x0f, 0xce, 0x60, 0xad, 0x8f, 0x08, 0x9f, 0x29, 0x75, 0x95, 0x38, 0x39,
- 0x9e, 0x9b, 0x8e, 0x8e, 0x76, 0x6e, 0xcc, 0xd9, 0xfd, 0x55, 0x52, 0xf8,
- 0x29, 0x49, 0xb0, 0x77, 0xc3, 0x74, 0x86, 0x2b, 0x80, 0x79, 0x81, 0x35,
- 0x34, 0x97, 0xa2, 0x09, 0xaa, 0xd2, 0xcf, 0x67, 0x98, 0x49, 0x80, 0x9f,
- 0xa9, 0xfb, 0x21, 0x30, 0x21, 0x59, 0xa0, 0x0b, 0xda, 0x0b, 0x91, 0x41,
- 0xef, 0xc8, 0xb1, 0xfd, 0x93, 0x99, 0xaa, 0xee, 0x15, 0xc7, 0x9d, 0x9d,
- 0x8e, 0x7d, 0x88, 0x6f, 0x84, 0x20, 0x2e, 0x7e, 0xba, 0x77, 0x5c, 0xde,
- 0x6a, 0x64, 0x97, 0xfa, 0x8a, 0x62, 0xd4, 0x78, 0x65, 0xce, 0x69, 0xd3,
- 0x12, 0x82, 0x83, 0xa6, 0x9a, 0x78, 0xac, 0x8e, 0xf2, 0x8a, 0x23, 0xd0,
- 0x01, 0x90, 0x25, 0xb3, 0x8d, 0x15, 0x27, 0xae, 0x99, 0x23, 0x6e, 0xdf,
- 0x53, 0x1c, 0x2d, 0xdc, 0x6b, 0x2d, 0x1a, 0xdd, 0x24, 0x20, 0x44, 0xfa,
- 0x0e, 0xb2, 0xc3, 0xb3, 0x37, 0xe4, 0x33, 0x0f, 0xfe, 0x2f, 0xb0, 0x3d,
- 0xbf, 0x78, 0x43, 0xf6, 0xf6, 0xfc, 0x0d, 0x29, 0x92, 0xbf, 0x8d, 0x43,
- 0x58, 0xe8, 0x54, 0x83, 0x42, 0xe5, 0x2f, 0x5c, 0x36, 0x72, 0xc5, 0x80,
- 0xee, 0x38, 0xd5, 0x4d, 0x6c, 0x69, 0xa4, 0x79, 0xf4, 0x16, 0x4c, 0x0f,
- 0x2d, 0x6c, 0x0c, 0x40, 0xfa, 0xed, 0xd8, 0x15, 0x74, 0xd3, 0x69, 0xbf,
- 0x99, 0x86, 0xe1, 0x40, 0x24, 0xbb, 0x59, 0x3e, 0xb2, 0x52, 0x83, 0xc4,
- 0x5c, 0x16, 0x6a, 0x8c, 0x83, 0x25, 0xa6, 0xe6, 0xf2, 0xf4, 0x7a, 0x93,
- 0x6a, 0x61, 0x16, 0xb6, 0x92, 0x3a, 0xb6, 0xbc, 0xcd, 0x68, 0x59, 0xfa,
- 0x75, 0xf1, 0xa8, 0xee, 0xd7, 0x95, 0xab, 0xf7, 0xb3, 0x2d, 0xb1, 0xe7,
- 0x0e, 0x27, 0x52, 0x13, 0x6a, 0x99, 0x34, 0x51, 0x6f, 0xdd, 0x06, 0x5b,
- 0xb2, 0x2a, 0x1b, 0xe1, 0x33, 0x0f, 0xda, 0x96, 0x5a, 0x64, 0xd4, 0x2c,
- 0x58, 0x38, 0xb8, 0x46, 0x47, 0x65, 0x0b, 0xb8, 0xb4, 0x92, 0x0a, 0x1a,
- 0xbc, 0xdb, 0x9e, 0x55, 0x60, 0xcd, 0xdf, 0x25, 0x33, 0x2a, 0xf0, 0x4e,
- 0xb2, 0x51, 0xf1, 0xb8, 0x70, 0xc1, 0xfb, 0xc7, 0xff, 0xca, 0xfe, 0x6b,
- 0x65, 0x10, 0x85, 0x8e, 0x41, 0xf1, 0x01, 0x66, 0xb7, 0xe1, 0xeb, 0x5f,
- 0x58, 0xa7, 0x2b, 0xe3, 0x31, 0x1e, 0x29, 0x4a, 0xe1, 0xca, 0xad, 0x15,
- 0x40, 0x5b, 0x46, 0x39, 0x37, 0x43, 0x68, 0x0a, 0xd4, 0xc2, 0xc4, 0x77,
- 0x20, 0xe3, 0xe6, 0x9a, 0x4a, 0x80, 0x67, 0x9f, 0xfc, 0x4e, 0x97, 0xb7,
- 0xeb, 0x6e, 0xc7, 0xe3, 0x09, 0x83, 0xb3, 0x8d, 0xe8, 0x2d, 0xfa, 0x68,
- 0xea, 0x4e, 0x78, 0xbc, 0xae, 0xda, 0x9e, 0x6c, 0x87, 0x1d, 0x51, 0x6e,
- 0xb7, 0x66, 0x85, 0xc0, 0xf7, 0x52, 0xa8, 0xa8, 0x32, 0x9c, 0xde, 0xb6,
- 0x35, 0xba, 0x03, 0x60, 0xad, 0x9c, 0xd8, 0xa8, 0x9e, 0x25, 0xee, 0xa9,
- 0xaa, 0xa5, 0xcf, 0xf0, 0xf4, 0xdd, 0x4e, 0x1b, 0x10, 0x7d, 0x5f, 0x7e,
- 0x4d, 0x45, 0xec, 0xe3, 0x84, 0xb0, 0xdc, 0x15, 0x4b, 0x13, 0x2b, 0xb8,
- 0x98, 0xde, 0x28, 0xab, 0x17, 0xdd, 0xd3, 0x2f, 0xb6, 0x5f, 0xbe, 0xd8,
- 0x58, 0xd5, 0xa5, 0x1c, 0x7b, 0xf7, 0x60, 0x71, 0x2e, 0x93, 0x10, 0xfe,
- 0x6b, 0xa7, 0xef, 0x6e, 0x50, 0x64, 0x3b, 0x9b, 0x48, 0x91, 0xb5, 0x2f,
- 0xe1, 0x40, 0xdc, 0x20, 0x49, 0xd0, 0x46, 0x68, 0xbb, 0x07, 0x22, 0x16,
- 0x5e, 0x17, 0xda, 0x32, 0x72, 0xcb, 0x89, 0x94, 0x9b, 0x46, 0xa1, 0x87,
- 0x44, 0x4f, 0x46, 0x62, 0x6f, 0x57, 0xe7, 0xc0, 0xd2, 0xd3, 0x6d, 0xcf,
- 0xc9, 0x93, 0xa5, 0xbf, 0xf7, 0xeb, 0xff, 0x72, 0x83, 0x99, 0x76, 0x80,
- 0x5f, 0x73, 0xca, 0xbb, 0xbf, 0xc3, 0x29, 0xef, 0xae, 0x3e, 0xe5, 0xdd,
- 0xe7, 0x9e, 0xf2, 0xcb, 0xfd, 0x17, 0x9f, 0xff, 0x8a, 0x53, 0x76, 0x76,
- 0xf8, 0xbf, 0xed, 0x94, 0x1d, 0x4a, 0xfb, 0x75, 0xa7, 0x2c, 0x49, 0x21,
- 0xcd, 0x82, 0x4c, 0x49, 0x7e, 0xa1, 0xb4, 0x56, 0x84, 0xd2, 0xe0, 0x32,
- 0x16, 0x7e, 0xd6, 0xaf, 0xb3, 0x92, 0xe6, 0x93, 0xdc, 0xf4, 0x0e, 0xf5,
- 0xb0, 0x80, 0x91, 0x6d, 0xa1, 0x45, 0x48, 0xc3, 0x5d, 0xcc, 0xb0, 0x77,
- 0xda, 0x5a, 0x6f, 0x4d, 0xdd, 0x23, 0x5a, 0x3e, 0xa9, 0xb8, 0x58, 0xfc,
- 0x39, 0x38, 0xea, 0xdf, 0x11, 0x55, 0xcd, 0xcf, 0x99, 0x71, 0xb2, 0x9e,
- 0xea, 0x9b, 0xf6, 0x38, 0x03, 0x33, 0x81, 0x73, 0x90, 0x82, 0xd9, 0x6f,
- 0x82, 0xfc, 0x6e, 0x90, 0x9d, 0xd4, 0x51, 0x33, 0x04, 0xa5, 0x10, 0xa4,
- 0x40, 0x86, 0x49, 0x3d, 0x8f, 0xb3, 0x44, 0x0a, 0x88, 0x71, 0xd1, 0x48,
- 0x19, 0x68, 0xca, 0x37, 0x5d, 0xc2, 0xd2, 0x2b, 0xa8, 0x91, 0xb1, 0xd4,
- 0x17, 0x77, 0x39, 0xa8, 0x67, 0xb5, 0xc9, 0x50, 0x10, 0xa0, 0x84, 0x5b,
- 0x32, 0xba, 0xe1, 0xfe, 0x22, 0x01, 0xb0, 0x9f, 0x55, 0x09, 0x7e, 0xcd,
- 0x84, 0xbb, 0x96, 0xde, 0x44, 0xc1, 0x0e, 0x54, 0xd8, 0xa7, 0xaa, 0xde,
- 0xa8, 0x8a, 0x73, 0xc4, 0x19, 0x51, 0x8f, 0x14, 0xfe, 0x66, 0xef, 0x27,
- 0x69, 0x1c, 0xe5, 0x15, 0x22, 0xa3, 0x4c, 0x97, 0x05, 0xd5, 0x9b, 0x2e,
- 0xd9, 0x6c, 0x42, 0xdd, 0x99, 0xa7, 0x6b, 0x66, 0x30, 0xe9, 0x5c, 0x7a,
- 0x6e, 0xab, 0x90, 0x64, 0x13, 0xfc, 0x0d, 0x9e, 0xee, 0x78, 0x39, 0x5f,
- 0x28, 0x18, 0x22, 0x56, 0x37, 0xa5, 0x54, 0x46, 0x27, 0x80, 0x08, 0x94,
- 0x74, 0x1d, 0x70, 0xa3, 0x19, 0x2f, 0x93, 0x24, 0xb7, 0xb1, 0xc7, 0x4a,
- 0xcf, 0x4a, 0x80, 0x3d, 0x78, 0x01, 0x94, 0xb8, 0x46, 0xa5, 0x44, 0x88,
- 0xaf, 0x96, 0x4c, 0xbc, 0xd4, 0x03, 0x6a, 0x54, 0x4b, 0xd1, 0xc9, 0x64,
- 0xb8, 0x9c, 0x2a, 0xa6, 0x80, 0x69, 0x70, 0x57, 0xa7, 0x4a, 0xaa, 0xbf,
- 0x42, 0x94, 0xa1, 0xa4, 0xcb, 0xc9, 0xf0, 0x8f, 0x3e, 0xb8, 0x4a, 0x85,
- 0xdd, 0x1d, 0x47, 0xab, 0x92, 0xc3, 0xbc, 0x85, 0x13, 0xb1, 0xd7, 0x56,
- 0x4e, 0x3f, 0xa9, 0x35, 0x1e, 0x0b, 0xb4, 0xce, 0x72, 0x49, 0xa5, 0x1a,
- 0x2d, 0x7a, 0x93, 0x18, 0xa1, 0x49, 0xbd, 0xc2, 0x72, 0x49, 0x08, 0x95,
- 0x2b, 0x70, 0x7d, 0x7c, 0x19, 0xbd, 0x8d, 0xa5, 0xdd, 0x50, 0xb4, 0x0e,
- 0x1c, 0xf8, 0xe5, 0xde, 0xf6, 0xee, 0xc6, 0x4a, 0x3d, 0xbc, 0x0e, 0xb7,
- 0x45, 0xdf, 0xca, 0xf2, 0x50, 0xc2, 0xfa, 0xf5, 0x12, 0xcc, 0x66, 0xc5,
- 0xf1, 0x81, 0x2f, 0x7d, 0x3c, 0xbf, 0x78, 0x73, 0x72, 0x76, 0xf4, 0x17,
- 0x83, 0x1a, 0x81, 0x9b, 0xa0, 0x95, 0xc7, 0x1f, 0xc1, 0x7c, 0x7d, 0xfc,
- 0x58, 0x26, 0x30, 0xe7, 0x6a, 0x7d, 0x77, 0x03, 0x2b, 0xf7, 0xbc, 0xa6,
- 0x90, 0xd3, 0xa4, 0x8e, 0xb5, 0xc1, 0xf5, 0x03, 0x2b, 0x00, 0xa3, 0x8c,
- 0x83, 0x72, 0xab, 0xbf, 0x23, 0x5d, 0x47, 0xa4, 0x6d, 0x82, 0xe5, 0x59,
- 0x4e, 0xe3, 0x94, 0x58, 0x60, 0xe5, 0xb8, 0x36, 0xd7, 0xaf, 0xd0, 0x42,
- 0x60, 0x8f, 0x74, 0x94, 0xa2, 0xb5, 0x22, 0xd7, 0x3a, 0xc5, 0x30, 0xfc,
- 0xa4, 0x0e, 0x4b, 0x49, 0xc5, 0xbb, 0xf8, 0x8b, 0xd5, 0x61, 0xe5, 0x3a,
- 0xef, 0xaf, 0x48, 0x58, 0x24, 0xb3, 0x2c, 0xa9, 0x7a, 0x32, 0xb1, 0x43,
- 0xf8, 0xf3, 0xf5, 0x5d, 0x3c, 0xf3, 0x4a, 0xc2, 0xb1, 0xa7, 0xa2, 0x52,
- 0xa6, 0x61, 0x45, 0xf8, 0xa6, 0xd3, 0x71, 0x65, 0x60, 0x5a, 0x8f, 0xe8,
- 0x93, 0x70, 0x55, 0xbc, 0x0e, 0x23, 0xd7, 0xd7, 0x7f, 0xb9, 0x3c, 0x79,
- 0x7d, 0x88, 0x8c, 0xec, 0x4b, 0xac, 0x3d, 0x29, 0x6b, 0x7c, 0x2d, 0xc2,
- 0x1e, 0xee, 0xde, 0x1a, 0x7e, 0x78, 0x73, 0x3a, 0xb8, 0x3c, 0xbb, 0x38,
- 0x7e, 0x7d, 0xf8, 0x03, 0xda, 0x94, 0x20, 0x3c, 0x1e, 0x9d, 0x77, 0xcd,
- 0xcf, 0x4c, 0x17, 0x05, 0x1f, 0x50, 0xe4, 0xe4, 0xfb, 0x8f, 0x27, 0xe7,
- 0xdf, 0xbd, 0x3e, 0xbc, 0x8b, 0x8b, 0x2e, 0xae, 0x8f, 0xdf, 0x6e, 0x69,
- 0x58, 0x5a, 0x23, 0x35, 0x54, 0xcf, 0x87, 0xb3, 0xdb, 0x32, 0xfd, 0x7b,
- 0x12, 0xc1, 0xeb, 0xb3, 0xa5, 0x0f, 0x63, 0x7e, 0xcd, 0x38, 0x0c, 0xb0,
- 0x19, 0xf8, 0xb7, 0xe8, 0xeb, 0xb3, 0x6f, 0x11, 0x2a, 0xd7, 0xf8, 0x49,
- 0xe7, 0xdc, 0x77, 0x29, 0xfa, 0x72, 0x7f, 0x7b, 0x67, 0xc3, 0x76, 0xfb,
- 0x24, 0xa8, 0x6d, 0x98, 0xf1, 0xad, 0x57, 0x35, 0xf5, 0x77, 0xa9, 0xff,
- 0xb2, 0xb5, 0x0c, 0x95, 0xb5, 0xa8, 0xb8, 0xfc, 0x40, 0x5c, 0x4e, 0x94,
- 0x9c, 0x4f, 0xf9, 0xaf, 0xd8, 0x2c, 0xb5, 0xa0, 0xb4, 0x75, 0xcf, 0xe3,
- 0x76, 0xfd, 0xd6, 0xc1, 0xb8, 0xf9, 0xda, 0x92, 0x1e, 0x4c, 0x47, 0xbc,
- 0x76, 0x2b, 0xe5, 0xe3, 0x27, 0x8c, 0xe5, 0x34, 0x4d, 0x4a, 0xda, 0x6c,
- 0x10, 0x69, 0x42, 0x3f, 0xe1, 0x7d, 0x76, 0x72, 0x7c, 0xa8, 0x02, 0x2c,
- 0x67, 0x6c, 0x46, 0x5a, 0xa5, 0x12, 0x9e, 0x42, 0x0a, 0x3c, 0xe1, 0xc3,
- 0x4b, 0xe7, 0x58, 0x7b, 0x9c, 0x94, 0x91, 0xfa, 0x77, 0x1c, 0xef, 0xcd,
- 0x2c, 0x99, 0xc6, 0xa3, 0x47, 0x83, 0x30, 0x4d, 0x07, 0x32, 0x6e, 0xde,
- 0x4e, 0xf2, 0xf0, 0x8d, 0xd0, 0x98, 0x03, 0x11, 0x3c, 0x25, 0xf6, 0xcc,
- 0x50, 0x2a, 0x70, 0x5d, 0x8d, 0xd3, 0x87, 0xa7, 0x66, 0xc0, 0x62, 0x54,
- 0x5c, 0xe2, 0xa6, 0x36, 0xa5, 0x73, 0x7d, 0x8b, 0x1b, 0xd4, 0x87, 0x64,
- 0x43, 0xed, 0x88, 0x57, 0xee, 0xe9, 0x5e, 0xdd, 0x63, 0xfe, 0x77, 0xba,
- 0xe4, 0x88, 0xc2, 0x45, 0x4e, 0xd9, 0x43, 0xfc, 0x6b, 0x18, 0x87, 0x9f,
- 0xda, 0x73, 0x91, 0xdb, 0x82, 0xdb, 0x4d, 0x73, 0xd3, 0x03, 0x5c, 0xb6,
- 0xa9, 0x2f, 0x90, 0xb6, 0x36, 0x08, 0xe7, 0x5e, 0x59, 0x77, 0x7a, 0x18,
- 0xe3, 0xce, 0x38, 0xb5, 0x81, 0x3c, 0x59, 0x58, 0x21, 0x65, 0xb4, 0x8c,
- 0x67, 0x0a, 0x74, 0xf1, 0xf7, 0x01, 0xc7, 0xa6, 0x24, 0x23, 0x1c, 0xe2,
- 0x58, 0xc8, 0x12, 0x51, 0x27, 0x81, 0x9d, 0xfa, 0x52, 0xa3, 0x3e, 0xd4,
- 0xf9, 0x28, 0x17, 0xe4, 0x35, 0x7a, 0x88, 0x91, 0x64, 0x4a, 0x1f, 0x86,
- 0x83, 0xb3, 0xdb, 0xd5, 0x71, 0xc0, 0x09, 0x1a, 0x18, 0x52, 0x33, 0xb0,
- 0xd2, 0x30, 0xcd, 0x52, 0xb5, 0x52, 0x2c, 0x82, 0x24, 0x33, 0xdd, 0x02,
- 0xcf, 0x06, 0xb0, 0x08, 0x9c, 0xaa, 0x3d, 0x05, 0x04, 0xe7, 0x95, 0x49,
- 0x3a, 0x02, 0x4d, 0x68, 0x7d, 0x8e, 0x0b, 0x91, 0xfe, 0x04, 0xdc, 0x0c,
- 0xa2, 0xad, 0x61, 0x7b, 0x43, 0x4a, 0xc1, 0x98, 0x38, 0x82, 0x48, 0x28,
- 0x92, 0x49, 0x0c, 0xcb, 0xd0, 0xd8, 0x8d, 0x40, 0xf5, 0x71, 0xc5, 0x49,
- 0xfc, 0x4d, 0x11, 0x85, 0xa0, 0xe2, 0x9a, 0x3a, 0x5f, 0x1b, 0x41, 0xca,
- 0x9c, 0xa9, 0x13, 0xdd, 0x7a, 0xcf, 0xb6, 0x08, 0x4b, 0x2b, 0xa3, 0xb2,
- 0x05, 0x20, 0x77, 0x0c, 0xf0, 0xb9, 0x01, 0x6e, 0x63, 0xd7, 0xa7, 0xd2,
- 0x87, 0x50, 0x04, 0x7e, 0x6c, 0x93, 0x4b, 0x3f, 0x95, 0x05, 0xa5, 0x81,
- 0xd2, 0x73, 0x6f, 0xb0, 0x2c, 0xb9, 0x77, 0x07, 0xb3, 0x76, 0x87, 0x19,
- 0xf0, 0x53, 0x7a, 0xbb, 0xc1, 0x66, 0xc2, 0x7a, 0xb5, 0xe8, 0xf0, 0xbb,
- 0x93, 0xab, 0xc1, 0xe9, 0xc5, 0xf9, 0x97, 0x41, 0x73, 0x58, 0x7e, 0x69,
- 0x5a, 0xbd, 0x69, 0xa5, 0xab, 0x6d, 0xc7, 0x85, 0x5e, 0x30, 0xf5, 0xb5,
- 0x70, 0x57, 0xa7, 0x34, 0xc3, 0x47, 0xbc, 0x2e, 0x5f, 0xa3, 0x64, 0x51,
- 0x91, 0xbe, 0xa4, 0xb6, 0x34, 0xed, 0x12, 0xc5, 0x2d, 0xa8, 0x0f, 0x0c,
- 0xd9, 0x70, 0x58, 0xea, 0x26, 0xb6, 0x9d, 0xf9, 0xdb, 0x4e, 0x00, 0xe6,
- 0x8d, 0x7f, 0xb3, 0xeb, 0x6d, 0x50, 0x38, 0x61, 0xc7, 0x89, 0x97, 0x2f,
- 0x17, 0x5c, 0x25, 0x89, 0x60, 0x26, 0x0c, 0x7c, 0xe4, 0x2e, 0xc0, 0xeb,
- 0xdb, 0xd0, 0xdf, 0xaa, 0xbf, 0x08, 0x0f, 0xdf, 0x6d, 0x3b, 0x15, 0x2c,
- 0xe6, 0xb9, 0xed, 0xd0, 0x73, 0xdb, 0xfe, 0x73, 0x3b, 0xa1, 0xe7, 0x76,
- 0xfc, 0xe7, 0x76, 0x43, 0xcf, 0x39, 0xeb, 0x75, 0xcc, 0x78, 0xd9, 0xb9,
- 0x55, 0x96, 0x71, 0xed, 0x5f, 0xbb, 0x7d, 0x7b, 0xfc, 0x9f, 0x19, 0x6f,
- 0x45, 0xb3, 0x51, 0xad, 0x63, 0xd8, 0xab, 0x5d, 0xdf, 0x6e, 0xd6, 0x2b,
- 0x9f, 0xd6, 0xe1, 0x40, 0x4d, 0x6c, 0xb8, 0x98, 0xe1, 0x7b, 0xdb, 0xbb,
- 0xbd, 0x51, 0xba, 0xb8, 0x41, 0xa9, 0x73, 0xa8, 0xad, 0xdd, 0x70, 0xf3,
- 0x71, 0xb1, 0xf2, 0x8b, 0x25, 0x9a, 0xe4, 0xbe, 0x1e, 0x72, 0x36, 0xd8,
- 0x88, 0x1c, 0xbc, 0x22, 0x81, 0xe8, 0xa4, 0x57, 0x22, 0x7e, 0xc7, 0xa2,
- 0x15, 0xf9, 0x0e, 0x66, 0xaf, 0xd4, 0xc5, 0xb8, 0x6f, 0xe0, 0x3d, 0x99,
- 0x00, 0x93, 0xae, 0xce, 0x4a, 0xa7, 0x29, 0x63, 0x33, 0xaa, 0xae, 0x86,
- 0xde, 0x9b, 0xae, 0x5d, 0xea, 0x71, 0xa1, 0xaf, 0x28, 0xc6, 0x1d, 0xf6,
- 0x66, 0xcb, 0x1a, 0xab, 0xe3, 0xe1, 0x8c, 0xca, 0x9d, 0x67, 0x21, 0x51,
- 0xf9, 0xe1, 0xea, 0xcc, 0x53, 0x2d, 0x23, 0x74, 0xcd, 0x94, 0x07, 0x9b,
- 0x9b, 0xd4, 0x60, 0xfc, 0x26, 0x7e, 0x78, 0xe8, 0x97, 0xc9, 0x26, 0xf0,
- 0x93, 0x72, 0x93, 0xfc, 0xbd, 0xf2, 0xe9, 0x9b, 0x6a, 0x3e, 0x5b, 0xe5,
- 0xa8, 0x4d, 0x4b, 0xc5, 0x94, 0x65, 0x2c, 0xc6, 0x31, 0xa3, 0x2e, 0xd8,
- 0x22, 0x6d, 0xba, 0x90, 0x7c, 0xc0, 0x9a, 0x74, 0xd7, 0x6c, 0xf8, 0xc1,
- 0x9d, 0x54, 0xa9, 0x8f, 0xf3, 0x36, 0xca, 0x3e, 0x12, 0x98, 0x06, 0xa2,
- 0x95, 0x4d, 0x48, 0xce, 0x7c, 0xb0, 0xd8, 0x39, 0xf8, 0x02, 0xd6, 0xd3,
- 0x26, 0x5e, 0x38, 0xc3, 0x80, 0xe4, 0x14, 0x04, 0x8a, 0x4f, 0xbe, 0x82,
- 0xd0, 0x9e, 0x95, 0x6e, 0xe0, 0x03, 0xdd, 0x03, 0xb2, 0xe4, 0xa0, 0x9a,
- 0xf1, 0x89, 0x99, 0x26, 0xa6, 0xe4, 0xa1, 0x32, 0x0f, 0x2a, 0x07, 0xfc,
- 0xf7, 0x4b, 0xbf, 0xe8, 0x3c, 0xa2, 0x25, 0x78, 0xa9, 0x7b, 0xa8, 0xff,
- 0x63, 0xd9, 0x17, 0xef, 0x3f, 0x7f, 0xcf, 0x6d, 0x8f, 0x41, 0xe6, 0x45,
- 0x30, 0x7c, 0x44, 0xc7, 0xd2, 0x19, 0x5c, 0x5d, 0x76, 0xba, 0x12, 0xad,
- 0x87, 0x0f, 0xf4, 0xe0, 0xdf, 0x11, 0x59, 0x99, 0xd8, 0x5e, 0x67, 0x7f,
- 0x4f, 0x12, 0xeb, 0x78, 0x8e, 0xdc, 0x64, 0xce, 0x0f, 0x1f, 0xd1, 0x2f,
- 0x4d, 0x72, 0x21, 0x77, 0xa1, 0xb5, 0xd5, 0xa8, 0x60, 0x00, 0xd6, 0x57,
- 0xc8, 0x29, 0x3f, 0x5d, 0x0b, 0xbc, 0x1e, 0x56, 0xeb, 0x0c, 0xec, 0x23,
- 0xd0, 0x0c, 0x4d, 0xb3, 0xdf, 0x08, 0x10, 0xe4, 0xc5, 0xad, 0xb4, 0x02,
- 0x91, 0x30, 0x07, 0x33, 0x17, 0xaf, 0xfb, 0x72, 0xc3, 0x8b, 0xe8, 0x50,
- 0x23, 0xbb, 0x58, 0x75, 0xd9, 0xb2, 0x63, 0x0a, 0x83, 0xd7, 0xd2, 0x62,
- 0x58, 0x69, 0x15, 0x36, 0xec, 0x9b, 0x6c, 0x89, 0x67, 0x42, 0xa3, 0x34,
- 0x06, 0x79, 0x02, 0xab, 0x66, 0xaf, 0x71, 0xfa, 0xba, 0x79, 0x81, 0x63,
- 0x37, 0xfb, 0x8a, 0x47, 0x44, 0x16, 0x8d, 0x56, 0x68, 0xe3, 0xb7, 0x1b,
- 0xe4, 0x60, 0x91, 0x01, 0xdb, 0xaa, 0xc9, 0x14, 0x5b, 0xc6, 0x39, 0x90,
- 0xbe, 0x06, 0xdf, 0x84, 0x4d, 0xdb, 0xb3, 0x76, 0xfa, 0x61, 0x3c, 0xbd,
- 0x20, 0x77, 0x3d, 0xf4, 0x76, 0x30, 0xe1, 0x9a, 0x28, 0x59, 0x33, 0x52,
- 0xa3, 0x67, 0x2d, 0x4a, 0xd6, 0xf4, 0x2b, 0x97, 0x24, 0x2e, 0xe6, 0x26,
- 0x8d, 0xe2, 0xca, 0x7c, 0xdf, 0xd7, 0xb3, 0x16, 0x5a, 0x5b, 0x29, 0x8a,
- 0xc8, 0xb0, 0x60, 0x09, 0xb8, 0xfc, 0x1d, 0x9d, 0x80, 0x74, 0x00, 0xe5,
- 0x74, 0x4f, 0x56, 0x55, 0x50, 0x88, 0x4f, 0x5c, 0xff, 0x38, 0x88, 0xf6,
- 0x31, 0xf1, 0x51, 0x8d, 0xd0, 0x61, 0x2a, 0x9f, 0x20, 0xed, 0x9e, 0x3f,
- 0x5f, 0x33, 0xe3, 0x08, 0x16, 0x4a, 0xd5, 0x46, 0xf6, 0xa2, 0x44, 0x9c,
- 0xad, 0xde, 0x18, 0xee, 0x23, 0x5e, 0xae, 0x8f, 0xc2, 0x78, 0x48, 0x89,
- 0xc2, 0xcb, 0x4c, 0xc0, 0x99, 0x29, 0xb6, 0x5f, 0x88, 0x09, 0x0a, 0x15,
- 0x63, 0x05, 0x25, 0x35, 0x8e, 0x69, 0xf6, 0x30, 0x6a, 0x0a, 0x0d, 0x18,
- 0x06, 0x6e, 0x21, 0x36, 0xbc, 0x56, 0x7f, 0xac, 0x6a, 0x8b, 0x0d, 0x50,
- 0x35, 0x6a, 0x1b, 0x62, 0x94, 0x42, 0xd9, 0x35, 0x4f, 0xf7, 0x7f, 0xaa,
- 0x1a, 0xda, 0x57, 0x15, 0x50, 0x83, 0xf9, 0x95, 0x87, 0xb5, 0xfd, 0x7f,
- 0xd8, 0x61, 0x6d, 0xff, 0xdf, 0x70, 0x58, 0x3b, 0xbf, 0xf2, 0xb0, 0x76,
- 0xfe, 0x0f, 0x3b, 0xac, 0x9d, 0xff, 0x1b, 0x0e, 0x6b, 0xf7, 0x57, 0x1e,
- 0xd6, 0xee, 0x6f, 0x7e, 0x58, 0xe7, 0xf8, 0x7b, 0x62, 0xfb, 0xaa, 0xf5,
- 0xa5, 0x65, 0x53, 0x29, 0x1a, 0x3e, 0x52, 0xf3, 0xf9, 0x21, 0x6e, 0x88,
- 0x18, 0x0c, 0xa2, 0x4c, 0x96, 0x4d, 0xab, 0xe9, 0xa8, 0x32, 0xb8, 0x52,
- 0xa6, 0x43, 0x8a, 0x84, 0xa0, 0x04, 0xad, 0x1e, 0x35, 0x9e, 0xaf, 0x73,
- 0xf4, 0xa0, 0x80, 0x66, 0xd0, 0x8d, 0xce, 0x07, 0x03, 0x4e, 0x3b, 0x1a,
- 0x50, 0xe8, 0xb4, 0x79, 0x58, 0xe8, 0x8c, 0x24, 0x1b, 0x67, 0x1d, 0xd5,
- 0xc6, 0x0b, 0x98, 0xa1, 0x65, 0x2e, 0xfc, 0xde, 0x3c, 0x1e, 0xe1, 0x8f,
- 0xb7, 0xfa, 0xdb, 0x76, 0x73, 0x36, 0x7e, 0x01, 0x10, 0x9c, 0x8d, 0x6b,
- 0x06, 0xad, 0xef, 0x00, 0x64, 0x3b, 0x66, 0x6a, 0xa0, 0x96, 0x5a, 0x3f,
- 0x9a, 0x07, 0x01, 0x7d, 0x53, 0xc3, 0xa6, 0x1d, 0x1c, 0x9c, 0x3a, 0xc0,
- 0x49, 0x68, 0x9a, 0x88, 0x5a, 0x1d, 0xa8, 0x94, 0x83, 0xc1, 0x38, 0x46,
- 0xbe, 0xf4, 0x6b, 0x06, 0xef, 0xd2, 0x29, 0x62, 0xe1, 0xfd, 0xd2, 0xc8,
- 0xb2, 0x13, 0xc5, 0xfd, 0x6f, 0x8b, 0x2c, 0x3f, 0xcb, 0x3e, 0x76, 0xaf,
- 0x4c, 0xd1, 0xd3, 0xd6, 0x6a, 0x61, 0xfc, 0x76, 0xeb, 0x58, 0xc4, 0x4a,
- 0x20, 0x82, 0x76, 0x1c, 0x33, 0xe9, 0x60, 0xa6, 0xcd, 0x89, 0xbc, 0x6b,
- 0xe3, 0x7b, 0x6c, 0xc6, 0xf8, 0xf8, 0x4b, 0xb9, 0x66, 0xdd, 0x1b, 0xc4,
- 0x21, 0x85, 0xb6, 0xe0, 0x55, 0x96, 0x4c, 0x71, 0xcb, 0x4c, 0x3f, 0x63,
- 0x31, 0x22, 0x08, 0xfb, 0xcc, 0x4b, 0x3f, 0x18, 0x25, 0x8c, 0x8c, 0x95,
- 0x3e, 0xa5, 0x29, 0xbd, 0xa8, 0xaf, 0x37, 0x1e, 0x25, 0xbd, 0xb8, 0x1c,
- 0xa5, 0x69, 0xb8, 0xb5, 0xab, 0xc6, 0x81, 0x31, 0xf1, 0x86, 0x3c, 0xf8,
- 0xf0, 0x7c, 0x84, 0x31, 0x37, 0xed, 0xd4, 0x8e, 0xfc, 0x90, 0xb0, 0xa2,
- 0x70, 0xba, 0xf9, 0xb2, 0x9a, 0xe6, 0xea, 0xcc, 0xef, 0x06, 0x1c, 0x83,
- 0x18, 0x95, 0xa3, 0x23, 0x86, 0xd3, 0x19, 0x15, 0xe9, 0x82, 0x70, 0x68,
- 0xdd, 0xb6, 0x70, 0x5d, 0xd3, 0x35, 0x9d, 0x9c, 0x6d, 0x12, 0x3d, 0xe5,
- 0x26, 0xe2, 0x1f, 0x3c, 0x03, 0xb5, 0xd3, 0xeb, 0xa0, 0x5b, 0xd3, 0x74,
- 0xd3, 0x82, 0x77, 0x11, 0x3d, 0xdc, 0x89, 0x5b, 0x46, 0x0a, 0x7a, 0xd4,
- 0x12, 0x86, 0xd7, 0x30, 0x06, 0x90, 0xd0, 0xa3, 0x22, 0x54, 0x53, 0xc3,
- 0x10, 0x0d, 0x4f, 0xa2, 0x00, 0x80, 0x3b, 0x88, 0xee, 0xf5, 0x5c, 0x90,
- 0x3a, 0x6e, 0x92, 0x07, 0xae, 0x23, 0xf5, 0x4d, 0x2e, 0x06, 0x36, 0xc4,
- 0x78, 0xaa, 0x84, 0xce, 0x8f, 0x06, 0xc7, 0xa7, 0xa7, 0xb5, 0xaa, 0x53,
- 0xdc, 0x3c, 0x86, 0xb7, 0x25, 0x68, 0x90, 0x12, 0x61, 0x7e, 0x31, 0x68,
- 0x1b, 0x8a, 0xc2, 0x73, 0xaf, 0x48, 0xb8, 0x7e, 0x14, 0x79, 0x01, 0x4e,
- 0x90, 0x6a, 0x27, 0xcf, 0x58, 0x0c, 0x8f, 0x0c, 0xa6, 0x99, 0x22, 0xf8,
- 0xda, 0xcd, 0x72, 0x1e, 0x67, 0x9f, 0x1e, 0x39, 0x2e, 0x5c, 0xcc, 0x21,
- 0xbb, 0xc5, 0xf7, 0xca, 0x8d, 0xf4, 0xfa, 0xb4, 0x16, 0x68, 0xcc, 0x71,
- 0x59, 0x48, 0xdb, 0x46, 0x46, 0x52, 0x93, 0xce, 0x1a, 0xb0, 0x4c, 0xc2,
- 0xb9, 0xe4, 0x91, 0x61, 0xad, 0x1a, 0x3c, 0x66, 0xd0, 0x7a, 0x61, 0x24,
- 0x78, 0x67, 0x9a, 0x4e, 0x41, 0x0e, 0xa3, 0xad, 0xac, 0x96, 0xdb, 0x6e,
- 0x8a, 0x4a, 0xfa, 0xc8, 0xef, 0x79, 0x03, 0xdc, 0x0b, 0xf0, 0x24, 0xfd,
- 0xcb, 0x05, 0x68, 0xb9, 0x01, 0x54, 0x29, 0x63, 0x9b, 0xd0, 0x3d, 0x7d,
- 0x09, 0x48, 0x17, 0xe9, 0xfc, 0xa9, 0x13, 0x6e, 0xdd, 0xf2, 0x8c, 0x9b,
- 0x54, 0x03, 0x60, 0xf9, 0x7d, 0x29, 0x2d, 0x80, 0x08, 0xe3, 0x30, 0x31,
- 0xf7, 0x4c, 0x97, 0x59, 0xfa, 0x40, 0x05, 0x1d, 0xa0, 0x4a, 0x1c, 0x62,
- 0xdb, 0x92, 0x96, 0x96, 0x1c, 0xc7, 0xac, 0xd8, 0x44, 0x5a, 0x9f, 0x42,
- 0xab, 0xf8, 0x00, 0x2f, 0x83, 0xca, 0x38, 0xc7, 0xfc, 0x1e, 0x1e, 0xa3,
- 0xeb, 0x62, 0xa3, 0x13, 0x5b, 0x0f, 0xe4, 0x07, 0x65, 0x49, 0x85, 0xfe,
- 0x8f, 0x95, 0x91, 0xad, 0x7a, 0xb4, 0xf0, 0x9a, 0x10, 0xc1, 0x16, 0x58,
- 0x34, 0xb0, 0xa2, 0xc3, 0x36, 0x07, 0xfc, 0x9c, 0x14, 0x7d, 0x17, 0x52,
- 0x1b, 0x23, 0x59, 0xb6, 0x11, 0x97, 0xd0, 0x8f, 0x48, 0x7d, 0x6a, 0xcb,
- 0x12, 0x4a, 0x65, 0x32, 0xfd, 0x83, 0x6c, 0xf7, 0xad, 0xb4, 0x19, 0x99,
- 0xa0, 0xfe, 0x4e, 0x36, 0x7c, 0x2b, 0x9d, 0x31, 0x7d, 0xd9, 0xdd, 0x68,
- 0x03, 0xd6, 0x77, 0x3a, 0x12, 0xd7, 0xba, 0x94, 0x11, 0x4e, 0x61, 0x3a,
- 0x43, 0xf2, 0xdf, 0xd4, 0xec, 0x86, 0x99, 0x9f, 0x7b, 0x6f, 0x5b, 0x5f,
- 0x31, 0xab, 0xc3, 0x42, 0x2f, 0x8a, 0x70, 0xe2, 0xbf, 0x8f, 0x59, 0xbd,
- 0x67, 0xb7, 0x75, 0x7d, 0x11, 0xd2, 0xce, 0xae, 0xa9, 0xbe, 0x38, 0xf1,
- 0xe7, 0x1b, 0xec, 0x86, 0xae, 0xf3, 0x2a, 0x98, 0x10, 0xeb, 0xfd, 0xee,
- 0x35, 0xa4, 0xed, 0xf4, 0xf3, 0xf1, 0xf2, 0x9a, 0x4d, 0xeb, 0x2c, 0x51,
- 0xa3, 0x18, 0x79, 0x16, 0x8b, 0xed, 0xb0, 0x81, 0x08, 0xe6, 0xe9, 0x99,
- 0xe6, 0xcb, 0x7c, 0xb0, 0xdc, 0xb6, 0x5d, 0x6a, 0x7a, 0x3d, 0x64, 0xdd,
- 0x74, 0x56, 0xab, 0x9b, 0x10, 0x57, 0xad, 0x96, 0x6a, 0xad, 0x83, 0xb2,
- 0xce, 0x4a, 0x1b, 0x5f, 0x1e, 0x6c, 0xfe, 0xa1, 0xd0, 0xec, 0xed, 0xb0,
- 0xdd, 0x41, 0x78, 0xa7, 0x7a, 0x02, 0x1b, 0x72, 0x8e, 0xf5, 0x58, 0xd1,
- 0x4d, 0x31, 0x56, 0xb6, 0xa1, 0x6a, 0x27, 0xdc, 0xf0, 0x34, 0x73, 0xc9,
- 0xdd, 0x8b, 0x6e, 0x49, 0x03, 0x30, 0x61, 0x4b, 0xd1, 0x91, 0xa0, 0xca,
- 0x27, 0xe8, 0xea, 0x6c, 0x7e, 0xa7, 0xef, 0x7e, 0x87, 0x8b, 0x65, 0x36,
- 0x3c, 0x00, 0xb7, 0xc7, 0x66, 0x77, 0x72, 0xf3, 0x6d, 0x9c, 0xa7, 0xd6,
- 0x84, 0xcb, 0xcc, 0x28, 0xb9, 0x18, 0x33, 0xab, 0x29, 0xf1, 0xc0, 0xbf,
- 0x89, 0x04, 0x52, 0x60, 0x8d, 0x3c, 0x02, 0x98, 0x95, 0x3e, 0x42, 0x9c,
- 0x71, 0x2d, 0x1c, 0x8d, 0x51, 0x64, 0x65, 0xb5, 0x18, 0xcc, 0x65, 0x68,
- 0x51, 0xcf, 0x53, 0x49, 0xfd, 0x0d, 0x83, 0xcd, 0xac, 0xdc, 0x92, 0x41,
- 0xe4, 0x68, 0xfe, 0x75, 0x36, 0xad, 0x02, 0xb1, 0xf7, 0x50, 0xae, 0x3d,
- 0x52, 0xda, 0xfa, 0xb1, 0x08, 0xda, 0x7e, 0x74, 0x82, 0x6f, 0xf8, 0x83,
- 0xfd, 0x59, 0x3a, 0x18, 0xa5, 0x6e, 0x37, 0xd0, 0x7b, 0xba, 0x0c, 0x4d,
- 0xba, 0x12, 0xca, 0x93, 0xd6, 0x0e, 0x54, 0xdf, 0xdf, 0x97, 0x46, 0x57,
- 0xa8, 0xb4, 0xab, 0x9a, 0x19, 0x75, 0xa6, 0xb3, 0x7c, 0x38, 0x84, 0x85,
- 0x77, 0x1c, 0xa5, 0x14, 0xbe, 0xec, 0xf9, 0x92, 0xdd, 0x79, 0x80, 0x65,
- 0x35, 0x25, 0x63, 0xba, 0xcb, 0x79, 0x69, 0xd2, 0x1c, 0x01, 0x05, 0xb2,
- 0x3a, 0xf9, 0xe5, 0xfb, 0x8a, 0x85, 0x1e, 0x90, 0x33, 0x92, 0x21, 0x2f,
- 0x84, 0x81, 0x0b, 0xab, 0xb9, 0xfd, 0xa9, 0x9c, 0x11, 0x7f, 0xaa, 0x13,
- 0xe4, 0x5c, 0xc3, 0xa8, 0x2d, 0x5d, 0xb6, 0xd6, 0x8a, 0xaa, 0xab, 0x9d,
- 0x08, 0xd3, 0xd2, 0x8f, 0xaf, 0xd0, 0x2e, 0xd4, 0x17, 0xd4, 0xf9, 0x07,
- 0xfe, 0xb1, 0xdd, 0xc5, 0xff, 0xee, 0xfc, 0xb3, 0x43, 0x21, 0x98, 0x83,
- 0xcd, 0xcd, 0xfb, 0xfb, 0xfb, 0xbe, 0x02, 0x0a, 0xc2, 0x91, 0x7d, 0xe6,
- 0x57, 0xfe, 0x21, 0x0e, 0x5b, 0xcb, 0x07, 0xae, 0xa3, 0x4e, 0x3a, 0x9f,
- 0xfe, 0xb8, 0xdd, 0xdb, 0xde, 0xda, 0xda, 0xfa, 0xb9, 0xbf, 0xc0, 0x2d,
- 0x9e, 0xd0, 0xb0, 0xf0, 0x5f, 0x77, 0xd8, 0x4d, 0x9e, 0xc9, 0x66, 0x10,
- 0xf2, 0x55, 0x36, 0xd2, 0x60, 0xb8, 0x64, 0xdc, 0xb6, 0x83, 0x09, 0xf9,
- 0xc0, 0x61, 0x32, 0x1c, 0x49, 0x8e, 0xdb, 0xeb, 0xe8, 0xb9, 0x83, 0x1e,
- 0x86, 0x10, 0xf6, 0x77, 0x77, 0x76, 0x22, 0x56, 0x39, 0xb8, 0x3c, 0x8d,
- 0x93, 0x19, 0x10, 0x99, 0x40, 0x5a, 0x8c, 0xb3, 0x2c, 0x43, 0xf8, 0xc5,
- 0x98, 0x83, 0x35, 0x40, 0x1b, 0x2d, 0x29, 0x9d, 0x9c, 0x3b, 0x80, 0x10,
- 0x8c, 0xc0, 0x7d, 0xf2, 0xf1, 0xa3, 0x1d, 0x18, 0xa8, 0xbc, 0x40, 0xde,
- 0xca, 0xdd, 0x40, 0x0d, 0xce, 0x63, 0x5c, 0x86, 0xb4, 0x36, 0x53, 0x6a,
- 0x46, 0x42, 0x8e, 0x60, 0x72, 0xb3, 0x5c, 0x1a, 0x5d, 0x53, 0xe4, 0x7e,
- 0xb2, 0x2c, 0xa4, 0xcb, 0x11, 0x25, 0x3a, 0xdc, 0xc7, 0x8f, 0x35, 0x61,
- 0x0f, 0x3b, 0x7e, 0x08, 0xff, 0xf1, 0xfc, 0xda, 0xa6, 0x80, 0x56, 0xba,
- 0x34, 0x4f, 0x92, 0x6a, 0x74, 0xe3, 0xa1, 0xbe, 0x13, 0xfb, 0x46, 0xd5,
- 0xfd, 0x06, 0x56, 0x63, 0x40, 0xd5, 0xdb, 0x3a, 0x40, 0xda, 0xba, 0x5c,
- 0x18, 0x14, 0xfb, 0x7d, 0x50, 0x65, 0x02, 0x37, 0x84, 0x67, 0x9e, 0xd8,
- 0x86, 0xee, 0x69, 0xba, 0x90, 0x52, 0xce, 0x68, 0x5a, 0x6a, 0xdd, 0xf0,
- 0xe8, 0x26, 0x99, 0x0b, 0xbf, 0x5c, 0xd7, 0x94, 0xc9, 0x8e, 0x10, 0x61,
- 0xc7, 0x17, 0x69, 0x9d, 0x89, 0xfc, 0x06, 0x16, 0xb3, 0x21, 0x75, 0xb7,
- 0x46, 0xca, 0x49, 0x33, 0xa4, 0xe9, 0x12, 0xad, 0xc6, 0x61, 0x2c, 0xe2,
- 0x44, 0x0b, 0xc2, 0xdb, 0x32, 0x9b, 0x91, 0x27, 0x26, 0x05, 0x49, 0x31,
- 0xf4, 0xbf, 0xf4, 0x44, 0xf7, 0x11, 0xa1, 0x4a, 0x09, 0x26, 0x70, 0x63,
- 0xdf, 0x9c, 0x1e, 0x5f, 0x53, 0x11, 0x6c, 0x97, 0xca, 0x65, 0xba, 0x54,
- 0xf9, 0xea, 0x37, 0xaa, 0xba, 0x24, 0xff, 0x08, 0x11, 0xaa, 0x44, 0x93,
- 0x62, 0x9b, 0x62, 0x67, 0x51, 0xc8, 0xb5, 0x8e, 0xcd, 0x69, 0x31, 0x16,
- 0xc8, 0x1d, 0xae, 0x69, 0x89, 0x26, 0x31, 0x71, 0x6f, 0xbf, 0xbf, 0xc5,
- 0x6b, 0xb4, 0x3d, 0xb0, 0xb5, 0x52, 0x8b, 0xdc, 0x48, 0x1a, 0x61, 0x8c,
- 0xc3, 0x39, 0x03, 0x66, 0x3a, 0xdd, 0x88, 0xd1, 0xcf, 0x19, 0x4a, 0x41,
- 0x7f, 0xeb, 0x64, 0x4b, 0xae, 0xd4, 0x4c, 0x5d, 0xf0, 0x53, 0x24, 0xcb,
- 0x06, 0x6c, 0x35, 0xc6, 0xc6, 0x72, 0x53, 0x65, 0x29, 0x38, 0x2b, 0xa1,
- 0x72, 0x39, 0xa2, 0x89, 0x48, 0x3c, 0x58, 0x55, 0x92, 0x75, 0x6d, 0xef,
- 0xa9, 0x1c, 0xa5, 0x80, 0x48, 0x2c, 0xa9, 0x3f, 0xaa, 0xb5, 0x6a, 0x0d,
- 0xe9, 0x27, 0x5e, 0x4b, 0xaf, 0xde, 0xd7, 0x82, 0x3c, 0xcb, 0x7a, 0x72,
- 0xa8, 0xf4, 0x0b, 0x8f, 0x72, 0x43, 0xb3, 0x5c, 0xd9, 0x6e, 0x55, 0x85,
- 0xb3, 0x8f, 0xee, 0x42, 0x3e, 0xf6, 0xaa, 0xd9, 0x94, 0x1d, 0xae, 0x68,
- 0xcf, 0x47, 0xab, 0x1c, 0x51, 0x3a, 0xd4, 0xa3, 0xe9, 0x1d, 0x18, 0xcb,
- 0x0a, 0x89, 0x12, 0xc8, 0xd8, 0x23, 0xff, 0x54, 0xe7, 0x0b, 0x0c, 0x0b,
- 0xbd, 0x3e, 0xea, 0xd4, 0x6e, 0x64, 0xa8, 0x7b, 0x55, 0xc9, 0xdc, 0xad,
- 0x6e, 0xc9, 0x08, 0x4f, 0x43, 0xbe, 0x9f, 0x3c, 0x54, 0x2c, 0xf7, 0x27,
- 0xd4, 0x81, 0x3a, 0xdb, 0xdd, 0x89, 0xca, 0x47, 0x50, 0x22, 0xe6, 0xee,
- 0x26, 0x34, 0x1b, 0x8e, 0x07, 0x43, 0x61, 0xb5, 0x4e, 0x7d, 0xcc, 0xb7,
- 0x3e, 0xe0, 0x2b, 0x47, 0xf4, 0x8a, 0xf4, 0xf6, 0xd2, 0x7c, 0xbd, 0x67,
- 0x74, 0xb1, 0xc7, 0x7c, 0x69, 0xe6, 0x62, 0xc3, 0x59, 0x9c, 0xdd, 0x9a,
- 0xc4, 0x6a, 0x1e, 0xa9, 0x8b, 0xed, 0x61, 0xb9, 0x92, 0xd4, 0xfe, 0x50,
- 0x12, 0xf8, 0x48, 0x32, 0x7a, 0x5d, 0xd4, 0x50, 0x2f, 0x9d, 0xc7, 0x05,
- 0x96, 0x18, 0xd2, 0x9e, 0x49, 0xf2, 0xb3, 0x7b, 0x26, 0xa6, 0xe9, 0x18,
- 0x4b, 0xf3, 0x77, 0x94, 0xd1, 0xce, 0xcf, 0xf9, 0x22, 0x8c, 0x63, 0xec,
- 0x8c, 0xfb, 0xa3, 0x19, 0xe4, 0x2d, 0x1d, 0xe1, 0x7e, 0xbb, 0xd8, 0xba,
- 0x01, 0x42, 0x06, 0xae, 0x0d, 0xff, 0x3d, 0xd0, 0x10, 0x60, 0x1b, 0xff,
- 0x36, 0xd2, 0xc3, 0x34, 0x3d, 0x37, 0x41, 0x43, 0xb7, 0x8d, 0x2d, 0xab,
- 0x77, 0x36, 0x50, 0x19, 0x8a, 0xb0, 0xf7, 0xa3, 0x0b, 0x6b, 0x4e, 0x66,
- 0x5d, 0x82, 0xc4, 0xad, 0x8a, 0x91, 0x18, 0x93, 0xf4, 0x77, 0x49, 0xdd,
- 0x8c, 0x67, 0xa1, 0x1d, 0xa0, 0xae, 0x6e, 0x29, 0xa1, 0x72, 0x97, 0xa1,
- 0xd9, 0x29, 0x7c, 0xb7, 0xf0, 0x39, 0xd8, 0x58, 0x6c, 0x2b, 0xca, 0xa1,
- 0xfc, 0xd8, 0xcb, 0xcc, 0xe6, 0x45, 0x84, 0xfb, 0xc9, 0x71, 0x60, 0xdf,
- 0x34, 0x92, 0xb5, 0x8f, 0x97, 0x12, 0xcc, 0x9f, 0x81, 0x5c, 0xe4, 0xdc,
- 0x13, 0xdb, 0x0f, 0x02, 0x58, 0x5a, 0x9e, 0x75, 0x3d, 0x7c, 0x27, 0x0c,
- 0x9d, 0xb3, 0xc7, 0x09, 0x73, 0x02, 0xe7, 0xd2, 0xbf, 0xdb, 0x34, 0x01,
- 0x8e, 0xf9, 0x3d, 0xa5, 0x4d, 0xf7, 0xcb, 0x4f, 0xb4, 0x1a, 0xe6, 0x5e,
- 0x40, 0x7a, 0x18, 0x40, 0x85, 0x5d, 0x2e, 0xe5, 0xf3, 0x96, 0x74, 0x91,
- 0xe9, 0x8d, 0x14, 0xb8, 0xa9, 0x94, 0x0b, 0xa9, 0x4b, 0xd7, 0xc6, 0xbc,
- 0xc1, 0xa6, 0x4d, 0x8e, 0xff, 0x43, 0x30, 0xbb, 0x40, 0xdd, 0xf4, 0xf4,
- 0x65, 0xbc, 0x8d, 0x94, 0x86, 0x08, 0x3b, 0x4c, 0x40, 0xd1, 0x98, 0xcf,
- 0x83, 0xd9, 0x92, 0x36, 0x39, 0x19, 0xf5, 0x89, 0x24, 0x63, 0xab, 0x3e,
- 0x37, 0xd8, 0x6b, 0x70, 0x3e, 0x3e, 0x76, 0xe2, 0x98, 0xa1, 0x75, 0x4b,
- 0x6d, 0x7a, 0x6c, 0x1a, 0x9c, 0x4f, 0x45, 0x8e, 0x94, 0x98, 0xea, 0x09,
- 0x1c, 0xcd, 0xc2, 0x5a, 0x97, 0xba, 0xf1, 0x81, 0xa6, 0x52, 0xbc, 0x52,
- 0xe9, 0xa1, 0xf1, 0xe8, 0x42, 0xfe, 0xc2, 0x5d, 0xb8, 0x4b, 0x79, 0xef,
- 0x19, 0xcc, 0x6c, 0x58, 0xa4, 0xc9, 0x04, 0x35, 0x10, 0x5a, 0x91, 0xe4,
- 0x90, 0x7a, 0x5e, 0xa3, 0x04, 0x71, 0xaf, 0x31, 0x3b, 0x1d, 0xce, 0x11,
- 0x0b, 0x88, 0x53, 0xf2, 0x1c, 0x31, 0x4f, 0x34, 0xbd, 0xb8, 0x18, 0x64,
- 0x1e, 0x6b, 0x25, 0x69, 0x11, 0xb1, 0xd6, 0x34, 0x05, 0xf3, 0x33, 0xa9,
- 0x0f, 0xbb, 0x78, 0x3c, 0x91, 0xba, 0x32, 0xbc, 0xc5, 0xa6, 0x97, 0x23,
- 0x7d, 0x91, 0xd9, 0xaa, 0x68, 0x37, 0x4e, 0x3b, 0xb0, 0x30, 0x72, 0x33,
- 0xee, 0xd2, 0xb7, 0x49, 0x01, 0xf2, 0x2f, 0x2f, 0xa3, 0xef, 0xf6, 0x35,
- 0x0d, 0x53, 0x3a, 0xd2, 0x8b, 0x2a, 0x62, 0x8a, 0x5e, 0xa9, 0x5c, 0x80,
- 0xa7, 0xee, 0x85, 0x2f, 0xb8, 0x78, 0x83, 0xb9, 0x97, 0xbe, 0x2e, 0x0a,
- 0x09, 0x1b, 0xe9, 0x59, 0xf3, 0xca, 0xc1, 0x4f, 0x80, 0xfc, 0xe0, 0x9f,
- 0xe1, 0xee, 0x63, 0xb6, 0x89, 0x34, 0x68, 0x57, 0x48, 0x2c, 0xe8, 0xcb,
- 0x83, 0xb3, 0x1c, 0x56, 0xa4, 0xe4, 0x80, 0x74, 0x32, 0x13, 0x8f, 0xae,
- 0x53, 0x74, 0xf7, 0x48, 0x82, 0x8d, 0xaf, 0x02, 0x72, 0xa9, 0x82, 0xa8,
- 0x35, 0x16, 0x1f, 0xbc, 0x91, 0x1c, 0x81, 0x7a, 0x64, 0x79, 0x83, 0x9a,
- 0x18, 0x6a, 0x08, 0x64, 0xe4, 0xb7, 0xa8, 0xf7, 0x2c, 0x1f, 0xcf, 0xaf,
- 0xcf, 0xde, 0x8b, 0xe9, 0x6c, 0xd9, 0x9c, 0x68, 0x35, 0xd6, 0x2c, 0x16,
- 0xb6, 0xc3, 0x54, 0xe5, 0x63, 0x02, 0xe8, 0x66, 0x68, 0x79, 0x21, 0x23,
- 0x52, 0xe0, 0xb6, 0x75, 0x25, 0x17, 0xa7, 0x90, 0xc2, 0x35, 0x31, 0xba,
- 0x74, 0x53, 0x03, 0x9e, 0x6c, 0x24, 0xc2, 0x92, 0xce, 0x9e, 0x5c, 0x25,
- 0x20, 0x51, 0x80, 0xd1, 0xac, 0x02, 0x58, 0x47, 0x39, 0xa7, 0xfc, 0xd0,
- 0xf9, 0x32, 0xaf, 0x04, 0x59, 0x0c, 0xf7, 0xcb, 0x88, 0xde, 0xe4, 0xf7,
- 0x59, 0xef, 0x0c, 0xeb, 0x8f, 0xa3, 0xb3, 0x7c, 0x0a, 0x5b, 0x75, 0x4e,
- 0x0a, 0x4b, 0xf3, 0xd4, 0x3e, 0x5c, 0x9e, 0x47, 0xeb, 0x28, 0x77, 0xa3,
- 0x4b, 0x83, 0x39, 0x87, 0x4f, 0x6e, 0x88, 0x7d, 0x51, 0xb2, 0x4e, 0x22,
- 0xb3, 0xe9, 0x46, 0x27, 0x3f, 0x1c, 0xbd, 0xbf, 0x3c, 0x3b, 0xf9, 0x89,
- 0x4d, 0x0c, 0x6f, 0x39, 0xf8, 0xe3, 0xaf, 0x1c, 0x9b, 0x8b, 0x22, 0x34,
- 0x98, 0x33, 0x08, 0xf3, 0x08, 0x02, 0xce, 0x30, 0x7d, 0x32, 0x6b, 0x54,
- 0x12, 0x1c, 0x0c, 0x2e, 0x4f, 0x7b, 0x0a, 0x18, 0xc7, 0xdd, 0x4a, 0xd3,
- 0x0c, 0x0d, 0x24, 0x92, 0x47, 0xd2, 0xe8, 0xe4, 0x5b, 0x3f, 0x18, 0xa5,
- 0x37, 0xa2, 0x1b, 0x9d, 0x6b, 0x2a, 0x62, 0x97, 0x4e, 0x1c, 0xaf, 0xe0,
- 0x9b, 0x74, 0x4a, 0x01, 0xa5, 0x46, 0x02, 0x19, 0x12, 0x07, 0x4d, 0x61,
- 0xe4, 0x95, 0xf3, 0x50, 0x93, 0x39, 0x8b, 0x96, 0x57, 0x26, 0x33, 0x76,
- 0x5f, 0xb6, 0x4a, 0x48, 0x62, 0x06, 0x74, 0x8c, 0x58, 0x27, 0xe2, 0x85,
- 0xca, 0xa4, 0x6e, 0x64, 0xf8, 0xe8, 0x76, 0xb7, 0x33, 0x34, 0xc2, 0x72,
- 0x41, 0xb4, 0x09, 0xc3, 0xf6, 0x0f, 0xa2, 0x4e, 0x6f, 0x19, 0x1d, 0x74,
- 0x3e, 0xa1, 0x8a, 0xe0, 0x7a, 0x7a, 0x03, 0xcd, 0xb2, 0x24, 0x5e, 0xa6,
- 0xae, 0x60, 0x69, 0xf1, 0x40, 0xfe, 0x6a, 0xf5, 0xb6, 0xb1, 0xc7, 0x1c,
- 0xae, 0xba, 0x48, 0x5f, 0x2a, 0x4d, 0x9b, 0x06, 0xe0, 0x5c, 0x32, 0xe2,
- 0x4b, 0x09, 0xc7, 0x4d, 0x41, 0x43, 0x5d, 0x03, 0x36, 0xc0, 0x6e, 0x7c,
- 0x64, 0xf1, 0x1d, 0x8a, 0x4d, 0x8a, 0x05, 0x95, 0x8f, 0x41, 0x57, 0x3d,
- 0xe2, 0x18, 0x44, 0x89, 0x19, 0xe8, 0xfe, 0x70, 0xb4, 0x57, 0x6b, 0x5f,
- 0xae, 0x49, 0x7c, 0xb5, 0x23, 0x4a, 0x15, 0xf2, 0xea, 0x0e, 0x2b, 0xb0,
- 0xa8, 0x18, 0xe3, 0xec, 0xe1, 0xc6, 0xaf, 0x1d, 0xae, 0x69, 0x43, 0x19,
- 0x7d, 0xb2, 0xc9, 0x70, 0xe8, 0x3d, 0x09, 0xf1, 0xa9, 0x5a, 0x2d, 0xa7,
- 0x2f, 0xb9, 0xe5, 0x20, 0x35, 0xc7, 0x09, 0x09, 0x6f, 0xee, 0x1b, 0xc9,
- 0x18, 0x8f, 0x1c, 0x42, 0x6c, 0xaa, 0x1c, 0xb5, 0x99, 0xcb, 0x5c, 0xff,
- 0x4d, 0xe7, 0xea, 0xf4, 0x56, 0xc6, 0xa0, 0x84, 0xed, 0xf1, 0x37, 0xe4,
- 0xf6, 0xbc, 0x6d, 0xfa, 0x10, 0xa7, 0x96, 0xa2, 0x71, 0x4c, 0x9a, 0x70,
- 0xb0, 0x84, 0xb0, 0xdb, 0xa8, 0xcd, 0xa3, 0xb8, 0x96, 0xef, 0xbe, 0xac,
- 0x0c, 0xa2, 0x29, 0x8e, 0xbc, 0x56, 0x60, 0xfb, 0xa6, 0xfc, 0x96, 0x7a,
- 0xba, 0xe6, 0x45, 0xeb, 0x4d, 0x55, 0xd7, 0xae, 0xa5, 0x3c, 0x96, 0xb6,
- 0x5a, 0x21, 0x81, 0xea, 0x04, 0x3d, 0x28, 0xea, 0x80, 0xd8, 0x76, 0x5d,
- 0x1f, 0xcd, 0x86, 0x5b, 0xcb, 0x69, 0x53, 0x19, 0x13, 0x7d, 0xaa, 0xc7,
- 0x4a, 0xb5, 0x4c, 0x38, 0x88, 0xa2, 0xef, 0x94, 0xdb, 0xd6, 0xbb, 0x17,
- 0x8a, 0x2f, 0x9b, 0xda, 0x0b, 0xb4, 0xd7, 0x35, 0xd2, 0x36, 0xd9, 0x7d,
- 0xf2, 0x2a, 0x43, 0x6d, 0x30, 0xc4, 0xcc, 0x2f, 0x9c, 0xfc, 0x19, 0x0c,
- 0x8b, 0x7c, 0x27, 0xb7, 0xaa, 0xf4, 0xed, 0xac, 0x37, 0x12, 0x38, 0x73,
- 0xe3, 0x51, 0x52, 0x2a, 0xc8, 0x8e, 0x43, 0xb1, 0x51, 0x34, 0x3c, 0xaf,
- 0x49, 0x03, 0x29, 0x79, 0xf7, 0xcb, 0x7e, 0x48, 0x85, 0x95, 0x36, 0x44,
- 0x1c, 0xb2, 0x93, 0x15, 0xb1, 0x87, 0x9d, 0xa2, 0x69, 0x3a, 0x84, 0xe4,
- 0xed, 0x74, 0xcd, 0xd8, 0x81, 0xd0, 0x2a, 0x49, 0x8f, 0xdd, 0x62, 0x4c,
- 0xc1, 0x8a, 0x47, 0x49, 0xac, 0xe1, 0xb6, 0xdd, 0xd9, 0xad, 0xa6, 0x1b,
- 0xe2, 0xc8, 0xc9, 0x43, 0x32, 0x5a, 0x56, 0xf5, 0x12, 0x38, 0x67, 0x4e,
- 0x02, 0xec, 0x44, 0x53, 0x5a, 0xa7, 0x8b, 0xa0, 0xc6, 0xe8, 0xa5, 0xa2,
- 0xf2, 0x1c, 0x74, 0x36, 0x34, 0x88, 0x1b, 0x8b, 0x0e, 0xcf, 0xbf, 0x08,
- 0xc5, 0x67, 0x75, 0xca, 0x45, 0xc2, 0x1e, 0x55, 0x9b, 0xaa, 0x10, 0xfc,
- 0x3c, 0xd0, 0x68, 0x11, 0xfc, 0xfa, 0x5b, 0xf6, 0xbd, 0x39, 0x1f, 0x37,
- 0xdd, 0x3a, 0xc5, 0x2d, 0x57, 0x7a, 0x57, 0xd9, 0xfb, 0x32, 0xb5, 0x2d,
- 0x07, 0x06, 0x75, 0x07, 0xd4, 0x4d, 0x86, 0xbc, 0xbe, 0xaa, 0x9b, 0xef,
- 0xb9, 0x43, 0x4f, 0x2f, 0xef, 0x5e, 0x38, 0xde, 0x6c, 0x94, 0x78, 0xf4,
- 0x23, 0xc3, 0xf1, 0xbd, 0x55, 0xdc, 0x16, 0xc3, 0x3d, 0xf8, 0xe3, 0x5b,
- 0xfc, 0x63, 0xc2, 0x7e, 0x01, 0x01, 0xd5, 0x63, 0x3f, 0xac, 0x4f, 0xda,
- 0x08, 0x8a, 0x10, 0xb9, 0xc8, 0x0a, 0x94, 0xa9, 0x85, 0x85, 0x8a, 0x88,
- 0xc0, 0x67, 0xc1, 0x90, 0xc8, 0xaa, 0xd1, 0x61, 0xba, 0x5c, 0x3c, 0xec,
- 0x07, 0x29, 0xe5, 0x7f, 0x84, 0x18, 0xc7, 0x88, 0x6c, 0x5d, 0xf2, 0x39,
- 0x0d, 0xb8, 0xa5, 0x6a, 0x1e, 0xaa, 0x1f, 0x85, 0xad, 0xfa, 0x3b, 0x06,
- 0x2a, 0x4c, 0x25, 0x3b, 0x70, 0x00, 0x4d, 0xad, 0x50, 0x02, 0xb4, 0x09,
- 0x1d, 0xec, 0x9e, 0xc6, 0x8b, 0xc6, 0xfc, 0x2c, 0x6d, 0x99, 0x42, 0xfb,
- 0x92, 0x49, 0xba, 0xcb, 0x1f, 0x3e, 0xe8, 0x6c, 0xfb, 0x7b, 0x6f, 0xa8,
- 0x7a, 0x9a, 0x6f, 0xbc, 0xf6, 0x31, 0x44, 0x85, 0x4d, 0x8f, 0xda, 0xe2,
- 0x47, 0xf0, 0xa3, 0x86, 0x3b, 0xb0, 0x5a, 0xd2, 0x32, 0xcf, 0x39, 0xb7,
- 0x8d, 0xc4, 0xae, 0x1b, 0xc4, 0x16, 0x6e, 0xd9, 0x27, 0x83, 0x29, 0x4d,
- 0xc9, 0x1c, 0x43, 0x5f, 0x46, 0x32, 0x32, 0x8c, 0x17, 0x6a, 0x56, 0xf8,
- 0xb9, 0x5e, 0x78, 0xb8, 0x31, 0x6a, 0x6f, 0x28, 0x65, 0x39, 0x7d, 0xeb,
- 0x0f, 0x5e, 0xb4, 0xb3, 0x7c, 0xcc, 0x46, 0x37, 0x6f, 0xce, 0x07, 0xe1,
- 0xd7, 0x9b, 0x8b, 0xa3, 0xa7, 0x41, 0x0b, 0x41, 0x5a, 0x60, 0x93, 0x53,
- 0x50, 0x2c, 0xd1, 0x7d, 0x76, 0xe4, 0xfc, 0x36, 0x3c, 0x5c, 0xfd, 0x15,
- 0xe3, 0x0a, 0x44, 0xcd, 0x82, 0xb9, 0xb8, 0x28, 0x9e, 0x54, 0x29, 0xd2,
- 0x8b, 0xf1, 0x2e, 0xb0, 0xd7, 0x23, 0x3c, 0x5c, 0x75, 0x83, 0xd1, 0x22,
- 0x20, 0x02, 0x19, 0xb1, 0x70, 0x12, 0xd0, 0x9a, 0x74, 0x4d, 0x0d, 0x77,
- 0xf4, 0x8f, 0x5f, 0x72, 0xcc, 0x67, 0x60, 0xd1, 0x26, 0x81, 0xe0, 0xa2,
- 0xb7, 0x43, 0x26, 0x4e, 0x63, 0x63, 0xbf, 0x40, 0xaa, 0x33, 0x7c, 0x9d,
- 0xa9, 0xb4, 0x2b, 0xc4, 0x4a, 0x3f, 0x2a, 0xda, 0x96, 0x04, 0x7b, 0xb2,
- 0xf3, 0xcd, 0xd7, 0xbe, 0xf4, 0x7c, 0x73, 0xde, 0xf2, 0x39, 0xfc, 0x4d,
- 0x4f, 0xab, 0x09, 0x45, 0x23, 0x70, 0x14, 0x7a, 0x7f, 0x2f, 0x04, 0x0a,
- 0x39, 0x3c, 0x01, 0xc5, 0x49, 0x7e, 0x82, 0x4b, 0x20, 0x40, 0x3c, 0xff,
- 0xb1, 0xf2, 0x41, 0xc9, 0xe9, 0x0f, 0x7f, 0x8a, 0x0b, 0x25, 0x38, 0xc3,
- 0x2f, 0xba, 0xe2, 0x28, 0xee, 0xa5, 0x28, 0xc2, 0x1b, 0xab, 0xce, 0x28,
- 0x3c, 0x1c, 0xf2, 0xb7, 0x10, 0x24, 0x15, 0xb2, 0x85, 0x1d, 0xfe, 0x63,
- 0x73, 0xc7, 0xa4, 0xa6, 0x99, 0x92, 0x50, 0xba, 0xa6, 0x20, 0xc1, 0x7d,
- 0x05, 0x21, 0x4b, 0x1f, 0x06, 0x94, 0x4f, 0xd0, 0x42, 0xcd, 0x94, 0x78,
- 0xc0, 0x19, 0x07, 0x66, 0x72, 0x38, 0x4f, 0xd5, 0xc4, 0x82, 0x33, 0x19,
- 0xb0, 0xfb, 0xee, 0x29, 0x62, 0x4a, 0x03, 0xd9, 0x74, 0xab, 0x70, 0x37,
- 0xdf, 0x83, 0x92, 0x84, 0xc2, 0xf5, 0xd9, 0x44, 0xaa, 0x2f, 0x44, 0xeb,
- 0x43, 0x10, 0xd7, 0x0e, 0x8c, 0x0e, 0xab, 0xd8, 0x7b, 0x5c, 0xc2, 0x12,
- 0x1e, 0x6e, 0xff, 0xf3, 0xfd, 0xbd, 0x8d, 0x8d, 0xae, 0xfa, 0xaa, 0x24,
- 0x41, 0x66, 0x48, 0x05, 0x59, 0x29, 0x72, 0x2e, 0x6e, 0x97, 0x0e, 0x5b,
- 0x7c, 0x43, 0x8c, 0xc1, 0xf8, 0x8c, 0xc2, 0xc3, 0xa1, 0x1c, 0xd3, 0xf7,
- 0xf0, 0x10, 0xd1, 0x04, 0x27, 0x86, 0x6e, 0x0c, 0x61, 0x14, 0x36, 0x09,
- 0x3f, 0x60, 0x62, 0x2e, 0xad, 0x5c, 0x81, 0x1c, 0x29, 0xd6, 0xc3, 0x88,
- 0x8e, 0x25, 0x0e, 0x17, 0xc7, 0x2a, 0x69, 0xfd, 0x44, 0xd0, 0x4b, 0x16,
- 0x7b, 0xf4, 0x07, 0x15, 0x3f, 0xde, 0x68, 0x0b, 0xe7, 0xcb, 0xe5, 0x70,
- 0x06, 0x32, 0x68, 0xb0, 0x9c, 0x4c, 0xe0, 0xb4, 0xcf, 0x52, 0xe9, 0xc5,
- 0xcd, 0x3a, 0xb8, 0x24, 0x37, 0xb4, 0xc9, 0x1c, 0x5a, 0x77, 0x9d, 0xd0,
- 0x24, 0xd7, 0xd3, 0x16, 0x70, 0x8b, 0xd6, 0x16, 0x75, 0x16, 0xfc, 0x21,
- 0x38, 0xa1, 0x49, 0xaf, 0x6d, 0x61, 0x0f, 0x49, 0xe9, 0x9b, 0x71, 0xef,
- 0x31, 0x6e, 0x0b, 0x02, 0xfb, 0xd9, 0x47, 0x6f, 0x9a, 0x5e, 0xd7, 0x53,
- 0x76, 0x8d, 0xde, 0x79, 0x8f, 0x7a, 0x27, 0x81, 0xf0, 0x60, 0x2c, 0x23,
- 0x3a, 0x64, 0x0d, 0xb3, 0xbd, 0x0b, 0xb2, 0x82, 0x21, 0xb8, 0xba, 0x28,
- 0x69, 0xf5, 0xe4, 0xf7, 0x8f, 0xb1, 0xff, 0xa1, 0x24, 0x61, 0xce, 0x12,
- 0x8c, 0x35, 0x12, 0x7f, 0xf4, 0x51, 0x49, 0x0a, 0xf6, 0x4f, 0xf2, 0x18,
- 0xe2, 0xfb, 0x10, 0x0f, 0x3e, 0xe5, 0xd6, 0xc5, 0x84, 0xaa, 0xc4, 0x5e,
- 0x20, 0x46, 0xf3, 0x61, 0x9f, 0x17, 0xd0, 0xce, 0x83, 0xc7, 0x13, 0x24,
- 0xa5, 0x36, 0x7b, 0x8c, 0x9c, 0x38, 0x8f, 0xc2, 0x2d, 0x94, 0xb5, 0x2f,
- 0x79, 0xae, 0x1b, 0xac, 0xbe, 0xf6, 0x74, 0x92, 0x8a, 0x6c, 0xe2, 0x0e,
- 0xcf, 0xa8, 0x43, 0xe5, 0xe5, 0x1a, 0x3f, 0xa7, 0xec, 0x2b, 0xb5, 0x1a,
- 0x58, 0xef, 0xd6, 0xb1, 0xc5, 0x43, 0x19, 0x07, 0x62, 0xea, 0x3a, 0xc7,
- 0xce, 0x57, 0x9a, 0xc9, 0xd5, 0xd1, 0x14, 0x80, 0x46, 0x6b, 0x7a, 0x19,
- 0x53, 0x86, 0x0c, 0x20, 0x2e, 0x70, 0x5a, 0x04, 0x25, 0xa9, 0xe3, 0xa9,
- 0xc1, 0x90, 0xbd, 0x4e, 0x50, 0xa1, 0x35, 0x1b, 0x60, 0x7a, 0x4c, 0xd6,
- 0xcc, 0x3e, 0xfd, 0x84, 0x8d, 0xfa, 0x61, 0x7a, 0x77, 0x95, 0x56, 0x4b,
- 0x9f, 0xe9, 0x0e, 0x15, 0x1f, 0x94, 0x10, 0x2a, 0x48, 0x4c, 0xe3, 0x61,
- 0x58, 0x18, 0x09, 0x32, 0xf3, 0x30, 0xe1, 0x13, 0x9b, 0xad, 0x96, 0x86,
- 0x47, 0xa0, 0xf3, 0x73, 0x96, 0xdf, 0x7b, 0x19, 0xe2, 0x68, 0x61, 0x98,
- 0xd9, 0xd5, 0xeb, 0xdf, 0xe0, 0xed, 0x3f, 0xfd, 0x43, 0x7f, 0xf9, 0x11,
- 0x77, 0xea, 0x9f, 0xba, 0x53, 0x9a, 0x74, 0x17, 0x7b, 0x30, 0x09, 0x64,
- 0x5b, 0x47, 0x7f, 0xa2, 0x5d, 0xf9, 0x2b, 0x66, 0x35, 0xf1, 0xd6, 0x20,
- 0x42, 0x11, 0x0d, 0xf8, 0xa7, 0xbe, 0xd1, 0xa3, 0x65, 0x90, 0x18, 0xeb,
- 0xbe, 0x49, 0xd9, 0x1f, 0x3e, 0x7a, 0x2e, 0x29, 0x24, 0xc3, 0x9f, 0xb2,
- 0x2e, 0x41, 0x2d, 0x83, 0x49, 0x87, 0x28, 0x2d, 0xdc, 0x4c, 0x97, 0x4f,
- 0xf1, 0xa7, 0x42, 0xf0, 0x86, 0xc0, 0x96, 0x81, 0x99, 0xa3, 0xa1, 0xc7,
- 0x3f, 0x0f, 0x1b, 0x16, 0x9a, 0xd4, 0x22, 0xde, 0x94, 0x1a, 0x04, 0x15,
- 0x8c, 0x83, 0x2d, 0xe2, 0xd5, 0x10, 0x1f, 0x2a, 0xfa, 0x0b, 0x4d, 0x15,
- 0x9e, 0x6e, 0x9e, 0x3d, 0x61, 0xb4, 0x08, 0x38, 0x90, 0xbe, 0xcc, 0x4d,
- 0xdb, 0x4c, 0x8e, 0xc6, 0x9f, 0xfe, 0xc1, 0x89, 0x80, 0xff, 0xf4, 0x75,
- 0xdf, 0x8b, 0xeb, 0x93, 0x03, 0x9a, 0xd2, 0x9f, 0x7a, 0xe5, 0xe3, 0x7c,
- 0x98, 0xcf, 0xe4, 0xe2, 0xe1, 0xe6, 0xc3, 0x06, 0xea, 0xcf, 0x98, 0x4a,
- 0x28, 0x56, 0xd7, 0x73, 0x00, 0x4c, 0xba, 0xc1, 0xde, 0x14, 0x68, 0x87,
- 0xe5, 0x23, 0xae, 0x68, 0xc5, 0xc2, 0x05, 0xb8, 0x79, 0x7f, 0x8a, 0x14,
- 0x93, 0x84, 0xfb, 0xd2, 0x4a, 0x07, 0x62, 0xf1, 0xa8, 0x6a, 0x09, 0x48,
- 0x30, 0x04, 0xb4, 0x9a, 0x8e, 0x0d, 0x4f, 0x0f, 0x42, 0xbf, 0x20, 0xbf,
- 0x80, 0x69, 0x7e, 0xa4, 0xa2, 0x49, 0x31, 0x73, 0x8f, 0xf9, 0x67, 0xbd,
- 0x6b, 0xfa, 0x99, 0xe6, 0xd1, 0x08, 0xd8, 0x00, 0x66, 0x66, 0x48, 0xf1,
- 0x49, 0xd7, 0x2f, 0x50, 0x8e, 0x42, 0xa9, 0x79, 0x98, 0xf8, 0x0e, 0x7c,
- 0xc6, 0x9b, 0xa7, 0xde, 0xea, 0x8f, 0x09, 0x01, 0xf2, 0xa6, 0x77, 0xc9,
- 0xea, 0xd1, 0xa8, 0xc3, 0x0f, 0x30, 0xe6, 0x79, 0x2c, 0xc9, 0x6c, 0x9c,
- 0xbd, 0x66, 0xee, 0x93, 0xc2, 0xa2, 0x51, 0x6e, 0x33, 0x9c, 0x76, 0xff,
- 0xa9, 0xe1, 0x70, 0x4f, 0xb5, 0x6a, 0x43, 0x32, 0x7f, 0xd0, 0xbf, 0x96,
- 0x4e, 0x8c, 0x86, 0x51, 0x61, 0x41, 0x0e, 0xa6, 0x1c, 0xe1, 0xc8, 0x4f,
- 0xac, 0x35, 0xd7, 0x10, 0x85, 0xb0, 0x2d, 0x0e, 0x57, 0x5e, 0x74, 0x23,
- 0x1b, 0xdd, 0xd6, 0xa4, 0xbe, 0x08, 0x03, 0xe1, 0xab, 0x87, 0x33, 0x51,
- 0x72, 0x13, 0x9a, 0x3a, 0xa5, 0x76, 0xdd, 0x39, 0xa7, 0x1f, 0xd2, 0x3c,
- 0xb1, 0x8e, 0x65, 0x8e, 0x5e, 0xdb, 0x40, 0x9c, 0x39, 0x0a, 0x70, 0x7b,
- 0x0a, 0x8e, 0xfe, 0x87, 0x13, 0x6d, 0x67, 0xd7, 0x56, 0xcf, 0x89, 0xb2,
- 0x83, 0x2e, 0xc2, 0xa0, 0x97, 0xab, 0x87, 0xe3, 0xfc, 0xfb, 0x17, 0xfd,
- 0xad, 0x0d, 0xef, 0x50, 0xab, 0xc5, 0x47, 0xa0, 0x8d, 0xe2, 0xf1, 0x23,
- 0x66, 0xa9, 0xd2, 0x99, 0x69, 0x54, 0x81, 0x7e, 0x40, 0x3b, 0xcb, 0xe8,
- 0x05, 0xcb, 0x05, 0x8e, 0x43, 0x64, 0x3e, 0xcb, 0xd9, 0x60, 0x7b, 0x6a,
- 0x19, 0xf5, 0x7c, 0x50, 0x17, 0x44, 0x67, 0xbd, 0xde, 0x03, 0x6e, 0xcf,
- 0x9b, 0x18, 0x26, 0xa0, 0x7c, 0xa4, 0xc8, 0xb5, 0x21, 0x26, 0x90, 0x7b,
- 0x49, 0x91, 0x8e, 0xdc, 0x86, 0xa8, 0xf4, 0x00, 0x91, 0x14, 0x63, 0x83,
- 0x62, 0x28, 0x3b, 0x08, 0x82, 0xdc, 0xf8, 0x1f, 0xf9, 0x7f, 0x9d, 0x90,
- 0x95, 0x49, 0x77, 0xa4, 0xd3, 0x86, 0x89, 0x62, 0x66, 0x8d, 0xcd, 0x40,
- 0x38, 0x7d, 0x62, 0x9d, 0x84, 0xb2, 0xbe, 0xc3, 0x78, 0x75, 0xb3, 0x34,
- 0x2e, 0xcd, 0x04, 0x79, 0x05, 0x74, 0xa3, 0x68, 0xbd, 0x84, 0x2d, 0x77,
- 0xe3, 0xd5, 0x7e, 0x45, 0x81, 0xa8, 0x11, 0xc7, 0x9a, 0x26, 0x79, 0xbf,
- 0x65, 0x67, 0x38, 0x71, 0xb8, 0xb9, 0x33, 0xed, 0x1b, 0xc2, 0x6b, 0xf6,
- 0x83, 0x8f, 0x4d, 0xb7, 0x02, 0x6f, 0xec, 0xba, 0x04, 0xf1, 0x48, 0x39,
- 0xdf, 0xe0, 0xdb, 0x42, 0xb4, 0xe0, 0xc0, 0xc8, 0x11, 0x83, 0x79, 0xe2,
- 0xd6, 0xae, 0xd7, 0xfb, 0x2b, 0xb7, 0x9c, 0xb3, 0xc1, 0xe9, 0x60, 0x8e,
- 0x86, 0x3f, 0x8b, 0x2c, 0x78, 0x07, 0x27, 0xf7, 0x51, 0x21, 0x9d, 0x61,
- 0x3d, 0xb3, 0xc7, 0x28, 0x88, 0xaf, 0xbf, 0xe2, 0xf3, 0xfb, 0x5b, 0x01,
- 0xfa, 0xa7, 0xf4, 0xe1, 0x8f, 0xe9, 0xc2, 0xe1, 0x59, 0xa7, 0x97, 0x78,
- 0x58, 0x54, 0xf7, 0x22, 0x65, 0x13, 0x9c, 0x63, 0x8c, 0x29, 0x17, 0xda,
- 0xa5, 0x8a, 0x73, 0x95, 0x9e, 0xdc, 0xcc, 0x11, 0x23, 0x20, 0xb0, 0x43,
- 0xc0, 0x85, 0x8a, 0x00, 0xfb, 0x56, 0xb4, 0x34, 0x71, 0x10, 0x9c, 0x5e,
- 0xde, 0xed, 0xf9, 0x81, 0xa8, 0x28, 0xe0, 0x2e, 0x73, 0x97, 0xb4, 0xf3,
- 0xaa, 0x75, 0x49, 0xdc, 0x51, 0x43, 0x96, 0xc4, 0x0b, 0x70, 0xdb, 0xe0,
- 0xc8, 0x42, 0x74, 0x1d, 0xee, 0x44, 0x9f, 0x58, 0x92, 0x5d, 0xc4, 0x93,
- 0x33, 0x81, 0x6f, 0x7d, 0x34, 0x18, 0xed, 0x20, 0x9b, 0xf9, 0xd3, 0xf8,
- 0x6d, 0x50, 0x4c, 0x2c, 0x7a, 0x3b, 0xe2, 0x17, 0x2a, 0x91, 0xf2, 0x54,
- 0xc2, 0x1a, 0x75, 0x14, 0x50, 0xb0, 0x1b, 0xf4, 0xb5, 0x1b, 0x9c, 0x83,
- 0x76, 0xa2, 0x2d, 0xcd, 0x1c, 0x60, 0x0a, 0xf6, 0x87, 0x7c, 0x5d, 0x50,
- 0xf4, 0x4d, 0x72, 0xe9, 0x9a, 0x6e, 0x66, 0xf3, 0xc4, 0x1c, 0xf8, 0x0a,
- 0x3c, 0x3d, 0x0b, 0xba, 0x46, 0x1f, 0xcb, 0x72, 0x86, 0xa4, 0x9e, 0x4e,
- 0x1e, 0x61, 0x4a, 0x65, 0x2b, 0x78, 0x8c, 0x2b, 0x40, 0xf9, 0x39, 0x3d,
- 0x2e, 0xc7, 0x60, 0x5e, 0x2b, 0xc9, 0xa7, 0xb9, 0x48, 0x30, 0xfd, 0x86,
- 0xc1, 0xc1, 0x9f, 0x22, 0x46, 0x94, 0xc3, 0xf4, 0x79, 0x1b, 0xe8, 0x13,
- 0x3e, 0x61, 0x94, 0x85, 0x7e, 0xb4, 0x65, 0x2c, 0xc1, 0x27, 0x08, 0xa1,
- 0x36, 0x12, 0x0e, 0x62, 0xa3, 0xdb, 0xf5, 0x0d, 0xc1, 0x42, 0x44, 0x6f,
- 0x43, 0x74, 0xf7, 0x3f, 0x92, 0x26, 0xc0, 0xf1, 0x68, 0xc9, 0x3a, 0x37,
- 0x38, 0x49, 0x38, 0x28, 0xd1, 0x86, 0xc6, 0x94, 0x7b, 0x67, 0x28, 0x0c,
- 0x67, 0x01, 0xf0, 0xf3, 0x28, 0x00, 0x66, 0x41, 0xcd, 0xae, 0x28, 0x07,
- 0xdb, 0x1e, 0xf5, 0x7a, 0x2e, 0x15, 0xa5, 0x3d, 0xac, 0x84, 0xed, 0xd1,
- 0x2f, 0xa2, 0x56, 0x17, 0xab, 0x4d, 0xf7, 0xa8, 0x36, 0xba, 0xaa, 0xd5,
- 0xa9, 0xaa, 0x26, 0x39, 0x36, 0x84, 0x5f, 0x49, 0x8c, 0x7f, 0x84, 0x7d,
- 0x61, 0x28, 0xd3, 0x2c, 0x5e, 0x3d, 0x9c, 0x4e, 0x47, 0xfa, 0xa5, 0x91,
- 0xb5, 0x35, 0x25, 0x68, 0xaf, 0xbc, 0x41, 0x4a, 0x20, 0x54, 0x02, 0x3b,
- 0x87, 0xc2, 0xd4, 0xb0, 0xac, 0x6b, 0x2b, 0x5f, 0x7d, 0xc6, 0xf5, 0x2f,
- 0x5d, 0xef, 0x16, 0x16, 0xd5, 0xe0, 0x42, 0x4f, 0x09, 0xc6, 0x20, 0x63,
- 0x90, 0x35, 0x28, 0x8f, 0x72, 0xd6, 0xd0, 0xc6, 0xa3, 0x3e, 0x15, 0x8b,
- 0x92, 0xec, 0xd7, 0x5a, 0xdc, 0x88, 0x92, 0x05, 0xe5, 0x17, 0xeb, 0xa5,
- 0x85, 0x51, 0xc6, 0x62, 0xb9, 0xb1, 0x89, 0x18, 0x6c, 0x84, 0x90, 0xd6,
- 0x9a, 0x6a, 0x1c, 0x50, 0xb0, 0x2b, 0xb2, 0x28, 0x1c, 0xfd, 0xe4, 0xdd,
- 0x40, 0xa8, 0xba, 0x8f, 0xa6, 0x9b, 0x07, 0x07, 0x6e, 0xf2, 0x0a, 0xf3,
- 0x3c, 0xe6, 0x20, 0xcf, 0x89, 0x19, 0x30, 0xe8, 0xa0, 0x65, 0x5c, 0xfa,
- 0x74, 0xc0, 0x47, 0x47, 0xa3, 0x49, 0x18, 0x38, 0x5a, 0x35, 0x9a, 0xd6,
- 0x08, 0x9a, 0xa1, 0x28, 0x94, 0xfa, 0xc4, 0x4d, 0x43, 0x34, 0xa0, 0xe0,
- 0x17, 0xf5, 0x12, 0xcb, 0x9e, 0xf2, 0x27, 0x57, 0xac, 0xc0, 0x31, 0xde,
- 0x57, 0x7f, 0xd1, 0x65, 0x11, 0xe1, 0x4f, 0x4b, 0xfa, 0x7f, 0xf4, 0xbc,
- 0xad, 0xd3, 0x0c, 0x76, 0x7f, 0x2c, 0x6c, 0x64, 0x62, 0xcf, 0x01, 0xc7,
- 0x8a, 0x31, 0x91, 0x60, 0xea, 0xb4, 0x5a, 0xe1, 0xf6, 0x37, 0xd6, 0xa6,
- 0x01, 0xde, 0x59, 0x2e, 0x11, 0x23, 0x7b, 0xf2, 0x94, 0x2c, 0x67, 0xec,
- 0x28, 0xf6, 0x20, 0x99, 0xf1, 0x10, 0x5c, 0xb2, 0xde, 0x03, 0xa6, 0x65,
- 0x56, 0x66, 0x89, 0xb4, 0xb9, 0x3a, 0x2d, 0x2d, 0x7c, 0xf8, 0x8d, 0x66,
- 0xc5, 0xa3, 0x3d, 0x67, 0x4e, 0xff, 0xaa, 0x5c, 0x6b, 0x4a, 0x32, 0x12,
- 0x55, 0x46, 0xc2, 0x3c, 0x8b, 0xd9, 0xaf, 0x16, 0x65, 0x35, 0x69, 0xf5,
- 0xf4, 0x9d, 0x6d, 0x13, 0x65, 0xdb, 0x41, 0x16, 0xc2, 0x98, 0xde, 0xfa,
- 0xbf, 0xb7, 0xa8, 0x38, 0x93, 0xa8, 0x58, 0xe4, 0x29, 0x92, 0x5c, 0xd6,
- 0x15, 0xdb, 0xf2, 0x9e, 0x6c, 0x4b, 0xeb, 0x87, 0x0c, 0xd7, 0xdd, 0x46,
- 0x81, 0x0c, 0x74, 0x72, 0x5d, 0xa9, 0x53, 0x85, 0x8d, 0x08, 0xf5, 0x8c,
- 0xb0, 0x6b, 0xa4, 0xff, 0x7c, 0x86, 0xfc, 0x62, 0x37, 0xbc, 0x06, 0x9a,
- 0xd1, 0x27, 0x5e, 0x43, 0xbb, 0x5f, 0xa8, 0x1f, 0xb9, 0xa8, 0xae, 0xab,
- 0x87, 0x93, 0x3c, 0x79, 0x76, 0x25, 0xb9, 0x4d, 0xcb, 0x6a, 0xd0, 0xdd,
- 0xe8, 0x07, 0x8e, 0xd8, 0x59, 0xfb, 0x84, 0xc5, 0x43, 0x2f, 0x68, 0x62,
- 0x35, 0x17, 0x98, 0xd6, 0x2d, 0x87, 0xe0, 0x96, 0xa1, 0x50, 0xf8, 0x18,
- 0x2f, 0x16, 0x22, 0x6d, 0x9e, 0x26, 0xf9, 0x88, 0x81, 0x1b, 0xb9, 0x4d,
- 0x2f, 0x36, 0x8a, 0x22, 0x88, 0xcc, 0x2a, 0xcf, 0x6f, 0xd9, 0xa9, 0xca,
- 0x29, 0xd8, 0x58, 0x0c, 0xe9, 0x23, 0x45, 0x7b, 0x24, 0x3f, 0xd3, 0x7b,
- 0xb3, 0x39, 0x18, 0xbc, 0xdb, 0x4c, 0xaa, 0x91, 0x4a, 0xbd, 0x4d, 0x9b,
- 0xfd, 0x27, 0xd6, 0xf7, 0xd3, 0x5a, 0x2c, 0x49, 0x5e, 0xea, 0xd8, 0x87,
- 0xc4, 0x6f, 0xfc, 0xda, 0xcf, 0xa0, 0x7d, 0xda, 0x84, 0xba, 0x2d, 0xfa,
- 0x09, 0x96, 0x89, 0x78, 0xd7, 0xfa, 0x91, 0xba, 0x4b, 0x81, 0x26, 0xbd,
- 0xce, 0x98, 0xb1, 0x60, 0xa7, 0x3e, 0x7d, 0xb3, 0xed, 0xe2, 0x82, 0x4b,
- 0x41, 0xd7, 0x0a, 0xa6, 0xfc, 0x2c, 0x17, 0xff, 0x2d, 0xe7, 0x49, 0x9e,
- 0x1d, 0x8e, 0xfd, 0x52, 0x82, 0xd4, 0xd3, 0x13, 0x5e, 0xa0, 0x0f, 0x83,
- 0xdd, 0x14, 0x4f, 0xcf, 0xf8, 0xd9, 0x13, 0x7e, 0xde, 0x8c, 0x25, 0x30,
- 0x40, 0x3e, 0x34, 0x9d, 0x04, 0xcd, 0x99, 0xdc, 0xd3, 0x82, 0xf3, 0x8d,
- 0x35, 0x01, 0xd3, 0x34, 0x7b, 0x8e, 0x73, 0xcf, 0xa4, 0xe8, 0xa0, 0xbf,
- 0x15, 0x5b, 0xcc, 0x9b, 0x41, 0x25, 0x01, 0xb8, 0x94, 0x5c, 0xe1, 0x69,
- 0xfe, 0xe4, 0xec, 0x62, 0x01, 0xda, 0x46, 0xb1, 0xe0, 0x38, 0xdf, 0x47,
- 0x4a, 0x3f, 0x98, 0xc7, 0x93, 0x8e, 0x96, 0x98, 0x7f, 0x1c, 0xe8, 0x38,
- 0xed, 0xb9, 0xb1, 0x40, 0xdf, 0xe3, 0x5a, 0xab, 0x3b, 0x0c, 0xcb, 0xb7,
- 0x9c, 0x85, 0xd1, 0xeb, 0x9f, 0xda, 0x6c, 0x4c, 0xbd, 0x9e, 0xcd, 0x8c,
- 0x1d, 0xf0, 0xa4, 0x48, 0x02, 0x71, 0xb6, 0xd0, 0xed, 0x41, 0xba, 0x20,
- 0x32, 0x61, 0x32, 0xed, 0xea, 0xc5, 0xe8, 0x46, 0xcf, 0x26, 0x05, 0x0a,
- 0x35, 0xe8, 0xd6, 0x5a, 0xd8, 0x60, 0x3a, 0x4b, 0x8c, 0xb5, 0xf3, 0x2f,
- 0xe3, 0x91, 0x01, 0x30, 0x7a, 0x6a, 0x76, 0x31, 0x77, 0x9a, 0x6b, 0xec,
- 0x02, 0xe7, 0x11, 0xd5, 0x34, 0x0a, 0xca, 0x8e, 0x7a, 0x96, 0x38, 0x4f,
- 0xa5, 0xdf, 0xb6, 0x09, 0xed, 0xb9, 0xbb, 0x55, 0x5a, 0xfe, 0xfc, 0x0c,
- 0x81, 0x17, 0x34, 0xc8, 0x69, 0xaa, 0x34, 0xf3, 0xe7, 0x5f, 0x9f, 0x4f,
- 0x70, 0xe1, 0x39, 0x45, 0x0d, 0x55, 0xd2, 0xe6, 0xc5, 0xd1, 0x66, 0x0b,
- 0xcf, 0x75, 0x85, 0x50, 0x86, 0xbe, 0x3a, 0xc9, 0x4d, 0xae, 0x5b, 0x83,
- 0x45, 0x70, 0x4c, 0x67, 0x56, 0xe6, 0x4f, 0x6b, 0x81, 0x74, 0x02, 0x4e,
- 0xfa, 0x3a, 0x82, 0xeb, 0xb3, 0x03, 0x13, 0xec, 0x20, 0xbc, 0x38, 0x95,
- 0x12, 0xcd, 0xd3, 0x2e, 0x45, 0x38, 0xc3, 0xf0, 0x8d, 0x11, 0xab, 0xa0,
- 0x6e, 0x24, 0xf8, 0xbb, 0x6c, 0x90, 0x62, 0x29, 0x6f, 0x8f, 0x52, 0x6c,
- 0x9f, 0x43, 0x44, 0xe8, 0xf0, 0x0c, 0xdc, 0x55, 0x6a, 0x5b, 0xa0, 0x46,
- 0x19, 0x7f, 0x99, 0xea, 0x33, 0x8d, 0xd3, 0x34, 0xe1, 0xf8, 0x13, 0xbe,
- 0x6e, 0xcb, 0x39, 0xc8, 0x0a, 0x45, 0x7d, 0xb2, 0xf7, 0x94, 0xab, 0x9d,
- 0x82, 0x12, 0x18, 0x95, 0xa0, 0x1c, 0x52, 0x6a, 0x53, 0x8d, 0x61, 0x09,
- 0x0d, 0x7f, 0x8a, 0x4f, 0x42, 0x81, 0xf6, 0x0f, 0x56, 0x0f, 0xa7, 0x2d,
- 0x3a, 0x3e, 0x21, 0xd2, 0xe8, 0x43, 0x0c, 0x77, 0x20, 0x54, 0x1f, 0x50,
- 0xc6, 0x24, 0x85, 0x6c, 0x5b, 0x14, 0x0e, 0x98, 0xd4, 0x3b, 0xda, 0x56,
- 0xcd, 0xfe, 0xe9, 0x65, 0x15, 0x28, 0x21, 0x01, 0xb5, 0x9e, 0xe2, 0xdb,
- 0x2c, 0x2c, 0xc0, 0xa2, 0x8e, 0xa9, 0x7a, 0x04, 0x4f, 0x39, 0x79, 0xa8,
- 0x38, 0xbe, 0x40, 0xbf, 0xc3, 0xb9, 0xa4, 0xa0, 0xd7, 0x61, 0x48, 0xdb,
- 0x42, 0x98, 0x06, 0xaa, 0x2a, 0xa4, 0x8e, 0x95, 0xbe, 0x66, 0xfc, 0x75,
- 0x0f, 0xe3, 0x69, 0x3f, 0x2f, 0x52, 0x94, 0x37, 0x94, 0xc8, 0xa9, 0x83,
- 0x21, 0xdd, 0x77, 0x89, 0x9f, 0xa0, 0xf5, 0x18, 0x1a, 0x4e, 0x23, 0x6b,
- 0x51, 0xc4, 0xa1, 0x35, 0x6f, 0xe8, 0x39, 0xd1, 0x2b, 0xfe, 0xce, 0x8c,
- 0x2a, 0xd0, 0x09, 0xa1, 0xfa, 0x72, 0xad, 0xc1, 0x31, 0xbd, 0x5c, 0x35,
- 0xe5, 0xc5, 0xac, 0xd6, 0x2e, 0x14, 0x63, 0xb0, 0x40, 0x78, 0x05, 0x57,
- 0xb2, 0x7b, 0xbe, 0xa8, 0xb4, 0x2c, 0x97, 0x74, 0x60, 0x6f, 0x4f, 0xcf,
- 0x4e, 0x4c, 0x56, 0xdb, 0xff, 0xda, 0xec, 0xe3, 0x96, 0x17, 0x23, 0x2f,
- 0x87, 0x8f, 0x6b, 0x48, 0x9d, 0x82, 0x60, 0x29, 0x32, 0xfd, 0xb6, 0xcb,
- 0x9d, 0x2f, 0xe9, 0xc7, 0xb5, 0x0a, 0xd3, 0x93, 0xf3, 0xef, 0x4e, 0xaf,
- 0x2e, 0xce, 0xdf, 0x9f, 0x9c, 0x5f, 0x7f, 0xe6, 0xb0, 0xbb, 0x50, 0x5f,
- 0x87, 0xd2, 0x4f, 0x2e, 0x48, 0x31, 0x1c, 0x74, 0x4f, 0x45, 0x80, 0xdc,
- 0x5d, 0x05, 0x56, 0x2a, 0xff, 0xea, 0xbb, 0xc3, 0x39, 0x0f, 0xa9, 0x67,
- 0x1f, 0x33, 0x49, 0x16, 0xe8, 0xd9, 0x19, 0x63, 0x5c, 0xb5, 0xcf, 0xb1,
- 0x00, 0xd3, 0x39, 0x18, 0x5b, 0x4b, 0x3c, 0x20, 0x94, 0x37, 0xa5, 0x02,
- 0x63, 0xed, 0xd8, 0x67, 0x66, 0x4b, 0x38, 0x08, 0x68, 0x63, 0xa5, 0xb5,
- 0x49, 0x58, 0xe2, 0xfe, 0x20, 0x05, 0xa0, 0x59, 0x14, 0x5c, 0x8d, 0xa2,
- 0xdf, 0x91, 0x42, 0x40, 0x9f, 0xbd, 0xe1, 0x3c, 0x1c, 0x8e, 0xbe, 0x30,
- 0x93, 0x70, 0x72, 0x40, 0x1d, 0x5c, 0x60, 0xa7, 0xc9, 0x71, 0x13, 0x0b,
- 0xd8, 0x59, 0xc5, 0x8f, 0xea, 0x2c, 0x3a, 0xd8, 0xdc, 0xfc, 0x99, 0xfa,
- 0x6b, 0x7f, 0x29, 0x0d, 0xb6, 0x7d, 0x08, 0xd4, 0xd2, 0x99, 0x86, 0x2d,
- 0x19, 0xd2, 0xea, 0x42, 0xa4, 0x5b, 0xb3, 0x9d, 0xe4, 0x06, 0xfe, 0x78,
- 0x79, 0x75, 0xf1, 0xc3, 0x5f, 0x7e, 0xe3, 0x4f, 0x38, 0xc9, 0x66, 0x3f,
- 0x62, 0x0e, 0xa6, 0x0e, 0xfe, 0xf3, 0x6f, 0xfe, 0xb5, 0xfa, 0xf0, 0x5d,
- 0x89, 0xb4, 0x73, 0x33, 0x70, 0x5f, 0x21, 0xe3, 0xe2, 0x6d, 0x06, 0xbb,
- 0xb7, 0x29, 0xd1, 0x91, 0xe3, 0xe3, 0x30, 0xc9, 0x40, 0x24, 0xe2, 0xca,
- 0x3a, 0x81, 0xc6, 0x3e, 0xf4, 0x75, 0x9f, 0x4b, 0x8a, 0x6d, 0x06, 0xaf,
- 0x56, 0x95, 0x63, 0xe5, 0x38, 0xd7, 0x96, 0x53, 0x3e, 0xaa, 0xd9, 0x8f,
- 0xa3, 0xb3, 0xb3, 0xdf, 0x74, 0x13, 0xa8, 0x47, 0xb1, 0x5d, 0x4b, 0xcf,
- 0x68, 0xa8, 0xf2, 0xf4, 0x13, 0x48, 0xb4, 0xe7, 0x17, 0x32, 0x9b, 0x43,
- 0x52, 0x8e, 0x7b, 0x65, 0x02, 0x2a, 0x6d, 0x8c, 0xf1, 0x7e, 0x85, 0x16,
- 0xc7, 0x89, 0x95, 0x9b, 0x9c, 0x38, 0xe9, 0x21, 0x9d, 0xd3, 0x43, 0x94,
- 0x2c, 0x40, 0x26, 0x14, 0xe5, 0x55, 0xf2, 0x6e, 0x72, 0x59, 0x1c, 0xd5,
- 0x2d, 0xe4, 0x06, 0x97, 0x88, 0x3b, 0xa6, 0x73, 0xc7, 0xee, 0x49, 0xa0,
- 0x21, 0x33, 0xa3, 0x43, 0xa0, 0xbc, 0x2d, 0xd2, 0xf2, 0x96, 0x8a, 0x3a,
- 0xf0, 0x86, 0x92, 0x82, 0xa4, 0xf5, 0xfb, 0xa8, 0xf2, 0xd2, 0x9c, 0xfa,
- 0x0c, 0x31, 0x62, 0xab, 0xe9, 0xd2, 0x32, 0x34, 0x3b, 0xea, 0x6c, 0xc5,
- 0xa2, 0x18, 0xdd, 0xa8, 0xec, 0x84, 0x8e, 0x6b, 0xa5, 0x5d, 0x02, 0xcf,
- 0xce, 0x49, 0x54, 0xa5, 0xc1, 0x19, 0x08, 0x95, 0xa5, 0x77, 0xb5, 0xdc,
- 0x18, 0x1f, 0xe0, 0x4f, 0x57, 0x65, 0x32, 0x9b, 0x84, 0x2b, 0xec, 0x83,
- 0xdc, 0x42, 0x2a, 0xfc, 0x4d, 0xcb, 0x78, 0x25, 0x56, 0x3c, 0xac, 0x84,
- 0x30, 0x69, 0x30, 0xb4, 0xe0, 0xfb, 0xeb, 0x84, 0x0e, 0x6b, 0x79, 0x06,
- 0x0f, 0xb6, 0xd1, 0x57, 0xe4, 0x54, 0xb3, 0x72, 0x9e, 0x98, 0x9e, 0xed,
- 0xeb, 0xb1, 0x5f, 0x30, 0x05, 0x1c, 0xc9, 0xc5, 0xef, 0x50, 0xc9, 0xdb,
- 0x7b, 0x88, 0x14, 0x38, 0x84, 0xcf, 0xa9, 0xf6, 0x8c, 0xfc, 0xe6, 0x39,
- 0xc3, 0x51, 0xfb, 0x84, 0x12, 0x73, 0xa3, 0x65, 0xaa, 0x51, 0x85, 0xd9,
- 0xbd, 0x55, 0x24, 0x7e, 0x71, 0x56, 0xc2, 0x09, 0x6b, 0xc7, 0xaf, 0x93,
- 0x70, 0x26, 0xbe, 0x6a, 0xa2, 0xad, 0x33, 0x0d, 0xc4, 0x86, 0xe1, 0x31,
- 0x74, 0xc1, 0x33, 0x88, 0x8c, 0x3b, 0x9e, 0x99, 0x27, 0x69, 0xab, 0x3c,
- 0x47, 0xd6, 0xe3, 0x14, 0x4a, 0x2b, 0x09, 0x05, 0xe1, 0x82, 0xe9, 0x37,
- 0xee, 0x95, 0x91, 0xbb, 0x60, 0x4a, 0xda, 0x49, 0x09, 0x37, 0x65, 0xa1,
- 0x36, 0xd2, 0x8e, 0xe1, 0x96, 0xc8, 0xf7, 0x8f, 0x53, 0xfc, 0x05, 0x85,
- 0x3a, 0x31, 0x22, 0x8a, 0x95, 0x98, 0xba, 0x03, 0x29, 0x96, 0xa5, 0xfa,
- 0xba, 0xa1, 0x96, 0x19, 0x6b, 0x70, 0x0b, 0x44, 0xe0, 0x2c, 0x2f, 0x43,
- 0x70, 0x9a, 0x43, 0xcc, 0x9a, 0x4f, 0xa8, 0x15, 0x0f, 0x5f, 0x79, 0xf8,
- 0xef, 0xf5, 0xc5, 0xf1, 0xc5, 0x19, 0xfc, 0xe5, 0xe4, 0xed, 0xe9, 0x0f,
- 0x56, 0x2b, 0x60, 0x80, 0x8a, 0x5a, 0x81, 0x0c, 0xe1, 0x2e, 0xbe, 0xec,
- 0xba, 0x6c, 0x88, 0x73, 0x10, 0x31, 0xfd, 0x90, 0x53, 0xe2, 0x9a, 0x14,
- 0x6a, 0xb8, 0xa5, 0xc3, 0xe7, 0x50, 0x4e, 0x63, 0xbe, 0xa8, 0x83, 0x3f,
- 0x12, 0x0b, 0xf0, 0x12, 0x6a, 0xd1, 0x3c, 0xb2, 0x29, 0xa6, 0xb0, 0x9b,
- 0x8c, 0x35, 0x52, 0x2e, 0x9b, 0x93, 0x6c, 0x54, 0xfb, 0xc9, 0x54, 0x61,
- 0x89, 0x6a, 0x93, 0xcb, 0x0b, 0xd3, 0xa7, 0xb6, 0x72, 0x7b, 0xa0, 0x37,
- 0x9a, 0xce, 0xb8, 0x88, 0xf6, 0x59, 0xe2, 0x2e, 0xd2, 0x34, 0x2e, 0xaf,
- 0x8a, 0x84, 0xb8, 0x22, 0x01, 0xd5, 0xa1, 0x22, 0xe0, 0xa2, 0x7c, 0x34,
- 0x28, 0x82, 0x2a, 0x74, 0xcc, 0x88, 0xf5, 0x35, 0xc9, 0x06, 0x48, 0x2e,
- 0x1f, 0xe5, 0x56, 0xa0, 0x1e, 0xef, 0x40, 0xfc, 0x08, 0xb5, 0x06, 0xcb,
- 0x05, 0xa5, 0x4e, 0x09, 0xff, 0xa0, 0xec, 0x2a, 0x8e, 0x62, 0x08, 0x47,
- 0xbd, 0x76, 0x9a, 0xaf, 0xb3, 0x54, 0x90, 0xe0, 0xd3, 0xc2, 0x37, 0xad,
- 0xf0, 0x0c, 0x44, 0xd9, 0xaf, 0x6b, 0x1c, 0x65, 0xdb, 0xa7, 0xd1, 0x44,
- 0x95, 0x3d, 0xb0, 0x9f, 0xf6, 0xb2, 0xae, 0x31, 0xeb, 0xbb, 0xdc, 0x5b,
- 0x35, 0x06, 0x6a, 0x84, 0x7f, 0x5b, 0xa6, 0x77, 0x31, 0xd5, 0x96, 0xc1,
- 0x65, 0xe9, 0xf5, 0xf8, 0xa5, 0xc6, 0x18, 0xf1, 0xaf, 0x1a, 0x24, 0xae,
- 0x8f, 0xb2, 0xff, 0x6b, 0x06, 0xd9, 0x6f, 0x8c, 0x71, 0xf3, 0xab, 0x06,
- 0xe9, 0xa9, 0x80, 0x00, 0xc5, 0xf8, 0x87, 0xd3, 0xeb, 0xe8, 0xf8, 0xe2,
- 0x8d, 0xbd, 0x60, 0xd7, 0x26, 0x7b, 0x3b, 0x8e, 0x86, 0xcb, 0x0c, 0x68,
- 0x10, 0xbb, 0x25, 0x99, 0xfe, 0x13, 0x9c, 0xa6, 0x88, 0x39, 0x38, 0xa5,
- 0x56, 0xac, 0xa5, 0x05, 0x43, 0x11, 0x61, 0x5e, 0x0d, 0x23, 0x29, 0x39,
- 0x35, 0xba, 0xf8, 0xf4, 0x1c, 0x81, 0x8e, 0xa6, 0x2a, 0x7d, 0xf1, 0x56,
- 0x22, 0xd6, 0x5d, 0x5c, 0x68, 0x55, 0xe9, 0x30, 0x46, 0x30, 0xa3, 0x8c,
- 0x6b, 0x23, 0x41, 0x76, 0x06, 0xa0, 0x87, 0x75, 0x38, 0x17, 0x81, 0x18,
- 0x74, 0xe7, 0xb4, 0xd2, 0xa9, 0xb8, 0x99, 0x84, 0xdb, 0x9a, 0xeb, 0x5f,
- 0xa3, 0x74, 0x69, 0x40, 0x47, 0xc2, 0x0f, 0xf3, 0xba, 0xc7, 0x06, 0xce,
- 0x1a, 0x55, 0xe2, 0xcc, 0xe6, 0xec, 0x73, 0x1b, 0x6a, 0x4f, 0x62, 0x9b,
- 0x21, 0xcc, 0x77, 0x76, 0x24, 0x94, 0x00, 0x2a, 0x3a, 0xfb, 0x0d, 0x24,
- 0xaf, 0x2c, 0xfd, 0xbb, 0xa3, 0xa0, 0xef, 0x1a, 0x7d, 0x0c, 0x56, 0x3e,
- 0xa3, 0xde, 0xce, 0x63, 0xbe, 0x10, 0xe5, 0x23, 0x08, 0xf5, 0x07, 0x32,
- 0xc8, 0xd1, 0x7e, 0x12, 0x38, 0x27, 0xfb, 0xe6, 0x9e, 0x68, 0x65, 0x91,
- 0xc1, 0x8d, 0xa2, 0x06, 0x59, 0x8b, 0x7a, 0x34, 0xc8, 0x7a, 0x2d, 0xb4,
- 0x44, 0x9a, 0x42, 0x9c, 0x49, 0x89, 0xbd, 0xa6, 0x03, 0x9e, 0x0b, 0x9b,
- 0x78, 0xc0, 0xf0, 0x0d, 0x5c, 0x6e, 0x2d, 0xf0, 0xdb, 0x4e, 0x23, 0x41,
- 0x03, 0xf6, 0x83, 0x99, 0x49, 0xb4, 0x5f, 0x3d, 0xee, 0xa2, 0xe4, 0xd5,
- 0xa5, 0xdb, 0x0a, 0x4c, 0xb5, 0x38, 0xc6, 0x39, 0x6d, 0x60, 0x97, 0x32,
- 0x79, 0xb1, 0xe9, 0x7d, 0x8c, 0x50, 0x0f, 0xd4, 0xbc, 0x30, 0xce, 0xb8,
- 0xd2, 0x50, 0x4f, 0x20, 0x5c, 0x73, 0x67, 0x6b, 0x9e, 0xf6, 0xf9, 0x8f,
- 0x63, 0xd5, 0xd8, 0xa4, 0x6c, 0xc8, 0x65, 0x2c, 0x2c, 0x64, 0xc4, 0xba,
- 0xc9, 0x09, 0xa3, 0x03, 0x65, 0x10, 0xad, 0x8f, 0x18, 0xa4, 0xbf, 0x09,
- 0x65, 0xc3, 0xc7, 0xf9, 0xa2, 0xe5, 0x2b, 0x0c, 0xe9, 0x64, 0x3f, 0xe2,
- 0xfa, 0xe4, 0x75, 0x0b, 0xe5, 0x59, 0x67, 0xb4, 0x97, 0x4d, 0xba, 0x70,
- 0x3c, 0xfb, 0x34, 0xa2, 0x79, 0xf2, 0x73, 0xf1, 0x45, 0x24, 0x58, 0xb4,
- 0x28, 0xca, 0x73, 0x91, 0x2c, 0x66, 0xb2, 0x32, 0xf9, 0x09, 0x05, 0x8e,
- 0xc9, 0x9b, 0x40, 0xbb, 0x3c, 0xd2, 0x59, 0x82, 0x3a, 0xec, 0x9a, 0x82,
- 0xaf, 0xe4, 0xb3, 0xd8, 0xa6, 0x8d, 0x55, 0x07, 0xc2, 0xdd, 0x48, 0x0d,
- 0xbd, 0x49, 0x5b, 0x78, 0xfa, 0x11, 0x26, 0x38, 0x12, 0xaa, 0x83, 0xfe,
- 0x5b, 0xde, 0xf0, 0x90, 0xee, 0x1a, 0xae, 0x64, 0x5c, 0xed, 0xb2, 0xe0,
- 0xa2, 0x5d, 0x8b, 0xed, 0xa8, 0x60, 0xeb, 0x92, 0xff, 0x57, 0x20, 0x24,
- 0x5f, 0x1f, 0x78, 0x51, 0xee, 0xa1, 0x4f, 0xe6, 0x93, 0x4a, 0xb0, 0xbf,
- 0xb8, 0x23, 0x1a, 0xef, 0xcf, 0x4d, 0x9c, 0x4d, 0x13, 0xf6, 0xbf, 0x38,
- 0xf0, 0x94, 0xdc, 0x4d, 0x8f, 0xc5, 0x21, 0xdc, 0x75, 0x72, 0xf2, 0xb4,
- 0xa2, 0x4f, 0xd8, 0x7d, 0xd8, 0xde, 0x32, 0xfb, 0xc0, 0x8d, 0xb2, 0xa8,
- 0x3a, 0x05, 0x77, 0xe1, 0x7b, 0x42, 0x24, 0xbc, 0x8f, 0xb9, 0x91, 0xae,
- 0xb6, 0x9b, 0xb7, 0x46, 0x8b, 0x09, 0xf3, 0x60, 0x64, 0xcd, 0xcf, 0x93,
- 0x26, 0x24, 0x07, 0xcc, 0x82, 0x41, 0x7d, 0x80, 0x53, 0x3d, 0xb9, 0xbc,
- 0x51, 0xc4, 0x55, 0x97, 0x0c, 0x7a, 0xc3, 0x20, 0x39, 0xce, 0x4a, 0xbc,
- 0xf7, 0x2e, 0x09, 0xc1, 0x66, 0x28, 0x6e, 0x95, 0x93, 0xcd, 0x61, 0x41,
- 0x43, 0x9c, 0xf5, 0x6c, 0x9b, 0xf5, 0xdc, 0x13, 0xa1, 0x5c, 0x1e, 0x0d,
- 0x06, 0x4a, 0x26, 0xc7, 0x3e, 0x45, 0x48, 0xf4, 0x88, 0x10, 0x74, 0xa4,
- 0x48, 0x3a, 0xa0, 0x2a, 0xca, 0x20, 0x8d, 0x24, 0x83, 0x6d, 0xe6, 0x69,
- 0x6f, 0x98, 0x31, 0x93, 0x36, 0x21, 0xeb, 0x65, 0xba, 0xd2, 0x15, 0xdf,
- 0xaf, 0xde, 0xc9, 0xcf, 0x82, 0xe9, 0x2a, 0x1c, 0xb0, 0xc4, 0x7d, 0xa6,
- 0x62, 0x64, 0xe5, 0xf1, 0xa4, 0x1a, 0x3e, 0x2c, 0xd2, 0x5a, 0xcf, 0xc2,
- 0xed, 0x5d, 0x7f, 0xd1, 0xdf, 0xf1, 0xaa, 0xba, 0xff, 0xd2, 0xa2, 0xbf,
- 0x0b, 0x2c, 0x7a, 0xcf, 0x5e, 0x1c, 0xfe, 0x58, 0xb4, 0xb3, 0xf3, 0x52,
- 0x0b, 0x42, 0x80, 0x8e, 0xe9, 0x7b, 0xf6, 0x83, 0xce, 0x17, 0xe1, 0xb9,
- 0x1e, 0xd5, 0x1f, 0xf8, 0xdf, 0x72, 0x2e, 0xaf, 0xf3, 0xa9, 0x7d, 0xf3,
- 0x29, 0x50, 0xbf, 0xd1, 0x02, 0x05, 0x9d, 0x9e, 0xb9, 0x8c, 0xc7, 0x7c,
- 0xd4, 0x94, 0x43, 0x35, 0xfc, 0x1e, 0xf3, 0xa7, 0x2a, 0xa3, 0x4b, 0x36,
- 0x3e, 0xa5, 0xb3, 0x70, 0xbe, 0xf3, 0xc2, 0xb8, 0x51, 0x36, 0x77, 0x34,
- 0x80, 0x7e, 0x44, 0xbc, 0x78, 0x96, 0xcc, 0x89, 0x32, 0xc7, 0x09, 0xa2,
- 0xf5, 0x58, 0xf7, 0x1f, 0xd7, 0xdc, 0x4d, 0x8a, 0x98, 0xd0, 0x96, 0x67,
- 0xf1, 0x63, 0x00, 0x6c, 0x4b, 0x3c, 0xc5, 0x6c, 0xae, 0xc4, 0x38, 0xfb,
- 0x0c, 0x6d, 0x05, 0xd2, 0x04, 0xc4, 0x6d, 0x86, 0x7e, 0x58, 0x3c, 0xd1,
- 0x7c, 0x62, 0x5c, 0xb5, 0xf2, 0x55, 0x0f, 0x0e, 0xa0, 0x94, 0x06, 0x86,
- 0x7c, 0x65, 0x44, 0x4b, 0x08, 0x63, 0xc3, 0x6d, 0xbf, 0xb4, 0x47, 0x64,
- 0xce, 0x01, 0x1d, 0x5b, 0x0c, 0x11, 0xe2, 0xec, 0x9e, 0xf2, 0x12, 0x8d,
- 0x07, 0x48, 0x1f, 0x1d, 0x8c, 0xd2, 0xa5, 0xbe, 0xd5, 0x5c, 0x38, 0x0a,
- 0xe2, 0x36, 0x73, 0xe3, 0x4b, 0x64, 0x76, 0x02, 0xb8, 0xdb, 0x8f, 0x2e,
- 0xc8, 0x0b, 0x57, 0x83, 0x18, 0x9f, 0x30, 0xe9, 0xdb, 0xa2, 0xd1, 0x3a,
- 0xe1, 0xbe, 0xb2, 0x27, 0xac, 0x73, 0xd2, 0xe4, 0x97, 0x4d, 0x65, 0xb2,
- 0x46, 0xa0, 0xa8, 0xb7, 0x39, 0x89, 0xae, 0x4e, 0xae, 0xaf, 0x28, 0xce,
- 0x4b, 0x0c, 0xc0, 0x03, 0x49, 0x8d, 0x8b, 0x0d, 0x03, 0x12, 0x24, 0xec,
- 0xcc, 0xea, 0x21, 0x96, 0x41, 0x30, 0x7e, 0x99, 0x39, 0x6f, 0xfe, 0xa7,
- 0xbe, 0xc7, 0xd5, 0x2f, 0x89, 0xd6, 0x9a, 0xd8, 0x88, 0x4e, 0x1d, 0x59,
- 0x6d, 0x67, 0xc7, 0x66, 0x21, 0x71, 0x73, 0x63, 0x16, 0x73, 0x92, 0x49,
- 0xde, 0x97, 0xec, 0x16, 0x2d, 0xbe, 0xd0, 0x66, 0x76, 0xf8, 0x10, 0x67,
- 0x63, 0xe7, 0x45, 0x40, 0xe4, 0xca, 0xa7, 0x55, 0xfe, 0xf3, 0x14, 0x2c,
- 0x8a, 0x1a, 0x7f, 0x8d, 0x7f, 0xca, 0xdc, 0x53, 0x2a, 0x00, 0xa3, 0xbd,
- 0xad, 0xad, 0x00, 0xec, 0x70, 0x3c, 0x04, 0xa6, 0x2a, 0xda, 0x9c, 0x54,
- 0xf5, 0xd0, 0x5b, 0xec, 0x35, 0x25, 0xf5, 0xb2, 0x44, 0x53, 0xa3, 0x37,
- 0x41, 0x37, 0x26, 0xee, 0x98, 0x6f, 0x54, 0xec, 0x30, 0x8f, 0xf9, 0x9e,
- 0xaa, 0x8c, 0x74, 0xd3, 0x1a, 0xcc, 0x85, 0x4b, 0x90, 0xb4, 0x7b, 0x6e,
- 0xec, 0x80, 0x31, 0x8b, 0xff, 0xdb, 0x9b, 0x99, 0xc7, 0xbf, 0x77, 0xf6,
- 0x7d, 0x8a, 0x18, 0x5c, 0x5f, 0x5c, 0x09, 0x85, 0xf9, 0xa2, 0x99, 0x77,
- 0x84, 0x1e, 0xb1, 0x68, 0x2b, 0x5d, 0x1f, 0x72, 0x67, 0x6c, 0xf0, 0x01,
- 0x0c, 0x8a, 0xa9, 0xf3, 0x55, 0xe6, 0x00, 0xd4, 0x40, 0x4f, 0x96, 0xf6,
- 0x9d, 0x20, 0x02, 0x28, 0x5e, 0xaf, 0xde, 0x4b, 0xe7, 0x25, 0xbe, 0x66,
- 0x17, 0x7c, 0x7f, 0xb9, 0x7a, 0x1d, 0xe9, 0x48, 0xea, 0xd8, 0x11, 0xef,
- 0x57, 0xd2, 0x61, 0x4d, 0xa7, 0xcf, 0x26, 0x2d, 0xf2, 0x25, 0xba, 0xb0,
- 0x90, 0xcc, 0xcc, 0xe1, 0x65, 0x9d, 0xc6, 0x2a, 0xa6, 0x6e, 0xb3, 0xc8,
- 0x27, 0x18, 0xb2, 0x58, 0x12, 0x9b, 0x62, 0xf6, 0x85, 0x8d, 0x3c, 0x58,
- 0xf7, 0xbc, 0x18, 0x4b, 0xfa, 0x8a, 0x08, 0x4e, 0x35, 0x16, 0xac, 0x9e,
- 0x6d, 0xa5, 0xfe, 0xe5, 0xc5, 0xd5, 0xb5, 0x91, 0xf9, 0xf8, 0x59, 0xfa,
- 0x41, 0xe3, 0xf6, 0x60, 0xbf, 0x14, 0xc1, 0x9f, 0x10, 0xc9, 0x46, 0x3d,
- 0x7c, 0x3f, 0x0b, 0x42, 0x10, 0xc8, 0x91, 0xd0, 0x38, 0x3a, 0x50, 0x97,
- 0x3a, 0xed, 0x8d, 0x73, 0x86, 0xf3, 0x31, 0xfc, 0x86, 0x3d, 0xe8, 0x24,
- 0x68, 0x5a, 0x90, 0xc1, 0xac, 0x72, 0xbb, 0xbb, 0xed, 0x53, 0x06, 0xda,
- 0xd0, 0x57, 0x27, 0x83, 0x6b, 0x9e, 0x39, 0xfe, 0xcd, 0x9b, 0x39, 0xd7,
- 0x87, 0xca, 0x0f, 0x7d, 0x27, 0xaa, 0xa1, 0x0c, 0xcc, 0x40, 0x03, 0x6b,
- 0x83, 0xc6, 0x37, 0x05, 0xee, 0xce, 0x8e, 0xed, 0x3a, 0xd9, 0x86, 0xc4,
- 0x34, 0x85, 0x4e, 0xe8, 0x7e, 0xd3, 0x0f, 0x3a, 0xf2, 0x95, 0x0e, 0xa8,
- 0x65, 0x7c, 0x1d, 0x6a, 0xf0, 0xeb, 0xbb, 0x7b, 0x76, 0x84, 0x05, 0x4a,
- 0x2a, 0x19, 0xe0, 0x54, 0xdb, 0xe4, 0xe2, 0x0f, 0x7b, 0x4a, 0x2a, 0x24,
- 0x2c, 0x98, 0x28, 0xf8, 0x39, 0x3b, 0xce, 0xbe, 0x94, 0xa8, 0x9f, 0x19,
- 0x55, 0xc1, 0x99, 0x0a, 0xfe, 0x58, 0x53, 0x7e, 0x48, 0xdb, 0x68, 0x90,
- 0xdc, 0x2e, 0x53, 0xfa, 0xd7, 0x98, 0x2d, 0x68, 0xd2, 0x16, 0x79, 0xed,
- 0xae, 0x5c, 0x00, 0x65, 0x2b, 0xcd, 0x96, 0x09, 0xe9, 0x68, 0x71, 0x31,
- 0xc3, 0x5e, 0x0f, 0xc0, 0x44, 0x0a, 0xae, 0x1f, 0xbb, 0xcf, 0x42, 0xb0,
- 0xd4, 0xce, 0x37, 0x44, 0xfe, 0x9c, 0x9e, 0x9d, 0xd8, 0xa3, 0xe2, 0x3e,
- 0x11, 0x74, 0x89, 0xad, 0xae, 0x8f, 0xad, 0xed, 0x8d, 0x98, 0xe8, 0x47,
- 0x97, 0xd8, 0xb3, 0x9c, 0x74, 0xa6, 0xf2, 0xdf, 0xed, 0x68, 0x7c, 0x49,
- 0xc8, 0x03, 0x0f, 0x62, 0x93, 0xca, 0x9d, 0xd3, 0x0c, 0x4e, 0x96, 0x7e,
- 0x82, 0x7f, 0x75, 0x30, 0xcd, 0xbd, 0xe5, 0xbe, 0xb2, 0x2f, 0x97, 0xb0,
- 0x12, 0xb0, 0xd0, 0x9b, 0x8f, 0xec, 0x09, 0x5d, 0x81, 0xf9, 0x4e, 0x43,
- 0x18, 0xd6, 0x8c, 0x77, 0x59, 0x9a, 0xc5, 0x8c, 0x79, 0x84, 0x89, 0x3e,
- 0x53, 0x63, 0xe1, 0xce, 0x50, 0x2c, 0x0c, 0x8e, 0x86, 0xa6, 0x81, 0x10,
- 0x26, 0x09, 0xa3, 0x22, 0x07, 0x63, 0x65, 0xc8, 0x69, 0x67, 0x26, 0xd7,
- 0xde, 0x8d, 0x01, 0xd3, 0xd6, 0x1a, 0xbc, 0xa8, 0xe6, 0xe6, 0x36, 0x1a,
- 0xb0, 0xef, 0x31, 0x25, 0x1a, 0xb2, 0x31, 0xf2, 0xab, 0x36, 0x3b, 0xc9,
- 0x4e, 0x16, 0xdc, 0x3b, 0x74, 0x1a, 0x60, 0x3c, 0x00, 0xe4, 0xbb, 0xab,
- 0xfc, 0xef, 0xed, 0xdb, 0xa1, 0x26, 0x04, 0xde, 0xa3, 0x7c, 0xfd, 0xa8,
- 0xe6, 0x94, 0x33, 0x9d, 0x24, 0x52, 0xf3, 0x24, 0x9b, 0x8d, 0x5c, 0x7b,
- 0x1e, 0xb8, 0x52, 0xce, 0x37, 0x5e, 0x8a, 0xe9, 0x8b, 0xb6, 0x6f, 0xf6,
- 0x68, 0x93, 0xef, 0xfb, 0x1c, 0x55, 0x66, 0xbf, 0x19, 0x37, 0xaa, 0x91,
- 0xdf, 0x08, 0x08, 0xe3, 0x8d, 0xf8, 0x65, 0xb0, 0x15, 0x95, 0x87, 0xb8,
- 0xb8, 0x9c, 0x4b, 0x0e, 0xaf, 0xf3, 0xa5, 0xcf, 0xc5, 0x93, 0x81, 0xc5,
- 0xe7, 0x99, 0x05, 0x29, 0x72, 0x16, 0x82, 0x8a, 0xae, 0x58, 0xcd, 0x1a,
- 0xca, 0x07, 0xe6, 0x38, 0x8a, 0x4d, 0x0a, 0xb0, 0x8f, 0xb1, 0x87, 0xc8,
- 0x65, 0xc8, 0x66, 0x45, 0xd9, 0x55, 0x8f, 0x42, 0xae, 0x45, 0xc0, 0xe2,
- 0x59, 0x90, 0xc7, 0xf8, 0x57, 0xa6, 0x69, 0x90, 0xef, 0x12, 0x2f, 0x92,
- 0xbf, 0x92, 0x22, 0xd9, 0x37, 0xdd, 0x5a, 0x35, 0xa0, 0x1c, 0x67, 0xcb,
- 0xd8, 0xb1, 0xe5, 0xf7, 0x5e, 0x89, 0x87, 0x4a, 0xdc, 0x20, 0x18, 0x59,
- 0xcf, 0x10, 0xfc, 0xba, 0x11, 0x5e, 0xdc, 0xdf, 0x36, 0xbe, 0x4a, 0x4c,
- 0x99, 0x95, 0x3a, 0x10, 0x37, 0x71, 0x16, 0xe1, 0x8f, 0x07, 0xef, 0xa2,
- 0xf7, 0x6f, 0xf6, 0x31, 0xa1, 0x67, 0x9a, 0x14, 0x8b, 0x02, 0x93, 0x38,
- 0x95, 0x86, 0x2f, 0xbe, 0x75, 0x06, 0xdb, 0xb1, 0xd9, 0x17, 0x0a, 0x8e,
- 0x28, 0xcc, 0x4c, 0xec, 0x05, 0x38, 0x42, 0x2c, 0x7c, 0x9e, 0x6a, 0x0b,
- 0x4c, 0xc5, 0xf1, 0x53, 0xb4, 0x2a, 0xd2, 0x5a, 0x3e, 0x6b, 0x26, 0x85,
- 0xd7, 0x18, 0xd8, 0xfe, 0xae, 0x65, 0x60, 0xc5, 0xe3, 0x02, 0x9b, 0xab,
- 0x64, 0x53, 0x34, 0x0b, 0x02, 0x37, 0x6a, 0x9f, 0x99, 0xe6, 0x31, 0xdf,
- 0x7b, 0xd4, 0x61, 0xfd, 0xd7, 0x48, 0x3d, 0x27, 0x77, 0xa9, 0xf3, 0xde,
- 0xbe, 0xeb, 0x55, 0x28, 0xa5, 0x33, 0x9a, 0xb4, 0xc4, 0x20, 0x0d, 0xc5,
- 0x79, 0xf6, 0x85, 0x79, 0x16, 0xfd, 0x46, 0x69, 0xe6, 0xb4, 0x30, 0x6a,
- 0x79, 0x43, 0x94, 0x5f, 0x35, 0x10, 0x54, 0x31, 0x63, 0x7d, 0xc7, 0xd9,
- 0x7b, 0xe7, 0x95, 0x57, 0x75, 0xa7, 0x09, 0xf5, 0x36, 0x30, 0x84, 0x49,
- 0x8b, 0xa2, 0xce, 0xb2, 0x8e, 0x9b, 0x85, 0x65, 0xf4, 0x65, 0x33, 0x0f,
- 0x5a, 0x79, 0x60, 0xe2, 0x22, 0x88, 0xe8, 0x55, 0x67, 0xd2, 0x3f, 0x3e,
- 0x8a, 0xda, 0x8a, 0x80, 0x88, 0xd6, 0x9d, 0x8f, 0x6c, 0xcb, 0x9d, 0xc1,
- 0xbe, 0xd4, 0xd3, 0x2c, 0xfd, 0x7b, 0xe2, 0xe4, 0x82, 0x69, 0xfb, 0x29,
- 0xe7, 0xf1, 0x1d, 0x61, 0x18, 0xdc, 0x7b, 0x98, 0x98, 0x22, 0x06, 0x4f,
- 0xed, 0x03, 0xbb, 0x42, 0xb5, 0xdc, 0x3d, 0x8e, 0x73, 0x1f, 0x60, 0x54,
- 0x0a, 0xdd, 0x27, 0xb5, 0xb4, 0xfa, 0x17, 0x7b, 0xa2, 0x73, 0xa9, 0x6e,
- 0x8c, 0x92, 0x17, 0x37, 0x62, 0x46, 0x80, 0x8c, 0x4d, 0x36, 0xfd, 0x42,
- 0xc4, 0x9e, 0x1c, 0xa5, 0x69, 0x41, 0x65, 0xda, 0x79, 0xe1, 0x5f, 0xef,
- 0xd3, 0x4c, 0x12, 0xdd, 0xbd, 0xd7, 0x5f, 0xb4, 0xb8, 0x1f, 0x4b, 0x96,
- 0x99, 0x27, 0x44, 0x4b, 0xce, 0xf3, 0x2f, 0xed, 0x4d, 0xb0, 0x08, 0xb4,
- 0x5d, 0x8b, 0x7b, 0xdb, 0x75, 0x31, 0x4b, 0xf5, 0x2e, 0xb1, 0x0b, 0x25,
- 0xe1, 0x5e, 0x07, 0x01, 0x64, 0xf9, 0x89, 0xf9, 0xfc, 0x2c, 0x47, 0x6e,
- 0xea, 0x7c, 0x8f, 0x49, 0xea, 0x2d, 0xf5, 0xaa, 0xb0, 0xc6, 0x41, 0x16,
- 0x5d, 0x3b, 0x65, 0xb2, 0xf6, 0xe9, 0x57, 0x42, 0x1b, 0x2a, 0x2f, 0x8d,
- 0xb1, 0xda, 0xf6, 0xc6, 0xcb, 0x2d, 0x57, 0x59, 0x1d, 0x63, 0x54, 0x96,
- 0xcb, 0xf8, 0x5b, 0x5f, 0x60, 0xca, 0x38, 0x05, 0x31, 0x32, 0x05, 0xa2,
- 0xa6, 0x67, 0x2c, 0x9a, 0xa1, 0x7d, 0x6c, 0xa7, 0xc6, 0x74, 0xaf, 0x5d,
- 0xf5, 0x29, 0x3a, 0x7d, 0xe3, 0x3c, 0xb8, 0x6b, 0x17, 0x18, 0xcf, 0x50,
- 0x1b, 0x78, 0x64, 0x3f, 0x55, 0x19, 0xad, 0xe3, 0x5b, 0x0e, 0x66, 0xc9,
- 0x4b, 0xa6, 0x8c, 0xf3, 0x9c, 0x51, 0xb7, 0x68, 0xfb, 0xbd, 0x67, 0x98,
- 0x1c, 0x8e, 0x6f, 0x40, 0xaa, 0x8d, 0x2a, 0xca, 0x09, 0xcd, 0x34, 0xc6,
- 0xd5, 0x3c, 0xfb, 0x97, 0x2f, 0x56, 0x3c, 0x2b, 0x42, 0xb3, 0x34, 0xa2,
- 0xde, 0x79, 0xef, 0xa5, 0x7f, 0xcd, 0xd5, 0x1c, 0xd0, 0x32, 0x05, 0xb8,
- 0x6a, 0x78, 0xd3, 0xa2, 0x75, 0x2c, 0x8f, 0xfe, 0x77, 0x75, 0x0c, 0x16,
- 0x88, 0x27, 0x58, 0xfe, 0xbb, 0x3b, 0xdf, 0xcf, 0xdd, 0x5a, 0x07, 0xf6,
- 0x0a, 0x16, 0x09, 0xc5, 0x09, 0x46, 0xb5, 0x76, 0x11, 0x36, 0x47, 0x88,
- 0x76, 0xc7, 0x19, 0x81, 0xcf, 0x1c, 0xf4, 0x88, 0x65, 0x66, 0x39, 0x07,
- 0x1b, 0x81, 0x82, 0x46, 0x30, 0x76, 0xa1, 0x27, 0x91, 0xe7, 0x8b, 0x07,
- 0xca, 0xf1, 0xa1, 0x6e, 0x35, 0xae, 0x41, 0x79, 0xb3, 0x64, 0x93, 0xdb,
- 0xac, 0xc8, 0x3a, 0xd8, 0x9c, 0xd7, 0x76, 0x2c, 0xf7, 0xa2, 0xb9, 0x91,
- 0xda, 0x78, 0x0c, 0xb3, 0x65, 0x9b, 0xdc, 0xf4, 0x0f, 0xa0, 0x7a, 0xe9,
- 0xfb, 0x22, 0xc7, 0xbf, 0x2a, 0x44, 0xc8, 0x7a, 0xdc, 0x92, 0x9a, 0x29,
- 0x49, 0xe4, 0xce, 0x67, 0x44, 0xb5, 0xc1, 0x14, 0x27, 0x38, 0xa5, 0x9b,
- 0x64, 0x74, 0xab, 0x57, 0x46, 0x06, 0xb1, 0xa9, 0xe7, 0xce, 0x5b, 0x7b,
- 0x66, 0x6b, 0xc9, 0xa0, 0xb9, 0x3a, 0x69, 0x5a, 0x01, 0xf6, 0x51, 0xa6,
- 0x9a, 0xab, 0xeb, 0xc1, 0xe5, 0x01, 0xce, 0x99, 0xe3, 0x86, 0x70, 0x21,
- 0x8e, 0x07, 0xc9, 0xdf, 0xa4, 0xce, 0xac, 0xb4, 0x4f, 0xbf, 0x68, 0x79,
- 0x7a, 0x20, 0x8e, 0xbd, 0x53, 0x42, 0x6a, 0x86, 0x73, 0x70, 0x5f, 0x62,
- 0xa2, 0x59, 0x66, 0xea, 0xdf, 0x67, 0xff, 0x17, 0xce, 0x8c, 0xb8, 0x21,
- 0xc6, 0x96, 0xed, 0xc3, 0x9f, 0x5b, 0x9b, 0xe6, 0x66, 0x99, 0xdd, 0x1a,
- 0x7d, 0x51, 0x70, 0xf4, 0xf4, 0x80, 0xed, 0x0b, 0xaf, 0xf4, 0x6a, 0x38,
- 0x7e, 0x50, 0x93, 0xf7, 0xd4, 0x15, 0x0f, 0x85, 0xb8, 0x1d, 0x25, 0xe6,
- 0x09, 0xfc, 0x75, 0xe9, 0xec, 0xc1, 0xab, 0x2d, 0x23, 0x7e, 0x05, 0x92,
- 0xe7, 0x36, 0x79, 0xb4, 0x54, 0xa7, 0x39, 0x16, 0x8b, 0x34, 0x43, 0x17,
- 0x84, 0x7d, 0xc4, 0x0e, 0xb0, 0x5d, 0x13, 0x02, 0x4d, 0x75, 0xa3, 0xac,
- 0xe2, 0x6a, 0xe9, 0x88, 0x98, 0x57, 0x4c, 0x3b, 0x03, 0x8c, 0x3a, 0xce,
- 0x85, 0x5e, 0xd3, 0x4c, 0xbd, 0x6d, 0x0d, 0x17, 0x9a, 0xbe, 0xf4, 0xc3,
- 0x0f, 0x2c, 0x47, 0x72, 0x05, 0x46, 0x92, 0xd0, 0x95, 0x69, 0xfe, 0x04,
- 0x4c, 0x97, 0x55, 0x0f, 0xbc, 0xc2, 0x14, 0xef, 0x29, 0x12, 0xec, 0x4f,
- 0xa9, 0xd8, 0x37, 0x74, 0x79, 0x42, 0xd1, 0xf3, 0x3c, 0x93, 0x98, 0x2d,
- 0x26, 0x6f, 0x92, 0xeb, 0x93, 0xc1, 0xa6, 0xd9, 0x15, 0x06, 0x33, 0x38,
- 0xfa, 0x70, 0xfd, 0xee, 0xe2, 0x6a, 0x10, 0x6d, 0x62, 0x6d, 0xfb, 0xf5,
- 0xd5, 0xe9, 0xd7, 0x1f, 0xae, 0xe1, 0x9f, 0x3a, 0xd2, 0x9b, 0x38, 0x4b,
- 0x41, 0x3a, 0x0d, 0xaa, 0x24, 0x03, 0x5a, 0x99, 0x6a, 0x8f, 0x26, 0xca,
- 0x41, 0x41, 0x79, 0x9c, 0x17, 0x0a, 0x69, 0x82, 0xe9, 0x28, 0xf9, 0xcc,
- 0x26, 0x13, 0xb0, 0x07, 0x1b, 0x73, 0xfc, 0x72, 0x6b, 0x39, 0xa7, 0x8d,
- 0xa2, 0x7c, 0x4d, 0xdb, 0x89, 0xae, 0xdf, 0x1d, 0x9d, 0x7f, 0x3b, 0xd0,
- 0x0e, 0x1e, 0xdf, 0x7f, 0xff, 0x7d, 0x33, 0xb8, 0x4b, 0x3a, 0xec, 0x4d,
- 0xfc, 0xf0, 0xd0, 0x2f, 0x93, 0xcf, 0x3e, 0x1b, 0x9c, 0x9c, 0x44, 0x47,
- 0x67, 0x83, 0x8b, 0xcf, 0x2c, 0x8e, 0xc3, 0xfa, 0xf6, 0x06, 0x28, 0x69,
- 0xd3, 0xa4, 0x82, 0xbf, 0x7c, 0xf6, 0xd9, 0xff, 0x07, 0x20, 0xad, 0x4e,
- 0xbd, 0x33, 0x97, 0x02, 0x00,
+ 0x6b, 0x77, 0xdc, 0xc6, 0xb1, 0x2e, 0xfc, 0xdd, 0xbf, 0x02, 0x9b, 0x59,
+ 0x39, 0x24, 0x4f, 0x66, 0x86, 0x37, 0x5d, 0x2c, 0x45, 0xce, 0xb6, 0x22,
+ 0x51, 0x36, 0xb7, 0x29, 0x91, 0x47, 0x43, 0xd9, 0xce, 0x89, 0xbd, 0xb4,
+ 0x30, 0x33, 0x18, 0x12, 0xd1, 0x0c, 0x30, 0x01, 0x30, 0xbc, 0x64, 0x9f,
+ 0x9c, 0xdf, 0xfe, 0x76, 0x3d, 0x55, 0xd5, 0xdd, 0x40, 0x37, 0x86, 0xb4,
+ 0x63, 0xfb, 0xdc, 0xde, 0xec, 0xb5, 0x2d, 0x89, 0x04, 0x1a, 0x7d, 0xa9,
+ 0xae, 0x7b, 0x3d, 0x95, 0x24, 0xf7, 0xfd, 0xef, 0x23, 0xfe, 0xff, 0xa3,
+ 0xf9, 0x9f, 0xf9, 0xf3, 0xb3, 0x24, 0x39, 0xaf, 0xca, 0xbf, 0x65, 0xd3,
+ 0x26, 0xfe, 0xec, 0xc7, 0x8f, 0xff, 0x23, 0xe1, 0xff, 0x33, 0xef, 0xfc,
+ 0x60, 0xfe, 0xfc, 0x6c, 0xe3, 0xd8, 0x7b, 0x89, 0x7b, 0xe1, 0x7f, 0x7c,
+ 0xdc, 0x4d, 0xee, 0x7b, 0xe1, 0x7f, 0x24, 0x3b, 0x78, 0xe1, 0xa3, 0x7c,
+ 0xe1, 0x05, 0xfd, 0xfd, 0xe3, 0xc7, 0xcd, 0x1f, 0xf9, 0x81, 0x66, 0x45,
+ 0xff, 0xd9, 0xa3, 0xf7, 0x7e, 0xf8, 0x48, 0x7f, 0x35, 0x3f, 0xf9, 0xec,
+ 0xb3, 0x77, 0x2f, 0xdf, 0x1e, 0xeb, 0xab, 0xd3, 0x75, 0xb5, 0x48, 0x86,
+ 0x49, 0x53, 0xa5, 0x45, 0x3d, 0xcf, 0xaa, 0x24, 0x4d, 0x3e, 0xbc, 0x3f,
+ 0xfd, 0xec, 0xb3, 0xf1, 0x5f, 0xde, 0x9d, 0x9d, 0x8f, 0x4f, 0xc6, 0xad,
+ 0xc7, 0xfe, 0x5a, 0xae, 0x9a, 0xbc, 0x2c, 0x6a, 0x33, 0x7d, 0xf3, 0x50,
+ 0xfd, 0xe3, 0x67, 0x9f, 0xbd, 0x3e, 0x1e, 0xbf, 0x7a, 0x7f, 0x72, 0x7e,
+ 0x71, 0x72, 0xf6, 0xae, 0xf5, 0x64, 0x92, 0xd7, 0x89, 0x19, 0xaa, 0x29,
+ 0xcb, 0x85, 0xf9, 0x8f, 0x1b, 0x7d, 0x96, 0x36, 0x69, 0x32, 0xaf, 0xca,
+ 0x65, 0x52, 0x56, 0xf4, 0x8b, 0x34, 0xa9, 0xb3, 0xea, 0x3a, 0xab, 0x06,
+ 0xc9, 0xba, 0xce, 0x8b, 0xcb, 0xa4, 0x2c, 0xb2, 0xa4, 0x9c, 0x27, 0xcd,
+ 0x55, 0xa6, 0xc3, 0xd5, 0xeb, 0xd5, 0xaa, 0xac, 0x9a, 0x6c, 0x96, 0xac,
+ 0xaa, 0xb2, 0x29, 0xa7, 0xe5, 0xa2, 0x4e, 0x76, 0x5e, 0x9f, 0xbc, 0xba,
+ 0x18, 0x24, 0x6f, 0x4e, 0x4e, 0x8f, 0xcd, 0x7f, 0x2f, 0xce, 0xf1, 0x9f,
+ 0xf1, 0x20, 0xf9, 0xea, 0xec, 0xfc, 0xeb, 0xe3, 0xf7, 0x83, 0xe4, 0xeb,
+ 0x0b, 0xfa, 0x19, 0xfd, 0xd7, 0xfc, 0x30, 0x39, 0x79, 0xfb, 0xf2, 0x7c,
+ 0xa0, 0xc3, 0xd1, 0x3f, 0xe8, 0x87, 0xa7, 0xaf, 0xcd, 0x0f, 0xf9, 0x0f,
+ 0xfa, 0xe7, 0xf9, 0xd9, 0xf9, 0x91, 0xfc, 0x41, 0xff, 0x7c, 0x7f, 0xf1,
+ 0xd6, 0xfc, 0xf6, 0xfd, 0xc5, 0xd8, 0xfc, 0x77, 0xfc, 0x8a, 0xfe, 0x83,
+ 0xaf, 0x8c, 0xdf, 0xfe, 0x19, 0xff, 0x19, 0xdb, 0xe1, 0xc6, 0x6f, 0xf9,
+ 0xe7, 0xf8, 0xd2, 0xc5, 0xf1, 0xe9, 0xbb, 0xe3, 0x8b, 0x24, 0x2d, 0x66,
+ 0xc9, 0x85, 0x79, 0x7e, 0x77, 0x94, 0x5c, 0x5c, 0x65, 0xc9, 0xb4, 0x5c,
+ 0x2e, 0xe9, 0x47, 0x66, 0x47, 0x66, 0x59, 0x9d, 0x5f, 0x16, 0x66, 0x29,
+ 0x66, 0xe5, 0x37, 0x65, 0xf5, 0x29, 0x49, 0x6e, 0xf2, 0xe6, 0xaa, 0x5c,
+ 0x37, 0x3a, 0xdc, 0xda, 0xec, 0x46, 0x92, 0x17, 0x4d, 0x56, 0xa5, 0x53,
+ 0xda, 0xe9, 0xd1, 0x67, 0xad, 0x5d, 0x2d, 0xe7, 0x66, 0x0f, 0x6b, 0xb3,
+ 0x69, 0x93, 0x75, 0xbd, 0x28, 0xd3, 0x19, 0x6d, 0x95, 0x79, 0x65, 0xbe,
+ 0x36, 0x9b, 0x5c, 0xe5, 0xd3, 0x4f, 0x75, 0xb2, 0xc8, 0x3f, 0x65, 0xb4,
+ 0x51, 0xb7, 0x77, 0xba, 0x71, 0x03, 0x1e, 0x34, 0x5d, 0x9b, 0x3d, 0x2d,
+ 0x86, 0x3a, 0x5c, 0x93, 0x4f, 0x53, 0xfa, 0x00, 0x76, 0x2e, 0x59, 0xaf,
+ 0x68, 0x34, 0xde, 0xb1, 0x64, 0x55, 0xd6, 0xe6, 0xa5, 0xf1, 0xf8, 0xd4,
+ 0xcc, 0xbc, 0x28, 0x32, 0xcc, 0xa3, 0x1e, 0x98, 0x7f, 0x94, 0x9f, 0xf2,
+ 0xcc, 0xfc, 0x65, 0x9e, 0x2f, 0xb2, 0x84, 0x4f, 0xd4, 0x0e, 0x47, 0x47,
+ 0x9b, 0x54, 0x59, 0xbd, 0x5e, 0x66, 0x66, 0xf7, 0xde, 0x66, 0x4d, 0xba,
+ 0xc8, 0x8b, 0x4f, 0xe6, 0xaf, 0xb4, 0xf0, 0x65, 0x59, 0x65, 0xa3, 0xe4,
+ 0x65, 0x9d, 0xdc, 0x95, 0x6b, 0xb3, 0xe0, 0xc5, 0xc2, 0x9c, 0x79, 0x96,
+ 0x4c, 0xb2, 0x45, 0x79, 0x33, 0xa0, 0x93, 0x4e, 0x8a, 0xf5, 0x72, 0x62,
+ 0x06, 0x28, 0xe7, 0x6e, 0xb8, 0xb4, 0x59, 0x9b, 0xe1, 0xf8, 0xe9, 0x65,
+ 0x6a, 0xd6, 0x64, 0xde, 0xad, 0x92, 0xab, 0xcc, 0xac, 0xb9, 0x5e, 0xe5,
+ 0xc5, 0xbf, 0xb5, 0xf7, 0xc5, 0x6c, 0xed, 0xaa, 0xbc, 0xc9, 0x2a, 0xb3,
+ 0xb3, 0x93, 0xbb, 0xc4, 0x6c, 0xc2, 0x84, 0x89, 0x70, 0x6e, 0x88, 0x2c,
+ 0x49, 0xcd, 0x10, 0x96, 0x00, 0x87, 0x55, 0xb6, 0x48, 0x89, 0x98, 0xec,
+ 0x37, 0x46, 0xe6, 0x10, 0x33, 0x4b, 0x6d, 0xf2, 0xea, 0xce, 0xd1, 0x2e,
+ 0x5e, 0x9e, 0x99, 0x95, 0xe4, 0x8b, 0xda, 0x1c, 0x03, 0x5d, 0x0a, 0x79,
+ 0x86, 0x0e, 0x95, 0xe8, 0xdf, 0xd0, 0xe6, 0x5d, 0xd1, 0xa4, 0xb7, 0xf8,
+ 0xbc, 0xd0, 0xe6, 0x70, 0x96, 0xad, 0xb2, 0x62, 0x96, 0x15, 0xcd, 0x28,
+ 0xf9, 0x4b, 0xb9, 0xde, 0x36, 0xdf, 0x9e, 0xe7, 0x66, 0x0f, 0x52, 0x19,
+ 0xca, 0x7c, 0xd9, 0x10, 0xc1, 0xb4, 0xca, 0x57, 0xde, 0x51, 0x94, 0x85,
+ 0x39, 0xf3, 0xe4, 0xfd, 0x9b, 0x57, 0xc9, 0xd1, 0xb3, 0xcf, 0x9f, 0xb8,
+ 0x33, 0x37, 0x03, 0x24, 0xd3, 0xb4, 0x30, 0x2b, 0xce, 0xa6, 0xf9, 0xfc,
+ 0x2e, 0x59, 0xae, 0x17, 0x4d, 0xbe, 0x32, 0xbb, 0x4f, 0x97, 0x8f, 0x2e,
+ 0xd0, 0x2a, 0xad, 0x9a, 0x9a, 0x88, 0x00, 0x3f, 0xc0, 0xda, 0x6f, 0xaa,
+ 0xbc, 0xa1, 0x8b, 0x84, 0xdf, 0x99, 0x19, 0x66, 0x4d, 0xad, 0xc3, 0x11,
+ 0xad, 0x99, 0xef, 0x4c, 0x0c, 0x6d, 0x99, 0xad, 0x4d, 0x6b, 0xf3, 0xd1,
+ 0xe7, 0x9f, 0x39, 0x0e, 0x72, 0xd5, 0x34, 0xab, 0xe7, 0x7b, 0x7b, 0x75,
+ 0xde, 0x64, 0xa3, 0xff, 0x34, 0xf7, 0x70, 0xd0, 0xdc, 0x94, 0x83, 0xe6,
+ 0xaa, 0xca, 0xb2, 0x7f, 0x8e, 0x0c, 0x0d, 0xdb, 0x27, 0xcd, 0x77, 0xef,
+ 0x64, 0x62, 0x97, 0x59, 0x63, 0xbe, 0xf0, 0xf7, 0x75, 0x56, 0xd0, 0x88,
+ 0x66, 0x1e, 0xe9, 0x62, 0x75, 0x95, 0x9a, 0xe3, 0xcc, 0x0c, 0x35, 0xd2,
+ 0xcd, 0x36, 0x04, 0x43, 0xb3, 0xe2, 0xbb, 0xfd, 0xd7, 0x1f, 0xc3, 0x8f,
+ 0xce, 0xf1, 0x4d, 0xf3, 0xdf, 0x51, 0x76, 0x9b, 0x2e, 0xcd, 0xda, 0xe8,
+ 0x53, 0x7b, 0x44, 0x62, 0x7f, 0x3d, 0x18, 0x1e, 0xec, 0xef, 0xff, 0x38,
+ 0x6a, 0x6e, 0x9b, 0x87, 0x3d, 0xbf, 0xbf, 0xef, 0xde, 0xa0, 0x47, 0x77,
+ 0x68, 0xbd, 0xc9, 0xc2, 0x90, 0x0c, 0x7d, 0xfc, 0x1f, 0x59, 0x55, 0xd6,
+ 0xbb, 0x0f, 0x1b, 0x29, 0x1d, 0xfe, 0xa3, 0xfd, 0xdd, 0x77, 0x59, 0x0d,
+ 0x9a, 0x71, 0x6b, 0x4d, 0xd2, 0xca, 0xd0, 0x6d, 0xd9, 0x38, 0xf6, 0x34,
+ 0x30, 0x97, 0xb2, 0xb1, 0x3b, 0x63, 0xee, 0x9c, 0x79, 0xda, 0x30, 0xb6,
+ 0x74, 0x41, 0x3c, 0xad, 0x4e, 0x8a, 0xec, 0xd6, 0xde, 0x72, 0x73, 0xfb,
+ 0xb3, 0x74, 0x7a, 0x95, 0x94, 0x86, 0xf8, 0xab, 0xc8, 0x11, 0xf8, 0x13,
+ 0x4a, 0xab, 0xe9, 0x55, 0x7e, 0x6d, 0x76, 0xe3, 0xd9, 0xb3, 0x27, 0x43,
+ 0xf3, 0x9f, 0x67, 0x3f, 0xee, 0x5d, 0x97, 0x0b, 0xb3, 0x39, 0x8f, 0x7e,
+ 0xdc, 0xa3, 0x23, 0xfe, 0xcf, 0x74, 0x30, 0x19, 0x4c, 0xff, 0x39, 0xba,
+ 0x6a, 0x96, 0x8b, 0x5e, 0xc2, 0x49, 0x0b, 0xf3, 0xff, 0xcb, 0x72, 0x5d,
+ 0x34, 0x96, 0x58, 0x0c, 0xcd, 0x35, 0x1e, 0x73, 0x32, 0xd7, 0xd5, 0xdc,
+ 0x51, 0x22, 0x6d, 0xa2, 0x21, 0xba, 0x75, 0xe6, 0x82, 0xba, 0xeb, 0xd8,
+ 0x4c, 0xaf, 0x68, 0xfd, 0x86, 0x7a, 0x52, 0xd9, 0x84, 0x26, 0x4f, 0xe9,
+ 0x66, 0x1a, 0x06, 0x41, 0x0c, 0x0b, 0x63, 0xf1, 0xd7, 0x72, 0xf3, 0x60,
+ 0x59, 0xcd, 0xb2, 0x6a, 0xd4, 0x9d, 0x86, 0xbd, 0xb2, 0xde, 0x37, 0x13,
+ 0x95, 0x28, 0xf4, 0x03, 0x4c, 0x6c, 0x99, 0xdf, 0x9a, 0x11, 0xc0, 0x30,
+ 0x0b, 0x4c, 0x9c, 0x47, 0x4b, 0x68, 0xc6, 0xf8, 0x8c, 0xbe, 0xef, 0xae,
+ 0xac, 0x99, 0x7a, 0x6b, 0xe9, 0xf8, 0xa8, 0x5b, 0x7c, 0x62, 0x0e, 0x6f,
+ 0x65, 0xde, 0x5a, 0x13, 0x5f, 0xc5, 0xb5, 0xa6, 0x61, 0x0c, 0x43, 0xb8,
+ 0x34, 0xe7, 0x62, 0xce, 0x82, 0xa8, 0x98, 0x8e, 0xea, 0x2e, 0x79, 0x67,
+ 0x08, 0x86, 0x99, 0x91, 0x47, 0xec, 0x8b, 0xac, 0x69, 0xee, 0x3d, 0x26,
+ 0x47, 0xb1, 0xcf, 0x0f, 0x02, 0xa2, 0xed, 0x7b, 0xde, 0xd0, 0xd9, 0xf3,
+ 0xc3, 0xf6, 0xc3, 0xdf, 0x19, 0x26, 0xed, 0xae, 0x8b, 0xf9, 0xfa, 0x7f,
+ 0xfe, 0xd3, 0xa3, 0xba, 0x1b, 0xfa, 0x6d, 0x5e, 0x5c, 0x97, 0x9f, 0xcc,
+ 0x16, 0x41, 0x8a, 0xa6, 0xed, 0xdd, 0x24, 0x3e, 0xb4, 0x5c, 0x35, 0x56,
+ 0x3c, 0x11, 0x39, 0x9a, 0x1f, 0x4d, 0xd2, 0xc9, 0xe2, 0x2e, 0xb9, 0x4a,
+ 0xaf, 0x33, 0x5a, 0xef, 0xca, 0xd0, 0x29, 0xed, 0x80, 0x11, 0x1b, 0x0b,
+ 0xf0, 0x31, 0x61, 0x0c, 0xb3, 0x72, 0x3d, 0x31, 0xcc, 0xe5, 0xef, 0xeb,
+ 0xb2, 0xe1, 0x8d, 0x49, 0xaf, 0xcb, 0x7c, 0xd6, 0x92, 0xc5, 0x57, 0x19,
+ 0x31, 0x34, 0xfa, 0x30, 0x84, 0x94, 0x61, 0xa8, 0x34, 0x53, 0x5c, 0xb4,
+ 0xbc, 0x21, 0x71, 0x67, 0x58, 0x61, 0xba, 0xa8, 0xcb, 0x24, 0xb9, 0x2c,
+ 0xe9, 0x96, 0x80, 0x01, 0x83, 0xcc, 0xcd, 0xa1, 0x5c, 0xa5, 0x24, 0xd5,
+ 0x8c, 0x00, 0xb3, 0xf7, 0xa0, 0xca, 0xc0, 0x8b, 0x71, 0x52, 0xe9, 0x62,
+ 0xc0, 0xd2, 0x8b, 0xde, 0x91, 0xad, 0x4a, 0xb6, 0xff, 0xcb, 0xf6, 0x20,
+ 0xd9, 0xfe, 0xf7, 0x6d, 0xd0, 0xc3, 0xf6, 0x7f, 0xdd, 0x76, 0xe7, 0x6c,
+ 0x94, 0xb1, 0xeb, 0x7c, 0x96, 0x31, 0x49, 0x9c, 0x9c, 0x5f, 0x3f, 0x49,
+ 0xfe, 0x41, 0xba, 0x83, 0xe1, 0xb5, 0xd9, 0xad, 0x12, 0xa4, 0xae, 0xcd,
+ 0xbc, 0x9d, 0x18, 0xa6, 0x9b, 0xae, 0x48, 0x89, 0xc8, 0xaa, 0xa9, 0xa1,
+ 0xde, 0xf4, 0xd2, 0xd0, 0xab, 0x91, 0xc5, 0x3a, 0x1c, 0x8d, 0x4f, 0xaf,
+ 0xf0, 0xb2, 0x0c, 0x83, 0x4c, 0x8a, 0x74, 0x69, 0x6e, 0xc4, 0x29, 0xcd,
+ 0x28, 0x2f, 0xc2, 0xc3, 0xfc, 0xeb, 0x3c, 0xfb, 0x7c, 0xff, 0xf9, 0xf3,
+ 0xa3, 0xdf, 0x1f, 0x3e, 0xce, 0x9a, 0xab, 0xfd, 0x1f, 0xf7, 0xec, 0x23,
+ 0x27, 0x73, 0x6c, 0xbb, 0x92, 0x9f, 0x4e, 0xc2, 0x48, 0x79, 0x2b, 0x25,
+ 0xcc, 0xfb, 0xe6, 0xef, 0xd9, 0x3c, 0xbf, 0x1d, 0xa8, 0xbe, 0xc4, 0x77,
+ 0x2e, 0x35, 0xa4, 0x66, 0xce, 0x8f, 0x58, 0x84, 0x0e, 0x77, 0xb9, 0xce,
+ 0x6a, 0xb3, 0x93, 0x37, 0x57, 0x69, 0x93, 0xd8, 0x01, 0xf8, 0x64, 0x97,
+ 0xf9, 0xe5, 0x55, 0x93, 0xdc, 0xa4, 0x24, 0x6c, 0x4e, 0x1a, 0x1e, 0x82,
+ 0xa4, 0xbc, 0x11, 0x31, 0xf3, 0xd4, 0xc8, 0x0a, 0x3a, 0x43, 0x88, 0xf4,
+ 0x89, 0xd3, 0x30, 0x1a, 0x43, 0xe6, 0x7c, 0x20, 0x4e, 0x9d, 0x9a, 0xa4,
+ 0x35, 0x5d, 0xda, 0xc2, 0x30, 0x87, 0xc6, 0xe8, 0x08, 0x6b, 0xfa, 0xd7,
+ 0x95, 0xd1, 0x02, 0xb0, 0x07, 0x32, 0x51, 0x08, 0xca, 0x37, 0x74, 0x9c,
+ 0x74, 0x36, 0x56, 0x78, 0x99, 0x43, 0x1a, 0xc8, 0x31, 0xdb, 0x37, 0x6a,
+ 0x73, 0xe1, 0x0c, 0x67, 0xb2, 0x94, 0xb1, 0x45, 0x4c, 0x76, 0x8b, 0xd7,
+ 0x89, 0x39, 0xa6, 0x35, 0x29, 0x0a, 0xac, 0x0e, 0x98, 0xc9, 0x7b, 0x8b,
+ 0x35, 0x9b, 0x96, 0x7e, 0x22, 0x95, 0xa4, 0xa3, 0xf8, 0xe0, 0xb5, 0x59,
+ 0x69, 0x88, 0xcc, 0xcc, 0xd6, 0x30, 0x63, 0x5a, 0x19, 0xb1, 0x58, 0xec,
+ 0x0a, 0x88, 0xdc, 0x8c, 0x49, 0x3f, 0xcc, 0x1b, 0x92, 0x31, 0xd0, 0x61,
+ 0xcd, 0x7c, 0xcd, 0xa6, 0x40, 0x11, 0x35, 0x8c, 0xda, 0x5b, 0x3f, 0xc4,
+ 0xa3, 0x79, 0x36, 0xb9, 0x36, 0x5a, 0x8a, 0x51, 0x48, 0x33, 0xfb, 0x16,
+ 0xe4, 0xf9, 0x94, 0x74, 0xa3, 0x85, 0xb9, 0x2f, 0xd3, 0xb2, 0xaa, 0x48,
+ 0xdf, 0xa7, 0x13, 0x9c, 0x30, 0x13, 0x5d, 0x66, 0x46, 0x8d, 0xf0, 0xb7,
+ 0x33, 0x27, 0x81, 0x66, 0xf8, 0x8b, 0xd1, 0x4b, 0xc0, 0x41, 0x8c, 0xfe,
+ 0x00, 0x9e, 0x8f, 0x85, 0x63, 0x76, 0x34, 0xf6, 0x74, 0x9a, 0xad, 0x9a,
+ 0x3a, 0xb6, 0x26, 0x3d, 0x70, 0x33, 0x9d, 0x2a, 0xa3, 0x9d, 0xf7, 0x95,
+ 0x2e, 0xec, 0xab, 0x15, 0xfa, 0xd0, 0xbb, 0x54, 0x8f, 0x31, 0x7a, 0x58,
+ 0x6d, 0x77, 0xad, 0x01, 0x6d, 0x18, 0x36, 0x86, 0x3d, 0x5f, 0xd2, 0x44,
+ 0xe9, 0xe1, 0x9a, 0x6f, 0x2a, 0x58, 0x33, 0x1d, 0x24, 0x6b, 0xda, 0xfc,
+ 0x5d, 0x12, 0x5d, 0x66, 0x3f, 0xed, 0xe0, 0xe6, 0xab, 0xf6, 0x4c, 0xe9,
+ 0xf3, 0xa4, 0xe2, 0x1b, 0x49, 0x3e, 0xab, 0xaf, 0x8c, 0xf2, 0x55, 0xcb,
+ 0xcd, 0xce, 0x97, 0x86, 0x66, 0xae, 0xe9, 0x7c, 0x57, 0x59, 0x36, 0x1b,
+ 0x25, 0x67, 0x73, 0xe2, 0xaa, 0x95, 0x99, 0x74, 0x83, 0x5f, 0x93, 0x54,
+ 0x31, 0xfb, 0x36, 0x83, 0x12, 0x6f, 0xaf, 0x16, 0x4f, 0xc5, 0x93, 0x0e,
+ 0xe0, 0xe4, 0xa9, 0xf9, 0x89, 0x99, 0xed, 0xa2, 0x2d, 0x82, 0x70, 0x0f,
+ 0x0d, 0xf7, 0xa6, 0xe9, 0x4d, 0xb2, 0x04, 0x94, 0x38, 0xc9, 0x9a, 0x9b,
+ 0x2c, 0xb3, 0xc3, 0xd5, 0x99, 0x11, 0x7b, 0x74, 0x68, 0xac, 0xf9, 0x81,
+ 0x19, 0xd2, 0xd6, 0x9e, 0xbf, 0x3f, 0xfb, 0xea, 0xfd, 0xf1, 0x78, 0x9c,
+ 0xbc, 0x3d, 0xbe, 0x38, 0x7e, 0xdf, 0xda, 0xe9, 0xa2, 0xac, 0x96, 0x38,
+ 0xd1, 0x59, 0x5e, 0xaf, 0x16, 0xe9, 0x1d, 0x1d, 0xb5, 0x59, 0xc9, 0x65,
+ 0x45, 0x37, 0x6b, 0x99, 0x91, 0x54, 0x98, 0xad, 0xc1, 0xc9, 0x8c, 0x38,
+ 0x32, 0xc7, 0x27, 0x1a, 0x2f, 0x31, 0x13, 0xa8, 0xc9, 0xc5, 0xa5, 0xdb,
+ 0x69, 0xc3, 0x71, 0x44, 0x92, 0x92, 0x28, 0xb5, 0xe7, 0x41, 0xaa, 0x27,
+ 0x8c, 0x9b, 0x81, 0xfb, 0x19, 0x6f, 0x13, 0x8b, 0x36, 0x43, 0xb3, 0xf9,
+ 0x12, 0xcc, 0xce, 0xfc, 0xe9, 0xb4, 0xcd, 0x6c, 0x6e, 0x54, 0x6d, 0x23,
+ 0x5d, 0xd9, 0x52, 0xe8, 0xce, 0x49, 0x67, 0x6b, 0xf5, 0x63, 0x43, 0x86,
+ 0xc4, 0x9a, 0x69, 0x40, 0x9e, 0x0a, 0x7f, 0xc1, 0x32, 0x31, 0xa3, 0x93,
+ 0x10, 0xef, 0x93, 0xc7, 0x56, 0x34, 0x85, 0xcc, 0x9c, 0xec, 0x8c, 0x87,
+ 0xaf, 0xd7, 0x73, 0x5c, 0xe4, 0x64, 0xc7, 0x68, 0xe6, 0x6f, 0x8d, 0xb5,
+ 0x64, 0x2c, 0x96, 0x41, 0x72, 0xbe, 0x8b, 0xf7, 0x0e, 0xf6, 0x0f, 0x1f,
+ 0x31, 0x23, 0x18, 0xe9, 0x70, 0x6f, 0x3c, 0x46, 0x7c, 0xf0, 0x89, 0x8e,
+ 0x97, 0x1f, 0xa2, 0xc1, 0x47, 0xc9, 0xc1, 0x5b, 0xfe, 0xc9, 0xa3, 0xcf,
+ 0x1f, 0x3f, 0x7d, 0x22, 0x3f, 0x6c, 0x13, 0xb8, 0x9d, 0x3f, 0xa8, 0x03,
+ 0x96, 0x1f, 0x99, 0x82, 0x66, 0x26, 0x66, 0x75, 0xcb, 0xbc, 0x30, 0xd7,
+ 0xc4, 0x5c, 0x2b, 0xe1, 0x55, 0x44, 0xcf, 0x66, 0xf2, 0x73, 0xe6, 0x6c,
+ 0x72, 0xae, 0x6d, 0x93, 0xd2, 0xbc, 0x6c, 0x48, 0xd6, 0xf0, 0x72, 0x7b,
+ 0x48, 0xac, 0x26, 0x34, 0x34, 0x91, 0x74, 0x42, 0x0c, 0x96, 0xec, 0x2a,
+ 0xa3, 0x00, 0x67, 0xd1, 0xaf, 0x59, 0xa9, 0x68, 0xde, 0x30, 0x73, 0x33,
+ 0x32, 0x91, 0xc4, 0x5c, 0xb8, 0xef, 0x86, 0x15, 0x80, 0x43, 0xde, 0xe4,
+ 0x35, 0x58, 0xc3, 0x4d, 0xb9, 0x5e, 0x18, 0x2b, 0x86, 0x1e, 0x58, 0xaf,
+ 0xf0, 0x82, 0xf9, 0xd4, 0xca, 0xf1, 0x00, 0xa3, 0xb1, 0x10, 0xed, 0x74,
+ 0x47, 0x31, 0x53, 0x33, 0xff, 0x5c, 0x19, 0x52, 0xe2, 0xe9, 0x8c, 0xba,
+ 0x12, 0x02, 0xbc, 0x2f, 0xa0, 0x44, 0xba, 0xf3, 0x60, 0xda, 0xe7, 0x67,
+ 0xe3, 0x0b, 0xd2, 0x00, 0xce, 0x3f, 0x5c, 0x98, 0x81, 0x8c, 0x0a, 0x50,
+ 0x37, 0x86, 0x28, 0xe9, 0xc5, 0x22, 0x83, 0x09, 0xa9, 0xc3, 0x19, 0xda,
+ 0xcb, 0xc1, 0xa8, 0xa0, 0xd6, 0xe8, 0x27, 0x79, 0x8e, 0x6c, 0x63, 0xd3,
+ 0x15, 0x54, 0x0b, 0x9b, 0x65, 0xb8, 0x7d, 0x27, 0xd9, 0xf9, 0xd3, 0xae,
+ 0xa1, 0xd9, 0x61, 0x69, 0x77, 0x67, 0x38, 0x94, 0x57, 0xcd, 0xb7, 0xeb,
+ 0x7c, 0x99, 0x2f, 0xd2, 0xca, 0x9b, 0x3a, 0x73, 0x54, 0xba, 0x9f, 0x96,
+ 0xaf, 0x4c, 0x0d, 0xd5, 0x60, 0xda, 0xce, 0x94, 0xa4, 0x3d, 0x04, 0x57,
+ 0x72, 0x47, 0x35, 0x23, 0x85, 0x00, 0x1a, 0xf3, 0x2a, 0xb7, 0x5b, 0x47,
+ 0x67, 0x46, 0xec, 0xaa, 0xb5, 0x51, 0xdd, 0x73, 0x0b, 0x36, 0x8e, 0x24,
+ 0x12, 0x3c, 0x15, 0x76, 0xeb, 0x92, 0xad, 0x49, 0x5a, 0x6d, 0x25, 0x96,
+ 0x17, 0xf3, 0xdd, 0xa4, 0x1b, 0x52, 0x65, 0x97, 0x6b, 0xb3, 0x82, 0x84,
+ 0x77, 0x97, 0x56, 0xfa, 0x3b, 0x6f, 0xa5, 0x3a, 0xc0, 0x70, 0x42, 0x8f,
+ 0xe4, 0x35, 0x9b, 0x99, 0x73, 0x63, 0xb7, 0xd0, 0xa5, 0x51, 0xfd, 0x15,
+ 0x1a, 0x8d, 0x50, 0x4c, 0x84, 0x60, 0x3c, 0xbd, 0xd6, 0x5c, 0x95, 0x26,
+ 0x33, 0x8c, 0x06, 0xec, 0x9f, 0x9e, 0x1c, 0x9a, 0x23, 0x1b, 0x0e, 0x6b,
+ 0xb3, 0xff, 0xa4, 0x7b, 0xaf, 0xc4, 0xa6, 0x3f, 0x83, 0xc3, 0xc4, 0xfa,
+ 0x56, 0xce, 0x44, 0x07, 0x86, 0xd8, 0xe4, 0x77, 0xc1, 0x42, 0x8d, 0xa2,
+ 0x7a, 0x63, 0x3e, 0x9c, 0x9a, 0x23, 0x33, 0x17, 0xee, 0x2d, 0x6d, 0x14,
+ 0xfb, 0x46, 0x12, 0xab, 0x36, 0x83, 0x32, 0x72, 0xba, 0xf7, 0xa9, 0xd3,
+ 0x65, 0x66, 0xb3, 0x9c, 0x7e, 0x6b, 0xee, 0x97, 0x91, 0x70, 0xeb, 0x0c,
+ 0xb6, 0x87, 0x6c, 0xea, 0xd2, 0x6d, 0x26, 0xcc, 0xd8, 0xfa, 0xaa, 0x24,
+ 0x33, 0x71, 0x8b, 0x79, 0xf1, 0x90, 0xbe, 0xb5, 0x05, 0x79, 0xbe, 0x4c,
+ 0xf4, 0x5b, 0xf2, 0x29, 0xb3, 0x8e, 0x99, 0xaf, 0x9b, 0x0d, 0x8c, 0xa0,
+ 0xb9, 0xf3, 0x8c, 0x04, 0xf0, 0x6a, 0x9e, 0x7b, 0x65, 0x15, 0x1e, 0x23,
+ 0x52, 0x57, 0xa4, 0x4c, 0x09, 0x0f, 0x87, 0x30, 0xc4, 0x95, 0xad, 0x79,
+ 0x6a, 0x03, 0xb3, 0xb7, 0xf4, 0xe4, 0xe5, 0x95, 0x3e, 0xea, 0x09, 0xd6,
+ 0xd4, 0x2c, 0x8e, 0x84, 0x03, 0xd9, 0xd3, 0x33, 0xe5, 0xfb, 0x65, 0xc5,
+ 0xcc, 0x6c, 0x51, 0x1a, 0x5a, 0xde, 0x62, 0x95, 0x55, 0xa6, 0x4d, 0xb3,
+ 0xa6, 0x59, 0xd2, 0x8e, 0xb3, 0x9f, 0xa9, 0xb4, 0x67, 0x63, 0x27, 0x2d,
+ 0xfb, 0x55, 0xdf, 0x3b, 0x35, 0xb7, 0x51, 0x63, 0xec, 0x91, 0x11, 0x9d,
+ 0x35, 0xd1, 0xb1, 0xee, 0x3c, 0xc8, 0xdb, 0x88, 0xba, 0xed, 0x86, 0xef,
+ 0x23, 0x6c, 0xac, 0xce, 0xce, 0xd7, 0x20, 0x1f, 0x11, 0x64, 0x76, 0x65,
+ 0x66, 0x45, 0xb3, 0x3c, 0x05, 0x9d, 0xf0, 0xd1, 0x40, 0x19, 0x71, 0x16,
+ 0x61, 0x44, 0x0f, 0xbe, 0xeb, 0x1a, 0x74, 0x8b, 0x85, 0x2f, 0x92, 0x74,
+ 0x4e, 0xc3, 0x33, 0xb3, 0xf6, 0x53, 0xac, 0x63, 0x78, 0x9d, 0xd0, 0xf5,
+ 0x33, 0x66, 0x03, 0xdd, 0xc5, 0xe1, 0xd9, 0xe9, 0xb5, 0x77, 0x8d, 0xc8,
+ 0x72, 0x2f, 0x48, 0x4f, 0x19, 0xc0, 0x3b, 0x32, 0x29, 0x4b, 0x63, 0x26,
+ 0xbb, 0xa5, 0x91, 0x3c, 0xc8, 0x0a, 0xa2, 0x76, 0x39, 0x51, 0xc3, 0x12,
+ 0x56, 0x96, 0xdf, 0xde, 0x19, 0x73, 0x29, 0xbd, 0x4c, 0x73, 0x4b, 0x6f,
+ 0x72, 0x33, 0x66, 0x89, 0x3e, 0x5c, 0x94, 0xf2, 0x3c, 0x1d, 0x15, 0xa9,
+ 0x40, 0xc2, 0xb7, 0xd6, 0x35, 0x5f, 0x1f, 0xb3, 0x2a, 0xc3, 0x79, 0xc0,
+ 0x3b, 0x64, 0x5c, 0x52, 0x1b, 0x75, 0xb8, 0x09, 0x14, 0x65, 0xd2, 0x39,
+ 0xc1, 0x7c, 0xa1, 0x41, 0x9a, 0x11, 0xb7, 0x46, 0xc9, 0xd7, 0xe5, 0x4d,
+ 0x06, 0x5f, 0x21, 0xf4, 0xfb, 0x9c, 0xbc, 0x5d, 0x46, 0x15, 0xbc, 0xc9,
+ 0x92, 0xa5, 0x51, 0x3d, 0xcd, 0x6e, 0x42, 0xfb, 0xc0, 0xcf, 0x3c, 0xf3,
+ 0xd0, 0x50, 0xf8, 0x0d, 0xef, 0x92, 0x5d, 0x85, 0x3d, 0xca, 0x39, 0x5f,
+ 0x89, 0x64, 0x07, 0xea, 0xcd, 0x94, 0x76, 0x6b, 0xd5, 0xb8, 0x55, 0xd8,
+ 0x0d, 0xb9, 0x49, 0x6b, 0xef, 0x72, 0x65, 0x30, 0x4d, 0x9f, 0x8e, 0x0e,
+ 0x9e, 0x8d, 0xf6, 0x47, 0xc6, 0x10, 0xc9, 0xae, 0xf3, 0x72, 0x5d, 0x9b,
+ 0x4f, 0xd3, 0x34, 0xdc, 0x3b, 0x19, 0xdd, 0xca, 0xa6, 0xbc, 0xbc, 0x5c,
+ 0xb0, 0xce, 0xb3, 0x57, 0xce, 0xe7, 0xac, 0xfb, 0x18, 0x4d, 0xcf, 0xea,
+ 0xcf, 0x6c, 0x01, 0xd1, 0xce, 0xc8, 0x75, 0x63, 0x96, 0x1a, 0x9a, 0xc8,
+ 0x23, 0xe7, 0xbc, 0x18, 0x0e, 0xd3, 0x49, 0xdd, 0x90, 0x31, 0x35, 0x5c,
+ 0x17, 0xf9, 0xed, 0xb0, 0x2e, 0xa7, 0x9f, 0xcc, 0xa1, 0xbc, 0x58, 0xa5,
+ 0xcd, 0xd5, 0x9f, 0x3a, 0x2e, 0xe1, 0x1d, 0x92, 0x25, 0xbb, 0x49, 0xf2,
+ 0x8a, 0xd5, 0x4a, 0xda, 0x89, 0x8a, 0xef, 0x9b, 0x39, 0x4d, 0x19, 0x25,
+ 0xf9, 0x60, 0x46, 0x31, 0xb4, 0xbc, 0x34, 0x87, 0x9a, 0xf0, 0x60, 0x03,
+ 0x65, 0xa5, 0x9d, 0xe1, 0xe0, 0x70, 0x24, 0x31, 0x02, 0xbf, 0x9d, 0xb9,
+ 0x3a, 0x65, 0xf5, 0xc9, 0x28, 0xda, 0xef, 0x8c, 0xc9, 0xf8, 0x9c, 0xfe,
+ 0x6d, 0x58, 0x58, 0x83, 0x2d, 0x17, 0xc9, 0x6a, 0x66, 0xc4, 0xcc, 0x98,
+ 0x2c, 0xf2, 0x74, 0x32, 0xec, 0x0c, 0x27, 0xdf, 0x97, 0x8f, 0x26, 0x6a,
+ 0x6b, 0x28, 0x29, 0x25, 0xdb, 0x5f, 0x1a, 0xfb, 0xef, 0x8a, 0x8f, 0x1d,
+ 0x03, 0xf2, 0x1a, 0x0d, 0x85, 0x5e, 0x1a, 0x0b, 0xa2, 0x68, 0xba, 0xc3,
+ 0x5d, 0x41, 0x54, 0x93, 0x94, 0x61, 0x63, 0x17, 0x44, 0x22, 0x1e, 0x20,
+ 0x6b, 0x7f, 0x8e, 0x3e, 0xeb, 0xbc, 0xf6, 0xd2, 0x9d, 0xe9, 0xe3, 0x23,
+ 0x73, 0xa6, 0xfe, 0x46, 0x2f, 0x9a, 0x61, 0x7d, 0x3d, 0x4d, 0x5e, 0x40,
+ 0xfb, 0x26, 0x32, 0x8d, 0x6e, 0xf0, 0x78, 0x37, 0xf9, 0xee, 0xe5, 0xfb,
+ 0x77, 0x27, 0xef, 0xbe, 0x7a, 0xce, 0x1f, 0x15, 0x4a, 0x33, 0x7f, 0xcb,
+ 0x6e, 0x57, 0xe4, 0x07, 0xa3, 0xd9, 0x1a, 0x51, 0x96, 0x24, 0xaf, 0x4b,
+ 0xd8, 0x23, 0x60, 0x98, 0x24, 0xb0, 0x3a, 0xc3, 0x19, 0xd1, 0x32, 0x5b,
+ 0x77, 0x7c, 0xbf, 0x96, 0x61, 0xbb, 0x81, 0xf9, 0x7a, 0xf2, 0x26, 0xeb,
+ 0x1c, 0x0d, 0x7f, 0x64, 0xf7, 0x31, 0xf4, 0xa5, 0x11, 0x49, 0x4b, 0x98,
+ 0xf9, 0x3a, 0xf3, 0xee, 0x97, 0x4a, 0x63, 0xec, 0xb2, 0x9d, 0x6f, 0xc6,
+ 0xbb, 0x35, 0xd7, 0x86, 0x76, 0x49, 0x07, 0x9b, 0x1a, 0x76, 0x94, 0x89,
+ 0xe2, 0x00, 0x56, 0x07, 0xb3, 0x41, 0x58, 0xd9, 0x28, 0x79, 0x39, 0xef,
+ 0x1e, 0x25, 0xe9, 0x2e, 0xa4, 0xd5, 0xab, 0x14, 0x9c, 0x39, 0x45, 0x98,
+ 0xbd, 0xbc, 0x3c, 0xa2, 0x0e, 0x53, 0x9b, 0xf3, 0x99, 0xa9, 0xa4, 0xa7,
+ 0xcf, 0x74, 0x86, 0x83, 0xe9, 0x09, 0x36, 0x43, 0x4a, 0x61, 0x4e, 0x07,
+ 0x4a, 0xa6, 0x9f, 0x61, 0xd4, 0xcb, 0x72, 0x06, 0x3b, 0x22, 0xd8, 0x9f,
+ 0xb1, 0x75, 0xf8, 0x6c, 0x6d, 0xb9, 0x55, 0x27, 0x3b, 0xe4, 0xfa, 0x33,
+ 0x54, 0x50, 0x5c, 0x36, 0x57, 0xbb, 0xce, 0xad, 0x41, 0x6a, 0x8a, 0x59,
+ 0xf0, 0x9e, 0x99, 0x08, 0xd6, 0x5d, 0x74, 0x49, 0x1d, 0x6e, 0x67, 0x68,
+ 0x9e, 0x7f, 0x5b, 0xd7, 0x0d, 0xac, 0x21, 0x11, 0xff, 0xbc, 0x12, 0x33,
+ 0xb3, 0x65, 0xb6, 0x2c, 0xab, 0xbb, 0x60, 0x22, 0x27, 0x50, 0x3e, 0xc8,
+ 0xf0, 0x94, 0xd3, 0x22, 0x3a, 0x80, 0x7c, 0x54, 0x97, 0x20, 0x19, 0x01,
+ 0xe4, 0x53, 0xb7, 0x76, 0x20, 0x94, 0x26, 0xc3, 0x80, 0x8c, 0xfd, 0xed,
+ 0x1c, 0xb6, 0x6a, 0x40, 0xc1, 0xd1, 0xc3, 0xb6, 0xbd, 0x58, 0x53, 0x13,
+ 0x71, 0xe1, 0xd0, 0xff, 0x2f, 0x52, 0xe2, 0x3a, 0x45, 0xd6, 0x3a, 0x21,
+ 0x48, 0x0f, 0x5e, 0xda, 0x26, 0x72, 0x7f, 0xf2, 0x68, 0x74, 0xd0, 0x22,
+ 0xf7, 0xe2, 0x8e, 0x02, 0x05, 0x71, 0x1e, 0x72, 0x61, 0x14, 0xc7, 0x9a,
+ 0xe7, 0x6c, 0x76, 0x71, 0x9e, 0x5f, 0xae, 0xab, 0x8c, 0x35, 0x38, 0xc4,
+ 0x16, 0x34, 0xa4, 0x40, 0x4a, 0xd1, 0x55, 0x09, 0x4f, 0xbc, 0x11, 0xa6,
+ 0xd9, 0x62, 0x3e, 0xe8, 0x0c, 0x07, 0xf3, 0x05, 0xd4, 0x4f, 0xd3, 0x07,
+ 0xd3, 0x34, 0x66, 0x0a, 0x06, 0x2b, 0x32, 0x51, 0x62, 0x97, 0x86, 0xa1,
+ 0x24, 0xe4, 0x8a, 0x4e, 0xa6, 0x8b, 0x34, 0x5f, 0x82, 0x4c, 0xc5, 0xd5,
+ 0x3a, 0x8a, 0x5d, 0x0b, 0x32, 0x30, 0xe8, 0xed, 0x09, 0x99, 0xbe, 0x55,
+ 0x4d, 0x92, 0x19, 0xa7, 0xaa, 0x9a, 0x33, 0x1b, 0x96, 0x57, 0xd9, 0xf4,
+ 0x93, 0x32, 0x2f, 0x55, 0x39, 0xbb, 0x74, 0x4c, 0x31, 0x06, 0xd8, 0xd7,
+ 0xe6, 0xa9, 0x75, 0x4d, 0xd7, 0xa4, 0xae, 0x73, 0x72, 0x9f, 0x91, 0x39,
+ 0xb8, 0x9e, 0xc2, 0x4a, 0xc4, 0x85, 0x31, 0xd4, 0xad, 0x1c, 0x30, 0x31,
+ 0x2c, 0xb5, 0x98, 0x0d, 0x9b, 0x2a, 0x5f, 0xf5, 0xcd, 0x8e, 0x4f, 0xa5,
+ 0xad, 0xa0, 0xd6, 0x62, 0xb1, 0xc3, 0x18, 0x66, 0xf3, 0x78, 0x9a, 0x74,
+ 0x76, 0xb3, 0x4b, 0x94, 0xd8, 0xdb, 0x01, 0xf9, 0x83, 0x72, 0xa3, 0x2f,
+ 0xb0, 0xb1, 0x04, 0x77, 0xa7, 0x31, 0x8d, 0x44, 0x70, 0x19, 0x2b, 0x2e,
+ 0x9f, 0x42, 0x09, 0xca, 0x2f, 0x33, 0x8a, 0xe5, 0x18, 0x59, 0xd6, 0x2c,
+ 0x8c, 0x6a, 0x14, 0xd2, 0xb8, 0xf9, 0x4d, 0x76, 0x59, 0x36, 0xa4, 0x8d,
+ 0x04, 0x64, 0xf2, 0x01, 0x7c, 0xde, 0xd2, 0x84, 0xaa, 0xfd, 0xbe, 0x4e,
+ 0x96, 0xb3, 0x3e, 0x6e, 0x3e, 0xcd, 0x6a, 0xbf, 0x78, 0x1c, 0xea, 0xc6,
+ 0xdc, 0xac, 0xee, 0xa9, 0x9b, 0xd1, 0xa6, 0x19, 0x6c, 0x2f, 0x28, 0x8e,
+ 0xaa, 0xb7, 0xaa, 0xc2, 0x4f, 0x2c, 0x81, 0x74, 0xe4, 0xe6, 0x26, 0x9f,
+ 0x66, 0xea, 0x8e, 0x13, 0x1f, 0xf5, 0x22, 0x0f, 0x59, 0xfd, 0x92, 0xee,
+ 0xa4, 0x79, 0x89, 0x75, 0x72, 0xf2, 0x9e, 0xdc, 0xe4, 0xa4, 0xb3, 0x0b,
+ 0xd3, 0x83, 0x4a, 0x26, 0xe2, 0x20, 0xad, 0x72, 0xb8, 0x8a, 0xcc, 0x70,
+ 0x32, 0x4f, 0xcf, 0xa2, 0xf7, 0xef, 0x18, 0xcf, 0x1b, 0xef, 0x8b, 0x19,
+ 0xe3, 0xcc, 0x17, 0x5c, 0xae, 0x79, 0x9a, 0x2f, 0x22, 0xfb, 0x04, 0x46,
+ 0x76, 0x99, 0xc1, 0xab, 0xc6, 0x67, 0xb0, 0xa6, 0x4d, 0xa7, 0xb8, 0x5b,
+ 0xc8, 0xa4, 0xb2, 0x8c, 0xed, 0x09, 0x18, 0x1f, 0xb7, 0x77, 0x76, 0x7b,
+ 0xa1, 0xb4, 0xf1, 0xd9, 0xc9, 0xdf, 0xf9, 0xf8, 0xbc, 0xeb, 0x99, 0xd2,
+ 0xa8, 0xe9, 0x8a, 0x02, 0x4c, 0xdd, 0x1b, 0x4a, 0xa6, 0x17, 0xc5, 0x28,
+ 0x77, 0xd5, 0x83, 0x9c, 0x89, 0xff, 0xdc, 0xc6, 0xf6, 0xc0, 0x90, 0x88,
+ 0xa7, 0xc9, 0x15, 0xe6, 0x71, 0x84, 0x03, 0x77, 0x79, 0xb9, 0x91, 0xaf,
+ 0x46, 0x1c, 0x83, 0x87, 0xb6, 0x28, 0xb6, 0x34, 0xec, 0xcb, 0x46, 0x98,
+ 0xc8, 0xe3, 0x2b, 0xbc, 0x0e, 0x86, 0x16, 0xee, 0x6c, 0x8c, 0x97, 0x93,
+ 0xe9, 0x47, 0x7a, 0x32, 0x4b, 0x99, 0x41, 0xc2, 0x7a, 0x1d, 0x33, 0xab,
+ 0x29, 0xfb, 0x80, 0x45, 0x87, 0x60, 0x51, 0x83, 0xa9, 0xce, 0x17, 0xe9,
+ 0x25, 0xdc, 0x6b, 0x97, 0xdd, 0x1b, 0x5a, 0x94, 0x12, 0xe8, 0xab, 0x4b,
+ 0xc3, 0xde, 0x69, 0xd5, 0xe2, 0xda, 0xaa, 0x93, 0x1d, 0x43, 0x64, 0x8b,
+ 0x35, 0xc4, 0xfd, 0x99, 0x59, 0xde, 0x78, 0xfc, 0xf5, 0xae, 0xcf, 0xde,
+ 0xb0, 0xbb, 0x0f, 0x61, 0x6e, 0xc4, 0x9d, 0x60, 0x84, 0xff, 0x99, 0xcf,
+ 0xa3, 0xcd, 0xe0, 0xac, 0x75, 0xe7, 0x6b, 0x72, 0x4a, 0x97, 0xb4, 0x0a,
+ 0x72, 0x85, 0x8e, 0xec, 0xd5, 0xa7, 0x27, 0xd5, 0x23, 0xcb, 0x84, 0xdd,
+ 0x52, 0x10, 0xd6, 0xf5, 0x1a, 0xce, 0x29, 0xc8, 0xe3, 0xee, 0x70, 0x86,
+ 0xd9, 0x1b, 0x56, 0xb4, 0x2e, 0xe8, 0x4f, 0xab, 0x43, 0xe7, 0xb0, 0xe6,
+ 0xe8, 0x2c, 0x2a, 0x72, 0x81, 0x93, 0x1d, 0x6c, 0x75, 0x50, 0xc3, 0x53,
+ 0x74, 0x6c, 0xda, 0xcb, 0xee, 0x25, 0x34, 0x1a, 0x1a, 0xd8, 0x8d, 0x11,
+ 0xa1, 0x46, 0x30, 0xd3, 0x85, 0xeb, 0xe1, 0xde, 0x3b, 0xf5, 0xda, 0xf0,
+ 0x17, 0x32, 0x1d, 0x84, 0x79, 0x10, 0x3d, 0x76, 0x67, 0xc7, 0xec, 0xc5,
+ 0x48, 0x1a, 0x8f, 0x8f, 0xec, 0xfe, 0xd2, 0x17, 0x04, 0x87, 0xe6, 0x9f,
+ 0xa2, 0x11, 0xbf, 0x99, 0x31, 0xc8, 0xa0, 0x92, 0x05, 0xda, 0xd8, 0xc5,
+ 0xe9, 0x38, 0x76, 0x98, 0xed, 0xf8, 0x14, 0xbd, 0x4f, 0xcc, 0x96, 0xdc,
+ 0x88, 0xec, 0x56, 0x2d, 0xc9, 0x28, 0xf0, 0x62, 0x54, 0xbe, 0xbf, 0x6f,
+ 0x95, 0x51, 0x30, 0x8b, 0xed, 0x65, 0x0e, 0x7e, 0x13, 0x03, 0x23, 0x61,
+ 0x4d, 0xda, 0x89, 0x75, 0xa1, 0xbe, 0x7a, 0xe9, 0x8f, 0x0b, 0x9f, 0x69,
+ 0xf7, 0x22, 0x78, 0xbf, 0xdf, 0xa9, 0x77, 0x2d, 0x0f, 0x33, 0xa3, 0x9c,
+ 0x1f, 0xbf, 0x85, 0xfd, 0x9a, 0x1a, 0xba, 0x79, 0xa7, 0xee, 0x4a, 0x8d,
+ 0x6d, 0x4f, 0xd6, 0xf9, 0xa2, 0x15, 0x13, 0x70, 0x26, 0x37, 0x02, 0xcb,
+ 0x4c, 0x5a, 0x98, 0x1a, 0x47, 0xb7, 0x72, 0xb8, 0x87, 0xbb, 0x84, 0xd6,
+ 0xdc, 0xad, 0xc4, 0xb3, 0xbd, 0xae, 0x5b, 0x0e, 0x24, 0x95, 0xcb, 0x8b,
+ 0x06, 0x5a, 0x36, 0xd9, 0xb5, 0xde, 0x98, 0xc1, 0x09, 0x61, 0x5a, 0x24,
+ 0x06, 0x2e, 0x8b, 0xfc, 0x1f, 0xa2, 0x83, 0x66, 0xc5, 0x75, 0x5e, 0x95,
+ 0x05, 0x69, 0xb9, 0xc6, 0xf4, 0xad, 0x72, 0xb0, 0x65, 0x52, 0xbf, 0x0c,
+ 0xe3, 0xd8, 0x7e, 0xf5, 0xe1, 0xfd, 0xe9, 0xc7, 0x57, 0x2f, 0x3f, 0xfe,
+ 0xf9, 0xc3, 0xbb, 0xd7, 0xa7, 0xc7, 0xdb, 0x9d, 0xe1, 0xc8, 0xe7, 0x97,
+ 0x8b, 0xa3, 0xbe, 0x26, 0xcb, 0x03, 0x97, 0xc4, 0x4c, 0x91, 0x47, 0xbe,
+ 0xcc, 0xaf, 0x0d, 0x43, 0x83, 0x21, 0x01, 0x1f, 0x3d, 0xfe, 0x06, 0xaf,
+ 0x96, 0x6c, 0x78, 0x67, 0xb8, 0xc9, 0x9a, 0xf4, 0xb4, 0x51, 0x4b, 0x5b,
+ 0xd6, 0xab, 0x22, 0x56, 0xbb, 0x4e, 0x30, 0xa2, 0x61, 0x93, 0x16, 0x55,
+ 0xcc, 0xc8, 0x7c, 0xf1, 0x8c, 0x44, 0xcf, 0x5d, 0xbf, 0x6e, 0x8c, 0x95,
+ 0xa4, 0x01, 0x02, 0xa3, 0xb5, 0x95, 0x9f, 0x34, 0xcb, 0xc0, 0x98, 0x58,
+ 0x2f, 0x23, 0xc7, 0x5d, 0x3b, 0x4d, 0x74, 0x96, 0x6c, 0xd3, 0x48, 0x86,
+ 0x7e, 0x87, 0x32, 0xc9, 0x69, 0xd5, 0x18, 0xfb, 0x26, 0xcb, 0x71, 0x31,
+ 0x34, 0x8a, 0x4a, 0x3a, 0x2b, 0x9c, 0x73, 0x81, 0x86, 0x6d, 0x74, 0x4d,
+ 0xda, 0x03, 0x68, 0xf7, 0xd9, 0x6d, 0x86, 0x9b, 0x27, 0x6f, 0xbd, 0x5a,
+ 0x57, 0xb8, 0xcd, 0xdf, 0x19, 0x6d, 0x84, 0xb8, 0xdf, 0x6b, 0x78, 0xf7,
+ 0xcc, 0x0b, 0xfa, 0x90, 0x11, 0x33, 0x5d, 0x91, 0x57, 0x2e, 0x28, 0xae,
+ 0x9a, 0xc2, 0x93, 0x02, 0xbf, 0xd7, 0xf9, 0xcb, 0x8b, 0xaf, 0xa3, 0xca,
+ 0xac, 0x4b, 0xe9, 0x11, 0x52, 0x84, 0x62, 0x5e, 0x37, 0x72, 0x41, 0xde,
+ 0x8d, 0xc7, 0x09, 0x12, 0x46, 0x16, 0xf9, 0xa4, 0x4a, 0xe9, 0x9b, 0xf4,
+ 0x63, 0xfa, 0xa9, 0x21, 0xeb, 0xce, 0x70, 0xe7, 0xdf, 0xbc, 0x1a, 0xff,
+ 0xee, 0xe0, 0x80, 0xb4, 0xf8, 0xb5, 0xd9, 0x97, 0x1d, 0xf3, 0x4a, 0x51,
+ 0x9b, 0x9b, 0xb9, 0x1c, 0xd5, 0xe5, 0x2e, 0xc4, 0x76, 0x2d, 0xea, 0x40,
+ 0x7a, 0x6d, 0xa4, 0x2d, 0xe8, 0x48, 0x89, 0xda, 0x1c, 0x67, 0xb0, 0x27,
+ 0x60, 0x74, 0x92, 0x4d, 0x63, 0xf8, 0x85, 0x91, 0xd7, 0x8b, 0x50, 0x21,
+ 0xdf, 0xc9, 0xcf, 0xc6, 0x92, 0x8b, 0x92, 0x4e, 0xcd, 0x5f, 0xc9, 0x51,
+ 0xb0, 0x4b, 0x2b, 0x6b, 0xdf, 0x30, 0x5d, 0xd5, 0x98, 0xb5, 0xd1, 0x0b,
+ 0x32, 0x5f, 0x90, 0x42, 0x13, 0x72, 0x85, 0xa2, 0x7b, 0xb9, 0x5c, 0x9a,
+ 0x12, 0xc8, 0x61, 0x92, 0x4e, 0x3f, 0xdd, 0xa4, 0xd5, 0x8c, 0xed, 0x21,
+ 0x43, 0x31, 0x93, 0x7c, 0x91, 0x37, 0x77, 0x6c, 0xd7, 0x76, 0x6d, 0x6a,
+ 0x8e, 0x8f, 0xd2, 0x06, 0x9a, 0x7b, 0x74, 0x69, 0x4c, 0x7e, 0xd2, 0x3e,
+ 0x49, 0xc5, 0xcf, 0x1b, 0xdf, 0xa4, 0x85, 0x8a, 0xd4, 0x58, 0x15, 0xc7,
+ 0x7e, 0x3b, 0x10, 0x8f, 0x0d, 0xdf, 0x23, 0x4c, 0xd3, 0xd1, 0xae, 0xb2,
+ 0x41, 0x9f, 0x49, 0x29, 0xf9, 0x24, 0xf5, 0x9d, 0x91, 0xf2, 0xcb, 0x24,
+ 0xa2, 0x22, 0x22, 0x7b, 0x28, 0xf9, 0x26, 0xbb, 0x33, 0xf6, 0x73, 0x5e,
+ 0x38, 0x4e, 0xc9, 0xf6, 0x7d, 0x46, 0xd6, 0x1d, 0xeb, 0xa2, 0xb9, 0x3a,
+ 0xd3, 0x33, 0x89, 0x87, 0xb0, 0x24, 0x09, 0x1d, 0x08, 0xfc, 0xbe, 0xea,
+ 0xe1, 0x34, 0xc4, 0x76, 0xdd, 0x62, 0xc9, 0xf8, 0x52, 0x78, 0x88, 0x63,
+ 0xf3, 0xf3, 0xa2, 0xc8, 0x16, 0x72, 0x7c, 0x17, 0x9b, 0x0e, 0xc0, 0x3e,
+ 0x6b, 0xa6, 0xfc, 0x1d, 0xdf, 0xe8, 0xce, 0x70, 0x4f, 0x39, 0xb8, 0x9f,
+ 0x36, 0x2a, 0x93, 0x34, 0x6b, 0xc8, 0x58, 0x45, 0xfb, 0xf6, 0x57, 0xa3,
+ 0xde, 0xcf, 0x04, 0xb7, 0xa9, 0x72, 0x87, 0xde, 0x3e, 0x73, 0x76, 0x8a,
+ 0xe2, 0x90, 0xe9, 0x8c, 0xe5, 0x88, 0xff, 0x68, 0x35, 0x2b, 0x04, 0x30,
+ 0x3a, 0xc3, 0xf9, 0x5a, 0xb6, 0xca, 0x30, 0x59, 0xc7, 0xb6, 0xd1, 0x53,
+ 0xcb, 0x0a, 0xfe, 0xa2, 0xaa, 0x34, 0x67, 0xdd, 0x3a, 0xcf, 0x1d, 0x56,
+ 0x36, 0xba, 0xd7, 0x44, 0xb8, 0xb9, 0xb7, 0x31, 0xbb, 0xb1, 0x8b, 0x1e,
+ 0x68, 0x26, 0xa1, 0xc9, 0xda, 0x6b, 0x71, 0xb6, 0x25, 0x34, 0xb8, 0xf4,
+ 0x0b, 0xc3, 0xc6, 0xfe, 0x75, 0x01, 0xcd, 0xcc, 0x10, 0xcc, 0x2f, 0x94,
+ 0x59, 0x42, 0x8b, 0x2d, 0x41, 0xfd, 0x56, 0x25, 0x32, 0x4d, 0xc2, 0xba,
+ 0x60, 0x57, 0x9c, 0x30, 0xc0, 0x8a, 0x23, 0xfb, 0x92, 0x43, 0x33, 0x80,
+ 0xdc, 0x81, 0xe2, 0x72, 0x7c, 0xbe, 0x95, 0xec, 0x64, 0xa3, 0x4b, 0x33,
+ 0xde, 0x16, 0x8d, 0x73, 0xf0, 0x9c, 0xfe, 0x7b, 0x88, 0xff, 0x1e, 0x6d,
+ 0x69, 0x6a, 0x9f, 0xbf, 0xf5, 0x24, 0xcd, 0xbb, 0xb2, 0x88, 0xe3, 0x71,
+ 0x4e, 0xb8, 0x0f, 0xd8, 0xc7, 0xdc, 0xc7, 0x78, 0x58, 0x67, 0x3d, 0xe5,
+ 0x5d, 0x0e, 0xd5, 0x2d, 0xdd, 0x86, 0x25, 0xfb, 0x23, 0xae, 0x33, 0x76,
+ 0x88, 0x98, 0x95, 0x4d, 0x8d, 0x7a, 0x08, 0x37, 0xa2, 0xde, 0xaa, 0xe9,
+ 0xc7, 0x2a, 0xbb, 0x4a, 0xeb, 0xab, 0x64, 0xdd, 0x30, 0x11, 0x1a, 0xba,
+ 0xed, 0x0e, 0xb7, 0x5a, 0xe4, 0xce, 0xd3, 0x26, 0x9f, 0x1e, 0xa9, 0xdd,
+ 0xe7, 0x4e, 0x91, 0x23, 0x20, 0x8b, 0xf2, 0x46, 0x9f, 0x19, 0x4a, 0xae,
+ 0x5d, 0x4c, 0x2d, 0x30, 0xa7, 0x09, 0xbf, 0x09, 0x3d, 0xe6, 0x47, 0xb2,
+ 0x97, 0xa4, 0x4d, 0x52, 0x22, 0xa0, 0x61, 0x71, 0x73, 0xb3, 0x63, 0x64,
+ 0xd1, 0x2d, 0x70, 0x6e, 0x64, 0xbb, 0x62, 0xde, 0x81, 0x69, 0x2a, 0x7a,
+ 0x5e, 0x3e, 0x17, 0xef, 0xad, 0xfc, 0x1b, 0xf2, 0x54, 0xb4, 0xaf, 0x9a,
+ 0xa3, 0xdd, 0x5d, 0xd5, 0xeb, 0x7e, 0xd2, 0x56, 0x06, 0x69, 0x35, 0x1d,
+ 0x59, 0x2c, 0x07, 0x4c, 0x94, 0xae, 0xf3, 0x4b, 0xd8, 0x1a, 0x31, 0x07,
+ 0x06, 0x3b, 0xa5, 0xfe, 0xa5, 0x4b, 0x62, 0x66, 0x3c, 0x24, 0x7f, 0xe9,
+ 0xba, 0x7e, 0xc0, 0x1d, 0xf1, 0x98, 0x2e, 0xbf, 0x63, 0xfd, 0xc5, 0x1c,
+ 0xd5, 0xf7, 0x37, 0xa0, 0x4b, 0x85, 0x77, 0x1e, 0x61, 0xbc, 0xf2, 0x6e,
+ 0xd6, 0x98, 0x07, 0x7a, 0x2f, 0x2e, 0x92, 0x9d, 0xf4, 0x53, 0x3a, 0x4a,
+ 0xce, 0x5e, 0x8d, 0xcf, 0xe9, 0x13, 0x86, 0x3a, 0x8a, 0x4b, 0x33, 0x8b,
+ 0xd3, 0x71, 0x67, 0xb8, 0xec, 0xb6, 0xc9, 0x8a, 0x3a, 0xe6, 0xa0, 0x0c,
+ 0xb7, 0x59, 0xa3, 0x08, 0x9a, 0x5e, 0x23, 0x93, 0x35, 0x96, 0x3e, 0xe2,
+ 0xe2, 0x14, 0xe6, 0xa5, 0x1c, 0x8c, 0x84, 0xaf, 0x5a, 0xf0, 0xa1, 0x95,
+ 0xb9, 0xf9, 0xb3, 0x5d, 0xeb, 0xaa, 0x19, 0x28, 0x2d, 0xd8, 0x70, 0x61,
+ 0xbd, 0xbe, 0x24, 0x1b, 0xa4, 0x56, 0xbb, 0xd1, 0x7e, 0xc1, 0xec, 0x46,
+ 0xa8, 0x2a, 0xc8, 0xb2, 0xad, 0x27, 0xd1, 0x58, 0x4d, 0x94, 0x49, 0x05,
+ 0x15, 0xa9, 0x28, 0xdd, 0xa8, 0x94, 0x4d, 0x81, 0xac, 0xd1, 0x1c, 0x01,
+ 0xb6, 0x69, 0x66, 0x54, 0xd0, 0x59, 0x44, 0x09, 0xe0, 0x43, 0x51, 0xc3,
+ 0x69, 0x2e, 0x99, 0xa2, 0x11, 0xff, 0x0f, 0x06, 0x9a, 0xb2, 0x8a, 0x46,
+ 0x54, 0x8f, 0x40, 0x45, 0x4e, 0x7e, 0x52, 0x52, 0x98, 0xd9, 0x54, 0xa7,
+ 0xf1, 0xec, 0xfd, 0xff, 0xaa, 0x58, 0x9b, 0x8d, 0x8f, 0x48, 0x63, 0x52,
+ 0xaa, 0x48, 0xcc, 0xd0, 0x06, 0x6e, 0x72, 0xec, 0x3d, 0x3a, 0x68, 0xfb,
+ 0xb1, 0x41, 0x6c, 0xc6, 0x00, 0xc8, 0x92, 0x17, 0xf4, 0xdf, 0x7b, 0xb9,
+ 0x32, 0x52, 0x57, 0xf0, 0xbc, 0xc4, 0x3b, 0x99, 0x77, 0x8a, 0x2f, 0x26,
+ 0x69, 0x33, 0xe8, 0x40, 0x7a, 0x81, 0xdc, 0x46, 0xc4, 0xf7, 0x06, 0xc9,
+ 0x6b, 0x4a, 0xc8, 0x3e, 0x7e, 0xf7, 0x15, 0x68, 0xe0, 0xfc, 0xe0, 0x10,
+ 0xd1, 0x25, 0x6b, 0x3d, 0xcc, 0xf0, 0x91, 0x9a, 0x1d, 0x09, 0x1c, 0x1d,
+ 0x0e, 0x15, 0x5f, 0xc8, 0x84, 0x01, 0xd8, 0x28, 0x85, 0x05, 0x91, 0x3d,
+ 0x34, 0xfb, 0xf5, 0xe4, 0x57, 0x60, 0x88, 0x1e, 0x0f, 0x64, 0x07, 0xc5,
+ 0x31, 0xf3, 0x29, 0xbb, 0x73, 0x7f, 0xc3, 0xae, 0x7a, 0x5b, 0xed, 0x1e,
+ 0x7e, 0xe1, 0x6d, 0xd2, 0x5f, 0x9f, 0x53, 0x86, 0x92, 0xd1, 0x52, 0x67,
+ 0x3f, 0xfe, 0x3c, 0x89, 0x18, 0xdf, 0xf9, 0x88, 0xb3, 0x05, 0x7e, 0x2e,
+ 0xcd, 0x05, 0xe2, 0xd0, 0x3f, 0xb3, 0x78, 0x49, 0x87, 0xa7, 0x4c, 0x79,
+ 0x22, 0xf8, 0xb4, 0xb0, 0x2a, 0xc9, 0x90, 0x13, 0xc0, 0x90, 0x10, 0xd6,
+ 0xdd, 0xfb, 0x69, 0xb9, 0x08, 0x64, 0x5d, 0xcb, 0x70, 0x85, 0x3e, 0x7f,
+ 0x28, 0xf2, 0x0d, 0xc6, 0x1c, 0x33, 0x1b, 0xd1, 0xa2, 0xbb, 0xd7, 0xc1,
+ 0xea, 0xd4, 0x50, 0xbf, 0x9c, 0x64, 0xa4, 0x37, 0xf9, 0x45, 0x84, 0xb9,
+ 0x31, 0x35, 0xd6, 0x94, 0x46, 0x89, 0xd3, 0x78, 0x63, 0xea, 0xbf, 0x39,
+ 0x5b, 0xdd, 0x5b, 0x73, 0xe8, 0xe4, 0x67, 0xb2, 0xbb, 0x36, 0xf0, 0x3d,
+ 0x4d, 0x86, 0xc9, 0x55, 0xb9, 0xea, 0xe7, 0x92, 0x4c, 0x1a, 0xc6, 0x30,
+ 0x38, 0xe3, 0x40, 0xbc, 0x51, 0x92, 0x59, 0xd5, 0xf2, 0xe5, 0x33, 0xf9,
+ 0x91, 0x25, 0xba, 0xe5, 0x6d, 0xc9, 0x56, 0xec, 0x28, 0x1a, 0x0e, 0x7e,
+ 0xca, 0x15, 0xca, 0xaf, 0x69, 0xeb, 0x94, 0x76, 0x9c, 0x63, 0xb3, 0xad,
+ 0xfa, 0x96, 0x05, 0xfd, 0x59, 0x90, 0x4f, 0xec, 0xdf, 0x22, 0x04, 0x19,
+ 0xa5, 0x45, 0xf2, 0x8d, 0x4b, 0xec, 0x03, 0x0a, 0x0c, 0x25, 0x41, 0x4a,
+ 0x16, 0xfa, 0xe2, 0xee, 0x41, 0x06, 0x9d, 0x2a, 0x20, 0x6a, 0xb7, 0x79,
+ 0xc6, 0x5c, 0x60, 0xed, 0x74, 0x09, 0xc4, 0xb0, 0xf1, 0x86, 0x52, 0x4a,
+ 0x98, 0x76, 0xc9, 0xf7, 0x9a, 0x4f, 0x3f, 0x21, 0xf2, 0x22, 0x12, 0xca,
+ 0x5f, 0x9f, 0xe6, 0xed, 0x71, 0xc6, 0x69, 0xe4, 0x08, 0x60, 0x4b, 0x92,
+ 0x53, 0x98, 0x68, 0x92, 0xa4, 0x73, 0x5e, 0xb0, 0xce, 0xd6, 0xeb, 0x65,
+ 0x30, 0x73, 0xfd, 0xf8, 0xfa, 0xe4, 0x7d, 0xb2, 0x43, 0x1a, 0x78, 0xd7,
+ 0xc8, 0x55, 0xf1, 0xbe, 0x97, 0x35, 0xd3, 0xbd, 0xd5, 0xa7, 0x7c, 0xcf,
+ 0x18, 0x9b, 0xb3, 0xc9, 0xae, 0x35, 0xa2, 0xf0, 0x39, 0xa2, 0x42, 0x6b,
+ 0x98, 0xaa, 0x65, 0x0a, 0xd3, 0x34, 0x70, 0x3d, 0x3a, 0x53, 0x95, 0x2b,
+ 0x5c, 0xac, 0x8d, 0xca, 0xdb, 0xc4, 0x04, 0x8d, 0x10, 0x0d, 0x67, 0x47,
+ 0x20, 0xb0, 0x93, 0xb1, 0x5f, 0xda, 0xd8, 0xd8, 0xdd, 0xbb, 0xca, 0xd9,
+ 0x8f, 0xe2, 0xc8, 0x61, 0x07, 0x8e, 0xa6, 0xec, 0x89, 0xb8, 0x70, 0xda,
+ 0xef, 0x80, 0x92, 0x2d, 0x69, 0x53, 0x56, 0x24, 0x92, 0x66, 0xe4, 0x06,
+ 0xec, 0x0e, 0x07, 0x4d, 0x6e, 0x6b, 0xb4, 0xb7, 0x95, 0xd8, 0xf4, 0x52,
+ 0xb3, 0xcb, 0x9c, 0x3f, 0x6d, 0x03, 0x5f, 0x86, 0xc4, 0xe6, 0xeb, 0xda,
+ 0xfa, 0x31, 0x53, 0x7b, 0x5e, 0xa3, 0x18, 0x43, 0xf5, 0x8e, 0xd3, 0xea,
+ 0x5c, 0x46, 0x37, 0xc6, 0xcd, 0xf2, 0xad, 0x75, 0x99, 0x14, 0x8e, 0x6a,
+ 0xeb, 0x87, 0xad, 0xc4, 0x4b, 0x4f, 0x6c, 0x65, 0x29, 0xe6, 0x2e, 0x81,
+ 0xc8, 0x13, 0x02, 0x46, 0x22, 0xdb, 0x3b, 0x3c, 0xcb, 0x16, 0xf9, 0x32,
+ 0x87, 0xed, 0xe5, 0x4f, 0x61, 0x18, 0x0b, 0x10, 0xba, 0x29, 0xfd, 0x10,
+ 0x4e, 0x49, 0x53, 0x7e, 0x53, 0xfa, 0xb5, 0x99, 0x12, 0x3c, 0x62, 0x9c,
+ 0x91, 0x19, 0xb7, 0x9a, 0xdb, 0x13, 0xb2, 0x49, 0xc3, 0x1b, 0x22, 0xc7,
+ 0xf6, 0x2e, 0xf5, 0xa9, 0xf2, 0xce, 0x25, 0xa2, 0x97, 0x9e, 0x99, 0x5a,
+ 0xb2, 0xfa, 0x34, 0xad, 0x0f, 0x0e, 0xba, 0x82, 0xae, 0x76, 0x14, 0x25,
+ 0xf6, 0x7b, 0x6a, 0x09, 0xf3, 0xc3, 0xfb, 0x93, 0x64, 0x87, 0x8a, 0x44,
+ 0x9e, 0x3e, 0x3e, 0x38, 0xdc, 0xf5, 0x33, 0x4b, 0x94, 0x01, 0x84, 0x72,
+ 0xf3, 0x8e, 0x43, 0xb2, 0xde, 0x05, 0x5c, 0x94, 0xd3, 0x54, 0x34, 0x0e,
+ 0x37, 0xf4, 0x2c, 0xbb, 0xce, 0xa7, 0x54, 0xa3, 0x43, 0x01, 0x79, 0xe2,
+ 0xc1, 0x93, 0xcc, 0x4c, 0x32, 0xd8, 0x71, 0x97, 0xd1, 0xcb, 0xb3, 0x37,
+ 0x26, 0x92, 0xd5, 0x94, 0x29, 0x6f, 0xda, 0xd0, 0x40, 0x23, 0x7b, 0xe7,
+ 0xcf, 0x5a, 0xa2, 0x04, 0x69, 0x8f, 0x27, 0x88, 0xd6, 0xc5, 0x15, 0x34,
+ 0xd0, 0x31, 0x06, 0x2e, 0xf0, 0x33, 0x1c, 0xca, 0x66, 0x09, 0xeb, 0xb5,
+ 0xb1, 0x63, 0xca, 0x40, 0xe9, 0x1e, 0xa0, 0xcc, 0x69, 0x8b, 0x04, 0x49,
+ 0x01, 0xe1, 0x9e, 0xba, 0x41, 0xed, 0xee, 0xfb, 0x9a, 0x50, 0x7b, 0xd4,
+ 0xd0, 0x53, 0x0e, 0xc2, 0x31, 0x9a, 0x4b, 0x7c, 0xc8, 0xdf, 0xc8, 0xc9,
+ 0xd4, 0x66, 0x9f, 0x72, 0x3c, 0x74, 0xf6, 0xe2, 0x35, 0x9c, 0xb0, 0xa2,
+ 0xa0, 0xfc, 0x36, 0xd5, 0xc7, 0x03, 0x39, 0x6e, 0x5e, 0xdf, 0x53, 0x21,
+ 0x04, 0x29, 0xa4, 0xfe, 0x46, 0xf6, 0xfc, 0x18, 0xe6, 0x09, 0x4f, 0xcf,
+ 0x27, 0x71, 0xf4, 0x40, 0x29, 0xb6, 0x29, 0x1c, 0xa1, 0xaf, 0x58, 0x05,
+ 0xbf, 0x39, 0xa2, 0x69, 0x39, 0xeb, 0x98, 0xec, 0xb4, 0x09, 0x9e, 0xc0,
+ 0x03, 0xf7, 0xe3, 0x50, 0x25, 0x38, 0x5e, 0xdc, 0x93, 0x4d, 0x94, 0xca,
+ 0xee, 0xf5, 0x9f, 0xc4, 0x03, 0x63, 0x1e, 0x35, 0xb0, 0xc0, 0x9f, 0xc5,
+ 0x01, 0xef, 0xf1, 0x39, 0xbd, 0x0a, 0x24, 0x76, 0x6d, 0x95, 0x21, 0xa7,
+ 0xab, 0x51, 0xb2, 0x78, 0x82, 0x8d, 0x0b, 0x2d, 0x1a, 0x4a, 0x1b, 0x44,
+ 0x4a, 0x00, 0xe5, 0x7c, 0x75, 0xee, 0x26, 0x3b, 0x76, 0xcc, 0x75, 0xd9,
+ 0x39, 0xe5, 0x20, 0x65, 0x72, 0xfe, 0xe6, 0x7b, 0xe5, 0x96, 0x31, 0x03,
+ 0x1e, 0x8e, 0xa8, 0x3f, 0xda, 0xec, 0x30, 0x63, 0x51, 0x50, 0xa6, 0x5a,
+ 0x2e, 0x59, 0x9f, 0xec, 0x26, 0x42, 0x38, 0x7c, 0xd7, 0x25, 0x33, 0xd2,
+ 0x56, 0x6f, 0xbd, 0xc0, 0xef, 0xba, 0xb1, 0xa6, 0x92, 0x2d, 0x99, 0x3f,
+ 0xfd, 0xc0, 0xbf, 0x66, 0x1e, 0x6b, 0xfe, 0xd5, 0x5c, 0xad, 0x97, 0x13,
+ 0x73, 0x9e, 0x45, 0xf3, 0xa7, 0xad, 0x84, 0x83, 0xad, 0x73, 0xd9, 0xcf,
+ 0x0d, 0x66, 0x67, 0xae, 0xf5, 0x3a, 0xea, 0x5b, 0x6c, 0xed, 0x1a, 0xcf,
+ 0x4e, 0x6b, 0x07, 0x5c, 0x7e, 0x9e, 0x39, 0x3c, 0xf6, 0x65, 0x07, 0xaa,
+ 0xde, 0x07, 0x43, 0x9e, 0x3f, 0xbc, 0xfd, 0xcb, 0x0f, 0xcf, 0x8e, 0x1e,
+ 0xa5, 0x4f, 0xd3, 0xe9, 0x93, 0xf9, 0xe7, 0xe9, 0xe3, 0xd9, 0xe3, 0xa7,
+ 0xcf, 0x0e, 0x3f, 0x7f, 0x9c, 0x3e, 0x7d, 0x34, 0x4f, 0x9f, 0x1c, 0x64,
+ 0x07, 0xcf, 0xe6, 0x87, 0x47, 0xb3, 0xd9, 0x3c, 0xfb, 0x7c, 0xf6, 0x34,
+ 0xdd, 0x1a, 0xc1, 0xfc, 0xd2, 0xa9, 0x87, 0xac, 0x56, 0x03, 0x6f, 0x69,
+ 0x32, 0xfe, 0xfa, 0xe5, 0xf0, 0x20, 0xb9, 0xca, 0x6e, 0xf5, 0x82, 0xb1,
+ 0x47, 0xd3, 0x66, 0xdd, 0x65, 0x92, 0x57, 0xdd, 0xbf, 0x58, 0x2d, 0x14,
+ 0xa4, 0xac, 0x69, 0xf2, 0x95, 0x40, 0x03, 0xe6, 0x5d, 0xd4, 0x6d, 0xe5,
+ 0xbc, 0x3a, 0xeb, 0x3f, 0x7c, 0xae, 0x3e, 0x7b, 0x5a, 0x57, 0xf7, 0xf2,
+ 0x9f, 0x9a, 0x77, 0x16, 0x6f, 0xd3, 0xa9, 0x51, 0x92, 0xcc, 0x9e, 0xc8,
+ 0x83, 0x63, 0x63, 0xda, 0x1a, 0x36, 0x3d, 0x48, 0xe4, 0x2f, 0xe4, 0x25,
+ 0xf6, 0xc6, 0xf8, 0xaa, 0x2a, 0xd7, 0xab, 0xf3, 0x72, 0x91, 0x4f, 0xef,
+ 0x36, 0x0d, 0xe7, 0x3f, 0xd6, 0xfa, 0xc5, 0x31, 0xb3, 0xf0, 0xbc, 0xce,
+ 0x7e, 0x43, 0xd3, 0xca, 0x63, 0xc7, 0x0f, 0xb0, 0xad, 0x86, 0xd3, 0x7c,
+ 0x75, 0x45, 0x71, 0xde, 0x17, 0xc8, 0xf2, 0xa3, 0xd0, 0x0c, 0xff, 0x20,
+ 0x6e, 0x53, 0x8d, 0xe5, 0x46, 0xd6, 0x72, 0x9e, 0xfa, 0xb6, 0x68, 0x5c,
+ 0xb9, 0x96, 0xc0, 0xa9, 0x9b, 0x4a, 0x32, 0x4b, 0xf3, 0xc0, 0x8f, 0xe7,
+ 0x3e, 0xc4, 0xb7, 0x5d, 0xb5, 0x6d, 0x76, 0x5e, 0xc8, 0xaf, 0x46, 0xc9,
+ 0x7b, 0xc4, 0xc9, 0xd7, 0x2b, 0x36, 0x2f, 0xe0, 0xcf, 0xe7, 0xdf, 0x75,
+ 0x2f, 0x1a, 0x4d, 0x5e, 0x28, 0x86, 0x0b, 0xf1, 0xcc, 0x8e, 0x7e, 0x78,
+ 0x7f, 0xfa, 0xbc, 0xbb, 0x4f, 0x28, 0x36, 0xaa, 0x9f, 0xef, 0xed, 0x21,
+ 0xe4, 0x73, 0x95, 0xde, 0xde, 0x8e, 0xea, 0x6c, 0x6f, 0x56, 0x4e, 0xeb,
+ 0xbd, 0xba, 0x5e, 0xe8, 0x6e, 0xb4, 0x6b, 0xff, 0x7e, 0x05, 0x6f, 0x6e,
+ 0xb9, 0x04, 0xdb, 0xca, 0x66, 0xc3, 0xba, 0x0e, 0x72, 0x83, 0xc6, 0xaf,
+ 0x34, 0xf3, 0xe0, 0x58, 0x72, 0xd2, 0x20, 0xe7, 0x86, 0x66, 0x77, 0xc7,
+ 0xe3, 0xaf, 0x13, 0x7d, 0x19, 0xdb, 0x6b, 0x43, 0xe2, 0x36, 0x2f, 0x67,
+ 0x10, 0x51, 0xc3, 0x52, 0x61, 0xd8, 0x7f, 0xf4, 0x1d, 0x3a, 0xa4, 0x4e,
+ 0x97, 0xfc, 0x87, 0xd4, 0xae, 0xe4, 0xcd, 0xc6, 0x44, 0xbe, 0x27, 0x1d,
+ 0x07, 0x88, 0x5d, 0x44, 0x3c, 0xfe, 0xaf, 0x4e, 0xb0, 0x34, 0x71, 0x4f,
+ 0x3a, 0x8f, 0x50, 0xb7, 0x38, 0xdd, 0x50, 0xef, 0x65, 0x59, 0x19, 0xe1,
+ 0xb1, 0xac, 0x63, 0x5e, 0x50, 0xbd, 0xe5, 0x35, 0xab, 0x7d, 0x35, 0xe7,
+ 0x22, 0x9a, 0x61, 0x0a, 0x6f, 0x70, 0x73, 0x8c, 0xc8, 0x61, 0x1c, 0xf9,
+ 0x87, 0x15, 0x8d, 0x6f, 0xe9, 0xe1, 0xf5, 0x79, 0xd1, 0xd6, 0x85, 0x0b,
+ 0x7e, 0x40, 0x1c, 0x9b, 0xc9, 0x4a, 0x61, 0x59, 0x60, 0x21, 0x20, 0xf7,
+ 0x1f, 0x62, 0x82, 0x74, 0x88, 0xaa, 0x2a, 0x3d, 0xa5, 0x76, 0xf8, 0x0d,
+ 0x8c, 0x4b, 0x23, 0x1d, 0xf3, 0x4b, 0x0d, 0xaf, 0xf7, 0xe4, 0xd8, 0x91,
+ 0xe8, 0x6a, 0x90, 0xbb, 0x2c, 0xe5, 0xe0, 0x24, 0x14, 0x28, 0x85, 0x0d,
+ 0xa9, 0x25, 0x92, 0x9d, 0xc9, 0xe9, 0x40, 0xad, 0x2a, 0xf8, 0xe0, 0x26,
+ 0x50, 0xcd, 0x8f, 0x7b, 0x9c, 0xd2, 0xa8, 0xf4, 0x5e, 0x62, 0x78, 0x71,
+ 0x5f, 0x78, 0x89, 0x6d, 0xa4, 0x95, 0xc1, 0xcd, 0x60, 0x9e, 0xe9, 0x5a,
+ 0x7b, 0xc8, 0xb9, 0xb5, 0x3a, 0x5f, 0xac, 0xc4, 0xb5, 0xbb, 0x1e, 0x4d,
+ 0xbd, 0xd7, 0xbd, 0xcd, 0x51, 0x54, 0x9d, 0x22, 0xaf, 0x3f, 0x26, 0xda,
+ 0x4b, 0x2f, 0x48, 0x4b, 0x03, 0x86, 0x32, 0xaf, 0xb1, 0x69, 0x93, 0x5a,
+ 0xa9, 0x04, 0x85, 0xc0, 0x70, 0x20, 0x23, 0xf6, 0x28, 0xe3, 0x9c, 0x4a,
+ 0xe9, 0x17, 0xa5, 0x53, 0xb0, 0x0c, 0xe1, 0x19, 0x5e, 0x88, 0x6a, 0xc4,
+ 0x51, 0xc0, 0xb7, 0xb9, 0x26, 0x89, 0x93, 0x08, 0xb9, 0xb6, 0x8e, 0xb3,
+ 0xbd, 0xf8, 0x67, 0x10, 0x5f, 0x13, 0x8d, 0x91, 0x3b, 0x7e, 0x46, 0xe7,
+ 0x17, 0x73, 0x0d, 0x49, 0x56, 0x3e, 0x17, 0x3a, 0xe6, 0x28, 0xe1, 0x95,
+ 0xa2, 0x4f, 0x2e, 0x32, 0x50, 0xcf, 0x76, 0x5d, 0x4a, 0xca, 0x26, 0x4d,
+ 0x94, 0xe6, 0xc9, 0x73, 0xec, 0x92, 0xba, 0x2d, 0xe8, 0x6c, 0x19, 0x23,
+ 0x69, 0xed, 0x72, 0xf5, 0xeb, 0x30, 0x5a, 0xe9, 0x36, 0x33, 0x66, 0xbd,
+ 0x06, 0x75, 0x0f, 0x98, 0x48, 0x95, 0xe9, 0x17, 0x8a, 0xb2, 0x3b, 0x29,
+ 0x9d, 0x47, 0x2c, 0x1f, 0x55, 0x73, 0xfb, 0xbd, 0x09, 0x68, 0x8e, 0xbf,
+ 0x3d, 0xe5, 0x9e, 0xec, 0xcd, 0x2c, 0x71, 0x8f, 0x24, 0xce, 0xce, 0x74,
+ 0xc7, 0x08, 0x7f, 0x03, 0x2a, 0x36, 0x6a, 0x9e, 0xfa, 0x73, 0x9a, 0xd3,
+ 0x17, 0xbb, 0x31, 0x3f, 0xb1, 0x1b, 0x49, 0x29, 0x8a, 0xee, 0xe9, 0xa2,
+ 0xac, 0x35, 0xfe, 0x42, 0xca, 0x05, 0xd7, 0xdd, 0x1a, 0x6e, 0xf0, 0x9d,
+ 0xfc, 0x80, 0x8f, 0xa6, 0x33, 0x1c, 0x3f, 0x35, 0x90, 0x29, 0xce, 0x9d,
+ 0xb2, 0x21, 0xb6, 0xaa, 0x2b, 0x16, 0x26, 0x6d, 0xc3, 0x5a, 0x93, 0xcf,
+ 0x93, 0x1f, 0x7e, 0x18, 0x24, 0xc6, 0x48, 0xee, 0x0c, 0xf7, 0x43, 0x63,
+ 0x7e, 0x6a, 0x68, 0xf1, 0x07, 0x2e, 0x58, 0xfa, 0xe1, 0x9a, 0x8c, 0x40,
+ 0x72, 0x30, 0xd7, 0x0b, 0x8a, 0x1e, 0xb1, 0x9a, 0xdd, 0xf6, 0xca, 0x71,
+ 0x3d, 0xf4, 0x86, 0xd4, 0x2c, 0x67, 0xb7, 0x73, 0x2a, 0xa6, 0x39, 0xb0,
+ 0xf5, 0xb2, 0x10, 0xeb, 0x84, 0x89, 0x13, 0xf7, 0x1e, 0x72, 0x60, 0xfb,
+ 0x77, 0xdb, 0x8e, 0x90, 0x62, 0x7b, 0x57, 0x65, 0x2c, 0xe9, 0x21, 0xaa,
+ 0x72, 0x4f, 0x4c, 0x69, 0xf5, 0x30, 0xcc, 0xcd, 0x84, 0xc3, 0xa5, 0xc4,
+ 0x4c, 0xcf, 0xc8, 0xb9, 0xce, 0x65, 0x60, 0x5d, 0x31, 0xee, 0x4c, 0x49,
+ 0xaa, 0x8d, 0x5b, 0x5d, 0xdd, 0xd5, 0x94, 0xc9, 0x21, 0xb3, 0x09, 0x6e,
+ 0x4f, 0x6f, 0x82, 0xb1, 0xec, 0x3d, 0x15, 0xf5, 0x10, 0x1f, 0x20, 0xe6,
+ 0xd7, 0x62, 0x9d, 0x66, 0x46, 0xdb, 0xc3, 0x6d, 0x1b, 0x0b, 0x93, 0x7c,
+ 0x99, 0x20, 0x97, 0xde, 0x26, 0x67, 0xbb, 0xe4, 0xc3, 0xe0, 0x93, 0x5e,
+ 0x52, 0x5c, 0xe9, 0xa7, 0x3b, 0xba, 0xe2, 0x76, 0xaa, 0x4e, 0xd5, 0x28,
+ 0xbe, 0x7c, 0x5f, 0xf8, 0x4f, 0xc4, 0xe1, 0x84, 0xb4, 0x48, 0x98, 0x1e,
+ 0x3a, 0x00, 0xbc, 0x21, 0x2e, 0x3c, 0x34, 0x1c, 0x02, 0x67, 0x64, 0xc5,
+ 0xd8, 0x20, 0x44, 0x12, 0xc8, 0x3c, 0xb8, 0xa3, 0x4a, 0xb0, 0xd5, 0x22,
+ 0xe0, 0xb7, 0x92, 0x0a, 0xa8, 0xc5, 0xd6, 0x74, 0xc1, 0x09, 0x90, 0xe2,
+ 0xa6, 0x10, 0x40, 0x81, 0x71, 0x09, 0xaf, 0xcc, 0x14, 0x39, 0x0c, 0x92,
+ 0x2e, 0x23, 0x35, 0x65, 0x11, 0x2b, 0x90, 0x64, 0x60, 0xa0, 0x03, 0xd1,
+ 0x7c, 0xbe, 0x48, 0xb6, 0xfa, 0x35, 0xa1, 0xad, 0xee, 0x1b, 0xc8, 0x80,
+ 0x74, 0x2e, 0x4e, 0xa9, 0x97, 0xc7, 0x44, 0x76, 0x24, 0x93, 0x6e, 0xf8,
+ 0x77, 0x4e, 0x68, 0xe3, 0x92, 0x2e, 0x91, 0xaf, 0xbb, 0x9c, 0x20, 0x5c,
+ 0x47, 0x22, 0xfb, 0x2e, 0xcb, 0xca, 0xa3, 0x0f, 0x97, 0xa7, 0x94, 0xc3,
+ 0x7d, 0x0d, 0xe9, 0xc5, 0xd2, 0xce, 0x7b, 0x3a, 0x08, 0xc5, 0xeb, 0xdb,
+ 0x54, 0x71, 0x42, 0xdf, 0x13, 0x97, 0xb4, 0x8a, 0x0e, 0x7b, 0xa3, 0x57,
+ 0x0b, 0xe0, 0x74, 0x68, 0xad, 0x0b, 0x54, 0xa2, 0x60, 0x77, 0x0e, 0x76,
+ 0x6d, 0x75, 0x24, 0xc0, 0x36, 0x38, 0x33, 0x5b, 0xf4, 0x84, 0xad, 0xab,
+ 0x92, 0x73, 0x89, 0xb6, 0x9e, 0x53, 0xe1, 0x9e, 0xdc, 0x46, 0xac, 0x51,
+ 0x61, 0x10, 0x3a, 0xc3, 0x21, 0x53, 0xeb, 0xeb, 0xb3, 0xb7, 0xc7, 0xed,
+ 0x0c, 0x5c, 0xfc, 0x24, 0xe6, 0x7c, 0x35, 0xec, 0xea, 0x8d, 0xe1, 0x30,
+ 0x4c, 0x03, 0x69, 0xa0, 0xcd, 0x31, 0x6d, 0x99, 0x69, 0x5d, 0x66, 0xcd,
+ 0xea, 0x66, 0x9d, 0xcf, 0x76, 0x76, 0x89, 0x46, 0xa8, 0xdc, 0x64, 0x88,
+ 0x1a, 0x27, 0x36, 0x0d, 0xeb, 0x64, 0x87, 0x15, 0xf4, 0x2a, 0x6b, 0xd6,
+ 0x55, 0xc1, 0x0e, 0x73, 0x9a, 0x7b, 0xd7, 0xc8, 0x32, 0xd2, 0x99, 0x45,
+ 0x9d, 0xef, 0x1c, 0x10, 0xcc, 0x1c, 0x4e, 0x61, 0xe2, 0x01, 0x8d, 0xb9,
+ 0x7b, 0x66, 0xf3, 0x3e, 0x70, 0xf0, 0x58, 0x4b, 0x20, 0xbf, 0xfc, 0x9d,
+ 0x48, 0x5e, 0x9e, 0x9f, 0xbf, 0x7e, 0x79, 0xf1, 0xd2, 0xae, 0x0d, 0x02,
+ 0x1a, 0xcc, 0x05, 0x1a, 0xb2, 0xe1, 0x43, 0xa4, 0x35, 0xd1, 0x93, 0xdb,
+ 0xbf, 0xff, 0x30, 0x3e, 0x7e, 0xdf, 0x3d, 0xd8, 0xf3, 0xf7, 0x67, 0x04,
+ 0x48, 0xf4, 0xfb, 0x1f, 0x5e, 0xae, 0x56, 0x0b, 0x0d, 0x0a, 0xbe, 0x4e,
+ 0x9b, 0x74, 0x3b, 0xb8, 0xd5, 0x87, 0xbb, 0x34, 0xbf, 0x1b, 0x3b, 0xbf,
+ 0xb9, 0x08, 0x39, 0x98, 0xfa, 0xc9, 0x88, 0x0e, 0xb4, 0x9a, 0x6a, 0xfa,
+ 0xad, 0xdd, 0x0d, 0x6c, 0x00, 0xb2, 0x67, 0xfb, 0x17, 0x52, 0x3a, 0x4e,
+ 0xa6, 0x89, 0x64, 0xba, 0x59, 0x0b, 0x63, 0x64, 0x67, 0xd3, 0x75, 0xa3,
+ 0x24, 0x0f, 0xfa, 0xa2, 0x2a, 0xee, 0xee, 0xbe, 0x04, 0xc7, 0xe3, 0xc2,
+ 0x28, 0xcc, 0x05, 0x00, 0x22, 0x60, 0x08, 0x0d, 0x29, 0xd2, 0x3a, 0x5b,
+ 0xe6, 0x62, 0x11, 0x9a, 0x9a, 0x65, 0x1c, 0x56, 0x01, 0xa8, 0x00, 0x4f,
+ 0x29, 0xd8, 0x90, 0xdf, 0x99, 0xdb, 0x38, 0x4c, 0x8e, 0xa5, 0xda, 0x0d,
+ 0x0b, 0x37, 0x3f, 0x08, 0x1e, 0x6a, 0xac, 0xf9, 0x20, 0xec, 0x3e, 0xce,
+ 0x2b, 0x3c, 0xa0, 0x8d, 0xad, 0xae, 0x08, 0xe0, 0xd2, 0x56, 0xf3, 0x10,
+ 0x4d, 0x9b, 0x36, 0x1d, 0xd6, 0xd3, 0x56, 0x24, 0xe9, 0x69, 0x98, 0x5e,
+ 0x12, 0x79, 0x99, 0x47, 0x8d, 0x76, 0x6d, 0x8c, 0x26, 0xfa, 0xd7, 0xde,
+ 0xc1, 0x68, 0x7f, 0x2b, 0x9c, 0x3c, 0x5d, 0x16, 0x80, 0xa4, 0xd8, 0xa8,
+ 0x1a, 0x71, 0xc3, 0xa6, 0x2c, 0xef, 0x9d, 0x1f, 0xb3, 0x30, 0xa3, 0x9f,
+ 0xae, 0xcc, 0xf8, 0xd1, 0xa9, 0x0c, 0xcf, 0x82, 0x2c, 0x10, 0xca, 0xdc,
+ 0xad, 0x94, 0x29, 0x1a, 0x9e, 0x58, 0x94, 0x37, 0xb4, 0x12, 0x43, 0x6a,
+ 0x8b, 0x45, 0x0b, 0xcd, 0x66, 0x2b, 0xbe, 0xcd, 0x05, 0x80, 0xa3, 0xb2,
+ 0xee, 0x6e, 0x47, 0x23, 0xd7, 0xaa, 0x7c, 0xfa, 0x1a, 0x9e, 0x4d, 0x79,
+ 0x85, 0x15, 0x69, 0x29, 0xc1, 0x07, 0x13, 0x30, 0x5c, 0x2e, 0xe0, 0x7b,
+ 0x0b, 0x3f, 0x33, 0x63, 0xa8, 0xe9, 0x21, 0x43, 0x1a, 0x84, 0xb4, 0xd2,
+ 0x17, 0x5c, 0xab, 0x1e, 0xd8, 0xf2, 0x6f, 0xd3, 0xdb, 0x7c, 0xb9, 0x5e,
+ 0xe2, 0x63, 0x44, 0xdb, 0xf2, 0x98, 0xc4, 0x13, 0xe0, 0x55, 0xe4, 0xf4,
+ 0x14, 0x10, 0xf9, 0x76, 0x9d, 0x78, 0x16, 0x7d, 0x4c, 0xc8, 0x18, 0x91,
+ 0x3c, 0x72, 0xcb, 0x83, 0xb2, 0x80, 0x80, 0x43, 0xdd, 0xf1, 0x06, 0x18,
+ 0xfd, 0x20, 0xa5, 0x9c, 0x83, 0xba, 0xb4, 0x09, 0x3b, 0x11, 0x76, 0xce,
+ 0x60, 0x09, 0xa2, 0xc3, 0x79, 0xf9, 0xaa, 0x59, 0x95, 0x97, 0x33, 0x7b,
+ 0x6f, 0x48, 0x7f, 0xcc, 0x8b, 0xb5, 0xd9, 0x67, 0xf6, 0x25, 0x73, 0x10,
+ 0x82, 0x7e, 0x15, 0x78, 0x08, 0x91, 0x55, 0x3f, 0x46, 0xb1, 0x84, 0xa6,
+ 0xa0, 0x3e, 0x1d, 0x1d, 0x1d, 0x8e, 0xf6, 0x07, 0x2d, 0x83, 0x5e, 0x30,
+ 0x25, 0xcc, 0xed, 0x9a, 0xe6, 0x4b, 0x5b, 0x6f, 0x3a, 0xfa, 0xcd, 0x1c,
+ 0x37, 0xc8, 0x08, 0x5f, 0xa6, 0xb7, 0x38, 0xbe, 0xe8, 0xb1, 0x96, 0xc9,
+ 0x8b, 0xaf, 0xcf, 0xc6, 0x17, 0x07, 0xcf, 0xcf, 0xcf, 0xde, 0x9b, 0xff,
+ 0xd2, 0xdf, 0x0f, 0xf1, 0xf7, 0xc3, 0xc0, 0xaa, 0x7c, 0x23, 0x19, 0xb4,
+ 0x5a, 0xac, 0x03, 0x0d, 0x05, 0x1a, 0x0d, 0xef, 0x66, 0xe2, 0x0d, 0x44,
+ 0x7a, 0x39, 0xd8, 0xe0, 0xd4, 0x56, 0x34, 0x76, 0x8f, 0xd8, 0xfb, 0x94,
+ 0x26, 0xd9, 0x8d, 0x92, 0x30, 0x91, 0x2f, 0x6f, 0x54, 0x9b, 0x92, 0x5a,
+ 0x78, 0xad, 0xb2, 0xef, 0xfa, 0xba, 0xb9, 0x8e, 0x59, 0xea, 0x73, 0x14,
+ 0xaf, 0x0e, 0xb9, 0x61, 0xed, 0x5f, 0x4d, 0x17, 0x46, 0xbb, 0xcf, 0x28,
+ 0x97, 0x64, 0x96, 0x71, 0x80, 0x85, 0x7e, 0x12, 0x33, 0x4c, 0xcc, 0xf5,
+ 0x93, 0x92, 0x85, 0x20, 0xc1, 0x10, 0x14, 0xa9, 0x51, 0x1d, 0x33, 0x1b,
+ 0x33, 0xc7, 0xdc, 0x68, 0xe2, 0xbc, 0x1d, 0x45, 0x16, 0x54, 0x08, 0x30,
+ 0x8e, 0x9c, 0xef, 0xc4, 0x42, 0x91, 0x3e, 0xca, 0xed, 0xdf, 0x9d, 0x5d,
+ 0x24, 0xe9, 0x7c, 0xae, 0xd8, 0x00, 0x54, 0x96, 0x40, 0x1a, 0xeb, 0xde,
+ 0x8a, 0x25, 0x59, 0xda, 0xc4, 0x52, 0x37, 0x44, 0x1f, 0xb9, 0x38, 0x1d,
+ 0xef, 0x91, 0x0b, 0x8b, 0x93, 0xe0, 0xc6, 0xef, 0x4e, 0x06, 0x2d, 0x5f,
+ 0xb5, 0x9f, 0xfa, 0xb2, 0x4b, 0x92, 0x32, 0xae, 0x50, 0xa4, 0x9e, 0x2c,
+ 0x74, 0x88, 0x33, 0x94, 0x54, 0x87, 0x23, 0xdd, 0x92, 0x6a, 0xb0, 0x2d,
+ 0x1c, 0xed, 0x56, 0xa2, 0x51, 0x53, 0xd8, 0xc5, 0xcb, 0x55, 0x73, 0x17,
+ 0xd6, 0x8b, 0xc2, 0xb7, 0x41, 0x38, 0x2c, 0xa4, 0x74, 0x6c, 0x91, 0x59,
+ 0x42, 0xcb, 0xc2, 0x92, 0xb6, 0x46, 0x3c, 0xec, 0xe1, 0x16, 0x46, 0xc5,
+ 0xa0, 0xe6, 0xef, 0x34, 0x26, 0x88, 0x76, 0x92, 0xc5, 0xd2, 0xfb, 0xf9,
+ 0x43, 0xde, 0xe0, 0x89, 0x1d, 0xde, 0x4c, 0xcc, 0xd6, 0xa9, 0x29, 0x75,
+ 0x10, 0x83, 0x29, 0xab, 0xfc, 0x92, 0xf2, 0x04, 0xba, 0xa5, 0x63, 0x6e,
+ 0x22, 0x81, 0x67, 0x8a, 0x94, 0xb1, 0xba, 0xd9, 0xf2, 0x5c, 0x09, 0x4d,
+ 0x90, 0xa0, 0x8f, 0xb4, 0xd1, 0x4a, 0x4d, 0x1a, 0x9d, 0x0e, 0xf1, 0x9f,
+ 0x26, 0xa2, 0xc7, 0xb3, 0xb2, 0x67, 0x56, 0x47, 0x72, 0xc7, 0x05, 0x81,
+ 0xb4, 0xf4, 0x47, 0xef, 0x12, 0x90, 0x70, 0x4e, 0x1a, 0x65, 0xe0, 0x1c,
+ 0x36, 0xea, 0x0e, 0xc7, 0x88, 0x6d, 0x86, 0x23, 0x68, 0xd5, 0xc7, 0xd6,
+ 0xc1, 0xe1, 0xd3, 0xd1, 0xbe, 0xf9, 0x3f, 0x73, 0x28, 0xa2, 0x1f, 0x01,
+ 0x2e, 0xca, 0xc1, 0x02, 0xd9, 0x27, 0xb3, 0xdb, 0x2e, 0x49, 0xb2, 0x00,
+ 0x2a, 0xab, 0xcb, 0xad, 0x8d, 0x35, 0xac, 0x2d, 0x91, 0x42, 0x07, 0x69,
+ 0xc5, 0x49, 0x3a, 0x93, 0x9f, 0xe8, 0x1d, 0xaf, 0xd6, 0x8b, 0x48, 0x5a,
+ 0x9f, 0xe7, 0x46, 0x26, 0xed, 0x6c, 0x71, 0x2d, 0x4e, 0xe4, 0xaf, 0x89,
+ 0x37, 0x71, 0x1d, 0xdf, 0xa8, 0x95, 0x14, 0xf5, 0xac, 0xe5, 0x13, 0x7c,
+ 0x25, 0x26, 0x1b, 0x38, 0xf3, 0xd0, 0x5c, 0x86, 0x17, 0xe5, 0x7c, 0x5e,
+ 0x67, 0x4d, 0x57, 0x00, 0xbd, 0x92, 0x47, 0xf6, 0xde, 0x03, 0xe0, 0x10,
+ 0x9c, 0x4a, 0x2b, 0x6e, 0x92, 0x36, 0x2c, 0x4f, 0x22, 0x59, 0x68, 0xcc,
+ 0xb6, 0x78, 0xb8, 0x51, 0xa4, 0xc8, 0xc0, 0xff, 0xbd, 0x66, 0x88, 0x70,
+ 0x55, 0xbc, 0x82, 0xbd, 0xa0, 0xdc, 0x8a, 0x71, 0x5c, 0x44, 0xd2, 0x75,
+ 0x51, 0xd9, 0xf4, 0x4a, 0x7c, 0xca, 0x57, 0x2b, 0x32, 0x6f, 0x18, 0xe1,
+ 0x0c, 0x64, 0x6b, 0x03, 0x68, 0x88, 0xe3, 0x82, 0x94, 0x35, 0x5b, 0xd0,
+ 0x28, 0xc9, 0x53, 0x91, 0xf9, 0x93, 0x6c, 0x1e, 0x06, 0x81, 0x38, 0xa9,
+ 0xd1, 0x87, 0xb5, 0x91, 0x1a, 0xdd, 0x19, 0x41, 0xd8, 0x14, 0xa9, 0xb2,
+ 0x98, 0xb9, 0x07, 0xf8, 0x20, 0xc5, 0x7f, 0x83, 0xc8, 0xfd, 0x77, 0xc5,
+ 0x59, 0xd6, 0x0f, 0x37, 0x3e, 0xf9, 0xef, 0xc7, 0x0e, 0x84, 0xc8, 0xa2,
+ 0xfc, 0x70, 0xb9, 0x4b, 0xac, 0x78, 0xc8, 0xdc, 0xc2, 0xe1, 0x2b, 0x73,
+ 0x5e, 0x5b, 0x98, 0x8a, 0x4b, 0x35, 0x29, 0x3b, 0xe5, 0x18, 0xb0, 0x7b,
+ 0x48, 0x93, 0x80, 0x36, 0xb4, 0x47, 0x75, 0xff, 0x81, 0x68, 0x60, 0x8c,
+ 0x4a, 0xf6, 0x2f, 0xca, 0x1a, 0x71, 0x3b, 0x1a, 0xa9, 0x9a, 0xf3, 0x6b,
+ 0x4e, 0x44, 0x59, 0xdc, 0xcb, 0x0b, 0x52, 0x19, 0x59, 0x81, 0x09, 0x4a,
+ 0x32, 0xb4, 0x0e, 0x96, 0xd1, 0x4e, 0xd6, 0xcd, 0x6f, 0x18, 0x3b, 0xa9,
+ 0x88, 0x7e, 0x01, 0x63, 0xe7, 0x11, 0xf5, 0x94, 0x89, 0x9a, 0xb0, 0x3a,
+ 0x87, 0x7f, 0x33, 0x56, 0xf6, 0x0b, 0x75, 0x53, 0xf4, 0x01, 0x03, 0xa8,
+ 0x53, 0x83, 0x8a, 0x28, 0x60, 0x84, 0x81, 0x36, 0x2c, 0x3e, 0x8d, 0x6e,
+ 0x35, 0xc3, 0xea, 0xa4, 0xd0, 0x65, 0x00, 0x04, 0xda, 0xbd, 0xf3, 0x73,
+ 0x80, 0xde, 0x78, 0xe5, 0xdf, 0xb6, 0x76, 0x72, 0x44, 0x51, 0xaa, 0x05,
+ 0x8f, 0x50, 0x73, 0x62, 0xa5, 0x8c, 0xa1, 0x46, 0x43, 0x1e, 0xc8, 0xdc,
+ 0xbc, 0x18, 0x72, 0x71, 0xb5, 0x3e, 0x8b, 0x60, 0x1a, 0xa1, 0xb6, 0x09,
+ 0x39, 0xf2, 0x11, 0xb1, 0x19, 0xde, 0x48, 0x62, 0x05, 0xd4, 0x5a, 0x7c,
+ 0x36, 0xe6, 0x46, 0x67, 0x5f, 0x24, 0x1c, 0x88, 0xfc, 0x71, 0x72, 0x90,
+ 0x7d, 0x32, 0xba, 0x73, 0x31, 0xa0, 0x9f, 0xa2, 0x10, 0xd5, 0x5e, 0x32,
+ 0xf6, 0x6d, 0x34, 0x19, 0x07, 0x2d, 0xb2, 0x88, 0x2e, 0xeb, 0x3d, 0x2b,
+ 0x8f, 0x7a, 0x6e, 0x94, 0x77, 0x59, 0x23, 0xa9, 0x23, 0x3c, 0x79, 0xad,
+ 0xcd, 0x42, 0x7d, 0xd7, 0xc9, 0xbc, 0x33, 0x1c, 0xe0, 0xe2, 0xb2, 0xa6,
+ 0x5d, 0xad, 0x2f, 0x31, 0x5c, 0xc6, 0xc8, 0x22, 0x5f, 0xe8, 0xc0, 0x5c,
+ 0x83, 0x2d, 0xf5, 0xcb, 0xf2, 0x0a, 0xe2, 0xa9, 0x0b, 0x3a, 0x1d, 0x72,
+ 0x13, 0x35, 0xb3, 0x18, 0x4d, 0xb2, 0xee, 0xab, 0x17, 0x52, 0xa0, 0x03,
+ 0xfd, 0x74, 0x08, 0x02, 0x41, 0x43, 0xf4, 0xde, 0x7d, 0x4d, 0x13, 0x57,
+ 0x22, 0x55, 0x85, 0x5e, 0x55, 0x29, 0xa5, 0xd0, 0x54, 0x33, 0xf5, 0x8c,
+ 0xe8, 0x44, 0x0d, 0x17, 0x16, 0xbb, 0xe8, 0x26, 0x05, 0xa5, 0xd9, 0xf1,
+ 0x63, 0xb5, 0x0f, 0x5e, 0xfe, 0xe3, 0x70, 0xe2, 0xc8, 0xd9, 0xc1, 0xe7,
+ 0x44, 0xd3, 0x94, 0xe4, 0x21, 0xa2, 0x79, 0x23, 0x58, 0xb6, 0x1b, 0xaf,
+ 0xb8, 0x14, 0x88, 0x34, 0x76, 0x53, 0x78, 0x0b, 0x6f, 0xae, 0xca, 0x45,
+ 0x16, 0x0b, 0x91, 0x78, 0x25, 0xbf, 0x00, 0x77, 0xa1, 0xb4, 0x5e, 0x78,
+ 0x9b, 0xaf, 0x91, 0x31, 0xdc, 0x0a, 0x9d, 0x18, 0xfd, 0x2e, 0x4b, 0xa9,
+ 0xe0, 0xc8, 0x26, 0xcd, 0x5f, 0x0f, 0x82, 0x34, 0x76, 0x73, 0xcf, 0x27,
+ 0x65, 0x6d, 0xe9, 0x85, 0x0a, 0x6b, 0x49, 0x82, 0xdc, 0xa4, 0x15, 0x18,
+ 0xb3, 0xa0, 0x64, 0x29, 0x80, 0xa8, 0x9f, 0x33, 0x48, 0xaa, 0x60, 0xb7,
+ 0xde, 0x21, 0xa7, 0x62, 0x74, 0x43, 0x26, 0x46, 0x01, 0x20, 0x37, 0x2d,
+ 0x68, 0x87, 0x86, 0x14, 0xfc, 0xab, 0x2b, 0x40, 0xe1, 0x4a, 0xc5, 0xba,
+ 0xb9, 0x87, 0x57, 0x24, 0xd3, 0xf3, 0x66, 0x9d, 0x36, 0x0f, 0x4b, 0xd8,
+ 0xee, 0xe3, 0x4d, 0xcc, 0x9c, 0xfc, 0x7c, 0xd4, 0x3e, 0xcc, 0x86, 0x9e,
+ 0x28, 0xa2, 0x7f, 0x90, 0x2f, 0xe8, 0xae, 0xfd, 0x8f, 0x7b, 0x18, 0xd3,
+ 0x39, 0x10, 0xfd, 0xae, 0xda, 0x90, 0x50, 0xa8, 0xc9, 0x15, 0x79, 0xa2,
+ 0x95, 0x6f, 0x3c, 0xa6, 0x8a, 0xfb, 0x93, 0x48, 0xa0, 0x1f, 0xd1, 0x31,
+ 0x33, 0x9d, 0xc5, 0x9d, 0x1b, 0xd0, 0x2b, 0x99, 0xd5, 0x0c, 0x6f, 0x0f,
+ 0x2e, 0xcf, 0x7e, 0x21, 0xc8, 0x5a, 0xda, 0x1a, 0x1b, 0x15, 0x9c, 0xbf,
+ 0xf9, 0x7c, 0x4b, 0xd1, 0x47, 0x2d, 0x9c, 0x92, 0x70, 0x11, 0x29, 0xda,
+ 0xd2, 0xfa, 0x0f, 0xf5, 0xd5, 0xd3, 0xf5, 0xef, 0x0e, 0x47, 0x50, 0xdc,
+ 0x07, 0x5f, 0x7c, 0xfb, 0xf2, 0xf4, 0xc3, 0xf1, 0xc1, 0x1f, 0x13, 0xfa,
+ 0xd7, 0x21, 0xff, 0xeb, 0x70, 0x2b, 0x76, 0x5c, 0x86, 0x51, 0x6d, 0x7f,
+ 0xb1, 0x9d, 0xd4, 0x77, 0xcb, 0x49, 0xb9, 0xb0, 0x07, 0x26, 0x5b, 0xa1,
+ 0x81, 0xb4, 0x81, 0x48, 0x71, 0x5b, 0xba, 0x2d, 0xae, 0xf2, 0x2e, 0xcb,
+ 0xae, 0x25, 0xe9, 0x50, 0xd9, 0x0d, 0x22, 0x78, 0x7e, 0x2d, 0x71, 0x83,
+ 0x4a, 0x6b, 0xe5, 0x61, 0x12, 0xcb, 0xeb, 0x4b, 0x04, 0x85, 0x50, 0xd2,
+ 0x8b, 0x5d, 0x47, 0x38, 0x07, 0x8b, 0x17, 0x07, 0xe9, 0xec, 0x33, 0x8c,
+ 0x30, 0xdb, 0xcc, 0x70, 0x27, 0x5c, 0x29, 0x8b, 0x3b, 0xcd, 0xaf, 0x8b,
+ 0x81, 0x40, 0x68, 0x1c, 0x77, 0x82, 0x3f, 0xb0, 0x5d, 0x65, 0x96, 0xf5,
+ 0x62, 0xd5, 0xf4, 0x6e, 0x77, 0xb8, 0x89, 0xe8, 0x2e, 0x1e, 0x34, 0xd7,
+ 0x29, 0xa1, 0x81, 0x0d, 0x35, 0x3d, 0xc3, 0xb9, 0x3a, 0xc8, 0x18, 0x9d,
+ 0x91, 0x66, 0xad, 0xfe, 0x8c, 0xc4, 0x03, 0x7f, 0xb6, 0x30, 0x92, 0x82,
+ 0xc3, 0x98, 0xb4, 0x42, 0x82, 0xec, 0x6b, 0x0e, 0xa1, 0x57, 0x18, 0x08,
+ 0xc6, 0x6c, 0x0e, 0xd2, 0x4d, 0x96, 0x41, 0x76, 0x56, 0x61, 0x34, 0xc9,
+ 0x1d, 0xc3, 0xde, 0x77, 0x7d, 0x4c, 0x10, 0x3d, 0x3e, 0x71, 0x4b, 0x34,
+ 0x36, 0xa2, 0xda, 0x13, 0x2b, 0xb8, 0xb8, 0x6a, 0x09, 0x1a, 0x55, 0xf9,
+ 0xb4, 0xc0, 0x99, 0xe3, 0xb3, 0x22, 0x39, 0x78, 0x18, 0x26, 0x53, 0xca,
+ 0xde, 0x5c, 0xa4, 0x01, 0x12, 0x0d, 0xee, 0x9a, 0xc2, 0x61, 0x50, 0xa0,
+ 0xdf, 0x12, 0xbe, 0xf9, 0xfe, 0xdd, 0x22, 0xdb, 0x55, 0xc3, 0x40, 0x85,
+ 0xdd, 0xde, 0xdb, 0xf2, 0x1f, 0x66, 0xde, 0xa9, 0x7c, 0x24, 0x26, 0x33,
+ 0x45, 0x04, 0xf6, 0xce, 0xdc, 0xf1, 0x17, 0x2e, 0x13, 0xf7, 0xb9, 0x46,
+ 0xcb, 0x36, 0x46, 0x10, 0x98, 0xf4, 0x32, 0xa4, 0x6a, 0x07, 0xa4, 0x23,
+ 0xda, 0x45, 0x20, 0xa1, 0x3d, 0xbc, 0x19, 0x43, 0xca, 0xa5, 0x64, 0xe8,
+ 0x58, 0x12, 0x13, 0xb1, 0xd3, 0x65, 0xe1, 0x5d, 0x9d, 0xaa, 0x47, 0x10,
+ 0x1d, 0xdf, 0x66, 0xd5, 0x94, 0xa0, 0x26, 0xa6, 0x46, 0x2f, 0x05, 0x3f,
+ 0x9d, 0x8b, 0x7b, 0x8a, 0x72, 0xa9, 0x24, 0x2b, 0xbe, 0x8d, 0x0b, 0x03,
+ 0xf1, 0xab, 0x74, 0xd6, 0x4b, 0x62, 0xc8, 0x7d, 0x98, 0x1a, 0xc2, 0x18,
+ 0x59, 0x08, 0x3c, 0x15, 0x90, 0x6d, 0xf6, 0xa1, 0x45, 0x66, 0x08, 0x27,
+ 0x04, 0x19, 0x7b, 0xd8, 0x61, 0x7d, 0xd1, 0x3b, 0x4d, 0x21, 0x17, 0xcc,
+ 0x85, 0x01, 0xcd, 0x5c, 0x74, 0x88, 0xa0, 0x02, 0x80, 0x0b, 0xd5, 0x9f,
+ 0x9e, 0x68, 0x4f, 0x07, 0xf8, 0x1d, 0x88, 0x96, 0x14, 0x77, 0x8a, 0x26,
+ 0xb5, 0x03, 0xb1, 0xc9, 0xca, 0xa1, 0x62, 0x0e, 0x42, 0xf3, 0x0a, 0x8b,
+ 0x91, 0x17, 0xe5, 0x0d, 0xc5, 0x60, 0xda, 0x08, 0xa0, 0x0a, 0xf6, 0xc3,
+ 0x39, 0x75, 0xcc, 0x97, 0x87, 0xa4, 0x2b, 0xf1, 0x67, 0x47, 0x1a, 0xad,
+ 0x8d, 0x52, 0x80, 0x96, 0xd3, 0x76, 0x2b, 0x91, 0x52, 0x97, 0x41, 0xd1,
+ 0xb0, 0x33, 0x99, 0xf5, 0x0b, 0x07, 0xc0, 0x15, 0x13, 0x6c, 0x58, 0xf1,
+ 0xa4, 0x6c, 0xae, 0xbc, 0x3c, 0x54, 0x02, 0xf5, 0x23, 0x3f, 0xcf, 0x7c,
+ 0xdd, 0xc0, 0x08, 0x50, 0x33, 0xb0, 0x91, 0x54, 0x63, 0x71, 0x16, 0x05,
+ 0x59, 0x0f, 0x9f, 0x08, 0xfc, 0x8d, 0x96, 0x68, 0x01, 0x6c, 0x29, 0x81,
+ 0xb6, 0x40, 0xa6, 0x38, 0xd1, 0xa5, 0x31, 0x80, 0x81, 0x2f, 0x68, 0xbe,
+ 0x49, 0x89, 0x4a, 0x75, 0x4d, 0x58, 0x72, 0x48, 0x49, 0x35, 0x1b, 0x1b,
+ 0x40, 0x4e, 0x00, 0x24, 0xa9, 0xf0, 0x8f, 0x74, 0x87, 0xe1, 0x6f, 0x1c,
+ 0x70, 0x13, 0xe3, 0x62, 0x90, 0xd5, 0x3e, 0x91, 0xa3, 0xa9, 0x71, 0x7f,
+ 0x89, 0x1e, 0x22, 0x4e, 0x11, 0xab, 0xbf, 0xf6, 0x5c, 0xd8, 0x7f, 0xd9,
+ 0xa8, 0x09, 0x8c, 0xbc, 0xaa, 0x66, 0x00, 0x5d, 0x40, 0x10, 0xdb, 0xc4,
+ 0x78, 0x6c, 0x77, 0xc8, 0xb8, 0x52, 0x17, 0x7f, 0x8b, 0xc5, 0x79, 0xd7,
+ 0xab, 0x19, 0xd4, 0x3e, 0x7d, 0x07, 0x8a, 0x92, 0x07, 0x84, 0x59, 0x97,
+ 0x72, 0x1b, 0x31, 0x3c, 0x31, 0x19, 0xc7, 0x65, 0x62, 0x20, 0x39, 0xdd,
+ 0xfb, 0xef, 0x07, 0x58, 0x5a, 0x48, 0x6d, 0xec, 0xc3, 0x59, 0xfa, 0xbc,
+ 0xc1, 0xbc, 0x08, 0xe1, 0x3b, 0x34, 0xb4, 0x5f, 0xc7, 0x02, 0x95, 0x2a,
+ 0xc0, 0x0d, 0x87, 0xff, 0xdb, 0xba, 0x98, 0x76, 0x64, 0x54, 0x39, 0xf0,
+ 0xf0, 0x38, 0x25, 0x2a, 0x6b, 0x25, 0x44, 0x97, 0xe8, 0xf1, 0x21, 0x81,
+ 0xbf, 0xa1, 0x8a, 0x50, 0xaa, 0xde, 0x20, 0xf1, 0xb6, 0xf0, 0x4a, 0x68,
+ 0xaf, 0x72, 0x73, 0x42, 0xd5, 0xf4, 0x0a, 0x48, 0x02, 0xf0, 0x23, 0x65,
+ 0xea, 0x1c, 0x0d, 0x14, 0x61, 0xf1, 0xfc, 0x63, 0x58, 0xd1, 0xc5, 0x72,
+ 0x62, 0x47, 0x84, 0x16, 0x52, 0x16, 0xca, 0xa4, 0xfb, 0xe6, 0x19, 0x66,
+ 0x76, 0x5d, 0xd1, 0x9e, 0x67, 0x8b, 0xda, 0x09, 0x48, 0xfb, 0x8e, 0x93,
+ 0x94, 0x30, 0xc2, 0x0b, 0xf8, 0x64, 0x59, 0x14, 0xe7, 0xd1, 0x1b, 0x8e,
+ 0x99, 0x18, 0x35, 0x47, 0x26, 0x43, 0x76, 0x25, 0xd1, 0xc9, 0x9d, 0x62,
+ 0xcc, 0xc8, 0x08, 0x5d, 0x98, 0x99, 0x40, 0xf2, 0x94, 0x76, 0xdf, 0x04,
+ 0xc0, 0x46, 0xb7, 0x2a, 0x57, 0xbc, 0x75, 0x26, 0x15, 0x72, 0x64, 0x50,
+ 0xf9, 0x34, 0xfa, 0x80, 0x50, 0xfc, 0x6b, 0x38, 0x9c, 0x37, 0x41, 0xba,
+ 0x96, 0x77, 0xd6, 0x6d, 0x12, 0x58, 0xcc, 0x05, 0xa3, 0xe7, 0xad, 0xa2,
+ 0xf1, 0x5d, 0x53, 0x0d, 0x4f, 0x72, 0xfa, 0x86, 0xbd, 0x78, 0xaf, 0xde,
+ 0xd3, 0xdf, 0x72, 0x8b, 0x50, 0x84, 0x3a, 0x5c, 0x34, 0xf6, 0xe0, 0x04,
+ 0xd9, 0xb7, 0xdf, 0x76, 0xcb, 0x30, 0x77, 0xce, 0xc6, 0x7b, 0x47, 0xcf,
+ 0xf6, 0x77, 0x23, 0x39, 0xcb, 0xe6, 0x1b, 0x3e, 0x4e, 0xe1, 0xa3, 0xfd,
+ 0xd1, 0xfe, 0x6e, 0x67, 0x36, 0xb4, 0xdd, 0x1b, 0x00, 0x54, 0x14, 0x5d,
+ 0xdd, 0x0a, 0x0d, 0x24, 0x23, 0xbb, 0x62, 0x2d, 0xc9, 0x9b, 0xf6, 0x8b,
+ 0x49, 0xdf, 0x67, 0xd7, 0x86, 0xd4, 0xa2, 0xf9, 0x6b, 0xa7, 0x79, 0x2d,
+ 0x86, 0x0d, 0x49, 0x32, 0x95, 0x2d, 0x54, 0xad, 0xdd, 0xce, 0x09, 0xc6,
+ 0x23, 0x24, 0x2c, 0x39, 0xd7, 0x21, 0x12, 0x6d, 0xa9, 0xcd, 0xa4, 0x2a,
+ 0x24, 0xe6, 0x21, 0xa6, 0xff, 0xab, 0x3b, 0x5b, 0x5e, 0xb6, 0xd0, 0x1e,
+ 0x9f, 0xfa, 0x67, 0x4a, 0x9a, 0xfe, 0x30, 0xad, 0xa7, 0x79, 0xce, 0xf6,
+ 0x4c, 0x8f, 0x19, 0xa3, 0x19, 0x8f, 0xc0, 0x90, 0x43, 0x25, 0x75, 0x9e,
+ 0x72, 0xa8, 0xd6, 0x01, 0x95, 0x06, 0xc3, 0x92, 0xb2, 0x6a, 0x48, 0x6c,
+ 0xd3, 0xb8, 0x62, 0xc3, 0x53, 0xb3, 0x16, 0xc1, 0x56, 0xb6, 0xfa, 0x65,
+ 0xdd, 0x55, 0xa3, 0xcc, 0x5d, 0x60, 0xb8, 0xb2, 0x55, 0x15, 0xd6, 0xf7,
+ 0x51, 0x6e, 0x26, 0x32, 0x9e, 0xd3, 0xa6, 0x2e, 0x69, 0x9f, 0x62, 0x9b,
+ 0x0a, 0x0f, 0x05, 0xd0, 0x69, 0xad, 0x01, 0x65, 0xef, 0xbe, 0xe4, 0x03,
+ 0x7d, 0x39, 0x70, 0xe9, 0x3a, 0x2d, 0x03, 0x28, 0x8d, 0x28, 0x82, 0x0c,
+ 0xae, 0x9f, 0x20, 0x3c, 0xce, 0x95, 0x54, 0xb4, 0x10, 0x69, 0x31, 0x01,
+ 0xb7, 0x07, 0xe7, 0x88, 0x48, 0x83, 0x09, 0x82, 0x21, 0xb2, 0xbb, 0x15,
+ 0x01, 0x97, 0x1a, 0x98, 0xf5, 0x01, 0xba, 0x13, 0x14, 0x54, 0x64, 0x37,
+ 0xc4, 0x8d, 0x6b, 0x51, 0x25, 0xaa, 0x2a, 0x27, 0xbf, 0x91, 0x4d, 0x2e,
+ 0x60, 0x75, 0x8c, 0xb2, 0x30, 0x49, 0x38, 0xcf, 0x22, 0xb5, 0xdd, 0x53,
+ 0xdc, 0xce, 0xda, 0xe6, 0x6c, 0x17, 0x80, 0x9f, 0x24, 0x7c, 0xb9, 0x60,
+ 0x6f, 0xd0, 0x1f, 0x00, 0x93, 0x53, 0xd0, 0xd9, 0xa6, 0x9d, 0xfe, 0x41,
+ 0x5a, 0x3b, 0xe7, 0x37, 0x33, 0xbc, 0x59, 0xd9, 0x32, 0x30, 0xeb, 0xfe,
+ 0x70, 0xc9, 0xde, 0xed, 0xf0, 0xe6, 0xe6, 0x66, 0x48, 0x17, 0x8e, 0x72,
+ 0x72, 0xa4, 0xcc, 0x62, 0xd4, 0x02, 0x8f, 0x86, 0x5d, 0xc9, 0x26, 0x27,
+ 0x31, 0x91, 0x30, 0xbe, 0xe1, 0xa5, 0x48, 0x55, 0x93, 0xbc, 0x41, 0x3d,
+ 0x9f, 0x10, 0x17, 0x5e, 0x93, 0xba, 0x3a, 0x99, 0x0e, 0x34, 0x1c, 0x75,
+ 0x44, 0x45, 0x6e, 0x9f, 0x5b, 0x0b, 0xc1, 0x4f, 0x4d, 0x9b, 0x8c, 0xea,
+ 0xd7, 0xcd, 0x27, 0x96, 0xcf, 0x93, 0xe1, 0xd7, 0xc9, 0xd6, 0x2b, 0x59,
+ 0xed, 0x85, 0x79, 0xe2, 0x79, 0x7b, 0x2d, 0xfc, 0x70, 0x18, 0xcc, 0x31,
+ 0xef, 0x6e, 0x3d, 0x0c, 0x3e, 0xb1, 0xf7, 0x22, 0xa3, 0xbb, 0x8a, 0xcb,
+ 0x9a, 0x69, 0x22, 0xce, 0x3a, 0x4a, 0x7b, 0x61, 0xb7, 0x16, 0x63, 0x9e,
+ 0x61, 0xe9, 0x69, 0x2d, 0x9d, 0x78, 0x26, 0x7c, 0xc3, 0x37, 0x5c, 0xc7,
+ 0x2a, 0xbd, 0xb9, 0xff, 0x8e, 0x7b, 0x37, 0x51, 0xa8, 0x77, 0x01, 0x57,
+ 0x97, 0x87, 0x47, 0x4c, 0xfe, 0x1d, 0x9b, 0x84, 0x19, 0x99, 0xa9, 0xf4,
+ 0xc1, 0x70, 0xc5, 0x54, 0x6c, 0x98, 0x8a, 0x5e, 0xfa, 0xe5, 0x86, 0x3a,
+ 0x34, 0xe7, 0x14, 0x76, 0xab, 0x68, 0x45, 0x3e, 0x3a, 0xb0, 0xa6, 0x58,
+ 0x96, 0xa5, 0xaa, 0x07, 0x30, 0x1a, 0xb7, 0xba, 0x81, 0xbd, 0x9c, 0x42,
+ 0xcb, 0xec, 0xd8, 0xf3, 0x96, 0x29, 0x08, 0xb8, 0xb1, 0xf4, 0x4e, 0x8e,
+ 0x73, 0xd0, 0x55, 0x55, 0x80, 0x32, 0x71, 0x59, 0x65, 0x15, 0x11, 0x3a,
+ 0xb2, 0xe0, 0x87, 0x9a, 0xc2, 0x1c, 0x13, 0xd6, 0x86, 0xa1, 0xbc, 0xfa,
+ 0xea, 0x04, 0xd9, 0xdc, 0x86, 0x91, 0x16, 0x02, 0xe2, 0xc0, 0xf3, 0xe7,
+ 0x96, 0x47, 0xd6, 0xa8, 0xbd, 0x24, 0x56, 0xc2, 0x25, 0x91, 0x69, 0x12,
+ 0x03, 0x40, 0x55, 0x9b, 0x23, 0x51, 0xe3, 0x42, 0x92, 0x56, 0xc5, 0x46,
+ 0x90, 0xcb, 0x6b, 0xc3, 0xbb, 0xa9, 0x2b, 0x11, 0x88, 0xee, 0x17, 0xbe,
+ 0xae, 0x60, 0x23, 0x69, 0x2d, 0x11, 0x5c, 0x28, 0x6b, 0x41, 0xfa, 0xb8,
+ 0xa3, 0x57, 0x6e, 0x21, 0x95, 0x85, 0x79, 0x6f, 0xf2, 0xf9, 0x78, 0x87,
+ 0x37, 0x9c, 0x49, 0xc7, 0x93, 0x62, 0xb7, 0x2e, 0xf3, 0x3d, 0x06, 0x5c,
+ 0x8b, 0x45, 0xbe, 0xb4, 0x98, 0xe7, 0xd6, 0x26, 0x46, 0x1a, 0x66, 0xfc,
+ 0x1f, 0x24, 0xa1, 0x20, 0x77, 0x0d, 0xcf, 0x23, 0xcd, 0x43, 0xeb, 0x25,
+ 0xfd, 0xd1, 0x14, 0xca, 0x4f, 0x12, 0x62, 0xe3, 0xc3, 0x91, 0xfd, 0xf7,
+ 0x05, 0x69, 0x4b, 0x5f, 0x8a, 0xa3, 0x8a, 0xf2, 0xe0, 0x6b, 0xcf, 0x1a,
+ 0x91, 0x62, 0x59, 0xcc, 0x5d, 0x6b, 0x84, 0x68, 0x1b, 0xe2, 0xc3, 0x71,
+ 0x84, 0xd3, 0xdb, 0x3d, 0xa6, 0x38, 0x82, 0x9d, 0xaf, 0xb9, 0x8d, 0xd8,
+ 0xbf, 0x75, 0x37, 0xef, 0x8b, 0xfb, 0x77, 0xef, 0xa7, 0x6e, 0xdf, 0xe6,
+ 0xdd, 0xe3, 0xf6, 0x0d, 0x9a, 0x2c, 0xfb, 0x85, 0xe7, 0xa0, 0x43, 0xb2,
+ 0x07, 0x5b, 0x5f, 0xd6, 0x51, 0xd7, 0xe6, 0x32, 0x9e, 0x91, 0xf9, 0xc5,
+ 0x2f, 0x75, 0xea, 0x20, 0x46, 0x58, 0xf4, 0x34, 0xf9, 0xf8, 0x70, 0x1c,
+ 0x56, 0xc4, 0xd9, 0xfb, 0xd8, 0x8b, 0xa2, 0x87, 0x63, 0x04, 0xc1, 0x2f,
+ 0x9e, 0x36, 0x4c, 0xcc, 0x13, 0xa4, 0x79, 0x0e, 0xe3, 0xc3, 0x69, 0x21,
+ 0xa0, 0x28, 0xe2, 0xc1, 0xfa, 0xbe, 0x54, 0xc1, 0xff, 0xf0, 0xc5, 0x21,
+ 0xad, 0xc8, 0xb5, 0x0c, 0xf4, 0x33, 0x42, 0x38, 0x04, 0xb3, 0x13, 0xfa,
+ 0x0d, 0xf5, 0xfa, 0x08, 0x0c, 0x24, 0xb7, 0x90, 0x52, 0x95, 0x60, 0x77,
+ 0xd0, 0xde, 0x30, 0x82, 0xba, 0x83, 0x30, 0xd0, 0x53, 0xce, 0x7b, 0xcf,
+ 0x58, 0xcf, 0x8e, 0xda, 0x32, 0x44, 0xcf, 0xee, 0xff, 0xa6, 0xf5, 0x81,
+ 0x9e, 0x1d, 0x19, 0x50, 0x84, 0xa1, 0x66, 0x0c, 0x6f, 0x24, 0xdd, 0x27,
+ 0xa8, 0x56, 0x20, 0x11, 0xdf, 0x33, 0x3b, 0xa0, 0x0f, 0x90, 0x52, 0x44,
+ 0xf1, 0xd6, 0x85, 0xc0, 0x85, 0x32, 0xcc, 0xfb, 0x17, 0x4e, 0x99, 0x19,
+ 0xd2, 0x22, 0x87, 0x42, 0xb2, 0x23, 0x10, 0xe1, 0x06, 0x4a, 0xb5, 0x94,
+ 0x19, 0x27, 0xca, 0x80, 0xfc, 0xfa, 0x45, 0xa3, 0xe2, 0xab, 0x8a, 0x6c,
+ 0x6f, 0x49, 0xca, 0x83, 0xcf, 0x5b, 0x92, 0xd2, 0xbd, 0xb3, 0x49, 0x46,
+ 0x8e, 0x33, 0x4e, 0x48, 0xf3, 0x1d, 0x98, 0x78, 0x89, 0xab, 0xac, 0xa9,
+ 0x91, 0x47, 0x98, 0xda, 0x44, 0xaf, 0x06, 0x45, 0xc7, 0x9c, 0x5b, 0xe4,
+ 0xd5, 0x4e, 0x22, 0xc1, 0x9c, 0xa2, 0x66, 0x62, 0x1d, 0x25, 0x93, 0xaa,
+ 0xbc, 0xa9, 0xa1, 0x8e, 0xaa, 0x81, 0x9a, 0x72, 0x0a, 0xec, 0x55, 0x50,
+ 0x12, 0x6d, 0xb6, 0x77, 0x61, 0x71, 0x60, 0xbf, 0xbe, 0x78, 0x7b, 0xca,
+ 0x8d, 0x1d, 0xb8, 0x3a, 0x97, 0x8a, 0x90, 0x64, 0xce, 0xeb, 0xc9, 0xd2,
+ 0x58, 0xd2, 0x46, 0x3b, 0x69, 0x98, 0x95, 0x29, 0x77, 0x0c, 0x4a, 0x88,
+ 0x11, 0xd2, 0x93, 0x80, 0xf0, 0x2a, 0x16, 0x9f, 0x11, 0x45, 0xd2, 0xc3,
+ 0xa1, 0xf2, 0x34, 0xe0, 0x9f, 0xae, 0xeb, 0x1a, 0x3b, 0x19, 0x19, 0x31,
+ 0xd0, 0xa3, 0xde, 0xd0, 0x51, 0xd0, 0x23, 0xc1, 0xed, 0xf3, 0xd4, 0x34,
+ 0xf4, 0x1f, 0x03, 0xa4, 0xb4, 0xf5, 0xd0, 0x90, 0xd6, 0x65, 0x9b, 0x8f,
+ 0x00, 0x35, 0x2b, 0x6d, 0x6b, 0x5a, 0x41, 0x59, 0xad, 0xd5, 0xbc, 0x5c,
+ 0x1b, 0x11, 0x5f, 0xf9, 0x22, 0x3d, 0x84, 0xf4, 0x21, 0x09, 0x24, 0xad,
+ 0x2b, 0x72, 0xe6, 0xb1, 0x56, 0x3d, 0x88, 0xe4, 0xdc, 0x8b, 0x42, 0xa2,
+ 0xde, 0x7c, 0x1b, 0xda, 0x6c, 0x99, 0x7a, 0xda, 0x2f, 0x81, 0xc6, 0xf6,
+ 0x6e, 0x70, 0x44, 0x49, 0x64, 0x84, 0x2a, 0x14, 0x53, 0xe0, 0x34, 0x0d,
+ 0xb1, 0x99, 0xd1, 0xd1, 0x0e, 0x2c, 0x85, 0x73, 0x3c, 0x50, 0xef, 0xa2,
+ 0x0a, 0xb6, 0x6b, 0x26, 0x52, 0xbb, 0xfe, 0x11, 0x6a, 0x2f, 0x03, 0xa8,
+ 0x0b, 0xd0, 0x5c, 0x68, 0x20, 0x51, 0xb6, 0xfd, 0x5d, 0xa1, 0xff, 0x51,
+ 0xfc, 0x5f, 0x03, 0x2f, 0xbc, 0x96, 0x93, 0x07, 0xca, 0x8f, 0x17, 0xba,
+ 0xc8, 0xfa, 0x32, 0xab, 0x2e, 0xb9, 0x0c, 0x81, 0x21, 0x61, 0xa3, 0x28,
+ 0x16, 0x69, 0xe2, 0xa1, 0xb4, 0x25, 0xc9, 0x7f, 0x19, 0xb2, 0x44, 0x85,
+ 0xab, 0x6a, 0x4d, 0xf5, 0x2f, 0xe2, 0x4f, 0xdf, 0x1e, 0xce, 0x98, 0xad,
+ 0xcc, 0xd2, 0xc2, 0xec, 0x84, 0xb9, 0xb1, 0x61, 0x7e, 0xcc, 0x62, 0xf1,
+ 0xc5, 0xa2, 0x5c, 0xd7, 0x77, 0xdb, 0x89, 0xf4, 0xf2, 0x91, 0xf6, 0x17,
+ 0x8d, 0xe4, 0xf2, 0xd0, 0x59, 0x9a, 0xf3, 0x5d, 0x17, 0x9f, 0x54, 0x28,
+ 0x52, 0xa5, 0x42, 0xcd, 0x8e, 0xda, 0xce, 0x70, 0xdb, 0xde, 0xc7, 0xfe,
+ 0x8b, 0x3f, 0x76, 0x74, 0x97, 0xe1, 0xfe, 0x67, 0xc3, 0xf9, 0x61, 0x96,
+ 0xb3, 0x0b, 0xc9, 0xc4, 0xcc, 0xe6, 0xa4, 0x15, 0xa9, 0xb3, 0x03, 0x92,
+ 0xf0, 0x60, 0x18, 0x5e, 0x0d, 0x39, 0xb8, 0xd4, 0x0d, 0xf0, 0x9b, 0x9e,
+ 0xe2, 0x13, 0x27, 0x79, 0x38, 0xa0, 0xe4, 0x90, 0xf3, 0x18, 0xc2, 0xc4,
+ 0xf6, 0xbe, 0xf1, 0x4b, 0xe0, 0x46, 0xc9, 0xb9, 0xd9, 0xaf, 0x00, 0x6a,
+ 0x82, 0x22, 0xd9, 0x76, 0xb8, 0xb4, 0x05, 0x7a, 0x3a, 0x2f, 0xcb, 0x49,
+ 0x5a, 0x6d, 0xcb, 0xde, 0x03, 0x55, 0xdd, 0x0c, 0x38, 0x63, 0xe7, 0x0b,
+ 0x9d, 0xf5, 0x70, 0x36, 0x88, 0xde, 0x68, 0xd2, 0x19, 0xf0, 0xee, 0x48,
+ 0x8b, 0x3a, 0xf4, 0xe7, 0x14, 0x20, 0x2f, 0x17, 0x33, 0xbb, 0x15, 0xfe,
+ 0x57, 0x23, 0x87, 0x86, 0xda, 0x04, 0xe7, 0x0a, 0x50, 0x4f, 0x00, 0xca,
+ 0x5b, 0xd4, 0x59, 0x60, 0x9d, 0xfa, 0x84, 0xe2, 0x4e, 0xb0, 0x21, 0x94,
+ 0x38, 0x11, 0x87, 0x6d, 0x91, 0x20, 0x89, 0x35, 0xc1, 0x3d, 0xe6, 0x40,
+ 0x33, 0x8a, 0xf1, 0x18, 0xc7, 0x53, 0x42, 0x87, 0xbb, 0xcf, 0xbe, 0x24,
+ 0x5b, 0x75, 0x43, 0xa6, 0x9b, 0xcf, 0x35, 0x3c, 0x39, 0xe6, 0x8c, 0xb9,
+ 0xae, 0x70, 0xdb, 0xe0, 0xda, 0x75, 0xb8, 0xb8, 0x60, 0xaf, 0xc2, 0x5f,
+ 0xd9, 0x09, 0x32, 0x3c, 0xd1, 0x2c, 0x3a, 0xfe, 0xe7, 0x05, 0x10, 0x9b,
+ 0xe1, 0x9c, 0x1c, 0x46, 0x48, 0xb3, 0x65, 0x5d, 0x66, 0x8b, 0xec, 0x92,
+ 0x57, 0xfb, 0xe2, 0xf4, 0xf8, 0xdb, 0xe3, 0xd3, 0x40, 0x6c, 0x7e, 0x35,
+ 0x1e, 0xef, 0x7d, 0xca, 0xaa, 0x09, 0x9a, 0xb2, 0x52, 0xe0, 0x22, 0xc1,
+ 0x73, 0x36, 0xc1, 0xcb, 0x93, 0x25, 0x37, 0x0e, 0xb2, 0x45, 0x12, 0xbd,
+ 0x03, 0x9f, 0x0d, 0x65, 0xf0, 0xf2, 0x27, 0x05, 0xe6, 0x1d, 0x25, 0x47,
+ 0x92, 0x4b, 0x08, 0xd9, 0x38, 0xad, 0xb2, 0x19, 0xf7, 0x2c, 0x0d, 0xb3,
+ 0x08, 0x81, 0xec, 0x41, 0x7d, 0x39, 0xe8, 0x50, 0x39, 0x93, 0x1c, 0x01,
+ 0x2c, 0xbb, 0x88, 0xe0, 0x8d, 0x15, 0xaa, 0xe7, 0x93, 0xd7, 0xf2, 0x4d,
+ 0xa9, 0x47, 0xa5, 0x5d, 0x62, 0x60, 0x37, 0xb6, 0x52, 0xce, 0xbe, 0x19,
+ 0xbe, 0x1c, 0x0f, 0x5f, 0x1f, 0x9f, 0x1e, 0x7f, 0xf5, 0xf2, 0xe2, 0xd8,
+ 0xe2, 0x99, 0xd7, 0x59, 0x8f, 0x0a, 0x26, 0xfa, 0xd7, 0x37, 0xb2, 0x2d,
+ 0x58, 0x3f, 0x61, 0xe1, 0x37, 0x39, 0x37, 0x64, 0x51, 0xc8, 0x7f, 0xee,
+ 0xac, 0x4d, 0x56, 0x51, 0xc3, 0x79, 0x82, 0xf1, 0xe1, 0xcc, 0xbd, 0x58,
+ 0x2c, 0x65, 0xaa, 0xc1, 0x0a, 0xd2, 0xc5, 0x0d, 0x35, 0x66, 0xfb, 0x50,
+ 0x50, 0x2a, 0x7d, 0x6e, 0x4b, 0x49, 0x79, 0xf5, 0xbe, 0x47, 0xc8, 0xed,
+ 0x6c, 0xeb, 0x80, 0x81, 0x4c, 0xdf, 0xe3, 0x2f, 0xd0, 0x32, 0x70, 0xc4,
+ 0x8f, 0x5f, 0xe3, 0xc9, 0x0e, 0xc6, 0xb8, 0x83, 0x46, 0x27, 0x06, 0x23,
+ 0xbf, 0x8a, 0x00, 0x96, 0x10, 0x01, 0xd5, 0xd3, 0xab, 0x6c, 0x29, 0xaa,
+ 0x2c, 0xa5, 0x26, 0x20, 0x08, 0xce, 0x35, 0x95, 0x82, 0x17, 0xc4, 0x29,
+ 0x64, 0x93, 0x8c, 0x21, 0x17, 0x80, 0x91, 0x46, 0x74, 0x1d, 0x4b, 0xf5,
+ 0xbd, 0xa1, 0x8e, 0x03, 0x14, 0x6b, 0xa1, 0xb4, 0x1d, 0x14, 0x18, 0x8f,
+ 0x90, 0x60, 0xe8, 0xe5, 0x0d, 0x84, 0x79, 0x02, 0xdc, 0x3d, 0xb0, 0x7b,
+ 0x67, 0x2d, 0x80, 0xb9, 0x45, 0x5b, 0x2f, 0xe1, 0x3a, 0xc3, 0x8f, 0xb8,
+ 0x79, 0x89, 0xe8, 0xdc, 0x34, 0xc9, 0x9f, 0xe9, 0xa8, 0x96, 0xf2, 0x04,
+ 0x29, 0x37, 0x24, 0x37, 0x16, 0xcc, 0xe0, 0x78, 0xd6, 0x76, 0x94, 0x69,
+ 0x48, 0x37, 0x56, 0x6f, 0xba, 0xcc, 0x1e, 0x18, 0x5a, 0x7d, 0x26, 0xa7,
+ 0x83, 0x1f, 0x49, 0x23, 0x02, 0x9b, 0xe2, 0x11, 0x75, 0xe5, 0x3b, 0x8e,
+ 0xd1, 0xee, 0x55, 0x40, 0x18, 0xf1, 0xfa, 0xd7, 0xb0, 0xa3, 0x84, 0x2d,
+ 0xb5, 0x1b, 0x66, 0xab, 0x00, 0xb0, 0x7b, 0xe7, 0x8d, 0xe2, 0xef, 0x5b,
+ 0xdd, 0xd2, 0xef, 0xb5, 0xe6, 0xb5, 0x46, 0x3a, 0x3e, 0x7f, 0xcf, 0xdd,
+ 0xd5, 0x4f, 0xe9, 0x2f, 0x12, 0x79, 0xab, 0x63, 0xf8, 0x77, 0xd2, 0xfd,
+ 0x83, 0x92, 0x51, 0x32, 0x84, 0x6e, 0x6c, 0x30, 0x5d, 0x93, 0x11, 0x39,
+ 0xff, 0x54, 0x80, 0xd6, 0xe5, 0x3a, 0x60, 0x8b, 0x83, 0xe4, 0x7f, 0xdb,
+ 0xa0, 0x93, 0x66, 0x42, 0x53, 0x10, 0x84, 0x22, 0x4c, 0x82, 0x73, 0x68,
+ 0x35, 0x40, 0x72, 0x46, 0xbf, 0x24, 0x7d, 0x93, 0xe5, 0x5a, 0xd3, 0xc7,
+ 0x79, 0xb9, 0x05, 0x82, 0xa8, 0x44, 0x34, 0x2c, 0xbd, 0x99, 0x54, 0x68,
+ 0xe7, 0x9a, 0x9a, 0xa9, 0x8c, 0x3a, 0x4b, 0x45, 0x43, 0x2e, 0x82, 0xdd,
+ 0x0c, 0xe3, 0x21, 0x68, 0x45, 0x26, 0x8e, 0x38, 0xc9, 0x4a, 0xc7, 0x82,
+ 0x35, 0xd7, 0x7e, 0x20, 0x39, 0x06, 0x64, 0x41, 0xa0, 0xed, 0x10, 0xd7,
+ 0x0b, 0x20, 0xf9, 0x20, 0xd0, 0xf0, 0xa5, 0x26, 0x41, 0x33, 0xd1, 0xb2,
+ 0x3b, 0x09, 0x9b, 0xb3, 0x42, 0x38, 0x97, 0xf0, 0x64, 0x0a, 0x40, 0x59,
+ 0x98, 0x36, 0x13, 0xd6, 0x60, 0x90, 0xd5, 0x77, 0x95, 0x16, 0x91, 0x3b,
+ 0x67, 0x36, 0xde, 0xf6, 0x44, 0xc3, 0x2a, 0xe5, 0xd8, 0x22, 0x4a, 0x3c,
+ 0xd1, 0x46, 0x17, 0xd6, 0xca, 0x18, 0x7a, 0x86, 0x81, 0xe5, 0x14, 0xd7,
+ 0x90, 0xa9, 0xf0, 0xce, 0xa0, 0x31, 0x90, 0xd0, 0x5b, 0x19, 0xa3, 0x2a,
+ 0x61, 0x2e, 0x2e, 0xda, 0xd2, 0x22, 0xc1, 0xfe, 0xa2, 0x6f, 0xeb, 0x99,
+ 0x47, 0x85, 0x8d, 0x87, 0xaa, 0x4b, 0x3d, 0x86, 0xdb, 0x25, 0x38, 0x38,
+ 0x3e, 0x08, 0xfb, 0xa2, 0x9b, 0x81, 0x92, 0x71, 0xd1, 0x85, 0xf9, 0x36,
+ 0xa6, 0x4b, 0x6e, 0x20, 0x1b, 0x91, 0x25, 0xe2, 0x09, 0xbe, 0xff, 0x1a,
+ 0x93, 0xa3, 0xef, 0xe0, 0x05, 0xdc, 0x7b, 0x82, 0x1e, 0xba, 0xd4, 0x1e,
+ 0x4f, 0x4c, 0xca, 0x93, 0xcc, 0x7c, 0x2f, 0xa7, 0x1e, 0x78, 0x7e, 0x18,
+ 0x20, 0x4c, 0x73, 0xae, 0x0d, 0x01, 0xa2, 0x2a, 0xa0, 0x64, 0x07, 0x10,
+ 0xbd, 0x4b, 0xb9, 0x14, 0x59, 0xe2, 0x37, 0x90, 0x04, 0x41, 0xc0, 0x62,
+ 0x38, 0x1f, 0x48, 0x3c, 0x13, 0xe9, 0x8d, 0x65, 0x15, 0x96, 0xc0, 0x4e,
+ 0x2d, 0xd6, 0x92, 0x3e, 0x99, 0xd6, 0xd7, 0xf1, 0x1b, 0x5e, 0x5f, 0x47,
+ 0x6f, 0xf8, 0x03, 0xee, 0xb9, 0xb3, 0xb7, 0x8e, 0xcf, 0xc7, 0xdf, 0x26,
+ 0x3d, 0xa0, 0x11, 0xdc, 0xc9, 0x85, 0xaf, 0xb8, 0x5b, 0x1d, 0x11, 0xbd,
+ 0x7f, 0xcd, 0xfb, 0xef, 0x79, 0x34, 0x3e, 0x10, 0xdc, 0x73, 0xf3, 0x7d,
+ 0xb9, 0xdc, 0xe7, 0x2f, 0xc7, 0xdf, 0x7a, 0xd7, 0xda, 0x23, 0x81, 0x58,
+ 0x31, 0xa6, 0xcd, 0x6c, 0xa7, 0x20, 0x31, 0x93, 0x0e, 0x0d, 0x16, 0xa5,
+ 0xf7, 0xfa, 0xfa, 0x21, 0xf4, 0x6e, 0x66, 0x12, 0xd0, 0x7b, 0xb0, 0xc7,
+ 0x9b, 0xe8, 0xdd, 0x3f, 0xa8, 0x76, 0xd2, 0xac, 0x47, 0xed, 0x05, 0x77,
+ 0xd1, 0xa6, 0x02, 0x8f, 0x3e, 0x32, 0xa7, 0x40, 0xa2, 0x90, 0x76, 0x98,
+ 0x4a, 0x88, 0x79, 0xfe, 0x34, 0x42, 0x37, 0x2f, 0x04, 0x84, 0xae, 0xe7,
+ 0x19, 0xa7, 0xf4, 0x3e, 0x42, 0xd7, 0x94, 0xe2, 0x8c, 0x89, 0xdc, 0xa7,
+ 0xf1, 0x90, 0xbe, 0x3d, 0xaa, 0xf5, 0xcb, 0xc0, 0xc3, 0x1d, 0xd2, 0x4c,
+ 0x33, 0x07, 0x65, 0xe0, 0x80, 0x1c, 0x22, 0xe0, 0x22, 0x0a, 0xca, 0xc0,
+ 0x05, 0xb1, 0xa1, 0x3b, 0xdf, 0x96, 0xe6, 0xb7, 0xaa, 0x1f, 0x2a, 0xd5,
+ 0xb0, 0xb9, 0xb1, 0x1a, 0x09, 0x6d, 0xb8, 0x07, 0x7c, 0x40, 0x81, 0x79,
+ 0x70, 0x23, 0x5b, 0xe8, 0x41, 0x59, 0xb4, 0x3a, 0xbd, 0xce, 0x28, 0xcf,
+ 0x03, 0x30, 0x64, 0xdd, 0x7b, 0x4a, 0x6a, 0x1e, 0xb4, 0x01, 0x52, 0x54,
+ 0x86, 0x79, 0x31, 0x0c, 0xd3, 0xa0, 0xfd, 0xd0, 0x56, 0xd3, 0xc2, 0xa6,
+ 0xa5, 0x12, 0x45, 0x28, 0xbc, 0x12, 0xe4, 0x20, 0x65, 0x14, 0x96, 0xa6,
+ 0xc4, 0x04, 0xd8, 0x2b, 0x19, 0x29, 0xa8, 0x8d, 0x22, 0xac, 0xb5, 0xdb,
+ 0xbd, 0x34, 0x65, 0xcb, 0x19, 0xf7, 0xa4, 0x83, 0x62, 0x3c, 0x2b, 0xea,
+ 0xa1, 0xeb, 0xd0, 0xfe, 0xc2, 0xfe, 0x35, 0xb0, 0x2f, 0x5e, 0xbf, 0x1b,
+ 0x53, 0xe4, 0x2a, 0x43, 0xad, 0x81, 0x9a, 0xc1, 0x75, 0xc6, 0xf5, 0x21,
+ 0x97, 0xe0, 0x1c, 0xe6, 0x11, 0x5b, 0xf0, 0x67, 0x9b, 0x22, 0xbe, 0x88,
+ 0x3a, 0x84, 0xf0, 0x89, 0xa0, 0x50, 0x2f, 0xe5, 0x82, 0x1b, 0x63, 0xdb,
+ 0x21, 0x2e, 0x4e, 0x2b, 0x70, 0x73, 0xd3, 0x8a, 0x76, 0x78, 0x9e, 0x22,
+ 0x18, 0x47, 0x5a, 0x96, 0x47, 0xd3, 0xd8, 0xd5, 0xf6, 0xcc, 0x2b, 0x46,
+ 0x64, 0x17, 0x0c, 0x32, 0xdb, 0xe1, 0xaa, 0xe8, 0x74, 0xa5, 0xef, 0x2e,
+ 0x56, 0x30, 0x93, 0x24, 0x67, 0x6c, 0x77, 0xa3, 0xf1, 0x48, 0x1b, 0xb8,
+ 0xba, 0x7e, 0x34, 0xa4, 0x87, 0x25, 0xfd, 0xd0, 0xfe, 0xf4, 0x09, 0x7e,
+ 0x3a, 0x0a, 0x36, 0x3a, 0x28, 0xa1, 0x91, 0x0e, 0xaa, 0x16, 0x1d, 0x97,
+ 0xb2, 0x1b, 0x8b, 0x19, 0x75, 0xde, 0xc0, 0xd9, 0x6b, 0x23, 0x05, 0x42,
+ 0x4b, 0x64, 0xcc, 0x43, 0xd7, 0xbc, 0x2d, 0x09, 0x70, 0x5a, 0x8c, 0x6e,
+ 0x53, 0xb7, 0x0e, 0xfd, 0xe8, 0x28, 0x72, 0xe8, 0x76, 0xce, 0x2f, 0x64,
+ 0x99, 0xf1, 0x23, 0x6f, 0x49, 0x97, 0x49, 0xce, 0xfd, 0xad, 0x5e, 0xe4,
+ 0xab, 0xa1, 0xbe, 0xc5, 0xc2, 0x63, 0x99, 0x7e, 0x12, 0x91, 0xfe, 0x48,
+ 0xe8, 0x60, 0x18, 0xc0, 0xac, 0x70, 0xbb, 0x65, 0x74, 0xa5, 0x76, 0xeb,
+ 0x6c, 0x11, 0x8d, 0xe8, 0x5b, 0x8d, 0x05, 0x6d, 0x25, 0xa2, 0xe0, 0xef,
+ 0xc4, 0x6a, 0xbe, 0x34, 0x3b, 0xdb, 0xf7, 0xf1, 0x68, 0x7d, 0x07, 0x66,
+ 0x62, 0xdf, 0xbd, 0xe7, 0xfc, 0x1c, 0x91, 0x6d, 0x3e, 0x3f, 0xdd, 0xb3,
+ 0xff, 0x3d, 0xce, 0xef, 0xc9, 0xaf, 0x72, 0x7e, 0x4f, 0xfe, 0xb7, 0x39,
+ 0xbf, 0x27, 0xff, 0xf2, 0xf9, 0x3d, 0x0a, 0xce, 0xef, 0xc9, 0xff, 0x2e,
+ 0xe7, 0xa7, 0xfd, 0xd5, 0xf4, 0xf4, 0xb2, 0xe0, 0xfc, 0xc6, 0x92, 0x36,
+ 0xa2, 0xc0, 0x7c, 0xb4, 0xd3, 0xfa, 0x16, 0x07, 0x69, 0x24, 0xd1, 0x91,
+ 0xbd, 0xe0, 0x9a, 0x6b, 0xcb, 0xd0, 0x90, 0x3d, 0x0d, 0x4b, 0x46, 0x5a,
+ 0x56, 0xa1, 0x83, 0x9e, 0x9c, 0x27, 0x76, 0x02, 0xde, 0x31, 0x38, 0xa0,
+ 0x2d, 0x28, 0x68, 0x51, 0x17, 0x75, 0x4d, 0x7e, 0x4b, 0xb3, 0x7e, 0x2e,
+ 0xaf, 0xac, 0x5d, 0x51, 0x70, 0x0c, 0x49, 0xcb, 0x6c, 0xdc, 0xf3, 0x17,
+ 0xb4, 0x5d, 0x43, 0x7e, 0xfc, 0x4f, 0xd1, 0x62, 0x37, 0x74, 0x6c, 0x76,
+ 0x53, 0x8a, 0x85, 0x25, 0xbc, 0xad, 0x73, 0xe7, 0x66, 0xa3, 0x59, 0xde,
+ 0xa1, 0xc5, 0xce, 0xac, 0xab, 0xea, 0xd8, 0x13, 0xbc, 0xff, 0xc8, 0xca,
+ 0x2b, 0xe0, 0xf8, 0xbc, 0xf8, 0xf0, 0x3e, 0xf4, 0xbd, 0x99, 0xa5, 0x86,
+ 0xd0, 0x88, 0xe6, 0xb8, 0x86, 0x64, 0xdb, 0x0f, 0x81, 0x12, 0x6f, 0x6e,
+ 0xe3, 0xd9, 0xd7, 0xbb, 0x9e, 0x13, 0x08, 0x41, 0x8b, 0x32, 0xd6, 0xef,
+ 0x8e, 0xcb, 0x6e, 0x6d, 0x69, 0x79, 0x3d, 0xe8, 0xf4, 0xb8, 0xb4, 0x69,
+ 0xef, 0x4e, 0x49, 0x81, 0x77, 0x44, 0x0a, 0x76, 0xab, 0xa0, 0xbf, 0x25,
+ 0x29, 0x83, 0x79, 0x2d, 0xa8, 0x71, 0x04, 0xa3, 0xa1, 0x72, 0x10, 0x33,
+ 0xfb, 0x2d, 0x33, 0xfe, 0x9e, 0x1c, 0xb6, 0x76, 0xf5, 0x35, 0x74, 0xc5,
+ 0xf5, 0x72, 0x25, 0xa5, 0xc5, 0xf7, 0x94, 0x56, 0x26, 0xdc, 0x8d, 0x11,
+ 0x65, 0x93, 0xec, 0xde, 0x97, 0x2a, 0x23, 0xb5, 0xcc, 0x6d, 0x69, 0x85,
+ 0x98, 0xef, 0xbd, 0xc0, 0x68, 0x51, 0x2c, 0xaa, 0x8b, 0x6e, 0x82, 0x14,
+ 0x57, 0xc4, 0x28, 0xbe, 0x3a, 0x71, 0x49, 0x4f, 0x6b, 0x96, 0x42, 0x07,
+ 0x80, 0x00, 0xf0, 0x57, 0x63, 0xe0, 0xdc, 0x88, 0x12, 0x52, 0x81, 0x15,
+ 0xcd, 0x99, 0xd1, 0x05, 0xcd, 0xab, 0x66, 0x98, 0x91, 0x54, 0x59, 0xd5,
+ 0x5e, 0x9c, 0xda, 0x16, 0x86, 0x00, 0xdc, 0x29, 0x56, 0x1d, 0x80, 0x60,
+ 0x0f, 0xd4, 0x5b, 0xc9, 0xea, 0x13, 0xe8, 0x0e, 0x8b, 0xcd, 0x54, 0x5c,
+ 0x6b, 0xed, 0x4d, 0xab, 0x45, 0xc9, 0x70, 0x12, 0x86, 0x03, 0x5a, 0x25,
+ 0x80, 0xff, 0x06, 0xda, 0xe8, 0x29, 0xcb, 0x60, 0xd5, 0xcc, 0x73, 0x4c,
+ 0x44, 0x6e, 0x92, 0x5f, 0xf5, 0x11, 0x75, 0x05, 0x90, 0xa1, 0xa3, 0x0b,
+ 0x94, 0x7e, 0x15, 0xdc, 0x04, 0xa4, 0xed, 0x92, 0xea, 0x18, 0x49, 0x9c,
+ 0xfd, 0x1b, 0x24, 0x14, 0x0a, 0xc0, 0x40, 0xf4, 0x18, 0x5b, 0x29, 0xe0,
+ 0x9c, 0x5b, 0x7c, 0x95, 0xf9, 0x55, 0xd3, 0x16, 0x82, 0x92, 0xa3, 0x14,
+ 0x9c, 0xbc, 0x68, 0x76, 0x51, 0x32, 0x61, 0x83, 0x86, 0x43, 0x40, 0x45,
+ 0x90, 0xa9, 0x6f, 0x09, 0x8a, 0xd3, 0x5a, 0xa0, 0x67, 0xb9, 0xe5, 0x32,
+ 0x40, 0x6f, 0x7e, 0xbb, 0x2a, 0x65, 0x2f, 0x33, 0xdc, 0x67, 0x51, 0xd9,
+ 0x25, 0x87, 0xff, 0x37, 0x65, 0x21, 0x77, 0x00, 0xd7, 0xb8, 0x99, 0xb8,
+ 0x85, 0x5c, 0x83, 0x47, 0xb0, 0x68, 0xaa, 0x72, 0x75, 0x97, 0x7c, 0x95,
+ 0xd2, 0xb2, 0xa0, 0xd6, 0xa7, 0xd9, 0x32, 0x28, 0x4d, 0xe3, 0xf6, 0xe2,
+ 0xa2, 0x66, 0x73, 0xab, 0x71, 0x5d, 0x21, 0xec, 0x02, 0xde, 0x16, 0x43,
+ 0xac, 0x66, 0xbf, 0xc8, 0x99, 0x2c, 0x65, 0x23, 0x9c, 0x7a, 0x3d, 0x1e,
+ 0x9f, 0x86, 0xb6, 0x9c, 0x36, 0x36, 0xda, 0x88, 0x49, 0x80, 0xd1, 0x86,
+ 0xdd, 0xe8, 0x88, 0x0c, 0xfe, 0x22, 0xca, 0x39, 0x64, 0xdd, 0xd9, 0x42,
+ 0x31, 0x3b, 0x14, 0x47, 0x7e, 0x5a, 0xdd, 0xad, 0xc8, 0xf8, 0x92, 0x22,
+ 0x5c, 0xbe, 0xe6, 0x34, 0x3f, 0x06, 0x81, 0xdd, 0x58, 0xf6, 0xfc, 0xa1,
+ 0xf6, 0xb0, 0xd4, 0x21, 0x4b, 0x29, 0x7e, 0x4f, 0xa0, 0xc8, 0x04, 0x6e,
+ 0x25, 0xb2, 0x95, 0xa4, 0xce, 0x0c, 0x68, 0x2e, 0xbd, 0x3d, 0xce, 0xa4,
+ 0x73, 0x59, 0xa7, 0x3b, 0x06, 0x9b, 0x33, 0x64, 0x69, 0x11, 0x22, 0x22,
+ 0xc2, 0x29, 0xbb, 0x2a, 0xdf, 0xe5, 0x0d, 0xa9, 0xda, 0xeb, 0xde, 0x0c,
+ 0xdb, 0x3c, 0x21, 0x25, 0x84, 0x87, 0x22, 0x80, 0x92, 0xe1, 0x2c, 0x8f,
+ 0x83, 0xfd, 0xfd, 0x7b, 0x31, 0x82, 0xc4, 0x5a, 0xdd, 0x08, 0x15, 0x44,
+ 0xec, 0x90, 0x03, 0x1c, 0xb6, 0xa6, 0x3d, 0xcd, 0xa5, 0x60, 0xa9, 0x8b,
+ 0xaa, 0x66, 0x3e, 0x69, 0x21, 0x7b, 0xdc, 0x15, 0x64, 0xb6, 0xca, 0x50,
+ 0x5a, 0x00, 0x0c, 0x32, 0x77, 0xfb, 0x18, 0x73, 0xac, 0x9f, 0xb7, 0xde,
+ 0x89, 0xb6, 0x94, 0xa6, 0x09, 0xd1, 0x4b, 0xa2, 0x7f, 0x8e, 0x92, 0x3f,
+ 0xdf, 0x39, 0xbb, 0x1d, 0x0c, 0x91, 0xfd, 0xc1, 0x98, 0x15, 0xfb, 0xf9,
+ 0x79, 0xfe, 0xa3, 0x4d, 0xac, 0x3f, 0x8e, 0x03, 0xf4, 0x6f, 0xcc, 0x58,
+ 0x30, 0xac, 0xe1, 0x76, 0xab, 0x1a, 0xa3, 0x02, 0x4e, 0x24, 0xee, 0xb0,
+ 0xb2, 0xab, 0x35, 0xfa, 0x47, 0xb7, 0xc9, 0x92, 0xd7, 0x2f, 0x89, 0xb9,
+ 0xe0, 0x46, 0x3c, 0xe7, 0x36, 0xaa, 0x53, 0x3b, 0x0b, 0xf5, 0x69, 0x5b,
+ 0x4d, 0xa1, 0xd2, 0xea, 0x21, 0x0a, 0xa8, 0xbb, 0xa8, 0x11, 0x54, 0x73,
+ 0x4d, 0xbc, 0x0b, 0xbe, 0x86, 0xb2, 0xf0, 0x3c, 0x30, 0x84, 0x26, 0xc6,
+ 0x99, 0x3f, 0x5a, 0x6b, 0xd5, 0x01, 0xb1, 0xf5, 0x19, 0xab, 0x22, 0xef,
+ 0xeb, 0x4d, 0x9f, 0x95, 0x1e, 0x76, 0x95, 0x2d, 0xaf, 0xeb, 0xb8, 0x72,
+ 0xd8, 0x97, 0x13, 0xc2, 0x62, 0x70, 0x06, 0xb1, 0x73, 0x13, 0x72, 0xa1,
+ 0x38, 0xb2, 0x23, 0xa0, 0x09, 0xb2, 0xea, 0x68, 0x34, 0x96, 0x41, 0x22,
+ 0x9d, 0xc8, 0x29, 0x61, 0x9c, 0x4f, 0x39, 0xaa, 0xde, 0x3a, 0x58, 0x35,
+ 0xee, 0x33, 0xc6, 0x2b, 0xa9, 0x1d, 0x1c, 0x1c, 0x31, 0x6d, 0xee, 0x99,
+ 0x66, 0x46, 0xad, 0x6d, 0x6a, 0x58, 0xe8, 0x11, 0xf5, 0x2a, 0xb4, 0xcd,
+ 0x93, 0x84, 0x50, 0x53, 0xaf, 0xe1, 0xbd, 0xe6, 0xe1, 0x2d, 0x02, 0x1b,
+ 0xdf, 0x49, 0xae, 0x5c, 0x27, 0x3f, 0x99, 0x54, 0xe0, 0x06, 0x6c, 0x83,
+ 0xa2, 0xe3, 0x04, 0xde, 0x98, 0xe0, 0x70, 0x50, 0x02, 0xbf, 0xae, 0xbc,
+ 0x18, 0xf9, 0xd6, 0x55, 0x6e, 0x4e, 0xb5, 0xd8, 0x02, 0x30, 0xe4, 0x7a,
+ 0xc2, 0x98, 0xa3, 0x8d, 0x7e, 0x34, 0x58, 0xec, 0x7a, 0xe1, 0x39, 0x66,
+ 0xe3, 0x6d, 0xc6, 0x5b, 0x09, 0xdf, 0x83, 0xa4, 0x75, 0x21, 0x54, 0x9f,
+ 0xe4, 0xb0, 0xbd, 0x2b, 0xbe, 0xe7, 0x73, 0x8b, 0x7a, 0x73, 0x5d, 0x21,
+ 0x1e, 0xdd, 0x7c, 0x74, 0xe6, 0x1a, 0xf8, 0x6d, 0x71, 0x9c, 0xa3, 0x39,
+ 0x5d, 0x92, 0x13, 0x87, 0x75, 0x55, 0xda, 0xe5, 0x68, 0xd3, 0x12, 0x3a,
+ 0x08, 0x81, 0x6c, 0x89, 0x60, 0x0a, 0x4b, 0x6a, 0x5f, 0x7a, 0x87, 0xaa,
+ 0x23, 0xfb, 0x69, 0x50, 0x77, 0x00, 0x00, 0x47, 0x60, 0x88, 0x25, 0x34,
+ 0x7f, 0xa1, 0x63, 0xda, 0xc2, 0x69, 0x95, 0xaf, 0x1a, 0xce, 0x47, 0x90,
+ 0xe4, 0xea, 0x8d, 0xc0, 0x39, 0xe6, 0x6f, 0x97, 0x8b, 0x72, 0x92, 0xf2,
+ 0x1d, 0xb1, 0xb9, 0x4d, 0xea, 0xf1, 0x6c, 0x01, 0x16, 0x13, 0x7b, 0x23,
+ 0xf2, 0x8c, 0x34, 0x5c, 0x30, 0x4b, 0x1e, 0x3e, 0x47, 0x77, 0x78, 0x0a,
+ 0x84, 0x6e, 0xfa, 0xa0, 0xfd, 0x04, 0xc3, 0xff, 0x0d, 0xe7, 0x03, 0xb9,
+ 0xbd, 0x5a, 0x95, 0x8d, 0xd4, 0xb0, 0xda, 0xbb, 0x53, 0x81, 0xce, 0x05,
+ 0x18, 0x85, 0xd9, 0x3a, 0x6b, 0x67, 0x8a, 0x6d, 0x4b, 0x98, 0x58, 0x5a,
+ 0xda, 0x21, 0x5b, 0xc9, 0x76, 0x2a, 0x90, 0x70, 0x6c, 0x34, 0x0b, 0x8a,
+ 0x00, 0x82, 0x25, 0x6b, 0x69, 0x60, 0x8c, 0x8f, 0x1b, 0x54, 0x68, 0x14,
+ 0x24, 0x95, 0xdc, 0xe4, 0x34, 0xfb, 0xd6, 0xdb, 0x2b, 0x06, 0x56, 0x08,
+ 0x29, 0x7e, 0xce, 0x0a, 0x21, 0xfc, 0x97, 0x7c, 0x26, 0x1b, 0x76, 0xc6,
+ 0x47, 0x19, 0x6f, 0x9b, 0x08, 0xf6, 0xd3, 0x71, 0xf1, 0x04, 0xb6, 0x56,
+ 0x93, 0xd1, 0x40, 0xfe, 0xfd, 0x1d, 0x43, 0x2c, 0x52, 0xfd, 0x96, 0x22,
+ 0xf1, 0x00, 0xd8, 0x98, 0xda, 0xce, 0x8f, 0x79, 0x41, 0xbc, 0x32, 0x8f,
+ 0x6e, 0x0a, 0xe5, 0xb8, 0x2d, 0xee, 0x38, 0x8b, 0x06, 0x67, 0x0e, 0x7d,
+ 0x57, 0x62, 0x06, 0x4a, 0x50, 0x59, 0x33, 0xf5, 0x7e, 0x39, 0xcb, 0xd2,
+ 0x45, 0xac, 0x5b, 0x06, 0x4d, 0x98, 0x1c, 0xdd, 0xcc, 0xda, 0x08, 0x26,
+ 0xa5, 0x90, 0x90, 0x89, 0xe4, 0x58, 0x73, 0x96, 0xa1, 0x18, 0x07, 0x76,
+ 0x86, 0xb8, 0x55, 0x11, 0xed, 0x9a, 0xfa, 0xf7, 0xe0, 0x01, 0xd4, 0x0e,
+ 0x4f, 0x05, 0x91, 0x00, 0x01, 0x4f, 0x57, 0x82, 0x43, 0x98, 0x6e, 0x94,
+ 0x90, 0xa8, 0x0f, 0x80, 0x02, 0x90, 0x0f, 0xdf, 0x1d, 0x4e, 0x1c, 0xa9,
+ 0x5c, 0x17, 0x0a, 0x21, 0xa3, 0x65, 0x1b, 0x34, 0x31, 0xce, 0x81, 0x21,
+ 0x26, 0xb9, 0x2b, 0xf7, 0x10, 0x79, 0x16, 0xc2, 0x39, 0x56, 0xe1, 0x49,
+ 0x5f, 0x67, 0x9a, 0x19, 0x05, 0x53, 0x86, 0x0f, 0xa0, 0xb1, 0xc5, 0xb2,
+ 0x34, 0x9a, 0xf0, 0x19, 0x66, 0x32, 0x87, 0x87, 0x3d, 0xa6, 0x97, 0xf4,
+ 0x49, 0x17, 0x1a, 0xc3, 0x65, 0xaf, 0xd3, 0x79, 0xa6, 0xc0, 0xa9, 0xc2,
+ 0xbe, 0xcb, 0xa9, 0xd9, 0x42, 0x04, 0x69, 0x01, 0x4a, 0x44, 0xda, 0x51,
+ 0x60, 0x41, 0x33, 0xd7, 0x24, 0x2e, 0x69, 0x45, 0x2e, 0x5d, 0x04, 0x61,
+ 0xb7, 0xf5, 0x22, 0x5f, 0xa9, 0x7f, 0x7a, 0x90, 0x64, 0x92, 0x55, 0xb4,
+ 0xb8, 0x93, 0x53, 0x59, 0x0f, 0x23, 0xa6, 0x97, 0x6d, 0xe6, 0x2e, 0xf0,
+ 0xb7, 0x0b, 0x52, 0xfc, 0x77, 0x3a, 0xa3, 0x3f, 0xda, 0x3f, 0xc0, 0x64,
+ 0x1f, 0xed, 0x3f, 0xdd, 0x6d, 0x4b, 0xe5, 0x45, 0x9d, 0x0d, 0x91, 0xb4,
+ 0x16, 0xd7, 0x4e, 0xb9, 0x55, 0x9d, 0xf3, 0xab, 0x43, 0x13, 0xa5, 0x97,
+ 0x24, 0xd3, 0x6d, 0xb6, 0xae, 0xd4, 0x94, 0xa3, 0x26, 0x86, 0x64, 0x98,
+ 0xd6, 0x57, 0x84, 0xba, 0x18, 0x48, 0x79, 0xf7, 0x0e, 0x8c, 0x36, 0xc4,
+ 0x6e, 0x78, 0x9f, 0x52, 0xbc, 0x2a, 0x0d, 0xd2, 0x78, 0x1f, 0xf0, 0x1c,
+ 0x59, 0xa5, 0x1c, 0x60, 0x88, 0xb5, 0x33, 0x55, 0x24, 0x07, 0x4e, 0x12,
+ 0x93, 0xf0, 0x5d, 0xbb, 0xdd, 0xb0, 0xe5, 0x3b, 0x6f, 0xf2, 0x22, 0xaf,
+ 0xaf, 0xd0, 0xa6, 0xb8, 0xae, 0xd3, 0xcb, 0x2c, 0x2c, 0x70, 0x37, 0x0c,
+ 0xc9, 0x98, 0x4c, 0xdc, 0x46, 0xaf, 0x02, 0x32, 0x3d, 0xa5, 0x86, 0xf1,
+ 0xbe, 0x4b, 0xc1, 0x8a, 0xf4, 0xd8, 0x03, 0x32, 0x9a, 0x5b, 0x66, 0x8c,
+ 0x5e, 0xf2, 0xda, 0x6b, 0x00, 0xd9, 0xd7, 0xff, 0x91, 0xba, 0x91, 0x01,
+ 0x22, 0x8b, 0x7b, 0x03, 0x71, 0x73, 0xa0, 0x58, 0xd7, 0x17, 0xa3, 0x6a,
+ 0x9b, 0xc3, 0x3d, 0x1b, 0x1b, 0x16, 0xe4, 0x7a, 0x15, 0x23, 0x05, 0xd0,
+ 0xfc, 0xec, 0x7b, 0xa3, 0x8b, 0x8e, 0x9e, 0xd9, 0x1f, 0xef, 0x3e, 0xac,
+ 0x61, 0xe4, 0x61, 0x47, 0x37, 0xa3, 0x5c, 0x5c, 0x89, 0x44, 0xc0, 0x54,
+ 0xf9, 0x82, 0xff, 0x11, 0xf7, 0x75, 0xa0, 0xae, 0xd5, 0x58, 0x91, 0x6f,
+ 0x5f, 0x02, 0x52, 0xca, 0x21, 0x3c, 0x7b, 0x69, 0xbb, 0xad, 0x1a, 0x3d,
+ 0x74, 0xcf, 0x24, 0x55, 0x35, 0x0a, 0xf0, 0x67, 0x31, 0x79, 0x39, 0x83,
+ 0xd0, 0x45, 0xdd, 0x54, 0x97, 0x33, 0x82, 0xb7, 0x21, 0xc3, 0x94, 0xa0,
+ 0x77, 0x92, 0xd3, 0x8c, 0x9b, 0xe5, 0x24, 0xdb, 0x5f, 0x6e, 0x47, 0xaa,
+ 0xf9, 0xb6, 0x5f, 0x78, 0x08, 0xe3, 0xb5, 0x6b, 0xc4, 0xb5, 0xfd, 0x47,
+ 0x4a, 0x4a, 0x26, 0x30, 0x15, 0xfe, 0xa6, 0x9c, 0x01, 0xe7, 0xd7, 0xc6,
+ 0xc3, 0xfa, 0x9a, 0xd2, 0x27, 0xf8, 0x80, 0xed, 0xe4, 0x21, 0x6e, 0x7c,
+ 0x4d, 0xd8, 0xeb, 0x9d, 0x75, 0xab, 0x3e, 0xb7, 0x1d, 0x54, 0xfb, 0x51,
+ 0xea, 0x3e, 0xa3, 0xf5, 0x48, 0x77, 0x70, 0xd7, 0xc6, 0x94, 0xe7, 0xc4,
+ 0x93, 0x81, 0xaf, 0x72, 0x3a, 0xcd, 0x49, 0x73, 0xc1, 0xd5, 0x37, 0xbf,
+ 0xbc, 0xbc, 0x8c, 0xa6, 0x38, 0x99, 0x2d, 0xa0, 0x83, 0xa7, 0x35, 0xcf,
+ 0xb3, 0xb4, 0x81, 0xbe, 0x41, 0x72, 0xbe, 0x3f, 0x79, 0xda, 0xe9, 0xee,
+ 0x91, 0x67, 0xbc, 0x55, 0xbc, 0xf0, 0xeb, 0x53, 0xe2, 0x54, 0x00, 0x22,
+ 0x60, 0x1a, 0x20, 0x44, 0x4f, 0xfc, 0xcc, 0x7a, 0xbb, 0xe6, 0xa9, 0x21,
+ 0x8a, 0x3b, 0x09, 0x2d, 0x2f, 0x50, 0x4f, 0xc0, 0x1c, 0x24, 0x5b, 0x06,
+ 0x3c, 0x6c, 0xa1, 0xa9, 0xb9, 0x9c, 0xc1, 0x4e, 0xbd, 0x44, 0x38, 0xd9,
+ 0x99, 0xf6, 0x99, 0xe5, 0x81, 0x4b, 0x7a, 0x4f, 0xb4, 0xa1, 0x86, 0xcb,
+ 0x65, 0xef, 0x7a, 0x45, 0xfc, 0xcc, 0x76, 0x51, 0x55, 0xd4, 0x06, 0x44,
+ 0x72, 0xbe, 0x30, 0x0c, 0xcf, 0x57, 0x99, 0xf8, 0xc5, 0x8c, 0x5d, 0x1f,
+ 0x25, 0x4c, 0x08, 0xc3, 0x8d, 0xf6, 0x70, 0x49, 0xb8, 0xa2, 0x60, 0x4a,
+ 0x30, 0x36, 0x60, 0x32, 0x65, 0x42, 0x4d, 0xda, 0x0e, 0x8f, 0x3e, 0xff,
+ 0x7c, 0x14, 0xc5, 0x39, 0xe5, 0xf2, 0x6c, 0x43, 0x84, 0xb4, 0x53, 0x0e,
+ 0x13, 0x73, 0x60, 0xd1, 0x8d, 0xe9, 0xfb, 0x44, 0x61, 0x28, 0x1f, 0x2b,
+ 0x97, 0x04, 0x5d, 0x44, 0xcc, 0x71, 0xbd, 0x08, 0xcd, 0x7b, 0x84, 0x1e,
+ 0x97, 0xa4, 0x56, 0x08, 0x17, 0x83, 0x7a, 0x45, 0x5c, 0x63, 0x99, 0xf7,
+ 0xa8, 0x74, 0x99, 0xa4, 0xe7, 0x71, 0x2a, 0xa7, 0x40, 0x03, 0x4a, 0x3e,
+ 0x29, 0xa7, 0xfd, 0x1a, 0xad, 0x01, 0x39, 0xee, 0x9c, 0xf5, 0xc1, 0xdb,
+ 0xb1, 0xdd, 0x53, 0x0e, 0xba, 0x9d, 0x68, 0xf4, 0x73, 0x92, 0x59, 0x7c,
+ 0x05, 0xee, 0xbc, 0xd5, 0x41, 0xc0, 0xe1, 0x92, 0xf1, 0x82, 0x6a, 0xc2,
+ 0xa8, 0xd3, 0x85, 0xf9, 0x40, 0x67, 0x38, 0x54, 0x48, 0x5f, 0x66, 0x4d,
+ 0x58, 0xc7, 0xe4, 0x65, 0xf7, 0x6e, 0x18, 0x3c, 0x66, 0x13, 0x49, 0x19,
+ 0x56, 0xf2, 0x62, 0x24, 0x91, 0x84, 0x59, 0x3e, 0xd7, 0x4b, 0x6a, 0xbb,
+ 0x43, 0x7c, 0x89, 0xd3, 0x78, 0x21, 0x5b, 0x2f, 0x65, 0x89, 0x5f, 0x46,
+ 0x31, 0xce, 0x24, 0xc5, 0x18, 0x80, 0x5b, 0x4d, 0x63, 0xd4, 0x6a, 0xc7,
+ 0xbb, 0x91, 0x45, 0xce, 0xbd, 0x08, 0xb8, 0x76, 0x87, 0x37, 0x98, 0xf3,
+ 0x36, 0x17, 0x31, 0x90, 0x8d, 0x17, 0x76, 0x50, 0x69, 0x75, 0x42, 0x89,
+ 0xfc, 0x34, 0x95, 0xd8, 0x4e, 0x28, 0x4e, 0x39, 0xf1, 0x07, 0xf3, 0x74,
+ 0x60, 0xf5, 0xd0, 0xbb, 0xde, 0x3e, 0x85, 0x67, 0xef, 0x47, 0xd6, 0x04,
+ 0x51, 0x83, 0xb7, 0xd8, 0x25, 0x80, 0xfb, 0xd1, 0x19, 0x59, 0xa9, 0xd1,
+ 0x84, 0xe3, 0xdd, 0xb9, 0x69, 0xa9, 0xae, 0x92, 0x1b, 0x94, 0x75, 0x59,
+ 0x66, 0x3c, 0x4b, 0xc0, 0x6a, 0xe8, 0xae, 0x92, 0xaf, 0xb2, 0xa9, 0xd6,
+ 0x53, 0x52, 0x2c, 0x61, 0x94, 0xe3, 0x53, 0xb1, 0x6e, 0x5c, 0xea, 0x5e,
+ 0xb5, 0x2b, 0x46, 0xcf, 0x3c, 0x9c, 0x17, 0x76, 0x59, 0x00, 0x01, 0xd9,
+ 0xc2, 0x13, 0xbc, 0x48, 0xce, 0x50, 0x1d, 0x46, 0xfb, 0xb8, 0x66, 0x70,
+ 0xb7, 0xd4, 0xf9, 0x3f, 0x58, 0x29, 0x93, 0xd4, 0x5e, 0x85, 0x47, 0x83,
+ 0x83, 0x23, 0x23, 0xc0, 0xfe, 0xe4, 0x35, 0x75, 0x19, 0x65, 0x51, 0x4e,
+ 0xf4, 0x16, 0xf0, 0x69, 0x3f, 0xb1, 0x9d, 0x25, 0x12, 0xa9, 0x71, 0x55,
+ 0x76, 0xb9, 0x26, 0x29, 0x87, 0x7d, 0xda, 0x51, 0x38, 0x54, 0x7d, 0x62,
+ 0x95, 0xaf, 0xd0, 0xc9, 0xc4, 0xd8, 0x73, 0x41, 0xae, 0xbc, 0x79, 0x8b,
+ 0xfb, 0x87, 0xae, 0x0b, 0xb3, 0x5d, 0xcd, 0x9a, 0x62, 0x90, 0x82, 0x07,
+ 0x63, 0xf8, 0xd7, 0xdf, 0xe0, 0xfa, 0x2b, 0x65, 0xe9, 0xdc, 0x7b, 0x63,
+ 0x66, 0x4d, 0xef, 0x6c, 0x1e, 0xd8, 0x2e, 0x19, 0x32, 0x5f, 0x00, 0x64,
+ 0x46, 0xa9, 0x24, 0x8d, 0x32, 0x00, 0x6e, 0x34, 0x47, 0x8e, 0x98, 0x3f,
+ 0x52, 0x9c, 0x72, 0x9a, 0x39, 0x18, 0x57, 0x6c, 0x0a, 0xaa, 0xaa, 0x83,
+ 0x5b, 0x0d, 0x44, 0x44, 0xd5, 0x9d, 0x7c, 0x9c, 0x4c, 0x69, 0x76, 0x32,
+ 0x60, 0xe4, 0x57, 0x2e, 0x6f, 0x12, 0xd0, 0x9f, 0xb4, 0xe6, 0xf2, 0x89,
+ 0x3a, 0x6c, 0xc0, 0x0a, 0x21, 0xc0, 0x5a, 0xf5, 0xdf, 0xac, 0xc1, 0x4b,
+ 0x9c, 0x2f, 0x02, 0x9f, 0x04, 0xdc, 0xd8, 0xe7, 0x9c, 0xa7, 0x81, 0x76,
+ 0x76, 0xc2, 0xd0, 0x6c, 0x5c, 0x42, 0xca, 0xa3, 0x58, 0x45, 0xdc, 0x36,
+ 0xac, 0x93, 0xf6, 0x7e, 0x5b, 0x2e, 0x6e, 0x0c, 0xb3, 0xc7, 0xd9, 0xf9,
+ 0x60, 0xd5, 0x7c, 0x4d, 0x2c, 0xd2, 0xa5, 0xe5, 0x21, 0xa4, 0x52, 0x55,
+ 0xa9, 0xe1, 0x98, 0x7f, 0x5b, 0x5d, 0xf6, 0x80, 0x2a, 0x72, 0xcf, 0x1c,
+ 0x63, 0x2b, 0x84, 0x4d, 0xba, 0x40, 0x87, 0xc3, 0x37, 0x89, 0xcc, 0xe7,
+ 0x8b, 0x2f, 0x5b, 0xc3, 0x69, 0xe3, 0x0a, 0x1f, 0x97, 0x5d, 0x30, 0x3e,
+ 0xa6, 0x97, 0xf9, 0x3d, 0x9b, 0xc0, 0x4d, 0x0d, 0x6c, 0x3a, 0x71, 0x7d,
+ 0x55, 0x66, 0x72, 0x76, 0x05, 0x4c, 0x60, 0xdb, 0x83, 0xc9, 0xac, 0xab,
+ 0x8e, 0x76, 0xd4, 0x50, 0x8d, 0xb7, 0x7f, 0xda, 0x90, 0xeb, 0xff, 0x51,
+ 0x5e, 0x15, 0xf4, 0x0f, 0xfa, 0x02, 0x7d, 0xe0, 0x8b, 0x83, 0x83, 0xe8,
+ 0xcc, 0x7b, 0xe7, 0xcb, 0x13, 0xd6, 0x19, 0x93, 0x30, 0x92, 0x14, 0x51,
+ 0x8f, 0xb7, 0xb5, 0x4c, 0xff, 0x11, 0xaa, 0xe6, 0x42, 0x37, 0x1b, 0xee,
+ 0x10, 0xf0, 0xc8, 0xbc, 0x57, 0x39, 0xfd, 0x2e, 0xca, 0x12, 0x73, 0x2b,
+ 0x1f, 0x16, 0x21, 0xb8, 0x85, 0xd1, 0xd5, 0xe8, 0x48, 0xfa, 0x17, 0xbf,
+ 0x45, 0xb1, 0xa0, 0xbb, 0x2f, 0x5e, 0x5c, 0xad, 0x2f, 0x33, 0xf0, 0xcd,
+ 0xe6, 0xb6, 0xd9, 0x7a, 0xd0, 0xca, 0xc9, 0x4b, 0xc1, 0x6e, 0x0a, 0x4e,
+ 0xb1, 0x6e, 0xbc, 0x64, 0x23, 0xd4, 0x2c, 0xb4, 0x54, 0x08, 0x4e, 0xc5,
+ 0x24, 0x4b, 0x49, 0x43, 0x5d, 0xdd, 0xba, 0x22, 0x56, 0x46, 0x07, 0xbc,
+ 0x69, 0x82, 0x7b, 0xe1, 0x2a, 0xed, 0x37, 0xac, 0xe0, 0x26, 0x9b, 0x7c,
+ 0xf1, 0x25, 0xf9, 0xb6, 0x6e, 0xd1, 0x3f, 0x80, 0xb5, 0x5a, 0xda, 0xba,
+ 0x3d, 0xb4, 0x13, 0x48, 0xbc, 0x45, 0x74, 0x07, 0x29, 0xab, 0xfe, 0x61,
+ 0xbd, 0x3a, 0x27, 0x6f, 0xc8, 0x79, 0x59, 0x6e, 0x1c, 0x51, 0x7d, 0x37,
+ 0xd8, 0x13, 0x2f, 0x99, 0x91, 0x53, 0xfc, 0x5c, 0x0d, 0x27, 0x13, 0x04,
+ 0xe4, 0x4c, 0x4b, 0x5c, 0xc6, 0x6a, 0xea, 0xc9, 0x43, 0x26, 0xfd, 0xcc,
+ 0x55, 0xe2, 0x7c, 0x31, 0x40, 0x99, 0x4f, 0xbc, 0x63, 0x8c, 0x5b, 0x03,
+ 0x5f, 0x47, 0x40, 0x20, 0xd1, 0x5f, 0xff, 0x68, 0x5f, 0xa7, 0xff, 0x98,
+ 0xdb, 0x0c, 0x44, 0xee, 0x0d, 0xab, 0xa1, 0x50, 0xa0, 0xbe, 0xb3, 0x87,
+ 0xf0, 0x93, 0x6d, 0x04, 0xb5, 0x3d, 0x60, 0x45, 0xfb, 0x8f, 0xdb, 0x70,
+ 0xe3, 0x6a, 0x90, 0x1a, 0xed, 0x99, 0xc0, 0xe3, 0x66, 0x65, 0xa0, 0xd6,
+ 0x52, 0x36, 0x26, 0xf7, 0x6f, 0xc2, 0xec, 0x7b, 0x26, 0x4e, 0x33, 0xd7,
+ 0xa9, 0xff, 0xb0, 0x65, 0x27, 0xff, 0xc3, 0x96, 0x9b, 0xfe, 0x0f, 0x5b,
+ 0x6e, 0x01, 0x3f, 0x6c, 0x11, 0x0c, 0x25, 0x2d, 0x22, 0x34, 0x88, 0x7f,
+ 0xea, 0xa1, 0x6f, 0xf3, 0x57, 0xdd, 0x47, 0xbd, 0x6f, 0x7a, 0x9f, 0xdc,
+ 0xda, 0xde, 0xb4, 0x69, 0x7e, 0x6c, 0x08, 0x75, 0x31, 0xdd, 0x3d, 0x34,
+ 0xec, 0xba, 0xb5, 0x4d, 0x6e, 0x5b, 0xc8, 0x38, 0x0b, 0x3a, 0x78, 0x7b,
+ 0x0f, 0xd0, 0x8e, 0xbb, 0xe6, 0x54, 0x5e, 0xd3, 0x05, 0x8b, 0x62, 0xa9,
+ 0xe7, 0xa0, 0xbd, 0x9f, 0x03, 0x79, 0x64, 0x5f, 0x0f, 0xe4, 0xcf, 0x7f,
+ 0x33, 0x5f, 0x80, 0xfe, 0x8f, 0x31, 0xe4, 0x56, 0x03, 0xc0, 0x46, 0xf2,
+ 0xf2, 0x90, 0x30, 0x5d, 0x70, 0xd4, 0x92, 0xc5, 0xdf, 0x9c, 0x2b, 0x8d,
+ 0x98, 0x24, 0x82, 0x5c, 0xfa, 0x65, 0x8e, 0x56, 0x65, 0x66, 0x55, 0x0b,
+ 0xb6, 0x50, 0xf7, 0x48, 0x2a, 0x20, 0xf7, 0x15, 0x1d, 0xc4, 0x6a, 0x98,
+ 0xe8, 0x62, 0xbc, 0x4a, 0x1f, 0x36, 0xde, 0x87, 0x7e, 0x92, 0x26, 0x45,
+ 0x7c, 0x51, 0x56, 0xf5, 0x17, 0x5b, 0x15, 0x75, 0x7e, 0x4d, 0x2e, 0x2b,
+ 0xa3, 0xc1, 0xfe, 0x91, 0x48, 0x6b, 0x6d, 0x0e, 0xcb, 0xdd, 0xd3, 0xdb,
+ 0xe1, 0xf2, 0xce, 0xcc, 0x7b, 0xfb, 0x27, 0x51, 0x86, 0xc7, 0xd2, 0x66,
+ 0x88, 0xd2, 0x1b, 0xe6, 0xb8, 0x4c, 0xba, 0x79, 0x0a, 0x7c, 0x75, 0xbd,
+ 0x4b, 0x29, 0xbf, 0xff, 0x22, 0x06, 0x73, 0x17, 0x2c, 0xc4, 0xe3, 0xbc,
+ 0x30, 0xd5, 0xbe, 0x38, 0xfb, 0xe6, 0x8f, 0x3a, 0xc0, 0x0f, 0x5b, 0xdf,
+ 0x0f, 0xf9, 0xa7, 0xa8, 0x17, 0x7e, 0x9e, 0x9c, 0x7d, 0x43, 0xd4, 0xfd,
+ 0xd3, 0x18, 0xd8, 0xa6, 0x0f, 0x7c, 0xc9, 0x7f, 0x01, 0x65, 0x6f, 0x1a,
+ 0xf6, 0xc2, 0xe5, 0x49, 0x7c, 0x41, 0x0d, 0x8c, 0x51, 0x67, 0x04, 0x2b,
+ 0x7c, 0xb5, 0xa2, 0xca, 0x21, 0xad, 0x8f, 0x6d, 0xb8, 0x3e, 0x16, 0x51,
+ 0xa3, 0x74, 0x52, 0x72, 0x8a, 0x74, 0x13, 0x62, 0x63, 0x03, 0x9b, 0x17,
+ 0x67, 0x2b, 0xbe, 0xab, 0x15, 0x1c, 0x17, 0x50, 0x87, 0xdb, 0x69, 0x06,
+ 0xed, 0x5a, 0xc6, 0x41, 0x72, 0x1c, 0x69, 0x82, 0xe0, 0xc0, 0x8d, 0xf8,
+ 0x6f, 0xd0, 0xcb, 0x6c, 0x6f, 0x6e, 0x6a, 0xa8, 0x96, 0x56, 0x99, 0x76,
+ 0xc8, 0x91, 0x9e, 0x7e, 0x08, 0x30, 0x19, 0x82, 0x89, 0x84, 0x02, 0x24,
+ 0x3a, 0x29, 0x89, 0xe8, 0xf3, 0x72, 0x21, 0x5d, 0xdc, 0x6b, 0x43, 0xf5,
+ 0x7c, 0xc0, 0xb6, 0x8d, 0x9e, 0xd1, 0x38, 0x68, 0x2b, 0x24, 0x52, 0x21,
+ 0x9f, 0x8d, 0xa8, 0x1c, 0x12, 0x4d, 0x64, 0x6f, 0x9c, 0x34, 0x6d, 0x03,
+ 0x60, 0x18, 0x13, 0xfe, 0x1f, 0xc9, 0xe8, 0x9f, 0x64, 0x70, 0x3e, 0xd9,
+ 0xaa, 0xcc, 0xa1, 0x38, 0x87, 0x23, 0x1e, 0x9c, 0xc4, 0xde, 0x1b, 0xbd,
+ 0x38, 0x9c, 0x06, 0xa1, 0xa5, 0x9a, 0x94, 0x27, 0xf6, 0x35, 0xa9, 0x84,
+ 0x92, 0xc8, 0xae, 0x9d, 0x6d, 0x48, 0xbc, 0xc4, 0x17, 0x8b, 0x3b, 0xac,
+ 0x6a, 0x44, 0x78, 0xdb, 0x92, 0xdf, 0x89, 0x2f, 0x59, 0x1f, 0x4b, 0x45,
+ 0xdf, 0x92, 0xc3, 0x1a, 0x05, 0x2f, 0x7c, 0x2f, 0x49, 0x41, 0xc3, 0x83,
+ 0xe7, 0x5e, 0x97, 0x22, 0xfe, 0x59, 0x7c, 0x78, 0x1f, 0x04, 0x46, 0x03,
+ 0xc4, 0xb5, 0x6c, 0xff, 0x86, 0xf1, 0x0f, 0xed, 0xf8, 0x9f, 0x45, 0x70,
+ 0x57, 0x18, 0x19, 0x25, 0xfe, 0xd9, 0x0b, 0x97, 0x04, 0xa8, 0x5e, 0x54,
+ 0xeb, 0xc9, 0x68, 0xf9, 0x10, 0x14, 0xf2, 0x99, 0x31, 0x59, 0x38, 0xdc,
+ 0x10, 0x36, 0x79, 0x60, 0xb8, 0x4a, 0x98, 0x81, 0x58, 0x87, 0xd9, 0xc6,
+ 0xae, 0x89, 0xc8, 0xa2, 0x5e, 0x08, 0xab, 0x5c, 0x12, 0x04, 0xeb, 0xec,
+ 0xb9, 0xeb, 0x79, 0xc9, 0x20, 0x12, 0xb9, 0x9f, 0x5f, 0xef, 0xea, 0x68,
+ 0x83, 0xb2, 0xc6, 0x16, 0xc0, 0x71, 0xf0, 0x29, 0xc3, 0x8a, 0x19, 0x7a,
+ 0xc9, 0x6b, 0xc8, 0xb8, 0xbd, 0xb3, 0x2d, 0x4e, 0x15, 0xfa, 0x10, 0xb5,
+ 0x8a, 0x44, 0x22, 0x14, 0x8a, 0xb1, 0x53, 0x60, 0x66, 0x88, 0x2f, 0x67,
+ 0x18, 0xd1, 0x3a, 0x9e, 0x83, 0xb5, 0xdb, 0x3b, 0xc1, 0x40, 0x41, 0xc0,
+ 0x09, 0x52, 0xbb, 0x99, 0x41, 0xbd, 0x5a, 0xe0, 0x40, 0xa1, 0x91, 0xec,
+ 0x6d, 0xb1, 0x0c, 0xc6, 0xb6, 0xa9, 0xcb, 0x56, 0x4c, 0x93, 0xed, 0x2f,
+ 0x76, 0xb7, 0xed, 0xd2, 0xfa, 0xcd, 0xa2, 0xa0, 0xe3, 0xa3, 0x06, 0x21,
+ 0x6d, 0x1f, 0x58, 0x78, 0x96, 0x96, 0x94, 0xfb, 0x90, 0x0d, 0x71, 0xa0,
+ 0x51, 0x04, 0xbd, 0xba, 0x11, 0x6f, 0x27, 0x12, 0xcb, 0x71, 0x3b, 0x19,
+ 0xeb, 0x85, 0x49, 0x3c, 0x5d, 0x34, 0x94, 0xaa, 0x8f, 0x62, 0x0a, 0x46,
+ 0xfb, 0xab, 0x9f, 0x7b, 0xfa, 0x78, 0xe4, 0x7a, 0x52, 0x20, 0x07, 0x4d,
+ 0x14, 0xc4, 0x25, 0xe2, 0x79, 0x34, 0x36, 0xa9, 0xde, 0xdb, 0x5f, 0xec,
+ 0xb0, 0xc0, 0x72, 0xfe, 0x34, 0xef, 0xdb, 0xdb, 0xc9, 0x0f, 0xf1, 0xba,
+ 0xd6, 0x84, 0xdf, 0xf5, 0x2c, 0x04, 0x21, 0xdb, 0xfb, 0xde, 0x48, 0x5e,
+ 0x4c, 0xca, 0xd9, 0xdd, 0x9f, 0x10, 0x76, 0x92, 0x57, 0x5e, 0xec, 0xe1,
+ 0x47, 0x1d, 0x95, 0xb9, 0x6f, 0x20, 0x8c, 0x62, 0x8e, 0x0a, 0x7f, 0x7e,
+ 0x49, 0x8f, 0xab, 0xc5, 0xb0, 0x9d, 0x8c, 0x46, 0x86, 0x09, 0xd5, 0x4b,
+ 0xb4, 0xe3, 0xda, 0x20, 0x58, 0x18, 0xef, 0x0e, 0x22, 0x96, 0x94, 0x14,
+ 0x81, 0x2c, 0x81, 0x67, 0x47, 0xad, 0x6c, 0x76, 0x42, 0xf2, 0xaf, 0xaa,
+ 0x2f, 0x46, 0xc9, 0x4b, 0x9b, 0x25, 0x93, 0x45, 0x30, 0xb2, 0xe9, 0x1a,
+ 0xb3, 0xec, 0xf0, 0x4a, 0xc2, 0x3f, 0x9f, 0xe4, 0xe2, 0x66, 0x9f, 0x95,
+ 0x2d, 0xdc, 0x4d, 0xc6, 0x74, 0x30, 0xc2, 0x3d, 0x8e, 0x94, 0x36, 0x2d,
+ 0x2b, 0x8e, 0x11, 0xb1, 0x3b, 0xdd, 0xda, 0x2f, 0x32, 0xb5, 0xe1, 0xb1,
+ 0x00, 0x73, 0x29, 0x1b, 0x1d, 0x24, 0x4f, 0xed, 0x97, 0x22, 0x58, 0xf5,
+ 0x6c, 0xf1, 0xd7, 0xc9, 0xe7, 0x43, 0x7a, 0xca, 0xeb, 0x16, 0x2b, 0x74,
+ 0xdf, 0xce, 0xe0, 0x18, 0x88, 0x52, 0x38, 0x44, 0x62, 0x52, 0xa4, 0x20,
+ 0x07, 0x92, 0x60, 0x92, 0xd6, 0xd9, 0x93, 0x47, 0xaa, 0x5e, 0xf2, 0x2e,
+ 0xd5, 0xea, 0xbf, 0x6d, 0x39, 0x61, 0x59, 0x0e, 0x79, 0x0b, 0xea, 0x5e,
+ 0x04, 0x14, 0x16, 0x93, 0x72, 0x46, 0xcd, 0xbf, 0x38, 0x07, 0x97, 0xa4,
+ 0xa9, 0x51, 0x24, 0x2f, 0x1b, 0x54, 0x14, 0x3d, 0x7d, 0xe2, 0x4d, 0xfa,
+ 0x1e, 0x77, 0x45, 0x87, 0x93, 0xca, 0x0a, 0xbb, 0x2b, 0x52, 0x7b, 0xdd,
+ 0x7c, 0x37, 0xb8, 0x97, 0xe4, 0xeb, 0x60, 0xe0, 0x31, 0x59, 0xa3, 0x75,
+ 0x30, 0xde, 0x77, 0x8d, 0xfc, 0x4b, 0xf0, 0x47, 0x25, 0x9c, 0xee, 0xa7,
+ 0x37, 0x12, 0xb5, 0x67, 0x22, 0xe9, 0xfb, 0x3c, 0x09, 0x26, 0xec, 0xfb,
+ 0xe9, 0x9a, 0x82, 0x08, 0xf3, 0x75, 0x05, 0xe9, 0x23, 0x8f, 0xb1, 0x92,
+ 0xa0, 0x75, 0x4a, 0xa2, 0xa7, 0xbf, 0x7d, 0xf9, 0xee, 0xc3, 0xcb, 0xd3,
+ 0x87, 0x77, 0x05, 0x6a, 0x35, 0x9a, 0xbb, 0x27, 0x07, 0xd6, 0x07, 0x33,
+ 0xe8, 0x40, 0xfd, 0xc4, 0xa1, 0x0c, 0x82, 0xa8, 0x03, 0x41, 0x1b, 0x74,
+ 0xb3, 0xf5, 0xa8, 0x68, 0x8c, 0xe8, 0x8a, 0x92, 0x44, 0xe2, 0x10, 0x40,
+ 0x9c, 0xe7, 0x2b, 0x21, 0x72, 0x2f, 0x73, 0x33, 0xad, 0xa5, 0x27, 0xe3,
+ 0x96, 0xbe, 0x4f, 0xaf, 0x6f, 0x49, 0xf2, 0xb8, 0xad, 0x13, 0x8f, 0x51,
+ 0xb9, 0xad, 0x6d, 0xb7, 0xa9, 0x57, 0xda, 0xd4, 0x5a, 0x04, 0x5a, 0xcb,
+ 0xfb, 0x56, 0xce, 0xe7, 0x2e, 0x7b, 0xb6, 0x1b, 0xe1, 0x7b, 0xf5, 0xaa,
+ 0xbf, 0xe4, 0xf6, 0xd7, 0x44, 0x4b, 0xed, 0x64, 0xa4, 0x63, 0x1b, 0x1d,
+ 0x77, 0x1f, 0x36, 0x25, 0x57, 0xa3, 0xbf, 0x90, 0xb9, 0xc5, 0x77, 0xd5,
+ 0x4c, 0xd0, 0x47, 0x0e, 0x50, 0x15, 0x17, 0xed, 0x66, 0xc7, 0xc7, 0xef,
+ 0xb1, 0x59, 0xe7, 0x2f, 0xc7, 0x63, 0x2b, 0x0b, 0x6b, 0x49, 0x4b, 0x18,
+ 0x04, 0xc6, 0x18, 0xd4, 0x48, 0xbf, 0xed, 0xc9, 0x28, 0xb1, 0x9d, 0x62,
+ 0x25, 0x9d, 0x13, 0xb1, 0x1f, 0x63, 0xf3, 0x5d, 0xac, 0x97, 0xe6, 0xc2,
+ 0x18, 0x8d, 0x77, 0xb6, 0x5d, 0x4b, 0x28, 0xb6, 0x4b, 0x78, 0xc4, 0xb9,
+ 0x44, 0x93, 0xc2, 0x59, 0x13, 0xed, 0xd1, 0xd9, 0x8f, 0x35, 0x86, 0x44,
+ 0x5c, 0x9e, 0x83, 0xd7, 0x3e, 0xc4, 0xed, 0x20, 0xee, 0x4c, 0xdf, 0x1a,
+ 0x9f, 0x5c, 0x1c, 0x9b, 0xed, 0xfb, 0x70, 0xf1, 0xf5, 0x96, 0xa4, 0x2e,
+ 0x74, 0x51, 0x30, 0xe0, 0xb4, 0xa7, 0x16, 0xaf, 0xd7, 0xb6, 0x5a, 0xb6,
+ 0x62, 0x47, 0x8a, 0xb1, 0x16, 0x62, 0x1a, 0xb8, 0xfb, 0xe8, 0x68, 0xc3,
+ 0x29, 0x3d, 0x1e, 0x3d, 0xee, 0x9e, 0x52, 0x3f, 0x5c, 0x35, 0x03, 0x18,
+ 0x07, 0xe4, 0x2e, 0xa8, 0xc8, 0x94, 0x3d, 0xb5, 0xe7, 0x9a, 0xa7, 0x20,
+ 0xc8, 0x06, 0x74, 0x9d, 0x94, 0x4b, 0xe1, 0x03, 0xf4, 0x3c, 0x85, 0x12,
+ 0xf4, 0xe2, 0xe2, 0xc0, 0x6e, 0xb6, 0x70, 0x43, 0xe2, 0xed, 0xe5, 0x70,
+ 0xa8, 0x39, 0xb1, 0xb4, 0x9a, 0xd9, 0xb2, 0xd0, 0x50, 0x3f, 0xd4, 0x5c,
+ 0x3f, 0x6a, 0xc9, 0x64, 0x48, 0x40, 0x5b, 0xb2, 0xb4, 0xaa, 0x75, 0xc3,
+ 0xde, 0x0a, 0x2e, 0x9f, 0x2f, 0x0e, 0xa6, 0x0d, 0x2f, 0x3a, 0xba, 0xb4,
+ 0x58, 0x54, 0xe8, 0x8d, 0xd9, 0x8f, 0x71, 0xfc, 0x67, 0xda, 0x57, 0xc9,
+ 0x17, 0x79, 0xc1, 0x7f, 0xc6, 0xe9, 0x1d, 0x22, 0xb7, 0x2a, 0x17, 0xec,
+ 0x40, 0x94, 0x37, 0x38, 0x89, 0x93, 0x8b, 0x5d, 0xa4, 0x0e, 0xa3, 0x42,
+ 0xc2, 0xa1, 0x84, 0x68, 0xd0, 0xd4, 0x3c, 0x6c, 0xbb, 0xb5, 0x33, 0xde,
+ 0xb5, 0x9e, 0xd6, 0x0b, 0x44, 0x14, 0x31, 0x5a, 0xa4, 0x8a, 0xc9, 0x43,
+ 0x56, 0x14, 0xf5, 0x32, 0x86, 0xee, 0xe3, 0xdd, 0xde, 0xd0, 0x62, 0x02,
+ 0xa3, 0x9e, 0xde, 0xcc, 0x7a, 0xb0, 0xea, 0xe0, 0xd6, 0x42, 0x12, 0x19,
+ 0x6c, 0x40, 0xae, 0x99, 0x7a, 0xf5, 0xdd, 0x6b, 0xaf, 0xd9, 0x8e, 0xe6,
+ 0xa9, 0x31, 0xbd, 0x88, 0x42, 0xda, 0x87, 0x06, 0x97, 0xb9, 0x64, 0xcb,
+ 0x11, 0x82, 0xaa, 0xb3, 0x2c, 0x5b, 0x59, 0x68, 0xf3, 0x1c, 0x35, 0x36,
+ 0x79, 0x8d, 0x20, 0xaa, 0xc0, 0xca, 0xa3, 0x9d, 0x5c, 0xcf, 0xec, 0x84,
+ 0x75, 0x68, 0x8b, 0x48, 0xd8, 0x3b, 0xd4, 0x3c, 0x8c, 0xc2, 0xb8, 0x07,
+ 0x4f, 0x8f, 0x3e, 0x37, 0xb2, 0xf9, 0x0e, 0x58, 0xe3, 0x6e, 0xcb, 0x18,
+ 0x0b, 0xb8, 0x1f, 0xe7, 0x4f, 0x8c, 0x1a, 0x4d, 0xef, 0x15, 0x38, 0x85,
+ 0xa4, 0x26, 0x33, 0x02, 0x0e, 0x2a, 0x29, 0x6e, 0x0e, 0xb1, 0x68, 0xcc,
+ 0x26, 0xca, 0x86, 0x49, 0xd2, 0x1d, 0xf6, 0x89, 0x13, 0xc4, 0x46, 0x1e,
+ 0x01, 0x53, 0x83, 0x12, 0xea, 0xa4, 0x66, 0x58, 0xca, 0xfb, 0xe3, 0x8b,
+ 0xf7, 0xe6, 0x8f, 0xf1, 0xc5, 0xd9, 0xfb, 0x1e, 0x64, 0xc6, 0x86, 0x61,
+ 0x3a, 0x68, 0xd3, 0x34, 0x5d, 0x05, 0xdb, 0xdc, 0x46, 0x6d, 0x43, 0x26,
+ 0x34, 0xb3, 0x9d, 0x3a, 0x0a, 0xf4, 0xe5, 0xe1, 0x7d, 0xd5, 0xa3, 0xd6,
+ 0x42, 0xe7, 0x46, 0x3e, 0x6c, 0x5c, 0x18, 0x9f, 0xf9, 0x66, 0x0a, 0xc1,
+ 0x82, 0x89, 0x18, 0x69, 0xc5, 0x96, 0xd1, 0x63, 0xb6, 0xc6, 0x68, 0x23,
+ 0xe7, 0xbf, 0x83, 0xb1, 0xd7, 0xf6, 0xd4, 0x3d, 0x68, 0x86, 0x9c, 0x9a,
+ 0xcb, 0xcd, 0x59, 0x5c, 0xb7, 0x76, 0xc3, 0x69, 0x15, 0x0a, 0x60, 0x2b,
+ 0xd9, 0x81, 0x03, 0x59, 0xf4, 0x92, 0x7b, 0xe8, 0xd7, 0xe8, 0x42, 0xbb,
+ 0x6e, 0xc1, 0x75, 0xb9, 0xcc, 0xd8, 0xc3, 0xcf, 0xc9, 0xb9, 0xca, 0x9c,
+ 0x58, 0xb6, 0x30, 0x2e, 0x6d, 0x12, 0xc3, 0xc3, 0xb0, 0x10, 0x62, 0x74,
+ 0xca, 0xdb, 0x16, 0x51, 0xa0, 0x14, 0xea, 0xe0, 0x73, 0xc9, 0x8c, 0xa5,
+ 0xda, 0x00, 0x9b, 0x6d, 0x5b, 0x67, 0xe5, 0x61, 0x8b, 0xb5, 0x99, 0xf7,
+ 0x41, 0x97, 0xc9, 0x10, 0x28, 0x43, 0x9c, 0xb3, 0xa0, 0x8f, 0x9e, 0x16,
+ 0xd7, 0x23, 0xd1, 0x4a, 0x73, 0x6c, 0xa0, 0x4b, 0xf8, 0xfd, 0x43, 0xcf,
+ 0xe5, 0xa9, 0x68, 0x58, 0x0d, 0xd5, 0x8b, 0x04, 0xe6, 0x61, 0x69, 0x5b,
+ 0x8e, 0x9c, 0x43, 0x34, 0xeb, 0x2e, 0xd3, 0x6d, 0xe9, 0x73, 0x21, 0x9b,
+ 0x55, 0xa5, 0x2d, 0x71, 0x1d, 0x99, 0x02, 0x34, 0x8a, 0xde, 0xb6, 0x5f,
+ 0x7d, 0x28, 0xd1, 0x5d, 0x0d, 0x06, 0xe9, 0x56, 0xce, 0xc9, 0x80, 0x1e,
+ 0xd9, 0x51, 0x04, 0x9d, 0xe4, 0x43, 0x21, 0xc8, 0x31, 0x85, 0xb1, 0x2d,
+ 0x90, 0xff, 0x30, 0xb3, 0x9b, 0x46, 0x80, 0x4a, 0x94, 0xb6, 0xc5, 0x42,
+ 0x6b, 0x56, 0xb2, 0x42, 0x0f, 0x4c, 0xe7, 0x10, 0x22, 0x0c, 0x3e, 0x64,
+ 0x64, 0x13, 0xa8, 0xa4, 0x91, 0xf1, 0x9c, 0x5d, 0x32, 0x6d, 0xba, 0x2b,
+ 0x05, 0xca, 0x43, 0xb0, 0xd0, 0x73, 0xff, 0xd0, 0x98, 0xa5, 0xc1, 0xfa,
+ 0x71, 0xbc, 0xa0, 0x61, 0xb0, 0x05, 0x46, 0x54, 0x50, 0xaf, 0x80, 0xc0,
+ 0x5a, 0x14, 0xd1, 0xd2, 0x2c, 0x86, 0xb4, 0x58, 0x17, 0x0b, 0xca, 0x11,
+ 0x6f, 0x43, 0x45, 0xa8, 0x1a, 0x38, 0xda, 0x50, 0xc5, 0xea, 0x23, 0x4b,
+ 0xb4, 0x48, 0xb2, 0x5d, 0xaf, 0xdf, 0x5e, 0x5d, 0x6f, 0xe5, 0x2f, 0x08,
+ 0xf4, 0x3d, 0x1d, 0x99, 0x22, 0x52, 0x2a, 0x6d, 0xe5, 0x45, 0x4e, 0x48,
+ 0x42, 0x65, 0xb5, 0x47, 0x55, 0x2a, 0x84, 0xd9, 0x67, 0xac, 0xca, 0x72,
+ 0x81, 0xd6, 0x3e, 0xaa, 0xba, 0xc5, 0x1a, 0x32, 0x43, 0x05, 0x63, 0x0c,
+ 0x1e, 0x33, 0x78, 0xbb, 0x72, 0xdf, 0x6b, 0x56, 0x47, 0xd2, 0xd4, 0x83,
+ 0x8d, 0x18, 0xc5, 0xda, 0xc1, 0x71, 0x46, 0x08, 0x32, 0x1e, 0xdb, 0xea,
+ 0x98, 0xb6, 0x26, 0xd5, 0xe6, 0x22, 0x38, 0x57, 0xa8, 0x7c, 0xc8, 0xbf,
+ 0xef, 0xa9, 0xe5, 0xd3, 0xc6, 0x2e, 0x00, 0x87, 0x32, 0xbb, 0x32, 0xe0,
+ 0xec, 0x90, 0xf6, 0xcd, 0x84, 0xe5, 0xd0, 0xfe, 0x5a, 0x9d, 0x35, 0xeb,
+ 0x55, 0x28, 0xe7, 0x5d, 0xf5, 0xa9, 0x1d, 0x51, 0x83, 0xa2, 0xde, 0x14,
+ 0x09, 0x55, 0xc1, 0x6d, 0xbf, 0x8f, 0xce, 0xdf, 0xbd, 0x8d, 0xd0, 0x04,
+ 0x02, 0xe9, 0xde, 0x87, 0x04, 0xa0, 0xe2, 0x85, 0x1a, 0x04, 0x27, 0x5b,
+ 0x46, 0xbf, 0xd8, 0xdf, 0x62, 0xa0, 0x05, 0x29, 0xdb, 0xe2, 0x28, 0xbb,
+ 0x7d, 0xdb, 0xec, 0x8b, 0x37, 0xdf, 0xf0, 0xce, 0x68, 0x3d, 0x8a, 0x94,
+ 0x2c, 0xd2, 0xe9, 0xec, 0x50, 0x2f, 0x7a, 0xdc, 0xdf, 0xdd, 0xcf, 0x7a,
+ 0x97, 0xbe, 0x61, 0x56, 0x5b, 0x07, 0xcf, 0x0e, 0x47, 0x07, 0x4f, 0x3e,
+ 0x1f, 0x1d, 0xa0, 0x93, 0xad, 0x37, 0x37, 0xd7, 0x71, 0xd5, 0x1b, 0x28,
+ 0xd2, 0xcf, 0x37, 0xe9, 0x47, 0xf4, 0xe5, 0x2f, 0x2c, 0xef, 0x46, 0xf4,
+ 0xdc, 0x88, 0xbb, 0xea, 0x04, 0xdf, 0x58, 0x1a, 0x9d, 0x26, 0x2f, 0x82,
+ 0x38, 0xc8, 0xd0, 0x65, 0x15, 0x31, 0x2d, 0xae, 0x72, 0x22, 0x23, 0x45,
+ 0xd9, 0xf4, 0xf6, 0x49, 0x1b, 0x02, 0xda, 0x06, 0x27, 0xb8, 0x9d, 0xf1,
+ 0x19, 0x29, 0x4b, 0x9f, 0x8a, 0x1a, 0xe9, 0xb8, 0xba, 0xfd, 0x7e, 0xc0,
+ 0x36, 0x7f, 0xb2, 0xd5, 0x47, 0x10, 0x2e, 0xf6, 0xd2, 0x75, 0x61, 0xba,
+ 0x00, 0xf1, 0xd4, 0x45, 0x09, 0x12, 0xd0, 0x17, 0x7e, 0x50, 0x35, 0x6e,
+ 0x1b, 0x10, 0xf7, 0x85, 0x0c, 0xc0, 0x8f, 0x5c, 0x25, 0x8e, 0x5f, 0x49,
+ 0x8c, 0x91, 0x6d, 0x9d, 0x68, 0x07, 0xce, 0xc9, 0xc2, 0x2c, 0x31, 0x93,
+ 0xd6, 0xe1, 0xe8, 0x9d, 0x3f, 0xfc, 0xc1, 0x71, 0x24, 0x6e, 0xab, 0x8e,
+ 0x5e, 0x1e, 0x8f, 0x01, 0xd5, 0xca, 0xb1, 0x6a, 0xee, 0x0a, 0xb0, 0xf5,
+ 0xfc, 0xaf, 0x70, 0x0e, 0xff, 0x38, 0xfc, 0xab, 0xf9, 0xe7, 0x8f, 0x5b,
+ 0x7a, 0xa9, 0x19, 0x96, 0xcb, 0x15, 0x8c, 0x38, 0xf8, 0x43, 0x1c, 0xd0,
+ 0x20, 0x69, 0xb7, 0xa5, 0x85, 0x66, 0x70, 0xf1, 0xea, 0x9c, 0x2f, 0x63,
+ 0xc5, 0x61, 0x6f, 0x50, 0x33, 0xf1, 0x21, 0xa8, 0xf5, 0xc4, 0xc2, 0xd1,
+ 0x51, 0x83, 0xe9, 0xc4, 0xee, 0xa5, 0xf7, 0xca, 0xc0, 0x25, 0x35, 0xdc,
+ 0x30, 0x07, 0x48, 0x8d, 0x7e, 0x7b, 0x49, 0xfe, 0x15, 0x2e, 0x49, 0x37,
+ 0x7c, 0x57, 0x15, 0x69, 0xe9, 0x18, 0x4c, 0xc0, 0x5e, 0x86, 0x0d, 0xd8,
+ 0xeb, 0x70, 0x63, 0xa6, 0x34, 0x48, 0x04, 0xfe, 0x96, 0x6b, 0x23, 0x1a,
+ 0xc1, 0x52, 0x34, 0xdb, 0x60, 0x36, 0x4a, 0xb9, 0x6d, 0x95, 0xd7, 0x9f,
+ 0x68, 0x7d, 0x52, 0xe6, 0xe3, 0xe5, 0x0a, 0xd1, 0x7c, 0x3e, 0xb3, 0x5a,
+ 0xdf, 0x9d, 0x42, 0xd6, 0xd8, 0xc2, 0x3d, 0x6f, 0x67, 0x9d, 0x74, 0xd0,
+ 0x63, 0x57, 0x20, 0xca, 0x28, 0xec, 0x96, 0x3c, 0x56, 0x65, 0x0f, 0x40,
+ 0x83, 0x93, 0x54, 0x98, 0x73, 0xa3, 0xe7, 0x5a, 0xd2, 0xf0, 0xa0, 0x99,
+ 0xa8, 0xa4, 0x9d, 0x88, 0x85, 0xa4, 0xdf, 0x6e, 0x57, 0x6a, 0x51, 0x87,
+ 0x1a, 0x72, 0x14, 0x33, 0x3c, 0x94, 0xc5, 0x37, 0x43, 0xcf, 0x2c, 0x2a,
+ 0x9f, 0xa8, 0xcc, 0x34, 0x66, 0x03, 0xad, 0xcd, 0xe7, 0x9b, 0x41, 0x41,
+ 0x5e, 0xd5, 0xe9, 0x3e, 0x8b, 0xda, 0x0a, 0xb8, 0x68, 0x4e, 0x19, 0x5d,
+ 0xb0, 0x4f, 0x9d, 0x36, 0x1f, 0xbb, 0x4e, 0x7f, 0x1a, 0x6e, 0xad, 0x1d,
+ 0xd5, 0x6e, 0x0a, 0xb4, 0x47, 0x4e, 0x42, 0x83, 0x06, 0xd3, 0x5f, 0xc6,
+ 0x20, 0x7a, 0x3d, 0xa1, 0x7a, 0xb8, 0x1f, 0xba, 0x52, 0xa8, 0xe9, 0x33,
+ 0x36, 0x79, 0x98, 0xaf, 0xee, 0xdf, 0x40, 0x85, 0xf9, 0xa2, 0x23, 0x6d,
+ 0x71, 0x16, 0x2b, 0x61, 0xea, 0xf5, 0xe5, 0x25, 0x30, 0x31, 0xc2, 0xcc,
+ 0x3c, 0x54, 0x2c, 0x4a, 0xe1, 0x80, 0xf4, 0x33, 0x30, 0x8c, 0x1c, 0x33,
+ 0xd7, 0xdd, 0x70, 0x65, 0x91, 0xc2, 0x70, 0x6a, 0xd7, 0x99, 0xa4, 0xb7,
+ 0x74, 0x96, 0x7a, 0xd9, 0xc9, 0xf5, 0x76, 0x9a, 0x4c, 0x95, 0x0d, 0x75,
+ 0xa2, 0x5d, 0x3e, 0x48, 0xa9, 0x41, 0x41, 0x06, 0x2c, 0x73, 0x44, 0xf8,
+ 0x1a, 0xfa, 0x79, 0xdf, 0x46, 0x77, 0x23, 0x79, 0xd8, 0xa8, 0x3f, 0x0e,
+ 0xc3, 0xf1, 0xe4, 0x73, 0x01, 0xf1, 0x63, 0x14, 0xb6, 0xca, 0xa2, 0x5a,
+ 0xb1, 0x5e, 0x29, 0xfc, 0xa8, 0x2b, 0x35, 0xe7, 0xd8, 0x8e, 0x4d, 0x7e,
+ 0x01, 0xc7, 0x0a, 0x7d, 0x6d, 0xe9, 0xd1, 0xe8, 0x30, 0x38, 0xd8, 0x7a,
+ 0x31, 0x9c, 0x4e, 0xa7, 0x43, 0xe8, 0x01, 0x2f, 0x58, 0x39, 0xd9, 0x13,
+ 0xe5, 0xa0, 0xc7, 0x67, 0x30, 0xce, 0x64, 0xbf, 0x5f, 0xbd, 0x7a, 0x25,
+ 0x7a, 0xcc, 0xc5, 0x55, 0x47, 0xa3, 0xb0, 0x80, 0x53, 0xa2, 0x51, 0xc5,
+ 0xda, 0x1c, 0xd6, 0x57, 0xeb, 0x66, 0x86, 0x6e, 0xc8, 0xc4, 0x32, 0x94,
+ 0xf5, 0xda, 0x1a, 0xd9, 0x0e, 0x2a, 0x28, 0x35, 0xa5, 0x1f, 0xb8, 0xcc,
+ 0x44, 0x33, 0x76, 0x70, 0x34, 0x2b, 0x6e, 0x80, 0x82, 0x17, 0x65, 0xec,
+ 0x6e, 0x8b, 0x55, 0x9e, 0xaa, 0x0f, 0xdd, 0xa5, 0x13, 0xac, 0x63, 0x99,
+ 0x6c, 0x3a, 0x0a, 0x3e, 0x9b, 0xe6, 0x92, 0x01, 0x96, 0xca, 0xb7, 0xba,
+ 0x63, 0xdf, 0x73, 0x1e, 0xb2, 0xd5, 0xed, 0x23, 0x79, 0xd2, 0x7b, 0x24,
+ 0xd1, 0xcd, 0x27, 0xab, 0x8a, 0xb6, 0x7d, 0xe7, 0x15, 0x10, 0x45, 0x5f,
+ 0xc9, 0x85, 0x78, 0x75, 0x45, 0xf9, 0x5b, 0x0b, 0x3a, 0x1c, 0x33, 0xe5,
+ 0x9a, 0x99, 0x80, 0xc8, 0x8f, 0xf1, 0xf8, 0x74, 0xef, 0xe2, 0x74, 0x1c,
+ 0x64, 0xbc, 0xdf, 0x91, 0xcb, 0x98, 0x9b, 0x68, 0xb7, 0x5c, 0x9e, 0xbc,
+ 0x45, 0x00, 0x87, 0x2e, 0xe7, 0x6d, 0x0a, 0xe7, 0xaf, 0x44, 0xf1, 0x4e,
+ 0xd6, 0x85, 0x16, 0xc3, 0x58, 0xd9, 0x5d, 0x64, 0x05, 0x8a, 0xc8, 0x49,
+ 0x84, 0xe3, 0x06, 0x20, 0x21, 0xb6, 0x4e, 0xde, 0xbd, 0xbc, 0xa0, 0xf2,
+ 0x96, 0x46, 0x52, 0x3c, 0xc8, 0x05, 0x14, 0x7a, 0xc6, 0x6f, 0x2c, 0x2e,
+ 0x01, 0xa2, 0x36, 0xe9, 0xd4, 0x35, 0x43, 0x51, 0x65, 0x9d, 0x8f, 0xaf,
+ 0x56, 0xc2, 0xdb, 0xb4, 0xfd, 0x66, 0x4b, 0x45, 0x3a, 0x74, 0x69, 0xbe,
+ 0x7b, 0x1a, 0x07, 0xd1, 0xd3, 0xe0, 0x0d, 0x88, 0x5f, 0x87, 0xf7, 0xc2,
+ 0xca, 0x75, 0xa3, 0xa5, 0x8a, 0x5f, 0xa7, 0xbf, 0x28, 0x2f, 0x73, 0xf2,
+ 0x04, 0xe2, 0xbc, 0xfc, 0xc0, 0x5b, 0xe0, 0x26, 0xe5, 0xdd, 0xa9, 0xb9,
+ 0x14, 0xa7, 0x0d, 0x60, 0xcb, 0x57, 0x84, 0xe4, 0x84, 0xdd, 0x53, 0xdb,
+ 0x87, 0x49, 0x4b, 0x20, 0xc3, 0x0a, 0x43, 0x60, 0xe7, 0xe5, 0x53, 0x63,
+ 0x22, 0x4c, 0x29, 0xfb, 0x03, 0xe5, 0x80, 0x75, 0x3b, 0xc5, 0x36, 0x6f,
+ 0xc1, 0xf2, 0xa9, 0x87, 0xb4, 0x0e, 0x63, 0x15, 0xd0, 0x14, 0x64, 0x85,
+ 0x1b, 0xfd, 0xf0, 0x4f, 0x5a, 0xc2, 0xe3, 0x2b, 0xb2, 0xc8, 0x2e, 0x03,
+ 0xa1, 0x6b, 0x51, 0x28, 0x22, 0xc8, 0x7f, 0x50, 0x51, 0x51, 0xde, 0x2f,
+ 0xbd, 0x8d, 0x7d, 0x48, 0xf7, 0x4d, 0xe8, 0xdd, 0x83, 0x6e, 0x3b, 0x33,
+ 0x46, 0x25, 0x6c, 0x83, 0x55, 0xb7, 0xa0, 0x81, 0x34, 0xd1, 0xb7, 0x33,
+ 0xdc, 0x57, 0xc7, 0xae, 0x7d, 0x42, 0x07, 0x3f, 0xa8, 0xd5, 0x5a, 0x81,
+ 0xe3, 0x90, 0x14, 0x83, 0xba, 0xa1, 0x2e, 0xac, 0x37, 0x3d, 0x46, 0x0e,
+ 0x2b, 0xb1, 0x17, 0x0e, 0x8d, 0x9d, 0xef, 0x07, 0x6b, 0x81, 0x99, 0xcd,
+ 0x52, 0x25, 0xe8, 0x19, 0x0d, 0xd0, 0xff, 0xfb, 0xb6, 0xeb, 0x0e, 0x34,
+ 0x8a, 0xf8, 0x21, 0x54, 0x3a, 0x84, 0x00, 0xc2, 0x2e, 0xf4, 0x34, 0x70,
+ 0x13, 0x76, 0xdf, 0x0d, 0xdb, 0x7b, 0xf0, 0xf2, 0x36, 0xcf, 0xe7, 0xeb,
+ 0xe3, 0x97, 0xaf, 0x2d, 0x8c, 0xc0, 0x6f, 0x81, 0x2c, 0xec, 0xbc, 0x9a,
+ 0x93, 0x8c, 0xbb, 0x40, 0xac, 0xd5, 0x51, 0x82, 0xd3, 0x51, 0x42, 0x05,
+ 0xad, 0x18, 0x75, 0xad, 0xce, 0xf8, 0x86, 0xf4, 0x36, 0x43, 0xe8, 0xf5,
+ 0x8c, 0xf8, 0xd9, 0x07, 0xe2, 0xb1, 0x26, 0x4d, 0x99, 0x6b, 0xab, 0x3c,
+ 0x42, 0xbe, 0x04, 0x21, 0x2f, 0xca, 0x49, 0x39, 0x9f, 0x6f, 0x90, 0xee,
+ 0x0c, 0x0f, 0x89, 0x1a, 0x28, 0x26, 0x98, 0x2d, 0xda, 0x46, 0x7a, 0x6f,
+ 0x42, 0xb3, 0x37, 0x47, 0x6a, 0xae, 0xda, 0x96, 0x14, 0x26, 0x40, 0x25,
+ 0x0f, 0xee, 0x46, 0xbb, 0x30, 0x5d, 0x6d, 0x06, 0x35, 0xf1, 0x50, 0x98,
+ 0xcf, 0xee, 0x18, 0x4d, 0x13, 0xb2, 0xc0, 0xfe, 0x75, 0xf2, 0x9f, 0xff,
+ 0xfc, 0xeb, 0x8f, 0x91, 0xee, 0x06, 0xe4, 0xf0, 0xbb, 0xe2, 0xca, 0x42,
+ 0xf3, 0xf4, 0x52, 0x50, 0x5b, 0x2c, 0x4e, 0x3c, 0x27, 0x9a, 0x70, 0x3c,
+ 0xa3, 0xa9, 0xb3, 0xc5, 0x7c, 0xe4, 0xe5, 0x54, 0x86, 0x62, 0x91, 0x4c,
+ 0x28, 0xfd, 0x20, 0xba, 0xd5, 0x51, 0x29, 0x38, 0x97, 0xef, 0x12, 0x72,
+ 0x37, 0x5a, 0x04, 0xb9, 0x94, 0x69, 0x8b, 0xec, 0xcb, 0x27, 0x11, 0xe0,
+ 0xc7, 0xb8, 0x36, 0x3e, 0xdd, 0x60, 0xfa, 0x87, 0xf7, 0x27, 0xd6, 0xd5,
+ 0xe9, 0x73, 0xe5, 0x2b, 0x43, 0xa9, 0x77, 0xc3, 0xec, 0x2e, 0x9b, 0x18,
+ 0x2e, 0x51, 0x2b, 0xf0, 0xc3, 0x70, 0x59, 0x27, 0x2f, 0x96, 0x86, 0xc6,
+ 0xf3, 0x1e, 0xc8, 0x8e, 0xaf, 0xe9, 0xb5, 0x44, 0x5f, 0xb3, 0xf8, 0xa5,
+ 0x97, 0x65, 0x65, 0x76, 0x68, 0x29, 0xd5, 0xb8, 0x52, 0x92, 0xdc, 0x76,
+ 0x66, 0x24, 0x28, 0x30, 0x09, 0xdc, 0x01, 0xd7, 0x8f, 0x44, 0xe3, 0x06,
+ 0x18, 0x9b, 0x07, 0x14, 0x06, 0x65, 0x7d, 0x6d, 0x94, 0x47, 0x33, 0x7b,
+ 0x63, 0x64, 0x93, 0xb5, 0x5e, 0x0f, 0x84, 0xa4, 0x2a, 0xc5, 0x91, 0x8b,
+ 0xc2, 0x08, 0xd8, 0x32, 0x44, 0xb6, 0xb0, 0x0c, 0xd3, 0xf1, 0x57, 0x64,
+ 0xbb, 0x98, 0xfa, 0xe8, 0x6f, 0xd2, 0xbb, 0x38, 0xdc, 0x57, 0x5d, 0x00,
+ 0xbb, 0x41, 0x13, 0x97, 0xbd, 0x4a, 0x05, 0x1b, 0xb9, 0xf6, 0x17, 0xf6,
+ 0x3d, 0xb1, 0xd6, 0x54, 0x0e, 0x2e, 0xe5, 0x32, 0x9d, 0xd9, 0x42, 0x7a,
+ 0x1f, 0x3a, 0x10, 0x65, 0x88, 0x29, 0xd5, 0x45, 0x66, 0x8b, 0x91, 0x74,
+ 0xd5, 0x46, 0x5a, 0x95, 0x1b, 0x13, 0x0c, 0xb7, 0x8b, 0xeb, 0x52, 0x53,
+ 0x8a, 0x00, 0x57, 0xc3, 0x8a, 0x43, 0x1f, 0x65, 0xe5, 0xe2, 0x79, 0x88,
+ 0xc6, 0x7a, 0x2f, 0x04, 0x2f, 0xe7, 0x12, 0x66, 0xbf, 0xd8, 0x0f, 0x00,
+ 0x4b, 0x46, 0xef, 0x30, 0x86, 0x21, 0xa1, 0xb7, 0x91, 0x5e, 0x41, 0x3c,
+ 0x84, 0x0f, 0xfc, 0x58, 0x0e, 0xbc, 0x33, 0x1c, 0xc5, 0x5a, 0x9e, 0x3c,
+ 0x7e, 0xfc, 0x98, 0x63, 0x2d, 0x5b, 0x27, 0xf8, 0xf0, 0xfb, 0xe3, 0x57,
+ 0x67, 0x6f, 0xdf, 0x1e, 0xbf, 0x7b, 0x7d, 0xfc, 0x5a, 0x33, 0x3e, 0xbc,
+ 0x95, 0x38, 0xea, 0x08, 0x57, 0x44, 0x59, 0x82, 0x66, 0x9f, 0x0f, 0x1e,
+ 0xef, 0x0f, 0x0f, 0x1f, 0xef, 0x27, 0x86, 0x16, 0x53, 0x5b, 0xa7, 0x96,
+ 0x2e, 0x52, 0xb2, 0x6f, 0xaf, 0xd6, 0x46, 0x55, 0x23, 0x68, 0xcf, 0x86,
+ 0x30, 0x37, 0xe0, 0x7a, 0x25, 0x6f, 0x4f, 0xd6, 0x90, 0x1d, 0x1d, 0xc9,
+ 0x0c, 0x18, 0x6d, 0x59, 0x90, 0x36, 0x17, 0xb0, 0x14, 0xdd, 0x07, 0x04,
+ 0x7a, 0xb8, 0x4f, 0x1f, 0x1a, 0x25, 0x6f, 0x8c, 0xf6, 0x31, 0x2f, 0x6f,
+ 0x99, 0x16, 0x5f, 0x5d, 0x19, 0xa5, 0x34, 0x0b, 0x43, 0x95, 0xed, 0xf7,
+ 0xe9, 0xf5, 0x23, 0x7e, 0xfd, 0x37, 0x8c, 0xd1, 0x3f, 0x7e, 0xd6, 0x36,
+ 0x2c, 0xcd, 0x45, 0x06, 0x2a, 0xbc, 0x96, 0x24, 0xf6, 0xe0, 0xfb, 0x8f,
+ 0xd9, 0x1c, 0xff, 0xfa, 0xe5, 0x39, 0x3d, 0x6d, 0xcc, 0xf2, 0xb3, 0xef,
+ 0xff, 0xe2, 0xca, 0x3c, 0xaf, 0x0f, 0x34, 0x9b, 0x51, 0x2a, 0x59, 0xd1,
+ 0x88, 0xaf, 0x08, 0x83, 0xde, 0x4e, 0x99, 0xb5, 0x06, 0xa1, 0x0a, 0x19,
+ 0xac, 0x90, 0x32, 0x50, 0xcd, 0xd6, 0x71, 0x8f, 0x2c, 0x39, 0xb4, 0xaa,
+ 0x96, 0x2b, 0x1e, 0xab, 0xeb, 0x37, 0xac, 0x9c, 0xa6, 0x71, 0x9b, 0x73,
+ 0xdf, 0x87, 0xbc, 0x98, 0x71, 0x63, 0xda, 0x96, 0x63, 0xb6, 0xa9, 0xd6,
+ 0x59, 0xcc, 0x6b, 0xba, 0x11, 0x63, 0x87, 0x94, 0xda, 0x2a, 0x5f, 0xa6,
+ 0x55, 0xce, 0xed, 0xe7, 0x89, 0xc0, 0x6f, 0xb8, 0x57, 0x26, 0xa7, 0x4a,
+ 0x21, 0xf6, 0xe5, 0xc0, 0x64, 0xcb, 0x20, 0xed, 0xd4, 0xf6, 0x72, 0x20,
+ 0x22, 0x66, 0x58, 0x23, 0x89, 0x51, 0xf2, 0x66, 0x6d, 0x84, 0xa1, 0x6b,
+ 0xdb, 0xff, 0x56, 0xa1, 0xe8, 0x03, 0x9d, 0x4b, 0xde, 0x9c, 0x9c, 0x1e,
+ 0xef, 0x26, 0x6f, 0xb2, 0x46, 0x4a, 0x9c, 0x34, 0xc3, 0x98, 0x44, 0xfe,
+ 0xbf, 0x41, 0xc1, 0xb2, 0xa0, 0x84, 0x52, 0x23, 0x1c, 0xcd, 0x05, 0x13,
+ 0x1f, 0x1c, 0x94, 0x0d, 0xad, 0x97, 0xe2, 0xc3, 0xc1, 0x12, 0x29, 0x1e,
+ 0xa7, 0xb9, 0x65, 0x1a, 0xdf, 0x94, 0x93, 0x8f, 0xe4, 0xdd, 0x2a, 0xce,
+ 0xc3, 0xc8, 0x43, 0x3c, 0x2b, 0xfd, 0x14, 0x02, 0x9a, 0xb4, 0xe4, 0x3c,
+ 0x6b, 0xbc, 0x38, 0xaf, 0x57, 0x0b, 0xe2, 0x06, 0x51, 0x94, 0x97, 0x45,
+ 0xe6, 0x2a, 0xfb, 0x40, 0xf9, 0xdc, 0x29, 0x5e, 0x8c, 0x1e, 0x30, 0x54,
+ 0x5a, 0xaf, 0xb7, 0x71, 0x5f, 0xeb, 0xc6, 0x51, 0xda, 0x09, 0xff, 0xb9,
+ 0xf7, 0x65, 0x14, 0x7c, 0x4c, 0x1b, 0x59, 0xa0, 0x67, 0xae, 0xbc, 0x01,
+ 0x8a, 0xe2, 0x1e, 0xea, 0x22, 0xe4, 0x55, 0xed, 0x6c, 0x51, 0x42, 0x44,
+ 0x7d, 0x85, 0xef, 0x4e, 0xcd, 0xdd, 0xbf, 0x48, 0x9f, 0x26, 0xd5, 0x1f,
+ 0xa8, 0x04, 0xdc, 0x49, 0x17, 0xee, 0xd2, 0x6b, 0xb3, 0x8c, 0x93, 0x58,
+ 0x4b, 0x34, 0xe6, 0xca, 0xd2, 0x92, 0x97, 0xb5, 0x29, 0xca, 0xd6, 0x4f,
+ 0x35, 0x5d, 0x5f, 0xe7, 0x4b, 0x8f, 0x5d, 0x09, 0x78, 0x35, 0x7c, 0x29,
+ 0x5c, 0x45, 0x56, 0x47, 0x5d, 0xfe, 0x52, 0xde, 0x26, 0xa1, 0x3d, 0xb4,
+ 0x54, 0x65, 0xa7, 0x0c, 0xeb, 0xd0, 0x6b, 0x52, 0xe8, 0xb8, 0xb2, 0x0b,
+ 0x7d, 0x08, 0x2a, 0xc6, 0xcb, 0x8c, 0x68, 0x4b, 0xf2, 0x75, 0x9f, 0x05,
+ 0x75, 0x75, 0x76, 0xff, 0x33, 0x6d, 0x4b, 0x34, 0x54, 0x17, 0xcd, 0xde,
+ 0x41, 0xa7, 0xa4, 0xbe, 0x1f, 0x54, 0xf5, 0x3e, 0xfd, 0x94, 0xa3, 0x10,
+ 0x71, 0x0d, 0x75, 0x2e, 0x2d, 0xb4, 0xde, 0x8a, 0xa7, 0x69, 0x71, 0xde,
+ 0x0d, 0xb9, 0x8d, 0x50, 0xce, 0x10, 0xd7, 0x3e, 0x19, 0xb2, 0x8c, 0x9c,
+ 0x06, 0x84, 0xc2, 0xaa, 0xf3, 0x59, 0xa0, 0xa2, 0xc1, 0xde, 0x16, 0x55,
+ 0xd4, 0xa8, 0x1e, 0x12, 0xba, 0x62, 0x04, 0x17, 0x3a, 0x43, 0xc3, 0x65,
+ 0xb8, 0xfc, 0x6e, 0x04, 0x62, 0x6c, 0xbb, 0xca, 0x18, 0x9a, 0x7e, 0x64,
+ 0x2c, 0xd1, 0x25, 0x95, 0x04, 0x28, 0x7e, 0x33, 0x2d, 0x59, 0xb6, 0xc7,
+ 0xf0, 0xb6, 0xcb, 0xfc, 0x3a, 0x96, 0x65, 0x41, 0xf9, 0x11, 0x32, 0x31,
+ 0x64, 0x69, 0xb8, 0x76, 0xb1, 0x9a, 0x76, 0x6c, 0x43, 0xda, 0xec, 0x97,
+ 0x26, 0x1c, 0x40, 0xd9, 0xd9, 0xe0, 0x06, 0x2f, 0x48, 0x63, 0x25, 0x40,
+ 0xaf, 0x82, 0x1b, 0xf4, 0x7e, 0x6d, 0x34, 0x9f, 0xe7, 0x5b, 0x16, 0x51,
+ 0x1d, 0x7e, 0x55, 0x70, 0xc7, 0x16, 0xe5, 0x48, 0xcb, 0xe8, 0x61, 0xb4,
+ 0xef, 0x98, 0x68, 0xee, 0x8d, 0x32, 0x2e, 0x5b, 0x70, 0x13, 0xa6, 0x35,
+ 0xdb, 0x02, 0x18, 0xae, 0x18, 0x0d, 0x11, 0xe3, 0x69, 0x4a, 0xdf, 0x0f,
+ 0x5f, 0xe1, 0xe3, 0xc3, 0xaf, 0x31, 0xdc, 0x1f, 0xb7, 0xac, 0xc3, 0xb7,
+ 0xfb, 0xab, 0xe7, 0x61, 0xa3, 0x60, 0xe7, 0x37, 0x64, 0xc3, 0x63, 0xad,
+ 0x55, 0x19, 0x48, 0x24, 0x91, 0x09, 0x72, 0x0f, 0x2e, 0x73, 0x45, 0xf6,
+ 0xf4, 0xc0, 0x11, 0x4d, 0xa9, 0xc3, 0x2e, 0x9b, 0x36, 0xe5, 0xc0, 0x48,
+ 0x91, 0x15, 0xc0, 0x74, 0x66, 0xc3, 0x72, 0x3e, 0x44, 0x86, 0xb4, 0x61,
+ 0xfe, 0x9f, 0x28, 0x19, 0xc9, 0xbb, 0x75, 0x00, 0x08, 0x01, 0xf6, 0xf6,
+ 0x6c, 0x16, 0x53, 0xcd, 0xb9, 0x90, 0x91, 0xb4, 0x0e, 0x21, 0x7c, 0x2d,
+ 0xb4, 0xe0, 0x83, 0x7c, 0x2e, 0x5e, 0x79, 0xbc, 0x6e, 0xbb, 0x50, 0x11,
+ 0x32, 0x97, 0x14, 0x44, 0x04, 0xfe, 0x34, 0x94, 0x47, 0x0c, 0x58, 0x7b,
+ 0xc7, 0xaa, 0x61, 0xc3, 0x2d, 0xd9, 0x95, 0x0b, 0xff, 0xf3, 0x7a, 0x05,
+ 0x95, 0x95, 0x10, 0x3b, 0x03, 0xef, 0x8b, 0x16, 0x89, 0x00, 0x8b, 0xd3,
+ 0x08, 0xff, 0xc7, 0xa3, 0xfd, 0x41, 0x10, 0xa8, 0x6f, 0x60, 0xec, 0x17,
+ 0x2e, 0x4b, 0xc8, 0x3c, 0x0c, 0x1e, 0x39, 0x8c, 0x55, 0xd7, 0xd6, 0xcd,
+ 0x1d, 0xf1, 0x6b, 0x5b, 0x4c, 0x8b, 0xd4, 0x62, 0x57, 0xf7, 0xe0, 0x72,
+ 0x7a, 0xb0, 0x85, 0xc2, 0x36, 0xb9, 0x8a, 0x36, 0x06, 0x71, 0x2a, 0x19,
+ 0x5b, 0x5f, 0x0e, 0xbb, 0x6d, 0x32, 0x6d, 0xb7, 0x33, 0xbf, 0x7a, 0xc3,
+ 0xeb, 0x5b, 0xd6, 0xeb, 0x69, 0x02, 0x9a, 0xe8, 0x4b, 0x6d, 0x7d, 0x33,
+ 0x34, 0x9b, 0x2a, 0x1d, 0x5d, 0x87, 0x19, 0xfd, 0x90, 0x01, 0x3b, 0x14,
+ 0x38, 0xb4, 0xee, 0xdf, 0x33, 0x06, 0xd9, 0x7d, 0x4a, 0x3b, 0x66, 0x5b,
+ 0x0b, 0x68, 0x0f, 0x1d, 0x27, 0x1f, 0x40, 0xb6, 0xde, 0x5d, 0xea, 0xee,
+ 0x19, 0x71, 0x15, 0xe2, 0x04, 0x85, 0xe6, 0x7c, 0xa3, 0x21, 0xfb, 0xed,
+ 0x5d, 0x6f, 0x6a, 0x71, 0x4f, 0xce, 0x2f, 0xae, 0xcd, 0x1b, 0x52, 0xec,
+ 0x87, 0xef, 0xcc, 0x31, 0x3c, 0x4f, 0xfe, 0xa3, 0xcc, 0xb8, 0x66, 0xf5,
+ 0x9e, 0x92, 0xd5, 0xef, 0x5e, 0xbe, 0x7f, 0x77, 0xf2, 0xee, 0xab, 0xe7,
+ 0x96, 0xc7, 0x11, 0xbf, 0xeb, 0xf6, 0xb4, 0xb0, 0xbc, 0x1b, 0xbf, 0x65,
+ 0xe4, 0x56, 0xf2, 0xfe, 0xf4, 0x61, 0x6c, 0x53, 0x2c, 0x13, 0xec, 0x99,
+ 0x9d, 0x97, 0x55, 0xc6, 0x71, 0x11, 0xb6, 0x45, 0xb5, 0x72, 0x42, 0xca,
+ 0x35, 0x21, 0x2a, 0xd1, 0xb8, 0x2d, 0x02, 0xd8, 0x30, 0x3c, 0xa5, 0x33,
+ 0x59, 0x94, 0xad, 0x1e, 0x51, 0x44, 0x94, 0x0b, 0x1c, 0x7f, 0xe9, 0x53,
+ 0x00, 0x5b, 0xcc, 0xda, 0x51, 0x9d, 0x9d, 0x3e, 0x91, 0xe0, 0x2d, 0x63,
+ 0x64, 0xab, 0xe7, 0xd5, 0xf6, 0xc7, 0x91, 0x26, 0x17, 0x35, 0x8e, 0xac,
+ 0xce, 0xe1, 0x6c, 0xb0, 0x5b, 0xa2, 0x39, 0x5e, 0x11, 0x3f, 0x88, 0xc0,
+ 0x4b, 0xa7, 0x6b, 0xbe, 0x2f, 0x8c, 0x4e, 0x26, 0x3f, 0x75, 0x75, 0x19,
+ 0x76, 0x07, 0x1e, 0x9c, 0xe6, 0xec, 0xf2, 0x9c, 0x59, 0x9f, 0x67, 0x03,
+ 0xd1, 0x63, 0x59, 0xe6, 0x4f, 0x12, 0x25, 0x51, 0x1c, 0x92, 0x45, 0xe6,
+ 0xaa, 0x92, 0xac, 0xae, 0x73, 0xc5, 0xba, 0xce, 0x62, 0x15, 0x80, 0xed,
+ 0x51, 0x9a, 0x79, 0x42, 0xbf, 0x51, 0xa7, 0x0e, 0x05, 0xaf, 0x20, 0x81,
+ 0xd5, 0x2c, 0x69, 0x81, 0xdb, 0xd9, 0xd6, 0x90, 0xcc, 0xd4, 0x43, 0x79,
+ 0x4a, 0x78, 0x4f, 0x19, 0xe3, 0x8d, 0xf9, 0x15, 0x30, 0xe6, 0xeb, 0x66,
+ 0x8f, 0x57, 0xeb, 0xc9, 0x72, 0xf6, 0x38, 0x79, 0x61, 0xfe, 0x13, 0x28,
+ 0x59, 0xc8, 0x19, 0x1d, 0xbf, 0x32, 0x8a, 0x16, 0x25, 0xb8, 0x90, 0xbc,
+ 0x60, 0xc8, 0x1b, 0xaf, 0x8b, 0xc4, 0xd1, 0xa1, 0x99, 0xe9, 0x6d, 0xaa,
+ 0xd0, 0x96, 0x46, 0x23, 0xbc, 0xcc, 0x1b, 0xce, 0xd3, 0xeb, 0xc1, 0x0d,
+ 0xf2, 0x52, 0x1b, 0x70, 0xe6, 0x07, 0x87, 0x9f, 0x27, 0x54, 0x7c, 0xf0,
+ 0xf6, 0xf5, 0xe3, 0x64, 0x7a, 0x95, 0x4d, 0x3f, 0xd5, 0xeb, 0xa5, 0xb2,
+ 0x63, 0xda, 0x53, 0x63, 0x1e, 0xd0, 0x3c, 0x03, 0xc4, 0x07, 0x33, 0xf1,
+ 0x45, 0x3e, 0xa5, 0xd2, 0xbf, 0x41, 0x2b, 0x3a, 0x35, 0xd7, 0xe8, 0x94,
+ 0x67, 0x87, 0x5a, 0xb1, 0x81, 0x74, 0x01, 0xce, 0xa9, 0x89, 0x04, 0x2f,
+ 0xcc, 0x1e, 0x98, 0x8f, 0xd7, 0xdc, 0xcd, 0x7a, 0xa3, 0xcb, 0xf6, 0x69,
+ 0xdb, 0xeb, 0x4d, 0x17, 0x7b, 0x7f, 0xf4, 0xac, 0xa7, 0x3f, 0x47, 0xab,
+ 0x35, 0x07, 0xd5, 0x2a, 0xd9, 0x6a, 0x3b, 0xd8, 0x03, 0xa4, 0xe5, 0xd3,
+ 0x24, 0x09, 0x10, 0x4a, 0xc3, 0x78, 0xc1, 0xc7, 0xe9, 0xc9, 0x3d, 0x7a,
+ 0x42, 0x7a, 0xcb, 0x21, 0x8b, 0x2d, 0x03, 0x26, 0x05, 0x93, 0x16, 0xd2,
+ 0x84, 0x6c, 0x14, 0xd0, 0x22, 0x9c, 0x21, 0x04, 0x1b, 0x2a, 0x6d, 0xb6,
+ 0xfe, 0x5b, 0x5d, 0x36, 0x8e, 0xc5, 0x48, 0x09, 0xad, 0x87, 0xe6, 0xa0,
+ 0xb5, 0x84, 0xc0, 0x6b, 0x23, 0x9b, 0x22, 0x20, 0x32, 0xfb, 0x5d, 0x8e,
+ 0x4b, 0xbb, 0xe3, 0xa8, 0x19, 0x8d, 0x10, 0xce, 0x73, 0xea, 0x12, 0xcb,
+ 0x16, 0x75, 0x79, 0x53, 0x5c, 0x56, 0xe4, 0x1f, 0x41, 0x51, 0x58, 0x1a,
+ 0x8b, 0x65, 0xc4, 0x10, 0x4c, 0xdd, 0xd8, 0xc6, 0xe2, 0x7a, 0x42, 0x9c,
+ 0xde, 0xee, 0x0a, 0xe5, 0xdb, 0x73, 0x10, 0x9b, 0x2b, 0x96, 0xd9, 0x66,
+ 0xf7, 0x8e, 0x68, 0x7f, 0x20, 0xc7, 0x74, 0x30, 0xda, 0x7f, 0xc8, 0x31,
+ 0x11, 0x11, 0xb5, 0x4e, 0xc7, 0xbc, 0xe7, 0x6b, 0xc9, 0x9a, 0x44, 0x6e,
+ 0x88, 0xbd, 0x27, 0xfb, 0xce, 0x2c, 0x54, 0xfc, 0x57, 0xd9, 0xac, 0x35,
+ 0xd4, 0x46, 0x9e, 0xe3, 0x37, 0x6f, 0xe3, 0xe9, 0x1e, 0x48, 0x18, 0x86,
+ 0xfe, 0x75, 0xd8, 0x25, 0x3a, 0xf3, 0xeb, 0x9f, 0xb9, 0x9a, 0x83, 0x9f,
+ 0x50, 0xaa, 0xb1, 0x3f, 0x70, 0xdf, 0xdb, 0xb7, 0x2d, 0x11, 0x78, 0x42,
+ 0xee, 0x5e, 0x74, 0x86, 0x0b, 0x21, 0xef, 0xf1, 0x02, 0x95, 0xbb, 0x94,
+ 0xd5, 0x90, 0x54, 0x76, 0x73, 0x58, 0x81, 0x0a, 0x15, 0x9d, 0xbe, 0x39,
+ 0xde, 0x9a, 0x14, 0x5b, 0xd2, 0x69, 0x41, 0x9c, 0x88, 0x19, 0x31, 0xaa,
+ 0x99, 0x35, 0xe9, 0xa3, 0x69, 0xfb, 0x20, 0x90, 0x43, 0x4f, 0x45, 0xc7,
+ 0x0f, 0x68, 0x53, 0x93, 0x0f, 0x2b, 0xd0, 0x20, 0xc5, 0xb8, 0x1b, 0x07,
+ 0xfc, 0x8f, 0xd9, 0x25, 0x7d, 0xb3, 0x73, 0xd8, 0x5f, 0x1a, 0x93, 0x47,
+ 0xb1, 0x66, 0xad, 0xdf, 0xa9, 0xa9, 0x0a, 0x96, 0x54, 0x7e, 0x69, 0x11,
+ 0xc7, 0x80, 0xf8, 0x6e, 0x92, 0x31, 0x58, 0x5f, 0xbd, 0x58, 0x46, 0xd5,
+ 0x94, 0x51, 0x5a, 0xd9, 0xf4, 0x04, 0x8f, 0xce, 0xea, 0xbe, 0xf6, 0xec,
+ 0x73, 0xf0, 0xf4, 0x11, 0xff, 0x4a, 0xee, 0xba, 0x84, 0x77, 0x80, 0xfd,
+ 0x82, 0x00, 0x50, 0xf4, 0x38, 0x1e, 0xdc, 0x02, 0x21, 0xc0, 0xef, 0xea,
+ 0x34, 0xb1, 0xe0, 0xb5, 0x8c, 0x1e, 0x46, 0xdc, 0xfb, 0x83, 0xe8, 0xec,
+ 0x88, 0xda, 0x7c, 0xe2, 0x6f, 0x81, 0xe1, 0x3d, 0x8b, 0x10, 0xd7, 0xcf,
+ 0xba, 0x0b, 0x87, 0x9b, 0xc2, 0xa0, 0xe1, 0x1d, 0x3c, 0x1a, 0xe9, 0xd7,
+ 0xfa, 0xf6, 0x2a, 0x60, 0x67, 0xbd, 0xed, 0x23, 0x1e, 0xb6, 0x5b, 0x3d,
+ 0x7b, 0x63, 0xf7, 0xae, 0xb3, 0x5b, 0x7d, 0x47, 0xab, 0x57, 0x35, 0xe0,
+ 0x57, 0x3d, 0x57, 0xf5, 0x28, 0xbe, 0x9b, 0x56, 0x43, 0xed, 0xf8, 0x3c,
+ 0xc9, 0x65, 0x56, 0xe5, 0x30, 0x89, 0xd3, 0xc5, 0x28, 0x79, 0xed, 0x72,
+ 0x5a, 0x00, 0xbc, 0x17, 0x18, 0xab, 0xb3, 0x75, 0x4f, 0xe6, 0xc7, 0xe6,
+ 0xd3, 0x3a, 0x92, 0xa4, 0x1e, 0x97, 0xb8, 0x00, 0x99, 0x2e, 0x45, 0x59,
+ 0x65, 0x00, 0x88, 0x29, 0x9e, 0x1b, 0x0d, 0x5f, 0x4a, 0x98, 0x8e, 0x52,
+ 0xb3, 0x24, 0x00, 0x83, 0xad, 0x3f, 0xf2, 0x63, 0xe6, 0x56, 0xbd, 0xa6,
+ 0x12, 0x82, 0x98, 0xa7, 0x08, 0x5f, 0xd4, 0xf4, 0x76, 0x48, 0x44, 0x55,
+ 0x28, 0xcd, 0x47, 0xae, 0xf3, 0x34, 0x79, 0xb9, 0x68, 0x86, 0xe3, 0x6f,
+ 0xa7, 0x1c, 0x61, 0x6b, 0x85, 0xa7, 0x82, 0x26, 0xaf, 0xf0, 0xaa, 0xa0,
+ 0x3f, 0x57, 0x2d, 0x49, 0xab, 0x79, 0x35, 0x5d, 0x2f, 0x81, 0x81, 0x0a,
+ 0xb2, 0xb2, 0x7d, 0x22, 0xe8, 0x20, 0x1d, 0xa5, 0x71, 0xba, 0x7d, 0x08,
+ 0x7e, 0x98, 0x7e, 0xaa, 0x75, 0x49, 0x52, 0xa4, 0xc3, 0x75, 0x18, 0x76,
+ 0xce, 0xed, 0xf6, 0x6a, 0x11, 0x11, 0xd4, 0xb1, 0xec, 0x18, 0xa6, 0x97,
+ 0x50, 0x60, 0xfe, 0xdb, 0x87, 0x93, 0x57, 0x2d, 0xef, 0x3e, 0xc7, 0x51,
+ 0x92, 0x8d, 0xd1, 0x0a, 0x86, 0x95, 0x95, 0x27, 0xe7, 0xa4, 0xc3, 0x6a,
+ 0x36, 0xae, 0x26, 0xce, 0xb5, 0x8e, 0xb7, 0x2c, 0x22, 0x22, 0xd5, 0xe8,
+ 0x0b, 0x3f, 0xed, 0x8e, 0x1e, 0xea, 0x1d, 0x3d, 0xfa, 0xa5, 0xef, 0xe8,
+ 0xd1, 0x2f, 0x73, 0x47, 0x95, 0x83, 0x78, 0x7f, 0xf7, 0xaf, 0x6b, 0x60,
+ 0x96, 0xe2, 0xfa, 0xfa, 0x0e, 0xe7, 0x76, 0xce, 0xc0, 0x90, 0xc1, 0x23,
+ 0x86, 0xe2, 0xb7, 0x18, 0x72, 0x81, 0x6c, 0xac, 0x36, 0x2c, 0x11, 0xc7,
+ 0xa9, 0x82, 0x3f, 0x0e, 0x92, 0x13, 0x06, 0x36, 0x47, 0x76, 0x92, 0xbc,
+ 0x7e, 0xca, 0xf5, 0xb5, 0xe2, 0xf7, 0x56, 0x9f, 0x7f, 0xa4, 0x02, 0x3f,
+ 0x9f, 0x12, 0xbc, 0x9a, 0xf3, 0xb8, 0x93, 0xc5, 0xac, 0x3a, 0x63, 0xb5,
+ 0x46, 0x48, 0x21, 0x79, 0xb9, 0xa2, 0x12, 0x59, 0xa3, 0x71, 0xdc, 0xba,
+ 0xfe, 0xc8, 0x44, 0x62, 0x61, 0x2e, 0x12, 0x6d, 0x32, 0x79, 0x70, 0x25,
+ 0xf3, 0xbe, 0x3b, 0x1d, 0x8c, 0xce, 0xf0, 0x87, 0x0b, 0x22, 0xfe, 0x8a,
+ 0x0d, 0xc7, 0x43, 0x43, 0xe0, 0x97, 0x41, 0x5b, 0x85, 0xc9, 0x5d, 0x13,
+ 0x29, 0x03, 0xa3, 0x55, 0xd3, 0x2e, 0xec, 0xd4, 0x92, 0x65, 0xfa, 0xc8,
+ 0xec, 0xe3, 0xee, 0x80, 0x1a, 0xd0, 0xaf, 0xb0, 0x03, 0x54, 0xa7, 0x63,
+ 0x8d, 0x2b, 0x2a, 0x53, 0xcb, 0x2f, 0xc9, 0x63, 0x55, 0xf2, 0x35, 0x0e,
+ 0x2c, 0x1a, 0xf2, 0x6e, 0x4b, 0x9a, 0xa3, 0xe6, 0x10, 0x0a, 0xdc, 0x6c,
+ 0xbb, 0x44, 0x35, 0x1f, 0xa0, 0xf3, 0x1c, 0x7c, 0xd3, 0xdd, 0xe0, 0x91,
+ 0x78, 0xac, 0xd9, 0xfe, 0x55, 0x9d, 0x46, 0x61, 0xfd, 0xc5, 0xe2, 0x15,
+ 0xc6, 0x25, 0x2d, 0x3a, 0x10, 0xd8, 0xc3, 0x93, 0x91, 0x5e, 0x3f, 0xed,
+ 0x17, 0xa7, 0xf0, 0x6c, 0xf2, 0x17, 0xc4, 0x01, 0xc5, 0x66, 0xbe, 0x85,
+ 0x88, 0x26, 0x2f, 0x11, 0xf9, 0xf3, 0xb9, 0xd3, 0xca, 0x20, 0x84, 0xd5,
+ 0xb3, 0xbe, 0x67, 0x07, 0x14, 0xdd, 0xba, 0xb1, 0x0a, 0xee, 0x3c, 0x1a,
+ 0x8d, 0x22, 0x70, 0x16, 0xd7, 0x79, 0x76, 0xd3, 0x72, 0xc5, 0xcb, 0xcc,
+ 0x06, 0xb6, 0x41, 0x0a, 0x7b, 0x80, 0xae, 0x69, 0x87, 0xcc, 0x90, 0x13,
+ 0x42, 0xd2, 0xec, 0x29, 0x27, 0x71, 0x57, 0xde, 0x7f, 0xda, 0xdb, 0xe6,
+ 0x4f, 0xbc, 0xcd, 0x75, 0xac, 0x1e, 0x94, 0x81, 0x91, 0x5d, 0x3f, 0x87,
+ 0x01, 0x79, 0x44, 0xaa, 0xbb, 0x04, 0x8d, 0x3b, 0x1c, 0x4f, 0xc3, 0xf5,
+ 0xe7, 0xfa, 0x83, 0xbc, 0x66, 0x5c, 0x62, 0xc6, 0x15, 0x0a, 0xa3, 0xc5,
+ 0xfc, 0x99, 0x36, 0x3f, 0x10, 0x7e, 0xae, 0xd2, 0xcb, 0x88, 0xbd, 0x29,
+ 0x39, 0xa2, 0x20, 0x9c, 0xb4, 0x19, 0x01, 0x5c, 0x31, 0x91, 0xd4, 0x23,
+ 0x39, 0x11, 0xaf, 0x73, 0x89, 0x97, 0x29, 0xe3, 0xda, 0xc9, 0x24, 0xba,
+ 0xc0, 0x78, 0xbc, 0x57, 0xcf, 0xd5, 0xe7, 0xd3, 0xfe, 0x4a, 0x8c, 0x75,
+ 0x24, 0xad, 0xd9, 0xc4, 0x17, 0xeb, 0xf0, 0x96, 0xbb, 0x36, 0xa2, 0xab,
+ 0x4f, 0x75, 0x98, 0x5a, 0xce, 0xab, 0xcd, 0xe0, 0x7d, 0x58, 0x99, 0x0c,
+ 0x5e, 0xfb, 0x40, 0xd9, 0x01, 0xd4, 0x80, 0x6b, 0x1e, 0x44, 0x03, 0x73,
+ 0x83, 0x9f, 0xe8, 0x11, 0xb3, 0x5e, 0xc1, 0xa8, 0x17, 0xd4, 0x82, 0x6a,
+ 0x4d, 0x89, 0x27, 0xb8, 0xfb, 0x52, 0xbd, 0x2e, 0x05, 0xeb, 0x5d, 0x30,
+ 0x13, 0x0b, 0x09, 0x47, 0xbb, 0x3f, 0xba, 0x4a, 0x6f, 0x6f, 0x47, 0x75,
+ 0xb6, 0x67, 0xa8, 0xb6, 0xde, 0xab, 0xeb, 0x05, 0x7d, 0xb4, 0x06, 0xfa,
+ 0xda, 0xc6, 0xee, 0x96, 0xb7, 0x77, 0x96, 0x80, 0x84, 0x39, 0x4f, 0x53,
+ 0x7a, 0xb5, 0xc5, 0x6c, 0x5d, 0x7b, 0x4b, 0x6e, 0x10, 0xd3, 0x4d, 0x19,
+ 0x66, 0xe0, 0x69, 0x40, 0xa8, 0xfb, 0xd5, 0xb6, 0xcc, 0x1a, 0x5c, 0x72,
+ 0x96, 0x1d, 0xc7, 0xe1, 0xe9, 0x13, 0xd4, 0x74, 0xd5, 0x57, 0xda, 0x21,
+ 0x77, 0xd5, 0x0b, 0x8d, 0x9a, 0x4d, 0xb1, 0x05, 0x10, 0x46, 0x3e, 0x38,
+ 0x58, 0x1d, 0xee, 0xf8, 0x44, 0x96, 0x74, 0xf9, 0x29, 0x02, 0xf9, 0xd4,
+ 0xe7, 0xb6, 0xf4, 0x96, 0x46, 0xa5, 0x22, 0xcf, 0x1d, 0xc0, 0xe0, 0xcd,
+ 0xcd, 0xcd, 0x68, 0x93, 0xdf, 0xf2, 0x5f, 0x8e, 0x81, 0xb7, 0x87, 0x3b,
+ 0x33, 0x54, 0x7b, 0x9a, 0x17, 0xeb, 0xdb, 0xc4, 0xc3, 0x78, 0xb1, 0xcd,
+ 0x80, 0x34, 0x30, 0x97, 0x7c, 0xfb, 0xfe, 0x8d, 0x6d, 0x84, 0xad, 0xe8,
+ 0x1a, 0xe4, 0xf9, 0xad, 0x43, 0xad, 0x2d, 0xcb, 0x19, 0x77, 0x87, 0x40,
+ 0xa3, 0x5f, 0xbd, 0x3c, 0xff, 0xf8, 0xee, 0xf8, 0xe2, 0xe3, 0xfb, 0x97,
+ 0xdf, 0xd1, 0x16, 0xb2, 0x57, 0xc6, 0xc8, 0x2b, 0x8a, 0x07, 0x54, 0x65,
+ 0x49, 0x4d, 0xed, 0xde, 0xa2, 0x6c, 0x30, 0x2f, 0x00, 0xaf, 0x12, 0x6d,
+ 0xb3, 0x6e, 0x31, 0xa3, 0x64, 0x9e, 0x66, 0x2e, 0xcf, 0x93, 0xd6, 0x7e,
+ 0x7d, 0xca, 0xaa, 0x22, 0x5b, 0x8c, 0xca, 0xea, 0x92, 0xa8, 0x70, 0xef,
+ 0xb5, 0xf0, 0xcf, 0xe8, 0x70, 0x7b, 0x92, 0xd5, 0x40, 0x10, 0x64, 0xd7,
+ 0xd5, 0x9c, 0x10, 0x4b, 0x1e, 0xda, 0xa3, 0xd0, 0x23, 0xcd, 0x47, 0x60,
+ 0x80, 0xab, 0xeb, 0x47, 0x1b, 0xd4, 0xbb, 0x76, 0xa7, 0x58, 0xe9, 0xf1,
+ 0x06, 0x0a, 0x82, 0xef, 0xc7, 0xcf, 0x55, 0xe1, 0xea, 0xcc, 0xc5, 0xdd,
+ 0x20, 0x02, 0x80, 0x00, 0x75, 0xae, 0xb4, 0x50, 0x12, 0x28, 0x70, 0xa3,
+ 0x24, 0x9b, 0x8d, 0x2d, 0xee, 0xad, 0x56, 0xd4, 0xf5, 0x21, 0xf4, 0xf9,
+ 0x1e, 0x86, 0x4f, 0x42, 0xcb, 0x90, 0x9a, 0x2e, 0x7a, 0x6b, 0x7e, 0x22,
+ 0x6b, 0x7e, 0xf2, 0x2f, 0xad, 0xf9, 0xc9, 0xbf, 0xb0, 0xe6, 0x47, 0xbf,
+ 0xf0, 0x9a, 0x1f, 0x45, 0xd7, 0xec, 0x7d, 0x65, 0xf8, 0x37, 0x5a, 0xf3,
+ 0xdf, 0xd6, 0xc5, 0xa7, 0xa1, 0x99, 0x2f, 0x49, 0x61, 0xe9, 0xb1, 0x56,
+ 0xf7, 0x98, 0x6c, 0x7e, 0xa3, 0x1d, 0xf8, 0xf6, 0x1d, 0xc0, 0xb0, 0xd7,
+ 0x33, 0x2e, 0x15, 0x53, 0x81, 0x43, 0xfc, 0x4d, 0xd8, 0xd4, 0x22, 0x30,
+ 0x10, 0x72, 0xaa, 0xf7, 0xad, 0xa7, 0xe4, 0xa7, 0x20, 0xcd, 0x7e, 0x4b,
+ 0x66, 0xa3, 0xc3, 0x6e, 0x69, 0xdf, 0x15, 0xdc, 0xf4, 0x34, 0xc4, 0x39,
+ 0x9a, 0xc2, 0x4d, 0x86, 0x3b, 0x69, 0x63, 0xe0, 0xae, 0x2f, 0x3b, 0x8c,
+ 0x0e, 0xc6, 0x80, 0xd2, 0x81, 0x39, 0x2e, 0x48, 0x31, 0x9f, 0x90, 0x67,
+ 0x5c, 0xdc, 0xad, 0x68, 0x40, 0x23, 0x9b, 0x2b, 0x23, 0x83, 0x39, 0x11,
+ 0x05, 0xcd, 0xc4, 0x13, 0x3b, 0xc9, 0xa4, 0x33, 0x41, 0x89, 0x76, 0x5c,
+ 0x65, 0x77, 0xdb, 0x81, 0xc2, 0x30, 0x5d, 0x94, 0xc4, 0x6f, 0x66, 0x9b,
+ 0x8d, 0x8f, 0x89, 0x6b, 0x70, 0xc7, 0xf2, 0xa2, 0xd3, 0xf1, 0xce, 0x97,
+ 0x1b, 0x9f, 0xb2, 0x6c, 0x95, 0x2e, 0x00, 0xad, 0x41, 0xb9, 0x0f, 0x7d,
+ 0x8d, 0xb2, 0x5a, 0xc9, 0x91, 0x5a, 0x38, 0x80, 0x37, 0x5a, 0x99, 0x67,
+ 0xe0, 0x73, 0x7c, 0x90, 0x54, 0x29, 0x93, 0xe4, 0x33, 0xd4, 0xba, 0xc6,
+ 0xfb, 0xa6, 0xb8, 0xa6, 0x0c, 0x76, 0x12, 0xd4, 0x7a, 0xa3, 0x9c, 0x08,
+ 0x06, 0x8c, 0xfd, 0x84, 0xe2, 0xc8, 0x51, 0x6a, 0xce, 0x75, 0x4e, 0x29,
+ 0x79, 0x5d, 0xec, 0x61, 0xfb, 0x3e, 0xbf, 0x0e, 0x54, 0xa9, 0x56, 0xe7,
+ 0x04, 0x3e, 0x40, 0x7a, 0xa2, 0xb4, 0xf2, 0x8f, 0xd4, 0x0d, 0xf4, 0x11,
+ 0x0d, 0x48, 0x4a, 0x01, 0x94, 0x59, 0xff, 0xbd, 0x78, 0x75, 0xfe, 0xf1,
+ 0x9b, 0xe3, 0xe3, 0xf3, 0x93, 0xd7, 0xa7, 0xc7, 0x72, 0x61, 0xec, 0x8f,
+ 0xde, 0x5d, 0x7c, 0x7b, 0xaa, 0x7d, 0xe2, 0x94, 0x16, 0x03, 0x82, 0x17,
+ 0xd8, 0x7f, 0x66, 0xca, 0x03, 0xb4, 0xc3, 0x32, 0x86, 0xf4, 0xcb, 0x93,
+ 0xef, 0x8d, 0xd6, 0x7a, 0x3e, 0xfc, 0xf0, 0x7d, 0xd0, 0x8b, 0xc4, 0xab,
+ 0x31, 0x09, 0x9b, 0x09, 0xb8, 0x92, 0x13, 0xf4, 0x74, 0x77, 0x6b, 0xef,
+ 0x4b, 0xb9, 0xfb, 0x85, 0xc5, 0x20, 0x35, 0x38, 0x2f, 0xac, 0xc2, 0xc0,
+ 0x2f, 0x6a, 0xbf, 0x1f, 0x2f, 0xad, 0xed, 0xc9, 0xbe, 0xb6, 0x51, 0xdb,
+ 0x18, 0xb4, 0xf8, 0xbc, 0x6d, 0x33, 0x7e, 0xca, 0xee, 0x80, 0xe1, 0x98,
+ 0xbc, 0xa0, 0xff, 0xc6, 0xdb, 0xdc, 0x9d, 0x57, 0xf9, 0x35, 0xe9, 0x7f,
+ 0xe6, 0x59, 0x0e, 0xe9, 0xd2, 0xa3, 0x23, 0xdb, 0xf4, 0x4f, 0xc2, 0xca,
+ 0x34, 0x08, 0x32, 0x4f, 0x30, 0x68, 0x12, 0xf3, 0xf6, 0x00, 0x19, 0x87,
+ 0x7e, 0xc3, 0xe3, 0x61, 0x40, 0xb3, 0x3d, 0xa3, 0xe4, 0xf5, 0xf1, 0xfb,
+ 0x41, 0x72, 0x7e, 0xfc, 0x96, 0x0b, 0x55, 0x8e, 0xdf, 0x7d, 0xc5, 0x7d,
+ 0x10, 0xb5, 0xbd, 0x1d, 0x32, 0x21, 0xc2, 0x64, 0x4d, 0x6f, 0x4f, 0xcc,
+ 0xbb, 0xc8, 0x4c, 0xad, 0x6b, 0x23, 0x5d, 0x7f, 0x45, 0x00, 0x1d, 0x5e,
+ 0xdb, 0x0b, 0xf3, 0x9f, 0xd8, 0x56, 0x19, 0x3b, 0xe2, 0xeb, 0xc8, 0x76,
+ 0x89, 0x62, 0x66, 0x73, 0x67, 0xc4, 0x28, 0xa0, 0xdd, 0xe0, 0x1d, 0x33,
+ 0x1b, 0x12, 0x66, 0x71, 0xe8, 0x06, 0xc1, 0xec, 0x03, 0x84, 0x10, 0x37,
+ 0xcf, 0x95, 0x18, 0x3c, 0x59, 0xb1, 0xe6, 0x73, 0x03, 0xa2, 0x4b, 0x00,
+ 0x92, 0xbb, 0xcd, 0x88, 0x55, 0x47, 0x57, 0x39, 0x37, 0x22, 0xee, 0x20,
+ 0xd3, 0x99, 0xed, 0xce, 0x67, 0x8c, 0xc0, 0x40, 0x01, 0xe4, 0xb2, 0xa2,
+ 0x04, 0x0e, 0x82, 0x3e, 0xf8, 0x9f, 0x7b, 0xa3, 0xba, 0xbe, 0xda, 0xcb,
+ 0x67, 0x1f, 0xab, 0x3a, 0xdd, 0xee, 0xca, 0x22, 0xef, 0xd7, 0x33, 0xfa,
+ 0x75, 0xb2, 0x3d, 0xb2, 0x8f, 0xca, 0xdf, 0xe9, 0xe7, 0x51, 0x2c, 0x00,
+ 0x15, 0x41, 0xec, 0x5a, 0xd1, 0x7c, 0x4e, 0x6d, 0x9f, 0xb8, 0xc8, 0x27,
+ 0x95, 0x51, 0xe0, 0x5c, 0xf7, 0x0f, 0xe9, 0x86, 0xb8, 0xfa, 0x34, 0xad,
+ 0x0f, 0x0e, 0x42, 0x34, 0x7a, 0x5b, 0xe2, 0x38, 0xd0, 0xbc, 0xdc, 0xf3,
+ 0x6f, 0x5e, 0x8d, 0x7f, 0x77, 0x70, 0x80, 0x34, 0xe8, 0x1d, 0x4a, 0x57,
+ 0x7d, 0xfa, 0xf8, 0xe0, 0x70, 0x37, 0xa6, 0x3e, 0x06, 0x79, 0x3d, 0xd4,
+ 0xc1, 0x32, 0x75, 0xf4, 0x49, 0xbb, 0x8f, 0x30, 0xb7, 0x14, 0x3d, 0xd8,
+ 0xa1, 0x67, 0x19, 0x25, 0x09, 0xa2, 0xb2, 0x93, 0xc3, 0x99, 0xc8, 0x9d,
+ 0x0c, 0x52, 0x2f, 0x2c, 0x0e, 0xd2, 0x16, 0xcf, 0xfe, 0xf9, 0x96, 0xa5,
+ 0x2a, 0x3f, 0x87, 0x1c, 0xf9, 0x27, 0xde, 0xac, 0x47, 0xbc, 0x4f, 0xdd,
+ 0xf0, 0x9a, 0xbf, 0x2e, 0x24, 0x3a, 0x3a, 0xa0, 0x29, 0x16, 0x5f, 0xae,
+ 0x75, 0x64, 0x27, 0x41, 0x80, 0xf2, 0x03, 0x02, 0x5f, 0xbd, 0xcc, 0x69,
+ 0x8b, 0xe9, 0x87, 0x08, 0x3e, 0x75, 0x83, 0xda, 0xdd, 0xf7, 0x18, 0x84,
+ 0x3f, 0x68, 0xe8, 0xec, 0xe3, 0x6f, 0x24, 0x5b, 0xe6, 0xee, 0xc6, 0x87,
+ 0xfc, 0x55, 0xef, 0x64, 0x35, 0x49, 0x5e, 0x2c, 0xcc, 0x8b, 0x8b, 0x9e,
+ 0xd2, 0xbb, 0x63, 0x6e, 0xb7, 0xf5, 0x4d, 0x56, 0x4d, 0xb2, 0xaa, 0xac,
+ 0x3b, 0x55, 0x42, 0x58, 0xad, 0xd4, 0xfd, 0x52, 0x4d, 0x80, 0x19, 0x47,
+ 0xd3, 0xa5, 0x82, 0xc6, 0x9a, 0x0d, 0xac, 0x6f, 0xc1, 0x78, 0x6f, 0xe3,
+ 0xf2, 0x6c, 0xa3, 0x56, 0x89, 0x2e, 0x00, 0xf5, 0x97, 0xa2, 0x3f, 0x0d,
+ 0x37, 0x9e, 0xa3, 0x19, 0x4c, 0x9e, 0x2e, 0xb6, 0xa9, 0xeb, 0x4f, 0xf7,
+ 0x1a, 0x09, 0xa5, 0x6d, 0x8f, 0xa8, 0x00, 0x8d, 0x8d, 0x35, 0x64, 0x41,
+ 0xa1, 0xdc, 0x3a, 0x4d, 0x64, 0x2e, 0x9a, 0xdf, 0x4d, 0xd7, 0xdc, 0xa5,
+ 0x01, 0xd6, 0x41, 0x27, 0x24, 0x3b, 0x5c, 0x1b, 0x3a, 0xa9, 0x2f, 0xc3,
+ 0xf8, 0x17, 0x16, 0x53, 0x7c, 0x0c, 0x3f, 0xb9, 0x79, 0xb6, 0xed, 0x97,
+ 0xdd, 0x19, 0x4e, 0xcf, 0xca, 0x3f, 0x67, 0x7d, 0x3f, 0xda, 0x8a, 0xf6,
+ 0x25, 0x57, 0x87, 0x77, 0xb0, 0x46, 0xd0, 0x95, 0x80, 0x4a, 0x9a, 0x66,
+ 0x6c, 0x18, 0x4a, 0xf5, 0xab, 0x4b, 0x9c, 0x60, 0x4e, 0x13, 0x06, 0xc7,
+ 0xb1, 0x54, 0xf4, 0x0f, 0xd1, 0x69, 0x0f, 0xd9, 0x78, 0x7f, 0x95, 0x88,
+ 0x37, 0x02, 0x75, 0x51, 0x37, 0x15, 0xa1, 0xa5, 0x16, 0x0e, 0x73, 0x79,
+ 0x91, 0xf5, 0x82, 0x68, 0x29, 0xa2, 0xaa, 0x39, 0xa4, 0x85, 0xf4, 0x36,
+ 0xd4, 0x6c, 0xc4, 0x4a, 0xe7, 0x34, 0x94, 0x64, 0x0e, 0x75, 0x18, 0xd0,
+ 0x7b, 0xff, 0x76, 0x2f, 0xa4, 0xca, 0x7d, 0x67, 0xe7, 0x54, 0xfa, 0x18,
+ 0x4c, 0xc2, 0x83, 0xb1, 0xe2, 0x3a, 0x65, 0x7e, 0xa8, 0x18, 0x18, 0x42,
+ 0x26, 0xbd, 0x30, 0xfc, 0x34, 0x0b, 0xc0, 0xb2, 0xc6, 0x2d, 0x7c, 0x05,
+ 0x69, 0xf9, 0xaa, 0x25, 0x74, 0x78, 0xcf, 0xb6, 0xbe, 0xb6, 0x4d, 0xca,
+ 0x98, 0xf6, 0x87, 0x50, 0x59, 0xbb, 0xee, 0x36, 0x6a, 0x57, 0xe2, 0xca,
+ 0xb4, 0x71, 0x6b, 0x01, 0x46, 0xaf, 0x20, 0x47, 0x9a, 0x25, 0xcd, 0xdb,
+ 0x41, 0xbe, 0x68, 0xc9, 0xbf, 0x85, 0x71, 0x91, 0x06, 0x3e, 0x10, 0x14,
+ 0x3c, 0x70, 0x07, 0x10, 0x21, 0x82, 0xed, 0x19, 0x7b, 0x46, 0x71, 0x24,
+ 0x76, 0xaa, 0x74, 0xf1, 0x24, 0x0c, 0xc5, 0x5d, 0x13, 0xcc, 0x8d, 0x0e,
+ 0x4c, 0x85, 0x89, 0x19, 0xe2, 0x26, 0x9f, 0x35, 0x57, 0xe8, 0xc9, 0xa3,
+ 0x96, 0x51, 0x2d, 0xb8, 0x00, 0xe4, 0xa4, 0xce, 0xc3, 0xaa, 0xb7, 0x49,
+ 0x8f, 0x03, 0x8f, 0x0f, 0x0c, 0x9b, 0x9a, 0x30, 0x40, 0x16, 0x39, 0xea,
+ 0x70, 0x0e, 0x70, 0x6a, 0xef, 0xb1, 0xaa, 0x67, 0xa1, 0x61, 0x52, 0x73,
+ 0x8b, 0xe6, 0xd4, 0x6e, 0x27, 0x30, 0xd7, 0xb4, 0x3c, 0x6d, 0xa4, 0x37,
+ 0x84, 0x68, 0x78, 0xfb, 0x13, 0x83, 0xe2, 0x7f, 0xb3, 0xad, 0x5d, 0x65,
+ 0xd7, 0x45, 0xe3, 0x57, 0xd0, 0x10, 0x2f, 0x4f, 0x3e, 0xe5, 0x61, 0xa7,
+ 0x06, 0x7c, 0x7d, 0x60, 0x78, 0xcd, 0x92, 0x47, 0x78, 0xbb, 0xad, 0x8e,
+ 0x52, 0x02, 0x4c, 0xb8, 0x4c, 0xe5, 0xf7, 0x0c, 0x96, 0xb2, 0x7d, 0xc9,
+ 0x0f, 0x7d, 0xe5, 0x1e, 0xea, 0x0c, 0x47, 0x5e, 0x7b, 0xf6, 0xd2, 0x6b,
+ 0x32, 0x5d, 0xfd, 0x9c, 0x0a, 0x34, 0xbe, 0x19, 0x24, 0x47, 0x4b, 0x1c,
+ 0xca, 0xc1, 0x57, 0x31, 0xc6, 0xc5, 0x3d, 0x82, 0xeb, 0xd2, 0x96, 0xcb,
+ 0x0f, 0xff, 0x42, 0x26, 0x17, 0x36, 0x8c, 0xe9, 0xd2, 0x56, 0x82, 0x71,
+ 0x3d, 0x8a, 0xf2, 0x83, 0x48, 0xd0, 0x01, 0xb9, 0x94, 0x2b, 0x32, 0x12,
+ 0x66, 0x99, 0xa2, 0x84, 0x2f, 0xe1, 0xdd, 0xa4, 0x6c, 0xa9, 0x95, 0xc0,
+ 0x61, 0x10, 0xb9, 0x0e, 0x2d, 0x04, 0x69, 0xbd, 0xa0, 0x07, 0xd0, 0x26,
+ 0xab, 0x0c, 0x32, 0xab, 0x17, 0x2b, 0x18, 0x48, 0xb6, 0x93, 0x9d, 0x37,
+ 0x29, 0xaa, 0x6a, 0x9d, 0x26, 0xe2, 0xe3, 0xf9, 0x15, 0x45, 0xe2, 0x02,
+ 0x29, 0x7a, 0x79, 0xdd, 0x0c, 0x23, 0x78, 0xaf, 0x88, 0x01, 0x9d, 0x9f,
+ 0x9d, 0x1f, 0xed, 0xfa, 0xa0, 0x98, 0x02, 0x8e, 0xc0, 0x3d, 0x1f, 0x11,
+ 0x25, 0xb2, 0xc0, 0x09, 0x03, 0x65, 0x37, 0x5c, 0xa6, 0x17, 0xda, 0x96,
+ 0x53, 0x41, 0x8c, 0x23, 0xe6, 0x82, 0x2f, 0xc2, 0xe5, 0xef, 0x0a, 0x45,
+ 0xbc, 0x6e, 0x88, 0xee, 0x62, 0x2a, 0x3c, 0xe2, 0x67, 0x21, 0xac, 0x4c,
+ 0xcd, 0x09, 0xe5, 0x40, 0x64, 0x19, 0xa2, 0xf8, 0xaf, 0xdd, 0x4f, 0x84,
+ 0x0a, 0x17, 0x82, 0x59, 0x26, 0x9c, 0x78, 0x14, 0x49, 0xe9, 0x92, 0x20,
+ 0xaf, 0x7b, 0x12, 0x01, 0x09, 0x2d, 0x86, 0x04, 0xba, 0x90, 0xcb, 0xb5,
+ 0x20, 0x6f, 0x29, 0x51, 0x2d, 0x63, 0x2a, 0x8f, 0x7a, 0xfb, 0xc0, 0xdb,
+ 0xbe, 0x16, 0x2d, 0x8b, 0x4c, 0xba, 0x96, 0xa5, 0xc9, 0xbb, 0xd3, 0xf1,
+ 0x85, 0x1f, 0x44, 0x82, 0x1e, 0x16, 0xa4, 0x32, 0xb7, 0x81, 0xdd, 0xbc,
+ 0xd4, 0xa2, 0xd3, 0x93, 0xf1, 0xc5, 0x28, 0xd6, 0xb1, 0xc1, 0x68, 0xe7,
+ 0x63, 0x2a, 0xb7, 0x69, 0x01, 0x65, 0x24, 0xdc, 0x1d, 0x9c, 0x13, 0x8d,
+ 0x39, 0x3a, 0xc6, 0xd1, 0xa2, 0xbc, 0xf2, 0x41, 0x21, 0xba, 0xc3, 0x99,
+ 0x29, 0xfe, 0x91, 0xd3, 0x94, 0x25, 0xc5, 0x59, 0xa3, 0x44, 0xf5, 0x7a,
+ 0x32, 0xf4, 0x90, 0x14, 0x59, 0xdf, 0x41, 0x8b, 0x2e, 0x43, 0xbd, 0x46,
+ 0x42, 0x7d, 0x0a, 0x6d, 0xcc, 0x1d, 0x26, 0x28, 0xec, 0x8f, 0x20, 0x60,
+ 0xb6, 0x5c, 0xdd, 0xd3, 0x24, 0x03, 0xe2, 0x2e, 0x9c, 0x4c, 0xf4, 0xec,
+ 0x83, 0x89, 0x8a, 0xb6, 0xa2, 0xb3, 0x93, 0xd2, 0xd5, 0xb1, 0x5d, 0xb3,
+ 0x40, 0x61, 0xbb, 0x9f, 0x12, 0xa7, 0xf4, 0x48, 0xd0, 0x11, 0x5d, 0x9d,
+ 0x65, 0xec, 0x72, 0xb2, 0xd3, 0xee, 0x05, 0x01, 0xce, 0x67, 0x8c, 0x83,
+ 0x59, 0xb7, 0x81, 0x30, 0x19, 0xf4, 0x80, 0x98, 0x0e, 0x37, 0x00, 0x22,
+ 0xd5, 0xad, 0xef, 0x24, 0xd9, 0x27, 0xd7, 0xca, 0x4f, 0x1d, 0x7e, 0xcf,
+ 0x19, 0xcf, 0x08, 0x94, 0x0d, 0xfa, 0x10, 0xda, 0x42, 0x32, 0xd2, 0x66,
+ 0x4c, 0x1f, 0x4e, 0x5e, 0x9f, 0xda, 0xdd, 0x92, 0xdd, 0x41, 0x0a, 0xad,
+ 0x5d, 0x2b, 0x95, 0xb5, 0x28, 0xdb, 0xc4, 0x99, 0x04, 0x41, 0x9f, 0x75,
+ 0x91, 0xff, 0x1d, 0xa9, 0x56, 0xd0, 0x5d, 0xe7, 0x39, 0xe0, 0xbc, 0x52,
+ 0xb8, 0xce, 0x55, 0x92, 0x6d, 0xd7, 0xb6, 0x93, 0x5d, 0x3e, 0xb3, 0xe5,
+ 0x1f, 0x1c, 0xe3, 0x8b, 0xe6, 0x1f, 0x6f, 0x44, 0x4e, 0x39, 0x68, 0xc3,
+ 0x9b, 0x02, 0xe5, 0x58, 0xc0, 0xc8, 0x8c, 0x40, 0xda, 0x43, 0xf9, 0x62,
+ 0xa0, 0x5c, 0x40, 0x37, 0x73, 0xd9, 0x75, 0x6d, 0x90, 0x9d, 0xb2, 0x92,
+ 0xa2, 0xc7, 0x9d, 0x37, 0xef, 0xcf, 0xde, 0x0e, 0x2f, 0xce, 0xd0, 0xea,
+ 0x1e, 0xe6, 0xdc, 0x62, 0x43, 0x8a, 0x48, 0x6d, 0xfb, 0xa4, 0x3a, 0x94,
+ 0x12, 0xf1, 0xb5, 0xed, 0xd4, 0xbb, 0x52, 0xe8, 0xc3, 0x22, 0x05, 0xd3,
+ 0xd3, 0xb7, 0x82, 0xf6, 0x25, 0x05, 0x6b, 0x22, 0x29, 0x5a, 0xa4, 0x92,
+ 0xdf, 0x71, 0xea, 0xc5, 0xb1, 0x38, 0xa5, 0x43, 0x38, 0xf7, 0x64, 0x5d,
+ 0xdf, 0x25, 0x52, 0x5b, 0x4a, 0x98, 0x85, 0xb0, 0xa5, 0xc2, 0xe8, 0x80,
+ 0xed, 0xbd, 0x6d, 0x91, 0x8a, 0xa8, 0xea, 0x8e, 0xcb, 0xba, 0x9a, 0xd2,
+ 0x5c, 0xdf, 0xb4, 0xaa, 0xca, 0x1b, 0x15, 0x5c, 0x52, 0xfb, 0x6d, 0xa6,
+ 0x4e, 0x87, 0x54, 0xdd, 0xf5, 0xa2, 0xbb, 0x08, 0x60, 0x99, 0x76, 0x0e,
+ 0xdf, 0xa8, 0xfe, 0x3d, 0x6e, 0x63, 0x6e, 0x68, 0x06, 0xf8, 0xb0, 0xa9,
+ 0xd6, 0x54, 0x52, 0x1a, 0x77, 0x3b, 0x9f, 0x12, 0x9b, 0x6c, 0xa7, 0x8c,
+ 0x0f, 0x04, 0x51, 0x91, 0x00, 0x78, 0xd0, 0xeb, 0xcd, 0xfa, 0x25, 0xe1,
+ 0x9f, 0xe0, 0x98, 0xe2, 0x1f, 0x82, 0x1b, 0x2c, 0x50, 0xcb, 0xa4, 0xd1,
+ 0x53, 0x1b, 0x57, 0xa4, 0x8d, 0xbb, 0x5c, 0xbc, 0xbc, 0xe1, 0xfe, 0x9b,
+ 0x9a, 0x84, 0x03, 0x30, 0x35, 0x30, 0x03, 0xfa, 0x69, 0xa0, 0x4b, 0x2a,
+ 0x4a, 0x52, 0x4e, 0x08, 0x15, 0xb3, 0xf5, 0x14, 0xc7, 0x44, 0x11, 0x3f,
+ 0x6a, 0xef, 0x39, 0x61, 0xdc, 0x56, 0x05, 0x79, 0xa0, 0xa1, 0x5d, 0xba,
+ 0x3c, 0x3b, 0x70, 0xba, 0x5a, 0x56, 0xc2, 0x8f, 0xb9, 0x9e, 0x65, 0xa4,
+ 0x4c, 0x52, 0xee, 0x6b, 0xc6, 0x8a, 0x65, 0xd5, 0xb5, 0x39, 0x29, 0xaa,
+ 0xa4, 0x3d, 0x93, 0x43, 0x76, 0x45, 0xa0, 0xf9, 0x80, 0x0b, 0x97, 0xa0,
+ 0x3f, 0x21, 0x5b, 0x12, 0x01, 0x23, 0xe8, 0xfe, 0xe7, 0xb4, 0x36, 0x7c,
+ 0xa9, 0x3d, 0xde, 0xee, 0x06, 0xf7, 0xf4, 0x5a, 0x0b, 0x2b, 0xbc, 0xd3,
+ 0x6b, 0x1d, 0x48, 0xfc, 0xe4, 0x4e, 0x5a, 0x18, 0x17, 0x9c, 0x9a, 0xe1,
+ 0xed, 0xb8, 0xb0, 0x28, 0x00, 0x2f, 0x22, 0x57, 0x3d, 0x45, 0xb7, 0xeb,
+ 0xeb, 0x18, 0x73, 0x4a, 0x6d, 0x3f, 0xc7, 0x26, 0xd1, 0x8f, 0x26, 0x3b,
+ 0x5a, 0xf9, 0x69, 0x2b, 0x91, 0x4e, 0xe5, 0x57, 0xcf, 0x6d, 0x69, 0x2a,
+ 0xf1, 0xb4, 0xce, 0x70, 0x47, 0xdf, 0x7f, 0xdf, 0xee, 0xbf, 0xbc, 0xdb,
+ 0x07, 0x86, 0x21, 0x35, 0x29, 0x33, 0xe6, 0x7d, 0x3a, 0xe1, 0xa0, 0xae,
+ 0x4e, 0xc9, 0x8e, 0x42, 0x0c, 0xc8, 0xe2, 0x67, 0x07, 0x8c, 0x78, 0x8a,
+ 0x8c, 0x09, 0x78, 0xa5, 0xc5, 0x56, 0xad, 0x14, 0x0e, 0xc0, 0x64, 0x9c,
+ 0x44, 0x72, 0x16, 0xc1, 0x70, 0x35, 0xf7, 0x82, 0x63, 0x2a, 0xc8, 0x49,
+ 0xf7, 0xb7, 0xab, 0x76, 0xce, 0x99, 0x2b, 0x8a, 0x2d, 0x08, 0x50, 0xf3,
+ 0xe6, 0x26, 0xd1, 0x16, 0x38, 0xd3, 0x96, 0x5e, 0x42, 0xde, 0x73, 0x5b,
+ 0x09, 0x4a, 0x8b, 0x9d, 0x56, 0x99, 0x78, 0x1b, 0xb4, 0x09, 0x50, 0x10,
+ 0x45, 0x26, 0xd0, 0x1e, 0xbe, 0x3c, 0x70, 0xaa, 0xa6, 0xde, 0x7d, 0x71,
+ 0x78, 0x8b, 0x9d, 0x13, 0x93, 0x32, 0x8c, 0x50, 0x7b, 0xbf, 0x29, 0x01,
+ 0xb1, 0x89, 0xde, 0x4b, 0x80, 0x8d, 0x2b, 0xd9, 0xb1, 0x25, 0xed, 0x83,
+ 0x59, 0xde, 0xfc, 0x41, 0x6f, 0xee, 0xc8, 0x0f, 0x5e, 0x12, 0x15, 0xc4,
+ 0x42, 0xa0, 0xca, 0x4c, 0xe8, 0x5c, 0x08, 0xdb, 0x97, 0x72, 0xe1, 0xb4,
+ 0x25, 0x19, 0x79, 0x8a, 0x35, 0x46, 0xce, 0xea, 0x34, 0x90, 0x28, 0x96,
+ 0x30, 0x5e, 0x42, 0xa0, 0x69, 0x77, 0x65, 0x29, 0x87, 0x07, 0x4e, 0x4f,
+ 0x87, 0x4b, 0xc7, 0xce, 0x2d, 0x63, 0x94, 0x0e, 0xf1, 0x58, 0xdd, 0x97,
+ 0x6e, 0x22, 0xc8, 0xe3, 0xc8, 0x81, 0xe3, 0xf6, 0x29, 0xfe, 0x9e, 0xa9,
+ 0x9b, 0xcc, 0xa2, 0x9e, 0x48, 0xa1, 0x99, 0xf4, 0xe1, 0xf8, 0xea, 0xf8,
+ 0xa2, 0x7b, 0xb5, 0xfc, 0xc8, 0x21, 0x30, 0x46, 0xcc, 0xbf, 0xcf, 0x3f,
+ 0x5c, 0xec, 0xa2, 0x39, 0x99, 0x02, 0x06, 0x37, 0xad, 0xa6, 0x33, 0xb6,
+ 0x7e, 0x35, 0x2c, 0xc5, 0x61, 0x54, 0x0f, 0xe1, 0x53, 0x92, 0x0c, 0x24,
+ 0x37, 0x83, 0x7c, 0x2c, 0x47, 0xfb, 0x07, 0xc6, 0x8e, 0xda, 0x3f, 0x44,
+ 0xc3, 0xe9, 0xa3, 0xfd, 0x23, 0x0b, 0x84, 0xa0, 0x4f, 0x85, 0x6d, 0x2a,
+ 0xf8, 0x45, 0xb8, 0x4c, 0x40, 0xf7, 0x47, 0xb7, 0xb7, 0xf8, 0x71, 0xbb,
+ 0xbc, 0x62, 0x68, 0x4b, 0x12, 0xfd, 0x69, 0x46, 0xe5, 0xbe, 0xb7, 0xdf,
+ 0x88, 0xec, 0xad, 0x0b, 0x2e, 0x00, 0x46, 0x43, 0x6f, 0xc2, 0x0d, 0x19,
+ 0xf5, 0x77, 0xb7, 0xf2, 0x5a, 0xf5, 0x09, 0x3a, 0x9a, 0xdf, 0x9e, 0xce,
+ 0x10, 0x8b, 0x8f, 0x38, 0x23, 0x28, 0x24, 0x01, 0x6b, 0xa6, 0x67, 0x04,
+ 0xaf, 0xc9, 0xec, 0xc1, 0xad, 0xdb, 0x21, 0xdb, 0x32, 0x55, 0x18, 0x80,
+ 0x11, 0x74, 0xc2, 0x8e, 0x6c, 0x31, 0x4d, 0xc4, 0x09, 0x41, 0xfc, 0xef,
+ 0x39, 0xa5, 0x89, 0x98, 0x3b, 0x81, 0xfd, 0xd5, 0xbf, 0x6a, 0x1e, 0x1f,
+ 0xff, 0xeb, 0xa8, 0x2d, 0x29, 0xc9, 0x3d, 0xac, 0x83, 0xbe, 0x90, 0xbf,
+ 0x04, 0xbe, 0x4a, 0xf4, 0x19, 0x86, 0x6e, 0x8c, 0x0e, 0x31, 0xbb, 0x2d,
+ 0xff, 0x09, 0xc6, 0xb0, 0x13, 0x13, 0x2d, 0x45, 0x3a, 0xb8, 0x33, 0x8b,
+ 0xee, 0xd2, 0x46, 0x4b, 0x3e, 0x8c, 0xfa, 0x1a, 0x00, 0xaa, 0x26, 0x18,
+ 0x8c, 0xaf, 0x09, 0x16, 0x16, 0x31, 0xc0, 0x53, 0x89, 0xcb, 0x55, 0xec,
+ 0xee, 0xd6, 0x0a, 0xfe, 0x40, 0xc2, 0xd5, 0x3a, 0xdb, 0x65, 0x8e, 0x9d,
+ 0xe9, 0x24, 0x2f, 0x1b, 0xf4, 0x83, 0x86, 0x1f, 0x2c, 0x34, 0x51, 0x69,
+ 0x2b, 0x06, 0xbc, 0x15, 0xe8, 0xb3, 0x4e, 0x0d, 0x73, 0x34, 0x05, 0xb3,
+ 0x35, 0x53, 0x0e, 0x84, 0x2c, 0xfd, 0x44, 0x8d, 0x58, 0x86, 0xed, 0x44,
+ 0x93, 0xf7, 0x92, 0xce, 0x42, 0xcd, 0x3d, 0x24, 0xd1, 0x4a, 0x6a, 0xbf,
+ 0x74, 0x83, 0x7e, 0x34, 0xc0, 0xdf, 0x1e, 0xef, 0x3f, 0xe3, 0x13, 0x3d,
+ 0x39, 0xbe, 0x78, 0xd3, 0x75, 0xe6, 0x55, 0x86, 0xa0, 0xf8, 0xbf, 0xc3,
+ 0x2c, 0xad, 0xae, 0x8c, 0x71, 0x41, 0x50, 0x49, 0x43, 0xea, 0xbf, 0x31,
+ 0xdc, 0xdf, 0x8f, 0xe5, 0x6d, 0xfc, 0x8a, 0xf0, 0x10, 0x47, 0x8f, 0xda,
+ 0x21, 0x3d, 0x52, 0xe9, 0x87, 0xb4, 0xdd, 0xfd, 0x48, 0xbe, 0x6d, 0xf2,
+ 0x4a, 0x55, 0x77, 0x96, 0xc7, 0x5b, 0x01, 0xfb, 0x2c, 0xb1, 0x90, 0xd0,
+ 0x49, 0x17, 0x08, 0xd3, 0x33, 0xb1, 0xbb, 0xea, 0x8d, 0xcd, 0x4e, 0x32,
+ 0x62, 0x1e, 0x32, 0xa9, 0xb9, 0xdb, 0x4d, 0xb8, 0x8f, 0x24, 0xb7, 0x7b,
+ 0x6b, 0xc0, 0x00, 0x60, 0x41, 0x44, 0x0b, 0xe7, 0x6b, 0xa9, 0x1d, 0xac,
+ 0x32, 0x82, 0x5c, 0x63, 0xb5, 0x4f, 0xda, 0x66, 0xdd, 0x0f, 0x1b, 0x87,
+ 0x2d, 0xa8, 0xa6, 0x2b, 0x29, 0x22, 0xe5, 0x7f, 0x93, 0x28, 0x6e, 0xe5,
+ 0xcf, 0x1e, 0x3e, 0x8e, 0x6c, 0x1c, 0x04, 0xf6, 0xcf, 0xdc, 0x38, 0xa7,
+ 0x1c, 0xb1, 0xff, 0x0e, 0x06, 0xaf, 0x2d, 0x75, 0x8b, 0x64, 0x6a, 0x6b,
+ 0x5b, 0xe7, 0x9f, 0xbc, 0x16, 0xda, 0xed, 0xd1, 0x26, 0xf0, 0x49, 0xf7,
+ 0xd6, 0xcf, 0x5c, 0xcb, 0xc0, 0x75, 0x3e, 0x21, 0xe9, 0xb1, 0x94, 0xc6,
+ 0x6e, 0xf0, 0x33, 0x20, 0xa0, 0xd9, 0x05, 0x86, 0xc9, 0x56, 0x19, 0x16,
+ 0xef, 0xe7, 0x2d, 0x78, 0xc4, 0x6d, 0x6d, 0x54, 0xb2, 0x15, 0xb5, 0x20,
+ 0xd2, 0x08, 0xd1, 0x7c, 0x45, 0x88, 0x1f, 0x75, 0xd4, 0xcf, 0x22, 0x66,
+ 0x3e, 0xfb, 0x11, 0xb0, 0x99, 0xea, 0x92, 0x1d, 0x88, 0x18, 0x93, 0xd7,
+ 0x75, 0x8f, 0x95, 0x67, 0x05, 0x4a, 0xe3, 0x75, 0xba, 0x20, 0x73, 0x1d,
+ 0x63, 0xd8, 0xc3, 0x2a, 0x5d, 0x65, 0x3d, 0x0f, 0x5e, 0xf6, 0x88, 0x7f,
+ 0x7f, 0x1e, 0x85, 0x7d, 0x9f, 0x13, 0x1e, 0x55, 0x99, 0xfd, 0xf6, 0xfd,
+ 0x9b, 0xbf, 0xa8, 0xdd, 0xbd, 0x3b, 0xe8, 0xb1, 0x84, 0x3b, 0xd3, 0x9d,
+ 0x64, 0x5e, 0x22, 0xa0, 0x40, 0x40, 0xb4, 0x76, 0x9d, 0xff, 0xe5, 0xb2,
+ 0x2c, 0x83, 0xa0, 0x02, 0x92, 0x3e, 0x76, 0x28, 0xcc, 0x66, 0x9e, 0x1b,
+ 0x8b, 0x49, 0x77, 0x34, 0x7a, 0x0c, 0x7f, 0xc8, 0x9b, 0x57, 0x8f, 0x8f,
+ 0x0e, 0x0f, 0x8c, 0xd5, 0xba, 0xd3, 0xe1, 0x16, 0xbb, 0x9f, 0x3d, 0x68,
+ 0xb7, 0xed, 0x79, 0x67, 0xb7, 0x2b, 0xa2, 0xbd, 0x9d, 0xe3, 0xef, 0xcf,
+ 0xdf, 0x05, 0x6b, 0x34, 0x6b, 0x0a, 0x02, 0xa9, 0x7d, 0x6b, 0x74, 0xba,
+ 0x40, 0x6b, 0x7c, 0xcd, 0x3f, 0x46, 0xc3, 0xea, 0x48, 0xa8, 0xf2, 0x4d,
+ 0x95, 0x93, 0x8e, 0xbb, 0x45, 0x5b, 0xb2, 0x75, 0x5a, 0x16, 0x33, 0x23,
+ 0xfa, 0xcf, 0x08, 0xa2, 0x2f, 0xdb, 0x32, 0xba, 0xfa, 0xbd, 0xab, 0xeb,
+ 0xbf, 0x26, 0x6f, 0x07, 0xb8, 0x2a, 0x45, 0x98, 0xe1, 0xf2, 0x16, 0x3f,
+ 0x04, 0x22, 0x32, 0x81, 0x9b, 0x70, 0x8d, 0xc9, 0xfa, 0x32, 0x63, 0xf7,
+ 0x2e, 0x99, 0x66, 0xed, 0xdb, 0x76, 0x8b, 0x86, 0x44, 0xf0, 0xf8, 0xbc,
+ 0x80, 0x43, 0xbb, 0x2f, 0x16, 0xc2, 0xdc, 0x52, 0xa3, 0x21, 0xec, 0x23,
+ 0xda, 0x51, 0xb7, 0xfe, 0xae, 0xd7, 0xd1, 0x1d, 0xe0, 0x9d, 0x1c, 0xeb,
+ 0x20, 0xbd, 0x2d, 0xc2, 0x73, 0xf1, 0x98, 0xb3, 0x2b, 0xf2, 0x76, 0x4a,
+ 0x3c, 0x6e, 0x22, 0xc0, 0x20, 0x06, 0x6d, 0xec, 0xc2, 0x98, 0x0f, 0x1c,
+ 0x19, 0x04, 0xe8, 0xb8, 0x97, 0x16, 0x6d, 0x9c, 0x57, 0x02, 0x33, 0x60,
+ 0xeb, 0x27, 0xbb, 0x45, 0x13, 0x55, 0xa3, 0x22, 0x3e, 0x39, 0x0a, 0xe5,
+ 0x91, 0x2c, 0x45, 0xe0, 0x5d, 0xc4, 0xcd, 0x64, 0xa1, 0xa8, 0xdf, 0x38,
+ 0xb5, 0x77, 0x10, 0x8d, 0x43, 0xc4, 0x42, 0x52, 0x1c, 0x95, 0x10, 0xeb,
+ 0xac, 0x13, 0x97, 0xf0, 0xe3, 0x10, 0xb8, 0x29, 0x14, 0x89, 0x90, 0x28,
+ 0x43, 0x68, 0xa8, 0x78, 0x91, 0x89, 0xfe, 0xd0, 0xc4, 0x86, 0x60, 0x44,
+ 0xd7, 0x04, 0xb5, 0xa1, 0x89, 0x16, 0xf1, 0x3d, 0xfe, 0x3c, 0x42, 0x7c,
+ 0xef, 0xce, 0x2e, 0x8e, 0x9f, 0x0b, 0xc4, 0x97, 0x62, 0xe1, 0xa8, 0x99,
+ 0xc0, 0x89, 0x69, 0xdc, 0xc8, 0x9d, 0x6b, 0x0e, 0x49, 0xc8, 0xea, 0xa9,
+ 0x0f, 0x62, 0x57, 0x1e, 0x39, 0xe2, 0x74, 0x4d, 0xd8, 0xcb, 0xdb, 0xf4,
+ 0x22, 0xe4, 0xa2, 0xd4, 0x5f, 0x2c, 0x03, 0xa6, 0x27, 0x3a, 0xff, 0x10,
+ 0x19, 0x05, 0xf0, 0x19, 0x40, 0xa4, 0x60, 0x79, 0x1b, 0x90, 0x10, 0x8b,
+ 0x32, 0x36, 0xb8, 0x6c, 0xc2, 0xe2, 0x94, 0xfa, 0xa9, 0x86, 0x4d, 0x40,
+ 0x11, 0xa1, 0x7b, 0x23, 0x8d, 0xe4, 0x61, 0x8f, 0x58, 0x98, 0xcd, 0x4d,
+ 0x22, 0xce, 0x05, 0x12, 0xbb, 0x97, 0x4a, 0x8c, 0x33, 0xf2, 0x02, 0xfe,
+ 0xa9, 0x17, 0xe6, 0xaa, 0xf1, 0xee, 0x93, 0xd2, 0x89, 0xb9, 0x47, 0x6a,
+ 0xa5, 0x91, 0x55, 0x69, 0xcd, 0x14, 0xc1, 0xb0, 0x09, 0xc3, 0xd7, 0x60,
+ 0x81, 0x6d, 0xb7, 0x88, 0x6a, 0x69, 0x03, 0xab, 0xae, 0x21, 0x71, 0x27,
+ 0x43, 0x59, 0x16, 0x1b, 0xe0, 0xd0, 0x16, 0x7a, 0x90, 0x58, 0x7d, 0x8c,
+ 0x01, 0x51, 0xaa, 0x49, 0xf4, 0x4d, 0x8d, 0xe0, 0xf6, 0x2b, 0x10, 0xa0,
+ 0xf3, 0xc1, 0x9a, 0xcd, 0x19, 0xe8, 0xc1, 0x7c, 0xe4, 0xf1, 0x7e, 0x8f,
+ 0x2d, 0xcb, 0x2a, 0xef, 0x38, 0x6b, 0x0b, 0x5a, 0xf3, 0xc6, 0xf0, 0xc0,
+ 0x3a, 0x61, 0x73, 0x14, 0xb7, 0x0b, 0x9a, 0xdb, 0xaf, 0x17, 0x62, 0x5a,
+ 0x0e, 0xe4, 0x8c, 0x36, 0xe6, 0x31, 0xbe, 0xd5, 0xb0, 0x2f, 0x3d, 0x94,
+ 0x17, 0x9a, 0xa2, 0xc6, 0x9a, 0x12, 0x47, 0xf1, 0x14, 0xb4, 0xd6, 0xdc,
+ 0xcc, 0x92, 0xa2, 0xe7, 0x2e, 0xf8, 0x1d, 0x1a, 0x73, 0xe4, 0xa4, 0x18,
+ 0x25, 0x89, 0x8f, 0x40, 0xa6, 0x25, 0x47, 0x72, 0x30, 0xb4, 0xeb, 0xf0,
+ 0xb7, 0x4d, 0xa8, 0x7e, 0x3f, 0xf9, 0x5b, 0x39, 0x11, 0x27, 0x0c, 0x59,
+ 0x8e, 0x31, 0x24, 0x9f, 0x39, 0xf2, 0xe7, 0xd7, 0x86, 0xca, 0x66, 0x6b,
+ 0xf6, 0xab, 0xd2, 0x84, 0x24, 0x13, 0x9b, 0x5b, 0x3f, 0x53, 0xc0, 0x23,
+ 0xb9, 0x04, 0x8e, 0x26, 0xa7, 0x82, 0x6a, 0x21, 0x7a, 0x58, 0xed, 0x7c,
+ 0xd8, 0x45, 0x6b, 0x49, 0xa7, 0xe4, 0x0d, 0x31, 0x83, 0x0b, 0x38, 0x02,
+ 0x03, 0xee, 0xb9, 0x84, 0xf5, 0x74, 0xda, 0xac, 0x65, 0xe3, 0xbb, 0xb3,
+ 0x2b, 0xd5, 0x4b, 0x6a, 0xde, 0x05, 0x0c, 0x3c, 0xb2, 0x90, 0xa6, 0x86,
+ 0xf2, 0xd2, 0xe9, 0x9d, 0xea, 0x0b, 0x4e, 0xb8, 0x0a, 0xa0, 0xa3, 0x03,
+ 0x8d, 0x0f, 0x6b, 0x3c, 0x75, 0x12, 0x14, 0xed, 0xcc, 0xeb, 0x9e, 0x6e,
+ 0x2d, 0xbf, 0xa8, 0x9d, 0xe2, 0xf7, 0xdc, 0x62, 0xa7, 0xb3, 0x02, 0x4f,
+ 0xb6, 0xae, 0x7a, 0xd6, 0xa4, 0xb4, 0xcb, 0x1b, 0x8b, 0xd1, 0x9d, 0x4b,
+ 0xc0, 0x56, 0xd6, 0x20, 0x32, 0x88, 0x7a, 0x46, 0xaa, 0xb1, 0x41, 0x1c,
+ 0x5c, 0x1b, 0x4e, 0x9d, 0x84, 0x7a, 0xc4, 0x5b, 0xf9, 0x0a, 0xf3, 0xc3,
+ 0x1d, 0x30, 0x2b, 0x57, 0x51, 0x4a, 0xc3, 0x3c, 0xe2, 0x8c, 0xb1, 0xe4,
+ 0xf1, 0xe7, 0x8f, 0x1f, 0xed, 0x6a, 0xf3, 0x62, 0xcd, 0x42, 0xdc, 0x8d,
+ 0x75, 0x00, 0xc4, 0x8d, 0x93, 0x9e, 0x0a, 0xd0, 0x6b, 0x72, 0xea, 0x91,
+ 0xc9, 0x68, 0x1d, 0xe2, 0xd8, 0xcc, 0xb9, 0x69, 0x16, 0xb9, 0xd8, 0xd1,
+ 0x7e, 0x8e, 0x99, 0x72, 0x90, 0x3f, 0x40, 0x1f, 0xcb, 0xf8, 0xe5, 0x1d,
+ 0x70, 0xf8, 0xb4, 0x76, 0xcc, 0xdb, 0x55, 0x06, 0x31, 0xb4, 0x3f, 0x94,
+ 0x34, 0x4d, 0x7d, 0xdb, 0x45, 0xf9, 0x7a, 0xb4, 0xac, 0x9c, 0xd3, 0xcf,
+ 0xa1, 0xa9, 0x8a, 0xea, 0x71, 0x45, 0x1d, 0xd9, 0x4b, 0x4f, 0x2e, 0xb0,
+ 0x6f, 0x84, 0x6b, 0xbb, 0x58, 0xf0, 0xc4, 0x80, 0xaa, 0x81, 0x33, 0x51,
+ 0x73, 0x86, 0x54, 0x7b, 0x1f, 0x19, 0xfa, 0x14, 0xe0, 0x0b, 0xf2, 0xbe,
+ 0x24, 0x48, 0xc9, 0x99, 0x30, 0xe2, 0x6e, 0x20, 0x90, 0x97, 0xda, 0x1d,
+ 0x8a, 0x55, 0x8f, 0xb2, 0x72, 0xa5, 0xb9, 0x1c, 0xa4, 0x61, 0x71, 0x89,
+ 0x7c, 0xe1, 0x3e, 0xe0, 0x1d, 0x75, 0x83, 0xa4, 0x8a, 0x11, 0xd2, 0x9a,
+ 0x59, 0x6f, 0x7d, 0x8b, 0x52, 0x9b, 0x42, 0xf1, 0x74, 0xcb, 0x5a, 0xf4,
+ 0xef, 0x96, 0x2a, 0xc3, 0x8a, 0x36, 0xfe, 0x6a, 0x67, 0x23, 0x7a, 0x66,
+ 0x0f, 0x4b, 0x8a, 0x71, 0xf3, 0xe0, 0x4b, 0x09, 0x9b, 0xc3, 0x2e, 0x92,
+ 0x1d, 0x4c, 0x78, 0x6f, 0x6f, 0xf7, 0xfe, 0x49, 0xcb, 0x93, 0xf7, 0x4d,
+ 0xf2, 0x9c, 0x1d, 0x1b, 0x5e, 0x3b, 0x89, 0xb9, 0x37, 0x07, 0xfa, 0xa6,
+ 0x07, 0x97, 0x31, 0x60, 0x8a, 0x84, 0x83, 0xb9, 0x20, 0xcc, 0xd3, 0xf4,
+ 0x2e, 0x74, 0xe2, 0x6b, 0x56, 0x1a, 0x2f, 0xb0, 0xbd, 0x76, 0xad, 0x47,
+ 0x06, 0x9c, 0x9f, 0xb0, 0x10, 0x4a, 0x8d, 0x02, 0xbe, 0xda, 0x4b, 0x43,
+ 0x84, 0xa1, 0xbe, 0xe9, 0xa6, 0xe5, 0x2d, 0x0e, 0x26, 0x6e, 0x3e, 0x48,
+ 0x3c, 0x37, 0x3b, 0xdf, 0x42, 0xf5, 0x41, 0xb0, 0x3b, 0x3e, 0x52, 0x1b,
+ 0xa1, 0x4f, 0xdb, 0x0c, 0x4b, 0xee, 0xa4, 0x3e, 0x0a, 0x10, 0x91, 0xf9,
+ 0x49, 0xd7, 0xcd, 0x3b, 0xd2, 0x4b, 0xc1, 0x77, 0x91, 0xca, 0x80, 0x86,
+ 0xa3, 0x7e, 0x72, 0x6b, 0x66, 0x3c, 0x62, 0xee, 0xd8, 0x2e, 0x0d, 0xf9,
+ 0x74, 0x30, 0x9a, 0x6e, 0xc0, 0x78, 0x31, 0x37, 0x4b, 0xdf, 0xd8, 0x31,
+ 0x06, 0xe3, 0x99, 0xf0, 0x4f, 0x5b, 0x9b, 0x39, 0xe0, 0x3b, 0x0a, 0x18,
+ 0x9c, 0x98, 0xae, 0x8e, 0xae, 0x89, 0x21, 0x92, 0x83, 0xdd, 0xc3, 0x8d,
+ 0x29, 0x78, 0x36, 0x07, 0x0f, 0x7e, 0x5e, 0xc9, 0xc2, 0x0b, 0xe5, 0xac,
+ 0xfa, 0xda, 0x74, 0xd0, 0xb6, 0xaf, 0xe1, 0x69, 0xdb, 0xd7, 0x60, 0x41,
+ 0x29, 0xe2, 0x1a, 0x1a, 0x27, 0x5f, 0xd6, 0xc9, 0x3b, 0x7d, 0x2c, 0xd9,
+ 0x19, 0x9f, 0xbf, 0x3b, 0xfe, 0xea, 0x6c, 0xf7, 0x3e, 0x1f, 0x65, 0x9b,
+ 0xff, 0xdb, 0x75, 0xa5, 0x9a, 0x25, 0x2c, 0xd3, 0x87, 0x75, 0xf2, 0xd5,
+ 0x78, 0x3c, 0x7c, 0x79, 0x7e, 0x82, 0x2e, 0x97, 0x63, 0xf3, 0x67, 0x0f,
+ 0x16, 0xfb, 0x08, 0xad, 0x00, 0x86, 0xdf, 0x4a, 0xed, 0x68, 0xad, 0x49,
+ 0x82, 0xf0, 0x00, 0xd2, 0x61, 0x0a, 0x7a, 0x22, 0xef, 0x91, 0x85, 0xf6,
+ 0xc0, 0xf0, 0x5d, 0x93, 0xe7, 0xfc, 0x64, 0x0f, 0x9f, 0xa2, 0x4f, 0x62,
+ 0x41, 0x3d, 0xee, 0x83, 0x75, 0xd8, 0xe0, 0x92, 0x34, 0x1f, 0xa4, 0x98,
+ 0x82, 0x41, 0x6b, 0x32, 0xb8, 0xb1, 0xfc, 0x48, 0x9c, 0xb8, 0x80, 0x5d,
+ 0xbc, 0xf4, 0x86, 0x5c, 0x61, 0x54, 0x5b, 0xa1, 0xa0, 0xa9, 0x1d, 0xd7,
+ 0x1b, 0x4c, 0x34, 0x86, 0xc6, 0x5b, 0x10, 0xfc, 0xc8, 0x58, 0xa3, 0xab,
+ 0x5d, 0xa7, 0xc8, 0xf6, 0x70, 0x9d, 0x24, 0xcf, 0xb7, 0xa5, 0x71, 0x7c,
+ 0x51, 0xae, 0x2f, 0xaf, 0xd8, 0xc0, 0x6a, 0xfb, 0x21, 0xc0, 0xcb, 0x35,
+ 0xfa, 0x6a, 0x7b, 0x37, 0x98, 0x49, 0x06, 0x24, 0x88, 0x77, 0x54, 0xef,
+ 0xa9, 0x32, 0x0a, 0x0e, 0xb1, 0x7a, 0xc3, 0x49, 0x17, 0xb3, 0xdf, 0x04,
+ 0x03, 0x7d, 0x83, 0x06, 0x32, 0xe1, 0xc0, 0x29, 0xdc, 0x68, 0x45, 0xb3,
+ 0x58, 0xca, 0x5f, 0xd3, 0xe2, 0x0e, 0xee, 0x52, 0xf1, 0xdf, 0xa3, 0xfe,
+ 0xd3, 0xd2, 0x74, 0x9b, 0xd0, 0x9b, 0x6a, 0x0a, 0x43, 0x9f, 0x53, 0x50,
+ 0xb9, 0xf0, 0x73, 0x13, 0xcd, 0xa2, 0xa7, 0xfd, 0xd2, 0x88, 0x69, 0x98,
+ 0x76, 0xc3, 0x62, 0xa0, 0xa3, 0x0c, 0x8c, 0x39, 0x2c, 0x61, 0x32, 0x51,
+ 0x84, 0x85, 0x08, 0x22, 0xac, 0x08, 0x2d, 0x20, 0x77, 0xd2, 0x49, 0x5d,
+ 0x2e, 0xd6, 0x0d, 0x74, 0x01, 0x72, 0x8a, 0x52, 0x71, 0xcd, 0x2e, 0x48,
+ 0x57, 0xc2, 0x97, 0x66, 0xd4, 0xc4, 0x4b, 0x40, 0x4d, 0x62, 0x75, 0x00,
+ 0xae, 0x3d, 0xe9, 0xc8, 0x85, 0x00, 0x38, 0x8a, 0x28, 0xfe, 0x09, 0xda,
+ 0x59, 0x1e, 0x0b, 0x43, 0xad, 0x90, 0x96, 0x74, 0xad, 0x60, 0x6f, 0xe1,
+ 0xf9, 0xe9, 0x59, 0xb5, 0x76, 0x47, 0xbd, 0xeb, 0xc4, 0xba, 0x5b, 0x89,
+ 0xea, 0x4e, 0x6b, 0x8c, 0x71, 0xb6, 0xde, 0x4c, 0x65, 0xcd, 0x16, 0x98,
+ 0xd0, 0x2d, 0x99, 0xdc, 0xd9, 0x8f, 0xf1, 0x77, 0x52, 0xe4, 0xf2, 0x58,
+ 0x45, 0xf8, 0xa1, 0xd0, 0x4a, 0xee, 0x30, 0x46, 0x9b, 0x92, 0x51, 0xda,
+ 0x5f, 0xea, 0x0c, 0xfd, 0x6d, 0xc6, 0x79, 0x67, 0x7c, 0xc4, 0x38, 0x8d,
+ 0xd6, 0x21, 0xb3, 0x96, 0xdf, 0x6d, 0x6a, 0x47, 0x1b, 0x31, 0xc2, 0x13,
+ 0x01, 0x01, 0x53, 0x28, 0xdd, 0xae, 0x4a, 0xd5, 0x23, 0xf2, 0xb7, 0xa5,
+ 0xdc, 0x4e, 0x93, 0x5f, 0xf6, 0xbe, 0x61, 0x4b, 0x81, 0xca, 0xcd, 0x1d,
+ 0x6f, 0xdd, 0xe9, 0x8c, 0x1e, 0xb0, 0x21, 0x6e, 0xfd, 0xee, 0x87, 0x81,
+ 0x65, 0x67, 0xe3, 0xc5, 0x35, 0x20, 0x29, 0xed, 0xa2, 0x0c, 0xe7, 0xff,
+ 0x28, 0x7f, 0xa1, 0x3b, 0xf0, 0x5d, 0x5e, 0x18, 0xcd, 0xb0, 0xde, 0x55,
+ 0xe2, 0xcc, 0x8b, 0x18, 0x8c, 0x02, 0xf1, 0x8e, 0xed, 0xda, 0x58, 0x62,
+ 0x86, 0xe3, 0xb8, 0x44, 0x3d, 0x52, 0x9c, 0x39, 0x60, 0x13, 0xb0, 0x22,
+ 0xaf, 0xb1, 0xe9, 0xdd, 0x2a, 0xa8, 0x9f, 0x99, 0x5a, 0xa6, 0x83, 0x31,
+ 0x00, 0x5e, 0x6c, 0xcc, 0x82, 0x22, 0xbf, 0x1d, 0xd9, 0xe0, 0xbe, 0x45,
+ 0x5f, 0xf3, 0x83, 0x9b, 0x86, 0x11, 0x46, 0x7a, 0xda, 0x83, 0xb3, 0x75,
+ 0x43, 0x58, 0xb4, 0xbb, 0x58, 0xe7, 0xce, 0xe3, 0xdd, 0x64, 0xde, 0xac,
+ 0x76, 0x0e, 0x76, 0x19, 0xc3, 0x5e, 0x7a, 0xa9, 0x97, 0x4e, 0xdc, 0x87,
+ 0x5e, 0x1c, 0xca, 0x2d, 0x4c, 0x5e, 0xd9, 0xcf, 0x22, 0xb8, 0x49, 0x70,
+ 0x6e, 0xa8, 0xe2, 0x9b, 0xcb, 0x0d, 0xe6, 0x0d, 0xb3, 0x0d, 0x98, 0x91,
+ 0xc6, 0x1c, 0xd9, 0x3b, 0xae, 0xc5, 0x5f, 0x11, 0xb2, 0x2b, 0x2a, 0x1b,
+ 0x8d, 0x05, 0xe1, 0xba, 0xe0, 0x4a, 0x2f, 0x30, 0x29, 0x7d, 0x36, 0x3b,
+ 0xb7, 0x98, 0x0d, 0x89, 0x87, 0x5c, 0x56, 0xa5, 0x11, 0x91, 0x55, 0x04,
+ 0xff, 0x52, 0x6c, 0x8a, 0x0b, 0x54, 0xdf, 0x5c, 0xe7, 0x55, 0x59, 0x00,
+ 0x62, 0xf4, 0x3a, 0xad, 0x72, 0x84, 0xf9, 0xb7, 0xbe, 0x3e, 0x7b, 0x7b,
+ 0xbc, 0xe5, 0x3b, 0x45, 0xe6, 0xb9, 0xf8, 0xd1, 0x71, 0x7e, 0x5d, 0x2f,
+ 0xb5, 0x9e, 0x66, 0xcc, 0x69, 0x68, 0x44, 0xfa, 0x94, 0xd5, 0x3e, 0x00,
+ 0x31, 0x00, 0x2a, 0x2e, 0xb3, 0x11, 0x72, 0xa3, 0x4a, 0x4a, 0x12, 0x80,
+ 0xf4, 0x55, 0x54, 0x0a, 0x43, 0x12, 0x50, 0xac, 0xfb, 0x8d, 0x9a, 0x86,
+ 0xe8, 0x80, 0x53, 0xfa, 0x9d, 0xfd, 0x12, 0xaf, 0xfb, 0x1f, 0xa9, 0xf9,
+ 0xda, 0x16, 0xc5, 0xb9, 0xd8, 0xbb, 0xe2, 0x71, 0x79, 0x47, 0x96, 0xcd,
+ 0x76, 0x5b, 0x00, 0x6e, 0xd7, 0x64, 0x8c, 0x37, 0xdb, 0xba, 0xbd, 0x48,
+ 0x17, 0x75, 0x3c, 0x3e, 0xec, 0xb8, 0xdc, 0xf3, 0x75, 0xa6, 0x6a, 0xfe,
+ 0x84, 0x1b, 0x9d, 0x07, 0x77, 0xb7, 0xef, 0x39, 0xdf, 0xbe, 0xdb, 0xe6,
+ 0x5e, 0x7c, 0xa4, 0xd4, 0x15, 0x88, 0xb5, 0x9b, 0x35, 0xb7, 0xa3, 0xf4,
+ 0xd4, 0x63, 0x22, 0xf4, 0x2a, 0x9a, 0xcf, 0x97, 0x53, 0x86, 0x15, 0xb3,
+ 0x71, 0xd5, 0x0e, 0xe0, 0xb3, 0x6a, 0x49, 0x85, 0xd7, 0xb6, 0x15, 0xa3,
+ 0xf5, 0x02, 0x8e, 0x1a, 0xc1, 0x8d, 0x34, 0x2a, 0xc5, 0x5d, 0xcc, 0x2b,
+ 0xc2, 0xf0, 0x71, 0x51, 0x64, 0xf9, 0xd2, 0xc0, 0xaf, 0xa6, 0xee, 0x83,
+ 0x20, 0x76, 0xc9, 0x28, 0x56, 0x2f, 0x61, 0x0c, 0x5e, 0x46, 0x71, 0xb5,
+ 0xf8, 0x6f, 0x8a, 0x64, 0x1b, 0xea, 0xc7, 0x76, 0x27, 0xd5, 0xb1, 0x8d,
+ 0x8a, 0x25, 0xf3, 0x37, 0x36, 0x67, 0x6c, 0xc4, 0x9f, 0x51, 0x3a, 0xa0,
+ 0x70, 0x50, 0xfb, 0x91, 0x14, 0x59, 0x36, 0x59, 0x1c, 0xb4, 0xcd, 0xde,
+ 0x47, 0xb3, 0x34, 0x69, 0xa4, 0x50, 0xaf, 0xab, 0x6b, 0x54, 0xbd, 0x4a,
+ 0xff, 0x2d, 0x4e, 0x0d, 0x76, 0xe7, 0x21, 0xe7, 0x10, 0x91, 0xf2, 0xde,
+ 0x0c, 0x29, 0x6d, 0xb3, 0x12, 0x64, 0xac, 0xe4, 0x2b, 0x9e, 0x85, 0x9d,
+ 0xa0, 0xb5, 0x74, 0x08, 0x00, 0x85, 0xb5, 0xd8, 0x20, 0x49, 0xbf, 0xac,
+ 0x81, 0x9b, 0xdb, 0x54, 0xe9, 0xd4, 0xfd, 0x65, 0x98, 0xd6, 0xd3, 0x3c,
+ 0xd7, 0x7e, 0x4e, 0x14, 0x1f, 0xcc, 0x28, 0x1d, 0x36, 0x8a, 0x8f, 0xe3,
+ 0xce, 0xc3, 0x76, 0x52, 0x99, 0x95, 0xec, 0xde, 0xe5, 0x9c, 0x93, 0x94,
+ 0x5b, 0xfd, 0x51, 0x06, 0x0b, 0x4a, 0xe3, 0x24, 0x78, 0x18, 0x6b, 0x71,
+ 0xa5, 0x95, 0x36, 0x3d, 0xa6, 0xad, 0xb1, 0xbe, 0x0f, 0x7c, 0xf3, 0x5b,
+ 0x37, 0x61, 0x48, 0x28, 0x55, 0x75, 0xc3, 0xa6, 0xe4, 0xcd, 0xcd, 0xa1,
+ 0xff, 0xcc, 0xa6, 0x68, 0x78, 0x07, 0x14, 0xa9, 0x28, 0x87, 0xe9, 0x62,
+ 0x15, 0x4d, 0x71, 0x1b, 0xef, 0xb6, 0x1a, 0x5e, 0xbe, 0x3c, 0x3d, 0x7f,
+ 0x07, 0xbc, 0x3c, 0x42, 0x4e, 0x2f, 0x6a, 0xce, 0x52, 0xa0, 0x9f, 0x51,
+ 0x02, 0x7b, 0xc1, 0xb0, 0x92, 0x48, 0x1a, 0x99, 0x85, 0xe5, 0xd5, 0x68,
+ 0x0e, 0x01, 0xf3, 0x21, 0x66, 0x5f, 0x71, 0x7a, 0x5b, 0x91, 0x78, 0x05,
+ 0x8e, 0xcc, 0xe0, 0xd5, 0xbe, 0xe8, 0x2e, 0xc7, 0x7c, 0xd5, 0x7d, 0x5b,
+ 0xbb, 0x2c, 0xd8, 0x42, 0xa4, 0xf6, 0xbb, 0x16, 0x30, 0xb0, 0x4c, 0x04,
+ 0x1e, 0x30, 0xe0, 0xe7, 0x4d, 0x66, 0xb1, 0x09, 0xc5, 0xae, 0xb3, 0x58,
+ 0xa8, 0xda, 0xc1, 0x8a, 0x93, 0x34, 0x00, 0x5c, 0xa1, 0xf5, 0xf1, 0xf5,
+ 0x66, 0x44, 0x03, 0xb3, 0xb1, 0xc5, 0xaa, 0xe8, 0xe2, 0x6d, 0xc9, 0x76,
+ 0x47, 0x8d, 0xd0, 0x00, 0xfc, 0x6d, 0x63, 0x5d, 0x98, 0x4e, 0x95, 0x1a,
+ 0x67, 0x6d, 0x38, 0xe0, 0x77, 0x03, 0xfe, 0xea, 0x64, 0x4d, 0x1c, 0xa2,
+ 0xf3, 0x05, 0x39, 0x5e, 0x56, 0x9a, 0xf8, 0x09, 0xfa, 0x9e, 0xb8, 0xbf,
+ 0x18, 0x49, 0x89, 0x6a, 0x38, 0xb3, 0x74, 0x69, 0xd4, 0x82, 0x42, 0x0b,
+ 0x05, 0xc8, 0xf3, 0x4b, 0xf9, 0x9c, 0xdd, 0x09, 0xaf, 0x53, 0xe1, 0x58,
+ 0x0a, 0x67, 0x0f, 0x2e, 0xd0, 0xa9, 0x1f, 0xe0, 0xcf, 0x10, 0x27, 0xf5,
+ 0x87, 0x8f, 0xd5, 0x84, 0xe1, 0x75, 0x8b, 0x7b, 0x20, 0x71, 0x1b, 0x6d,
+ 0xfd, 0xc9, 0xc0, 0xe1, 0x3c, 0x84, 0xed, 0xfe, 0x4d, 0x9d, 0xab, 0xae,
+ 0xd6, 0xc5, 0x27, 0x33, 0x85, 0xb0, 0x1c, 0x5a, 0x93, 0x7d, 0xa9, 0xf9,
+ 0x05, 0xb7, 0xcc, 0xa5, 0xbf, 0x70, 0xff, 0x65, 0x3b, 0x02, 0x61, 0x96,
+ 0x5f, 0x93, 0x23, 0x4f, 0x40, 0xbc, 0x3d, 0xe5, 0x34, 0x36, 0xbb, 0x99,
+ 0xbd, 0x1f, 0x66, 0x56, 0x76, 0x03, 0xa3, 0xe9, 0xec, 0x7a, 0xd2, 0xae,
+ 0xd9, 0xbc, 0xa1, 0x46, 0x4f, 0xa4, 0x48, 0x14, 0x5b, 0x01, 0xa4, 0x50,
+ 0x91, 0xa4, 0xa9, 0x5e, 0x01, 0x3b, 0x5c, 0x83, 0xec, 0xc9, 0x64, 0xc3,
+ 0x37, 0x81, 0xdd, 0xe2, 0x75, 0x9f, 0x8a, 0xcc, 0xa4, 0x5d, 0x9b, 0xdf,
+ 0x47, 0x07, 0xac, 0xa4, 0xc0, 0x91, 0x65, 0x88, 0xc0, 0x95, 0xf2, 0x4b,
+ 0x26, 0x8a, 0xd5, 0xd9, 0xa8, 0x2f, 0xac, 0xdf, 0x98, 0x32, 0xc2, 0xb7,
+ 0x5c, 0x29, 0x57, 0x56, 0x58, 0x22, 0x5b, 0x46, 0x81, 0x67, 0x7f, 0xf5,
+ 0x5d, 0x72, 0x0b, 0xf1, 0x36, 0xca, 0xfe, 0xb0, 0xb3, 0x49, 0xc5, 0x83,
+ 0xb8, 0xe1, 0xbb, 0x90, 0x19, 0xbe, 0x6b, 0xf3, 0x42, 0xb7, 0xd2, 0xa0,
+ 0x8e, 0x3a, 0x72, 0xa3, 0xef, 0xe5, 0x81, 0x34, 0x3c, 0x25, 0xd8, 0x9f,
+ 0xbf, 0x0b, 0xab, 0xbc, 0xc5, 0xfd, 0x37, 0x41, 0x7d, 0xf6, 0x7d, 0x5c,
+ 0xd0, 0x9a, 0xee, 0xf2, 0xb3, 0x1e, 0xd7, 0xd6, 0xcf, 0x67, 0x81, 0x6a,
+ 0x51, 0x09, 0xab, 0x0b, 0x39, 0x60, 0x11, 0x30, 0x40, 0xa1, 0xbb, 0x5f,
+ 0x87, 0x05, 0xd2, 0x27, 0x8d, 0x95, 0x7d, 0x49, 0x59, 0x29, 0xe4, 0x06,
+ 0x0c, 0xd8, 0xe0, 0x99, 0xf5, 0x1b, 0x71, 0xad, 0x8d, 0xed, 0xb2, 0xa6,
+ 0x6f, 0x25, 0x78, 0x4b, 0xd9, 0x8d, 0xe2, 0xe4, 0x2e, 0xd7, 0x88, 0xa6,
+ 0x05, 0x29, 0x90, 0x8e, 0xf2, 0x53, 0x46, 0xf9, 0xa0, 0x3a, 0xf7, 0xb4,
+ 0x2a, 0x38, 0x3f, 0x66, 0xe6, 0xe7, 0xe1, 0x19, 0x66, 0x6a, 0xaf, 0x16,
+ 0x43, 0xce, 0x0d, 0xeb, 0xd0, 0x6f, 0x54, 0xe7, 0xa8, 0x87, 0x8d, 0x9a,
+ 0xb0, 0xae, 0xa3, 0x9a, 0xd6, 0x0b, 0x6d, 0xb8, 0x37, 0xfe, 0xb5, 0x11,
+ 0xef, 0x46, 0xff, 0xa5, 0x69, 0x6f, 0x19, 0xdf, 0x1c, 0x4b, 0xfe, 0x9d,
+ 0x9d, 0x01, 0x4c, 0xc1, 0x03, 0xb1, 0xe8, 0x98, 0x20, 0xea, 0x81, 0x5d,
+ 0x58, 0x1b, 0xb4, 0xf1, 0x69, 0x70, 0x76, 0x42, 0x6c, 0xf9, 0x2c, 0x8a,
+ 0xbe, 0xa1, 0x97, 0x52, 0x1a, 0xfa, 0x4a, 0xac, 0x89, 0xae, 0x91, 0xc2,
+ 0xfe, 0x9c, 0xbc, 0x36, 0x0b, 0x25, 0x2b, 0x83, 0xda, 0xbb, 0xff, 0x19,
+ 0x0a, 0x4a, 0xec, 0x5a, 0xa2, 0x3b, 0x80, 0x8d, 0xc7, 0xc3, 0x37, 0x43,
+ 0xd8, 0xa6, 0x3e, 0x26, 0x1b, 0x81, 0x34, 0x8e, 0x3c, 0x3e, 0xc5, 0xb9,
+ 0x12, 0xd2, 0x3d, 0x28, 0xee, 0x4a, 0x22, 0x53, 0x00, 0x75, 0xd2, 0x57,
+ 0x6b, 0x43, 0xa9, 0xa4, 0xa6, 0x70, 0xb7, 0x2f, 0xce, 0xab, 0x2d, 0xc9,
+ 0x3c, 0x00, 0xbb, 0xa5, 0x09, 0x7b, 0x33, 0x0e, 0xa8, 0x80, 0x03, 0x10,
+ 0x75, 0x66, 0x58, 0x28, 0xd7, 0x78, 0x4d, 0xaa, 0xf2, 0x53, 0xc6, 0xfc,
+ 0x02, 0x46, 0x21, 0x50, 0xb3, 0x58, 0x07, 0x16, 0x3f, 0xba, 0x91, 0x50,
+ 0xdc, 0xd0, 0x83, 0x72, 0x4d, 0x82, 0x80, 0x39, 0x77, 0x17, 0x15, 0xb8,
+ 0x0d, 0x27, 0xc7, 0x72, 0xbc, 0x0e, 0xa0, 0x0b, 0xed, 0xc1, 0xc1, 0x57,
+ 0x6d, 0x4a, 0x20, 0x7d, 0xbf, 0x21, 0xcf, 0xb6, 0xa7, 0xee, 0xf3, 0xec,
+ 0xc8, 0x91, 0x3e, 0xbc, 0x69, 0xa8, 0xa1, 0x25, 0x38, 0x2f, 0x93, 0x17,
+ 0xcc, 0x10, 0x6e, 0xef, 0x50, 0x02, 0xda, 0xf5, 0x50, 0xa2, 0xf9, 0xed,
+ 0x50, 0xad, 0xc5, 0x99, 0xad, 0x1d, 0x9c, 0x4b, 0x4d, 0x0d, 0xd7, 0xa4,
+ 0xcc, 0x1c, 0x74, 0xaf, 0xb4, 0xbf, 0x00, 0xd4, 0x48, 0x08, 0x86, 0x4b,
+ 0x2e, 0x4e, 0xeb, 0x7a, 0xe3, 0xf2, 0x65, 0x98, 0x4f, 0x74, 0x3a, 0xc0,
+ 0x5b, 0xca, 0x6b, 0x67, 0x1f, 0xfc, 0x57, 0xca, 0xe0, 0x36, 0xc6, 0x48,
+ 0x43, 0x29, 0x7c, 0xfc, 0xa5, 0xc0, 0x5c, 0xe0, 0x46, 0x90, 0xb6, 0xc6,
+ 0x87, 0x0b, 0xf4, 0x2d, 0x9e, 0x10, 0x41, 0xc7, 0xfb, 0x5a, 0x1d, 0x77,
+ 0xe6, 0x48, 0x8e, 0xc9, 0xd2, 0x8c, 0x18, 0xf1, 0x8a, 0x9e, 0x82, 0x35,
+ 0xe6, 0x82, 0xea, 0xcf, 0xd9, 0x76, 0xe2, 0x11, 0x49, 0x35, 0x8d, 0x4e,
+ 0x71, 0x49, 0x2d, 0xcc, 0x61, 0xc4, 0xd3, 0x42, 0x33, 0x92, 0x64, 0x35,
+ 0x6d, 0x56, 0xab, 0x3f, 0xb2, 0x3d, 0x20, 0x5b, 0xb9, 0x4e, 0xb0, 0x2e,
+ 0x61, 0xd6, 0xdc, 0x44, 0xda, 0x38, 0x62, 0x36, 0x89, 0x7b, 0x68, 0xe0,
+ 0xfd, 0xfd, 0xf9, 0xe7, 0xfb, 0x03, 0x31, 0x47, 0x29, 0x40, 0xe9, 0x3f,
+ 0x03, 0x40, 0xe1, 0x88, 0x06, 0x48, 0xcf, 0x99, 0x9f, 0xda, 0x47, 0x7b,
+ 0xd0, 0xf3, 0x29, 0x55, 0xe9, 0x88, 0xf2, 0x14, 0xda, 0xce, 0x6a, 0xe7,
+ 0x09, 0x6c, 0x7a, 0x3c, 0x3f, 0x75, 0x2c, 0x53, 0x77, 0xe6, 0x29, 0x0d,
+ 0x72, 0x18, 0x27, 0x12, 0xe1, 0xde, 0x46, 0xaf, 0xc8, 0xa8, 0x0f, 0x89,
+ 0x5e, 0x8b, 0xf8, 0x9d, 0x38, 0xf9, 0x50, 0xc8, 0xcd, 0xf6, 0xf0, 0x44,
+ 0x07, 0x33, 0x26, 0x6d, 0x9c, 0xa3, 0xb9, 0x30, 0x5b, 0x68, 0x40, 0xa4,
+ 0x53, 0x36, 0x7b, 0xbf, 0xf1, 0x9e, 0x3c, 0x1b, 0x3d, 0x6a, 0xdd, 0x93,
+ 0x66, 0xb1, 0x1c, 0xde, 0x4c, 0xee, 0x09, 0x57, 0x5d, 0x9c, 0xbe, 0x45,
+ 0xba, 0x8e, 0xb2, 0x1b, 0x74, 0xd1, 0xd1, 0xc8, 0x01, 0xc9, 0x2a, 0x76,
+ 0xef, 0x12, 0xba, 0x3a, 0x26, 0x12, 0xb1, 0xe9, 0x3b, 0x91, 0x19, 0x5b,
+ 0xed, 0x2b, 0x8e, 0x1a, 0x01, 0x2b, 0x4c, 0x68, 0x44, 0x44, 0x20, 0xa8,
+ 0x5a, 0x7f, 0x91, 0x47, 0x8b, 0xb2, 0x34, 0x2b, 0x3a, 0xbb, 0xcd, 0xa6,
+ 0x6b, 0xa4, 0x16, 0x90, 0x62, 0x4f, 0xf8, 0x5f, 0x9b, 0x63, 0x1e, 0x5e,
+ 0x9c, 0x43, 0x22, 0x1b, 0xe6, 0x07, 0xdd, 0xcd, 0x70, 0xad, 0xd4, 0x64,
+ 0xf1, 0xbc, 0xfa, 0xc0, 0xe3, 0xc9, 0xe0, 0x04, 0xf8, 0x5d, 0xfb, 0x57,
+ 0x41, 0x78, 0x1f, 0xb5, 0x18, 0xa4, 0xcc, 0x18, 0x7a, 0xca, 0x2f, 0x0b,
+ 0x56, 0x17, 0xdf, 0xe6, 0xd3, 0xaa, 0xac, 0xcb, 0x39, 0x67, 0x19, 0x7a,
+ 0xa6, 0xed, 0xc9, 0xc9, 0x38, 0xb9, 0xc9, 0x26, 0x5a, 0xce, 0x3c, 0x0a,
+ 0xfd, 0xff, 0xcc, 0x45, 0x28, 0xaa, 0x55, 0xe5, 0x59, 0x43, 0xbb, 0xa6,
+ 0x71, 0x6c, 0xc2, 0xf7, 0x42, 0x53, 0x41, 0x41, 0xbf, 0x81, 0xed, 0x45,
+ 0x7d, 0x59, 0x17, 0x10, 0x4d, 0xab, 0xac, 0x8c, 0xe4, 0x32, 0xf0, 0x04,
+ 0x54, 0xac, 0x30, 0x9d, 0x40, 0xff, 0x9a, 0xa4, 0xd2, 0xf1, 0x8e, 0xbd,
+ 0x3a, 0x86, 0xed, 0x90, 0x76, 0x29, 0xde, 0xb0, 0x4f, 0xe4, 0xe6, 0x0c,
+ 0xea, 0x8c, 0x26, 0x19, 0xf5, 0x88, 0x25, 0x76, 0xe0, 0xb7, 0x2d, 0x43,
+ 0x87, 0xd6, 0x59, 0x59, 0x21, 0x7f, 0xcc, 0xeb, 0x46, 0x45, 0x6d, 0x5b,
+ 0xd7, 0x15, 0xb9, 0xf9, 0x01, 0x3d, 0x1b, 0xf2, 0xd3, 0x9b, 0xab, 0x92,
+ 0x7b, 0xf7, 0x61, 0x9b, 0x9d, 0xce, 0x86, 0xa2, 0x2c, 0xe9, 0x77, 0x02,
+ 0xae, 0xe0, 0xe4, 0x8d, 0x7f, 0x50, 0x51, 0x98, 0x4a, 0x39, 0x0f, 0x57,
+ 0x0e, 0x2c, 0xf9, 0x25, 0xaf, 0xf3, 0xcb, 0x9e, 0xd6, 0xc4, 0xec, 0xf2,
+ 0x03, 0x34, 0x87, 0x53, 0x8c, 0x30, 0x23, 0x11, 0x9a, 0x15, 0xdf, 0xd2,
+ 0xa0, 0xe1, 0x36, 0xfd, 0x2b, 0x74, 0x9e, 0xf7, 0x50, 0xdf, 0x6f, 0x1c,
+ 0x06, 0xb4, 0xbe, 0x0b, 0x6f, 0x2e, 0xf6, 0x0a, 0x38, 0x8d, 0xdd, 0x53,
+ 0xd9, 0x5d, 0xe4, 0x3c, 0x00, 0x0f, 0xb9, 0x4f, 0x5f, 0x8f, 0x07, 0x59,
+ 0x34, 0x0a, 0x19, 0xc9, 0x25, 0xf2, 0x02, 0xe9, 0xf2, 0xef, 0x19, 0x8e,
+ 0xa7, 0x1d, 0xa5, 0xf4, 0xaf, 0x6e, 0x49, 0x3f, 0x38, 0x1c, 0x4e, 0xb2,
+ 0x94, 0xba, 0x63, 0xbd, 0x68, 0x48, 0x61, 0xda, 0x54, 0x55, 0x14, 0x29,
+ 0x2b, 0xfa, 0x33, 0xbf, 0x7b, 0x01, 0x5d, 0x8b, 0x8e, 0xf6, 0xec, 0xe5,
+ 0x87, 0x8b, 0xaf, 0x93, 0xc3, 0xd1, 0xfe, 0x83, 0xaa, 0x8a, 0xc0, 0x10,
+ 0x5a, 0x63, 0xe8, 0xe1, 0xa1, 0xc9, 0x76, 0xf1, 0xb7, 0x75, 0xd1, 0x6e,
+ 0xbe, 0x13, 0x8b, 0xab, 0x88, 0xfe, 0xa4, 0xe2, 0x97, 0xd2, 0xbc, 0xba,
+ 0x99, 0xf1, 0x7e, 0x7b, 0xb6, 0xe1, 0x10, 0xe6, 0x77, 0x75, 0x5f, 0x08,
+ 0xba, 0x8e, 0x42, 0xab, 0xb4, 0x26, 0x2b, 0xc0, 0x4f, 0x1a, 0xe8, 0x46,
+ 0x23, 0x2c, 0xb2, 0x5c, 0xf8, 0x4e, 0xd9, 0xc6, 0xca, 0xd0, 0x63, 0xdf,
+ 0xbf, 0x79, 0xd5, 0x19, 0xee, 0xc9, 0xd3, 0xc7, 0xfb, 0xbf, 0x62, 0x82,
+ 0x65, 0x49, 0x16, 0x84, 0x98, 0x64, 0x51, 0xc4, 0xa3, 0xef, 0x2a, 0x2a,
+ 0x39, 0x56, 0x1f, 0x51, 0x29, 0x0f, 0xf9, 0x90, 0x08, 0x75, 0x33, 0xa3,
+ 0x4c, 0x3b, 0x8b, 0x98, 0x52, 0xa9, 0xb6, 0xff, 0x9f, 0xff, 0x0c, 0xcd,
+ 0xba, 0xbf, 0xfe, 0x88, 0x50, 0x0e, 0xda, 0x91, 0xda, 0x0a, 0x0d, 0x65,
+ 0x32, 0xb5, 0x13, 0xc7, 0x74, 0x9d, 0xb7, 0x7f, 0xb7, 0x9d, 0xd8, 0xa6,
+ 0x61, 0x62, 0x98, 0xc7, 0x7b, 0x2e, 0x68, 0xb8, 0x4f, 0x67, 0xa7, 0xc7,
+ 0x0a, 0x48, 0xf9, 0xd4, 0xd3, 0x08, 0x74, 0x17, 0xa4, 0x95, 0xd6, 0xac,
+ 0xaf, 0xe9, 0x9f, 0x76, 0xbf, 0x12, 0xe8, 0x35, 0x0d, 0x71, 0x50, 0x28,
+ 0x82, 0xf3, 0xe2, 0xb0, 0x02, 0xd2, 0x45, 0x51, 0x7a, 0x9e, 0x17, 0x3d,
+ 0x7e, 0x67, 0x49, 0xfe, 0xfa, 0x4f, 0x73, 0x02, 0x83, 0xe6, 0xa6, 0xfc,
+ 0x67, 0xdb, 0x07, 0x6d, 0x34, 0x0c, 0x9a, 0xef, 0xc7, 0xdf, 0x1d, 0x50,
+ 0x35, 0xd7, 0x56, 0x77, 0x88, 0x12, 0xcd, 0x24, 0xec, 0xa9, 0x5a, 0x05,
+ 0x69, 0x13, 0xb0, 0xb2, 0x7e, 0x90, 0x0a, 0xc5, 0x07, 0xa4, 0x35, 0xfe,
+ 0x73, 0x44, 0xff, 0xfd, 0xeb, 0xc1, 0xf0, 0xf1, 0x8f, 0xf6, 0xa3, 0xbf,
+ 0x3b, 0xf8, 0xf8, 0xbb, 0xc3, 0xad, 0x58, 0xb1, 0x9e, 0x83, 0x6d, 0xf0,
+ 0x92, 0x4b, 0x49, 0xa1, 0x2d, 0xee, 0xa4, 0xc2, 0x46, 0x82, 0xc3, 0xae,
+ 0x4d, 0x29, 0x9a, 0x9e, 0x47, 0xb0, 0xad, 0xc8, 0xe7, 0x38, 0xea, 0x3a,
+ 0xfa, 0xb5, 0x55, 0xa9, 0x32, 0x87, 0x9b, 0x92, 0xdf, 0x57, 0x70, 0x0b,
+ 0xba, 0x21, 0x52, 0xfb, 0x11, 0xf0, 0x42, 0x82, 0xd1, 0xf2, 0xc9, 0x83,
+ 0x90, 0x6e, 0x14, 0x1e, 0x25, 0xdc, 0x0d, 0x49, 0x69, 0x33, 0xf2, 0x2c,
+ 0x4d, 0x3a, 0x9b, 0x3e, 0x99, 0xd8, 0x9f, 0x14, 0x59, 0x50, 0x44, 0xa7,
+ 0xe5, 0xb6, 0x6c, 0xbd, 0x29, 0x3b, 0x28, 0x5d, 0xba, 0x01, 0xe3, 0x7f,
+ 0x65, 0x89, 0xac, 0xdc, 0x06, 0x4e, 0x71, 0xa5, 0x83, 0xac, 0xb1, 0xbf,
+ 0x51, 0x02, 0x8e, 0xef, 0x9f, 0x61, 0xa9, 0x62, 0x06, 0xcc, 0x6b, 0x17,
+ 0x3a, 0xc3, 0xcf, 0x24, 0x6c, 0x46, 0xf0, 0x0c, 0xe8, 0x93, 0x19, 0x2b,
+ 0xae, 0x4e, 0x27, 0xd4, 0x45, 0xb4, 0xd5, 0x94, 0xcd, 0x76, 0xd8, 0x9a,
+ 0x38, 0xa4, 0xb0, 0xb4, 0xee, 0xd9, 0x10, 0x7f, 0x2b, 0xbc, 0x4d, 0x90,
+ 0x8d, 0xc2, 0xe6, 0x6c, 0x6e, 0xa0, 0x38, 0xa4, 0xbc, 0xdf, 0x26, 0x1b,
+ 0x7a, 0xf5, 0xcc, 0xa8, 0x9f, 0xc6, 0x4f, 0xb5, 0xf8, 0x71, 0xca, 0x0d,
+ 0xda, 0x10, 0x92, 0x1d, 0x06, 0x71, 0x64, 0x92, 0x50, 0xb3, 0x3b, 0xc3,
+ 0x0d, 0x19, 0x95, 0x77, 0x64, 0xeb, 0x56, 0xd4, 0x45, 0x20, 0xdc, 0xc6,
+ 0x90, 0xda, 0xf6, 0x70, 0x3b, 0xd9, 0xb1, 0x86, 0xdd, 0x2c, 0xad, 0xaf,
+ 0x76, 0x63, 0x1e, 0x64, 0xe7, 0xb4, 0x75, 0x8c, 0x4a, 0xba, 0xaa, 0x40,
+ 0x64, 0x32, 0x87, 0xea, 0x57, 0x60, 0xcf, 0x18, 0x0e, 0x85, 0xd2, 0x3b,
+ 0x87, 0x36, 0x07, 0xa0, 0xf5, 0x93, 0x21, 0x99, 0x8a, 0x0c, 0xab, 0xfc,
+ 0x1f, 0x88, 0x88, 0x85, 0x01, 0x49, 0x3c, 0xcb, 0x19, 0x7a, 0x43, 0x2e,
+ 0x5e, 0x73, 0x42, 0x54, 0xfb, 0xb0, 0x53, 0x2e, 0x7b, 0x34, 0x7d, 0x2b,
+ 0xad, 0x3f, 0x71, 0x94, 0x7b, 0x56, 0xda, 0xa6, 0xed, 0xce, 0x8f, 0x32,
+ 0x10, 0x8e, 0x3a, 0xfc, 0xef, 0x03, 0x6f, 0xb0, 0x4d, 0xc8, 0xc9, 0x64,
+ 0x5f, 0x56, 0xe5, 0xa2, 0x6e, 0xc1, 0xa2, 0x49, 0x15, 0x3b, 0xd1, 0xb4,
+ 0xf5, 0xd0, 0xf0, 0x27, 0xeb, 0x9c, 0x98, 0x71, 0x5a, 0x44, 0xd2, 0xc3,
+ 0xeb, 0x48, 0xf4, 0x8e, 0x64, 0x9c, 0x76, 0x2b, 0x37, 0x64, 0x1c, 0x91,
+ 0x50, 0x6e, 0x6f, 0x5b, 0x53, 0xde, 0xd4, 0x5a, 0xa4, 0xf5, 0x60, 0x34,
+ 0x0f, 0x84, 0x49, 0x58, 0x4a, 0xc8, 0x00, 0x46, 0xe0, 0xd6, 0xe1, 0x35,
+ 0xbb, 0x27, 0xc2, 0xa1, 0x34, 0x87, 0xb4, 0xca, 0x66, 0x71, 0x88, 0x82,
+ 0x2a, 0xbb, 0x24, 0x98, 0x1e, 0xd2, 0x3e, 0x08, 0xa9, 0xc0, 0xdc, 0xa5,
+ 0xe2, 0x9e, 0xb6, 0xdb, 0x1d, 0x27, 0x08, 0xc5, 0xd2, 0x93, 0x17, 0xab,
+ 0xab, 0xca, 0x68, 0xf2, 0x61, 0xcd, 0xe3, 0xf8, 0xeb, 0x84, 0x31, 0x6d,
+ 0xcd, 0x53, 0xfc, 0x8c, 0xbd, 0xe9, 0x1e, 0xec, 0xe7, 0xaf, 0x88, 0x55,
+ 0x49, 0xc9, 0x5c, 0xc3, 0xb4, 0x1e, 0x06, 0xd4, 0x71, 0xe1, 0x67, 0xb6,
+ 0x93, 0x05, 0x41, 0x86, 0x25, 0x25, 0x11, 0x53, 0x6c, 0xbb, 0x20, 0x30,
+ 0x24, 0x43, 0x1c, 0x7b, 0xa3, 0xd1, 0x1e, 0x09, 0x9f, 0x3d, 0xf3, 0x87,
+ 0x95, 0xac, 0x9c, 0xf3, 0xde, 0xed, 0x20, 0x49, 0xa1, 0x79, 0xfa, 0x18,
+ 0x40, 0x6b, 0xa4, 0xdf, 0xb2, 0xd7, 0x93, 0xef, 0xef, 0x6b, 0x24, 0x82,
+ 0x57, 0xc6, 0x36, 0xa8, 0xb8, 0xa2, 0x7e, 0xe9, 0x69, 0x3c, 0x61, 0x42,
+ 0xa8, 0x84, 0xb7, 0x6a, 0xc1, 0x6e, 0xe9, 0xf4, 0x22, 0x25, 0x13, 0x1d,
+ 0x9e, 0x34, 0x5a, 0x44, 0xde, 0x28, 0x62, 0x1e, 0xb0, 0x0c, 0xd2, 0x8d,
+ 0xb6, 0xf9, 0xa3, 0xc3, 0xce, 0xf1, 0xe5, 0xe6, 0xc0, 0x67, 0xc6, 0xce,
+ 0x01, 0xd0, 0x2e, 0x65, 0xc2, 0x86, 0xb5, 0x74, 0xec, 0x18, 0xed, 0xb4,
+ 0x87, 0x83, 0x97, 0x11, 0xdb, 0xe1, 0x34, 0x47, 0xb5, 0x97, 0x18, 0x69,
+ 0x98, 0xb3, 0x69, 0x76, 0x02, 0xc5, 0x87, 0x3f, 0xb2, 0xcb, 0x6a, 0x9e,
+ 0xe4, 0xca, 0x83, 0x20, 0x32, 0xdb, 0xf8, 0x46, 0xa0, 0x97, 0x52, 0xce,
+ 0xc5, 0x83, 0x29, 0x86, 0xd1, 0x62, 0x1e, 0x2c, 0xeb, 0x3f, 0xb2, 0xcc,
+ 0xd1, 0x75, 0xa9, 0xa4, 0x35, 0x13, 0x56, 0xb1, 0xd9, 0xf7, 0xd7, 0xc7,
+ 0xef, 0x45, 0xdb, 0x04, 0x3c, 0x83, 0x6b, 0x30, 0x1e, 0x80, 0x63, 0xc3,
+ 0x28, 0x7d, 0xf2, 0x08, 0xa6, 0x23, 0xed, 0x5b, 0x7d, 0x95, 0x1e, 0x3e,
+ 0x7e, 0x22, 0xd3, 0x56, 0xe4, 0x3a, 0xd8, 0xbc, 0xdb, 0xfc, 0xab, 0xbd,
+ 0x3d, 0x4e, 0x5a, 0x21, 0x47, 0x43, 0xc0, 0xe3, 0xe1, 0xf3, 0xa3, 0x67,
+ 0xff, 0xb8, 0x1d, 0x4d, 0x57, 0x55, 0x23, 0x84, 0x5d, 0x31, 0x14, 0x02,
+ 0x42, 0x4a, 0xad, 0xdf, 0x20, 0x65, 0xa0, 0x1b, 0x2d, 0x6d, 0x46, 0x18,
+ 0x81, 0x24, 0xd0, 0x00, 0xfd, 0xde, 0x21, 0x89, 0x80, 0xbd, 0x68, 0xbf,
+ 0xc4, 0x44, 0xab, 0xc2, 0x09, 0x45, 0xd7, 0xdf, 0x9f, 0x9a, 0x9b, 0xab,
+ 0x4f, 0x43, 0x40, 0x21, 0x49, 0x3d, 0xa5, 0xd3, 0xf0, 0x06, 0x96, 0x1c,
+ 0xec, 0x9c, 0xc3, 0x07, 0x20, 0x3c, 0x8d, 0x7d, 0xb2, 0x77, 0x0d, 0x33,
+ 0x35, 0x5f, 0x08, 0xb2, 0x85, 0x94, 0x2e, 0x2c, 0xe8, 0x2d, 0xf8, 0x91,
+ 0x97, 0xa4, 0xeb, 0x6e, 0x8b, 0x11, 0xed, 0x55, 0xd3, 0xc1, 0x83, 0x0a,
+ 0xbc, 0x00, 0xc0, 0x58, 0x57, 0x28, 0x23, 0x24, 0x69, 0x4e, 0xb3, 0x9c,
+ 0x41, 0xd0, 0xcc, 0xd9, 0x52, 0xf4, 0x35, 0xb8, 0x07, 0x86, 0x14, 0xf6,
+ 0x88, 0x0e, 0xc4, 0x70, 0x0c, 0x9a, 0x99, 0x50, 0xac, 0xe7, 0xd9, 0x68,
+ 0xff, 0xb9, 0xc2, 0x23, 0x0f, 0x92, 0xaf, 0x8a, 0x35, 0x1d, 0x09, 0xad,
+ 0xfa, 0xab, 0xf1, 0x37, 0x41, 0xa1, 0x23, 0xbd, 0xf1, 0xe8, 0x88, 0xde,
+ 0x78, 0x37, 0xe6, 0xa7, 0x6e, 0xca, 0xc5, 0xdc, 0xbc, 0x19, 0x7b, 0xee,
+ 0x29, 0x3d, 0x67, 0x28, 0x6e, 0xd6, 0x2c, 0x6a, 0x25, 0xaa, 0x0d, 0x33,
+ 0x79, 0xf4, 0x28, 0x32, 0x93, 0xc1, 0x4f, 0xfe, 0xd0, 0x19, 0xbc, 0xae,
+ 0x44, 0x50, 0xd4, 0x03, 0x0c, 0x94, 0x83, 0x12, 0x10, 0x0b, 0xf6, 0xfd,
+ 0x6b, 0x32, 0x5f, 0x06, 0xed, 0x78, 0x48, 0x87, 0xc0, 0x0a, 0x98, 0x85,
+ 0x0d, 0xb0, 0x20, 0x9e, 0x1e, 0x1e, 0x1d, 0xec, 0x3d, 0x19, 0x3d, 0x1a,
+ 0x1d, 0xda, 0x94, 0x4c, 0x43, 0x07, 0xd7, 0xd4, 0xc1, 0x86, 0x32, 0x60,
+ 0x22, 0xa1, 0x07, 0x24, 0x23, 0xe5, 0x85, 0x19, 0xc7, 0x83, 0x28, 0x91,
+ 0x4e, 0x03, 0x2e, 0x19, 0x8b, 0x00, 0x49, 0x0e, 0xfc, 0xda, 0xbe, 0x51,
+ 0xa4, 0x63, 0x2e, 0xe1, 0x9c, 0xd0, 0x24, 0xc4, 0xcd, 0xb4, 0xae, 0xb0,
+ 0x03, 0x93, 0xfc, 0xef, 0xeb, 0xbc, 0x31, 0x2a, 0x00, 0x71, 0x14, 0x72,
+ 0x9d, 0x69, 0xbf, 0x03, 0x2a, 0xa3, 0x2e, 0x35, 0x41, 0x81, 0xae, 0x44,
+ 0x0c, 0xac, 0x81, 0x67, 0xcf, 0xc9, 0xef, 0x13, 0x17, 0x30, 0xe2, 0x12,
+ 0xc2, 0x1c, 0xec, 0x8b, 0x9b, 0x0d, 0x19, 0x4b, 0xb2, 0x98, 0x9a, 0x3b,
+ 0xfa, 0xb5, 0xb1, 0xf3, 0xae, 0xc9, 0x67, 0x1f, 0x74, 0x16, 0x66, 0x16,
+ 0xc0, 0xc8, 0x5b, 0x1c, 0x72, 0x91, 0xb4, 0x20, 0xd7, 0x94, 0x40, 0x7e,
+ 0xc0, 0x85, 0x46, 0x5a, 0xe4, 0xcd, 0x35, 0x8d, 0x01, 0x77, 0xd2, 0x7d,
+ 0x68, 0xbb, 0xa6, 0x19, 0x02, 0x95, 0x02, 0x8c, 0x54, 0xed, 0xc7, 0xe1,
+ 0x05, 0x06, 0x62, 0x84, 0xea, 0x65, 0xab, 0x36, 0x63, 0xce, 0xaf, 0x4d,
+ 0xce, 0xd1, 0x28, 0x72, 0x0b, 0xff, 0xeb, 0x74, 0x90, 0xb4, 0xba, 0x5c,
+ 0x8b, 0xcc, 0x8a, 0xb5, 0x38, 0xed, 0x36, 0x02, 0x96, 0x51, 0x7f, 0x36,
+ 0x95, 0x1d, 0xfd, 0xf2, 0x54, 0x76, 0xf8, 0x50, 0x2a, 0xf3, 0xc8, 0x8c,
+ 0x03, 0xef, 0x1b, 0x08, 0x8d, 0x3a, 0x07, 0xd3, 0x3a, 0x7a, 0xa8, 0xcc,
+ 0x23, 0x32, 0x97, 0x2a, 0xd0, 0x22, 0xb1, 0x36, 0x8d, 0x39, 0x22, 0xeb,
+ 0xa3, 0x32, 0x06, 0x96, 0x51, 0x3a, 0xbb, 0x87, 0xd0, 0xd8, 0xc7, 0xb9,
+ 0x99, 0xca, 0x2e, 0xda, 0x7c, 0x65, 0x03, 0x8d, 0xf9, 0x04, 0xf1, 0x60,
+ 0x2a, 0x73, 0xfe, 0x46, 0xe6, 0x3b, 0x49, 0x0f, 0xa1, 0xf9, 0x74, 0xd6,
+ 0xdb, 0x48, 0xf7, 0xe0, 0x59, 0x8c, 0xca, 0x8e, 0x1e, 0x42, 0x65, 0xe6,
+ 0x3c, 0x17, 0x24, 0x2b, 0x5b, 0x54, 0xf6, 0xe8, 0x27, 0x51, 0x19, 0x93,
+ 0x19, 0xe8, 0xac, 0x97, 0xd0, 0x68, 0x49, 0xed, 0x42, 0xe5, 0x97, 0xff,
+ 0x2a, 0xb7, 0x48, 0x5b, 0x83, 0x06, 0xe5, 0xbb, 0x3f, 0xed, 0x0c, 0x3b,
+ 0x5b, 0xfd, 0x80, 0x13, 0x3b, 0x6c, 0x9f, 0xd8, 0xc1, 0x4f, 0x3b, 0xb1,
+ 0xc3, 0xae, 0x65, 0x52, 0x65, 0xec, 0x33, 0xff, 0xab, 0xc6, 0x2e, 0x9e,
+ 0xef, 0xed, 0xfd, 0x08, 0x1f, 0xd0, 0x73, 0x92, 0x7d, 0x3f, 0x06, 0x4d,
+ 0xe0, 0xb3, 0x4e, 0x89, 0xef, 0xf8, 0xec, 0xd5, 0x37, 0x63, 0x71, 0xbc,
+ 0x8b, 0xc2, 0xa1, 0x0a, 0x09, 0x94, 0x76, 0x06, 0xef, 0xe5, 0xfe, 0x81,
+ 0x81, 0x9a, 0x2b, 0x6d, 0x88, 0x87, 0xb7, 0x03, 0xeb, 0x02, 0xa7, 0xc2,
+ 0xd1, 0x22, 0xd1, 0xab, 0x02, 0x90, 0x41, 0x86, 0x3a, 0x83, 0xd3, 0x43,
+ 0x86, 0xee, 0xc1, 0x92, 0xf3, 0xe7, 0x62, 0xdb, 0xa0, 0xda, 0x57, 0x76,
+ 0x9a, 0xab, 0x0a, 0x05, 0x45, 0x78, 0x4c, 0x74, 0x6b, 0xaf, 0xbb, 0x61,
+ 0xcf, 0xec, 0x64, 0x56, 0x5f, 0x03, 0x88, 0x79, 0x55, 0x69, 0x44, 0x31,
+ 0x66, 0xe4, 0xda, 0xdf, 0xaa, 0x27, 0x30, 0x06, 0x38, 0x22, 0xc0, 0x82,
+ 0xde, 0x7e, 0xd3, 0x7b, 0x41, 0xfa, 0x66, 0x7e, 0xeb, 0xc3, 0x1b, 0x11,
+ 0x15, 0xa0, 0x7d, 0x77, 0xa3, 0x1d, 0x72, 0x6e, 0xb9, 0x9f, 0x09, 0xc6,
+ 0xe0, 0xdc, 0xb9, 0x8c, 0x9b, 0xd0, 0xd4, 0x8f, 0xcc, 0x90, 0x5d, 0xbf,
+ 0x12, 0xff, 0x22, 0xa5, 0xdf, 0xc8, 0x3f, 0x1e, 0xd3, 0x87, 0x11, 0x31,
+ 0xe6, 0x7f, 0x5e, 0xe1, 0xdf, 0x9c, 0x1d, 0xc1, 0xe8, 0x65, 0xde, 0x39,
+ 0x4f, 0xa3, 0x1b, 0xad, 0xac, 0x94, 0xdd, 0x27, 0x8c, 0xaa, 0xf1, 0xae,
+ 0x74, 0xd5, 0x9c, 0xfe, 0x9a, 0x29, 0xd1, 0x03, 0x85, 0xc9, 0xb1, 0x12,
+ 0x20, 0x8f, 0x11, 0x63, 0xe4, 0x47, 0xa3, 0x38, 0xbc, 0x7c, 0x96, 0xf8,
+ 0x10, 0xa7, 0x8a, 0x59, 0xe1, 0x37, 0xae, 0x73, 0x21, 0x5f, 0x39, 0x82,
+ 0x01, 0xa3, 0xdd, 0x86, 0xc9, 0xe5, 0xd4, 0x94, 0x45, 0x66, 0x7e, 0xb0,
+ 0xff, 0x79, 0xe8, 0x92, 0xf8, 0xa0, 0xd5, 0x94, 0x0e, 0xe5, 0x13, 0x69,
+ 0x1d, 0xa8, 0x6b, 0x98, 0xb8, 0x1a, 0xa2, 0xd8, 0x47, 0x23, 0x05, 0x97,
+ 0xb0, 0x7d, 0x67, 0x19, 0x5b, 0x4b, 0x13, 0x36, 0x7b, 0xc3, 0x84, 0x76,
+ 0x14, 0x90, 0xd7, 0x90, 0x6b, 0x02, 0x4f, 0x2d, 0xc9, 0x09, 0x01, 0x7f,
+ 0x27, 0x27, 0x86, 0x86, 0xcc, 0xbe, 0x74, 0x18, 0x82, 0xbf, 0x7f, 0xb4,
+ 0x4f, 0x67, 0xaa, 0x83, 0x50, 0x63, 0xa6, 0x85, 0x86, 0x3a, 0x7e, 0x7f,
+ 0x94, 0x8e, 0x7e, 0x43, 0x0c, 0xb0, 0xc7, 0x6d, 0x2b, 0xfa, 0x77, 0x03,
+ 0x3f, 0xbf, 0x69, 0x92, 0x56, 0x11, 0x9f, 0x8d, 0xc8, 0x6e, 0xc5, 0xb7,
+ 0x51, 0x74, 0x18, 0x9b, 0xf8, 0x94, 0xb2, 0x01, 0x8b, 0x3a, 0x0c, 0xfb,
+ 0x43, 0x33, 0x54, 0x12, 0x76, 0x3a, 0xb1, 0xf1, 0x06, 0xbf, 0x69, 0xf9,
+ 0x80, 0x51, 0xd9, 0x5a, 0xc9, 0x60, 0x03, 0x4e, 0xa7, 0xea, 0x29, 0xf4,
+ 0xb4, 0x5f, 0xc1, 0x67, 0x66, 0x55, 0x7a, 0xe3, 0xd9, 0xd0, 0xdc, 0x17,
+ 0x61, 0x8e, 0xc8, 0x83, 0xcd, 0x21, 0x31, 0xbf, 0xa7, 0x88, 0x72, 0x4c,
+ 0xfb, 0xa8, 0xa7, 0x55, 0x26, 0x11, 0x1e, 0x82, 0xd8, 0x44, 0xf4, 0x98,
+ 0x90, 0x29, 0x8d, 0xe6, 0x71, 0x99, 0x69, 0xd5, 0xae, 0x5d, 0xb5, 0xc2,
+ 0xb2, 0x00, 0x8b, 0x65, 0x14, 0x4b, 0x88, 0x77, 0xee, 0x2c, 0xd7, 0x47,
+ 0xde, 0x28, 0xb1, 0x0c, 0xde, 0x42, 0xaf, 0x6b, 0x0d, 0xb5, 0x05, 0xf6,
+ 0x5c, 0x51, 0x07, 0xc5, 0xfa, 0x2a, 0x5f, 0x75, 0x45, 0xf4, 0xf0, 0x8b,
+ 0xf2, 0x8b, 0xe1, 0xae, 0x90, 0x78, 0x79, 0x9d, 0xd5, 0xdc, 0x0d, 0x99,
+ 0xa6, 0x4a, 0xd1, 0xe6, 0x2b, 0xb8, 0x58, 0x44, 0x78, 0xa1, 0x54, 0x98,
+ 0x12, 0x77, 0xa1, 0x8d, 0x21, 0xc0, 0x11, 0xb4, 0xf6, 0xe1, 0x89, 0x55,
+ 0x14, 0x68, 0x16, 0x7e, 0x47, 0xee, 0x18, 0xb3, 0x57, 0x73, 0xce, 0x2d,
+ 0x44, 0x39, 0x31, 0x45, 0xe1, 0x05, 0xc3, 0x9b, 0x7d, 0xfa, 0xe5, 0xaa,
+ 0x2d, 0x9b, 0xa8, 0x32, 0x5d, 0x79, 0xc3, 0x0b, 0x65, 0x2b, 0x7f, 0xba,
+ 0xb7, 0xee, 0xc4, 0x32, 0xa0, 0xb9, 0x38, 0x31, 0xe8, 0xf2, 0xa1, 0x0e,
+ 0x89, 0xd1, 0xbf, 0xa7, 0x57, 0xd9, 0x52, 0x5a, 0x20, 0xf5, 0x54, 0xf1,
+ 0xf7, 0x96, 0xbc, 0xb7, 0xe7, 0xc4, 0x89, 0x99, 0xf3, 0x66, 0x35, 0x5a,
+ 0x96, 0xff, 0x30, 0x7b, 0x9c, 0x52, 0x4f, 0xc5, 0xe0, 0x4a, 0x50, 0xb9,
+ 0x6d, 0xc1, 0x87, 0xc2, 0x00, 0x5a, 0x85, 0x35, 0x2c, 0x1d, 0x0b, 0x57,
+ 0x94, 0x76, 0xc0, 0x2d, 0x24, 0xaf, 0xcc, 0x8c, 0x8f, 0x3f, 0x7e, 0x78,
+ 0x37, 0xfe, 0x70, 0xde, 0x25, 0xec, 0xf3, 0xb3, 0xf7, 0x17, 0xc7, 0xaf,
+ 0x3f, 0x9e, 0xbf, 0x3f, 0xbb, 0x38, 0x7b, 0x75, 0x76, 0x9a, 0xec, 0x1c,
+ 0xec, 0x6e, 0xac, 0x2e, 0xb4, 0x2e, 0x08, 0x0f, 0xa7, 0x52, 0xe7, 0xcf,
+ 0x3c, 0xcb, 0x4e, 0x61, 0x87, 0xd6, 0x13, 0x8e, 0xf6, 0x9d, 0xd0, 0x56,
+ 0x0b, 0xf7, 0x1b, 0x7e, 0x08, 0x08, 0x37, 0x70, 0xf5, 0x34, 0xb9, 0x5c,
+ 0xf3, 0x65, 0x94, 0x5c, 0x05, 0x2d, 0xbd, 0xaa, 0x9b, 0x40, 0x14, 0x65,
+ 0x1a, 0x2f, 0xf5, 0x0a, 0xd3, 0x36, 0xba, 0xe3, 0x1e, 0x77, 0x75, 0x16,
+ 0x3a, 0x03, 0x28, 0x60, 0x8e, 0x2a, 0xea, 0x38, 0x59, 0x58, 0xba, 0x60,
+ 0x38, 0x1b, 0x60, 0xa0, 0xdb, 0x57, 0xd0, 0x20, 0x42, 0x42, 0x58, 0x65,
+ 0x61, 0x55, 0xba, 0x51, 0x72, 0x1e, 0xf6, 0x09, 0x93, 0x37, 0x66, 0x59,
+ 0x21, 0xcd, 0x6a, 0x65, 0x1e, 0x08, 0x60, 0xa2, 0x0b, 0x0e, 0xc7, 0xd3,
+ 0xcd, 0x03, 0xf4, 0x5b, 0x6f, 0xaf, 0x50, 0xee, 0x9c, 0x05, 0x51, 0x61,
+ 0x7e, 0x9b, 0x91, 0x5e, 0x6e, 0xbc, 0x39, 0xd1, 0x78, 0xa4, 0x94, 0x01,
+ 0x87, 0x32, 0xc2, 0x61, 0x8f, 0x35, 0x38, 0xc6, 0x28, 0x35, 0xb8, 0x93,
+ 0xd0, 0x5f, 0x14, 0xdf, 0x68, 0xec, 0xaf, 0xe5, 0x1e, 0x42, 0xe6, 0x4d,
+ 0xa4, 0x68, 0xc5, 0x80, 0xce, 0x7e, 0xc0, 0x04, 0x2d, 0x51, 0xc1, 0x0d,
+ 0xc5, 0x2d, 0x0e, 0x2c, 0xc8, 0xf7, 0x48, 0x61, 0x42, 0x5c, 0xbc, 0x88,
+ 0x89, 0x0c, 0x2c, 0xee, 0xd2, 0x9b, 0xce, 0xb4, 0xba, 0xec, 0xe7, 0xe9,
+ 0xe8, 0xc9, 0xe3, 0xd1, 0x21, 0x81, 0x86, 0x9c, 0x2d, 0x28, 0x8e, 0x26,
+ 0x9a, 0x05, 0xfc, 0xcb, 0xf8, 0x80, 0x20, 0x24, 0x21, 0x05, 0xcf, 0xed,
+ 0x95, 0x8c, 0x18, 0xb3, 0xa5, 0x12, 0x2d, 0x66, 0x56, 0x51, 0xa6, 0xb8,
+ 0x12, 0xd2, 0xd2, 0x58, 0x60, 0xb5, 0x09, 0x95, 0xc6, 0x7c, 0xe7, 0xb9,
+ 0xa4, 0xa1, 0x71, 0x5e, 0x56, 0x97, 0xd7, 0x12, 0x44, 0x05, 0x20, 0x3f,
+ 0x5f, 0x9d, 0x73, 0x8a, 0xaa, 0x85, 0xa8, 0x00, 0x2b, 0xd7, 0x96, 0xdd,
+ 0xfb, 0xa3, 0x7d, 0x4a, 0x67, 0xf8, 0xb3, 0x64, 0xc8, 0x99, 0xbf, 0x8d,
+ 0x63, 0xd0, 0x0b, 0xac, 0xce, 0xeb, 0x18, 0xed, 0x70, 0x16, 0x2d, 0xcf,
+ 0x4c, 0xef, 0x0f, 0xf4, 0xa7, 0xa6, 0xf0, 0x77, 0x97, 0xdc, 0x03, 0xc3,
+ 0x34, 0xf0, 0x50, 0x24, 0xcc, 0x7d, 0xad, 0xb3, 0xf8, 0x8a, 0x47, 0x9b,
+ 0x91, 0xe8, 0x0e, 0x83, 0x8b, 0x76, 0xef, 0x15, 0x7b, 0xe8, 0x0d, 0xb3,
+ 0xa1, 0x01, 0x95, 0x0e, 0x5d, 0x99, 0x76, 0x6e, 0xdf, 0x62, 0xe0, 0x19,
+ 0x2a, 0x5f, 0x83, 0x67, 0x78, 0x91, 0xcd, 0xa1, 0x1b, 0xa2, 0xa6, 0x74,
+ 0x80, 0x5f, 0x22, 0xa4, 0x69, 0xb3, 0xd6, 0xf8, 0x24, 0x62, 0xe0, 0x35,
+ 0xe9, 0xd4, 0xd7, 0xb5, 0x2d, 0x88, 0xe1, 0xb6, 0xd9, 0x54, 0xea, 0x7e,
+ 0x25, 0x55, 0xcd, 0x8b, 0x3b, 0x80, 0xf6, 0xe7, 0xb7, 0x9a, 0x38, 0xf0,
+ 0x8f, 0xac, 0x2a, 0xc3, 0xf0, 0x3a, 0x94, 0x07, 0x05, 0x93, 0x23, 0x53,
+ 0x52, 0xd1, 0x6e, 0xdc, 0x0f, 0xe9, 0xab, 0xc1, 0x9d, 0xfb, 0x03, 0x5a,
+ 0x2f, 0x33, 0x38, 0x34, 0xb7, 0x49, 0x13, 0xb4, 0x13, 0x00, 0x37, 0xe6,
+ 0x1a, 0x14, 0xf5, 0x78, 0xc0, 0x82, 0x6a, 0x60, 0xef, 0xb8, 0x7c, 0x36,
+ 0x30, 0x31, 0xa1, 0xfe, 0xcd, 0xc8, 0x9c, 0x71, 0xd9, 0xbf, 0x36, 0xbc,
+ 0x46, 0x6d, 0xce, 0x1c, 0xe0, 0x9d, 0xe8, 0x73, 0x21, 0x4f, 0x1f, 0x26,
+ 0xc9, 0xeb, 0xac, 0xb8, 0x6b, 0x4f, 0x68, 0x00, 0xcc, 0x1a, 0xb8, 0x87,
+ 0xf3, 0xc6, 0xc1, 0x2a, 0xb8, 0x64, 0x5c, 0x37, 0xc5, 0x70, 0x4a, 0xed,
+ 0x39, 0xc7, 0x38, 0xd7, 0x17, 0x76, 0x1b, 0x98, 0x6b, 0xb5, 0x37, 0x63,
+ 0x07, 0xe8, 0x28, 0x1a, 0xd3, 0xc5, 0x27, 0x1f, 0xb2, 0x0d, 0xc0, 0x7c,
+ 0x84, 0x55, 0x57, 0xaf, 0x27, 0x7f, 0x63, 0x90, 0xfd, 0x84, 0x3c, 0x0b,
+ 0x95, 0xec, 0x82, 0xe4, 0x39, 0x9a, 0x53, 0x35, 0x0f, 0x70, 0xe0, 0x8a,
+ 0x98, 0x43, 0x11, 0x1b, 0x0e, 0xc1, 0x66, 0x85, 0xb7, 0x6f, 0x53, 0x18,
+ 0x66, 0x14, 0xad, 0x4b, 0xcc, 0x7a, 0x54, 0x06, 0xbd, 0x3f, 0xc3, 0x39,
+ 0xf1, 0x54, 0xce, 0x9f, 0xeb, 0x08, 0x5f, 0xde, 0x4b, 0xce, 0xd9, 0xb4,
+ 0x19, 0xc4, 0xf4, 0x78, 0xef, 0x58, 0xca, 0xa9, 0xeb, 0xc1, 0x1f, 0xe8,
+ 0x8f, 0x70, 0x0d, 0x2d, 0x92, 0xa5, 0x5d, 0x56, 0x36, 0x42, 0x8f, 0x83,
+ 0x31, 0xe1, 0xf5, 0xbe, 0x0f, 0x7c, 0xe1, 0xc4, 0xc0, 0xe6, 0xb1, 0xc1,
+ 0xc5, 0x1e, 0xf2, 0x81, 0x0f, 0x85, 0x82, 0x09, 0x2a, 0x75, 0xaf, 0x6c,
+ 0x77, 0x03, 0xa9, 0xd0, 0x68, 0xdb, 0x41, 0x84, 0x41, 0xb3, 0x92, 0xce,
+ 0x27, 0xe9, 0x9c, 0x92, 0xab, 0xab, 0xcc, 0x81, 0x31, 0xd3, 0x51, 0x32,
+ 0xd4, 0x94, 0xa0, 0xbb, 0x6b, 0xae, 0xef, 0xaa, 0x6c, 0x18, 0x67, 0x9e,
+ 0xb2, 0xb1, 0x49, 0xd3, 0xa9, 0xc8, 0x41, 0xe8, 0x6d, 0xb2, 0xaa, 0xc8,
+ 0x34, 0x9a, 0x3d, 0x7c, 0xf8, 0xd1, 0xd6, 0xab, 0xb2, 0x70, 0x45, 0x38,
+ 0x12, 0x7c, 0xf5, 0xd8, 0x98, 0x7c, 0x91, 0x73, 0xea, 0xe0, 0x74, 0xb2,
+ 0x90, 0xf4, 0xd7, 0x65, 0x4e, 0xc8, 0x52, 0x3a, 0x1c, 0xb4, 0x37, 0x47,
+ 0x25, 0x17, 0xf1, 0x4e, 0x29, 0x2e, 0x95, 0x49, 0xec, 0x2b, 0x72, 0x63,
+ 0x22, 0xd3, 0x0c, 0xee, 0x0e, 0xaf, 0xf2, 0x8e, 0x6f, 0xb7, 0x0e, 0x87,
+ 0x7c, 0x17, 0x44, 0xab, 0x0b, 0x8a, 0x33, 0x15, 0x1c, 0xba, 0x12, 0xe3,
+ 0x53, 0x19, 0x2e, 0x4d, 0x8f, 0xcc, 0x34, 0x4a, 0xb9, 0x4a, 0x49, 0x32,
+ 0x69, 0x65, 0x61, 0x07, 0x4c, 0xbe, 0xdd, 0x5e, 0xde, 0xea, 0x02, 0x36,
+ 0x2d, 0xd7, 0xa9, 0xb9, 0xa3, 0x7b, 0x64, 0xc4, 0xed, 0x9d, 0x26, 0x02,
+ 0x6e, 0x56, 0xc1, 0x56, 0x28, 0xab, 0x37, 0xfb, 0x9c, 0x37, 0x38, 0xb1,
+ 0x4e, 0x26, 0xb2, 0x26, 0xe8, 0x4a, 0xff, 0x99, 0xe5, 0x3a, 0x6c, 0x5e,
+ 0x29, 0xc1, 0x3a, 0x9b, 0x77, 0xc5, 0xc0, 0x6a, 0xd0, 0x7e, 0xc4, 0x4b,
+ 0xc3, 0xdd, 0x35, 0x60, 0xa3, 0x4b, 0xc7, 0x11, 0xb8, 0x9f, 0x10, 0xbf,
+ 0x8b, 0xfb, 0x11, 0xf7, 0x2c, 0xaa, 0x92, 0x21, 0x98, 0x62, 0x36, 0x34,
+ 0x4c, 0x60, 0xb5, 0xc1, 0x3f, 0x7f, 0x3b, 0xd0, 0x45, 0xb7, 0x32, 0x98,
+ 0x7d, 0x18, 0x17, 0xfe, 0x09, 0x27, 0x4a, 0xca, 0xde, 0x85, 0x15, 0x00,
+ 0x46, 0xd3, 0x38, 0x8a, 0xed, 0x64, 0x2c, 0x13, 0x33, 0xb4, 0x70, 0x7a,
+ 0x7b, 0x6e, 0x68, 0x71, 0x25, 0x36, 0x50, 0x37, 0xac, 0x2f, 0x6d, 0x8d,
+ 0xb7, 0x4f, 0x76, 0xee, 0x03, 0xd7, 0x36, 0x62, 0x4c, 0x94, 0xac, 0x17,
+ 0x92, 0xfb, 0xee, 0x7d, 0x8b, 0x4d, 0xb9, 0x60, 0x1f, 0x81, 0x73, 0xc6,
+ 0xfd, 0x1b, 0xf8, 0x39, 0x11, 0x4a, 0x96, 0xd5, 0x05, 0x93, 0x94, 0xb3,
+ 0x8e, 0xf9, 0x82, 0xc0, 0x27, 0xf1, 0x21, 0x9a, 0x58, 0xbe, 0x11, 0x41,
+ 0xa4, 0xe7, 0x30, 0x62, 0xe0, 0x39, 0xb3, 0x4e, 0x5a, 0xb1, 0xfe, 0x7c,
+ 0x9a, 0x52, 0xe4, 0x36, 0x9e, 0xcc, 0x38, 0x96, 0xfb, 0x36, 0xd4, 0xa7,
+ 0x88, 0x4f, 0x6b, 0x26, 0xa9, 0xe7, 0x1c, 0xe4, 0x26, 0x60, 0xb7, 0xcd,
+ 0x43, 0x12, 0x7c, 0xa7, 0x29, 0xc2, 0xf5, 0xda, 0x73, 0x5d, 0x06, 0x76,
+ 0xff, 0x74, 0xbf, 0x35, 0xab, 0x8b, 0x31, 0x69, 0x3a, 0xab, 0x7e, 0x2f,
+ 0x4b, 0xfb, 0x2b, 0x2f, 0xcc, 0x8d, 0xde, 0xb4, 0x28, 0x3c, 0xf4, 0x73,
+ 0x16, 0xe5, 0x18, 0x87, 0xdb, 0x42, 0x99, 0x73, 0xe7, 0x44, 0xf8, 0x23,
+ 0x1b, 0x63, 0x55, 0x3d, 0x4b, 0x30, 0x63, 0x6e, 0x68, 0x03, 0xed, 0x2d,
+ 0xc3, 0x3e, 0xf8, 0x53, 0x57, 0x72, 0xff, 0x36, 0x82, 0x34, 0xe8, 0xbf,
+ 0x7f, 0x7d, 0x0e, 0x37, 0xe0, 0xec, 0xc7, 0xde, 0x79, 0x1c, 0x0f, 0x64,
+ 0x2e, 0xbf, 0xc2, 0x34, 0xf2, 0xd5, 0x15, 0xe9, 0x96, 0x2f, 0x62, 0xa5,
+ 0x53, 0xde, 0x46, 0xc8, 0x63, 0xbf, 0xfc, 0xf7, 0xab, 0x85, 0x03, 0x98,
+ 0xda, 0xf0, 0x7d, 0x79, 0xec, 0x17, 0xff, 0x3e, 0xdf, 0xdd, 0xcd, 0xc2,
+ 0xc5, 0x72, 0xc5, 0xd7, 0x92, 0xa0, 0xde, 0xe6, 0x38, 0x4e, 0xaa, 0xfc,
+ 0x0c, 0xa6, 0x28, 0x39, 0xef, 0x21, 0x57, 0x94, 0x6f, 0x45, 0xbb, 0xa0,
+ 0xf8, 0x6c, 0xf1, 0x17, 0xe1, 0x60, 0x60, 0xcd, 0xe1, 0xe6, 0x48, 0x5b,
+ 0xa2, 0x17, 0xfc, 0xe7, 0xde, 0x97, 0xb1, 0x33, 0xb2, 0xa5, 0x34, 0x24,
+ 0x06, 0xb5, 0x91, 0x11, 0x3a, 0xe3, 0x30, 0x6e, 0x87, 0xa8, 0xbc, 0xb6,
+ 0xab, 0x0b, 0x6d, 0x96, 0x66, 0x8d, 0xd0, 0xab, 0xb1, 0xee, 0x49, 0xb2,
+ 0x43, 0x9a, 0x06, 0xac, 0x71, 0x0a, 0x97, 0x33, 0x44, 0x8a, 0x47, 0xe6,
+ 0x7d, 0xb0, 0xee, 0x6b, 0x84, 0x07, 0x51, 0xe1, 0xf7, 0xa0, 0x75, 0x08,
+ 0xc2, 0x5f, 0x0f, 0xa4, 0x7b, 0x91, 0x19, 0x8e, 0xc8, 0x4a, 0x92, 0x60,
+ 0x95, 0x9e, 0x70, 0x9c, 0x21, 0xcc, 0x12, 0xd7, 0x37, 0x90, 0x6e, 0xba,
+ 0xe0, 0x74, 0xeb, 0xe4, 0xd5, 0xd9, 0xbb, 0x77, 0xc7, 0xaf, 0xba, 0xf1,
+ 0x68, 0x57, 0x4f, 0x82, 0x66, 0x59, 0xa2, 0xea, 0x07, 0xbd, 0x33, 0xf1,
+ 0x75, 0x6e, 0x8c, 0x60, 0x43, 0x46, 0x3c, 0x03, 0x74, 0xd6, 0x4a, 0x05,
+ 0x25, 0x99, 0xcb, 0x52, 0x3c, 0xfc, 0x5c, 0xa6, 0x80, 0x48, 0xb5, 0x5e,
+ 0x40, 0x0f, 0xce, 0x87, 0x02, 0x67, 0x1a, 0xf5, 0x55, 0x65, 0x0d, 0x14,
+ 0xf6, 0xab, 0xce, 0x00, 0xd3, 0x35, 0x06, 0xe3, 0x9e, 0xa4, 0xa3, 0xb3,
+ 0xff, 0x35, 0xd2, 0xc1, 0xd1, 0xd2, 0x32, 0x23, 0xee, 0x51, 0xd1, 0xcf,
+ 0xb0, 0x9c, 0x73, 0x1b, 0xdf, 0x65, 0x5a, 0x7d, 0xa2, 0x78, 0xb6, 0x57,
+ 0xfe, 0x83, 0x02, 0x50, 0x80, 0x7f, 0xcf, 0x66, 0x31, 0x4c, 0x08, 0x78,
+ 0xdd, 0xfd, 0x6a, 0x07, 0x99, 0x90, 0xb4, 0xbe, 0x7c, 0xae, 0x75, 0x99,
+ 0xf4, 0x7a, 0x91, 0xdd, 0xd0, 0x67, 0x18, 0x08, 0x87, 0x80, 0x1d, 0xc2,
+ 0x5e, 0x1a, 0x8c, 0xdf, 0xce, 0x51, 0x85, 0x3b, 0xc1, 0x94, 0xa0, 0xb3,
+ 0x5a, 0x72, 0xb7, 0x0a, 0x00, 0x62, 0x53, 0xfb, 0x37, 0xae, 0xe9, 0x09,
+ 0xf6, 0xea, 0x6b, 0x05, 0xb5, 0xf4, 0x52, 0xea, 0x82, 0xdc, 0x3f, 0x8b,
+ 0x5f, 0x35, 0xc9, 0x5a, 0x50, 0x97, 0x7d, 0xb8, 0x40, 0xbc, 0xdb, 0x38,
+ 0x06, 0xb2, 0x56, 0xea, 0xd6, 0x00, 0x7a, 0xb4, 0x69, 0x4f, 0xe4, 0x6f,
+ 0x4c, 0x20, 0xf5, 0x30, 0x9a, 0xc1, 0xc2, 0x1e, 0x77, 0xe1, 0x96, 0x81,
+ 0x44, 0x06, 0x27, 0x29, 0x41, 0x10, 0x5e, 0xa2, 0x76, 0x81, 0x33, 0x25,
+ 0x71, 0x59, 0x03, 0x35, 0x17, 0x95, 0x27, 0xa8, 0xec, 0x1b, 0x88, 0x59,
+ 0xc0, 0x6d, 0xe4, 0x67, 0xd4, 0x60, 0x58, 0x37, 0x5f, 0x51, 0x85, 0x38,
+ 0x08, 0x21, 0x17, 0x38, 0x2f, 0x56, 0xeb, 0x26, 0x08, 0x24, 0x12, 0xbc,
+ 0x1a, 0x23, 0x6b, 0x7c, 0x39, 0x0c, 0x5b, 0x91, 0xa5, 0x33, 0xff, 0x4c,
+ 0xc1, 0xc0, 0x61, 0xf9, 0xd7, 0xcd, 0x2c, 0x2f, 0x36, 0x7a, 0x96, 0x7d,
+ 0x8b, 0xc6, 0x99, 0x34, 0x92, 0xf8, 0xcf, 0x91, 0x5f, 0x47, 0xac, 0x7b,
+ 0x70, 0x2d, 0x74, 0x69, 0xc1, 0xbe, 0xa5, 0x2c, 0x62, 0x13, 0x8a, 0x0e,
+ 0xaa, 0xd4, 0x3b, 0xdc, 0xcf, 0x58, 0x39, 0xe4, 0xd8, 0xca, 0xfa, 0x84,
+ 0xd2, 0x27, 0xee, 0x8e, 0xc6, 0x0f, 0xfd, 0xf2, 0x92, 0xc9, 0x76, 0xa2,
+ 0xbf, 0x47, 0x47, 0xb1, 0xcf, 0xfd, 0x1a, 0x33, 0x48, 0x5e, 0x98, 0xff,
+ 0x6c, 0xfc, 0xf6, 0xc3, 0x3f, 0x1b, 0x60, 0x4d, 0x6e, 0x90, 0xba, 0x36,
+ 0xc5, 0x15, 0xb2, 0xf0, 0x5e, 0x28, 0x55, 0xf0, 0xdc, 0x20, 0x2f, 0xd5,
+ 0x93, 0xc8, 0x1b, 0x65, 0xb0, 0xab, 0x43, 0xf3, 0xc5, 0x70, 0x24, 0x60,
+ 0x1f, 0x9b, 0x88, 0x84, 0xa0, 0x1e, 0x26, 0x92, 0xef, 0x15, 0xc1, 0xad,
+ 0x32, 0xde, 0x6e, 0x9e, 0x95, 0xad, 0xe2, 0x7b, 0xf8, 0xc6, 0x85, 0xa5,
+ 0xab, 0xff, 0x9a, 0xba, 0x82, 0xd2, 0xc1, 0x96, 0xb2, 0x82, 0x4f, 0xb4,
+ 0x36, 0xe1, 0x21, 0x52, 0x29, 0xd8, 0x92, 0x6e, 0x2d, 0x60, 0x6b, 0xa3,
+ 0xc2, 0x5d, 0xd8, 0x94, 0xf5, 0xee, 0xc8, 0x13, 0x4f, 0xfd, 0xe2, 0xd7,
+ 0xe2, 0xe1, 0x29, 0xdb, 0xf1, 0x93, 0xe9, 0xcb, 0xda, 0xa6, 0xe1, 0x18,
+ 0xaa, 0xbd, 0x37, 0x65, 0x9b, 0x92, 0x9b, 0xbc, 0x84, 0x6d, 0xcf, 0x2f,
+ 0xd1, 0x97, 0xb1, 0xfd, 0x7f, 0x63, 0xca, 0x76, 0x2b, 0x67, 0x9b, 0xd4,
+ 0x2b, 0x4a, 0x11, 0x8e, 0xa5, 0x6d, 0x7b, 0x70, 0x37, 0x9c, 0xb3, 0xbd,
+ 0x29, 0x65, 0xdb, 0xcb, 0xd8, 0xde, 0x90, 0xb0, 0xcd, 0xe0, 0xc1, 0x9b,
+ 0x52, 0xb6, 0x7f, 0x66, 0xce, 0x76, 0x4f, 0xca, 0xf6, 0x4f, 0xce, 0xd8,
+ 0xfe, 0x85, 0x53, 0xb6, 0x7f, 0xc9, 0x6c, 0x64, 0xdc, 0x1e, 0x3a, 0x8f,
+ 0x7c, 0x2a, 0xc5, 0x4d, 0x2f, 0xee, 0x85, 0x14, 0x6e, 0x27, 0xb0, 0x78,
+ 0x71, 0x66, 0x19, 0x87, 0x55, 0x1a, 0xa7, 0xb8, 0x87, 0x75, 0x43, 0x42,
+ 0x2a, 0x91, 0x0c, 0x38, 0x3f, 0x0e, 0x7c, 0x14, 0xbb, 0xe9, 0x75, 0xbd,
+ 0x18, 0x62, 0x02, 0x54, 0x73, 0x1c, 0x58, 0x89, 0x8e, 0xcf, 0x74, 0x9e,
+ 0xfb, 0xe5, 0x59, 0x4e, 0xb3, 0xa8, 0x0f, 0x8e, 0x9c, 0xad, 0x2e, 0x7f,
+ 0x59, 0x53, 0x3d, 0x6c, 0xcc, 0x6e, 0x67, 0xee, 0x33, 0x16, 0x0e, 0xa3,
+ 0x10, 0x27, 0xfc, 0x16, 0x7c, 0xa4, 0x99, 0x6d, 0xa9, 0x68, 0x23, 0x12,
+ 0xb6, 0x43, 0x72, 0x58, 0x0c, 0x83, 0xf2, 0x77, 0x7f, 0x1d, 0x10, 0x21,
+ 0x54, 0xf6, 0xa2, 0x4c, 0xbb, 0xc6, 0x15, 0x3c, 0x18, 0x1d, 0x71, 0x85,
+ 0x34, 0x22, 0x2c, 0x14, 0x5e, 0xe5, 0x79, 0x06, 0x88, 0x54, 0x98, 0x00,
+ 0xf0, 0xc0, 0xd5, 0xb4, 0xe3, 0x86, 0x65, 0xf2, 0xfc, 0x28, 0x79, 0x4f,
+ 0xaa, 0xa3, 0x51, 0xd4, 0x11, 0xed, 0xc7, 0xed, 0x36, 0x63, 0x27, 0xf2,
+ 0xfb, 0xd8, 0x70, 0x6d, 0x10, 0x5a, 0x43, 0x3f, 0x1f, 0xde, 0x9f, 0x86,
+ 0xf1, 0x69, 0x44, 0x0f, 0x9e, 0xef, 0xed, 0x21, 0x41, 0xea, 0x2a, 0xbd,
+ 0xbd, 0x1d, 0xd5, 0xd9, 0xde, 0xac, 0x9c, 0xd6, 0x7b, 0x74, 0x82, 0xfa,
+ 0xf5, 0xab, 0x66, 0xb9, 0xf8, 0xec, 0x3e, 0x98, 0x6b, 0xad, 0xcb, 0x5d,
+ 0xdc, 0x09, 0x5a, 0x97, 0xcb, 0xbe, 0xc4, 0xad, 0xcc, 0xbd, 0x3a, 0xf9,
+ 0x75, 0xd0, 0x79, 0x54, 0xaa, 0x0a, 0xcc, 0xaa, 0xcc, 0xff, 0xa1, 0xe7,
+ 0x0a, 0x45, 0x95, 0x22, 0x85, 0xcb, 0x7e, 0x5f, 0x5a, 0xaf, 0x86, 0x20,
+ 0x3c, 0x20, 0x2e, 0x24, 0x6f, 0x08, 0x53, 0x36, 0x6b, 0xc0, 0xc4, 0xe4,
+ 0x44, 0x3a, 0xc7, 0xde, 0xe9, 0x08, 0xcb, 0xe4, 0x15, 0xb6, 0x6d, 0x03,
+ 0x9d, 0xf5, 0xf4, 0x88, 0xfd, 0xc5, 0x59, 0x82, 0xa1, 0x6e, 0x92, 0xf2,
+ 0x0f, 0x51, 0x76, 0xfd, 0x47, 0x7f, 0x8d, 0x5b, 0x66, 0x13, 0xf2, 0x5e,
+ 0x70, 0xb6, 0xdd, 0xc6, 0x99, 0xd8, 0x87, 0x7f, 0x8d, 0x99, 0xa0, 0x4e,
+ 0x3f, 0xca, 0x1f, 0x5b, 0x73, 0xc0, 0x63, 0xbf, 0xc6, 0xf7, 0xaf, 0x0f,
+ 0xfa, 0x3e, 0x8b, 0x26, 0xb0, 0x78, 0xe2, 0x17, 0xfc, 0xf0, 0x07, 0xeb,
+ 0xac, 0x62, 0x4c, 0x83, 0x17, 0xf4, 0xdf, 0xe7, 0xba, 0xc3, 0x7d, 0xdd,
+ 0xe5, 0x36, 0x20, 0xf7, 0x7b, 0x8d, 0xed, 0x25, 0xa3, 0x75, 0x33, 0x68,
+ 0x48, 0x2f, 0x2a, 0x08, 0x43, 0x42, 0x09, 0xaa, 0x37, 0x9a, 0x2d, 0x0c,
+ 0x15, 0x12, 0x90, 0x21, 0x54, 0x18, 0xd5, 0x86, 0x3e, 0x3e, 0x2b, 0x15,
+ 0x65, 0xe9, 0x5d, 0x8f, 0x18, 0x42, 0x86, 0x40, 0x4c, 0x2b, 0x6f, 0xd4,
+ 0x69, 0x84, 0x6b, 0xec, 0xd7, 0x46, 0x9a, 0x8b, 0xb5, 0x08, 0xd3, 0x5a,
+ 0xee, 0xeb, 0x59, 0x00, 0x9e, 0xed, 0x43, 0x11, 0x4d, 0xac, 0x1f, 0x0d,
+ 0x7c, 0xa5, 0xcb, 0x44, 0x15, 0xcf, 0x76, 0xe1, 0xc0, 0x2b, 0xec, 0x15,
+ 0x7f, 0x9e, 0x6c, 0x0d, 0x3f, 0x24, 0xcf, 0xb7, 0x82, 0x2d, 0x3a, 0x2b,
+ 0xa4, 0xe7, 0x0b, 0x9c, 0x5e, 0x15, 0x0a, 0xe1, 0xd1, 0x46, 0xca, 0x57,
+ 0x4d, 0xae, 0x08, 0xb0, 0xc8, 0x99, 0x13, 0xb6, 0x5f, 0xc2, 0x65, 0x10,
+ 0x84, 0x63, 0xe7, 0x05, 0x2b, 0x51, 0xda, 0xe1, 0x88, 0x44, 0x09, 0xb9,
+ 0x6d, 0x1c, 0xfc, 0x39, 0xd4, 0x27, 0xee, 0xde, 0x20, 0x89, 0x0d, 0x14,
+ 0xcd, 0x9c, 0x86, 0xee, 0x17, 0xdb, 0x1b, 0x1c, 0x23, 0xae, 0xca, 0xba,
+ 0xce, 0x27, 0x86, 0x47, 0x5f, 0x0a, 0x7f, 0xac, 0x33, 0x4e, 0xa7, 0xe2,
+ 0x26, 0xab, 0xb4, 0x97, 0xb5, 0x4b, 0x2e, 0xab, 0x43, 0x68, 0x2d, 0x5e,
+ 0xa9, 0xed, 0x18, 0x21, 0xee, 0x25, 0x33, 0x3b, 0x66, 0x6d, 0xd7, 0x39,
+ 0x0d, 0xcf, 0x04, 0x97, 0x26, 0x93, 0x2a, 0xcf, 0xe6, 0xc9, 0xb2, 0xe4,
+ 0xad, 0x87, 0xe2, 0xd5, 0x65, 0xb2, 0x0b, 0x42, 0xe6, 0xa0, 0x2e, 0xe1,
+ 0x94, 0x69, 0x5b, 0x13, 0xe8, 0x24, 0xf2, 0xaf, 0x91, 0xfd, 0xe8, 0x72,
+ 0xbb, 0xab, 0x8c, 0x32, 0x07, 0xae, 0x33, 0x39, 0xd6, 0x54, 0x7b, 0xef,
+ 0xf4, 0xe4, 0xa4, 0x56, 0x16, 0x9b, 0x1b, 0xd5, 0x0e, 0x80, 0x04, 0xb2,
+ 0xf8, 0x24, 0xf4, 0x45, 0xf4, 0x72, 0xd4, 0xf4, 0x5d, 0x57, 0xba, 0x3f,
+ 0xfa, 0xd5, 0x78, 0xbc, 0xe7, 0x85, 0xfe, 0xd9, 0x75, 0x00, 0xfd, 0x59,
+ 0xf1, 0xed, 0xd4, 0x68, 0x31, 0x82, 0xee, 0xcb, 0x87, 0x9f, 0x13, 0x2a,
+ 0xfe, 0xbb, 0xae, 0x96, 0x13, 0x49, 0x2d, 0xa7, 0x04, 0x3a, 0xce, 0x57,
+ 0xb3, 0xab, 0x6b, 0x80, 0x2e, 0x00, 0x90, 0x16, 0x3f, 0x36, 0xfc, 0x21,
+ 0x10, 0xf1, 0x2e, 0x5d, 0xbe, 0x95, 0x20, 0xef, 0xf2, 0xe3, 0xe9, 0xac,
+ 0x5c, 0x76, 0x3c, 0x0a, 0x42, 0xd8, 0x45, 0x9e, 0xd2, 0x0c, 0x42, 0x99,
+ 0x4c, 0x18, 0xe2, 0xfd, 0xb9, 0xf1, 0x46, 0xe7, 0xf3, 0x62, 0xf5, 0x0e,
+ 0xf5, 0x93, 0x1c, 0xac, 0xf1, 0x28, 0x31, 0x6e, 0x28, 0xfa, 0x3f, 0x3c,
+ 0x0d, 0xba, 0x38, 0x4a, 0xed, 0x84, 0x30, 0x4e, 0x9b, 0xbd, 0x70, 0x9d,
+ 0xa7, 0x56, 0x87, 0x72, 0xdf, 0xe2, 0x1d, 0x75, 0x9f, 0xea, 0x8b, 0xc3,
+ 0x31, 0xde, 0x4e, 0xa4, 0xb2, 0xf3, 0xdd, 0x78, 0x1c, 0xa6, 0xc8, 0x17,
+ 0xc6, 0x38, 0x29, 0x2f, 0x8b, 0xfc, 0x1f, 0xd2, 0x5e, 0xab, 0x9b, 0xd9,
+ 0xda, 0xaa, 0x51, 0x68, 0x07, 0xe4, 0x29, 0x51, 0x22, 0xe4, 0x6f, 0x82,
+ 0x04, 0x47, 0x62, 0x07, 0x09, 0x61, 0x80, 0xb0, 0xb2, 0xc9, 0x80, 0x14,
+ 0x67, 0xe0, 0x1e, 0x4a, 0xad, 0xa4, 0x07, 0x85, 0xcc, 0xf9, 0x2c, 0x54,
+ 0x24, 0x69, 0x0f, 0x04, 0x7b, 0x26, 0xae, 0x22, 0x65, 0x3f, 0xa3, 0xa0,
+ 0x80, 0x38, 0xe8, 0xcf, 0x2a, 0x29, 0x68, 0x2b, 0xa8, 0x1e, 0x00, 0x53,
+ 0x76, 0xcb, 0x1c, 0x34, 0x8e, 0x70, 0x27, 0xa8, 0xb2, 0x59, 0x4c, 0xbc,
+ 0xd8, 0x38, 0x04, 0xda, 0xa7, 0x3c, 0x04, 0xe4, 0x4e, 0x55, 0xcf, 0x40,
+ 0xbc, 0x44, 0x10, 0xee, 0xec, 0xe8, 0x0f, 0x80, 0xb6, 0x23, 0x37, 0xbe,
+ 0x82, 0xca, 0xcb, 0x94, 0xd1, 0x6a, 0x85, 0xe1, 0x17, 0x32, 0xc6, 0xa3,
+ 0xa3, 0x69, 0xb9, 0x2b, 0xc9, 0x17, 0x36, 0xda, 0x04, 0x94, 0xd0, 0x18,
+ 0xa0, 0xb8, 0x4f, 0xb4, 0x68, 0xaf, 0xe1, 0xbd, 0xa5, 0xb7, 0x47, 0x84,
+ 0xbe, 0x46, 0x45, 0x55, 0x16, 0x17, 0x8b, 0x2c, 0x79, 0x54, 0xef, 0x29,
+ 0x4d, 0x74, 0x49, 0xcb, 0x01, 0xfc, 0xdb, 0x29, 0x72, 0x96, 0x88, 0xf8,
+ 0xf8, 0x6d, 0xe3, 0xba, 0xb6, 0x0c, 0x63, 0x04, 0xd2, 0x80, 0xb4, 0x04,
+ 0x97, 0x06, 0x6a, 0xc0, 0xda, 0x18, 0x65, 0x04, 0xfc, 0xcb, 0xa5, 0x45,
+ 0xf6, 0x4c, 0x06, 0xc4, 0x7d, 0x98, 0xe5, 0x8a, 0xa7, 0x6e, 0xb8, 0x52,
+ 0x2e, 0xdb, 0x5d, 0xec, 0x9d, 0x0c, 0xd2, 0xa3, 0xcb, 0xff, 0x0a, 0x95,
+ 0x28, 0x3f, 0xa7, 0x10, 0xe5, 0x57, 0xae, 0x44, 0xf1, 0x24, 0x05, 0x89,
+ 0x9d, 0x50, 0x4e, 0x20, 0x2d, 0x8a, 0x5c, 0x32, 0x9c, 0x07, 0x75, 0x93,
+ 0xda, 0xd6, 0x33, 0x78, 0xab, 0x33, 0x5c, 0xf4, 0x26, 0xb5, 0x73, 0x64,
+ 0x3d, 0x0e, 0xa2, 0xfc, 0x91, 0x53, 0xe0, 0xa9, 0xe9, 0x5d, 0x0f, 0xcc,
+ 0x4f, 0x46, 0x25, 0xe3, 0xb3, 0x4c, 0x20, 0xba, 0xfe, 0xe0, 0x3a, 0xbf,
+ 0xfc, 0xda, 0x06, 0xd8, 0x81, 0xe1, 0xcd, 0x2f, 0x3c, 0x79, 0xfc, 0xa7,
+ 0x88, 0x40, 0x0e, 0x9c, 0x96, 0x5c, 0xd7, 0x46, 0xaf, 0xb6, 0x61, 0x30,
+ 0x23, 0x4c, 0x2f, 0x7e, 0x61, 0xd0, 0x68, 0x16, 0xf1, 0x4d, 0x65, 0x6f,
+ 0x94, 0x16, 0x47, 0x2f, 0xf7, 0x30, 0x38, 0x01, 0x5a, 0x55, 0x83, 0xd8,
+ 0xf0, 0xf3, 0x49, 0xd6, 0xdc, 0x90, 0x16, 0x87, 0xdd, 0xd0, 0x6d, 0xf4,
+ 0x78, 0x80, 0xe5, 0x87, 0xbd, 0xf9, 0x2e, 0x03, 0xc1, 0x57, 0x26, 0x8e,
+ 0xc2, 0x40, 0xbe, 0xd6, 0x33, 0xa2, 0x71, 0xdd, 0xe0, 0xfa, 0xc5, 0x5a,
+ 0x39, 0xb9, 0x10, 0x35, 0x7f, 0x9f, 0xf6, 0xc5, 0xcb, 0xc5, 0x6d, 0x55,
+ 0x0c, 0x69, 0xe6, 0x92, 0x3c, 0xe8, 0xfb, 0xf8, 0xed, 0x35, 0x96, 0x6b,
+ 0x1b, 0xf3, 0x7e, 0xb6, 0xd9, 0x9c, 0x1e, 0xbe, 0xa7, 0x67, 0x49, 0x84,
+ 0xd0, 0x2e, 0xde, 0x15, 0xc8, 0xc5, 0x42, 0xc3, 0xbd, 0x5c, 0x86, 0x5d,
+ 0x39, 0xf2, 0xdb, 0x74, 0x65, 0x7e, 0x46, 0x21, 0x41, 0x60, 0xca, 0xce,
+ 0xb2, 0x58, 0x5e, 0x42, 0x67, 0xf3, 0x3b, 0x71, 0x71, 0x9c, 0x4f, 0xd8,
+ 0x26, 0xc1, 0x1a, 0x67, 0xb1, 0xf6, 0x36, 0xb5, 0x20, 0x37, 0xa9, 0x7b,
+ 0x4a, 0x83, 0xe0, 0x12, 0x6c, 0xf1, 0x29, 0x4d, 0xd0, 0x09, 0x0b, 0x29,
+ 0xdf, 0x0c, 0xa1, 0xc7, 0x5b, 0x6b, 0x2c, 0x47, 0x91, 0x26, 0x97, 0xa4,
+ 0x5f, 0xa0, 0x1e, 0xab, 0x3b, 0x7f, 0xc9, 0xe1, 0xd3, 0x96, 0x87, 0x2d,
+ 0x27, 0x0f, 0x64, 0x59, 0xe8, 0x32, 0x13, 0xf0, 0x27, 0x7d, 0x45, 0x20,
+ 0x90, 0xe5, 0x03, 0xb6, 0x35, 0x6c, 0x5f, 0x64, 0x32, 0x96, 0xc3, 0xd1,
+ 0xba, 0xb5, 0x12, 0x7b, 0x88, 0xc4, 0xe6, 0x76, 0xc6, 0x54, 0x17, 0x31,
+ 0x7e, 0x75, 0xbe, 0x9b, 0x9c, 0x77, 0xc2, 0x0a, 0x28, 0x4a, 0x22, 0x61,
+ 0xea, 0x33, 0x62, 0x69, 0xc5, 0xc7, 0x08, 0x97, 0xfd, 0x2e, 0x68, 0xc5,
+ 0x15, 0xb6, 0x58, 0xae, 0x08, 0xfd, 0xfe, 0xe2, 0x8c, 0xa9, 0xb3, 0x96,
+ 0x97, 0x28, 0xd2, 0x60, 0x50, 0x10, 0x31, 0x29, 0xfd, 0x5b, 0x6a, 0x4c,
+ 0xe8, 0x92, 0x4a, 0xed, 0xb8, 0xf9, 0x95, 0x38, 0xe5, 0xd5, 0x99, 0xbe,
+ 0x08, 0x52, 0x1d, 0x19, 0x14, 0x47, 0x33, 0xcf, 0x3d, 0xf8, 0x23, 0x69,
+ 0x43, 0x59, 0xb3, 0x5c, 0xea, 0xb4, 0x89, 0xa0, 0x55, 0x5c, 0x66, 0x45,
+ 0xd8, 0x75, 0x06, 0x1f, 0x25, 0x41, 0x2e, 0x44, 0x3d, 0x1b, 0x75, 0xd1,
+ 0xb3, 0xbd, 0xb0, 0x81, 0x4c, 0x2e, 0x2f, 0x1d, 0x52, 0x7e, 0x0f, 0xc2,
+ 0x26, 0x4c, 0xfe, 0x09, 0x0a, 0x00, 0x09, 0x87, 0x0b, 0x48, 0xec, 0x30,
+ 0x0a, 0xa6, 0xe5, 0xea, 0x8e, 0xb6, 0xc3, 0x3c, 0x58, 0xd7, 0x57, 0x87,
+ 0x86, 0x73, 0x1c, 0x8e, 0x3e, 0x87, 0x89, 0x62, 0x84, 0x75, 0x04, 0x8e,
+ 0x97, 0x73, 0x47, 0xa4, 0x5d, 0x6d, 0x67, 0x34, 0xd1, 0xc2, 0x47, 0x4e,
+ 0xf1, 0x1f, 0xfe, 0x37, 0xa2, 0xb4, 0xbf, 0xaf, 0xc3, 0xf8, 0xdd, 0x0e,
+ 0x08, 0xea, 0x0d, 0x90, 0x34, 0xa9, 0x1d, 0x12, 0x32, 0x0d, 0x26, 0x79,
+ 0x83, 0x96, 0x06, 0x6a, 0x43, 0xb6, 0x2f, 0xe6, 0x1b, 0x2e, 0x79, 0x4e,
+ 0xf0, 0x5a, 0xb4, 0x26, 0xde, 0xa8, 0xe0, 0xff, 0x8d, 0xbe, 0xa5, 0x03,
+ 0x70, 0x6d, 0x12, 0xb2, 0x21, 0xfe, 0x7c, 0xfc, 0xe6, 0xec, 0xfd, 0x71,
+ 0xbb, 0x5e, 0xb1, 0x01, 0xe8, 0x16, 0x82, 0xfd, 0xdd, 0xd9, 0x01, 0xd5,
+ 0xce, 0x35, 0xf5, 0xcd, 0x8b, 0x9c, 0x8c, 0xfe, 0xe4, 0xfc, 0xbb, 0xd7,
+ 0x76, 0x72, 0x39, 0x98, 0x26, 0x26, 0xa5, 0x23, 0x0e, 0x74, 0x9f, 0xbb,
+ 0xa2, 0x9d, 0x94, 0x00, 0x6a, 0x06, 0x26, 0xcd, 0xc5, 0xed, 0xf4, 0x90,
+ 0x64, 0xc1, 0xa9, 0x31, 0x5a, 0xaa, 0x0f, 0x0c, 0xf5, 0xba, 0xa6, 0xd2,
+ 0x7b, 0x3b, 0x6c, 0xa0, 0xf7, 0x42, 0xf4, 0x03, 0x6d, 0x4a, 0x6c, 0x51,
+ 0x42, 0x8e, 0x23, 0x30, 0xb9, 0x51, 0x62, 0x3f, 0xe2, 0xbe, 0x42, 0x07,
+ 0x2f, 0xd9, 0x40, 0xf8, 0x4a, 0x8c, 0x61, 0x53, 0xdf, 0x7b, 0x8e, 0x83,
+ 0xb0, 0xbc, 0x23, 0x87, 0x0b, 0xd1, 0xac, 0xed, 0x3b, 0x36, 0x60, 0xa4,
+ 0x3f, 0x09, 0xf7, 0xf8, 0xfb, 0x18, 0x89, 0x90, 0x9b, 0xcf, 0xee, 0xd4,
+ 0xbb, 0x03, 0x6f, 0xa6, 0x76, 0xdb, 0x64, 0xc2, 0xdb, 0x7f, 0xd8, 0x4e,
+ 0xa4, 0x20, 0x04, 0x0c, 0x8f, 0x61, 0x69, 0x7b, 0xfa, 0x8d, 0xba, 0xfe,
+ 0x73, 0xbb, 0xf7, 0xe5, 0x6f, 0xe9, 0xa2, 0xfb, 0xeb, 0xb1, 0x25, 0x74,
+ 0x27, 0x49, 0x3d, 0x68, 0x04, 0xbb, 0x66, 0xcc, 0x52, 0xb0, 0x0e, 0x11,
+ 0xa7, 0x3a, 0xce, 0x40, 0x70, 0xbc, 0x43, 0xe7, 0x5e, 0xe5, 0xf7, 0xa4,
+ 0x52, 0x86, 0x83, 0x88, 0x99, 0x36, 0x4e, 0xe0, 0x58, 0x04, 0x51, 0x77,
+ 0x7d, 0x57, 0x34, 0x74, 0x51, 0x99, 0xa7, 0x4c, 0xcb, 0x2a, 0x5e, 0x00,
+ 0x06, 0x62, 0x72, 0xb4, 0x5b, 0x03, 0x6b, 0xe2, 0xd9, 0xe3, 0x67, 0x24,
+ 0xdc, 0x91, 0xa3, 0x24, 0x3d, 0xd9, 0x04, 0xe1, 0x19, 0xf1, 0x53, 0x9e,
+ 0x73, 0x14, 0x39, 0x44, 0xc6, 0x91, 0x2e, 0xda, 0x93, 0x6c, 0xc1, 0x5d,
+ 0xe0, 0xc6, 0xde, 0x10, 0x21, 0x98, 0x52, 0xdf, 0x89, 0x11, 0xe6, 0xa2,
+ 0xa1, 0x9d, 0xbc, 0xfe, 0x94, 0xec, 0xfc, 0x57, 0x6e, 0x99, 0xe9, 0xaa,
+ 0xe3, 0x39, 0xf8, 0x9b, 0x17, 0xeb, 0x80, 0xf2, 0xc9, 0x39, 0xa7, 0x85,
+ 0xc2, 0x3a, 0xe0, 0x1c, 0x31, 0x95, 0xb4, 0xf6, 0x11, 0x4d, 0x3c, 0x50,
+ 0xb5, 0xa6, 0x5c, 0x91, 0xd2, 0x06, 0xf8, 0x84, 0x48, 0xd7, 0x5e, 0x73,
+ 0x58, 0x0f, 0x4e, 0xf2, 0x69, 0x97, 0x2d, 0x84, 0x12, 0x91, 0x76, 0x02,
+ 0x98, 0xd8, 0xe2, 0x6e, 0x55, 0xe5, 0x6a, 0x94, 0x7c, 0x28, 0x90, 0x89,
+ 0x27, 0x64, 0x27, 0x62, 0x22, 0x2f, 0xcc, 0x0e, 0x18, 0x9a, 0x26, 0x28,
+ 0x8f, 0x08, 0x13, 0x02, 0x9f, 0xf3, 0xef, 0x9d, 0xb0, 0xc9, 0x4e, 0x88,
+ 0x14, 0xf7, 0xd6, 0xa2, 0x98, 0x0b, 0xdf, 0x7a, 0x13, 0xf6, 0x37, 0xe4,
+ 0xfe, 0x6c, 0x44, 0xea, 0x66, 0x39, 0x18, 0x9b, 0x42, 0xe0, 0xd9, 0x62,
+ 0x31, 0x64, 0x10, 0x75, 0x82, 0x94, 0x26, 0xe5, 0x9e, 0x8b, 0xa4, 0x91,
+ 0xc0, 0xe6, 0x97, 0xe0, 0x07, 0x92, 0x05, 0xb5, 0xde, 0x23, 0xd4, 0x00,
+ 0x29, 0xd8, 0x88, 0xa4, 0xbd, 0x6b, 0x64, 0x8d, 0x0a, 0xf7, 0x9c, 0x3f,
+ 0x04, 0xbb, 0xf3, 0x77, 0xe5, 0xa7, 0xb1, 0x8e, 0x64, 0x21, 0x2c, 0xe9,
+ 0xf4, 0xea, 0xb2, 0x5a, 0x71, 0x57, 0xc4, 0x58, 0xcb, 0x46, 0x4f, 0xeb,
+ 0xe6, 0x27, 0x95, 0x24, 0xea, 0xac, 0xe1, 0xa9, 0xf0, 0xab, 0x27, 0xaf,
+ 0x5b, 0xdd, 0xd5, 0x69, 0x27, 0x50, 0xe7, 0x16, 0x1f, 0x4e, 0x60, 0x47,
+ 0xc9, 0x57, 0x80, 0x1b, 0xe9, 0x24, 0x87, 0x1d, 0xcd, 0x99, 0x18, 0x93,
+ 0x3b, 0xf7, 0x9b, 0xf8, 0x70, 0x32, 0x06, 0x6b, 0xaa, 0x3c, 0x82, 0x0e,
+ 0x0b, 0x5a, 0x31, 0xa6, 0x68, 0x4e, 0x0d, 0xae, 0x88, 0x1a, 0x2e, 0xb3,
+ 0xca, 0x7e, 0x24, 0x4c, 0x92, 0xbc, 0x5a, 0x96, 0x33, 0x2a, 0xea, 0xca,
+ 0xee, 0xdd, 0x0b, 0x7a, 0x50, 0xf7, 0x42, 0x6a, 0xe1, 0x6a, 0x7f, 0x5d,
+ 0x18, 0xc4, 0x50, 0x29, 0x51, 0x5e, 0x39, 0x8f, 0x35, 0x55, 0xe8, 0x9a,
+ 0x41, 0x89, 0x76, 0x29, 0xcd, 0xf8, 0x65, 0x7f, 0x09, 0x45, 0x52, 0x4e,
+ 0x1b, 0x6f, 0x05, 0xf4, 0x40, 0x7c, 0x38, 0x66, 0xac, 0x91, 0x95, 0x51,
+ 0x81, 0x14, 0x2c, 0xca, 0xfb, 0x56, 0x46, 0x0f, 0x06, 0xa7, 0x6c, 0x7e,
+ 0xe8, 0xb0, 0x67, 0xbd, 0x23, 0xe6, 0xc3, 0x89, 0x0f, 0xd7, 0x3e, 0x60,
+ 0x3d, 0x61, 0xcc, 0x21, 0x76, 0xc0, 0x82, 0x61, 0x1d, 0x6a, 0x58, 0xce,
+ 0x3e, 0xe6, 0xdd, 0xb1, 0x0f, 0xf6, 0x1e, 0xb0, 0x7c, 0x23, 0xd8, 0x85,
+ 0x45, 0x61, 0xb4, 0xbb, 0x75, 0x35, 0xcd, 0x3e, 0x62, 0x6e, 0x4d, 0x5a,
+ 0x5d, 0x66, 0xcd, 0xc7, 0xcd, 0x1b, 0xb2, 0x10, 0x34, 0x85, 0xbb, 0x25,
+ 0xda, 0x8c, 0x5b, 0x5e, 0x21, 0xf8, 0xb2, 0xa9, 0xa0, 0x0b, 0x18, 0x05,
+ 0x8f, 0x5b, 0xb9, 0x37, 0xfd, 0x1b, 0xe2, 0x7d, 0x8f, 0x31, 0x69, 0xd9,
+ 0x30, 0x5b, 0x95, 0x79, 0x61, 0x1b, 0xc7, 0x80, 0xc7, 0x78, 0x73, 0x8c,
+ 0x21, 0x2f, 0x6d, 0x0a, 0x57, 0x2d, 0x3f, 0x51, 0x89, 0x95, 0x55, 0x02,
+ 0x3e, 0x46, 0x9a, 0x83, 0x78, 0x8b, 0xe3, 0xa7, 0xf5, 0xb4, 0x79, 0x49,
+ 0x52, 0x42, 0x68, 0x9b, 0xd1, 0xfa, 0x07, 0x4d, 0x45, 0xc5, 0x3d, 0xb3,
+ 0xf1, 0x3f, 0x68, 0x6f, 0x64, 0x77, 0x76, 0xab, 0x9b, 0x99, 0x05, 0xb2,
+ 0xb9, 0x71, 0x17, 0x48, 0x45, 0x3b, 0x32, 0x9b, 0xb5, 0xe1, 0x33, 0x65,
+ 0x30, 0xf1, 0x60, 0x73, 0x45, 0xc0, 0xee, 0xfd, 0x74, 0xd1, 0x84, 0xfa,
+ 0x4f, 0xf0, 0xf1, 0x0a, 0x9d, 0xab, 0x65, 0x77, 0xe5, 0x30, 0xfa, 0xb7,
+ 0x46, 0x9e, 0x76, 0x53, 0x64, 0xee, 0x6e, 0xe9, 0xbf, 0xac, 0x22, 0x7b,
+ 0xb4, 0x81, 0xdd, 0xc9, 0x67, 0xbb, 0x0c, 0x6f, 0x96, 0x91, 0x5b, 0x96,
+ 0x29, 0x01, 0x39, 0x5b, 0xf7, 0xdf, 0x2b, 0x9e, 0x79, 0xef, 0x1e, 0x57,
+ 0xcb, 0x7b, 0xae, 0xb8, 0x79, 0xc0, 0xad, 0x8a, 0x91, 0x38, 0xec, 0xaa,
+ 0x82, 0x5b, 0x29, 0x8d, 0xad, 0x7b, 0x76, 0xbe, 0x6f, 0x06, 0x2d, 0x1a,
+ 0xec, 0x9f, 0x89, 0x3c, 0x19, 0x9d, 0x8e, 0xdb, 0x5c, 0x73, 0xba, 0xd5,
+ 0x9d, 0x9b, 0x59, 0x7c, 0x38, 0x99, 0xae, 0x7b, 0x4b, 0xb6, 0x67, 0xe0,
+ 0xf9, 0x2e, 0xb9, 0x93, 0x88, 0x31, 0x1b, 0x43, 0xda, 0xd0, 0xeb, 0xfd,
+ 0x93, 0xd8, 0x03, 0xd9, 0xe7, 0x8b, 0xc2, 0xb7, 0xc8, 0xe9, 0x8b, 0x46,
+ 0xf2, 0x6e, 0x28, 0x65, 0xf1, 0x22, 0xd6, 0xf6, 0xb8, 0xb9, 0x97, 0x30,
+ 0xe2, 0xae, 0x48, 0xc8, 0x43, 0xa2, 0x2a, 0x1a, 0x51, 0x89, 0x92, 0x0a,
+ 0xc0, 0xb8, 0x19, 0xb5, 0xf8, 0x08, 0xf3, 0xe6, 0x13, 0xfe, 0x66, 0xc2,
+ 0x79, 0x5b, 0x0c, 0x84, 0x4c, 0xb1, 0x43, 0x51, 0x43, 0xb4, 0x57, 0x71,
+ 0x9d, 0x89, 0x9d, 0x20, 0x8f, 0x73, 0xd7, 0x90, 0xb0, 0x41, 0x73, 0x27,
+ 0x79, 0xae, 0x1e, 0x05, 0x70, 0xdb, 0xd9, 0xe5, 0xcc, 0x6f, 0x77, 0xee,
+ 0x2d, 0xbf, 0x1a, 0xf0, 0x16, 0x5c, 0x9a, 0xc5, 0xe3, 0x8f, 0x68, 0x91,
+ 0x48, 0xa2, 0x86, 0x24, 0x50, 0x0f, 0x76, 0x93, 0xf7, 0x12, 0xda, 0x24,
+ 0xa5, 0xee, 0xae, 0xc1, 0x04, 0xcd, 0x00, 0x3b, 0xf9, 0xc8, 0x08, 0x43,
+ 0x2e, 0x0a, 0x20, 0x05, 0x89, 0x10, 0xf9, 0x63, 0x81, 0xe2, 0x5d, 0x8d,
+ 0x14, 0x2b, 0x04, 0xd8, 0xde, 0xc1, 0xe8, 0x60, 0x90, 0x58, 0xdb, 0xd3,
+ 0xd3, 0x9d, 0x91, 0xbc, 0x28, 0x58, 0xe0, 0xf4, 0xe9, 0xae, 0x9f, 0xe1,
+ 0x3d, 0x7d, 0xb8, 0x0e, 0xbd, 0xc2, 0x70, 0x2d, 0x3b, 0x83, 0xe5, 0x26,
+ 0xbd, 0x0b, 0x15, 0xd3, 0xfd, 0xe1, 0xa3, 0x67, 0xcf, 0x5a, 0xf2, 0xbc,
+ 0xf6, 0x70, 0xd4, 0x1f, 0xef, 0xef, 0x63, 0x6d, 0x41, 0x4d, 0xb4, 0xf9,
+ 0xc5, 0xf0, 0x19, 0x5e, 0x6c, 0xbf, 0x56, 0x67, 0xe6, 0x08, 0x66, 0xfd,
+ 0xef, 0x0d, 0xe9, 0x37, 0x91, 0xcf, 0xc1, 0x9f, 0xd2, 0xfb, 0xd6, 0x33,
+ 0xfa, 0x5c, 0xe4, 0x2d, 0x3c, 0xcc, 0xdb, 0x58, 0xce, 0xe7, 0xe4, 0xc9,
+ 0xa2, 0x27, 0x15, 0x99, 0xe7, 0x26, 0xad, 0x66, 0xe1, 0x72, 0xf7, 0x07,
+ 0xc3, 0x83, 0xbe, 0xe5, 0x22, 0x9a, 0x8c, 0x04, 0x38, 0x3a, 0x4f, 0x32,
+ 0x14, 0x8d, 0x01, 0xc2, 0x05, 0x42, 0xdd, 0x81, 0x0e, 0xcc, 0x8c, 0x0e,
+ 0x9e, 0x3d, 0x1b, 0xd0, 0xcc, 0x1e, 0x3f, 0x7b, 0xd6, 0x5b, 0x10, 0xee,
+ 0x7d, 0xe6, 0xa6, 0x74, 0xee, 0x27, 0x7a, 0xdd, 0x11, 0x4d, 0x4d, 0x76,
+ 0x4e, 0xfc, 0x3b, 0xf4, 0x9b, 0x2f, 0x92, 0x77, 0x67, 0x17, 0xc7, 0x9e,
+ 0x63, 0x06, 0xd7, 0x8b, 0x23, 0x86, 0x5e, 0x8a, 0x28, 0x42, 0xb0, 0x2b,
+ 0xb4, 0xf2, 0x82, 0xe1, 0x4b, 0x36, 0x49, 0x68, 0x4c, 0xa2, 0x58, 0x45,
+ 0x7d, 0x82, 0xff, 0x16, 0x66, 0x44, 0x90, 0x71, 0x3c, 0xcb, 0x2f, 0xf3,
+ 0xc6, 0x87, 0x6d, 0xda, 0x31, 0xa7, 0xbd, 0x0b, 0x17, 0x07, 0x27, 0xba,
+ 0x49, 0x34, 0x65, 0xbb, 0xa6, 0xf2, 0x0e, 0xce, 0x84, 0xdd, 0x26, 0x6b,
+ 0x6a, 0x3b, 0x28, 0xb0, 0xc8, 0x16, 0xb3, 0x5a, 0x05, 0x21, 0x3f, 0x3e,
+ 0xc4, 0x83, 0x72, 0x5b, 0x60, 0xae, 0x72, 0x8f, 0xf7, 0x14, 0xa0, 0x96,
+ 0xfc, 0xe9, 0xfe, 0x78, 0x0a, 0xdc, 0x59, 0x48, 0xc4, 0xd0, 0xc2, 0x2c,
+ 0x1a, 0xc7, 0x4f, 0x95, 0xdd, 0xae, 0x9d, 0xcb, 0xd3, 0x7a, 0xe7, 0x0a,
+ 0x3a, 0x87, 0x00, 0x8f, 0x90, 0x9d, 0xf8, 0xb3, 0x6c, 0xa5, 0x29, 0xa5,
+ 0x45, 0x7b, 0x1c, 0x43, 0xcb, 0xf3, 0xfc, 0x72, 0x5d, 0xc5, 0xd3, 0x2f,
+ 0xff, 0xe2, 0xca, 0x84, 0xb4, 0x69, 0x40, 0x7a, 0x93, 0x6a, 0x79, 0x12,
+ 0x1a, 0x3d, 0xe8, 0xbd, 0x56, 0x23, 0x58, 0xcb, 0x81, 0xd0, 0xd2, 0x21,
+ 0xb0, 0xa4, 0xc9, 0x3b, 0x31, 0x37, 0x9a, 0x0c, 0x39, 0x09, 0xb4, 0x6d,
+ 0xa7, 0x34, 0x2f, 0x48, 0x1b, 0x57, 0x96, 0x25, 0x2e, 0x44, 0x3a, 0x6f,
+ 0x12, 0xa7, 0xa9, 0x6c, 0x41, 0x98, 0x53, 0xb7, 0xbd, 0x70, 0xbe, 0x7b,
+ 0x7a, 0x12, 0xde, 0x96, 0xab, 0xd2, 0x6b, 0x13, 0x12, 0x82, 0x36, 0x08,
+ 0x28, 0x0d, 0xb8, 0x0f, 0x1f, 0xd1, 0xcc, 0xa8, 0xd0, 0x8b, 0x32, 0xa5,
+ 0x63, 0x54, 0xcf, 0x09, 0x47, 0xd3, 0x59, 0x3b, 0x60, 0xc4, 0x31, 0x3d,
+ 0xdb, 0x20, 0xab, 0x83, 0x8e, 0x5a, 0x4e, 0x99, 0xb0, 0xbc, 0x1d, 0xa8,
+ 0x08, 0x88, 0xd4, 0x73, 0x83, 0x30, 0x9f, 0x32, 0x1f, 0x61, 0x84, 0x8c,
+ 0xdd, 0x51, 0x12, 0x9a, 0xbd, 0x44, 0xf0, 0x7c, 0x5a, 0xb6, 0xcf, 0x05,
+ 0xfa, 0x9d, 0x92, 0x90, 0xa4, 0x09, 0xab, 0x38, 0x1e, 0x9f, 0xfc, 0xf7,
+ 0xe3, 0x5f, 0x33, 0xea, 0x54, 0xa5, 0x37, 0xb6, 0x70, 0xf0, 0x3b, 0x06,
+ 0xac, 0x94, 0x68, 0x90, 0x45, 0xaa, 0x48, 0x17, 0x62, 0xc4, 0x53, 0x4f,
+ 0x4d, 0x48, 0x0f, 0xc4, 0x15, 0xa5, 0x9d, 0xb1, 0x21, 0xac, 0x90, 0xb6,
+ 0xc9, 0x6b, 0x46, 0xf0, 0x0a, 0xea, 0x34, 0x44, 0x32, 0x3a, 0x4a, 0xbe,
+ 0xd8, 0x09, 0xc8, 0x07, 0xb9, 0x84, 0x2b, 0x11, 0x96, 0x3d, 0x79, 0x7b,
+ 0x19, 0x51, 0x2a, 0x0c, 0x17, 0x00, 0x12, 0x91, 0x26, 0x65, 0xe6, 0x7a,
+ 0x4f, 0x4f, 0x42, 0xbf, 0xd2, 0x3e, 0xe3, 0xf6, 0x0d, 0x14, 0xa0, 0xaa,
+ 0x92, 0x17, 0x1f, 0xde, 0x9f, 0xf6, 0x94, 0x4b, 0x8e, 0x71, 0x06, 0xb4,
+ 0x59, 0x5b, 0xef, 0x33, 0xa0, 0x99, 0x55, 0xc9, 0x79, 0x7a, 0x99, 0x6d,
+ 0xf9, 0x00, 0x72, 0xaa, 0x2a, 0x62, 0xf9, 0xe2, 0x7f, 0x88, 0xb9, 0x53,
+ 0xfc, 0xb6, 0x1b, 0xc4, 0xc4, 0x5d, 0x58, 0xd8, 0xaf, 0x71, 0x9c, 0x2f,
+ 0x52, 0xd9, 0xbb, 0x75, 0x45, 0x01, 0x7d, 0xec, 0x7c, 0xa4, 0x95, 0x14,
+ 0xbf, 0xde, 0x46, 0xfd, 0x74, 0x19, 0xa6, 0x14, 0x09, 0x22, 0x3f, 0x59,
+ 0xb2, 0xf5, 0x47, 0x72, 0xbf, 0x6f, 0x79, 0x48, 0x97, 0xc3, 0x2c, 0x0c,
+ 0xb2, 0xe9, 0x56, 0x30, 0x46, 0xa1, 0x75, 0x45, 0xb1, 0x2b, 0xbf, 0xe5,
+ 0xbe, 0xaf, 0xe5, 0x82, 0xad, 0xaa, 0x8c, 0xf0, 0x78, 0x91, 0xc1, 0x1b,
+ 0xb4, 0x0a, 0xe3, 0xb4, 0x63, 0x86, 0x60, 0x25, 0xfb, 0xef, 0x54, 0xe6,
+ 0xf7, 0x5c, 0x22, 0x2d, 0xac, 0x06, 0xd9, 0xa9, 0x49, 0x9c, 0x5a, 0x7b,
+ 0x2c, 0xc5, 0x16, 0x9b, 0x2e, 0xa8, 0x21, 0x0e, 0x7b, 0xbf, 0x24, 0xf4,
+ 0x3e, 0x2b, 0xa9, 0x89, 0x0a, 0xcd, 0x27, 0x2d, 0xac, 0x3f, 0xb9, 0x75,
+ 0xb2, 0xbf, 0x3a, 0xd4, 0xa1, 0x0b, 0x00, 0xbd, 0x1c, 0x48, 0x97, 0xa7,
+ 0xa1, 0xa1, 0x8e, 0x42, 0x2a, 0xe1, 0xbd, 0x63, 0xf5, 0x68, 0xef, 0x3f,
+ 0xbc, 0xd6, 0x21, 0x5e, 0xf3, 0x8f, 0x1e, 0xc4, 0x5c, 0x6f, 0xba, 0x0d,
+ 0xaa, 0x54, 0x40, 0x30, 0x41, 0xfb, 0x11, 0x57, 0x30, 0x2b, 0xd2, 0x32,
+ 0xea, 0xce, 0x1f, 0x3a, 0xa5, 0xe9, 0x15, 0x57, 0x6e, 0x0e, 0x5f, 0xe7,
+ 0x46, 0x86, 0xd4, 0x0c, 0x40, 0x04, 0x25, 0x97, 0x6b, 0x0f, 0xf5, 0x1a,
+ 0xc2, 0x37, 0x92, 0x05, 0xe9, 0x0a, 0x1c, 0x25, 0x41, 0xe2, 0xb3, 0x7d,
+ 0xc7, 0x86, 0x6c, 0x0c, 0x45, 0xdc, 0xeb, 0x2c, 0xf6, 0x14, 0x86, 0xd4,
+ 0xf9, 0x2b, 0xb0, 0x6d, 0xda, 0xc3, 0x80, 0x6f, 0x87, 0x91, 0x08, 0x91,
+ 0xdd, 0x51, 0x58, 0x20, 0x64, 0xcd, 0x38, 0xbc, 0x1e, 0xe9, 0xc1, 0x14,
+ 0x98, 0x9a, 0xb6, 0x73, 0x39, 0x4b, 0xa5, 0x80, 0xc4, 0x28, 0x2f, 0xc5,
+ 0x36, 0xc2, 0xe1, 0xd8, 0x09, 0x83, 0xf0, 0x71, 0x69, 0xea, 0xd4, 0x0c,
+ 0x6c, 0xe3, 0xe6, 0xda, 0x97, 0x59, 0x9a, 0xf8, 0xc4, 0x05, 0xee, 0x5d,
+ 0x6b, 0x55, 0x48, 0x1a, 0xf5, 0x09, 0x8f, 0x62, 0x03, 0x45, 0x29, 0x08,
+ 0x2f, 0xb1, 0x10, 0x3a, 0xf2, 0x77, 0xcc, 0x13, 0x9e, 0x0c, 0xe4, 0x7c,
+ 0x8d, 0xe4, 0xf7, 0x43, 0xd7, 0x79, 0x63, 0xe7, 0x2e, 0x33, 0xfa, 0xb5,
+ 0x05, 0xd5, 0x52, 0x43, 0x2a, 0x52, 0xfd, 0x99, 0x70, 0x77, 0xd0, 0xba,
+ 0x55, 0x98, 0x02, 0x13, 0xc4, 0x8b, 0x2c, 0xf2, 0x96, 0x1b, 0x2d, 0x00,
+ 0x89, 0x96, 0x45, 0x76, 0x4b, 0x18, 0xe0, 0xfd, 0xc3, 0x85, 0x4a, 0xf6,
+ 0x77, 0x2f, 0xdf, 0xbf, 0x3b, 0x79, 0xf7, 0xd5, 0xf3, 0xe4, 0xf8, 0x36,
+ 0xab, 0xa6, 0xd4, 0x89, 0xf9, 0x6f, 0xeb, 0x59, 0x3e, 0x05, 0x9b, 0x90,
+ 0x06, 0xc1, 0x7e, 0xc8, 0xdb, 0x58, 0x01, 0x99, 0xf8, 0x57, 0x49, 0xe0,
+ 0x06, 0x85, 0x30, 0x92, 0xcb, 0x4b, 0xc0, 0x11, 0xc6, 0x8a, 0x2a, 0x2f,
+ 0xd7, 0x1e, 0xf9, 0x4c, 0xb9, 0xa5, 0x21, 0x62, 0x01, 0x88, 0x91, 0x5e,
+ 0xc9, 0x5e, 0x93, 0xd3, 0x35, 0x79, 0x7d, 0x7a, 0xda, 0xd3, 0x1f, 0x9a,
+ 0xa7, 0xcf, 0xa5, 0xbe, 0x18, 0xc2, 0xe6, 0x9b, 0x52, 0x2c, 0xcf, 0x88,
+ 0x7f, 0xe2, 0x35, 0x2d, 0x86, 0x07, 0x30, 0xb0, 0xef, 0xc2, 0x4c, 0x4e,
+ 0xa4, 0x19, 0x23, 0x39, 0x10, 0x27, 0x9c, 0x57, 0x33, 0xd8, 0x42, 0x86,
+ 0x43, 0x96, 0xf3, 0x86, 0xf4, 0xa3, 0x96, 0x24, 0x6d, 0xf7, 0x05, 0xda,
+ 0x94, 0x14, 0xc6, 0x31, 0xa3, 0x36, 0x4e, 0x94, 0x84, 0x24, 0x91, 0xb3,
+ 0x6a, 0x08, 0x92, 0x15, 0x43, 0x34, 0x93, 0x42, 0xaa, 0x59, 0x90, 0x50,
+ 0x9b, 0xda, 0xce, 0xe6, 0x35, 0x71, 0xcb, 0x90, 0x5d, 0xdc, 0x64, 0x95,
+ 0x98, 0x9e, 0xb6, 0x88, 0xd8, 0x30, 0xbb, 0x51, 0x32, 0x2e, 0xcd, 0xf3,
+ 0x91, 0xaa, 0x05, 0xed, 0xb8, 0xe8, 0xba, 0xaa, 0xa6, 0x8d, 0xa4, 0xd0,
+ 0xda, 0xbc, 0x2a, 0x34, 0xa3, 0x42, 0xcc, 0xad, 0xbd, 0xde, 0x48, 0xbf,
+ 0x67, 0xa2, 0xff, 0x49, 0x66, 0x15, 0x8a, 0x3b, 0x0d, 0xed, 0x10, 0x91,
+ 0x6c, 0x0d, 0x0d, 0x3b, 0xdd, 0x42, 0x23, 0x3d, 0xea, 0x42, 0xed, 0x8d,
+ 0x74, 0x4f, 0x2f, 0x55, 0x3f, 0x4d, 0xbd, 0xbb, 0xe0, 0x7b, 0x5a, 0xd4,
+ 0xa9, 0xd5, 0xe9, 0x39, 0x4e, 0xa5, 0x51, 0x98, 0x8d, 0x95, 0x32, 0x4f,
+ 0xa2, 0xae, 0x36, 0x59, 0x13, 0x04, 0xc0, 0xcf, 0x6c, 0x0b, 0x48, 0x3c,
+ 0xe6, 0x17, 0xca, 0xfb, 0xaf, 0x8b, 0xbc, 0x19, 0x38, 0xef, 0x02, 0x69,
+ 0x05, 0x41, 0xb9, 0xb6, 0xb1, 0xf1, 0x46, 0xbb, 0xb1, 0xbc, 0x1a, 0xe1,
+ 0x8b, 0x02, 0xe4, 0x9a, 0x5e, 0xbb, 0x7c, 0xaf, 0x5e, 0xce, 0x37, 0xd2,
+ 0xfc, 0xf8, 0xae, 0x8c, 0x06, 0xe4, 0x81, 0xe7, 0x0f, 0xe7, 0xe1, 0xc0,
+ 0x4c, 0xfc, 0x62, 0x16, 0x2f, 0x5a, 0xe9, 0x70, 0x09, 0xc2, 0xe1, 0xbc,
+ 0x82, 0xaf, 0x7e, 0x26, 0x2c, 0x51, 0x9b, 0xbc, 0xb8, 0x2e, 0x3f, 0xb1,
+ 0xbc, 0x47, 0xa0, 0x2b, 0x9a, 0xa2, 0x92, 0xf7, 0x96, 0xb5, 0xb0, 0x5f,
+ 0x8a, 0x77, 0x55, 0xe6, 0xce, 0x22, 0xcb, 0xab, 0x24, 0x30, 0x8b, 0x91,
+ 0x60, 0x8c, 0x2d, 0x01, 0xb4, 0xe2, 0xa9, 0x9b, 0xef, 0xaf, 0x77, 0x69,
+ 0xa0, 0x0d, 0xc5, 0x93, 0x6c, 0x51, 0x67, 0x03, 0xaf, 0x1a, 0x50, 0x85,
+ 0x8d, 0x4a, 0x1b, 0x24, 0x7f, 0xb2, 0x38, 0xd9, 0x24, 0x49, 0x46, 0xdd,
+ 0x8e, 0xa5, 0x1d, 0x23, 0x16, 0xc1, 0x4d, 0x8e, 0x3a, 0x4d, 0xaf, 0xca,
+ 0x32, 0x2a, 0xb6, 0x9d, 0x0c, 0x81, 0x4a, 0x03, 0x40, 0x8c, 0x1e, 0xfd,
+ 0xc1, 0xc2, 0x87, 0xb9, 0x60, 0x5d, 0x90, 0xe0, 0x6b, 0xa1, 0x06, 0x45,
+ 0x1b, 0xf4, 0x00, 0x4a, 0xdb, 0xd2, 0x8d, 0x27, 0x14, 0xc8, 0xe6, 0x58,
+ 0xf2, 0x02, 0xff, 0xae, 0x23, 0x8f, 0x9b, 0x16, 0x7a, 0x82, 0xbf, 0x29,
+ 0x51, 0x61, 0xc7, 0x09, 0x68, 0x2e, 0x2d, 0x11, 0x74, 0x03, 0xa3, 0xa9,
+ 0x68, 0x07, 0x34, 0x30, 0xcf, 0xbc, 0x01, 0x03, 0xf9, 0xfd, 0xe1, 0x7e,
+ 0x1f, 0x93, 0x67, 0x35, 0x56, 0xab, 0x5c, 0xe9, 0x3a, 0x5a, 0xe3, 0x9c,
+ 0x05, 0xa1, 0x2b, 0x0c, 0x20, 0x01, 0xb2, 0x5e, 0x25, 0x68, 0x7d, 0x45,
+ 0x4d, 0xf0, 0x7a, 0xf6, 0x7f, 0xf4, 0x5b, 0xf4, 0x3e, 0x74, 0xfc, 0xeb,
+ 0xbd, 0x77, 0xc6, 0x34, 0x52, 0xb4, 0xbc, 0x96, 0x79, 0x89, 0xe7, 0x2a,
+ 0xf1, 0x74, 0x76, 0xa7, 0x37, 0xc0, 0xb2, 0x07, 0xb3, 0xe3, 0x1c, 0x83,
+ 0x3c, 0x64, 0xc9, 0xc6, 0xa6, 0x5d, 0xae, 0x22, 0x0c, 0xcb, 0x5e, 0x02,
+ 0xcd, 0x52, 0x49, 0x1d, 0xda, 0x65, 0xfa, 0xc9, 0xf6, 0xee, 0x0b, 0xd1,
+ 0x57, 0x84, 0x93, 0xb2, 0x31, 0x9e, 0x4a, 0xb6, 0x26, 0x76, 0x84, 0xbe,
+ 0xd4, 0x16, 0x8c, 0xc8, 0x3a, 0x1b, 0x46, 0xbd, 0xfd, 0x8a, 0x59, 0x13,
+ 0x82, 0x9f, 0xc1, 0x92, 0x72, 0x60, 0xf8, 0x5b, 0xfc, 0xfa, 0x56, 0xb2,
+ 0x43, 0x5c, 0x75, 0x57, 0xb5, 0xd7, 0xb0, 0xfe, 0xd9, 0xd5, 0xd4, 0x81,
+ 0xfd, 0xa6, 0x75, 0x90, 0x39, 0x0b, 0xed, 0x35, 0x31, 0x46, 0x5e, 0x65,
+ 0x14, 0x00, 0x6a, 0xf9, 0x26, 0x95, 0x83, 0xf3, 0xf5, 0x22, 0x66, 0xe6,
+ 0xe0, 0x66, 0xdb, 0x66, 0xac, 0x79, 0x5d, 0xaf, 0xb5, 0x97, 0x80, 0xc3,
+ 0x99, 0x11, 0xd0, 0xc1, 0x85, 0x99, 0x11, 0x0a, 0x5a, 0x16, 0xdc, 0xe2,
+ 0x2c, 0x4a, 0xb9, 0x70, 0x0d, 0x73, 0x03, 0x73, 0x51, 0x30, 0xd9, 0x8a,
+ 0xe2, 0xb9, 0x69, 0x17, 0x3a, 0xdb, 0x46, 0x8d, 0xb6, 0x80, 0xba, 0xb3,
+ 0xe7, 0x41, 0xd2, 0xe0, 0xd6, 0xd9, 0xf9, 0xc5, 0xc9, 0xd9, 0xbb, 0x71,
+ 0xf2, 0x5f, 0xb7, 0x36, 0x96, 0x77, 0xb5, 0x81, 0x95, 0xbf, 0x1f, 0xb8,
+ 0x33, 0x49, 0x5e, 0x88, 0x9f, 0xa1, 0xcf, 0x36, 0xf6, 0x34, 0xf8, 0xa9,
+ 0x91, 0xde, 0x86, 0xbd, 0xea, 0x9b, 0x82, 0xed, 0x26, 0x87, 0xd5, 0x41,
+ 0x32, 0x08, 0xb4, 0x65, 0x1f, 0xf6, 0xc1, 0xb7, 0xa1, 0x99, 0xd7, 0x3b,
+ 0x93, 0xa5, 0x33, 0x7a, 0x0f, 0x07, 0x66, 0x2c, 0x92, 0x96, 0xfd, 0x82,
+ 0xbd, 0x93, 0xb7, 0xb0, 0xcd, 0x37, 0xa4, 0x9b, 0xe2, 0xc1, 0x1d, 0xe6,
+ 0x9a, 0xa2, 0x68, 0xd5, 0x61, 0x86, 0xe0, 0x57, 0xc7, 0x17, 0xbb, 0x52,
+ 0xe8, 0x6a, 0xe7, 0x07, 0x4f, 0x97, 0xa8, 0x3d, 0xa9, 0xd5, 0xcc, 0xb4,
+ 0xb4, 0x95, 0x81, 0xdc, 0x8c, 0xf6, 0xbc, 0x48, 0x8b, 0x68, 0x09, 0x1b,
+ 0x69, 0xb4, 0xaf, 0xcc, 0x76, 0x10, 0x1f, 0x56, 0x8e, 0xac, 0xde, 0x13,
+ 0xaf, 0x7f, 0x0e, 0xe3, 0x32, 0x9d, 0x7f, 0xb8, 0xc0, 0x80, 0xaf, 0x8f,
+ 0x4f, 0x8f, 0x2f, 0x8e, 0xbb, 0x96, 0xfb, 0x84, 0xc1, 0x2c, 0x51, 0xea,
+ 0xd2, 0x64, 0xd3, 0xab, 0xa2, 0x5c, 0x94, 0x97, 0xb9, 0x34, 0x7c, 0x4d,
+ 0xbe, 0xcb, 0x26, 0xaf, 0x5f, 0x7e, 0x4b, 0xfa, 0x04, 0x79, 0x9c, 0xce,
+ 0xdf, 0x9f, 0x9d, 0xbf, 0x39, 0x79, 0xf7, 0x7a, 0x90, 0xbc, 0x3a, 0x3b,
+ 0xff, 0xcb, 0x20, 0x79, 0x7b, 0xf6, 0xed, 0x71, 0x24, 0xc5, 0x99, 0x10,
+ 0x6e, 0x03, 0x8a, 0xb1, 0xad, 0xfa, 0x58, 0x9c, 0xb1, 0xe9, 0x8d, 0x36,
+ 0xef, 0x1d, 0x31, 0x42, 0x35, 0x00, 0x75, 0x29, 0xfc, 0xd6, 0xec, 0xdd,
+ 0x20, 0xf9, 0xfa, 0xf8, 0xe5, 0xeb, 0x41, 0x00, 0x60, 0x3e, 0xe6, 0x55,
+ 0xd1, 0xea, 0xec, 0x92, 0x01, 0x7b, 0xcd, 0xd6, 0x07, 0x74, 0x04, 0x0e,
+ 0x72, 0xf1, 0x95, 0x35, 0x04, 0x8b, 0x22, 0xfd, 0x59, 0x5f, 0xe6, 0x84,
+ 0x20, 0xf1, 0xf7, 0xb6, 0x58, 0x6e, 0x95, 0x5d, 0x40, 0x5d, 0xf3, 0x15,
+ 0x6d, 0x81, 0x6b, 0x42, 0x66, 0xbd, 0xd6, 0x61, 0xd9, 0xe3, 0xee, 0x41,
+ 0x0c, 0x1a, 0xb4, 0x90, 0x02, 0xc0, 0x8e, 0xd8, 0xf5, 0x98, 0x4a, 0x47,
+ 0x43, 0xf4, 0x2c, 0x32, 0x66, 0x12, 0x69, 0xd5, 0x73, 0x87, 0x12, 0x1b,
+ 0xd7, 0xb0, 0x55, 0x45, 0x28, 0x15, 0x4c, 0x5d, 0x80, 0x9b, 0x68, 0xfb,
+ 0x74, 0x8b, 0x6c, 0x53, 0xcf, 0xef, 0xf9, 0xc7, 0x2a, 0x63, 0x83, 0x4a,
+ 0xeb, 0xb9, 0x21, 0xcc, 0x8c, 0x53, 0xa6, 0x70, 0x46, 0xce, 0x2d, 0x90,
+ 0x0c, 0x4f, 0xd4, 0x29, 0xb1, 0x49, 0xc1, 0x92, 0xcb, 0x22, 0x8e, 0x19,
+ 0x00, 0x45, 0xa9, 0xc3, 0xaa, 0xcd, 0x23, 0xf4, 0x12, 0xea, 0xbd, 0x9b,
+ 0x07, 0x7c, 0x8d, 0xf4, 0x7d, 0x7b, 0xc6, 0x03, 0xdb, 0x4f, 0x5b, 0x9c,
+ 0x38, 0xfe, 0xbe, 0x20, 0xfb, 0xb6, 0xed, 0xcf, 0x32, 0x12, 0x36, 0x10,
+ 0x2e, 0xf4, 0x98, 0xe1, 0x24, 0x85, 0x38, 0x44, 0x29, 0xf0, 0x36, 0x64,
+ 0x4b, 0xda, 0xcf, 0xf9, 0xb5, 0x4d, 0x76, 0x45, 0x35, 0xd5, 0x29, 0x04,
+ 0x21, 0x2a, 0x2c, 0xd4, 0x6f, 0x31, 0xe9, 0x0e, 0xfe, 0x68, 0xff, 0xd6,
+ 0xf9, 0xd8, 0x49, 0x97, 0xa8, 0x93, 0xa1, 0xe0, 0x7d, 0xa3, 0x78, 0x2f,
+ 0xd8, 0xba, 0x9d, 0x37, 0x3d, 0x8c, 0xd1, 0xf7, 0xda, 0xda, 0x8a, 0x7e,
+ 0x9b, 0x6d, 0x7e, 0x7a, 0x62, 0xae, 0x43, 0x04, 0x1a, 0x67, 0x56, 0xa2,
+ 0x71, 0x34, 0xd2, 0x0c, 0x72, 0x15, 0x25, 0x34, 0x56, 0xf8, 0x61, 0x6a,
+ 0xa4, 0x1e, 0xfd, 0x32, 0x3a, 0xac, 0xdf, 0xf3, 0xe9, 0xe0, 0xcc, 0xde,
+ 0x1f, 0x5f, 0xbc, 0x1f, 0x25, 0x3b, 0x3e, 0xe6, 0xeb, 0x93, 0xd1, 0x7e,
+ 0x18, 0xb4, 0xa1, 0x26, 0xee, 0xbb, 0x89, 0xf7, 0x59, 0xf7, 0x5d, 0xf4,
+ 0x77, 0xdf, 0xfc, 0xdd, 0x30, 0x8f, 0xd8, 0x43, 0x7a, 0xda, 0x8f, 0x7d,
+ 0xcf, 0x6f, 0x14, 0xdf, 0x5a, 0x25, 0xfd, 0x62, 0xc3, 0xd7, 0xbe, 0x3e,
+ 0x3e, 0x3d, 0x0f, 0x57, 0xf9, 0xed, 0xfb, 0x37, 0x7f, 0x69, 0xaf, 0xf2,
+ 0xe8, 0x51, 0xe4, 0xab, 0xbf, 0xa4, 0x43, 0x3d, 0xab, 0xcb, 0x85, 0xd1,
+ 0x57, 0x50, 0xc5, 0x81, 0x22, 0x8e, 0xe7, 0x46, 0x00, 0x50, 0xae, 0xf9,
+ 0x5f, 0x07, 0xf2, 0x97, 0x1f, 0x47, 0xa3, 0xd1, 0x9f, 0x42, 0x54, 0x74,
+ 0xf8, 0x68, 0xdc, 0x7a, 0xe5, 0xe1, 0xae, 0x09, 0x8e, 0xaa, 0x19, 0x94,
+ 0x09, 0x51, 0xe4, 0x62, 0x95, 0xe6, 0x15, 0x95, 0x3c, 0xc6, 0x04, 0x2e,
+ 0xad, 0xc8, 0x15, 0x7a, 0x59, 0x6d, 0x4e, 0x00, 0xc1, 0xf8, 0xb2, 0xee,
+ 0xd4, 0xbb, 0x52, 0x55, 0xed, 0xd5, 0x93, 0xa4, 0xb3, 0xc0, 0x11, 0xc2,
+ 0xcd, 0x51, 0xf0, 0xd9, 0x8a, 0x1c, 0xb4, 0xac, 0x68, 0x3a, 0x41, 0x5b,
+ 0xa8, 0xf0, 0x90, 0xe5, 0xcf, 0xec, 0xf4, 0x63, 0xde, 0x0b, 0xae, 0x93,
+ 0x7c, 0x25, 0x11, 0x75, 0xd8, 0x5f, 0x90, 0x28, 0xe8, 0x33, 0x9b, 0x35,
+ 0xd3, 0x3d, 0x5a, 0x64, 0x1d, 0xf4, 0x42, 0x62, 0x25, 0x2e, 0x74, 0x22,
+ 0x09, 0xd6, 0x8a, 0x57, 0x42, 0xcb, 0xd9, 0x2d, 0x5e, 0x4d, 0x82, 0xab,
+ 0xe2, 0xf5, 0x74, 0x75, 0x75, 0x8e, 0xc4, 0x7a, 0xb8, 0xe8, 0x76, 0xdb,
+ 0xca, 0x11, 0xa0, 0xa7, 0x95, 0x75, 0xd3, 0x3a, 0x78, 0x7a, 0x9b, 0x6c,
+ 0x40, 0x6a, 0xf4, 0xcd, 0x85, 0x6a, 0xa1, 0xda, 0x0f, 0xee, 0xac, 0x94,
+ 0x44, 0x79, 0x14, 0x40, 0x1f, 0x9f, 0xb7, 0x7c, 0x2e, 0xea, 0xa1, 0xf3,
+ 0xcf, 0x5c, 0x5b, 0x9f, 0x47, 0x30, 0x9c, 0x04, 0x49, 0x5c, 0x0d, 0x78,
+ 0x5a, 0x68, 0x28, 0x0f, 0xff, 0xdc, 0xaa, 0x32, 0xdf, 0xfe, 0xaf, 0xdb,
+ 0xa4, 0x0a, 0xe3, 0xed, 0x68, 0x6d, 0xbb, 0xd2, 0x2d, 0x19, 0x36, 0x78,
+ 0x2c, 0xa2, 0x37, 0xb8, 0x5d, 0x51, 0xda, 0xb3, 0xe9, 0x52, 0x96, 0x7a,
+ 0x64, 0x09, 0xa3, 0xe4, 0xbb, 0x7c, 0x31, 0x9b, 0xa6, 0x15, 0xd2, 0xc3,
+ 0x42, 0xf1, 0x2a, 0x54, 0x82, 0xeb, 0x54, 0x97, 0xf8, 0xaa, 0xbb, 0x3b,
+ 0xda, 0x4b, 0x26, 0x4e, 0xf3, 0xb1, 0xa2, 0x1f, 0x7b, 0x1e, 0x14, 0xfc,
+ 0xee, 0x69, 0xda, 0x25, 0xf4, 0xa3, 0x7b, 0x4c, 0xd2, 0xae, 0xdd, 0xc2,
+ 0xa3, 0x7d, 0xb4, 0x1a, 0x87, 0x18, 0x3e, 0x0a, 0x63, 0x29, 0xf9, 0xea,
+ 0xfa, 0x11, 0xdc, 0x57, 0x4f, 0x06, 0xfc, 0xaf, 0x27, 0x0c, 0x0e, 0xd9,
+ 0x58, 0xe1, 0x8e, 0x6d, 0x65, 0x33, 0x86, 0xb5, 0xfe, 0x93, 0x73, 0xad,
+ 0x70, 0xed, 0xf2, 0xc4, 0xb1, 0x44, 0x21, 0x05, 0x1f, 0xc1, 0xcc, 0x52,
+ 0x0d, 0x18, 0xf3, 0x8e, 0xce, 0x96, 0xb6, 0xc4, 0xf0, 0xaf, 0xbf, 0x4e,
+ 0x2a, 0x82, 0x1d, 0x69, 0xea, 0x1f, 0x37, 0xd5, 0x13, 0x1b, 0x9d, 0xff,
+ 0xe9, 0x28, 0xd2, 0x7e, 0xdb, 0x87, 0x3e, 0x77, 0x5f, 0xb2, 0xf9, 0xbe,
+ 0xee, 0x73, 0x94, 0xe1, 0x8f, 0xb0, 0x1d, 0x65, 0xfd, 0x6c, 0xfe, 0xd0,
+ 0xb3, 0x0d, 0x1f, 0x9a, 0x03, 0xd8, 0x88, 0xce, 0xd4, 0x1a, 0x00, 0x37,
+ 0x4a, 0x15, 0x7e, 0x8d, 0x32, 0xf5, 0xd2, 0x7e, 0x34, 0xda, 0x7f, 0x78,
+ 0x86, 0xb2, 0xb3, 0xbe, 0xc9, 0xb3, 0x37, 0x93, 0x9f, 0x80, 0x4c, 0x24,
+ 0x45, 0xac, 0xec, 0xa3, 0xb9, 0x8d, 0x9d, 0x31, 0x08, 0x36, 0xa7, 0xc5,
+ 0xcb, 0xcd, 0xfa, 0x51, 0x22, 0x54, 0x19, 0xe3, 0xb0, 0x0e, 0x76, 0xe0,
+ 0xc4, 0xd3, 0xee, 0xf5, 0x26, 0xf0, 0x69, 0x53, 0xea, 0x08, 0x7e, 0x4c,
+ 0xf8, 0x0b, 0xca, 0xe7, 0x8e, 0xa9, 0x8e, 0xe9, 0xfd, 0xf1, 0x9b, 0x0f,
+ 0xe3, 0xe3, 0xd7, 0x80, 0xdb, 0x8c, 0xf5, 0x53, 0xca, 0xe9, 0x46, 0x73,
+ 0x64, 0xa2, 0x29, 0x59, 0xa9, 0x94, 0x89, 0xb4, 0x1b, 0x0e, 0x72, 0x8f,
+ 0x4c, 0x28, 0x64, 0x4d, 0x69, 0x0c, 0xe3, 0xb0, 0xee, 0x84, 0x55, 0x39,
+ 0x79, 0xf7, 0x27, 0xe0, 0x8e, 0xf0, 0xaa, 0x67, 0x19, 0x35, 0xe7, 0x7a,
+ 0xc1, 0x59, 0x30, 0x01, 0xa8, 0xda, 0x5b, 0x2f, 0x8b, 0xbd, 0x5e, 0x64,
+ 0xd9, 0x4a, 0x83, 0xfe, 0x5e, 0x37, 0x79, 0x73, 0x3e, 0xea, 0x0f, 0x84,
+ 0xf7, 0x19, 0xe3, 0xb2, 0xfa, 0x96, 0xf6, 0x74, 0x92, 0x82, 0xd3, 0x87,
+ 0xf2, 0xd5, 0x1d, 0x60, 0x40, 0x77, 0x53, 0x76, 0xf2, 0xc6, 0xaa, 0xf5,
+ 0x0a, 0x3f, 0x1e, 0x74, 0xd5, 0x63, 0x38, 0x72, 0x42, 0xe8, 0x31, 0x86,
+ 0x11, 0x63, 0x55, 0x92, 0x96, 0x7a, 0x59, 0x56, 0x66, 0xd0, 0xa5, 0x2d,
+ 0x56, 0x64, 0x44, 0x87, 0x7a, 0xb7, 0xdb, 0xca, 0xb1, 0x6b, 0xb6, 0x93,
+ 0x2d, 0x81, 0x08, 0x78, 0xc6, 0xf5, 0xdb, 0xc4, 0x15, 0x78, 0x9b, 0xe0,
+ 0x31, 0xa1, 0xe8, 0x20, 0x8b, 0xb4, 0xb1, 0x54, 0x5d, 0x63, 0x2f, 0x78,
+ 0x07, 0x43, 0x73, 0x93, 0xba, 0x8e, 0x74, 0x9d, 0x39, 0xaa, 0xba, 0x6b,
+ 0x34, 0x40, 0xa7, 0x4e, 0x33, 0xff, 0x2d, 0xbb, 0xb9, 0x1d, 0x1c, 0xc6,
+ 0x6e, 0xc0, 0x32, 0xbd, 0x85, 0x8b, 0xaa, 0x97, 0x1c, 0xc4, 0x61, 0x4b,
+ 0x1b, 0x42, 0xcf, 0x55, 0xcc, 0xf3, 0xc1, 0x61, 0x5d, 0xe9, 0x0b, 0x27,
+ 0x26, 0xd9, 0xa3, 0x16, 0xff, 0x15, 0x19, 0xde, 0x61, 0xe8, 0x11, 0x50,
+ 0x59, 0x32, 0x67, 0x78, 0x09, 0x53, 0x5a, 0x24, 0xd9, 0x6f, 0x3b, 0xdc,
+ 0x58, 0x0a, 0x1f, 0xdb, 0xa5, 0x1f, 0x2f, 0x4a, 0x8a, 0x51, 0x2a, 0x31,
+ 0xe0, 0xf3, 0x21, 0x64, 0x1f, 0x99, 0x09, 0x15, 0x51, 0x21, 0x32, 0xf0,
+ 0x6c, 0xe2, 0x0d, 0x9a, 0xd9, 0xa0, 0x58, 0x8c, 0xf0, 0xcb, 0xd8, 0x05,
+ 0x36, 0xb7, 0x3e, 0xb4, 0x4a, 0xde, 0x0c, 0x72, 0x58, 0x75, 0x9c, 0x8c,
+ 0x07, 0x18, 0xb4, 0x61, 0x95, 0x65, 0xda, 0xa8, 0xcd, 0x84, 0x9f, 0x80,
+ 0x7b, 0xa9, 0x69, 0x8d, 0x7c, 0x44, 0x55, 0x63, 0xb0, 0x01, 0x72, 0x35,
+ 0xa2, 0xb6, 0x89, 0x56, 0x04, 0x43, 0x33, 0x2d, 0xfc, 0xc9, 0xe2, 0x04,
+ 0xcc, 0x20, 0x79, 0x39, 0x43, 0x55, 0x14, 0x77, 0xe2, 0xe9, 0x81, 0x8f,
+ 0x91, 0xd9, 0x6c, 0x93, 0xab, 0xf2, 0x36, 0x5f, 0xae, 0x97, 0x78, 0x7d,
+ 0xc0, 0x06, 0xd8, 0x92, 0xa4, 0x96, 0x1e, 0x2a, 0xb2, 0x0b, 0x6d, 0xdb,
+ 0xaf, 0x98, 0x33, 0x83, 0x58, 0x1b, 0x88, 0xb6, 0xe1, 0x94, 0x1f, 0x7a,
+ 0x8b, 0x5b, 0x6c, 0xe0, 0xa0, 0xfe, 0x97, 0xd3, 0x67, 0xf2, 0xc2, 0x28,
+ 0x74, 0x7f, 0x8a, 0x44, 0xa3, 0x53, 0x9f, 0xa7, 0x0a, 0xff, 0x00, 0x65,
+ 0x52, 0xaa, 0x73, 0x36, 0xf3, 0x4c, 0x49, 0xa6, 0x38, 0xd2, 0xc4, 0xf8,
+ 0x90, 0x7a, 0x39, 0xd4, 0xc0, 0x3a, 0xbe, 0x85, 0xdc, 0x69, 0xa1, 0xce,
+ 0xf7, 0xcb, 0x42, 0x49, 0x88, 0x9e, 0xce, 0x4d, 0x3a, 0x8f, 0x04, 0x32,
+ 0x5f, 0xe1, 0x19, 0x40, 0xb4, 0xf2, 0xbe, 0xf9, 0xfc, 0xbe, 0x24, 0xc5,
+ 0x88, 0x7d, 0x4b, 0x1e, 0x73, 0xd9, 0x65, 0x75, 0x63, 0xb5, 0x7b, 0x85,
+ 0xd8, 0x70, 0x20, 0xd8, 0x06, 0x31, 0xb2, 0x0e, 0xbb, 0x64, 0xb5, 0x94,
+ 0xa1, 0x90, 0x9e, 0x13, 0x3b, 0xe5, 0xb3, 0x1b, 0x70, 0xb2, 0x26, 0x32,
+ 0x34, 0x1f, 0xdd, 0xde, 0x06, 0x14, 0xee, 0x19, 0xc4, 0x8c, 0x37, 0xc9,
+ 0xd6, 0xf2, 0xa3, 0x7d, 0x94, 0x39, 0x3e, 0xbe, 0xed, 0x18, 0xcd, 0xa3,
+ 0x38, 0x38, 0x24, 0xcb, 0x07, 0x62, 0x91, 0x93, 0x92, 0xa3, 0x70, 0xbc,
+ 0x69, 0x69, 0x64, 0x3b, 0x99, 0x3b, 0xdc, 0xa4, 0x39, 0x08, 0x22, 0x48,
+ 0x6d, 0x40, 0x2e, 0xa6, 0x6d, 0xf6, 0xaa, 0x51, 0x52, 0x34, 0x2d, 0x34,
+ 0x9a, 0x3f, 0x6d, 0xa5, 0xee, 0x93, 0xcd, 0x03, 0x98, 0x95, 0x6b, 0x40,
+ 0x61, 0x84, 0xdb, 0x45, 0x5f, 0xe1, 0xdd, 0xa7, 0x2b, 0x65, 0xe4, 0x55,
+ 0xbe, 0xa0, 0xd7, 0xf8, 0x62, 0xd7, 0xc9, 0x81, 0x39, 0x85, 0xbc, 0x58,
+ 0x37, 0x16, 0xae, 0x0f, 0xdf, 0xb4, 0xb0, 0x33, 0x91, 0xdd, 0x5f, 0x20,
+ 0xd1, 0x57, 0x2b, 0xe0, 0xe9, 0xf6, 0xd5, 0x5e, 0x74, 0x90, 0x6f, 0x09,
+ 0x34, 0x72, 0xdb, 0xd3, 0xd9, 0x97, 0xb2, 0x31, 0x57, 0x91, 0x0d, 0xc3,
+ 0x8a, 0x5c, 0xcd, 0x6e, 0xcd, 0x6e, 0x33, 0x8a, 0x92, 0x27, 0xd8, 0xac,
+ 0x48, 0x1b, 0x79, 0x5d, 0x28, 0x22, 0x99, 0x3f, 0x2d, 0x26, 0x6e, 0x9b,
+ 0x78, 0x81, 0xcf, 0x95, 0x8d, 0x5c, 0x49, 0xdb, 0x7c, 0x8d, 0xb5, 0xb6,
+ 0xf8, 0xd5, 0xe6, 0xfe, 0x69, 0x82, 0x57, 0xf3, 0xe4, 0x89, 0xad, 0x05,
+ 0xe6, 0x34, 0xce, 0x72, 0x69, 0x73, 0x36, 0x99, 0xb0, 0xdf, 0xe3, 0xcb,
+ 0x2f, 0x29, 0x62, 0xfc, 0x3c, 0x89, 0x69, 0x64, 0x4c, 0x42, 0x0a, 0x4b,
+ 0x6d, 0x78, 0x2f, 0x98, 0x01, 0x7c, 0xf6, 0x99, 0x02, 0x72, 0x13, 0x54,
+ 0x37, 0x5f, 0x55, 0xc2, 0xb2, 0x87, 0xfb, 0x1d, 0x46, 0x5c, 0x76, 0x1b,
+ 0x72, 0xe6, 0x98, 0xaa, 0xf3, 0x1b, 0xb2, 0xa3, 0x3a, 0x25, 0xf8, 0xc9,
+ 0x75, 0x73, 0xf5, 0x8f, 0x7c, 0x16, 0x85, 0x52, 0xa2, 0xbb, 0x60, 0x7e,
+ 0x6d, 0x0e, 0xad, 0x66, 0xef, 0x97, 0x62, 0x9b, 0x26, 0x3b, 0xf2, 0xda,
+ 0xee, 0x20, 0x99, 0xad, 0xe1, 0x92, 0x1b, 0xbf, 0x1c, 0x9f, 0x26, 0xe7,
+ 0xa7, 0x2f, 0x4f, 0xde, 0x99, 0x77, 0x86, 0xa1, 0x91, 0x6a, 0x11, 0xcb,
+ 0x06, 0x49, 0xb7, 0xc7, 0x18, 0xfc, 0x9d, 0x6d, 0x54, 0xb3, 0xf6, 0x87,
+ 0x42, 0x4c, 0xa3, 0x19, 0x84, 0x69, 0xab, 0xf6, 0x60, 0xb8, 0xd6, 0x8c,
+ 0xa7, 0x3e, 0x54, 0x1d, 0xbb, 0xa5, 0x9a, 0x26, 0x23, 0x79, 0xa8, 0x5e,
+ 0x98, 0x51, 0xee, 0xa2, 0x11, 0x5b, 0xd7, 0x0a, 0x5d, 0x11, 0x5b, 0x8d,
+ 0x59, 0xb9, 0x03, 0x6d, 0xe5, 0xc9, 0x9b, 0x39, 0x71, 0xcf, 0x2c, 0x43,
+ 0x16, 0xde, 0xd8, 0x40, 0x77, 0xeb, 0xe4, 0xb9, 0xc6, 0x9b, 0x7d, 0x23,
+ 0x9f, 0x93, 0x72, 0x43, 0x65, 0x97, 0x44, 0xc6, 0x7a, 0x19, 0xf9, 0x29,
+ 0xca, 0x86, 0x13, 0x6b, 0xa4, 0xa1, 0x6a, 0x69, 0xbb, 0x0e, 0x24, 0xf4,
+ 0xa4, 0xbc, 0x1d, 0x28, 0x08, 0x0d, 0x96, 0x80, 0xea, 0x26, 0x97, 0xe3,
+ 0x70, 0x69, 0xd8, 0x19, 0xa0, 0xa8, 0x78, 0xbc, 0xa6, 0x64, 0x94, 0x5e,
+ 0x02, 0xdf, 0x0d, 0x0b, 0x06, 0x96, 0x46, 0xbf, 0x35, 0x03, 0xfa, 0x7e,
+ 0xd1, 0x4d, 0x34, 0xf6, 0xa4, 0xd3, 0xcb, 0x1b, 0x34, 0x96, 0x77, 0x75,
+ 0x9c, 0x63, 0xe4, 0xd8, 0xda, 0x1c, 0x39, 0xcb, 0x9d, 0xcd, 0x10, 0xa0,
+ 0xa3, 0x36, 0x35, 0x6c, 0x04, 0x60, 0x3f, 0xe8, 0x7c, 0xef, 0x61, 0x28,
+ 0xb1, 0x3f, 0x19, 0x24, 0x96, 0x51, 0xbb, 0xfb, 0x1a, 0x5f, 0xd6, 0xcf,
+ 0xf1, 0x71, 0x87, 0x45, 0x1d, 0x4c, 0x85, 0x71, 0xbd, 0x50, 0xcb, 0xc4,
+ 0x1d, 0x4a, 0xd9, 0xb1, 0x14, 0xc1, 0xfe, 0x9a, 0xed, 0x49, 0x6a, 0xdc,
+ 0x7d, 0x19, 0x26, 0x0c, 0x3d, 0xab, 0x2b, 0x1f, 0x13, 0xf5, 0x53, 0x07,
+ 0xdf, 0x61, 0x0c, 0xc6, 0xca, 0x26, 0xcb, 0x8a, 0x9d, 0x55, 0xe3, 0x69,
+ 0x4a, 0x94, 0x6b, 0x84, 0xd2, 0xac, 0x1c, 0xa7, 0x31, 0x5c, 0xbe, 0x19,
+ 0x35, 0x40, 0x08, 0xdb, 0x25, 0x70, 0x1a, 0xc2, 0x9c, 0x9b, 0xa4, 0xea,
+ 0x0c, 0xbc, 0x31, 0x03, 0x3e, 0xcc, 0x3d, 0x34, 0xaa, 0xe4, 0xef, 0xeb,
+ 0x3c, 0x6b, 0x50, 0x8c, 0x38, 0x4a, 0x5e, 0x73, 0xba, 0xa4, 0x74, 0x1a,
+ 0xe5, 0x8e, 0xc6, 0x68, 0x7b, 0xcc, 0x10, 0x00, 0xfc, 0x7d, 0x9a, 0x40,
+ 0xc0, 0x87, 0xcd, 0x84, 0x50, 0xe5, 0xfa, 0x16, 0xb3, 0x4e, 0x5e, 0xd1,
+ 0xb4, 0x97, 0x46, 0x02, 0x02, 0x83, 0xc9, 0x43, 0xd7, 0xd3, 0x7c, 0x1a,
+ 0xad, 0x70, 0x41, 0x12, 0x77, 0xfd, 0x29, 0xac, 0x61, 0x19, 0xb4, 0x3a,
+ 0xb5, 0xc1, 0x97, 0x22, 0x7c, 0xa9, 0xa1, 0x36, 0x7f, 0x45, 0xba, 0xd8,
+ 0xab, 0x9b, 0x19, 0x69, 0x05, 0xeb, 0x62, 0x41, 0xf3, 0xa4, 0x91, 0x7a,
+ 0xfa, 0x86, 0x46, 0x70, 0xa8, 0x80, 0x83, 0x43, 0x27, 0xd4, 0x3a, 0x22,
+ 0xc9, 0x6d, 0xe9, 0xcb, 0x80, 0xf0, 0xb2, 0x9b, 0x42, 0x50, 0x2c, 0x7f,
+ 0xb7, 0x88, 0xe9, 0xf0, 0x7a, 0xb1, 0x97, 0xad, 0x73, 0xdb, 0x04, 0x11,
+ 0x72, 0x4d, 0xe7, 0x65, 0x08, 0x6d, 0x52, 0xd6, 0x0a, 0x9e, 0x6e, 0x16,
+ 0x69, 0x5e, 0x6f, 0xdd, 0x27, 0x40, 0xd0, 0xdd, 0x8b, 0xf2, 0xd3, 0xf6,
+ 0xaa, 0x71, 0xbf, 0xf4, 0x7b, 0xe1, 0x7d, 0xf8, 0x8d, 0xb0, 0xc9, 0xfc,
+ 0x4f, 0x06, 0xf8, 0x89, 0x23, 0x98, 0x91, 0x93, 0xc5, 0x26, 0x05, 0x4b,
+ 0xb6, 0x5f, 0x0b, 0xed, 0x86, 0x73, 0x21, 0xee, 0x22, 0x2d, 0x3a, 0x0d,
+ 0x31, 0xad, 0x05, 0x1b, 0x64, 0xba, 0x30, 0x4a, 0x50, 0xc4, 0x11, 0xa3,
+ 0xbd, 0x59, 0x09, 0x06, 0x6f, 0xd0, 0x15, 0xd9, 0xf5, 0x9a, 0x34, 0xf3,
+ 0xc5, 0x9a, 0xbe, 0xcc, 0x08, 0x72, 0x16, 0xc1, 0x4c, 0x21, 0x0d, 0xa2,
+ 0xa8, 0x7f, 0x16, 0x27, 0x88, 0xee, 0xa8, 0x07, 0x80, 0xa8, 0x98, 0xbe,
+ 0x16, 0x1b, 0xb0, 0x0b, 0xa2, 0x37, 0xea, 0x99, 0x1d, 0x79, 0x4b, 0x78,
+ 0x98, 0x4c, 0x00, 0x56, 0x3d, 0xc7, 0x14, 0x15, 0x79, 0xe9, 0x74, 0x04,
+ 0x21, 0x50, 0xba, 0xfe, 0xc4, 0x50, 0xdd, 0x6c, 0xca, 0x44, 0x6b, 0x66,
+ 0xaa, 0x9f, 0x28, 0x82, 0x00, 0x0a, 0x2f, 0x7c, 0x14, 0x40, 0x72, 0x38,
+ 0x17, 0x41, 0x3c, 0x10, 0x1d, 0x50, 0xd1, 0x58, 0x10, 0x3c, 0x87, 0xd5,
+ 0x69, 0x29, 0x22, 0xab, 0xf5, 0xee, 0xb5, 0xa6, 0xa4, 0xca, 0x74, 0x24,
+ 0x83, 0x9f, 0x5f, 0xda, 0x51, 0x90, 0x1e, 0xbc, 0xb6, 0xdb, 0x8a, 0x9b,
+ 0x95, 0x2d, 0x18, 0xea, 0xdf, 0x54, 0xe7, 0x7a, 0xdc, 0x6e, 0xa8, 0x27,
+ 0x90, 0x8e, 0x3f, 0xeb, 0x42, 0xa5, 0x0f, 0xbb, 0x51, 0x3d, 0xd5, 0x36,
+ 0xff, 0x6f, 0xde, 0xa8, 0x34, 0x79, 0xd8, 0x9d, 0x4a, 0xbb, 0x97, 0x2a,
+ 0x64, 0x4b, 0xb7, 0xbd, 0x33, 0xfe, 0x05, 0x6f, 0x19, 0x5f, 0xb3, 0x9f,
+ 0x74, 0xcf, 0x94, 0x28, 0xfe, 0x5f, 0xbe, 0x65, 0x9f, 0x77, 0xb4, 0x40,
+ 0xe0, 0xa3, 0x3e, 0xb0, 0x6f, 0x25, 0x69, 0xc7, 0xa4, 0x6b, 0xed, 0x59,
+ 0x28, 0xc3, 0x78, 0xe3, 0x13, 0x86, 0xde, 0x8a, 0x85, 0x2e, 0x4b, 0x3d,
+ 0xd9, 0xc7, 0x96, 0xe7, 0x29, 0xec, 0xc0, 0xc6, 0x81, 0x43, 0xe7, 0xad,
+ 0x02, 0x44, 0x23, 0xc7, 0xdb, 0xb6, 0x3a, 0x4d, 0xa4, 0x89, 0x8a, 0x2c,
+ 0xeb, 0xd2, 0x88, 0xf6, 0x55, 0x9e, 0x70, 0xa7, 0x76, 0x43, 0x80, 0x5f,
+ 0x8d, 0xc7, 0xc3, 0x97, 0xe7, 0x27, 0xf7, 0xd8, 0x5d, 0xc0, 0x85, 0x71,
+ 0x93, 0x8c, 0xd9, 0xcb, 0xfd, 0x69, 0x58, 0xed, 0x4f, 0x1b, 0x45, 0xb7,
+ 0xbb, 0xad, 0x2f, 0xeb, 0x56, 0x92, 0xb1, 0x4e, 0xc9, 0x36, 0xdc, 0x20,
+ 0x65, 0x5b, 0x31, 0x97, 0x91, 0x47, 0x41, 0xbe, 0x1a, 0xe2, 0x32, 0xfc,
+ 0x44, 0x90, 0x93, 0x0d, 0x84, 0x1d, 0x80, 0xe3, 0x24, 0x07, 0xcf, 0x9e,
+ 0x1c, 0x98, 0x6b, 0x71, 0xc7, 0xc0, 0x8f, 0xf2, 0xfe, 0xa3, 0xd1, 0xd1,
+ 0xde, 0xa3, 0xd1, 0x23, 0xe2, 0x6a, 0x2e, 0x5a, 0x2a, 0xe3, 0x1b, 0x6e,
+ 0x17, 0xc9, 0x4a, 0xa2, 0x69, 0xbd, 0x3b, 0x7e, 0x95, 0x70, 0xe2, 0x2a,
+ 0x60, 0x00, 0x3b, 0x36, 0x57, 0xc2, 0xc9, 0x33, 0xc4, 0x48, 0x47, 0xea,
+ 0x26, 0x66, 0x62, 0x0d, 0x9c, 0x14, 0xc1, 0x76, 0x24, 0x6a, 0x4b, 0x00,
+ 0x98, 0xa2, 0xb0, 0x33, 0x21, 0x7e, 0xc7, 0x66, 0x85, 0xec, 0x8c, 0xf9,
+ 0x4d, 0x58, 0x81, 0xe6, 0xed, 0x89, 0xb7, 0x63, 0xf7, 0xa4, 0x97, 0x3f,
+ 0xea, 0x3f, 0x1f, 0x35, 0x5f, 0x7a, 0x0c, 0x20, 0xe7, 0xb9, 0x0f, 0xec,
+ 0x1c, 0xe1, 0x87, 0xd6, 0x28, 0xad, 0x93, 0x6a, 0xba, 0xb4, 0x26, 0xc9,
+ 0xfc, 0xef, 0xb3, 0x62, 0xf4, 0x53, 0xed, 0xa9, 0x88, 0x42, 0xdc, 0x36,
+ 0x9b, 0x78, 0xee, 0xc2, 0xa8, 0xc5, 0x5c, 0xea, 0x5b, 0x11, 0x9b, 0x48,
+ 0x5d, 0x0f, 0x19, 0x08, 0x80, 0xee, 0x32, 0x1b, 0x50, 0xde, 0x40, 0x76,
+ 0xf4, 0x4d, 0x83, 0x47, 0x0c, 0x72, 0xf7, 0xad, 0xbd, 0x2a, 0x4b, 0x17,
+ 0xf2, 0xa2, 0x98, 0x6e, 0x40, 0x0c, 0x0e, 0x7e, 0x39, 0x47, 0x7b, 0xb9,
+ 0x3a, 0x00, 0x68, 0x63, 0x84, 0x73, 0x0b, 0x8f, 0xc8, 0x4f, 0xdb, 0x34,
+ 0x2d, 0xaf, 0x91, 0x4b, 0x65, 0xc4, 0x49, 0xbe, 0x4a, 0x17, 0xc9, 0x03,
+ 0x6a, 0x0b, 0xfa, 0x0f, 0xff, 0x5e, 0x7e, 0xe7, 0xd8, 0x45, 0xc8, 0xe5,
+ 0x6c, 0x21, 0xbf, 0x26, 0x90, 0x76, 0xa5, 0xaa, 0x70, 0x90, 0x16, 0x9f,
+ 0xeb, 0x19, 0x90, 0x92, 0xdd, 0x85, 0x9d, 0x39, 0x14, 0xa8, 0x6e, 0x02,
+ 0x8d, 0xb1, 0x24, 0x15, 0x11, 0x91, 0x1c, 0x72, 0x2e, 0x96, 0xa6, 0x83,
+ 0x4a, 0xd5, 0xeb, 0xee, 0x48, 0xcd, 0xa8, 0x4d, 0xcc, 0xdd, 0xb2, 0xc4,
+ 0x7b, 0x59, 0xef, 0x2f, 0xc1, 0x0c, 0x49, 0x85, 0x63, 0x3f, 0xc3, 0x4f,
+ 0xc5, 0x40, 0xf5, 0x85, 0x45, 0xb2, 0x83, 0x44, 0x10, 0x5b, 0xc5, 0x48,
+ 0x3f, 0xd2, 0xd4, 0x82, 0xd0, 0x59, 0x64, 0xa3, 0xc6, 0xbb, 0xa3, 0x87,
+ 0x80, 0x45, 0x0f, 0x04, 0x17, 0xda, 0x42, 0x41, 0x07, 0x7c, 0xf6, 0xff,
+ 0x09, 0x35, 0xf0, 0x71, 0x62, 0xcf, 0xea, 0x21, 0xda, 0x20, 0x23, 0xab,
+ 0x73, 0xbf, 0xf1, 0x00, 0xfa, 0xce, 0x99, 0x5c, 0xff, 0xbf, 0x36, 0xf8,
+ 0x7f, 0x92, 0x36, 0xf8, 0x93, 0x6f, 0x69, 0xeb, 0x92, 0x0e, 0x25, 0xb3,
+ 0xd9, 0xde, 0x4b, 0x77, 0x13, 0xe3, 0x05, 0x07, 0x8b, 0xbb, 0x07, 0x5e,
+ 0xd0, 0xee, 0x0d, 0x4d, 0x42, 0x52, 0xf8, 0x7f, 0xe3, 0x8a, 0x3e, 0xe8,
+ 0x66, 0xfe, 0xff, 0xbe, 0x8f, 0xff, 0xdd, 0xee, 0x61, 0xbf, 0x36, 0xb8,
+ 0x63, 0x88, 0xec, 0x86, 0xb2, 0xf6, 0xb8, 0xd7, 0x19, 0xec, 0xec, 0x5d,
+ 0xa7, 0xf9, 0x50, 0x3d, 0x1e, 0xef, 0xdd, 0xc9, 0xf9, 0xb7, 0x4f, 0x18,
+ 0x81, 0x67, 0xdc, 0x4d, 0x66, 0xa9, 0x92, 0xd3, 0xd7, 0x2f, 0xcf, 0x7f,
+ 0xc2, 0x6d, 0xff, 0x0b, 0xbc, 0xd0, 0xab, 0x2c, 0x9b, 0x0d, 0x39, 0x6e,
+ 0xf8, 0x02, 0xff, 0x88, 0x04, 0xdc, 0x53, 0x8b, 0xb0, 0x01, 0xb2, 0xa5,
+ 0x70, 0x62, 0x98, 0xc6, 0x80, 0x97, 0x8d, 0x9a, 0x52, 0x08, 0xe6, 0xcd,
+ 0x0a, 0x2d, 0x01, 0x03, 0x1f, 0x4b, 0x59, 0xcc, 0x76, 0xb9, 0xd0, 0x0f,
+ 0x5f, 0x06, 0xa9, 0x48, 0xf6, 0x09, 0xdd, 0xef, 0x4b, 0x42, 0xc5, 0xb3,
+ 0xc0, 0xa1, 0xde, 0x33, 0x8a, 0x04, 0x1d, 0x4d, 0x86, 0xba, 0x73, 0x4b,
+ 0xe1, 0x90, 0x27, 0xa3, 0xd7, 0x1d, 0xed, 0x93, 0xff, 0x1d, 0x5c, 0x24,
+ 0x6b, 0x7e, 0x45, 0xb4, 0x8d, 0xee, 0xe7, 0xfb, 0xd2, 0x69, 0x36, 0x6e,
+ 0xa5, 0x7f, 0x12, 0xad, 0x1d, 0xa4, 0x08, 0x39, 0x87, 0x0e, 0x83, 0x2e,
+ 0xe5, 0xde, 0x37, 0x39, 0x81, 0x84, 0xe7, 0x6b, 0x3f, 0xd1, 0xde, 0xcd,
+ 0x93, 0xb9, 0xff, 0x42, 0x60, 0x51, 0xdb, 0x9a, 0xb4, 0xcc, 0x1a, 0xd4,
+ 0x49, 0x6b, 0x56, 0xae, 0x62, 0xe0, 0x40, 0xbd, 0xfb, 0xae, 0xb4, 0xe0,
+ 0x2f, 0x61, 0x36, 0xa5, 0xf7, 0xee, 0xe6, 0x14, 0xc0, 0xb2, 0x68, 0x2a,
+ 0x6a, 0x31, 0xa2, 0xd9, 0x03, 0x8a, 0x34, 0x6f, 0xf8, 0xa2, 0x5f, 0xfb,
+ 0x9f, 0xa2, 0x52, 0x20, 0xc1, 0xae, 0x85, 0xed, 0x36, 0xf9, 0x7e, 0x27,
+ 0x59, 0x33, 0x1d, 0xb9, 0xb3, 0x05, 0x84, 0xa1, 0xf9, 0xe5, 0xd4, 0x28,
+ 0xb9, 0xda, 0x93, 0x7a, 0x90, 0x70, 0x82, 0x07, 0x99, 0x3c, 0x3d, 0xbe,
+ 0x0a, 0xcd, 0x84, 0xf9, 0xf5, 0xdb, 0xb3, 0x6d, 0xee, 0x7f, 0x18, 0x42,
+ 0x48, 0xa8, 0x79, 0x62, 0xd9, 0x42, 0x6a, 0xd8, 0x19, 0x90, 0x17, 0xd0,
+ 0x24, 0x99, 0x02, 0xc1, 0xf3, 0x45, 0x7a, 0x23, 0x45, 0x30, 0x5d, 0x7e,
+ 0x3f, 0x3e, 0x3d, 0xe2, 0x8c, 0xdf, 0x8b, 0xd3, 0xb1, 0x8f, 0x9f, 0x5f,
+ 0x23, 0x18, 0x8f, 0x0a, 0xc8, 0x3f, 0x1f, 0xbf, 0x1c, 0x5f, 0x8c, 0x22,
+ 0x6b, 0x0c, 0x13, 0xa6, 0x5c, 0x41, 0x34, 0x01, 0x9b, 0x2d, 0xd2, 0x3b,
+ 0x42, 0xcf, 0x94, 0xba, 0x4a, 0x9a, 0x1b, 0x4f, 0x4d, 0xc7, 0x26, 0x33,
+ 0x97, 0x3b, 0xc8, 0x20, 0xe5, 0x2e, 0x4c, 0x49, 0x32, 0x7b, 0x37, 0xc9,
+ 0x17, 0xb4, 0x02, 0x33, 0x2d, 0x63, 0x0c, 0x2d, 0xa5, 0x68, 0x02, 0x55,
+ 0xfa, 0xe5, 0x82, 0x12, 0x09, 0xe8, 0x3b, 0x6d, 0x4f, 0x04, 0x25, 0x24,
+ 0x0b, 0x74, 0x41, 0x7f, 0x21, 0xb2, 0xd1, 0x3b, 0x4a, 0x6a, 0xff, 0x64,
+ 0xe7, 0xaa, 0x7b, 0xc5, 0x51, 0x67, 0xaf, 0x61, 0x1f, 0x75, 0xa8, 0x27,
+ 0x10, 0x97, 0x30, 0xdd, 0x3b, 0xad, 0x3f, 0x69, 0x64, 0x17, 0x6d, 0x45,
+ 0x29, 0x68, 0xbc, 0x31, 0xe7, 0xb4, 0x6b, 0x09, 0x99, 0x83, 0x46, 0x4d,
+ 0x3c, 0x55, 0x47, 0x05, 0xc5, 0x11, 0xe4, 0x00, 0x28, 0xb2, 0xc5, 0xee,
+ 0x86, 0x13, 0xd7, 0xc4, 0x11, 0xbf, 0xed, 0x29, 0x8d, 0x16, 0xef, 0xb5,
+ 0x96, 0x4c, 0xaf, 0x32, 0x23, 0x45, 0x46, 0x1e, 0xb2, 0xc3, 0x83, 0x37,
+ 0xe4, 0xb3, 0x00, 0xfe, 0x2f, 0xb2, 0x3d, 0x3f, 0x79, 0x43, 0x1e, 0x3d,
+ 0x0a, 0x37, 0xa4, 0xca, 0xfe, 0x3e, 0x8b, 0x61, 0xa1, 0xa3, 0x02, 0x05,
+ 0xe5, 0x2f, 0x5c, 0x36, 0xf2, 0x9e, 0x01, 0xdd, 0x69, 0xaa, 0x7b, 0xd4,
+ 0xd2, 0x48, 0xf3, 0xe8, 0x1d, 0x98, 0x1e, 0x19, 0xd8, 0x14, 0x80, 0x0c,
+ 0xdb, 0xb1, 0x2b, 0xea, 0xa6, 0xd7, 0x7f, 0x33, 0x8f, 0xc3, 0x81, 0x48,
+ 0x76, 0xb3, 0x7c, 0x64, 0x23, 0xcb, 0xa2, 0x54, 0x16, 0x34, 0xc6, 0xa1,
+ 0x1a, 0x53, 0x7b, 0x77, 0x86, 0xc3, 0x79, 0xb3, 0xb2, 0x0b, 0xdb, 0x48,
+ 0x1d, 0xfb, 0xc1, 0x66, 0xf4, 0x2c, 0xfd, 0xa2, 0xd2, 0x06, 0x41, 0x9b,
+ 0x57, 0x1f, 0x66, 0x5b, 0x52, 0xd7, 0x1d, 0xed, 0xe4, 0x0e, 0xe0, 0x32,
+ 0x69, 0xa3, 0xfe, 0xd0, 0x8d, 0x08, 0x99, 0x07, 0xb6, 0xa5, 0xd5, 0x59,
+ 0x5a, 0xd7, 0x2b, 0x2c, 0x5c, 0x83, 0xa3, 0xb2, 0x03, 0x98, 0xa9, 0x14,
+ 0x34, 0x04, 0xb7, 0xbd, 0xa0, 0xb2, 0xda, 0xeb, 0x6c, 0x81, 0x72, 0xc3,
+ 0xac, 0x98, 0x56, 0x77, 0x2b, 0x1f, 0xbc, 0x7f, 0x76, 0x8f, 0x06, 0x7f,
+ 0xcf, 0x09, 0xb4, 0x6a, 0x83, 0x0e, 0x0c, 0xaf, 0xdb, 0x0d, 0xf5, 0xaf,
+ 0x54, 0x19, 0x3c, 0x1b, 0x27, 0x50, 0xbc, 0x1b, 0xbf, 0x54, 0x80, 0x0c,
+ 0x19, 0x65, 0xdc, 0x8c, 0x9f, 0x29, 0x88, 0x85, 0xc9, 0x3c, 0x74, 0x20,
+ 0xd3, 0xd6, 0xda, 0x4a, 0x80, 0x07, 0x9f, 0xfc, 0xe1, 0x80, 0xf7, 0xeb,
+ 0xfa, 0x30, 0xe0, 0x09, 0xe3, 0xd3, 0x5d, 0x82, 0xa7, 0xae, 0x08, 0x2e,
+ 0xa6, 0xe5, 0x96, 0xa2, 0x0b, 0xab, 0x0d, 0xca, 0x0e, 0xd9, 0x1b, 0xe5,
+ 0xb7, 0x6b, 0x66, 0x25, 0x3b, 0x48, 0xa1, 0x42, 0x69, 0x38, 0xdf, 0x75,
+ 0x2e, 0xd1, 0x1d, 0x1b, 0xbe, 0xca, 0x79, 0x8d, 0xed, 0x76, 0xaa, 0xb6,
+ 0xea, 0x99, 0x9e, 0xbe, 0x3e, 0xec, 0x05, 0xa2, 0x1f, 0xc9, 0xef, 0x51,
+ 0xc2, 0x3e, 0xcb, 0x80, 0xe5, 0xae, 0x58, 0x9a, 0x54, 0xc1, 0xc5, 0xd4,
+ 0x86, 0xbc, 0x5e, 0xf2, 0x4e, 0x3f, 0x39, 0x78, 0xfa, 0x64, 0x37, 0x1a,
+ 0x64, 0x67, 0x62, 0xa2, 0xd2, 0xc6, 0xa6, 0x59, 0x51, 0x81, 0xae, 0x90,
+ 0x11, 0xfd, 0xf3, 0x70, 0xe4, 0xef, 0x51, 0xd8, 0xdd, 0xa4, 0x2b, 0x92,
+ 0x8a, 0x19, 0x11, 0x04, 0x6d, 0x83, 0x76, 0x7b, 0x20, 0x42, 0xb1, 0x7d,
+ 0x62, 0xf5, 0x8e, 0x83, 0x90, 0x43, 0x93, 0x30, 0x40, 0xa2, 0x87, 0x89,
+ 0x38, 0x3c, 0xd2, 0x09, 0x1c, 0xf1, 0xcc, 0xbc, 0xf6, 0x9c, 0x3c, 0x53,
+ 0xfc, 0x7d, 0xd4, 0xfe, 0x97, 0x1f, 0xcc, 0x74, 0x03, 0xfc, 0xbc, 0x53,
+ 0x3e, 0xfa, 0xb5, 0x4f, 0xf9, 0xe8, 0x9e, 0x53, 0x3e, 0x7a, 0xe8, 0x29,
+ 0x3f, 0x7d, 0xfc, 0xe4, 0xf3, 0x9f, 0x77, 0xca, 0xde, 0x26, 0xff, 0xaf,
+ 0x39, 0x65, 0x8f, 0xcc, 0x7e, 0xde, 0x29, 0x4b, 0x52, 0x48, 0xb7, 0x20,
+ 0x53, 0x92, 0x5f, 0xb8, 0x9c, 0x96, 0xb0, 0x34, 0x38, 0x23, 0x99, 0x1f,
+ 0x0e, 0x0b, 0xad, 0xa4, 0xfb, 0x24, 0x77, 0xbd, 0x33, 0x6a, 0x58, 0xc4,
+ 0xc8, 0x76, 0xc0, 0x1e, 0xd0, 0x6f, 0x57, 0x0b, 0x6a, 0x9e, 0xb6, 0x3d,
+ 0xdc, 0xd6, 0xd0, 0xb5, 0x96, 0x4f, 0x2a, 0x2e, 0x16, 0x7f, 0xcd, 0x1c,
+ 0xf6, 0x6f, 0x88, 0xaa, 0x16, 0xe6, 0xcc, 0x78, 0x59, 0x4f, 0xed, 0x4d,
+ 0xbb, 0x5b, 0x18, 0x33, 0x81, 0x33, 0x90, 0xa2, 0xd9, 0x6f, 0xb5, 0xa6,
+ 0x0e, 0x32, 0xb4, 0x93, 0x7a, 0x69, 0x26, 0x46, 0x27, 0x34, 0x22, 0xa0,
+ 0xa0, 0x9c, 0x9e, 0xbb, 0x45, 0x26, 0x15, 0xc4, 0xb4, 0x66, 0xf8, 0xe4,
+ 0xc9, 0x94, 0xef, 0xba, 0x84, 0xa5, 0x57, 0x90, 0x05, 0xd4, 0xd3, 0x9c,
+ 0xa5, 0x91, 0x84, 0x0d, 0x8d, 0x82, 0xd6, 0x9a, 0x0e, 0x76, 0xce, 0x5c,
+ 0x14, 0x8e, 0x3b, 0x2c, 0x23, 0x60, 0x3f, 0x9b, 0x12, 0xfc, 0xba, 0x09,
+ 0x77, 0x3d, 0xbd, 0x89, 0x62, 0x09, 0x68, 0x41, 0x9b, 0x2a, 0x7b, 0x34,
+ 0x0c, 0xb3, 0x66, 0x5b, 0x27, 0xd9, 0xf2, 0x04, 0xd8, 0xc7, 0x54, 0x9b,
+ 0x10, 0x14, 0x22, 0xa3, 0x94, 0x5a, 0xd6, 0xa3, 0xbd, 0xa0, 0xbc, 0xd7,
+ 0xdb, 0xb9, 0xba, 0xf5, 0x3d, 0x35, 0x33, 0x94, 0x77, 0xde, 0x78, 0x6d,
+ 0x31, 0xc5, 0xfa, 0x7b, 0x4d, 0xd3, 0x9d, 0xad, 0x97, 0x2b, 0x85, 0x42,
+ 0xa4, 0xf2, 0xa6, 0x1c, 0x69, 0x5c, 0x8a, 0x86, 0xc0, 0x39, 0xd7, 0x11,
+ 0x37, 0x9a, 0xad, 0x76, 0xb2, 0x19, 0x6e, 0xec, 0xb3, 0xd2, 0xd3, 0x92,
+ 0x7a, 0x7e, 0x5e, 0x01, 0x12, 0xd7, 0x2c, 0x06, 0x5b, 0x90, 0x7a, 0x40,
+ 0xf7, 0xcc, 0x4c, 0x7b, 0x96, 0x4d, 0xd6, 0x97, 0x8a, 0x28, 0x60, 0xdb,
+ 0xdb, 0xb5, 0x69, 0x12, 0x05, 0x58, 0x84, 0x30, 0x94, 0x0d, 0x38, 0x8d,
+ 0x2e, 0x2d, 0xee, 0x42, 0x70, 0x95, 0x86, 0x5a, 0x3b, 0x4e, 0x37, 0x25,
+ 0x87, 0x05, 0x4b, 0x07, 0xb1, 0xe7, 0x03, 0x6f, 0xe9, 0xf8, 0x49, 0xeb,
+ 0x44, 0x23, 0xad, 0xb3, 0x7c, 0x52, 0x69, 0xa6, 0xab, 0xe1, 0x3c, 0x25,
+ 0x68, 0xd2, 0xa0, 0xb0, 0x5c, 0x12, 0x42, 0xe5, 0x0e, 0x5c, 0xbc, 0x3a,
+ 0x4f, 0xde, 0xa4, 0xd2, 0x6e, 0x28, 0xd9, 0x31, 0x1c, 0xf8, 0xe9, 0xa3,
+ 0x83, 0xa3, 0xdd, 0x8d, 0x7a, 0x78, 0x1b, 0x6e, 0x0b, 0xdf, 0x2a, 0xca,
+ 0x58, 0xc2, 0xfa, 0xc5, 0xda, 0x18, 0xcd, 0x02, 0xe3, 0x63, 0x3e, 0xf4,
+ 0xf1, 0xdd, 0xd9, 0xeb, 0xe3, 0xd3, 0x97, 0x7f, 0xb1, 0x80, 0x11, 0xb4,
+ 0x07, 0x5a, 0x79, 0xfc, 0xd1, 0x58, 0xaf, 0x77, 0x1f, 0xeb, 0xcc, 0x4c,
+ 0xb9, 0xd9, 0x39, 0xda, 0x05, 0xb0, 0x43, 0xd0, 0x14, 0xf2, 0x32, 0x6b,
+ 0xa1, 0x6d, 0x48, 0xf5, 0xc0, 0x06, 0xc0, 0xa8, 0xb1, 0xed, 0x29, 0xba,
+ 0x3f, 0x32, 0xec, 0x59, 0xd2, 0x2e, 0xb9, 0x71, 0x82, 0x23, 0x52, 0xaf,
+ 0x73, 0x4a, 0x2a, 0x98, 0x72, 0x02, 0x9d, 0x10, 0xb4, 0x1e, 0x5a, 0x2d,
+ 0xf2, 0x69, 0x4e, 0xd6, 0x8a, 0xdc, 0x6a, 0xaa, 0x4a, 0x98, 0xcf, 0xdb,
+ 0xb0, 0x94, 0x28, 0xde, 0x45, 0xb9, 0xc2, 0x46, 0x67, 0x5a, 0x9b, 0xf7,
+ 0x37, 0x10, 0x16, 0xd9, 0xa2, 0xc8, 0x9a, 0xa1, 0x4c, 0xeb, 0x85, 0xf9,
+ 0xf3, 0x8b, 0xeb, 0x74, 0x11, 0x94, 0x84, 0x53, 0x4f, 0x45, 0xa5, 0x4d,
+ 0x9b, 0x3c, 0x49, 0x6f, 0x7a, 0x2d, 0x57, 0xc6, 0xb6, 0xf3, 0x88, 0x3e,
+ 0x69, 0xae, 0x4a, 0xd0, 0x61, 0xe4, 0xe2, 0xe2, 0x2f, 0xe7, 0xc7, 0x5f,
+ 0xbc, 0x20, 0x36, 0xf6, 0x27, 0xaa, 0x3d, 0xa9, 0x5b, 0x5c, 0x2d, 0xa1,
+ 0x1e, 0xee, 0xc1, 0x1a, 0xbe, 0x7f, 0x7d, 0x32, 0x3e, 0x3f, 0x3d, 0x7b,
+ 0xf5, 0xc5, 0x8b, 0xef, 0xc9, 0xa6, 0x34, 0xc2, 0xe3, 0xce, 0x7b, 0xd7,
+ 0xfe, 0xcc, 0x36, 0x51, 0x08, 0x01, 0x45, 0x8e, 0xbf, 0xfb, 0x78, 0xfc,
+ 0xee, 0xdb, 0x2f, 0x5e, 0x5c, 0xa7, 0xd5, 0x80, 0xd6, 0xc7, 0x6f, 0xf7,
+ 0xb4, 0x2c, 0x6d, 0x91, 0x1a, 0x29, 0xe7, 0x93, 0xc5, 0xa7, 0x3a, 0xff,
+ 0x47, 0x96, 0x98, 0xd7, 0x17, 0xeb, 0x10, 0xc6, 0xfc, 0x42, 0xda, 0x60,
+ 0x19, 0xe9, 0x4d, 0xe6, 0xd0, 0x9f, 0x4f, 0xbf, 0x21, 0xa8, 0x5c, 0xeb,
+ 0x28, 0x5d, 0x72, 0xdf, 0xa5, 0xe4, 0x4f, 0x8f, 0x0f, 0x0e, 0x77, 0x5d,
+ 0xb7, 0x4f, 0x40, 0x6d, 0x9b, 0x19, 0x7f, 0x0a, 0xaa, 0xa6, 0xfe, 0xa1,
+ 0x90, 0x81, 0xb6, 0x9c, 0xa1, 0x71, 0x16, 0x15, 0x57, 0x1f, 0x88, 0xd7,
+ 0x09, 0xc9, 0xf9, 0x0c, 0xe2, 0x53, 0x12, 0x43, 0xa0, 0xac, 0xf5, 0xc0,
+ 0xe3, 0x76, 0xf1, 0xc6, 0x03, 0xb9, 0xf9, 0xb3, 0x23, 0x3c, 0x33, 0x1d,
+ 0xf1, 0xda, 0x6d, 0x94, 0x8f, 0xbf, 0x62, 0x2c, 0xa7, 0x6b, 0x52, 0x62,
+ 0xb3, 0x8d, 0x40, 0x13, 0xfa, 0x89, 0xef, 0xb3, 0x17, 0xf3, 0x46, 0x05,
+ 0x58, 0xc9, 0xb0, 0x8c, 0x58, 0xa5, 0x12, 0x9e, 0x62, 0x0a, 0x6c, 0x34,
+ 0x88, 0xf3, 0x25, 0x15, 0x1e, 0x53, 0x99, 0x0e, 0x3b, 0x77, 0x3c, 0xd7,
+ 0xcd, 0x22, 0xbb, 0x4c, 0xa7, 0x77, 0x89, 0x05, 0x98, 0x96, 0x7c, 0xfb,
+ 0x59, 0xf7, 0x76, 0xb2, 0x8f, 0x6f, 0x4a, 0xb6, 0x9c, 0x91, 0xc0, 0x84,
+ 0xfb, 0x41, 0x5c, 0x99, 0xb1, 0x54, 0xa8, 0x50, 0x53, 0xfd, 0x3e, 0xad,
+ 0xd9, 0x8d, 0x58, 0x5e, 0xd2, 0xa6, 0x76, 0xa5, 0x73, 0x7b, 0x8b, 0x3b,
+ 0xd4, 0x47, 0x64, 0x83, 0x5e, 0xc4, 0x1b, 0xf7, 0xf4, 0x51, 0xdb, 0x63,
+ 0xfe, 0x0f, 0x5c, 0x72, 0x42, 0xe1, 0x82, 0x53, 0xf6, 0x05, 0xfd, 0xb5,
+ 0x17, 0x87, 0x9f, 0xbd, 0x16, 0xdc, 0x6d, 0xda, 0x21, 0x57, 0xda, 0xd2,
+ 0x02, 0x69, 0x6c, 0x43, 0xa5, 0xf2, 0x8d, 0xba, 0x80, 0x7b, 0x31, 0xee,
+ 0xb4, 0xd2, 0x95, 0x3c, 0xc1, 0xe6, 0x71, 0xdb, 0xeb, 0xaa, 0x67, 0x48,
+ 0x5b, 0x9c, 0x19, 0x86, 0x68, 0x50, 0x18, 0x48, 0xa9, 0x08, 0x2f, 0x68,
+ 0x20, 0xe2, 0x88, 0xa4, 0x92, 0x98, 0x8d, 0xfa, 0x93, 0x06, 0x7d, 0x52,
+ 0x1f, 0x06, 0x08, 0x0f, 0x31, 0x94, 0x0c, 0x29, 0xd1, 0x55, 0x34, 0xbb,
+ 0x5d, 0xfd, 0x06, 0x9c, 0xa0, 0x41, 0x01, 0x35, 0x0b, 0x2b, 0x6d, 0x26,
+ 0x59, 0xab, 0x56, 0x4a, 0x35, 0x90, 0x30, 0xd2, 0x1d, 0xf0, 0x6c, 0xac,
+ 0x4d, 0xab, 0x56, 0xec, 0x29, 0x1c, 0x38, 0xaf, 0x4a, 0x92, 0x11, 0x30,
+ 0x9f, 0x9d, 0x25, 0x2d, 0x63, 0x57, 0xca, 0x4a, 0xb8, 0x17, 0x44, 0xd2,
+ 0xd7, 0xb0, 0xbd, 0x23, 0xa6, 0xcc, 0xa8, 0x34, 0x06, 0x89, 0x28, 0x23,
+ 0xa1, 0x20, 0x93, 0x18, 0x96, 0xa1, 0xb3, 0x1d, 0x91, 0xea, 0xe3, 0x86,
+ 0x93, 0xf8, 0xbb, 0x22, 0x8a, 0x40, 0xc5, 0x35, 0x71, 0xbe, 0x35, 0x82,
+ 0xdf, 0x8d, 0x6e, 0x67, 0xb8, 0x6b, 0x21, 0x04, 0xf2, 0xc6, 0x2a, 0x6d,
+ 0x11, 0xc8, 0x9d, 0xc4, 0x22, 0x9f, 0x5b, 0xe8, 0x36, 0xf6, 0x7d, 0x4a,
+ 0xbc, 0x25, 0x13, 0x92, 0xa0, 0xaf, 0xed, 0x71, 0xed, 0xa7, 0xf2, 0xa0,
+ 0x3c, 0x2c, 0x3d, 0x0f, 0xc6, 0x2a, 0xb2, 0x1b, 0x7f, 0x2c, 0x67, 0x76,
+ 0xd8, 0xf1, 0x7e, 0x4d, 0x6f, 0xb7, 0xb1, 0x99, 0xa8, 0x5e, 0x2d, 0x79,
+ 0xf1, 0xed, 0xf1, 0xfb, 0xf1, 0xc9, 0xd9, 0xbb, 0x3f, 0x45, 0xcd, 0x61,
+ 0xf9, 0xa5, 0x6d, 0xf4, 0xa6, 0x95, 0xae, 0xae, 0x1b, 0x17, 0x79, 0xc1,
+ 0xd4, 0xd7, 0xc2, 0xa0, 0x47, 0x79, 0x41, 0x8f, 0x04, 0x5d, 0xbe, 0xa6,
+ 0xd9, 0xaa, 0xe1, 0x72, 0x3b, 0x35, 0xa5, 0x5d, 0x47, 0x51, 0x4a, 0x1c,
+ 0x64, 0x23, 0x6e, 0x7f, 0xa0, 0x7f, 0x3b, 0xb0, 0x7f, 0x3b, 0x0c, 0xa9,
+ 0x9d, 0x7f, 0x71, 0x14, 0x6c, 0x50, 0x3c, 0x61, 0xc7, 0x8b, 0x97, 0xaf,
+ 0x57, 0x5c, 0x23, 0x49, 0x58, 0x26, 0x8c, 0x7c, 0xe4, 0x2f, 0x20, 0xe8,
+ 0xdb, 0x40, 0x0d, 0x7f, 0xfd, 0x17, 0xcd, 0xc3, 0xd7, 0x07, 0x5e, 0x05,
+ 0x8b, 0x7d, 0xee, 0x20, 0xf6, 0xdc, 0x41, 0xf8, 0xdc, 0x61, 0xec, 0xb9,
+ 0xc3, 0xf0, 0xb9, 0xa3, 0xd8, 0x73, 0xde, 0x7a, 0x3d, 0xc7, 0x9f, 0x6c,
+ 0xdc, 0x26, 0xcb, 0xb8, 0xf5, 0xaf, 0xa3, 0x91, 0x3b, 0xfe, 0xcf, 0xac,
+ 0xb7, 0xa2, 0xdb, 0xaa, 0xf6, 0x27, 0x19, 0xf6, 0xca, 0xa7, 0x75, 0x38,
+ 0xa3, 0x25, 0x76, 0x5c, 0xcc, 0xe6, 0x7b, 0x07, 0x47, 0xc3, 0x69, 0xbe,
+ 0xba, 0x22, 0xb9, 0xf3, 0x42, 0x3b, 0xbb, 0xd1, 0xe6, 0xd3, 0x62, 0xe5,
+ 0x17, 0x6b, 0xb2, 0xc8, 0x43, 0x3d, 0xe4, 0x74, 0xec, 0xc3, 0x15, 0x09,
+ 0x42, 0x27, 0xde, 0x48, 0xf8, 0x15, 0x07, 0x56, 0xd4, 0xf5, 0x2f, 0x87,
+ 0x30, 0x61, 0x79, 0x93, 0x58, 0xef, 0x0d, 0x39, 0x7a, 0x64, 0x0a, 0x4c,
+ 0xbc, 0x3a, 0x2f, 0x9d, 0xa8, 0x0c, 0xcf, 0x1d, 0x13, 0x39, 0xf4, 0xde,
+ 0x75, 0xed, 0xa2, 0xc5, 0x85, 0x3c, 0x2f, 0x10, 0x77, 0xd4, 0x99, 0xad,
+ 0xe8, 0xac, 0x8d, 0x87, 0x72, 0xf0, 0x76, 0x28, 0x9e, 0x09, 0x45, 0xe5,
+ 0x87, 0xf7, 0xa7, 0x81, 0x6a, 0x99, 0x90, 0x5f, 0xa6, 0x7e, 0xbe, 0xb7,
+ 0x87, 0x0e, 0xe3, 0x57, 0xe9, 0xed, 0xed, 0xa8, 0xce, 0xf6, 0x0c, 0x3f,
+ 0xa9, 0xf7, 0xe0, 0xf0, 0x95, 0x6f, 0x5f, 0x35, 0xcb, 0xc5, 0x66, 0x47,
+ 0x6d, 0xce, 0x7e, 0x2d, 0x69, 0x08, 0xcf, 0xbc, 0x03, 0xc8, 0x0b, 0xad,
+ 0x26, 0xbf, 0xf6, 0x88, 0xc3, 0x52, 0x2f, 0xe9, 0xa4, 0x8a, 0x3e, 0xce,
+ 0x07, 0x24, 0xf9, 0x20, 0x31, 0x11, 0xce, 0x44, 0x1c, 0x02, 0x70, 0xc8,
+ 0x9c, 0xf9, 0xe0, 0xb0, 0x73, 0xe8, 0x05, 0x2a, 0xa7, 0xcd, 0x82, 0x70,
+ 0x86, 0x45, 0xc9, 0xa9, 0x80, 0x88, 0x0f, 0x67, 0x41, 0x6c, 0xd7, 0x6a,
+ 0x3f, 0xf0, 0x81, 0x58, 0x21, 0x2f, 0x39, 0xaa, 0x66, 0xfc, 0xca, 0x4c,
+ 0x93, 0x52, 0xf2, 0x48, 0x99, 0x37, 0x2a, 0x87, 0xf9, 0xef, 0x9f, 0xc2,
+ 0xa2, 0x73, 0xac, 0xa0, 0x9b, 0xb8, 0x47, 0xda, 0x3f, 0x95, 0x7c, 0xf1,
+ 0xd6, 0xf3, 0xd7, 0x5a, 0x0d, 0x32, 0x80, 0xba, 0x14, 0x87, 0x06, 0xc0,
+ 0xb1, 0x6d, 0x8d, 0xdf, 0x9f, 0x6f, 0x0d, 0x38, 0x5f, 0x93, 0xbe, 0x30,
+ 0x34, 0xff, 0x4e, 0x60, 0x65, 0x52, 0x7b, 0x9d, 0xc7, 0x8f, 0x76, 0x05,
+ 0x27, 0x17, 0x73, 0xe4, 0xd2, 0xc9, 0x30, 0x7c, 0x84, 0x5f, 0xba, 0xe4,
+ 0xc2, 0xaa, 0xd5, 0x08, 0xcb, 0xd8, 0x7f, 0xed, 0x05, 0x72, 0xd6, 0xcf,
+ 0x80, 0xb3, 0x38, 0x36, 0xa8, 0x75, 0x3e, 0xec, 0x23, 0xcf, 0x73, 0xd4,
+ 0x89, 0xd0, 0x94, 0xd5, 0x27, 0xe9, 0x07, 0x22, 0x51, 0x0e, 0x30, 0x97,
+ 0xa0, 0xfb, 0x72, 0x8b, 0xd9, 0xb4, 0xbd, 0xa3, 0xde, 0x9a, 0x65, 0xc3,
+ 0x1c, 0x06, 0x5e, 0x4f, 0x8b, 0x61, 0xa5, 0x55, 0xb3, 0x61, 0x5f, 0x15,
+ 0x6b, 0x3a, 0x14, 0x0c, 0xa4, 0xe3, 0xc8, 0x30, 0xf7, 0x60, 0xd5, 0x3c,
+ 0xea, 0x9c, 0xbe, 0x6e, 0x5e, 0xe4, 0xd8, 0x6d, 0x07, 0x7b, 0x3e, 0x24,
+ 0xd8, 0x34, 0x8a, 0xc7, 0x19, 0x21, 0x09, 0xc5, 0x06, 0xec, 0xab, 0x26,
+ 0x53, 0x6c, 0x19, 0xef, 0x44, 0x46, 0x1a, 0x7c, 0x13, 0x36, 0xed, 0xce,
+ 0xda, 0xeb, 0x87, 0x71, 0xff, 0x82, 0xfc, 0xf5, 0xe0, 0xed, 0x68, 0xc2,
+ 0x35, 0x2d, 0x49, 0x13, 0x52, 0x1f, 0xb4, 0x20, 0x5d, 0xd1, 0x86, 0x25,
+ 0xc9, 0x51, 0x76, 0x16, 0xe5, 0x56, 0xe5, 0x2d, 0xcb, 0x51, 0x29, 0x2d,
+ 0x2d, 0x20, 0xbd, 0x07, 0x2d, 0xb4, 0xb5, 0x52, 0x12, 0x91, 0x51, 0xc1,
+ 0x22, 0x0e, 0x7f, 0xdf, 0xdf, 0xef, 0xa9, 0x04, 0x50, 0x01, 0x94, 0xd1,
+ 0xb5, 0xd3, 0x8d, 0x7b, 0xab, 0x2a, 0xc4, 0xf5, 0x4f, 0xa3, 0x68, 0x1f,
+ 0x93, 0x08, 0xaa, 0x11, 0xb9, 0x4c, 0xf5, 0x2b, 0xd2, 0x3d, 0x53, 0x5a,
+ 0x62, 0x77, 0x82, 0x9b, 0xaa, 0x38, 0x4a, 0x3d, 0xf5, 0x22, 0x4c, 0xb9,
+ 0xf8, 0x48, 0x77, 0xeb, 0xa3, 0xb0, 0xce, 0x7d, 0xae, 0xe8, 0x06, 0x6c,
+ 0x66, 0x4e, 0xcd, 0x17, 0x52, 0xc0, 0xa0, 0x52, 0xa4, 0xa0, 0x46, 0xdb,
+ 0x18, 0x57, 0xd9, 0x2d, 0x42, 0xa8, 0xcb, 0xe5, 0x69, 0x1c, 0x73, 0x0d,
+ 0xa9, 0xe5, 0xb5, 0x7a, 0x63, 0x55, 0x5b, 0xec, 0x80, 0xaa, 0xa1, 0x6d,
+ 0x88, 0x55, 0x0a, 0x65, 0xdb, 0x02, 0xdd, 0xff, 0xbe, 0x6a, 0xe8, 0x50,
+ 0x55, 0x20, 0x0d, 0xe6, 0xe7, 0x1d, 0xd6, 0xc1, 0xff, 0x59, 0x87, 0x75,
+ 0xf0, 0x7f, 0xc7, 0x61, 0x1d, 0xfe, 0xbc, 0xc3, 0x3a, 0xfc, 0x3f, 0xeb,
+ 0xb0, 0x0e, 0xff, 0xef, 0x38, 0xac, 0xa3, 0x9f, 0x77, 0x58, 0x47, 0xbf,
+ 0xfc, 0x61, 0xbd, 0xa3, 0xdf, 0x83, 0xe7, 0xab, 0xd6, 0x97, 0x8b, 0x9e,
+ 0xe0, 0xb4, 0xa2, 0xc9, 0x1d, 0x9a, 0xcf, 0x4f, 0x68, 0x43, 0xc4, 0x60,
+ 0x10, 0x65, 0xb2, 0xee, 0x5a, 0x4d, 0x2f, 0x1d, 0x36, 0xbb, 0x6d, 0x92,
+ 0x22, 0x31, 0x28, 0xc1, 0xaa, 0x27, 0x95, 0xe7, 0xcf, 0x25, 0xb9, 0x50,
+ 0x8c, 0x66, 0x30, 0x48, 0xde, 0x8d, 0xc7, 0x9c, 0x76, 0x34, 0x46, 0xe8,
+ 0xb4, 0x7b, 0x58, 0xe4, 0x8c, 0x84, 0x8d, 0xb3, 0x43, 0x6a, 0xe3, 0x99,
+ 0x99, 0xa1, 0xe3, 0x2e, 0xfc, 0xde, 0x32, 0x9d, 0xd2, 0x8f, 0xf7, 0x47,
+ 0x07, 0x6e, 0x77, 0x76, 0x7f, 0x02, 0x10, 0x9c, 0x8b, 0x6b, 0xc6, 0x83,
+ 0xd1, 0x11, 0xc8, 0x76, 0x20, 0xa0, 0xd7, 0x4d, 0xe7, 0x70, 0x6e, 0xdb,
+ 0x51, 0xe9, 0x5e, 0x70, 0xf0, 0xd8, 0xa9, 0x70, 0xfa, 0x85, 0xa2, 0x6b,
+ 0xd2, 0x2f, 0x9c, 0x85, 0x0e, 0x03, 0x38, 0xb0, 0xbe, 0xaf, 0xf2, 0x4b,
+ 0xc2, 0xc2, 0xfb, 0x19, 0x91, 0x65, 0x2f, 0x90, 0xfb, 0xbf, 0x26, 0xb2,
+ 0xfc, 0x20, 0xfb, 0xd8, 0xbf, 0x32, 0xd5, 0x50, 0x3b, 0xab, 0xc5, 0xf1,
+ 0xdb, 0x9d, 0x67, 0x91, 0x4a, 0x81, 0x80, 0xec, 0x38, 0x63, 0xd2, 0xa1,
+ 0x4c, 0x9b, 0x63, 0x79, 0xd7, 0x05, 0xf7, 0xd8, 0x8c, 0x09, 0xf1, 0x97,
+ 0xa4, 0xd2, 0xce, 0xc2, 0x0d, 0x29, 0xb0, 0x05, 0xaf, 0xb2, 0x66, 0x7a,
+ 0x5b, 0x17, 0xfa, 0x11, 0xc9, 0x0d, 0x25, 0x17, 0x39, 0x83, 0x9f, 0x05,
+ 0xe9, 0x07, 0xd3, 0x8c, 0xa1, 0xb1, 0xf2, 0xfb, 0x34, 0xa5, 0x27, 0xed,
+ 0xf5, 0xa6, 0xd3, 0x6c, 0x98, 0xd6, 0xd3, 0x3c, 0x8f, 0xb7, 0x76, 0xd5,
+ 0x38, 0x70, 0x9a, 0xcc, 0xd7, 0xf0, 0xe0, 0x9b, 0xe7, 0x13, 0x8a, 0xb9,
+ 0x69, 0xa3, 0x76, 0xe2, 0x88, 0x40, 0x8b, 0xa2, 0x09, 0x97, 0xeb, 0xe6,
+ 0xb2, 0x54, 0x67, 0xfe, 0x20, 0xe2, 0x18, 0xa4, 0xa8, 0x1c, 0x23, 0x93,
+ 0xd7, 0xd3, 0x2a, 0x5f, 0x01, 0x88, 0xd6, 0x6b, 0x0a, 0x37, 0xb0, 0x1d,
+ 0xd3, 0xe1, 0x69, 0xd3, 0xd0, 0x29, 0xf7, 0x10, 0x27, 0x0e, 0xda, 0xc5,
+ 0xeb, 0x1f, 0x6e, 0x91, 0x5b, 0xd3, 0x76, 0xd3, 0x32, 0x6f, 0x13, 0x7a,
+ 0xb8, 0x17, 0xb5, 0x4c, 0x14, 0xf3, 0xa8, 0x27, 0x0c, 0xaf, 0x61, 0x0c,
+ 0x43, 0x42, 0x77, 0x8a, 0x50, 0x8d, 0x86, 0x21, 0x1a, 0xa0, 0x9c, 0x70,
+ 0x13, 0x02, 0x72, 0xb0, 0x6b, 0x37, 0x88, 0xab, 0xec, 0x96, 0x0b, 0x49,
+ 0x43, 0x93, 0x8b, 0xb9, 0xd9, 0x95, 0x16, 0x59, 0xbe, 0x1c, 0xbf, 0x3a,
+ 0x39, 0x69, 0x15, 0x9d, 0xd2, 0xd6, 0x21, 0x92, 0xca, 0x68, 0x26, 0x49,
+ 0x4d, 0x20, 0xbf, 0x80, 0x13, 0x89, 0x45, 0xe1, 0xb9, 0x59, 0xa4, 0xb9,
+ 0x7e, 0x88, 0xbc, 0x18, 0x46, 0x90, 0x6b, 0x2b, 0xcf, 0x94, 0x53, 0xbc,
+ 0xd6, 0x85, 0x99, 0x66, 0x4e, 0xc8, 0x6b, 0x57, 0xeb, 0x65, 0x5a, 0xfc,
+ 0xfa, 0xc8, 0x71, 0xbe, 0xa1, 0xe7, 0x4a, 0x39, 0x64, 0xb7, 0xf8, 0x5e,
+ 0xf9, 0xb1, 0xde, 0x90, 0xd6, 0x22, 0x8d, 0x39, 0xce, 0x2b, 0x69, 0xdb,
+ 0x08, 0x78, 0x39, 0xf8, 0xdb, 0xb9, 0xb9, 0x86, 0x59, 0x29, 0x70, 0x2e,
+ 0x79, 0x70, 0xb3, 0x5c, 0x8d, 0x20, 0x03, 0xb6, 0xde, 0x06, 0x97, 0xba,
+ 0x4e, 0x41, 0x0e, 0xa3, 0x6d, 0xac, 0x96, 0x3b, 0xe8, 0x8a, 0x4a, 0x7c,
+ 0xe1, 0xb7, 0xbc, 0x01, 0xad, 0x2b, 0x70, 0xff, 0x1d, 0xe0, 0x2b, 0xf0,
+ 0x4b, 0xdc, 0x00, 0x29, 0x24, 0xda, 0xfa, 0xfd, 0x56, 0x12, 0x6f, 0xdd,
+ 0xf2, 0x80, 0x71, 0x5a, 0x00, 0x2c, 0xbf, 0x2d, 0xa5, 0x45, 0x10, 0x61,
+ 0x3c, 0x26, 0xe6, 0x9f, 0xe9, 0xba, 0xc8, 0x6f, 0x51, 0xd1, 0x61, 0x54,
+ 0x89, 0x17, 0xd4, 0xb9, 0xa4, 0xa7, 0x25, 0xc7, 0x2b, 0x56, 0x6c, 0x12,
+ 0xad, 0x4f, 0xc1, 0x2a, 0x3e, 0x98, 0x97, 0x8d, 0xc2, 0xb8, 0xa4, 0xfc,
+ 0x1e, 0x1e, 0x63, 0xe0, 0x63, 0xa3, 0x83, 0xad, 0x47, 0xf2, 0x83, 0x8a,
+ 0xac, 0x21, 0xf7, 0xc7, 0xc6, 0xc8, 0x56, 0x3b, 0x5a, 0x78, 0x01, 0x44,
+ 0xb0, 0x15, 0x15, 0x0d, 0x6c, 0xe8, 0xb0, 0x8d, 0xcd, 0x70, 0x49, 0xfa,
+ 0xed, 0x00, 0x82, 0xd7, 0x86, 0x4b, 0x48, 0xc7, 0xb6, 0x7a, 0xe2, 0xbe,
+ 0x2c, 0xb1, 0x54, 0x26, 0xdb, 0x3f, 0xc8, 0x35, 0xdf, 0xca, 0xbb, 0x91,
+ 0x09, 0x34, 0x78, 0x72, 0xe1, 0x5b, 0xe9, 0x8e, 0x19, 0xca, 0xee, 0x4e,
+ 0x1f, 0xb0, 0x91, 0xd7, 0x92, 0xb8, 0xd5, 0xa5, 0x0c, 0x28, 0x85, 0xf9,
+ 0x82, 0xc8, 0x7f, 0x4f, 0xd3, 0x1b, 0x16, 0x61, 0xee, 0xbd, 0x6b, 0x7e,
+ 0x25, 0xbc, 0x8e, 0x2a, 0xbd, 0x10, 0xe4, 0xa4, 0x7f, 0x03, 0x49, 0x49,
+ 0x95, 0x88, 0xf6, 0x2a, 0xb8, 0x97, 0x5d, 0x57, 0x7d, 0xf1, 0xe2, 0xcf,
+ 0x57, 0xd4, 0x0d, 0x5d, 0xe7, 0x55, 0x31, 0x21, 0xb6, 0xfb, 0xdd, 0x6b,
+ 0x48, 0xdb, 0x6b, 0xe8, 0x13, 0xe4, 0x35, 0xf3, 0xf5, 0x58, 0xd7, 0x99,
+ 0xe8, 0x52, 0x8c, 0x3c, 0x4b, 0xa5, 0x76, 0xd4, 0x40, 0x84, 0xf2, 0xf4,
+ 0x6c, 0xf7, 0x65, 0x3e, 0x58, 0x6e, 0xdb, 0x2e, 0x35, 0xbd, 0x01, 0xb2,
+ 0x6e, 0xbe, 0x18, 0xf9, 0x55, 0x13, 0xe2, 0xa6, 0xd5, 0x62, 0xad, 0x1d,
+ 0xa3, 0xac, 0xb3, 0xe6, 0xc6, 0x97, 0x87, 0x9a, 0x7f, 0x28, 0x32, 0x7b,
+ 0x3f, 0x6c, 0x77, 0x1c, 0xde, 0xa9, 0x9d, 0xc1, 0x46, 0xac, 0x63, 0x27,
+ 0x55, 0x78, 0x53, 0x0a, 0x96, 0xed, 0xaa, 0xda, 0x69, 0xae, 0x78, 0x5e,
+ 0xf8, 0xf4, 0x9e, 0x46, 0x83, 0xa3, 0x22, 0x97, 0x5f, 0x0a, 0xaa, 0x7c,
+ 0xa6, 0xae, 0x4e, 0xef, 0x1b, 0x23, 0xc3, 0x65, 0xcc, 0x47, 0xf4, 0x2b,
+ 0x52, 0x2c, 0xb3, 0x1b, 0x00, 0xb8, 0xdd, 0x71, 0x3f, 0x0c, 0xaf, 0xfe,
+ 0xd8, 0x6f, 0x46, 0x43, 0x53, 0xed, 0x4c, 0x0d, 0x79, 0xd5, 0x48, 0x3c,
+ 0x08, 0x6f, 0x22, 0x40, 0x0a, 0xd4, 0xc4, 0x83, 0xb0, 0x44, 0x0b, 0x21,
+ 0xe9, 0x97, 0xce, 0xdc, 0x4c, 0x20, 0x64, 0x79, 0x38, 0xf8, 0x5c, 0x27,
+ 0x99, 0x40, 0x8b, 0x06, 0x9e, 0x4a, 0x74, 0x38, 0x8c, 0x36, 0xb3, 0xe2,
+ 0xee, 0xab, 0x5a, 0xa5, 0x47, 0x3c, 0x2d, 0xbc, 0xd0, 0xb6, 0x59, 0x20,
+ 0xf5, 0x1f, 0x2a, 0x35, 0x64, 0xd1, 0xdf, 0x8f, 0x65, 0x94, 0x1c, 0xd3,
+ 0xd3, 0xe1, 0x40, 0x7f, 0xc0, 0x08, 0x00, 0x89, 0x77, 0x8d, 0x40, 0xcd,
+ 0x42, 0x80, 0xa1, 0xd7, 0xa5, 0x2b, 0xa1, 0x3c, 0xc6, 0xcb, 0xa5, 0xac,
+ 0x3b, 0x94, 0xf8, 0x8f, 0xa4, 0xd3, 0x15, 0xa9, 0xed, 0xaa, 0x6b, 0x26,
+ 0x5b, 0x97, 0x8b, 0x72, 0x32, 0x31, 0x8b, 0xdf, 0x52, 0x2d, 0xc5, 0x7c,
+ 0x3b, 0xf0, 0x25, 0xfb, 0x33, 0x49, 0xab, 0x4b, 0x58, 0xd2, 0x03, 0x98,
+ 0x11, 0xec, 0xa8, 0xa7, 0x59, 0xb8, 0x4e, 0xba, 0xfa, 0x79, 0x85, 0x42,
+ 0x8f, 0xc8, 0x19, 0xce, 0x06, 0xb4, 0x04, 0x48, 0x6b, 0x6b, 0xf9, 0xfd,
+ 0x51, 0xd0, 0x48, 0x3f, 0xd5, 0xe9, 0x71, 0xb6, 0x61, 0x5f, 0xba, 0xac,
+ 0xeb, 0x3f, 0x03, 0xb6, 0x25, 0xad, 0x08, 0xf3, 0x3a, 0x8c, 0xaf, 0x60,
+ 0x0b, 0xda, 0x0b, 0xda, 0xfa, 0x4f, 0xfa, 0xe3, 0x60, 0x40, 0xff, 0x3d,
+ 0xfc, 0xe7, 0x16, 0x42, 0x30, 0xcf, 0xf7, 0xf6, 0x6e, 0x6e, 0x6e, 0x46,
+ 0x0a, 0x28, 0x68, 0x8e, 0xec, 0xb3, 0xb0, 0xf2, 0x8f, 0x70, 0xd8, 0x7a,
+ 0x3e, 0x70, 0x91, 0x6c, 0xe5, 0xcb, 0xcb, 0xbf, 0x1e, 0x0c, 0x0f, 0xf6,
+ 0xf7, 0xf7, 0x7f, 0x1c, 0xad, 0x68, 0x7f, 0xe7, 0x18, 0xd6, 0xfc, 0xd7,
+ 0x1f, 0x76, 0x8f, 0x67, 0xb2, 0x17, 0x85, 0x7c, 0xe5, 0xdf, 0xa9, 0x95,
+ 0x5d, 0x70, 0xd3, 0x0e, 0x26, 0xe5, 0xe7, 0x1e, 0x8b, 0xe1, 0x38, 0x72,
+ 0xba, 0xa9, 0x8e, 0x9e, 0x53, 0x07, 0x29, 0x84, 0xf0, 0xf8, 0xe8, 0xf0,
+ 0x30, 0x61, 0x85, 0x83, 0xcb, 0xd3, 0x38, 0x95, 0x81, 0x90, 0x09, 0xa4,
+ 0xc3, 0x38, 0xcb, 0x32, 0x82, 0x5e, 0x4c, 0x39, 0x58, 0x63, 0x28, 0xa3,
+ 0x27, 0xa5, 0x93, 0x0d, 0xe3, 0xdc, 0x08, 0xf2, 0x72, 0x76, 0xe7, 0x46,
+ 0x35, 0x24, 0x5e, 0x11, 0x63, 0xa5, 0x26, 0xa1, 0x77, 0x3e, 0xc4, 0x63,
+ 0x2a, 0xd9, 0xd6, 0x41, 0x39, 0xa1, 0xb4, 0xbe, 0x83, 0x94, 0x03, 0x4c,
+ 0x6e, 0x51, 0x4a, 0x9f, 0x6b, 0x44, 0xee, 0xe7, 0xeb, 0x4a, 0xba, 0x1c,
+ 0x21, 0xd1, 0xe1, 0x26, 0xbd, 0x6b, 0x09, 0x7b, 0xb3, 0xe3, 0x2f, 0xcc,
+ 0x7f, 0x02, 0xbf, 0xb6, 0x5c, 0x4d, 0x52, 0x2d, 0x6d, 0x9b, 0xe6, 0x79,
+ 0xd6, 0x4c, 0xaf, 0xba, 0xe9, 0x96, 0xe0, 0xe0, 0x66, 0xb6, 0x57, 0x66,
+ 0x41, 0x77, 0xb6, 0xa1, 0x7a, 0xac, 0x03, 0xa4, 0x57, 0x97, 0x6b, 0x86,
+ 0xa4, 0x86, 0x1f, 0x28, 0x4d, 0xe0, 0x86, 0xf0, 0xcc, 0x14, 0x7b, 0xd0,
+ 0x3d, 0x6d, 0xdf, 0x44, 0x7c, 0x2f, 0xaf, 0xb5, 0x6c, 0x78, 0x7a, 0x95,
+ 0x2d, 0x85, 0x63, 0xee, 0x68, 0xce, 0xe4, 0x96, 0xd0, 0xe0, 0x56, 0xc4,
+ 0x22, 0xdf, 0x9a, 0xeb, 0xaf, 0xcc, 0x4a, 0x76, 0xa5, 0xf0, 0xd6, 0x8a,
+ 0x39, 0xe9, 0x85, 0x74, 0xb9, 0x26, 0xc3, 0x71, 0x92, 0x8a, 0x3c, 0xd1,
+ 0x7a, 0xf0, 0x9e, 0xcc, 0x66, 0xc3, 0x16, 0xb3, 0x0a, 0x42, 0xac, 0x5e,
+ 0x4f, 0x86, 0xa2, 0xf9, 0x60, 0x46, 0x48, 0x2e, 0xa1, 0xdb, 0xfa, 0xfa,
+ 0xe4, 0xd5, 0x05, 0x97, 0xc0, 0x9a, 0xff, 0x52, 0xb5, 0x8c, 0xf9, 0x83,
+ 0x2a, 0x5f, 0xc3, 0x46, 0x55, 0xe7, 0x47, 0x9c, 0x42, 0x04, 0x62, 0xb5,
+ 0x11, 0xa5, 0xd4, 0xa5, 0xd9, 0xb5, 0x54, 0xbf, 0x81, 0xd7, 0xf6, 0x24,
+ 0x92, 0x3b, 0xdc, 0xd2, 0x12, 0x6d, 0xe5, 0xf4, 0xa3, 0xc7, 0xa3, 0x7d,
+ 0x5e, 0x22, 0xed, 0xa1, 0x64, 0xd0, 0x48, 0xa5, 0x16, 0xdc, 0x48, 0x1a,
+ 0x61, 0x4c, 0xe3, 0x39, 0x03, 0x76, 0x2a, 0x83, 0x84, 0xf1, 0xcf, 0x19,
+ 0x4a, 0x41, 0x7f, 0xeb, 0x65, 0x4b, 0xde, 0x53, 0x0e, 0xa3, 0xb2, 0x4b,
+ 0x72, 0x84, 0xef, 0xba, 0xd8, 0xd5, 0x40, 0x16, 0xd7, 0x2a, 0x1d, 0x30,
+ 0xe1, 0x58, 0xb9, 0x9c, 0xd0, 0x84, 0xe4, 0x8d, 0x0f, 0x5c, 0xe7, 0xa9,
+ 0x92, 0xa4, 0x80, 0xc8, 0x2c, 0xa9, 0x3e, 0x42, 0xa7, 0x56, 0xd7, 0xea,
+ 0x30, 0xa6, 0x9f, 0x04, 0x2d, 0xbd, 0x86, 0x7f, 0x16, 0xe4, 0x59, 0xd6,
+ 0x93, 0x63, 0xa5, 0x5f, 0x38, 0xcb, 0x5d, 0x4d, 0x73, 0x65, 0xd3, 0x55,
+ 0x55, 0xce, 0x11, 0x39, 0x0c, 0xf9, 0xe4, 0x9b, 0x6e, 0x57, 0xf6, 0x2c,
+ 0xb0, 0x71, 0x80, 0x6f, 0xe2, 0x55, 0xf7, 0xa5, 0x58, 0x1e, 0x8b, 0x08,
+ 0x36, 0xf4, 0x38, 0x32, 0xb4, 0xf5, 0x47, 0x0a, 0x09, 0x7d, 0xf1, 0xd2,
+ 0x46, 0x10, 0xe3, 0x50, 0x46, 0x50, 0xa7, 0x6a, 0xe6, 0x6f, 0x6d, 0x63,
+ 0x46, 0x78, 0x1a, 0xf1, 0xfd, 0xec, 0x96, 0x31, 0x3b, 0x71, 0x72, 0x37,
+ 0x79, 0x71, 0x74, 0x98, 0xd4, 0x77, 0x46, 0x83, 0x58, 0xfa, 0x9b, 0xd0,
+ 0x6d, 0x38, 0x1e, 0x0d, 0x85, 0xb5, 0x3a, 0xf5, 0x31, 0xeb, 0xfa, 0x40,
+ 0xaf, 0xbc, 0xc4, 0x2b, 0xd2, 0xdd, 0x4b, 0xf3, 0xf5, 0x1e, 0xd0, 0xc5,
+ 0xbe, 0x54, 0x26, 0x36, 0x59, 0xa4, 0xc5, 0x27, 0x9b, 0x55, 0xcd, 0x03,
+ 0x0d, 0xa8, 0x39, 0x2c, 0x17, 0x92, 0xba, 0x1f, 0xca, 0xf6, 0xb0, 0x60,
+ 0x0c, 0xba, 0xa8, 0x41, 0xb1, 0x5f, 0xa6, 0x15, 0x6a, 0x0c, 0xb1, 0x6d,
+ 0x92, 0xfe, 0xec, 0x1f, 0x8a, 0x2d, 0x0f, 0x06, 0x11, 0x79, 0x3d, 0xd5,
+ 0x43, 0x11, 0xc6, 0x31, 0x76, 0xc6, 0xfd, 0xd1, 0x1c, 0xf2, 0x9e, 0x8e,
+ 0x70, 0xbf, 0x5c, 0x6c, 0xdd, 0x02, 0x21, 0x1b, 0xae, 0x6d, 0xfe, 0xfb,
+ 0x5c, 0x03, 0x80, 0x7d, 0xfc, 0xbb, 0x11, 0xac, 0x32, 0xd7, 0xf1, 0xdc,
+ 0x86, 0x0c, 0xfd, 0x16, 0xb6, 0xac, 0xe2, 0xb9, 0x50, 0x65, 0x2c, 0xc2,
+ 0x3e, 0x4a, 0xce, 0x9c, 0x39, 0x59, 0x0c, 0x80, 0x89, 0xdb, 0x54, 0x53,
+ 0x31, 0x26, 0xf1, 0x77, 0x49, 0xdd, 0x4c, 0x17, 0xd1, 0x96, 0xec, 0xd0,
+ 0x72, 0xea, 0x1c, 0xd0, 0xdc, 0x56, 0x12, 0x78, 0x22, 0x8e, 0xbb, 0xa5,
+ 0x3a, 0x7e, 0x6c, 0xb6, 0x96, 0xda, 0x8a, 0x02, 0xba, 0x2a, 0xc8, 0xcc,
+ 0xe6, 0x45, 0x44, 0x1b, 0xec, 0xc4, 0xd7, 0x5b, 0x4b, 0x24, 0x7f, 0x61,
+ 0x64, 0xe2, 0x7a, 0x65, 0x43, 0x0f, 0x89, 0x80, 0x34, 0x10, 0xfa, 0x4b,
+ 0x59, 0x0c, 0x02, 0x7c, 0x27, 0xc4, 0xce, 0xc5, 0xe9, 0x44, 0x59, 0x81,
+ 0x4b, 0xe9, 0xe1, 0x9d, 0x59, 0x57, 0x33, 0xbf, 0xa9, 0xe4, 0xe9, 0x3e,
+ 0x7e, 0x4f, 0xab, 0x61, 0xee, 0x05, 0xa4, 0x87, 0x61, 0x68, 0x70, 0xc0,
+ 0xb5, 0x7c, 0xc1, 0x92, 0xce, 0x0a, 0xbd, 0x91, 0x02, 0x37, 0x95, 0x73,
+ 0x21, 0x75, 0xed, 0xef, 0xd5, 0x15, 0x35, 0x6d, 0xf2, 0xbc, 0x1f, 0x82,
+ 0xd9, 0x65, 0xf4, 0xcd, 0x40, 0x5f, 0x46, 0x0b, 0x02, 0xce, 0x44, 0x34,
+ 0x3b, 0x0c, 0x98, 0x68, 0xca, 0xe7, 0xa1, 0x84, 0x49, 0x97, 0x9e, 0x4c,
+ 0x1a, 0x45, 0x56, 0xb0, 0x5d, 0x5f, 0x2a, 0xf8, 0x5a, 0x32, 0x0d, 0xb1,
+ 0x13, 0x67, 0x0c, 0xad, 0x5b, 0xf3, 0x88, 0xb6, 0xc1, 0xf9, 0xa5, 0x48,
+ 0x91, 0x9a, 0xd2, 0x3c, 0x0d, 0x43, 0x63, 0x54, 0x6b, 0xda, 0x9c, 0xda,
+ 0xed, 0x7c, 0xa4, 0xa9, 0x14, 0xaf, 0x34, 0xd1, 0x36, 0x1a, 0x77, 0x3e,
+ 0xe4, 0xaf, 0xb9, 0x0d, 0xd7, 0x39, 0xef, 0x3d, 0xc3, 0x99, 0x4d, 0xaa,
+ 0x3c, 0x9b, 0x1b, 0xee, 0x85, 0x25, 0x71, 0x0a, 0x69, 0xe0, 0x35, 0xca,
+ 0x08, 0xf7, 0x9a, 0xb2, 0xd3, 0xcd, 0x39, 0x52, 0x01, 0x71, 0x0e, 0xc7,
+ 0x11, 0xf3, 0x44, 0x0b, 0x2e, 0xc7, 0x20, 0xf3, 0xd7, 0xda, 0xb8, 0x39,
+ 0xd5, 0x92, 0xa6, 0x68, 0x7e, 0x26, 0xfa, 0xb0, 0x8b, 0xc7, 0x93, 0x08,
+ 0xac, 0xa0, 0x5b, 0x6c, 0x1b, 0x39, 0xe2, 0x8b, 0xcc, 0x56, 0x45, 0xbb,
+ 0xf1, 0xba, 0x81, 0xf5, 0x74, 0xd6, 0x85, 0xfd, 0xf4, 0x4d, 0x56, 0x19,
+ 0xf1, 0x57, 0x9a, 0x75, 0x7f, 0xfb, 0x58, 0xa3, 0x10, 0xd2, 0x94, 0x5e,
+ 0x94, 0x11, 0xb9, 0xa5, 0x68, 0x90, 0x88, 0xa9, 0x07, 0xe1, 0x0b, 0x2e,
+ 0xde, 0xa0, 0xbd, 0xd5, 0x37, 0x7d, 0x85, 0xa4, 0x4b, 0xa1, 0x03, 0x80,
+ 0x14, 0x1b, 0xea, 0x23, 0xf5, 0x32, 0xde, 0x7d, 0x4c, 0xbf, 0x09, 0xf5,
+ 0xcf, 0x68, 0x58, 0x44, 0x2d, 0xe4, 0xce, 0x33, 0xf7, 0xb6, 0x9c, 0x34,
+ 0x29, 0x37, 0xf0, 0xb6, 0x33, 0xbf, 0xc8, 0xc9, 0xe1, 0xa3, 0x79, 0x4e,
+ 0xd1, 0xb2, 0x9e, 0xe6, 0x4a, 0x1a, 0x13, 0x28, 0x3e, 0x78, 0x27, 0x3d,
+ 0x82, 0xb4, 0xc8, 0xfa, 0x8a, 0x14, 0x31, 0xd2, 0x0f, 0x60, 0xe4, 0xc7,
+ 0xd5, 0x7b, 0x6c, 0xda, 0xbb, 0x8b, 0xd3, 0xb7, 0x83, 0xce, 0xb5, 0x13,
+ 0x95, 0xc6, 0xb3, 0x88, 0x95, 0xe5, 0x08, 0x4d, 0x85, 0x98, 0x00, 0x55,
+ 0x22, 0xfb, 0x61, 0x4b, 0x0c, 0x19, 0x93, 0x82, 0xb6, 0x6e, 0x20, 0xc9,
+ 0x38, 0x95, 0x94, 0xae, 0xa9, 0xd9, 0xcf, 0xfb, 0x1a, 0x7a, 0xb2, 0x89,
+ 0x08, 0x6b, 0x9c, 0x3d, 0x5c, 0x25, 0x46, 0x9e, 0x18, 0x66, 0xb3, 0x09,
+ 0x60, 0xfd, 0xc2, 0x69, 0xc5, 0xee, 0xab, 0xbc, 0x14, 0x62, 0x2f, 0xdc,
+ 0x30, 0x23, 0x79, 0x5d, 0xde, 0x14, 0xc3, 0x53, 0xaa, 0x3e, 0x4e, 0x4e,
+ 0xcb, 0x4b, 0xba, 0x41, 0xef, 0x00, 0x1f, 0x15, 0x9c, 0xda, 0x87, 0xf3,
+ 0x77, 0xc9, 0x0e, 0xc9, 0xdd, 0xe4, 0xdc, 0x62, 0xce, 0xd1, 0xa3, 0xbb,
+ 0x62, 0x62, 0xd4, 0xac, 0x92, 0xc8, 0x6c, 0x06, 0xc9, 0xf1, 0xf7, 0x2f,
+ 0xdf, 0x9e, 0x9f, 0x1e, 0xff, 0xc0, 0x09, 0x32, 0xc1, 0x72, 0xe8, 0xc7,
+ 0x5f, 0x7a, 0x36, 0x17, 0x22, 0x34, 0x94, 0x34, 0x68, 0x66, 0x12, 0x05,
+ 0x9c, 0x21, 0xea, 0x64, 0xb6, 0xa8, 0x24, 0x38, 0x1e, 0x9f, 0x9f, 0x0c,
+ 0x15, 0x2d, 0x8e, 0x7b, 0x95, 0xe6, 0x05, 0x99, 0x47, 0x30, 0xb1, 0xb5,
+ 0xcd, 0x09, 0x51, 0xd1, 0x30, 0x70, 0xca, 0xc8, 0x7d, 0x18, 0x24, 0xef,
+ 0x34, 0x15, 0x71, 0x80, 0x43, 0xa7, 0x3b, 0xf8, 0x3a, 0xbf, 0x44, 0x44,
+ 0xa9, 0x93, 0x43, 0x26, 0x06, 0x08, 0xd1, 0x41, 0x80, 0xc5, 0xe8, 0x75,
+ 0x99, 0xab, 0xb3, 0x05, 0x3b, 0x2f, 0x7b, 0xe5, 0x23, 0xb3, 0x48, 0x9c,
+ 0x22, 0xea, 0x44, 0x82, 0x50, 0x99, 0xd4, 0x8d, 0x4c, 0x5a, 0xed, 0xed,
+ 0x2c, 0x85, 0xb0, 0x54, 0x10, 0x5d, 0xc2, 0xb2, 0xfd, 0xe7, 0xc9, 0xd6,
+ 0x70, 0x9d, 0x3c, 0xdf, 0xfa, 0x15, 0x55, 0x04, 0xdf, 0xd3, 0x1b, 0x69,
+ 0x96, 0xa5, 0x45, 0xbb, 0x36, 0x28, 0xa0, 0x5d, 0x1e, 0xb8, 0x8d, 0x82,
+ 0x38, 0xdc, 0xe0, 0x33, 0x37, 0x37, 0x5d, 0x14, 0xfa, 0xc9, 0xfa, 0xf2,
+ 0x32, 0x02, 0xe7, 0x42, 0x9d, 0xf8, 0x32, 0xb8, 0x7f, 0xc8, 0x9b, 0xb2,
+ 0x5d, 0x27, 0xec, 0xc3, 0x37, 0xf3, 0xdf, 0x42, 0x5c, 0x92, 0x79, 0xc8,
+ 0x55, 0x59, 0xce, 0x48, 0x55, 0x7d, 0x99, 0x70, 0x00, 0x82, 0xa2, 0x14,
+ 0x55, 0x13, 0x0e, 0xc7, 0xda, 0xdb, 0xf6, 0x9f, 0xb6, 0x6d, 0x94, 0x75,
+ 0x4b, 0xf4, 0x2a, 0xf0, 0xeb, 0x2d, 0x56, 0x62, 0x27, 0xdc, 0xf0, 0x76,
+ 0x90, 0x6c, 0xbf, 0xd8, 0x96, 0xe7, 0xb6, 0xa2, 0x2a, 0x1a, 0xbf, 0xc3,
+ 0x11, 0x3e, 0xd6, 0xaa, 0xa7, 0xd6, 0x05, 0x4a, 0xca, 0x5f, 0x3e, 0x9b,
+ 0x65, 0x10, 0xdb, 0xd2, 0x33, 0x32, 0x61, 0x84, 0xc7, 0x81, 0xf8, 0x7e,
+ 0xba, 0x2a, 0x07, 0xa6, 0xae, 0x33, 0xe7, 0xb9, 0x52, 0x2b, 0x43, 0x9e,
+ 0x81, 0xd7, 0x59, 0x99, 0x42, 0x12, 0xae, 0xc7, 0x9f, 0x7c, 0xb5, 0xef,
+ 0xa6, 0x70, 0x5a, 0x29, 0x19, 0xc7, 0xd0, 0x84, 0xa3, 0x05, 0x84, 0x83,
+ 0x4e, 0x6d, 0x1e, 0xe2, 0x5a, 0xa1, 0xfb, 0xd2, 0xeb, 0x82, 0x61, 0x46,
+ 0xde, 0xae, 0x08, 0xbb, 0xac, 0xfc, 0x84, 0x9e, 0xae, 0x65, 0xd5, 0xf7,
+ 0x7d, 0xf5, 0xec, 0x3a, 0xc2, 0x63, 0x51, 0xab, 0x05, 0x12, 0xa4, 0x4d,
+ 0xe0, 0x41, 0xd1, 0x05, 0xd4, 0xb6, 0x1b, 0x84, 0x68, 0x36, 0xdc, 0x59,
+ 0x4e, 0x7a, 0x06, 0x0f, 0x6d, 0xe8, 0xa9, 0x1d, 0x2b, 0xd5, 0x2a, 0xe1,
+ 0x98, 0x9b, 0xd5, 0x2f, 0xb7, 0x6d, 0x77, 0x2f, 0x14, 0x57, 0x36, 0x1a,
+ 0x0c, 0x6c, 0xac, 0xd4, 0x6e, 0xd5, 0x6f, 0x8e, 0xfa, 0x21, 0xd4, 0xfc,
+ 0xc0, 0x5b, 0x98, 0xfc, 0x19, 0x0d, 0x8b, 0x7c, 0x2b, 0xb7, 0xaa, 0x0e,
+ 0xed, 0xac, 0xd7, 0x12, 0x38, 0xf3, 0xa3, 0x51, 0x52, 0x2a, 0xc8, 0x5e,
+ 0xc3, 0x42, 0x5b, 0x74, 0x71, 0x7c, 0x5e, 0xd3, 0x06, 0x72, 0x78, 0xf7,
+ 0xeb, 0x51, 0x44, 0x85, 0x65, 0x9d, 0x14, 0x24, 0x27, 0xab, 0x61, 0xf7,
+ 0x3a, 0x42, 0x69, 0xfa, 0xbe, 0x66, 0xec, 0xa0, 0x27, 0x3b, 0x0f, 0x1d,
+ 0x0b, 0xad, 0x42, 0x7e, 0x1c, 0x55, 0x33, 0x04, 0x2b, 0xee, 0x24, 0xb1,
+ 0x86, 0xdb, 0x76, 0x17, 0x9f, 0x34, 0x83, 0x92, 0x06, 0xcf, 0x6e, 0xb3,
+ 0xe9, 0xba, 0x69, 0x97, 0xc0, 0x79, 0x73, 0x52, 0x64, 0x27, 0x9e, 0xd6,
+ 0x0e, 0xae, 0x82, 0x00, 0xde, 0x6c, 0x9d, 0x2b, 0x2c, 0xcf, 0xf3, 0xad,
+ 0x5d, 0x89, 0xe3, 0xa6, 0xac, 0xc1, 0xf3, 0x8f, 0x63, 0xf1, 0x59, 0x9d,
+ 0x73, 0x95, 0xb1, 0x3b, 0xd5, 0x25, 0x2b, 0x44, 0x3f, 0x6f, 0x88, 0xb4,
+ 0x9a, 0xc5, 0xbe, 0xfd, 0x86, 0x7d, 0x6f, 0xde, 0xa7, 0x6d, 0xbb, 0x4e,
+ 0x71, 0xcb, 0xd5, 0xc1, 0x55, 0x0e, 0xbe, 0x8c, 0xb6, 0xe5, 0xa3, 0xe4,
+ 0xe5, 0xb5, 0xa1, 0x6e, 0xd8, 0xf1, 0xfa, 0xaa, 0xee, 0x7f, 0xe0, 0x0e,
+ 0x3d, 0x39, 0xbf, 0x7e, 0x22, 0xde, 0x6c, 0x52, 0x39, 0x48, 0xe6, 0xe1,
+ 0x47, 0x96, 0xe3, 0x07, 0xab, 0xf8, 0x54, 0x4d, 0x1e, 0x99, 0x3f, 0xbe,
+ 0xa1, 0x3f, 0xe6, 0xec, 0x16, 0x10, 0x50, 0x3d, 0xf6, 0xc3, 0x86, 0xa4,
+ 0x3d, 0x3e, 0xb5, 0x7f, 0xd8, 0x44, 0x2d, 0x73, 0xea, 0x54, 0xa9, 0x48,
+ 0x10, 0x7c, 0x0e, 0x0c, 0x09, 0xa6, 0x8d, 0x8e, 0x33, 0xd0, 0xfa, 0xe1,
+ 0x78, 0x7d, 0x07, 0x10, 0xe3, 0x06, 0x40, 0x64, 0x1b, 0xc0, 0xe7, 0x34,
+ 0x66, 0x46, 0x5e, 0xc6, 0xea, 0x47, 0xcd, 0x56, 0xfd, 0x83, 0xe2, 0x70,
+ 0xb6, 0x94, 0x7d, 0x96, 0x69, 0x6e, 0x85, 0x90, 0xa0, 0x97, 0xcf, 0xc1,
+ 0xde, 0x69, 0xba, 0x66, 0xcc, 0xce, 0xc2, 0x84, 0x54, 0x0b, 0x94, 0xd7,
+ 0xb7, 0x64, 0x08, 0x77, 0xf9, 0x23, 0xc4, 0x9c, 0xed, 0x7f, 0xef, 0x35,
+ 0xea, 0xa7, 0xe5, 0xc2, 0xf3, 0x55, 0x80, 0xf3, 0x23, 0xb5, 0x87, 0xcd,
+ 0x19, 0x31, 0x38, 0x1d, 0x3c, 0x2c, 0xb6, 0x0e, 0x2b, 0x26, 0x3d, 0xf3,
+ 0x5c, 0xa2, 0x65, 0x24, 0x35, 0xdd, 0x00, 0x57, 0xf8, 0xa4, 0xd1, 0xea,
+ 0x65, 0xb6, 0xa4, 0xc0, 0x97, 0x95, 0x8b, 0x82, 0xe1, 0x45, 0x8a, 0x15,
+ 0x3e, 0x3e, 0x8c, 0x0f, 0x37, 0x23, 0xfd, 0x8d, 0x44, 0x2c, 0xa7, 0x6f,
+ 0xfd, 0x5b, 0x10, 0xed, 0xac, 0xef, 0x8a, 0xe9, 0xd5, 0xeb, 0x77, 0xe3,
+ 0xf8, 0xeb, 0xe1, 0xe2, 0xf0, 0xbc, 0xd1, 0x43, 0x88, 0x18, 0xa0, 0xc0,
+ 0x08, 0x88, 0xa5, 0x51, 0xf2, 0x5e, 0x7a, 0xbf, 0x8b, 0x0f, 0xd7, 0x7a,
+ 0xc1, 0x7a, 0x02, 0x49, 0xb1, 0x60, 0x26, 0x2e, 0x9a, 0x27, 0xc2, 0x2e,
+ 0xc3, 0x94, 0xae, 0x02, 0x2d, 0x2f, 0x54, 0xa0, 0xed, 0x9d, 0xa6, 0x80,
+ 0x91, 0xa1, 0x02, 0x19, 0xb2, 0xf2, 0x12, 0xd0, 0xba, 0x74, 0x8d, 0x86,
+ 0x3b, 0xfa, 0xc7, 0x4f, 0x39, 0xe6, 0x53, 0x63, 0xd1, 0x66, 0x91, 0xe0,
+ 0xa2, 0xbf, 0x43, 0xad, 0x84, 0x20, 0x2f, 0xf8, 0x6b, 0x68, 0x75, 0x41,
+ 0xaf, 0x33, 0x99, 0x0e, 0x84, 0x5a, 0xf1, 0xa3, 0xaa, 0x6f, 0x49, 0x66,
+ 0x53, 0x0e, 0xbf, 0xfa, 0x73, 0x28, 0x3d, 0x5f, 0xbf, 0xeb, 0xf9, 0x1c,
+ 0xfd, 0x66, 0xa8, 0xd5, 0x84, 0xa2, 0x11, 0x78, 0x2a, 0x7d, 0xb8, 0x17,
+ 0x82, 0x85, 0x1c, 0x9f, 0x80, 0x02, 0x25, 0xdf, 0xc3, 0x25, 0xcc, 0x13,
+ 0xf2, 0xc7, 0xc6, 0x07, 0x25, 0xa7, 0x3f, 0xfe, 0x29, 0x4a, 0xf6, 0xdf,
+ 0xe1, 0x04, 0xbf, 0xe4, 0x3d, 0x07, 0x71, 0xcf, 0x45, 0x13, 0xde, 0x8d,
+ 0x1c, 0x91, 0xfb, 0x4c, 0x7c, 0x38, 0xe2, 0x6f, 0x31, 0x48, 0x2a, 0xe2,
+ 0x0b, 0x87, 0xfc, 0xc7, 0xde, 0xa1, 0x4d, 0x4e, 0xb3, 0x05, 0xa1, 0xb8,
+ 0xa4, 0x46, 0x80, 0x87, 0x0a, 0x42, 0x91, 0xdf, 0x8e, 0x91, 0x4f, 0xd0,
+ 0x43, 0xcd, 0x48, 0x3c, 0xe0, 0x8c, 0x03, 0xbb, 0x07, 0x34, 0x51, 0xd5,
+ 0xc4, 0xa2, 0x33, 0x19, 0xb3, 0xfb, 0xee, 0x3e, 0x62, 0xca, 0x23, 0xf9,
+ 0x74, 0x9b, 0x70, 0x37, 0xdf, 0x1a, 0x25, 0x89, 0x84, 0xeb, 0xfd, 0xd7,
+ 0xd8, 0xd2, 0x8d, 0x7d, 0x27, 0xd9, 0x99, 0x18, 0x89, 0xed, 0xe1, 0xe8,
+ 0x10, 0xbf, 0x79, 0x84, 0x12, 0x96, 0xf8, 0x70, 0x8f, 0x3f, 0x7f, 0xfc,
+ 0x68, 0x77, 0x77, 0x20, 0xae, 0x2a, 0xce, 0x8e, 0x99, 0x50, 0x31, 0x56,
+ 0x4e, 0x7c, 0x8b, 0xe3, 0x4c, 0xb4, 0xc1, 0x57, 0xdc, 0x57, 0x89, 0xbf,
+ 0x1b, 0x89, 0x80, 0x3b, 0x83, 0xcf, 0xbe, 0x4a, 0x87, 0x48, 0x26, 0x38,
+ 0x38, 0xba, 0x35, 0x83, 0x53, 0xe5, 0x89, 0xb5, 0x0b, 0xba, 0xf4, 0x72,
+ 0x05, 0x38, 0x52, 0x9c, 0x87, 0x91, 0xdc, 0x4a, 0x1c, 0x2f, 0x4e, 0x55,
+ 0xd2, 0x86, 0x89, 0xa0, 0xe7, 0x2c, 0xf6, 0xe8, 0x0f, 0xa2, 0xe7, 0x2b,
+ 0x6d, 0xe0, 0x7c, 0xbe, 0x9e, 0x2c, 0x8c, 0x04, 0x1a, 0xaf, 0xe7, 0x73,
+ 0x73, 0xd6, 0xa7, 0xb9, 0xb4, 0xe2, 0x16, 0x5b, 0x41, 0x7b, 0xa2, 0xf5,
+ 0xc9, 0x1c, 0x5e, 0x38, 0x51, 0x1a, 0x93, 0x5a, 0xab, 0x6e, 0xc6, 0x95,
+ 0x70, 0xb3, 0xde, 0xb6, 0xb5, 0xe2, 0x6f, 0xd5, 0xeb, 0xf9, 0xb0, 0x6f,
+ 0x61, 0xb7, 0x59, 0x1d, 0x9a, 0x71, 0x6f, 0x29, 0x6e, 0x6b, 0x04, 0xf6,
+ 0x83, 0xf9, 0x93, 0xed, 0x79, 0xdd, 0x4e, 0xd9, 0xb5, 0x7a, 0xe7, 0x0d,
+ 0xe9, 0x9d, 0xc0, 0xe0, 0xa1, 0x68, 0x46, 0xf2, 0x82, 0x35, 0xcc, 0x68,
+ 0x17, 0x64, 0x6e, 0xd5, 0x29, 0x60, 0x08, 0xbe, 0x2e, 0x0a, 0xb5, 0x1e,
+ 0x7e, 0xff, 0x94, 0x1a, 0x20, 0x4a, 0x12, 0xe6, 0x22, 0x43, 0x46, 0x37,
+ 0xf1, 0xc7, 0x10, 0x95, 0xa4, 0x12, 0xfc, 0x77, 0xf1, 0x1a, 0x24, 0xe2,
+ 0xfc, 0x10, 0x27, 0x3e, 0xd2, 0xeb, 0x52, 0x00, 0x2b, 0xc1, 0x09, 0xc4,
+ 0x78, 0x3e, 0x1c, 0x4b, 0x30, 0xfb, 0x32, 0x8b, 0x19, 0x76, 0xed, 0x10,
+ 0x8f, 0x82, 0x2d, 0xd4, 0xec, 0x07, 0x95, 0xaf, 0x84, 0xbe, 0x1b, 0x3a,
+ 0xae, 0xd0, 0x12, 0x6b, 0x60, 0x13, 0x27, 0x5b, 0x3c, 0x9f, 0x2d, 0x81,
+ 0x43, 0xd1, 0x3a, 0x39, 0x24, 0x60, 0xa9, 0xe1, 0xc0, 0xaa, 0xb7, 0x8c,
+ 0xcf, 0xde, 0xbd, 0x48, 0x4c, 0x5d, 0x54, 0xc9, 0x2f, 0x35, 0x8f, 0x6b,
+ 0x8b, 0x95, 0xf6, 0xb2, 0xdb, 0x99, 0x5e, 0x86, 0xb3, 0xbb, 0x12, 0x41,
+ 0x5c, 0xe0, 0xcc, 0x08, 0x24, 0xa9, 0xd3, 0xa9, 0x99, 0x41, 0x87, 0x5b,
+ 0x71, 0x7d, 0xda, 0xee, 0x41, 0x62, 0x9b, 0x4c, 0xb6, 0x0c, 0x3f, 0xfd,
+ 0x8a, 0xda, 0xf9, 0x94, 0xde, 0xdd, 0xe4, 0xcd, 0x3a, 0x64, 0xba, 0x12,
+ 0x29, 0x06, 0x3e, 0x05, 0x42, 0x13, 0x74, 0x12, 0x0e, 0x44, 0x02, 0x56,
+ 0x1e, 0x25, 0xbb, 0x35, 0x00, 0x87, 0xb6, 0x4c, 0x82, 0x7a, 0x91, 0x18,
+ 0x85, 0xe4, 0x26, 0xc8, 0x10, 0x27, 0x00, 0x53, 0x37, 0xbb, 0x76, 0x05,
+ 0x9c, 0x19, 0xe0, 0xf7, 0xff, 0xa9, 0xbf, 0xfc, 0x48, 0x9b, 0xf5, 0x4f,
+ 0xdd, 0x2c, 0x99, 0x76, 0x1a, 0xc0, 0x24, 0xc0, 0xbc, 0xfe, 0x3d, 0x36,
+ 0xe5, 0x6f, 0x94, 0xd4, 0xc4, 0x3b, 0x43, 0x00, 0x45, 0x18, 0xee, 0xf7,
+ 0x23, 0xab, 0x46, 0xeb, 0x10, 0x54, 0xf6, 0xcd, 0xce, 0x82, 0xc9, 0x5d,
+ 0xe0, 0x92, 0x22, 0x1a, 0xfc, 0xa1, 0x18, 0x00, 0x6a, 0xd9, 0x58, 0x74,
+ 0x84, 0xd2, 0xc2, 0x9d, 0x74, 0xf9, 0x18, 0x7f, 0xa8, 0x04, 0x73, 0xc8,
+ 0xd8, 0x32, 0x66, 0xe2, 0x64, 0xe7, 0xf1, 0xcf, 0xe3, 0x86, 0x85, 0x4d,
+ 0x97, 0xd5, 0x7d, 0x6e, 0x81, 0x50, 0x99, 0x91, 0xa8, 0x49, 0xbc, 0x9a,
+ 0xe2, 0x13, 0xc5, 0x7f, 0x61, 0x52, 0xed, 0x9e, 0x3d, 0x30, 0x5a, 0x04,
+ 0x82, 0x5a, 0x5f, 0xe5, 0xa6, 0x6d, 0x36, 0xa8, 0xf7, 0xfb, 0xff, 0xe4,
+ 0x44, 0xc0, 0x7f, 0x86, 0xba, 0xef, 0xd9, 0xc5, 0xf1, 0x73, 0x4c, 0xe9,
+ 0xf7, 0xc3, 0xfa, 0x6e, 0x39, 0x29, 0x17, 0x72, 0xeb, 0x68, 0xef, 0xcd,
+ 0x06, 0xea, 0xcf, 0x98, 0x46, 0x10, 0xab, 0x1b, 0x7a, 0x00, 0x26, 0x83,
+ 0x68, 0x6f, 0x0a, 0xd8, 0x61, 0x49, 0x39, 0xe5, 0x82, 0x56, 0xaa, 0x5d,
+ 0x30, 0xb7, 0xef, 0xf7, 0x89, 0xa2, 0x92, 0x70, 0x6b, 0x5a, 0x69, 0x40,
+ 0xec, 0x81, 0x66, 0xc6, 0x8b, 0x2c, 0xa3, 0xfb, 0xe7, 0x11, 0x8a, 0xb5,
+ 0x9e, 0x62, 0xd0, 0x2f, 0xc4, 0x2c, 0xcc, 0x34, 0x3f, 0xa2, 0x6a, 0x92,
+ 0x5f, 0x7d, 0xc5, 0x3f, 0x1a, 0x5e, 0xd0, 0x8f, 0x24, 0x87, 0x46, 0xa1,
+ 0x06, 0x88, 0x3a, 0xb5, 0xf2, 0x64, 0x10, 0x29, 0x50, 0x4e, 0x62, 0xa9,
+ 0x79, 0x94, 0xfa, 0x6e, 0x18, 0x4d, 0x30, 0x4f, 0xbd, 0xd7, 0x1f, 0x33,
+ 0x20, 0xf2, 0xe6, 0xd7, 0xd9, 0xe6, 0xd1, 0x40, 0x17, 0xc4, 0x99, 0x97,
+ 0xe8, 0xf8, 0x68, 0xd3, 0x3b, 0x7d, 0x64, 0x16, 0xc6, 0x45, 0xe3, 0x68,
+ 0xea, 0xe8, 0xbe, 0xe1, 0x38, 0xaa, 0x02, 0x77, 0x8f, 0xa4, 0xfe, 0x90,
+ 0x73, 0xcd, 0xeb, 0x90, 0xd1, 0x50, 0x39, 0x0e, 0xf2, 0x8d, 0x68, 0xdc,
+ 0x7b, 0xd6, 0x0a, 0x80, 0x4c, 0x66, 0x5c, 0x7e, 0x93, 0xdb, 0x76, 0x7c,
+ 0x5b, 0xb2, 0xfa, 0x28, 0x14, 0xbe, 0x79, 0x38, 0x17, 0x27, 0x97, 0xc8,
+ 0xd4, 0x09, 0xba, 0x75, 0x97, 0x9c, 0x7d, 0x88, 0x79, 0xa2, 0x8e, 0x65,
+ 0x49, 0x7e, 0xdb, 0x48, 0x9c, 0x39, 0x89, 0xb9, 0xf1, 0x10, 0x1d, 0xfd,
+ 0x8f, 0x81, 0x9b, 0x0e, 0xfb, 0xb6, 0x86, 0x5e, 0x98, 0x7d, 0x24, 0x90,
+ 0x97, 0x9b, 0x87, 0xe3, 0xfc, 0xfb, 0x27, 0xa3, 0xfd, 0xdd, 0xe0, 0x50,
+ 0x9b, 0xd5, 0x47, 0x43, 0x1c, 0xd5, 0xdd, 0x47, 0xca, 0x52, 0xc5, 0x99,
+ 0x69, 0x54, 0x01, 0x3f, 0xc0, 0xd6, 0x32, 0x7a, 0xc1, 0x7a, 0x45, 0xe3,
+ 0x80, 0xc8, 0x17, 0x25, 0x9b, 0x6c, 0xf7, 0x2d, 0x43, 0x22, 0xd4, 0x92,
+ 0xd0, 0xe8, 0x83, 0xe8, 0xec, 0xb4, 0x7b, 0xc0, 0x3d, 0x0a, 0x26, 0x46,
+ 0x19, 0x28, 0x1f, 0x11, 0xba, 0xb6, 0xc4, 0x64, 0x24, 0x5f, 0x56, 0xe5,
+ 0x53, 0xbf, 0x21, 0x2a, 0x1e, 0x00, 0x3d, 0x31, 0x32, 0x28, 0xc5, 0xb2,
+ 0xa3, 0x20, 0xc8, 0x9d, 0xff, 0xc1, 0xff, 0xeb, 0x22, 0x56, 0x9a, 0xec,
+ 0x08, 0x11, 0x68, 0xa6, 0x49, 0x79, 0x35, 0x5e, 0xfe, 0x41, 0x88, 0x52,
+ 0xdf, 0xf9, 0x1f, 0x50, 0xd6, 0x0f, 0xa5, 0xd9, 0xed, 0x22, 0x4f, 0x6b,
+ 0x3b, 0x43, 0x5e, 0x02, 0xae, 0x14, 0x16, 0x2c, 0x78, 0x67, 0xf7, 0xde,
+ 0x43, 0xce, 0x40, 0x23, 0x05, 0x64, 0xd4, 0xb3, 0x33, 0x9c, 0x38, 0xdc,
+ 0xdd, 0x99, 0xfe, 0x0d, 0xd1, 0x35, 0x0f, 0x37, 0x7f, 0x5b, 0x81, 0xe1,
+ 0x76, 0x24, 0x8a, 0x07, 0xed, 0x7c, 0x97, 0xb3, 0xe5, 0x40, 0x0c, 0x0a,
+ 0x22, 0x27, 0x2c, 0xe6, 0x9e, 0x5b, 0xbb, 0xd3, 0xee, 0xaf, 0xdc, 0x73,
+ 0xce, 0xb6, 0x08, 0x88, 0x99, 0x06, 0xfd, 0xcc, 0xab, 0x0c, 0x62, 0xad,
+ 0x94, 0xd6, 0x93, 0x58, 0xd6, 0xa3, 0xa0, 0x02, 0x3f, 0xe1, 0xf3, 0x8f,
+ 0xf7, 0x23, 0xf4, 0x8f, 0xf4, 0xe1, 0x8f, 0xf9, 0xca, 0xe7, 0x59, 0x27,
+ 0xe7, 0x68, 0x3b, 0x8a, 0xda, 0x17, 0x61, 0xa8, 0x9c, 0x65, 0x4c, 0x49,
+ 0x17, 0xf2, 0x03, 0xdc, 0xec, 0x7b, 0x37, 0x73, 0xca, 0xf0, 0x07, 0x70,
+ 0x08, 0x78, 0x48, 0x11, 0x43, 0x55, 0xd2, 0xd4, 0x3f, 0x40, 0x5e, 0xaf,
+ 0x47, 0x91, 0x40, 0x54, 0x12, 0x71, 0x97, 0xf9, 0x4b, 0x3a, 0x7c, 0xd6,
+ 0xbb, 0x24, 0x18, 0x58, 0x76, 0x49, 0x3c, 0xff, 0x56, 0xa7, 0x8d, 0xf6,
+ 0x42, 0xbc, 0x99, 0xde, 0xb3, 0x24, 0xb7, 0x8c, 0x7b, 0x67, 0x62, 0xbe,
+ 0xf4, 0xd1, 0x61, 0xb4, 0x27, 0xef, 0xec, 0x87, 0x8d, 0x62, 0xe2, 0xc0,
+ 0xdb, 0x09, 0xbe, 0x50, 0x69, 0x94, 0x27, 0x92, 0xc4, 0x35, 0xea, 0x24,
+ 0xa2, 0x60, 0x77, 0xe8, 0xeb, 0x28, 0x3a, 0x07, 0xed, 0x44, 0x5b, 0xfb,
+ 0x73, 0x70, 0x3f, 0xe4, 0xeb, 0x42, 0xa2, 0x6f, 0x5e, 0x4a, 0xd7, 0x74,
+ 0x3b, 0x9d, 0x7b, 0xe6, 0xc0, 0x57, 0xe0, 0xfe, 0x59, 0xe0, 0x16, 0x7d,
+ 0xac, 0xeb, 0x05, 0x91, 0x7a, 0x3e, 0xbf, 0x33, 0x53, 0xaa, 0x7b, 0xc1,
+ 0x63, 0x7c, 0x01, 0xca, 0xcf, 0xe9, 0x61, 0x79, 0x06, 0xf3, 0x76, 0x0d,
+ 0x9f, 0xe6, 0x2a, 0xa3, 0xe4, 0x1b, 0x06, 0x07, 0xbf, 0x8f, 0x18, 0x49,
+ 0x0c, 0xe3, 0xf3, 0x2e, 0xce, 0x27, 0x7c, 0xc2, 0xaa, 0x0b, 0xa3, 0x64,
+ 0x5f, 0x6c, 0xc1, 0x7b, 0x59, 0x68, 0x6b, 0x24, 0x1a, 0xc4, 0x85, 0xb6,
+ 0xdb, 0x1b, 0x42, 0x85, 0x88, 0xc1, 0x86, 0xe8, 0xee, 0x7f, 0x84, 0x45,
+ 0xc9, 0xf1, 0x68, 0xc9, 0x3a, 0xb7, 0x38, 0x49, 0x34, 0x28, 0x88, 0x43,
+ 0x23, 0xca, 0xc3, 0x53, 0x92, 0x85, 0x8b, 0x08, 0xf8, 0x79, 0x12, 0x03,
+ 0xb3, 0x40, 0xb7, 0x2b, 0x49, 0xc3, 0xd6, 0xb3, 0xde, 0x29, 0xa5, 0xa6,
+ 0x74, 0x48, 0xa5, 0xb0, 0x43, 0xfc, 0xa2, 0xd7, 0xc5, 0xea, 0xd2, 0x3d,
+ 0x9a, 0x5d, 0x49, 0x3e, 0x53, 0x45, 0x4d, 0x72, 0x2a, 0x08, 0xba, 0x92,
+ 0xbb, 0xa0, 0x4f, 0xa9, 0x2b, 0x8c, 0xe4, 0x79, 0xa6, 0x9b, 0x87, 0xd3,
+ 0xd9, 0x48, 0xbb, 0x34, 0x98, 0x5a, 0x97, 0x00, 0xf6, 0x2a, 0x3b, 0xa4,
+ 0x64, 0x84, 0x4a, 0x64, 0xe7, 0x48, 0x98, 0x5a, 0x96, 0x75, 0xe1, 0x97,
+ 0x5c, 0x18, 0xce, 0xd5, 0x61, 0x5c, 0xff, 0xc2, 0xf5, 0xb6, 0x5c, 0x4a,
+ 0x98, 0x14, 0x78, 0x54, 0x59, 0x75, 0xb8, 0xd0, 0x7d, 0x82, 0x31, 0xca,
+ 0x18, 0x64, 0x0d, 0xca, 0xa3, 0xfc, 0x35, 0xfc, 0xc6, 0x2c, 0x4a, 0xd2,
+ 0x5f, 0xfd, 0x2b, 0x47, 0x47, 0x28, 0x3f, 0xde, 0xa9, 0x1d, 0x8e, 0x32,
+ 0xd5, 0xca, 0xcd, 0x12, 0x1b, 0x2f, 0xd8, 0x4d, 0x62, 0x48, 0x6b, 0x5d,
+ 0x35, 0xce, 0x50, 0xb0, 0x2f, 0xb2, 0x10, 0x8e, 0xbe, 0xf7, 0x6e, 0x10,
+ 0x54, 0xdd, 0x47, 0xdb, 0xcd, 0x83, 0x03, 0x37, 0x65, 0x43, 0x79, 0x1e,
+ 0x4b, 0x23, 0xcf, 0xc1, 0x0c, 0x18, 0x74, 0xd0, 0x31, 0x2e, 0x7d, 0x3a,
+ 0xe2, 0xa3, 0xc3, 0x68, 0x1a, 0x03, 0xde, 0x34, 0x9a, 0x56, 0x09, 0xda,
+ 0xa1, 0x10, 0x4a, 0xbd, 0xe7, 0xa6, 0x11, 0x1a, 0x50, 0xf4, 0x8b, 0x16,
+ 0xa1, 0xf6, 0x41, 0xf3, 0x87, 0xe1, 0x0e, 0x15, 0xf9, 0x5e, 0xbe, 0xe3,
+ 0xb3, 0x88, 0xf8, 0xa7, 0x35, 0xff, 0xff, 0x61, 0x9f, 0xd6, 0x1c, 0xf6,
+ 0x70, 0x2c, 0x6a, 0x64, 0xe2, 0xce, 0x81, 0xc6, 0x4a, 0x29, 0x91, 0xe0,
+ 0xd2, 0x6b, 0xb5, 0xc2, 0xed, 0x6f, 0x9c, 0x41, 0x63, 0x78, 0x67, 0xbd,
+ 0x26, 0x8c, 0xec, 0xf9, 0x7d, 0xb2, 0x5c, 0x2a, 0x31, 0xe0, 0x41, 0xb2,
+ 0xe3, 0x11, 0xb8, 0x64, 0xbb, 0x07, 0x4c, 0xcf, 0xac, 0xec, 0x12, 0xfd,
+ 0x59, 0xc9, 0x0f, 0xbb, 0x73, 0x72, 0x93, 0xfa, 0x89, 0xb3, 0xe2, 0xf1,
+ 0x1e, 0x32, 0xa7, 0x9f, 0x2e, 0xd7, 0x3a, 0x82, 0xad, 0x2b, 0xca, 0x5a,
+ 0xb2, 0xea, 0x21, 0xcc, 0xfe, 0x1e, 0x51, 0xd6, 0x92, 0x56, 0xf7, 0xdf,
+ 0xd9, 0x3e, 0x51, 0x76, 0x10, 0x65, 0x21, 0x0c, 0xe9, 0xad, 0xff, 0x7b,
+ 0x83, 0x94, 0x17, 0x08, 0x0b, 0xc3, 0xcc, 0x72, 0xa2, 0x6b, 0x14, 0x56,
+ 0x92, 0x2d, 0xd7, 0x71, 0x44, 0x46, 0xeb, 0x6e, 0x93, 0x78, 0x06, 0xba,
+ 0x3a, 0x54, 0x38, 0x8b, 0x4c, 0xfd, 0x22, 0xec, 0x18, 0x19, 0x59, 0x45,
+ 0xf7, 0x01, 0x0c, 0xf9, 0xc9, 0x51, 0x7c, 0x0d, 0x40, 0x85, 0xff, 0x6d,
+ 0xd6, 0x10, 0x3a, 0x85, 0x46, 0xce, 0xbe, 0xbf, 0x9f, 0x03, 0x48, 0x9e,
+ 0xfc, 0x80, 0xfb, 0xd6, 0x72, 0xcd, 0xcf, 0x44, 0x11, 0xa5, 0x1d, 0x76,
+ 0x37, 0x39, 0x82, 0xd9, 0x59, 0x7b, 0x8f, 0xc5, 0x83, 0xc7, 0x35, 0xb1,
+ 0x9a, 0x0b, 0x4c, 0xdb, 0x96, 0x43, 0x74, 0xcb, 0x48, 0x2c, 0x7c, 0x4c,
+ 0x57, 0x2b, 0x91, 0x36, 0xf7, 0x93, 0x3c, 0xc3, 0x36, 0x72, 0x8f, 0x5e,
+ 0xea, 0x13, 0x05, 0x84, 0xcc, 0xa6, 0x2c, 0x3f, 0xb1, 0x4b, 0x95, 0x53,
+ 0xb0, 0xa9, 0x16, 0x32, 0x09, 0x91, 0xa2, 0x03, 0x92, 0x5f, 0x24, 0x7a,
+ 0x6f, 0xf6, 0xc6, 0xe3, 0xaf, 0xf7, 0xb2, 0x66, 0xaa, 0x62, 0x6f, 0xcf,
+ 0xa5, 0xff, 0x59, 0xf3, 0xfb, 0x9e, 0xe1, 0x20, 0x78, 0xd1, 0xaf, 0x8f,
+ 0x88, 0xdf, 0xfa, 0xb5, 0x1f, 0x40, 0xfb, 0xd8, 0x84, 0xb6, 0x2d, 0xfa,
+ 0x0b, 0x2f, 0x53, 0x60, 0xa8, 0x75, 0x75, 0x1d, 0x97, 0x02, 0x26, 0x4d,
+ 0x3a, 0x1d, 0x9b, 0xa9, 0xf7, 0xdf, 0x6c, 0xb7, 0xb8, 0xe8, 0x52, 0xc8,
+ 0xb3, 0x42, 0x29, 0x3f, 0xeb, 0xd5, 0x6f, 0x7e, 0x9e, 0x28, 0x7b, 0x72,
+ 0xe1, 0x64, 0x24, 0x48, 0xdd, 0x3f, 0xe1, 0x15, 0x39, 0x31, 0xd8, 0x4f,
+ 0xf1, 0x00, 0xa6, 0xfb, 0xe0, 0x29, 0x3f, 0x78, 0xc6, 0x5c, 0xf9, 0x2b,
+ 0x33, 0xc0, 0x84, 0xe1, 0x9c, 0x96, 0x10, 0x10, 0x98, 0xd5, 0x24, 0xbb,
+ 0xcc, 0x8b, 0x07, 0x39, 0xf7, 0x34, 0x4b, 0x87, 0xd3, 0x5e, 0xb2, 0xa1,
+ 0x1d, 0x57, 0x12, 0x80, 0x6b, 0xc9, 0x15, 0xbe, 0x2c, 0xef, 0x9d, 0x5d,
+ 0x2a, 0x40, 0xdb, 0x24, 0x16, 0x3c, 0xdf, 0xfb, 0x54, 0xe9, 0x87, 0xf2,
+ 0x78, 0xf2, 0xe9, 0x9a, 0xf2, 0x8f, 0x23, 0x1d, 0xa7, 0x03, 0x37, 0x96,
+ 0x51, 0xf8, 0xb8, 0xd6, 0xea, 0x9a, 0xc2, 0xf2, 0x3d, 0x67, 0x61, 0xf5,
+ 0xfa, 0xfb, 0xc8, 0x83, 0x12, 0xaf, 0x17, 0x0b, 0x6b, 0x07, 0xdc, 0x2b,
+ 0x92, 0x8c, 0x38, 0x5b, 0xe9, 0xf6, 0x10, 0x5d, 0x48, 0x57, 0x4d, 0x22,
+ 0xd3, 0x81, 0x5e, 0x8c, 0x41, 0xf2, 0x60, 0x52, 0xe0, 0xb2, 0x4c, 0xdd,
+ 0x5b, 0xc5, 0x0d, 0xd6, 0x44, 0x7e, 0x40, 0x88, 0xd3, 0x2f, 0xd3, 0xa9,
+ 0x9a, 0x76, 0xf7, 0xcd, 0x2e, 0xe5, 0x4e, 0x73, 0xed, 0x4d, 0x70, 0x48,
+ 0x14, 0x56, 0xa1, 0xe0, 0xec, 0xa8, 0x87, 0xd9, 0x6e, 0xb9, 0xb6, 0x8c,
+ 0x76, 0xd1, 0x3d, 0x6f, 0xbf, 0xea, 0xd1, 0xc3, 0x2d, 0x90, 0xa8, 0x41,
+ 0x8e, 0xb9, 0x62, 0xe6, 0x0f, 0xbf, 0x3e, 0xbf, 0x06, 0x03, 0xd7, 0xca,
+ 0x09, 0xd2, 0x4a, 0xdd, 0xf5, 0x11, 0x8c, 0x7c, 0x54, 0xd3, 0x3c, 0xd0,
+ 0x15, 0x82, 0x0c, 0xfd, 0xf6, 0x35, 0xea, 0x32, 0x08, 0x4d, 0xca, 0x5c,
+ 0xd4, 0xe5, 0xfd, 0x5a, 0xa0, 0x9c, 0x80, 0xd7, 0x28, 0x8a, 0xd0, 0xf5,
+ 0x59, 0xc0, 0x1a, 0x5b, 0x88, 0xae, 0x0e, 0x87, 0x9f, 0x1e, 0xe0, 0x52,
+ 0x34, 0x07, 0x18, 0xbf, 0x31, 0xac, 0x9b, 0xb7, 0x35, 0xf5, 0x70, 0x97,
+ 0x2d, 0x50, 0x2c, 0x32, 0xf7, 0x38, 0xbf, 0xf6, 0x21, 0x44, 0x44, 0x0e,
+ 0xcf, 0xc8, 0x5d, 0x45, 0xdf, 0x02, 0x35, 0xca, 0x9c, 0xc9, 0xe7, 0x9c,
+ 0xa6, 0x19, 0xc7, 0x9f, 0xe8, 0x75, 0x57, 0xcc, 0x01, 0x23, 0x94, 0xf4,
+ 0xc9, 0xe1, 0x7d, 0xae, 0x76, 0x8d, 0x4a, 0x50, 0x06, 0x29, 0x60, 0x03,
+ 0x16, 0x33, 0x05, 0x05, 0xa3, 0xfa, 0x4f, 0xf6, 0x48, 0x58, 0xa0, 0xfd,
+ 0xe7, 0x9b, 0x87, 0xd3, 0xfe, 0x1c, 0xbf, 0x22, 0xd2, 0xe8, 0x6d, 0x6a,
+ 0xee, 0x40, 0xb4, 0xaa, 0xa2, 0x4e, 0xaf, 0x19, 0x61, 0x4c, 0x82, 0x7b,
+ 0x70, 0x02, 0x13, 0xc7, 0x6f, 0x37, 0xb5, 0x6d, 0x77, 0xac, 0xab, 0x9b,
+ 0x48, 0x09, 0x89, 0xd1, 0xea, 0x29, 0xba, 0x0d, 0x69, 0x61, 0x2c, 0xea,
+ 0x14, 0xb5, 0x23, 0xe6, 0x07, 0xd9, 0x6d, 0xc3, 0xc1, 0x05, 0x09, 0xc4,
+ 0xd0, 0x54, 0x72, 0xa3, 0xd5, 0x21, 0xcf, 0xc2, 0x81, 0x98, 0x46, 0xaa,
+ 0x2a, 0xa4, 0x68, 0x11, 0x5f, 0xb3, 0xfe, 0xba, 0xdb, 0xd9, 0xe5, 0xa8,
+ 0xac, 0x72, 0x92, 0x37, 0x48, 0x1a, 0xd5, 0xd1, 0x88, 0xf0, 0x07, 0xe0,
+ 0x26, 0x64, 0x3d, 0xc6, 0x86, 0x93, 0xc0, 0x5a, 0xa2, 0x70, 0xa4, 0xed,
+ 0x71, 0x97, 0x20, 0x56, 0xc4, 0xdc, 0xec, 0x98, 0x82, 0x82, 0x1a, 0x6a,
+ 0xab, 0xbc, 0x12, 0x2d, 0xc2, 0xb1, 0xed, 0x5c, 0x35, 0xe9, 0xc5, 0x2e,
+ 0xd9, 0xad, 0x95, 0xa2, 0xb0, 0x37, 0x69, 0x85, 0x62, 0xf6, 0xc0, 0x17,
+ 0x95, 0xd7, 0xf5, 0x1a, 0x07, 0xf6, 0xe6, 0xe4, 0xf4, 0xd8, 0x66, 0xb5,
+ 0xfd, 0xcf, 0xbd, 0x11, 0x6d, 0x78, 0x35, 0x0d, 0x72, 0xf8, 0xb8, 0x86,
+ 0xd4, 0x2b, 0x08, 0x96, 0x22, 0xd3, 0x6f, 0x06, 0xdc, 0xf9, 0x12, 0x3f,
+ 0x6e, 0x55, 0x98, 0x1e, 0xbf, 0xfb, 0xf6, 0xe4, 0xfd, 0xd9, 0xbb, 0xb7,
+ 0xc7, 0xef, 0x2e, 0x3e, 0xf3, 0xd8, 0x5d, 0xac, 0xaf, 0x43, 0x1d, 0xa6,
+ 0x17, 0xe4, 0x14, 0x0e, 0xba, 0x41, 0x09, 0x20, 0xf7, 0x57, 0x31, 0xeb,
+ 0x94, 0x7f, 0x8d, 0xfc, 0xe1, 0xbc, 0x87, 0xd4, 0xb3, 0x4f, 0x89, 0x24,
+ 0x2b, 0x72, 0xec, 0xcc, 0x28, 0xaa, 0x3a, 0xe2, 0x58, 0x80, 0xed, 0x1d,
+ 0x4c, 0xad, 0x25, 0x6e, 0x09, 0xca, 0x1b, 0xa9, 0xc0, 0xd4, 0x27, 0xf6,
+ 0x33, 0xbb, 0x25, 0x1c, 0x05, 0x74, 0xb1, 0xd2, 0xd6, 0x24, 0x1c, 0x71,
+ 0x7f, 0xe0, 0x12, 0xd0, 0x78, 0x8f, 0x0a, 0xc5, 0xbe, 0x73, 0x6d, 0xe5,
+ 0xaf, 0xd2, 0xda, 0xc5, 0x5e, 0xc4, 0x71, 0xe3, 0x03, 0xd5, 0x78, 0xb8,
+ 0xc0, 0x5e, 0x9b, 0xe3, 0x2e, 0x16, 0xb0, 0xb7, 0x8a, 0xbf, 0xaa, 0xb7,
+ 0xe8, 0xf9, 0xde, 0xde, 0x8f, 0xe8, 0xaf, 0xfd, 0x27, 0x69, 0xb0, 0x1d,
+ 0x42, 0xa0, 0xd6, 0xde, 0x44, 0x84, 0xe3, 0x7a, 0xd5, 0x85, 0x44, 0xb7,
+ 0x76, 0x3b, 0xe1, 0x06, 0xfe, 0x78, 0xfe, 0xfe, 0xec, 0xfb, 0xbf, 0xfc,
+ 0xc2, 0x9f, 0xf0, 0x92, 0xcd, 0xfe, 0x4a, 0x39, 0x98, 0x3a, 0xf8, 0x8f,
+ 0x3f, 0xeb, 0x6b, 0x1b, 0x3f, 0xd7, 0x1e, 0x7f, 0x20, 0xa1, 0x76, 0x79,
+ 0x23, 0x08, 0x9c, 0xa3, 0x70, 0x9b, 0xfb, 0x5e, 0x69, 0x19, 0xb7, 0xf3,
+ 0x70, 0xd8, 0x44, 0x20, 0x96, 0x6f, 0x75, 0x07, 0xcb, 0x23, 0x74, 0xc8,
+ 0x02, 0x9a, 0x06, 0x15, 0xc5, 0x2e, 0x83, 0x77, 0x20, 0x65, 0xe5, 0x54,
+ 0x37, 0x3e, 0x40, 0x3d, 0x32, 0x32, 0x52, 0xed, 0x7e, 0xbc, 0x3c, 0x3d,
+ 0xfd, 0xf9, 0x9b, 0xa0, 0x1d, 0x98, 0xda, 0xdb, 0x80, 0x36, 0xc5, 0x76,
+ 0x41, 0x43, 0xab, 0xa3, 0xea, 0x15, 0xd8, 0x84, 0x44, 0xfb, 0xee, 0x4c,
+ 0x66, 0xf3, 0x02, 0xca, 0xf1, 0xb0, 0xce, 0x8c, 0x4a, 0x9b, 0x52, 0xc4,
+ 0x5f, 0x81, 0xc5, 0x69, 0x62, 0xf5, 0x1e, 0x27, 0x4e, 0x06, 0x48, 0xe7,
+ 0xfe, 0x43, 0x9c, 0x55, 0xc9, 0xfb, 0xc9, 0x45, 0x71, 0x28, 0x5b, 0x28,
+ 0x2d, 0x2a, 0x11, 0x77, 0x4b, 0x97, 0x86, 0xdd, 0xf3, 0x58, 0x43, 0x66,
+ 0xc6, 0x87, 0x20, 0x79, 0x5b, 0xe5, 0xf5, 0x27, 0x14, 0x75, 0xd0, 0x0d,
+ 0x85, 0x86, 0xa4, 0x35, 0xfc, 0xa4, 0xf2, 0x62, 0x4e, 0x02, 0x32, 0xe2,
+ 0xea, 0xe9, 0xf2, 0x3a, 0x36, 0x3b, 0x12, 0xba, 0x29, 0x8b, 0x62, 0x72,
+ 0xa3, 0xb2, 0x13, 0x3a, 0x6d, 0x15, 0x77, 0x09, 0x3e, 0x3b, 0x67, 0x50,
+ 0xd5, 0x16, 0x66, 0x20, 0x56, 0x96, 0x3e, 0xd0, 0x72, 0x63, 0x7a, 0x80,
+ 0x3f, 0xdd, 0xd4, 0xd9, 0x62, 0xde, 0x53, 0x61, 0xef, 0x33, 0x0c, 0xc7,
+ 0x31, 0xb4, 0xc8, 0xdf, 0xf6, 0x8c, 0x77, 0x04, 0x4e, 0x60, 0x1c, 0x88,
+ 0x2c, 0x84, 0xfe, 0x3a, 0xa1, 0x44, 0x57, 0x12, 0x7d, 0x8b, 0x14, 0x03,
+ 0x21, 0x09, 0x8d, 0xe3, 0x0b, 0x36, 0x22, 0x7d, 0x5c, 0xcf, 0xf6, 0x8b,
+ 0x59, 0x58, 0x30, 0x65, 0x58, 0x92, 0x8f, 0xdf, 0xa1, 0x39, 0x79, 0xc3,
+ 0xdb, 0x44, 0x81, 0x43, 0xf8, 0xa4, 0x5a, 0xcf, 0xc8, 0x6f, 0x1e, 0x32,
+ 0x5c, 0x0a, 0xcf, 0x57, 0xa6, 0x74, 0x9b, 0x34, 0x94, 0xdb, 0xdb, 0x24,
+ 0x12, 0xd9, 0x10, 0xc4, 0x22, 0x3a, 0xd9, 0x58, 0x9d, 0x84, 0x37, 0xf1,
+ 0x70, 0xe4, 0x07, 0xcc, 0x34, 0x12, 0x1b, 0x36, 0x8f, 0x91, 0x13, 0x9e,
+ 0x11, 0x64, 0xfc, 0xf1, 0xec, 0x44, 0x01, 0xc4, 0xc9, 0xb3, 0x64, 0x3d,
+ 0x4e, 0xa1, 0xb4, 0xb2, 0x58, 0x10, 0x2e, 0x9e, 0xbe, 0x04, 0x82, 0x43,
+ 0x31, 0x08, 0x2e, 0x84, 0xdc, 0x88, 0x56, 0x55, 0xbb, 0x96, 0x0e, 0xb9,
+ 0x58, 0x3b, 0xa2, 0x2d, 0x41, 0x2d, 0x2f, 0xf2, 0xf8, 0x05, 0x44, 0x11,
+ 0xa1, 0x12, 0x5b, 0x75, 0x20, 0xb5, 0xb2, 0xa8, 0xae, 0x9b, 0x68, 0x95,
+ 0xb1, 0x6d, 0xc8, 0x68, 0x44, 0xe0, 0xa2, 0xac, 0x63, 0x70, 0x9a, 0x13,
+ 0x4a, 0x9b, 0xcf, 0xd0, 0x8a, 0x87, 0xaf, 0xbc, 0xf9, 0xef, 0xc5, 0xd9,
+ 0xab, 0xb3, 0x53, 0xf3, 0x97, 0xe3, 0x37, 0x27, 0xdf, 0x3b, 0xad, 0x40,
+ 0x3a, 0x67, 0xd9, 0xda, 0x34, 0x8e, 0x9f, 0x03, 0x7a, 0xf1, 0xe9, 0xa0,
+ 0xc5, 0x8e, 0x39, 0x09, 0x91, 0xf2, 0x0f, 0x5b, 0xc2, 0xbc, 0xdd, 0x5f,
+ 0xd2, 0xe3, 0x73, 0x24, 0xa7, 0x29, 0x63, 0xd4, 0xc3, 0x1f, 0x49, 0x05,
+ 0x7a, 0x89, 0xb4, 0x68, 0x1e, 0xd5, 0xd6, 0x52, 0xb8, 0x4d, 0x3e, 0x69,
+ 0xb1, 0x38, 0x68, 0x56, 0xbe, 0xe6, 0xd0, 0x66, 0x8e, 0x3c, 0x29, 0x24,
+ 0x61, 0xe4, 0x73, 0x2d, 0x9e, 0x6d, 0xfc, 0x1e, 0xe8, 0x5a, 0x53, 0x25,
+ 0x5d, 0x67, 0x28, 0x83, 0xc7, 0x47, 0xb5, 0x2f, 0xb2, 0x81, 0xb7, 0x48,
+ 0x55, 0x78, 0x9b, 0x2a, 0x03, 0x63, 0x44, 0x5e, 0x53, 0x0b, 0xe5, 0xa3,
+ 0x43, 0x11, 0x44, 0x0a, 0x6e, 0xb8, 0xf6, 0x9a, 0x64, 0x03, 0x24, 0x95,
+ 0x0f, 0xb9, 0x15, 0xa4, 0xc8, 0x7b, 0x10, 0x3f, 0x42, 0xad, 0xd1, 0x72,
+ 0x41, 0x2e, 0x53, 0xa2, 0x3f, 0xdc, 0x24, 0x94, 0xa5, 0xd2, 0x57, 0x6d,
+ 0x33, 0x17, 0x6c, 0x97, 0x06, 0xa5, 0x56, 0xa1, 0x69, 0x45, 0x67, 0x20,
+ 0xca, 0x7e, 0x5b, 0xe3, 0xa8, 0x37, 0x7c, 0x3a, 0xdc, 0x80, 0x20, 0xeb,
+ 0x9a, 0xb2, 0xbe, 0xeb, 0x47, 0x9b, 0xc6, 0x20, 0x8d, 0xf0, 0xef, 0xeb,
+ 0xfc, 0x3a, 0x45, 0x6d, 0x99, 0xb9, 0x2a, 0xc3, 0x21, 0xbf, 0xd4, 0x19,
+ 0x23, 0xfd, 0x59, 0x83, 0xa4, 0xed, 0x51, 0x1e, 0xff, 0x9c, 0x41, 0x1e,
+ 0x77, 0xc6, 0xb8, 0xfa, 0x59, 0x83, 0x0c, 0x55, 0x40, 0x18, 0xc5, 0xf8,
+ 0xfb, 0x93, 0x8b, 0xe4, 0xd5, 0xd9, 0x6b, 0x77, 0xc1, 0x2e, 0x24, 0x1f,
+ 0x90, 0x48, 0x20, 0x99, 0xac, 0x0b, 0x43, 0x83, 0xd4, 0x2f, 0xc9, 0x36,
+ 0xa0, 0xe0, 0x3c, 0x45, 0x4a, 0xc2, 0xd1, 0x6e, 0xf6, 0x59, 0x5e, 0x31,
+ 0x1c, 0x11, 0x25, 0xd6, 0xc0, 0x7b, 0xe3, 0xd5, 0xe8, 0xd2, 0xc3, 0x4b,
+ 0x02, 0x3a, 0xba, 0x54, 0xf9, 0x4b, 0x37, 0x92, 0xb0, 0xee, 0xd2, 0x4a,
+ 0x4b, 0x4a, 0x27, 0x29, 0xe1, 0x19, 0x15, 0x5c, 0x1b, 0x49, 0x45, 0x29,
+ 0x21, 0xf4, 0xb0, 0x0e, 0xe7, 0x23, 0x10, 0x1b, 0xdd, 0x39, 0x6f, 0x74,
+ 0x26, 0x7e, 0x26, 0xe1, 0x81, 0xe6, 0xfa, 0xb7, 0x28, 0x5d, 0x1a, 0xd0,
+ 0x41, 0xf8, 0x51, 0x52, 0x37, 0x12, 0x5d, 0xc0, 0x47, 0xa4, 0xed, 0xa2,
+ 0x9a, 0x2f, 0xdc, 0x86, 0x3a, 0x90, 0xd8, 0x76, 0x08, 0xfb, 0x9d, 0x43,
+ 0x09, 0x25, 0x18, 0x15, 0x9d, 0xbd, 0x06, 0x92, 0x57, 0x96, 0xff, 0xc3,
+ 0x53, 0xd0, 0x8f, 0xac, 0x3e, 0x66, 0x56, 0xbe, 0x40, 0x67, 0xe7, 0x19,
+ 0xdf, 0x88, 0xfa, 0xce, 0x08, 0xf5, 0x5b, 0x18, 0xe4, 0x64, 0x3d, 0x09,
+ 0xa2, 0x93, 0x7b, 0xf3, 0x91, 0x68, 0x65, 0x16, 0x36, 0xaa, 0xac, 0xac,
+ 0x3d, 0xaa, 0x96, 0xbc, 0xf3, 0x58, 0x68, 0x85, 0x34, 0x43, 0xd9, 0x66,
+ 0x75, 0x8e, 0x70, 0x58, 0x78, 0xbd, 0x24, 0x66, 0xa9, 0x5f, 0xd5, 0x8a,
+ 0x6b, 0x41, 0xe0, 0xf6, 0x3a, 0x09, 0x5a, 0xb4, 0x1f, 0xf3, 0x29, 0xec,
+ 0xd7, 0x90, 0xbb, 0x28, 0x05, 0x75, 0xe9, 0xae, 0x02, 0x53, 0x6d, 0x8e,
+ 0x59, 0x89, 0x0d, 0x1c, 0x20, 0x95, 0x97, 0x9a, 0xde, 0xa7, 0x04, 0xf6,
+ 0x80, 0xde, 0x85, 0x69, 0xc1, 0x95, 0x86, 0x7a, 0x02, 0xf1, 0x9a, 0x3b,
+ 0x57, 0xf3, 0xf4, 0x98, 0xff, 0x78, 0xa5, 0x3a, 0x9b, 0xd6, 0x0d, 0x25,
+ 0x56, 0x5d, 0xbb, 0xb0, 0x70, 0x16, 0x62, 0xe2, 0x90, 0x78, 0x9b, 0x42,
+ 0x0e, 0x71, 0x1d, 0x41, 0x64, 0x13, 0xea, 0x8e, 0x8f, 0xf3, 0x49, 0xe7,
+ 0x2b, 0xfa, 0x11, 0x46, 0x74, 0x72, 0x5f, 0xf0, 0x7d, 0xf2, 0xba, 0x83,
+ 0xf2, 0xac, 0x37, 0xda, 0xd3, 0x2e, 0x5d, 0x78, 0x9e, 0x7d, 0x8c, 0x68,
+ 0x9f, 0xfc, 0x5c, 0x7c, 0x11, 0x19, 0x15, 0x2d, 0x8a, 0xe6, 0x5c, 0x65,
+ 0xab, 0x85, 0xf0, 0x4c, 0xf9, 0x09, 0x42, 0xc7, 0xf0, 0x27, 0x60, 0x97,
+ 0xa7, 0x3a, 0x4b, 0xa3, 0x0e, 0xfb, 0xa6, 0xe0, 0x33, 0xf9, 0xac, 0xe1,
+ 0xbb, 0xac, 0x39, 0x10, 0xea, 0x46, 0x6e, 0xa9, 0x4d, 0x7a, 0xa1, 0xe3,
+ 0x47, 0x94, 0xde, 0x68, 0x64, 0x53, 0x69, 0xff, 0xad, 0x6f, 0x84, 0x48,
+ 0x77, 0x2c, 0xbe, 0x9c, 0x2f, 0x19, 0xeb, 0x5d, 0x57, 0x5c, 0xb6, 0xeb,
+ 0xd0, 0x1d, 0x15, 0x6e, 0x9d, 0x17, 0x5c, 0x11, 0x22, 0xdf, 0x28, 0x79,
+ 0x5b, 0x06, 0xe8, 0x93, 0xe5, 0xbc, 0x91, 0xca, 0x7b, 0xca, 0x4c, 0xe4,
+ 0xdd, 0xb9, 0x4a, 0x8b, 0x4b, 0x46, 0x14, 0xf4, 0x06, 0x04, 0x89, 0x5b,
+ 0x61, 0x68, 0xae, 0x3a, 0xd4, 0x97, 0x22, 0x32, 0xbb, 0x2e, 0x1e, 0xfa,
+ 0xc1, 0xbe, 0xdd, 0x07, 0xe9, 0x94, 0x85, 0xf2, 0x14, 0xda, 0x88, 0xef,
+ 0x00, 0x4b, 0x78, 0x93, 0x72, 0x2b, 0x5d, 0xed, 0x37, 0xef, 0x4c, 0x16,
+ 0x3d, 0x28, 0x0a, 0xac, 0x85, 0x79, 0xd2, 0xc8, 0xdf, 0x49, 0xd9, 0xa9,
+ 0xc6, 0x99, 0x9e, 0x5c, 0xde, 0x28, 0xd2, 0x6a, 0x00, 0x33, 0xdc, 0xb2,
+ 0x47, 0x0e, 0xb3, 0x42, 0xbb, 0xa6, 0xca, 0x98, 0x1e, 0x8f, 0x0c, 0xc1,
+ 0x56, 0x79, 0xd9, 0x1c, 0x0e, 0x34, 0xc4, 0x5b, 0xcf, 0x81, 0x5b, 0xcf,
+ 0x0d, 0x28, 0xe5, 0xfc, 0xe5, 0x78, 0xac, 0x74, 0xf2, 0x2a, 0x24, 0x09,
+ 0xf1, 0x59, 0x12, 0x9a, 0x85, 0x02, 0x3a, 0x85, 0xaa, 0xa2, 0x8c, 0xd1,
+ 0x49, 0x32, 0x38, 0x60, 0x9e, 0xf6, 0x9a, 0x19, 0x73, 0x7c, 0xb9, 0x37,
+ 0xad, 0x4d, 0x64, 0x0f, 0x76, 0x07, 0x05, 0xe4, 0xb3, 0x68, 0xba, 0x0a,
+ 0xc7, 0x2b, 0x69, 0x9b, 0x51, 0x8e, 0xac, 0x3c, 0x9e, 0x74, 0x43, 0xc3,
+ 0x77, 0xf2, 0x56, 0xcf, 0xc2, 0x83, 0xa3, 0xc8, 0xa2, 0xbf, 0xe5, 0x55,
+ 0x0d, 0xfe, 0x95, 0x45, 0x7f, 0x1b, 0x59, 0xf4, 0x23, 0xfb, 0x2d, 0xfe,
+ 0xd4, 0xe1, 0xe1, 0x53, 0xa9, 0xaa, 0x60, 0x1f, 0x1d, 0x15, 0xfd, 0x5b,
+ 0x06, 0xc4, 0x5f, 0xe3, 0x15, 0x9b, 0x07, 0x87, 0x5c, 0x7f, 0x10, 0x7e,
+ 0xcb, 0xbb, 0xbc, 0xde, 0xa7, 0x1e, 0xbb, 0x65, 0x19, 0xd5, 0x9b, 0xc6,
+ 0x23, 0xad, 0x9e, 0xf9, 0x4c, 0xc0, 0x7e, 0xd4, 0x98, 0x23, 0x3d, 0xfc,
+ 0x86, 0x32, 0xa8, 0x9a, 0x78, 0xea, 0xaf, 0x4e, 0xc3, 0xfb, 0xce, 0x13,
+ 0xeb, 0x46, 0xd9, 0x3b, 0xd4, 0x10, 0xfa, 0x4b, 0xf0, 0xe2, 0x45, 0xb6,
+ 0xe4, 0x7e, 0x0d, 0x19, 0x81, 0xf5, 0x38, 0x0f, 0x20, 0xd7, 0xdc, 0xcd,
+ 0xab, 0x14, 0x68, 0xcb, 0x8b, 0xf4, 0x2e, 0x02, 0xb6, 0x25, 0x9e, 0x62,
+ 0x36, 0x57, 0xcc, 0xfd, 0xbc, 0xcc, 0x0a, 0xb2, 0x14, 0xa0, 0x08, 0x88,
+ 0xdb, 0x8c, 0xfc, 0xb0, 0x88, 0x9a, 0xcf, 0xad, 0xab, 0x56, 0xbe, 0x1a,
+ 0xc0, 0x01, 0xd4, 0xd2, 0xc0, 0x90, 0xef, 0x8c, 0x68, 0x09, 0x71, 0x6c,
+ 0xb8, 0x83, 0xa7, 0x76, 0xdf, 0xec, 0x49, 0x90, 0x67, 0x8b, 0x31, 0x42,
+ 0xbc, 0xad, 0x53, 0x66, 0xa2, 0x01, 0x01, 0xe9, 0xa3, 0x83, 0x28, 0x5d,
+ 0x1e, 0x5a, 0xcd, 0x95, 0xa7, 0x20, 0x1e, 0x30, 0x37, 0x3e, 0x27, 0x5e,
+ 0x27, 0x80, 0xbb, 0xa3, 0xe4, 0x0c, 0x5e, 0xb8, 0x16, 0xc8, 0x38, 0x57,
+ 0x02, 0xa5, 0xae, 0x68, 0xb4, 0x4d, 0xb8, 0xcf, 0xbc, 0x13, 0xd6, 0x59,
+ 0x69, 0xf6, 0xcb, 0x9e, 0xb0, 0x59, 0x07, 0xc1, 0xa4, 0xbe, 0xe6, 0x2c,
+ 0x79, 0x7f, 0x7c, 0xf1, 0x1e, 0x81, 0x5e, 0x62, 0x00, 0x01, 0x48, 0x6a,
+ 0x5a, 0xed, 0x5a, 0x90, 0x20, 0xe1, 0x66, 0x4e, 0x0f, 0x71, 0x0c, 0x82,
+ 0xf1, 0xcb, 0xec, 0x79, 0xf3, 0x3f, 0xf5, 0x3d, 0xae, 0x7e, 0xc9, 0xb4,
+ 0xd6, 0xc4, 0x85, 0x74, 0xda, 0xc8, 0x6a, 0x87, 0x87, 0x2e, 0x0b, 0x09,
+ 0xbd, 0x8d, 0x59, 0xca, 0x49, 0x26, 0xf9, 0x48, 0x92, 0x36, 0xb5, 0xfa,
+ 0x42, 0x5b, 0x09, 0xd0, 0x43, 0x9c, 0x8c, 0x5d, 0x56, 0x31, 0xbd, 0x43,
+ 0x3e, 0x6d, 0x15, 0x00, 0x99, 0x84, 0x5f, 0x98, 0xc0, 0xd5, 0xe0, 0x1e,
+ 0x07, 0xe5, 0x1a, 0xc0, 0x47, 0xfb, 0xfb, 0x61, 0xde, 0x70, 0x3a, 0x31,
+ 0x4c, 0x55, 0xb4, 0x39, 0xa9, 0xea, 0xc1, 0x2b, 0xec, 0x35, 0x85, 0x7a,
+ 0x59, 0x93, 0xad, 0x31, 0x9c, 0x93, 0x1b, 0x93, 0x76, 0x2c, 0x34, 0x2a,
+ 0x0e, 0x99, 0xc7, 0x7c, 0x87, 0x32, 0x23, 0xd9, 0xb3, 0x36, 0x67, 0xe1,
+ 0x0a, 0x24, 0xed, 0x9d, 0x9b, 0x6a, 0x92, 0x31, 0x6a, 0x82, 0xc5, 0xfb,
+ 0x1d, 0xcc, 0x2c, 0xe0, 0xdf, 0x87, 0x8f, 0x23, 0x14, 0x91, 0x8c, 0x2f,
+ 0xce, 0xde, 0x2b, 0xf6, 0x7e, 0x28, 0x9f, 0x91, 0xf9, 0x40, 0x4f, 0x58,
+ 0xa8, 0x95, 0x41, 0x08, 0xb9, 0x33, 0xb3, 0xf8, 0x00, 0x16, 0xc6, 0xd4,
+ 0xfb, 0x2a, 0x73, 0x00, 0xb4, 0xd0, 0x93, 0xb5, 0x7d, 0x2b, 0x80, 0x00,
+ 0x0a, 0xd9, 0xab, 0xf7, 0xd2, 0x7b, 0x89, 0xaf, 0xd9, 0x19, 0xdf, 0x5f,
+ 0xae, 0x5f, 0x27, 0x3a, 0x92, 0x4a, 0x76, 0x42, 0xfc, 0x95, 0x74, 0x58,
+ 0xdb, 0xe9, 0xb3, 0x4b, 0x8b, 0x7c, 0x89, 0xce, 0x1c, 0x24, 0x33, 0x73,
+ 0x78, 0x59, 0xa4, 0xb5, 0x8c, 0xd1, 0x6d, 0x96, 0xf8, 0x04, 0x43, 0x16,
+ 0x4b, 0x62, 0x53, 0xca, 0xbe, 0xb0, 0x69, 0x00, 0xeb, 0x5e, 0x56, 0x0a,
+ 0xd2, 0x2a, 0x82, 0x53, 0x8d, 0x05, 0xa7, 0x67, 0x7b, 0x52, 0xff, 0xfc,
+ 0xec, 0xfd, 0x45, 0x62, 0x85, 0x3e, 0xbe, 0x8c, 0x1f, 0x75, 0x2e, 0x10,
+ 0xb5, 0x4c, 0x81, 0xcf, 0xce, 0x95, 0x6d, 0x04, 0x0e, 0x49, 0xb1, 0x09,
+ 0x9a, 0xce, 0x10, 0x03, 0xb4, 0xd9, 0x9b, 0x95, 0x8c, 0xe5, 0xe3, 0xc2,
+ 0x8f, 0x82, 0xd2, 0x05, 0x39, 0xd3, 0x87, 0x0c, 0xe6, 0x94, 0xdb, 0xa3,
+ 0x83, 0x08, 0x65, 0x90, 0x15, 0xfd, 0xfe, 0x78, 0x7c, 0xc1, 0x3b, 0x46,
+ 0x7f, 0x0b, 0xe6, 0xcd, 0x05, 0xa2, 0xf2, 0xc3, 0xc0, 0x50, 0xb1, 0x94,
+ 0x41, 0x09, 0x68, 0xc6, 0xda, 0xc0, 0xf8, 0xb6, 0xc0, 0xdd, 0xdb, 0xb1,
+ 0x23, 0x2f, 0xdb, 0x10, 0x5c, 0x53, 0xe8, 0x04, 0x17, 0x1c, 0x3f, 0xd8,
+ 0x92, 0x8f, 0x6c, 0x19, 0xc5, 0x8c, 0x2f, 0x44, 0x0b, 0x7e, 0xfd, 0xe8,
+ 0x91, 0xc7, 0x29, 0x48, 0x4e, 0xc9, 0x00, 0x27, 0xda, 0x26, 0x97, 0x7e,
+ 0x38, 0x54, 0x52, 0x81, 0xb0, 0x60, 0xa2, 0xe0, 0xe7, 0xdc, 0x38, 0x8f,
+ 0xa5, 0x44, 0xfd, 0xd4, 0xaa, 0x0a, 0xde, 0x54, 0xe8, 0xc7, 0x9a, 0xf1,
+ 0x03, 0xb5, 0xad, 0x43, 0x72, 0x47, 0x4c, 0xe9, 0x7f, 0x36, 0x84, 0x6e,
+ 0xb3, 0x16, 0x79, 0xe9, 0xbe, 0x5c, 0x30, 0xba, 0x56, 0x5e, 0xac, 0x33,
+ 0xe8, 0x68, 0x69, 0xb5, 0xa0, 0x56, 0x0f, 0x86, 0x87, 0x54, 0x52, 0x40,
+ 0x76, 0x53, 0xc4, 0x60, 0xa9, 0xbd, 0x6f, 0x88, 0xfc, 0x39, 0x39, 0x3d,
+ 0x76, 0x27, 0xc5, 0x7d, 0x22, 0x70, 0x83, 0x9d, 0xae, 0x4f, 0xad, 0xed,
+ 0xad, 0x98, 0x18, 0x25, 0xe7, 0xd4, 0xb3, 0x1c, 0x7a, 0x53, 0xfd, 0xef,
+ 0x6e, 0x34, 0xbe, 0x24, 0xf0, 0xc0, 0x1b, 0xb1, 0x09, 0x33, 0x25, 0x2f,
+ 0xcc, 0xc1, 0xe2, 0x27, 0xf4, 0x57, 0x0f, 0xd3, 0x3c, 0x58, 0xee, 0x33,
+ 0xf7, 0x72, 0x6d, 0x96, 0x62, 0x0c, 0xf4, 0xee, 0x23, 0x8f, 0x84, 0xae,
+ 0x8c, 0xf5, 0x8e, 0x21, 0x2c, 0x6f, 0xa6, 0xbb, 0x2c, 0xad, 0x62, 0x66,
+ 0x3c, 0xc2, 0x5c, 0x9f, 0x69, 0xf1, 0x70, 0x6f, 0x28, 0x16, 0x06, 0x2f,
+ 0x27, 0xb6, 0x81, 0x10, 0xa5, 0x09, 0x93, 0x22, 0x67, 0xc6, 0x2a, 0x88,
+ 0xd3, 0x2e, 0x6c, 0xae, 0xbd, 0x0d, 0x03, 0x13, 0xaf, 0x9c, 0xe8, 0xb5,
+ 0xa1, 0x95, 0x74, 0x37, 0xb7, 0xd3, 0x80, 0xfd, 0x11, 0x53, 0xa2, 0x25,
+ 0x1b, 0x2b, 0xbf, 0x5a, 0xb3, 0x93, 0xfc, 0x64, 0x01, 0xbd, 0x23, 0xa7,
+ 0x01, 0xc5, 0x03, 0x8c, 0x80, 0xf7, 0x95, 0xff, 0x47, 0x8f, 0xdd, 0x50,
+ 0x73, 0xaa, 0xe9, 0xb4, 0x63, 0x39, 0xde, 0x63, 0xbb, 0x48, 0x30, 0x02,
+ 0x03, 0x1e, 0x13, 0x8b, 0x91, 0x9b, 0x75, 0x4f, 0x22, 0xe8, 0x6f, 0xfe,
+ 0x9e, 0x3c, 0x15, 0xd3, 0x97, 0x6c, 0xdf, 0xe2, 0xce, 0xe5, 0xde, 0x4b,
+ 0xd3, 0x6e, 0xf6, 0x9b, 0x71, 0xa3, 0x1a, 0xf9, 0x8d, 0x80, 0x30, 0x5e,
+ 0x89, 0x5f, 0x86, 0x5a, 0x51, 0x05, 0x88, 0x8b, 0xeb, 0xa5, 0xe4, 0xf0,
+ 0x7a, 0x5f, 0xfa, 0x5c, 0x3c, 0x19, 0x54, 0x79, 0x6e, 0xf1, 0x1a, 0x3d,
+ 0x2e, 0x5a, 0xaa, 0xc5, 0x6c, 0x61, 0x8c, 0x0c, 0xf1, 0x20, 0xb7, 0xd4,
+ 0xd6, 0xba, 0x87, 0x18, 0x7b, 0x84, 0x5d, 0x06, 0x51, 0x2c, 0xea, 0xae,
+ 0x3a, 0x15, 0x4a, 0x0f, 0xfa, 0x8a, 0x36, 0x5c, 0x9e, 0xe3, 0x5f, 0x29,
+ 0x40, 0x4a, 0xe8, 0x12, 0xaf, 0xb2, 0xbf, 0x41, 0x91, 0x74, 0xfd, 0x5a,
+ 0x35, 0xa6, 0x9c, 0x16, 0xeb, 0xd4, 0xb3, 0xe5, 0x1f, 0x3d, 0x13, 0x0f,
+ 0x95, 0xb8, 0x41, 0x28, 0xac, 0x5e, 0x64, 0x4d, 0x10, 0x5e, 0x7c, 0x7c,
+ 0x60, 0x7d, 0x95, 0x94, 0x31, 0x2b, 0x75, 0x20, 0x7e, 0xde, 0xac, 0x61,
+ 0x6e, 0xe3, 0xf1, 0xd7, 0xc9, 0xdb, 0xd7, 0x8f, 0x29, 0x9d, 0xe7, 0x32,
+ 0xab, 0x56, 0x15, 0xa5, 0x70, 0x2a, 0x0d, 0x9f, 0x7d, 0xe3, 0x0d, 0x76,
+ 0xe8, 0x1c, 0x9f, 0x22, 0x62, 0x73, 0xb9, 0xbd, 0x64, 0x2b, 0x98, 0xf3,
+ 0xa3, 0xba, 0xe7, 0x4b, 0x45, 0x46, 0x60, 0xef, 0x17, 0xa0, 0x17, 0x04,
+ 0xac, 0x8a, 0x95, 0x96, 0xcf, 0xba, 0x49, 0xe1, 0x2d, 0x06, 0xf6, 0xf8,
+ 0xc8, 0x31, 0xb0, 0xea, 0x6e, 0x45, 0x9d, 0x55, 0x8a, 0x4b, 0xb2, 0x0b,
+ 0x22, 0x37, 0xea, 0x31, 0x33, 0xcd, 0x57, 0x7c, 0xef, 0x49, 0x89, 0x0d,
+ 0x5f, 0x83, 0x7a, 0x0e, 0x7f, 0xa9, 0xf7, 0xde, 0x63, 0xdf, 0xab, 0x50,
+ 0x4b, 0x6f, 0x34, 0x69, 0x89, 0x01, 0x1d, 0xc5, 0x7b, 0xf6, 0x89, 0x7d,
+ 0x96, 0x1c, 0x47, 0x79, 0xe1, 0xb5, 0x30, 0xea, 0x79, 0x43, 0x94, 0x5f,
+ 0x35, 0x10, 0x34, 0x92, 0xc3, 0x1a, 0x8f, 0xb7, 0xf7, 0xde, 0x2b, 0xcf,
+ 0xda, 0x4e, 0x13, 0xf4, 0x0f, 0xb0, 0xa4, 0x89, 0x45, 0xa1, 0xb3, 0xac,
+ 0xe7, 0x66, 0x61, 0x19, 0x7d, 0x4e, 0x69, 0xd0, 0xad, 0xf3, 0x54, 0x26,
+ 0x98, 0xf9, 0x18, 0x22, 0x7a, 0xd7, 0x99, 0xf6, 0x5f, 0xbd, 0xec, 0x2b,
+ 0x02, 0x02, 0xb5, 0x7b, 0x1f, 0x39, 0x90, 0x3b, 0x43, 0x7d, 0xa9, 0x2f,
+ 0x8b, 0xfc, 0x1f, 0x0a, 0x5f, 0x40, 0x02, 0x5a, 0xdb, 0x4f, 0x79, 0x8f,
+ 0x1f, 0x0a, 0xc3, 0xe0, 0xde, 0xc3, 0x60, 0x8a, 0x14, 0x3c, 0x75, 0x0f,
+ 0x1c, 0x09, 0xd5, 0x72, 0xf7, 0x38, 0x68, 0xff, 0x94, 0x84, 0x8f, 0xd0,
+ 0x7d, 0xd6, 0x4a, 0xab, 0x7f, 0xf2, 0x48, 0x74, 0x2e, 0x55, 0x8e, 0x49,
+ 0xf2, 0xd2, 0x46, 0x2c, 0x00, 0xc9, 0xd8, 0x65, 0xd3, 0x4f, 0x44, 0xec,
+ 0xc9, 0x51, 0x4a, 0xaf, 0xf5, 0xd4, 0x35, 0xf3, 0xa2, 0xbf, 0xde, 0xe4,
+ 0x85, 0xa4, 0xba, 0x07, 0xaf, 0x3f, 0xe9, 0x71, 0x3f, 0xd6, 0x2c, 0x33,
+ 0x8f, 0x41, 0x4b, 0xde, 0xf3, 0x4f, 0xed, 0x4d, 0xf0, 0xc0, 0x3d, 0x15,
+ 0xc8, 0x70, 0xe0, 0x03, 0x96, 0xea, 0x45, 0x12, 0xff, 0x49, 0xa6, 0x9d,
+ 0x0e, 0x22, 0xc8, 0xf2, 0x73, 0xfb, 0xf9, 0x45, 0x79, 0x99, 0xf8, 0x98,
+ 0x2c, 0x4f, 0x98, 0xa4, 0xde, 0xa0, 0x5d, 0x85, 0xb3, 0x0e, 0x8a, 0xe4,
+ 0xc2, 0x2b, 0x93, 0x75, 0x4f, 0x3f, 0x13, 0xda, 0x50, 0x79, 0x69, 0x8d,
+ 0xd5, 0xbe, 0x37, 0x9e, 0xee, 0xfb, 0xca, 0xea, 0x8c, 0xa2, 0xb2, 0x5c,
+ 0xc6, 0xdf, 0xfb, 0x02, 0x53, 0xc6, 0x89, 0x11, 0x23, 0x97, 0x86, 0xa8,
+ 0xf1, 0x8c, 0x83, 0x32, 0x74, 0x8f, 0x1d, 0xb6, 0x98, 0xee, 0x85, 0xaf,
+ 0x3e, 0x25, 0x27, 0xaf, 0xbd, 0x07, 0x8f, 0xdc, 0x02, 0xd3, 0x05, 0x69,
+ 0x03, 0x77, 0xec, 0xa8, 0xaa, 0x93, 0x1d, 0x7a, 0xcb, 0xc3, 0x2c, 0x79,
+ 0xca, 0x94, 0xf1, 0xae, 0x64, 0xd0, 0x2d, 0xec, 0x7f, 0xf0, 0x0c, 0x93,
+ 0xc3, 0xab, 0x2b, 0x23, 0xd5, 0xa6, 0x0d, 0x72, 0x42, 0x0b, 0x8d, 0x70,
+ 0x75, 0xcf, 0xfe, 0xe9, 0x93, 0x0d, 0xcf, 0x8a, 0xd0, 0xac, 0xad, 0xa8,
+ 0xf7, 0xde, 0x7b, 0x1a, 0x5e, 0x73, 0x35, 0x07, 0xb4, 0x4a, 0x41, 0x6e,
+ 0x5a, 0xb2, 0x43, 0xe5, 0xd1, 0xff, 0xae, 0x9e, 0xc1, 0x8a, 0xf0, 0x04,
+ 0xeb, 0x7f, 0xf7, 0xe7, 0xfb, 0xb9, 0x5f, 0xc3, 0xc7, 0x3e, 0xc1, 0x2a,
+ 0x43, 0x98, 0x60, 0xda, 0x6a, 0x17, 0xe1, 0x32, 0x84, 0xb0, 0x3b, 0xde,
+ 0x08, 0x7c, 0xe6, 0x46, 0x8f, 0x58, 0x17, 0x8e, 0x73, 0xb0, 0x01, 0x28,
+ 0x58, 0x04, 0x33, 0x1f, 0x77, 0x92, 0x78, 0xbe, 0x78, 0xa1, 0x3c, 0x1f,
+ 0xea, 0x7e, 0xe7, 0x1a, 0xd4, 0x57, 0x6b, 0xb6, 0xb8, 0xed, 0x8a, 0x9c,
+ 0x83, 0xcd, 0x7b, 0xed, 0xd0, 0x71, 0x2f, 0x11, 0xfb, 0x5c, 0x70, 0xf2,
+ 0x8a, 0xa2, 0xc0, 0x6c, 0x96, 0xdb, 0x26, 0x02, 0x70, 0x8f, 0x57, 0x25,
+ 0xfb, 0x0c, 0x09, 0x6c, 0x63, 0x27, 0x8d, 0xa7, 0x66, 0x4a, 0x12, 0xb9,
+ 0xf7, 0x19, 0x51, 0x6d, 0x28, 0xc5, 0xc9, 0x9c, 0xd2, 0x55, 0x36, 0xfd,
+ 0xa4, 0x57, 0xc6, 0x8e, 0x11, 0x79, 0xeb, 0x91, 0xdd, 0x5a, 0xa2, 0xbe,
+ 0xf3, 0xf7, 0xc7, 0x5d, 0x23, 0xc0, 0x3d, 0xca, 0x54, 0xf3, 0xfe, 0x62,
+ 0x7c, 0xfe, 0x9c, 0xe6, 0xcb, 0x61, 0x43, 0x73, 0x21, 0x5e, 0x8d, 0xb3,
+ 0xbf, 0x4b, 0x99, 0x59, 0xed, 0x9e, 0x7e, 0xd2, 0xf3, 0xf4, 0x58, 0x9c,
+ 0x7b, 0x27, 0x40, 0x6a, 0x36, 0xe7, 0xe0, 0xbf, 0xc4, 0x44, 0xb3, 0x2e,
+ 0xd4, 0xbf, 0xcf, 0x2e, 0x30, 0x9a, 0x19, 0xb8, 0x21, 0x85, 0x96, 0xdd,
+ 0xc3, 0x9f, 0x3b, 0x4f, 0xcd, 0xd5, 0xba, 0xf8, 0x64, 0xf5, 0x45, 0xc1,
+ 0xd1, 0xd3, 0x03, 0x76, 0x2f, 0x3c, 0xd3, 0xab, 0xe1, 0xf9, 0x41, 0x6d,
+ 0xde, 0xd3, 0x40, 0x3c, 0x14, 0xe2, 0x7a, 0x94, 0x78, 0xa7, 0xe1, 0xaf,
+ 0x6b, 0x6f, 0x0f, 0x9e, 0xed, 0x5b, 0xf1, 0x2b, 0x88, 0x3c, 0x9f, 0xb2,
+ 0x3b, 0x47, 0x75, 0x9a, 0x63, 0xb1, 0xca, 0x0b, 0x72, 0x41, 0xb8, 0x47,
+ 0xdc, 0x00, 0x07, 0x2d, 0x21, 0xd0, 0x55, 0x37, 0xea, 0x26, 0x6d, 0xd6,
+ 0x9e, 0x88, 0x79, 0xc6, 0xb4, 0x33, 0xa6, 0xa8, 0xe3, 0x52, 0xe8, 0x35,
+ 0x2f, 0xd4, 0xdb, 0xd6, 0x71, 0xa1, 0xe9, 0x4b, 0xdf, 0x7f, 0xcf, 0x72,
+ 0xc4, 0x82, 0xc5, 0x49, 0xe8, 0xca, 0x36, 0x7f, 0x32, 0x7c, 0x97, 0x01,
+ 0x84, 0xe9, 0x0a, 0x23, 0xe0, 0x53, 0x65, 0xd4, 0x9e, 0x52, 0xd1, 0x6f,
+ 0x70, 0x79, 0x62, 0xd1, 0xf3, 0xb2, 0x90, 0x98, 0x2d, 0x25, 0x6f, 0xc2,
+ 0xf3, 0xc9, 0x60, 0xd3, 0xec, 0x0b, 0x33, 0x33, 0x78, 0xf9, 0xe1, 0xe2,
+ 0xeb, 0xb3, 0xf7, 0xe3, 0x64, 0x8f, 0x4a, 0xdb, 0x2f, 0xde, 0x9f, 0xfc,
+ 0xf9, 0xc3, 0x85, 0xf9, 0xa7, 0x8e, 0xf4, 0x3a, 0x2d, 0x72, 0x23, 0x9d,
+ 0xcc, 0x72, 0xb2, 0xc2, 0x10, 0xcb, 0xa5, 0x36, 0x69, 0x62, 0xe8, 0x62,
+ 0x23, 0x8f, 0xcb, 0x4a, 0x11, 0x4d, 0x28, 0x1f, 0xa5, 0x94, 0x13, 0x67,
+ 0x54, 0xbf, 0x82, 0x33, 0xfc, 0x4a, 0x67, 0x39, 0xe7, 0x9d, 0xa2, 0x7c,
+ 0x4d, 0xdb, 0x49, 0x2e, 0xbe, 0x7e, 0xf9, 0xee, 0x9b, 0xb1, 0x76, 0xf0,
+ 0xf8, 0xee, 0xbb, 0xef, 0xba, 0xc1, 0x5d, 0xe8, 0xb1, 0x57, 0xe9, 0xed,
+ 0xed, 0xa8, 0xce, 0x3e, 0xfb, 0x6c, 0x7c, 0x7c, 0x9c, 0xbc, 0x3c, 0x1d,
+ 0x9f, 0x7d, 0xe6, 0x70, 0x1c, 0x76, 0x0e, 0x08, 0xc1, 0xea, 0x32, 0x6b,
+ 0xcc, 0x5f, 0x3e, 0xfb, 0xec, 0xff, 0x03, 0x4d, 0xda, 0xc1, 0xce, 0xef,
+ 0x98, 0x02, 0x00,
};
#define BUF_SIZE 0x10000
static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
diff --git a/src/tool_metalink.c b/src/tool_metalink.c
index 0740407f9..889da4bff 100644
--- a/src/tool_metalink.c
+++ b/src/tool_metalink.c
@@ -965,7 +965,7 @@ static void delete_metalink_resource(metalink_resource *res)
Curl_safefree(res);
}
-static void delete_metalinkfile(metalinkfile *mlfile)
+void delete_metalinkfile(metalinkfile *mlfile)
{
metalink_resource *res;
if(mlfile == NULL) {
@@ -984,12 +984,14 @@ static void delete_metalinkfile(metalinkfile *mlfile)
void clean_metalink(struct OperationConfig *config)
{
- while(config->metalinkfile_list) {
- metalinkfile *mlfile = config->metalinkfile_list;
- config->metalinkfile_list = config->metalinkfile_list->next;
- delete_metalinkfile(mlfile);
+ if(config) {
+ while(config->metalinkfile_list) {
+ metalinkfile *mlfile = config->metalinkfile_list;
+ config->metalinkfile_list = config->metalinkfile_list->next;
+ delete_metalinkfile(mlfile);
+ }
+ config->metalinkfile_last = 0;
}
- config->metalinkfile_last = 0;
}
void metalink_cleanup(void)
diff --git a/src/tool_metalink.h b/src/tool_metalink.h
index 1e367033c..f5ec306f7 100644
--- a/src/tool_metalink.h
+++ b/src/tool_metalink.h
@@ -105,6 +105,8 @@ extern const digest_params SHA256_DIGEST_PARAMS[1];
* Counts the resource in the metalinkfile.
*/
int count_next_metalink_resource(metalinkfile *mlfile);
+
+void delete_metalinkfile(metalinkfile *mlfile);
void clean_metalink(struct OperationConfig *config);
/*
@@ -158,6 +160,7 @@ void metalink_cleanup(void);
#else /* USE_METALINK */
#define count_next_metalink_resource(x) 0
+#define delete_metalinkfile(x) (void)x
#define clean_metalink(x) (void)x
/* metalink_cleanup() takes no arguments */
diff --git a/src/tool_operate.c b/src/tool_operate.c
index d2ad9642d..3087d2d14 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -103,10 +103,14 @@ CURLcode curl_easy_perform_ev(CURL *easy);
"this situation and\nhow to fix it, please visit the web page mentioned " \
"above.\n"
-static CURLcode create_transfers(struct GlobalConfig *global,
- struct OperationConfig *config,
- CURLSH *share,
- bool capath_from_env);
+static CURLcode single_transfer(struct GlobalConfig *global,
+ struct OperationConfig *config,
+ CURLSH *share,
+ bool capath_from_env,
+ bool *added);
+static CURLcode create_transfer(struct GlobalConfig *global,
+ CURLSH *share,
+ bool *added);
static bool is_fatal_error(CURLcode code)
{
@@ -200,7 +204,9 @@ static curl_off_t VmsSpecialSize(const char *name,
struct per_transfer *transfers; /* first node */
static struct per_transfer *transfersl; /* last node */
-static CURLcode add_transfer(struct per_transfer **per)
+/* add_per_transfer creates a new 'per_transfer' node in the linked
+ list of transfers */
+static CURLcode add_per_transfer(struct per_transfer **per)
{
struct per_transfer *p;
p = calloc(sizeof(struct per_transfer), 1);
@@ -224,7 +230,7 @@ static CURLcode add_transfer(struct per_transfer **per)
/* Remove the specified transfer from the list (and free it), return the next
in line */
-static struct per_transfer *del_transfer(struct per_transfer *per)
+static struct per_transfer *del_per_transfer(struct per_transfer *per)
{
struct per_transfer *n;
struct per_transfer *p;
@@ -316,23 +322,24 @@ static CURLcode pre_transfer(struct GlobalConfig *global,
my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
per->input.fd = per->infd;
}
- show_error:
return result;
}
/*
* Call this after a transfer has completed.
*/
-static CURLcode post_transfer(struct GlobalConfig *global,
- CURLSH *share,
- struct per_transfer *per,
- CURLcode result,
- bool *retryp)
+static CURLcode post_per_transfer(struct GlobalConfig *global,
+ struct per_transfer *per,
+ CURLcode result,
+ bool *retryp)
{
struct OutStruct *outs = &per->outs;
CURL *curl = per->curl;
struct OperationConfig *config = per->config;
+ if(!curl || !config)
+ return result;
+
*retryp = FALSE;
if(per->infdopen)
@@ -401,7 +408,6 @@ static CURLcode post_transfer(struct GlobalConfig *global,
else if(rv == -1)
fprintf(config->global->errors, "Metalink: parsing (%s) FAILED\n",
per->this_url);
- result = create_transfers(global, config, share, FALSE);
}
else if(per->metalink && result == CURLE_OK && !per->metalink_next_res) {
int rv;
@@ -410,8 +416,6 @@ static CURLcode post_transfer(struct GlobalConfig *global,
if(!rv)
per->metalink_next_res = 1;
}
-#else
- (void)share;
#endif /* USE_METALINK */
#ifdef USE_METALINK
@@ -464,6 +468,7 @@ static CURLcode post_transfer(struct GlobalConfig *global,
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
switch(response) {
+ case 429: /* Too Many Requests (RFC6585) */
case 500: /* Internal Server Error */
case 502: /* Bad Gateway */
case 503: /* Service Unavailable */
@@ -524,7 +529,7 @@ static CURLcode post_transfer(struct GlobalConfig *global,
warnf(config->global, "Transient problem: %s "
"Will retry in %ld seconds. "
"%ld retries left.\n",
- m[retry], per->retry_sleep/1000L, per->retry_numretries);
+ m[retry], sleeptime/1000L, per->retry_numretries);
per->retry_numretries--;
tool_go_sleep(sleeptime);
@@ -651,60 +656,81 @@ static CURLcode post_transfer(struct GlobalConfig *global,
return CURLE_OK;
}
-/* go through the list of URLs and configs and add transfers */
+static void single_transfer_cleanup(struct OperationConfig *config)
+{
+ if(config) {
+ struct State *state = &config->state;
+ if(state->urls) {
+ /* Free list of remaining URLs */
+ glob_cleanup(state->urls);
+ state->urls = NULL;
+ }
+ Curl_safefree(state->outfiles);
+ Curl_safefree(state->httpgetfields);
+ Curl_safefree(state->uploadfile);
+ if(state->inglob) {
+ /* Free list of globbed upload files */
+ glob_cleanup(state->inglob);
+ state->inglob = NULL;
+ }
+ }
+}
+
+/* create the next (singular) transfer */
-static CURLcode create_transfers(struct GlobalConfig *global,
- struct OperationConfig *config,
- CURLSH *share,
- bool capath_from_env)
+static CURLcode single_transfer(struct GlobalConfig *global,
+ struct OperationConfig *config,
+ CURLSH *share,
+ bool capath_from_env,
+ bool *added)
{
CURLcode result = CURLE_OK;
struct getout *urlnode;
metalinkfile *mlfile_last = NULL;
bool orig_noprogress = global->noprogress;
bool orig_isatty = global->isatty;
- char *httpgetfields = NULL;
+ struct State *state = &config->state;
+ char *httpgetfields = state->httpgetfields;
+ *added = FALSE; /* not yet */
if(config->postfields) {
if(config->use_httpget) {
- /* Use the postfields data for a http get */
- httpgetfields = strdup(config->postfields);
- Curl_safefree(config->postfields);
if(!httpgetfields) {
- helpf(global->errors, "out of memory\n");
- result = CURLE_OUT_OF_MEMORY;
- goto quit_curl;
- }
- if(SetHTTPrequest(config,
- (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET),
- &config->httpreq)) {
- result = CURLE_FAILED_INIT;
- goto quit_curl;
+ /* Use the postfields data for a http get */
+ httpgetfields = state->httpgetfields = strdup(config->postfields);
+ Curl_safefree(config->postfields);
+ if(!httpgetfields) {
+ helpf(global->errors, "out of memory\n");
+ result = CURLE_OUT_OF_MEMORY;
+ }
+ else if(SetHTTPrequest(config,
+ (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET),
+ &config->httpreq)) {
+ result = CURLE_FAILED_INIT;
+ }
}
}
else {
- if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq)) {
+ if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq))
result = CURLE_FAILED_INIT;
- goto quit_curl;
- }
}
+ if(result)
+ return result;
+ }
+ if(!state->urlnode) {
+ /* first time caller, setup things */
+ state->urlnode = config->url_list;
+ state->infilenum = 1;
}
- for(urlnode = config->url_list; urlnode; urlnode = urlnode->next) {
- unsigned long li;
- unsigned long up; /* upload file counter within a single upload glob */
+ while(config->state.urlnode) {
char *infiles; /* might be a glob pattern */
- char *outfiles;
- unsigned long infilenum;
- URLGlob *inglob;
+ URLGlob *inglob = state->inglob;
bool metalink = FALSE; /* metalink download? */
metalinkfile *mlfile;
metalink_resource *mlres;
- outfiles = NULL;
- infilenum = 1;
- inglob = NULL;
-
+ urlnode = config->state.urlnode;
if(urlnode->flags & GETOUT_METALINK) {
metalink = 1;
if(mlfile_last == NULL) {
@@ -727,13 +753,15 @@ static CURLcode create_transfers(struct GlobalConfig *global,
Curl_safefree(urlnode->outfile);
Curl_safefree(urlnode->infile);
urlnode->flags = 0;
+ config->state.urlnode = urlnode->next;
+ state->up = 0;
continue; /* next URL please */
}
/* save outfile pattern before expansion */
- if(urlnode->outfile) {
- outfiles = strdup(urlnode->outfile);
- if(!outfiles) {
+ if(urlnode->outfile && !state->outfiles) {
+ state->outfiles = strdup(urlnode->outfile);
+ if(!state->outfiles) {
helpf(global->errors, "out of memory\n");
result = CURLE_OUT_OF_MEMORY;
break;
@@ -742,88 +770,95 @@ static CURLcode create_transfers(struct GlobalConfig *global,
infiles = urlnode->infile;
- if(!config->globoff && infiles) {
+ if(!config->globoff && infiles && !inglob) {
/* Unless explicitly shut off */
- result = glob_url(&inglob, infiles, &infilenum,
+ result = glob_url(&inglob, infiles, &state->infilenum,
global->showerror?global->errors:NULL);
- if(result) {
- Curl_safefree(outfiles);
+ if(result)
break;
- }
+ config->state.inglob = inglob;
}
- /* Here's the loop for uploading multiple files within the same
- single globbed string. If no upload, we enter the loop once anyway. */
- for(up = 0 ; up < infilenum; up++) {
-
- char *uploadfile; /* a single file, never a glob */
+ {
int separator;
- URLGlob *urls;
unsigned long urlnum;
- uploadfile = NULL;
- urls = NULL;
- urlnum = 0;
-
- if(!up && !infiles)
+ if(!state->up && !infiles)
Curl_nop_stmt;
else {
- if(inglob) {
- result = glob_next_url(&uploadfile, inglob);
- if(result == CURLE_OUT_OF_MEMORY)
- helpf(global->errors, "out of memory\n");
- }
- else if(!up) {
- uploadfile = strdup(infiles);
- if(!uploadfile) {
- helpf(global->errors, "out of memory\n");
- result = CURLE_OUT_OF_MEMORY;
+ if(!state->uploadfile) {
+ if(inglob) {
+ result = glob_next_url(&state->uploadfile, inglob);
+ if(result == CURLE_OUT_OF_MEMORY)
+ helpf(global->errors, "out of memory\n");
+ }
+ else if(!state->up) {
+ state->uploadfile = strdup(infiles);
+ if(!state->uploadfile) {
+ helpf(global->errors, "out of memory\n");
+ result = CURLE_OUT_OF_MEMORY;
+ }
}
}
- if(!uploadfile)
+ if(result)
break;
}
- if(metalink) {
- /* For Metalink download, we don't use glob. Instead we use
- the number of resources as urlnum. */
- urlnum = count_next_metalink_resource(mlfile);
- }
- else if(!config->globoff) {
- /* Unless explicitly shut off, we expand '{...}' and '[...]'
- expressions and return total number of URLs in pattern set */
- result = glob_url(&urls, urlnode->url, &urlnum,
- global->showerror?global->errors:NULL);
- if(result) {
- Curl_safefree(uploadfile);
- break;
+ if(!state->urlnum) {
+ if(metalink) {
+ /* For Metalink download, we don't use glob. Instead we use
+ the number of resources as urlnum. */
+ urlnum = count_next_metalink_resource(mlfile);
}
+ else if(!config->globoff) {
+ /* Unless explicitly shut off, we expand '{...}' and '[...]'
+ expressions and return total number of URLs in pattern set */
+ result = glob_url(&state->urls, urlnode->url, &state->urlnum,
+ global->showerror?global->errors:NULL);
+ if(result)
+ break;
+ urlnum = state->urlnum;
+ }
+ else
+ urlnum = 1; /* without globbing, this is a single URL */
}
else
- urlnum = 1; /* without globbing, this is a single URL */
+ urlnum = state->urlnum;
/* if multiple files extracted to stdout, insert separators! */
- separator = ((!outfiles || !strcmp(outfiles, "-")) && urlnum > 1);
+ separator = ((!state->outfiles ||
+ !strcmp(state->outfiles, "-")) && urlnum > 1);
/* Here's looping around each globbed URL */
- for(li = 0 ; li < urlnum; li++) {
+
+ if(state->li >= urlnum) {
+ state->li = 0;
+ state->up++;
+ }
+ if(state->up < state->infilenum) {
struct per_transfer *per;
struct OutStruct *outs;
struct InStruct *input;
struct OutStruct *heads;
struct HdrCbData *hdrcbdata = NULL;
CURL *curl = curl_easy_init();
-
- result = add_transfer(&per);
+ result = add_per_transfer(&per);
if(result || !curl) {
- free(uploadfile);
curl_easy_cleanup(curl);
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
+ }
+ if(state->uploadfile) {
+ per->uploadfile = strdup(state->uploadfile);
+ if(!per->uploadfile) {
+ curl_easy_cleanup(curl);
+ result = CURLE_OUT_OF_MEMORY;
+ break;
+ }
}
+ *added = TRUE;
per->config = config;
per->curl = curl;
- per->uploadfile = uploadfile;
/* default headers output stream is stdout */
heads = &per->heads;
@@ -838,7 +873,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(!newfile) {
warnf(config->global, "Failed to open %s\n", config->headerfile);
result = CURLE_WRITE_ERROR;
- goto quit_curl;
+ break;
}
else {
heads->filename = config->headerfile;
@@ -873,26 +908,26 @@ static CURLcode create_transfers(struct GlobalConfig *global,
per->outfile = strdup(mlfile->filename);
if(!per->outfile) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
per->this_url = strdup(mlres->url);
if(!per->this_url) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
per->mlfile = mlfile;
}
else {
- if(urls) {
- result = glob_next_url(&per->this_url, urls);
+ if(state->urls) {
+ result = glob_next_url(&per->this_url, state->urls);
if(result)
- goto show_error;
+ break;
}
- else if(!li) {
+ else if(!state->li) {
per->this_url = strdup(urlnode->url);
if(!per->this_url) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
}
else
@@ -900,11 +935,11 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(!per->this_url)
break;
- if(outfiles) {
- per->outfile = strdup(outfiles);
+ if(state->outfiles) {
+ per->outfile = strdup(state->outfiles);
if(!per->outfile) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
}
}
@@ -922,22 +957,22 @@ static CURLcode create_transfers(struct GlobalConfig *global,
/* extract the file name from the URL */
result = get_url_file_name(&per->outfile, per->this_url);
if(result)
- goto show_error;
+ break;
if(!*per->outfile && !config->content_disposition) {
helpf(global->errors, "Remote file name has no length!\n");
result = CURLE_WRITE_ERROR;
- goto quit_urls;
+ break;
}
}
- else if(urls) {
+ else if(state->urls) {
/* fill '#1' ... '#9' terms from URL pattern */
char *storefile = per->outfile;
- result = glob_match_url(&per->outfile, storefile, urls);
+ result = glob_match_url(&per->outfile, storefile, state->urls);
Curl_safefree(storefile);
if(result) {
/* bad globbing */
warnf(config->global, "bad output glob!\n");
- goto quit_urls;
+ break;
}
}
@@ -947,11 +982,8 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(config->create_dirs || metalink) {
result = create_dir_hierarchy(per->outfile, global->errors);
/* create_dir_hierarchy shows error upon CURLE_WRITE_ERROR */
- if(result == CURLE_WRITE_ERROR)
- goto quit_urls;
- if(result) {
- goto show_error;
- }
+ if(result)
+ break;
}
if((urlnode->flags & GETOUT_USEREMOTE)
@@ -977,16 +1009,16 @@ static CURLcode create_transfers(struct GlobalConfig *global,
#ifdef __VMS
/* open file for output, forcing VMS output format into stream
mode which is needed for stat() call above to always work. */
- FILE *file = fopen(outfile, config->resume_from?"ab":"wb",
+ FILE *file = fopen(outfile, "ab",
"ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0");
#else
/* open file for output: */
- FILE *file = fopen(per->outfile, config->resume_from?"ab":"wb");
+ FILE *file = fopen(per->outfile, "ab");
#endif
if(!file) {
helpf(global->errors, "Can't open '%s'!\n", per->outfile);
result = CURLE_WRITE_ERROR;
- goto quit_urls;
+ break;
}
outs->fopened = TRUE;
outs->stream = file;
@@ -1006,7 +1038,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
char *nurl = add_file_name_to_url(per->this_url, per->uploadfile);
if(!nurl) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
per->this_url = nurl;
}
@@ -1065,7 +1097,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(urlnum > 1 && !global->mute) {
per->separator_err =
aprintf("\n[%lu/%lu]: %s --> %s",
- li + 1, urlnum, per->this_url,
+ state->li + 1, urlnum, per->this_url,
per->outfile ? per->outfile : "<stdout>");
if(separator)
per->separator = aprintf("%s%s", CURLseparator, per->this_url);
@@ -1103,7 +1135,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(!urlbuffer) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
Curl_safefree(per->this_url); /* free previous URL */
@@ -1124,11 +1156,10 @@ static CURLcode create_transfers(struct GlobalConfig *global,
config->terminal_binary_ok =
(per->outfile && !strcmp(per->outfile, "-"));
- /* avoid having this setopt added to the --libcurl source
- output */
+ /* Avoid having this setopt added to the --libcurl source output. */
result = curl_easy_setopt(curl, CURLOPT_SHARE, share);
if(result)
- goto show_error;
+ break;
if(!config->tcp_nodelay)
my_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
@@ -1256,12 +1287,14 @@ static CURLcode create_transfers(struct GlobalConfig *global,
case HTTPREQ_MIMEPOST:
result = tool2curlmime(curl, config->mimeroot, &config->mimepost);
if(result)
- goto show_error;
+ break;
my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost);
break;
default:
break;
}
+ if(result)
+ break;
/* new in libcurl 7.10.6 (default is Basic) */
if(config->authtype)
@@ -1371,7 +1404,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
"SSL_CERT_DIR environment variable":"--capath");
}
else if(result)
- goto show_error;
+ break;
}
/* For the time being if --proxy-capath is not set then we use the
--capath value for it, if any. See #1257 */
@@ -1388,7 +1421,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
}
}
else if(result)
- goto show_error;
+ break;
}
if(config->crlfile)
@@ -1503,7 +1536,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
Curl_safefree(home);
}
if(result)
- goto show_error;
+ break;
}
}
@@ -1607,7 +1640,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
if(config->engine) {
result = res_setopt_str(curl, CURLOPT_SSLENGINE, config->engine);
if(result)
- goto show_error;
+ break;
}
/* new in curl 7.10.7, extended in 7.19.4. Modified to use
@@ -1855,7 +1888,7 @@ static CURLcode create_transfers(struct GlobalConfig *global,
outs->metalink_parser = metalink_parser_context_new();
if(outs->metalink_parser == NULL) {
result = CURLE_OUT_OF_MEMORY;
- goto show_error;
+ break;
}
fprintf(config->global->errors,
"Metalink: parsing (%s) metalink/XML...\n", per->this_url);
@@ -1874,51 +1907,37 @@ static CURLcode create_transfers(struct GlobalConfig *global,
per->retry_sleep = per->retry_sleep_default; /* ms */
per->retrystart = tvnow();
- } /* loop to the next URL */
-
- show_error:
- quit_urls:
-
- if(urls) {
- /* Free list of remaining URLs */
- glob_cleanup(urls);
- urls = NULL;
+ state->li++;
}
-
- if(infilenum > 1) {
- /* when file globbing, exit loop upon critical error */
- if(is_fatal_error(result))
- break;
+ else {
+ /* Free this URL node data without destroying the
+ the node itself nor modifying next pointer. */
+ Curl_safefree(urlnode->outfile);
+ Curl_safefree(urlnode->infile);
+ urlnode->flags = 0;
+ glob_cleanup(state->urls);
+ state->urls = NULL;
+ state->urlnum = 0;
+
+ Curl_safefree(state->outfiles);
+ Curl_safefree(state->uploadfile);
+ if(state->inglob) {
+ /* Free list of globbed upload files */
+ glob_cleanup(state->inglob);
+ state->inglob = NULL;
+ }
+ config->state.urlnode = urlnode->next;
+ state->up = 0;
+ continue;
}
- else if(result)
- /* when not file globbing, exit loop upon any error */
- break;
-
- } /* loop to the next globbed upload file */
-
- /* Free loop-local allocated memory */
-
- Curl_safefree(outfiles);
-
- if(inglob) {
- /* Free list of globbed upload files */
- glob_cleanup(inglob);
- inglob = NULL;
}
+ break;
+ }
- /* Free this URL node data without destroying the
- the node itself nor modifying next pointer. */
- Curl_safefree(urlnode->url);
- Curl_safefree(urlnode->outfile);
- Curl_safefree(urlnode->infile);
- urlnode->flags = 0;
-
- } /* for-loop through all URLs */
- quit_curl:
-
- /* Free function-local referenced allocated memory */
- Curl_safefree(httpgetfields);
-
+ if(!*added || result) {
+ *added = FALSE;
+ single_transfer_cleanup(config);
+ }
return result;
}
@@ -1929,18 +1948,23 @@ static long all_added; /* number of easy handles currently added */
* to add even after this call returns. sets 'addedp' to TRUE if one or more
* transfers were added.
*/
-static int add_parallel_transfers(struct GlobalConfig *global,
- CURLM *multi,
- bool *morep,
- bool *addedp)
+static CURLcode add_parallel_transfers(struct GlobalConfig *global,
+ CURLM *multi,
+ CURLSH *share,
+ bool *morep,
+ bool *addedp)
{
struct per_transfer *per;
- CURLcode result;
+ CURLcode result = CURLE_OK;
CURLMcode mcode;
*addedp = FALSE;
*morep = FALSE;
+ result = create_transfer(global, share, addedp);
+ if(result || !*addedp)
+ return result;
for(per = transfers; per && (all_added < global->parallel_max);
per = per->next) {
+ bool getadded = FALSE;
if(per->added)
/* already added */
continue;
@@ -1956,6 +1980,10 @@ static int add_parallel_transfers(struct GlobalConfig *global,
mcode = curl_multi_add_handle(multi, per->curl);
if(mcode)
return CURLE_OUT_OF_MEMORY;
+
+ result = create_transfer(global, share, &getadded);
+ if(result)
+ return result;
per->added = TRUE;
all_added++;
*addedp = TRUE;
@@ -1968,7 +1996,6 @@ static CURLcode parallel_transfers(struct GlobalConfig *global,
CURLSH *share)
{
CURLM *multi;
- bool done = FALSE;
CURLMcode mcode = CURLM_OK;
CURLcode result = CURLE_OK;
int still_running = 1;
@@ -1980,12 +2007,12 @@ static CURLcode parallel_transfers(struct GlobalConfig *global,
if(!multi)
return CURLE_OUT_OF_MEMORY;
- result = add_parallel_transfers(global, multi,
+ result = add_parallel_transfers(global, multi, share,
&more_transfers, &added_transfers);
if(result)
return result;
- while(!done && !mcode && (still_running || more_transfers)) {
+ while(!mcode && (still_running || more_transfers)) {
mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL);
if(!mcode)
mcode = curl_multi_perform(multi, &still_running);
@@ -2006,18 +2033,19 @@ static CURLcode parallel_transfers(struct GlobalConfig *global,
curl_easy_getinfo(easy, CURLINFO_PRIVATE, (void *)&ended);
curl_multi_remove_handle(multi, easy);
- result = post_transfer(global, share, ended, result, &retry);
+ result = post_per_transfer(global, ended, result, &retry);
if(retry)
continue;
progress_finalize(ended); /* before it goes away */
all_added--; /* one fewer added */
removed = TRUE;
- (void)del_transfer(ended);
+ (void)del_per_transfer(ended);
}
} while(msg);
if(removed) {
/* one or more transfers completed, add more! */
- (void)add_parallel_transfers(global, multi, &more_transfers,
+ (void)add_parallel_transfers(global, multi, share,
+ &more_transfers,
&added_transfers);
if(added_transfers)
/* we added new ones, make sure the loop doesn't exit yet */
@@ -2047,8 +2075,14 @@ static CURLcode serial_transfers(struct GlobalConfig *global,
CURLcode returncode = CURLE_OK;
CURLcode result = CURLE_OK;
struct per_transfer *per;
+ bool added = FALSE;
+
+ result = create_transfer(global, share, &added);
+ if(result || !added)
+ return result;
for(per = transfers; per;) {
bool retry;
+ bool bailout = FALSE;
result = pre_transfer(global, per);
if(result)
break;
@@ -2070,28 +2104,48 @@ static CURLcode serial_transfers(struct GlobalConfig *global,
/* store the result of the actual transfer */
returncode = result;
- result = post_transfer(global, share, per, result, &retry);
+ result = post_per_transfer(global, per, result, &retry);
if(retry)
continue;
- per = del_transfer(per);
/* Bail out upon critical errors or --fail-early */
if(result || is_fatal_error(returncode) ||
(returncode && global->fail_early))
+ bailout = TRUE;
+ else {
+ /* setup the next one just before we delete this */
+ result = create_transfer(global, share, &added);
+ if(result)
+ bailout = TRUE;
+ }
+
+ /* Release metalink related resources here */
+ delete_metalinkfile(per->mlfile);
+
+ per = del_per_transfer(per);
+
+ if(bailout)
break;
}
if(returncode)
/* returncode errors have priority */
result = returncode;
+
+ if(result)
+ single_transfer_cleanup(global->current);
+
return result;
}
-static CURLcode operate_do(struct GlobalConfig *global,
- struct OperationConfig *config,
- CURLSH *share)
+/* setup a transfer for the given config */
+static CURLcode transfer_per_config(struct GlobalConfig *global,
+ struct OperationConfig *config,
+ CURLSH *share,
+ bool *added)
{
CURLcode result = CURLE_OK;
bool capath_from_env;
+ *added = FALSE;
/* Check we have a url */
if(!config->url_list || !config->url_list->url) {
@@ -2180,13 +2234,34 @@ static CURLcode operate_do(struct GlobalConfig *global,
}
if(!result)
- /* loop through the list of given URLs */
- result = create_transfers(global, config, share, capath_from_env);
+ result = single_transfer(global, config, share, capath_from_env, added);
return result;
}
-static CURLcode operate_transfers(struct GlobalConfig *global,
+/*
+ * 'create_transfer' gets the details and sets up a new transfer if 'added'
+ * returns TRUE.
+ */
+static CURLcode create_transfer(struct GlobalConfig *global,
+ CURLSH *share,
+ bool *added)
+{
+ CURLcode result = CURLE_OK;
+ *added = FALSE;
+ while(global->current) {
+ result = transfer_per_config(global, global->current, share, added);
+ if(!result && !*added) {
+ /* when one set is drained, continue to next */
+ global->current = global->current->next;
+ continue;
+ }
+ break;
+ }
+ return result;
+}
+
+static CURLcode run_all_transfers(struct GlobalConfig *global,
CURLSH *share,
CURLcode result)
{
@@ -2206,13 +2281,17 @@ static CURLcode operate_transfers(struct GlobalConfig *global,
/* cleanup if there are any left */
for(per = transfers; per;) {
bool retry;
- (void)post_transfer(global, share, per, result, &retry);
+ CURLcode result2 = post_per_transfer(global, per, result, &retry);
+ if(!result)
+ /* don't overwrite the original error */
+ result = result2;
+
/* Free list of given URLs */
clean_getout(per->config);
/* Release metalink related resources here */
clean_metalink(per->config);
- per = del_transfer(per);
+ per = del_per_transfer(per);
}
/* Reset the global config variables */
@@ -2223,7 +2302,7 @@ static CURLcode operate_transfers(struct GlobalConfig *global,
return result;
}
-CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
+CURLcode operate(struct GlobalConfig *global, int argc, argv_item_t argv[])
{
CURLcode result = CURLE_OK;
@@ -2236,18 +2315,18 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
if((argc == 1) ||
(!curl_strequal(argv[1], "-q") &&
!curl_strequal(argv[1], "--disable"))) {
- parseconfig(NULL, config); /* ignore possible failure */
+ parseconfig(NULL, global); /* ignore possible failure */
/* If we had no arguments then make sure a url was specified in .curlrc */
- if((argc < 2) && (!config->first->url_list)) {
- helpf(config->errors, NULL);
+ if((argc < 2) && (!global->first->url_list)) {
+ helpf(global->errors, NULL);
result = CURLE_FAILED_INIT;
}
}
if(!result) {
/* Parse the command line arguments */
- ParameterError res = parse_args(config, argc, argv);
+ ParameterError res = parse_args(global, argc, argv);
if(res) {
result = CURLE_OK;
@@ -2270,7 +2349,7 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
}
else {
#ifndef CURL_DISABLE_LIBCURL_OPTION
- if(config->libcurl) {
+ if(global->libcurl) {
/* Initialise the libcurl source output */
result = easysrc_init();
}
@@ -2279,11 +2358,11 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
/* Perform the main operations */
if(!result) {
size_t count = 0;
- struct OperationConfig *operation = config->first;
+ struct OperationConfig *operation = global->first;
CURLSH *share = curl_share_init();
if(!share) {
#ifndef CURL_DISABLE_LIBCURL_OPTION
- if(config->libcurl) {
+ if(global->libcurl) {
/* Cleanup the libcurl source output */
easysrc_cleanup();
}
@@ -2305,30 +2384,24 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
} while(!result && operation);
/* Set the current operation pointer */
- config->current = config->first;
-
- /* Setup all transfers */
- while(!result && config->current) {
- result = operate_do(config, config->current, share);
- config->current = config->current->next;
- }
+ global->current = global->first;
/* now run! */
- result = operate_transfers(config, share, result);
+ result = run_all_transfers(global, share, result);
curl_share_cleanup(share);
#ifndef CURL_DISABLE_LIBCURL_OPTION
- if(config->libcurl) {
+ if(global->libcurl) {
/* Cleanup the libcurl source output */
easysrc_cleanup();
/* Dump the libcurl code if previously enabled */
- dumpeasysrc(config);
+ dumpeasysrc(global);
}
#endif
}
else
- helpf(config->errors, "out of memory\n");
+ helpf(global->errors, "out of memory\n");
}
}
diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c
index f3fcc699f..543bf4302 100644
--- a/src/tool_operhlp.c
+++ b/src/tool_operhlp.c
@@ -37,18 +37,20 @@
void clean_getout(struct OperationConfig *config)
{
- struct getout *next;
- struct getout *node = config->url_list;
-
- while(node) {
- next = node->next;
- Curl_safefree(node->url);
- Curl_safefree(node->outfile);
- Curl_safefree(node->infile);
- Curl_safefree(node);
- node = next;
+ if(config) {
+ struct getout *next;
+ struct getout *node = config->url_list;
+
+ while(node) {
+ next = node->next;
+ Curl_safefree(node->url);
+ Curl_safefree(node->outfile);
+ Curl_safefree(node->infile);
+ Curl_safefree(node);
+ node = next;
+ }
+ config->url_list = NULL;
}
- config->url_list = NULL;
}
bool output_expected(const char *url, const char *uploadfile)
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c
index c9dac4f0f..af47516b6 100644
--- a/src/tool_paramhlp.c
+++ b/src/tool_paramhlp.c
@@ -58,12 +58,17 @@ struct getout *new_getout(struct OperationConfig *config)
ParameterError file2string(char **bufp, FILE *file)
{
- char *ptr;
char *string = NULL;
-
if(file) {
+ char *ptr;
+ size_t alloc = 512;
+ size_t alloc_needed;
char buffer[256];
size_t stringlen = 0;
+ string = malloc(alloc);
+ if(!string)
+ return PARAM_NO_MEM;
+
while(fgets(buffer, sizeof(buffer), file)) {
size_t buflen;
ptr = strchr(buffer, '\r');
@@ -73,12 +78,24 @@ ParameterError file2string(char **bufp, FILE *file)
if(ptr)
*ptr = '\0';
buflen = strlen(buffer);
- ptr = realloc(string, stringlen + buflen + 1);
- if(!ptr) {
- Curl_safefree(string);
- return PARAM_NO_MEM;
+ alloc_needed = stringlen + buflen + 1;
+ if(alloc < alloc_needed) {
+#if SIZEOF_SIZE_T < 8
+ if(alloc >= (size_t)SIZE_T_MAX/2) {
+ Curl_safefree(string);
+ return PARAM_NO_MEM;
+ }
+#endif
+ /* doubling is enough since the string to add is always max 256 bytes
+ and the alloc size start at 512 */
+ alloc *= 2;
+ ptr = realloc(string, alloc);
+ if(!ptr) {
+ Curl_safefree(string);
+ return PARAM_NO_MEM;
+ }
+ string = ptr;
}
- string = ptr;
strcpy(string + stringlen, buffer);
stringlen += buflen;
}
diff --git a/src/tool_setopt.h b/src/tool_setopt.h
index 690b2c6f3..63401337f 100644
--- a/src/tool_setopt.h
+++ b/src/tool_setopt.h
@@ -33,7 +33,7 @@
if(!tool_setopt_skip(opt)) { \
result = (v); \
if(result) \
- goto show_error; \
+ break; \
} \
} WHILE_FALSE
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
index d6f7104ac..450cdcf32 100644
--- a/src/tool_urlglob.c
+++ b/src/tool_urlglob.c
@@ -488,6 +488,9 @@ void glob_cleanup(URLGlob* glob)
size_t i;
int elem;
+ if(!glob)
+ return;
+
for(i = 0; i < glob->size; i++) {
if((glob->pattern[i].type == UPTSet) &&
(glob->pattern[i].content.Set.elements)) {
diff --git a/src/tool_version.h b/src/tool_version.h
index 8dfc9e7a9..7c8087f81 100644
--- a/src/tool_version.h
+++ b/src/tool_version.h
@@ -25,7 +25,7 @@
#define CURL_NAME "curl"
#define CURL_COPYRIGHT LIBCURL_COPYRIGHT
-#define CURL_VERSION "7.66.0"
+#define CURL_VERSION "7.67.0"
#define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
#define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
#define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
diff --git a/tests/certs/Server-localhost-lastSAN-sv.crl b/tests/certs/Server-localhost-lastSAN-sv.crl
index 0b4314124..f87677487 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.crl
+++ b/tests/certs/Server-localhost-lastSAN-sv.crl
@@ -1,12 +1,12 @@
-----BEGIN X509 CRL-----
MIIB3DCBxQIBATANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJOTjExMC8GA1UE
CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDEmMCQG
-A1UEAwwdTm9ydGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IXDTE4MDkwNTIzMjkw
-MVoXDTE4MTAwNTIzMjkwMVowGTAXAgYN+LitKqAXDTE4MDkwNTIzMjkwMVqgDjAM
-MAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBBQUAA4IBAQBc8MVCmUUhPb/yJ05wh1EA
-rBbLCjTYTDL9DW5YJIoBUKYWi5DGETS5BmgPU3ci6Pfa6eJ51oRurOCJHnL691Gp
-Y1d6R5CiM8mtHOPGCAgvvo0x+xJ/GzikxaggTDPA2CZWAFjBApMNdMvGTwurcnW9
-0jOl7zsfFoxSDlRqdFw7QW7Axju8vxRpMj6/pVBKmqgM+NUavcVPmRAYlsxCaeNH
-cdBviuw4qt3T6eLcb/RNIuCuXcp8a7ysqkGdSS/Pp/drOGZAmugbj1kmjS8b0n1M
-9L8wxG0k/TsgKSlWy+wbCJcUiYHgwzTd9i/XEdwxGvOnKFeiCvqShhkEG7QjfHs2
+A1UEAwwdTm9ydGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IXDTE5MTEwMjEyNTMy
+N1oXDTE5MTIwMjEyNTMyN1owGTAXAgYOTbnGJLAXDTE5MTEwMjEyNTMyNlqgDjAM
+MAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBBQUAA4IBAQClxELmQvUD2S0UcNFbjMe/
+vv80HtpnwhTK356DUggVBh+EjvIXT4EakBbxxgDZMkaxJYH70RQ0UPLtB41pfmg3
+BS6Gl/0Vn+cAk8w/+dG4DHibdeqSPjIHCaAlkKqHV89Lp7IS6qrD0Bn/L7De6O7c
+4xLvRiDvx/cO5uAkX8vOtzKsOU/0U06QSSGK09dRL2mHbaH4FQj2PFMgcDd1GxAQ
+saii0bWZ6qLiYkQRtJGAplD+uqOaSSsioqVFy/NjaIip0axNtCG9sBhvp6lTpeiR
+Phl04I+WyKoP5f/NTU+fKbWarWka4evPSpRM2o9QYrYb/vj0TMK8lJ3JqgwlLrJ+
-----END X509 CRL-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.crt b/tests/certs/Server-localhost-lastSAN-sv.crt
index b3116b695..578fff753 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.crt
+++ b/tests/certs/Server-localhost-lastSAN-sv.crt
@@ -1,41 +1,42 @@
Certificate:
Data:
Version: 3 (0x2)
- Serial Number: 15361901406880 (0xdf8b8ad2aa0)
- Signature Algorithm: sha1WithRSAEncryption
+ Serial Number:
+ 0e:4d:b9:c6:24:b0
+ Signature Algorithm: sha256WithRSAEncryption
Issuer:
countryName = NN
organizationName = Edel Curl Arctic Illudium Research Cloud
commonName = Northern Nowhere Trust Anchor
Validity
- Not Before: Sep 5 23:29:01 2018 GMT
- Not After : Nov 22 23:29:01 2026 GMT
+ Not Before: Nov 2 12:53:25 2019 GMT
+ Not After : Jan 19 12:53:25 2028 GMT
Subject:
countryName = NN
organizationName = Edel Curl Arctic Illudium Research Cloud
commonName = localhost.nn
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (2048 bit)
Modulus:
- 00:df:16:15:5f:2a:a4:50:cf:3a:a8:79:6e:22:8d:
- 95:16:b7:4d:7d:d2:1f:4f:6d:2d:7a:7d:dc:8a:4f:
- 53:7b:5f:c9:de:5c:88:6c:a2:74:26:35:1c:78:68:
- c1:60:25:a7:7b:b6:1a:9a:aa:33:d0:9f:5e:f2:2e:
- 21:04:8c:0d:9a:28:f5:61:40:3c:34:1a:9b:8a:70:
- 81:6d:83:9e:7c:d0:4c:d9:79:dc:37:d9:24:6e:73:
- c7:61:31:71:e9:f5:97:b7:65:ad:3d:f6:af:20:6f:
- 56:b9:b5:42:b5:3d:96:61:31:eb:0d:4c:e9:f5:31:
- d3:25:af:40:b3:bb:81:04:7f:1a:ce:21:18:83:52:
- 2d:51:31:ae:82:f9:cb:10:d3:d5:06:af:f8:71:e8:
- a3:c6:9f:7b:48:da:e2:28:af:1c:ff:41:6d:32:81:
- 45:59:d7:64:e4:b1:d7:c9:86:6a:0b:65:71:66:d6:
- 42:a8:67:fd:83:49:20:75:16:1e:bb:1b:85:5c:7e:
- e2:8f:5f:1c:81:d3:8a:95:d6:92:5c:9e:7f:a2:10:
- 08:e1:df:ae:69:68:3f:8d:dd:79:4f:da:3f:79:b5:
- 02:97:57:30:67:4d:3d:76:35:b5:4f:d1:5d:35:dd:
- d4:b5:6b:57:b2:e0:23:35:ad:1a:bf:6f:77:e6:bc:
- 58:ed
+ 00:bd:97:0e:a7:6d:b6:73:8c:d0:21:6b:f3:36:74:
+ 5d:0a:aa:3a:f0:fa:6e:b1:5c:1c:13:74:ca:67:2b:
+ 22:03:d1:a6:3c:25:ef:87:4f:e8:38:9f:21:1d:2e:
+ 88:12:36:66:82:03:02:4c:f8:17:35:02:95:31:b1:
+ 53:40:21:24:2f:00:f0:bf:80:58:16:b1:92:b3:d3:
+ 78:bf:78:cb:0a:91:0c:d2:6d:5d:b2:1f:41:73:16:
+ 02:7c:1a:cd:16:25:c9:e1:1b:81:bd:84:93:4c:63:
+ ce:38:f4:3e:ad:98:6b:00:89:a8:ba:f5:7e:08:83:
+ f3:9a:f5:98:b8:9f:d6:d8:c7:d4:f3:07:1c:8f:ef:
+ bc:29:10:60:8c:85:8b:4c:7a:73:c7:9f:a8:23:2f:
+ c4:47:f5:18:85:98:fb:27:de:58:93:4b:08:a5:66:
+ c9:df:db:f0:22:f8:64:9f:a1:56:89:97:ab:02:2c:
+ 5a:99:f2:6f:bf:72:31:90:22:32:ae:86:25:6b:13:
+ c6:72:ec:df:2e:c8:12:00:c1:e3:38:b4:a0:40:ba:
+ 01:61:c2:d7:b1:ef:7d:4b:29:18:e2:fe:28:d0:98:
+ e4:65:3f:4c:34:39:e4:82:a9:ca:b2:3d:c4:91:8f:
+ a0:94:bf:e3:f8:b3:73:48:b7:fe:fa:04:43:e7:b5:
+ bc:bd
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
@@ -45,48 +46,48 @@ Certificate:
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Key Identifier:
- 7C:9A:EA:9B:92:98:FB:77:25:89:8B:EF:D3:F4:88:34:AF:EA:24:CC
+ 4E:54:63:95:A1:58:0C:FA:BD:3E:58:26:AF:AF:A4:F3:66:1A:CB:25
X509v3 Authority Key Identifier:
keyid:12:CA:BA:4B:46:04:A7:75:8A:2C:E8:0E:54:94:BC:12:65:A6:7B:CE
X509v3 Basic Constraints:
CA:FALSE
- Signature Algorithm: sha1WithRSAEncryption
- 0f:97:60:47:2f:22:9f:d4:16:99:5a:ed:f4:b5:54:31:bf:9f:
- a1:bd:2d:8b:eb:c1:24:db:73:30:c7:46:d6:4c:c8:c6:38:0c:
- 9a:e6:d6:5e:e8:a7:fb:9f:b6:44:66:73:43:86:46:10:c0:4c:
- 40:4e:c1:d7:e4:41:0b:f0:61:f0:6f:45:8c:5a:14:40:42:97:
- c3:03:d0:ff:6d:4a:06:80:65:49:d4:2f:07:9d:86:59:6b:5b:
- 9e:bc:0c:46:8a:62:da:c0:22:af:13:6c:0d:9d:54:5e:46:53:
- a5:aa:f2:80:44:c7:07:6e:f7:b0:4c:37:5c:31:08:a0:37:df:
- 8a:35:92:3c:8c:91:2f:64:4f:d3:a0:eb:95:b3:4a:9e:f7:ac:
- 25:ad:06:13:5c:dd:bd:d5:6b:74:8d:c7:c5:a6:b4:89:27:fd:
- b7:c2:24:a7:6a:b3:64:e6:e6:31:91:35:fc:0e:15:14:38:d6:
- 39:b0:c4:b2:c1:c8:c7:ed:25:d7:b0:a9:b9:a0:70:33:42:90:
- 86:33:2a:d8:d5:8a:02:e6:ab:8d:92:d6:ae:b4:1d:e9:6c:22:
- a5:2f:1a:48:48:2b:5c:b8:30:01:4b:27:1a:d3:cf:21:77:ab:
- 9f:bc:55:34:2e:9f:03:2b:17:0b:c3:44:8e:a8:94:ae:92:a2:
- 9a:33:c0:8e
+ Signature Algorithm: sha256WithRSAEncryption
+ 2c:f9:48:33:7c:93:ca:3c:9c:58:92:8c:2b:87:61:9f:0d:9c:
+ 9d:e8:43:43:12:d6:a3:40:71:ec:cb:31:76:80:68:b1:54:d1:
+ 86:f4:b3:9e:c8:50:62:b4:87:12:be:9b:d6:3c:2b:cf:22:0e:
+ 66:26:c2:31:dd:1f:c6:97:1e:61:a4:51:ea:68:75:81:66:b9:
+ 3b:a6:1f:f6:80:ec:6b:aa:65:66:0c:02:ab:c9:57:bd:6a:4e:
+ 6d:24:30:13:7b:65:17:60:9a:14:37:57:f7:22:66:55:7d:1a:
+ 1a:5b:27:43:3b:d4:88:bc:2f:d3:d7:bb:d5:3f:9b:25:26:5d:
+ 39:a0:4c:8a:84:2c:db:04:87:8a:df:49:7d:4b:d2:85:7a:09:
+ 5e:df:6b:1b:b5:6e:9c:bb:2b:f6:c5:01:19:5a:87:d0:cf:16:
+ 67:8b:54:41:87:c1:33:c3:21:f6:e5:84:d2:84:5d:da:82:cd:
+ 39:4d:50:97:f3:83:37:9e:e5:04:0e:dc:c6:20:d1:b3:f6:c7:
+ 3d:dd:95:be:8c:b9:72:72:7a:71:66:aa:4a:8e:cf:37:38:e8:
+ c8:06:69:68:8d:d8:d6:8b:4c:23:50:27:fa:e9:bb:2a:a6:89:
+ 56:ad:be:4d:bd:be:0c:d7:55:b4:f4:b9:f7:6a:b5:2c:7f:5f:
+ 9f:df:f6:61
-----BEGIN CERTIFICATE-----
-MIID3jCCAsagAwIBAgIGDfi4rSqgMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+MIID3jCCAsagAwIBAgIGDk25xiSwMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYT
Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
-Fw0xODA5MDUyMzI5MDFaFw0yNjExMjIyMzI5MDFaMFcxCzAJBgNVBAYTAk5OMTEw
+Fw0xOTExMDIxMjUzMjVaFw0yODAxMTkxMjUzMjVaMFcxCzAJBgNVBAYTAk5OMTEw
LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
-ggEKAoIBAQDfFhVfKqRQzzqoeW4ijZUWt0190h9PbS16fdyKT1N7X8neXIhsonQm
-NRx4aMFgJad7thqaqjPQn17yLiEEjA2aKPVhQDw0GpuKcIFtg5580EzZedw32SRu
-c8dhMXHp9Ze3Za099q8gb1a5tUK1PZZhMesNTOn1MdMlr0Czu4EEfxrOIRiDUi1R
-Ma6C+csQ09UGr/hx6KPGn3tI2uIorxz/QW0ygUVZ12TksdfJhmoLZXFm1kKoZ/2D
-SSB1Fh67G4VcfuKPXxyB04qV1pJcnn+iEAjh365paD+N3XlP2j95tQKXVzBnTT12
-NbVP0V013dS1a1ey4CM1rRq/b3fmvFjtAgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK
+ggEKAoIBAQC9lw6nbbZzjNAha/M2dF0Kqjrw+m6xXBwTdMpnKyID0aY8Je+HT+g4
+nyEdLogSNmaCAwJM+Bc1ApUxsVNAISQvAPC/gFgWsZKz03i/eMsKkQzSbV2yH0Fz
+FgJ8Gs0WJcnhG4G9hJNMY8449D6tmGsAiai69X4Ig/Oa9Zi4n9bYx9TzBxyP77wp
+EGCMhYtMenPHn6gjL8RH9RiFmPsn3liTSwilZsnf2/Ai+GSfoVaJl6sCLFqZ8m+/
+cjGQIjKuhiVrE8Zy7N8uyBIAweM4tKBAugFhwtex731LKRji/ijQmORlP0w0OeSC
+qcqyPcSRj6CUv+P4s3NIt/76BEPntby9AgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK
bG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsGA1UdDwQEAwIDqDAT
-BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUfJrqm5KY+3cliYvv0/SINK/q
-JMwwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN
-BgkqhkiG9w0BAQUFAAOCAQEAD5dgRy8in9QWmVrt9LVUMb+fob0ti+vBJNtzMMdG
-1kzIxjgMmubWXuin+5+2RGZzQ4ZGEMBMQE7B1+RBC/Bh8G9FjFoUQEKXwwPQ/21K
-BoBlSdQvB52GWWtbnrwMRopi2sAirxNsDZ1UXkZTparygETHB273sEw3XDEIoDff
-ijWSPIyRL2RP06DrlbNKnvesJa0GE1zdvdVrdI3Hxaa0iSf9t8Ikp2qzZObmMZE1
-/A4VFDjWObDEssHIx+0l17CpuaBwM0KQhjMq2NWKAuarjZLWrrQd6WwipS8aSEgr
-XLgwAUsnGtPPIXern7xVNC6fAysXC8NEjqiUrpKimjPAjg==
+BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUTlRjlaFYDPq9Plgmr6+k82Ya
+yyUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN
+BgkqhkiG9w0BAQsFAAOCAQEALPlIM3yTyjycWJKMK4dhnw2cnehDQxLWo0Bx7Msx
+doBosVTRhvSznshQYrSHEr6b1jwrzyIOZibCMd0fxpceYaRR6mh1gWa5O6Yf9oDs
+a6plZgwCq8lXvWpObSQwE3tlF2CaFDdX9yJmVX0aGlsnQzvUiLwv09e71T+bJSZd
+OaBMioQs2wSHit9JfUvShXoJXt9rG7VunLsr9sUBGVqH0M8WZ4tUQYfBM8Mh9uWE
+0oRd2oLNOU1Ql/ODN57lBA7cxiDRs/bHPd2Vvoy5cnJ6cWaqSo7PNzjoyAZpaI3Y
+1otMI1An+um7KqaJVq2+Tb2+DNdVtPS592q1LH9fn9/2YQ==
-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.csr b/tests/certs/Server-localhost-lastSAN-sv.csr
index 78077bcd4..a113db635 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.csr
+++ b/tests/certs/Server-localhost-lastSAN-sv.csr
@@ -1,16 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICnDCCAYQCAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB
cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z
-dC5ubjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN8WFV8qpFDPOqh5
-biKNlRa3TX3SH09tLXp93IpPU3tfyd5ciGyidCY1HHhowWAlp3u2GpqqM9CfXvIu
-IQSMDZoo9WFAPDQam4pwgW2DnnzQTNl53DfZJG5zx2Excen1l7dlrT32ryBvVrm1
-QrU9lmEx6w1M6fUx0yWvQLO7gQR/Gs4hGINSLVExroL5yxDT1Qav+HHoo8afe0ja
-4iivHP9BbTKBRVnXZOSx18mGagtlcWbWQqhn/YNJIHUWHrsbhVx+4o9fHIHTipXW
-klyef6IQCOHfrmloP43deU/aP3m1ApdXMGdNPXY1tU/RXTXd1LVrV7LgIzWtGr9v
-d+a8WO0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCNGbWvnceLjA+R8+p1skgq
-0JxCZIUP/E8iOpg0eX2CjtU+9raYMNa7URtWa1kTSfxbuowPn21CSQmQ+1MDZv0Z
-UTAADKwXO6dDvXkYY4LwpRIozsz1zx1ulUaYmg4D2FPBIxg9QNLB0ic9+gUYdUEX
-Uw7vzxY8ExO99Z6rhJcNZPPYmj97MS/ZmBTZ8jxqjuOQ1R9mIhBvdsYdoDQR8SMK
-1b/0qH0F5Ly2iWt+pi+muoz+tYUyiXrIzYGF4+gImYBJEy35Pni/H8mMY62TxbWi
-QfhD9S8hxfT733X+UQQlQPToNDYdrmm/WcABOXrm8ESXfKvzs8aCodfCpDYIyxbu
+dC5ubjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2XDqdttnOM0CFr
+8zZ0XQqqOvD6brFcHBN0ymcrIgPRpjwl74dP6DifIR0uiBI2ZoIDAkz4FzUClTGx
+U0AhJC8A8L+AWBaxkrPTeL94ywqRDNJtXbIfQXMWAnwazRYlyeEbgb2Ek0xjzjj0
+Pq2YawCJqLr1fgiD85r1mLif1tjH1PMHHI/vvCkQYIyFi0x6c8efqCMvxEf1GIWY
++yfeWJNLCKVmyd/b8CL4ZJ+hVomXqwIsWpnyb79yMZAiMq6GJWsTxnLs3y7IEgDB
+4zi0oEC6AWHC17HvfUspGOL+KNCY5GU/TDQ55IKpyrI9xJGPoJS/4/izc0i3/voE
+Q+e1vL0CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCpqiSx7VjqeQ2g8lpHF0Nb
+/10H1DqaK7Z3y49xFK3xxKWdxKUdq3Nf7JYlhKpWDYokrkw5W+nhGQILYt6ZD8tN
+tBZphyp3rvmTcewEFtbBne5N7OsAaanlBxeCLhnCICGhd+QCqYJKWe+zw8Oc5dCp
+SRmWEL5FTu9AavBc0LDx1gNBupDiXGhF+BptOzgfDbijd0aRgy9cYwAQ9kXo4H+y
+TH1ZYcSfB0gs7sShiY5FvuGr54Vv0czn+HqrdyWKDGLp7ilPYCT4WXBWfTon9j1H
+9NDomhrVme9IGKItYHg+p59WpevklW900X4NZCVspePgNeBOvXYbGqDEN01o1xIG
-----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.der b/tests/certs/Server-localhost-lastSAN-sv.der
index 220e7927b..c72bcb95d 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.der
+++ b/tests/certs/Server-localhost-lastSAN-sv.der
Binary files differ
diff --git a/tests/certs/Server-localhost-lastSAN-sv.key b/tests/certs/Server-localhost-lastSAN-sv.key
index 618e83902..dae48284a 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.key
+++ b/tests/certs/Server-localhost-lastSAN-sv.key
@@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEA3xYVXyqkUM86qHluIo2VFrdNfdIfT20ten3cik9Te1/J3lyI
-bKJ0JjUceGjBYCWne7Yamqoz0J9e8i4hBIwNmij1YUA8NBqbinCBbYOefNBM2Xnc
-N9kkbnPHYTFx6fWXt2WtPfavIG9WubVCtT2WYTHrDUzp9THTJa9As7uBBH8aziEY
-g1ItUTGugvnLENPVBq/4ceijxp97SNriKK8c/0FtMoFFWddk5LHXyYZqC2VxZtZC
-qGf9g0kgdRYeuxuFXH7ij18cgdOKldaSXJ5/ohAI4d+uaWg/jd15T9o/ebUCl1cw
-Z009djW1T9FdNd3UtWtXsuAjNa0av2935rxY7QIDAQABAoIBAFz/H7mkVQs62AET
-Xc4Zp2To1Oz2gwbhRGwju6QMnYh4zfZcLKLctf6XdV7cjIBAMiloKH8BJMh7J2Fd
-yXXTzHfPSztXQ8GUtfJoJAw7Kf5t9xtRqXO+mWlR6nOh4RLexng1cpq6Exc6UrTn
-0v8qxV2PKaVJwt3r/1FeVWKXb5kne/Ob4LS7c0xnVqc7TGPtxLdS5mU5jrt0ZdZl
-tcHulLX24rmxKcNvge6r2EiYuet3vUi1uuLBQbWUJIFRwetDufG/2e2ihOuvCj5s
-aYNlRAo0JUwWl7geicRUdxkCpV/Qld7aYldKIcsSzgl6GLpgNpHjUFBbJBGSng0S
-vA4CMQECgYEA9tseJG2IuudqDHnpuUxtnlfDJTfYjtBQnYG1ojbd9FUiuihv/B2K
-pJ5uuowpKSnXOwaHtzyQ6XJA7JChRcDmJ4rf6R/1B61+1XVasyi2WffTJHbKzUk+
-hBAUoGtJIvrChMOnAlQzifP8+b7ec/ghKy87dNlQzQlSunyEW6lAW/UCgYEA51mQ
-JOFsasSvioKilsJuFCcFInZCRTEMz7vK9HW2Qnv71b3xeB6aNoJA8zf1Gw9q5clN
-Yu+8pkGNsWeone8izTzzpgZGJmM/vLjSdIgaJytStha2FwlQxUjggOjSy1zIdW+v
-ROw6OaT2J5+Qw2ruWqSaw2fiDgOpBCJgfg95JhkCgYAy5SppyEuQfXXX7KrLkX5o
-Tx/k5Ia5qylzz/Jq53ULkyH9z6iHCnAzUJbzz0INQpsliEsi9FHMT8oi/A7EGulY
-7cEMh5I1awfjarawiYxPMFFQC0301U0WXVpjWLtTgu/n/47HZCTcJHnb5AZpUpdE
-GBDiHowSOgHcgR+o5lRmoQKBgFaPi0BRW+hi6S9RC5aO7vL5WpF3X/pVjO6Y3Co1
-dNlRXHuv0w5XnOmyOK0IDdxvG1cYx6yx+IrYUjTDjTJyjDnwiVVgWZT5Y5qwKIZT
-ej2Xlx3sR3s9EAyQ5Pc2pdBTSemuvQxzuqFg2H0g1eBYPRCLMCDW2JzXv8B9QE9K
-aNDZAoGAKbVakgVlwrGffJb5c6ZFF9W/WoJYXJRA2/tMqvOcaZwSNq0ySHI/uUyM
-3aexymibv5cGsFhtcr8vqxlX0PZ+PF2SRe/L58PmByEXGmyv6UZ/fhOCh8ttmPzt
-GIh5PiKOd7RR7ydFY22M2+uW99wMf5jSH6uX1DRATFLxJygbnHA=
+MIIEowIBAAKCAQEAvZcOp222c4zQIWvzNnRdCqo68PpusVwcE3TKZysiA9GmPCXv
+h0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEkLwDwv4BYFrGSs9N4v3jLCpEM0m1d
+sh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhrAImouvV+CIPzmvWYuJ/W2MfU8wcc
+j++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Yk0sIpWbJ39vwIvhkn6FWiZerAixa
+mfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSgQLoBYcLXse99SykY4v4o0JjkZT9M
+NDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8vQIDAQABAoIBAQCC0wTKpdtbmtRX
+66y1a9B0NolblgPiISRCjLnKPSpIpldmc+r4XTxqLexkvaIppx5PIpJo2FzzOGgJ
+FUrUGspkIOr/yil+52PK8OcGgOziyrqlTdB0xDqelpZ6WuggG01WJ2v8gco+0TQR
+ewDxOxbDFTq4YARrDdqAmG6dH7baeMDvh6IVe/dkJOVlyh0MA2QP+VR6fDv73jUe
+3yW6G+hql9mjZK6Cgz2lWoeW7YXAvWtTXT68/bcZLO64oLyCjBmsbSrBRQN5m9M9
+dWJV5B0h02P+uMF5H+EAD3qN5I670iSY3d+FWBpd3cA2arRGWlUXNmCGG3CjLYUS
+wGw1lbFhAoGBAPG6JhdXAaH3DN9khp54plbFSIanvjWK8RAEaQgkurwDUL3o1LmC
+ObqiCmMTU25HRlwWkwlCxejHfzOEqFdwiX5QuNmYBE6TYHtmnWSJ5ebMG7SOtlIS
+9Z4dLNZz8j95OGKb3XI9qR0ItxsmuLgWvrJUayd0UXcU7BTzHCXGx99JAoGBAMjI
+0z5+DeTwBhDY1mIUY081FmhrT9PhFHGtRy2OIENW0ZhJ5yE+ygVQssnR+Lr/yl1p
+zGC+CM//5wmJ774Xx0reMsh/rgK4Z0Wq47JJFGo0RMfYVmlod0OndtdobDc7ds7t
+Q3wIGt2ZXW6BtzMo8KVUuuHL8QwZoZqJNe/7QE3VAoGAGGrRRjJHu/CUoEwrPP66
+7rDm7pMrJ4VtbEzFv0jWg/9hvI00T7jT1AJiQjfFibIxbUPqflj8XNMqCi4wQwTf
+Hp9QzMoKRVWlvVFUPL+hNXsQoWB5EjlQDjSsPs1ffwHjrDJKYCvSVVh4BooWxqGl
+iaX1XPrm77xxTHxyL26w6eECgYA176S3g9stpcCrY+RrInju/R7Q3Arsquj4BIk7
+VpOaI0dYdnnNN3XDacMtbec4LKBq6ZHKZyIs5dxldpVdZjvWA8x2ib3v4yNy1o4m
+BXWjdfkICjhkRnjLRsAo61cumx22Row7VF4LKzirB9NzvcqvTwyIvWU6T+RWhAdm
+OQM0JQKBgC+gmBGfnQShTRYlfpb4RVnDijPpC34AdEO7wdeMcdQK9KfWsLZT5y0w
+qoZhW9IPlu1dNRhwHqGHWu2CmQVwFpy5/ccpukCJfyZw7edbb9dIqzKlUWw8Jmmg
+C7WKz4z3mKkZrwptFxDu0dpQ644yOP/gnRaLLyP0zn/brmnYz09X
-----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.pem b/tests/certs/Server-localhost-lastSAN-sv.pem
index c1684fdbb..42e4a1155 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.pem
+++ b/tests/certs/Server-localhost-lastSAN-sv.pem
@@ -24,70 +24,71 @@ commonName_value = localhost.nn
# the certificate
# some dhparam
-----BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEA3xYVXyqkUM86qHluIo2VFrdNfdIfT20ten3cik9Te1/J3lyI
-bKJ0JjUceGjBYCWne7Yamqoz0J9e8i4hBIwNmij1YUA8NBqbinCBbYOefNBM2Xnc
-N9kkbnPHYTFx6fWXt2WtPfavIG9WubVCtT2WYTHrDUzp9THTJa9As7uBBH8aziEY
-g1ItUTGugvnLENPVBq/4ceijxp97SNriKK8c/0FtMoFFWddk5LHXyYZqC2VxZtZC
-qGf9g0kgdRYeuxuFXH7ij18cgdOKldaSXJ5/ohAI4d+uaWg/jd15T9o/ebUCl1cw
-Z009djW1T9FdNd3UtWtXsuAjNa0av2935rxY7QIDAQABAoIBAFz/H7mkVQs62AET
-Xc4Zp2To1Oz2gwbhRGwju6QMnYh4zfZcLKLctf6XdV7cjIBAMiloKH8BJMh7J2Fd
-yXXTzHfPSztXQ8GUtfJoJAw7Kf5t9xtRqXO+mWlR6nOh4RLexng1cpq6Exc6UrTn
-0v8qxV2PKaVJwt3r/1FeVWKXb5kne/Ob4LS7c0xnVqc7TGPtxLdS5mU5jrt0ZdZl
-tcHulLX24rmxKcNvge6r2EiYuet3vUi1uuLBQbWUJIFRwetDufG/2e2ihOuvCj5s
-aYNlRAo0JUwWl7geicRUdxkCpV/Qld7aYldKIcsSzgl6GLpgNpHjUFBbJBGSng0S
-vA4CMQECgYEA9tseJG2IuudqDHnpuUxtnlfDJTfYjtBQnYG1ojbd9FUiuihv/B2K
-pJ5uuowpKSnXOwaHtzyQ6XJA7JChRcDmJ4rf6R/1B61+1XVasyi2WffTJHbKzUk+
-hBAUoGtJIvrChMOnAlQzifP8+b7ec/ghKy87dNlQzQlSunyEW6lAW/UCgYEA51mQ
-JOFsasSvioKilsJuFCcFInZCRTEMz7vK9HW2Qnv71b3xeB6aNoJA8zf1Gw9q5clN
-Yu+8pkGNsWeone8izTzzpgZGJmM/vLjSdIgaJytStha2FwlQxUjggOjSy1zIdW+v
-ROw6OaT2J5+Qw2ruWqSaw2fiDgOpBCJgfg95JhkCgYAy5SppyEuQfXXX7KrLkX5o
-Tx/k5Ia5qylzz/Jq53ULkyH9z6iHCnAzUJbzz0INQpsliEsi9FHMT8oi/A7EGulY
-7cEMh5I1awfjarawiYxPMFFQC0301U0WXVpjWLtTgu/n/47HZCTcJHnb5AZpUpdE
-GBDiHowSOgHcgR+o5lRmoQKBgFaPi0BRW+hi6S9RC5aO7vL5WpF3X/pVjO6Y3Co1
-dNlRXHuv0w5XnOmyOK0IDdxvG1cYx6yx+IrYUjTDjTJyjDnwiVVgWZT5Y5qwKIZT
-ej2Xlx3sR3s9EAyQ5Pc2pdBTSemuvQxzuqFg2H0g1eBYPRCLMCDW2JzXv8B9QE9K
-aNDZAoGAKbVakgVlwrGffJb5c6ZFF9W/WoJYXJRA2/tMqvOcaZwSNq0ySHI/uUyM
-3aexymibv5cGsFhtcr8vqxlX0PZ+PF2SRe/L58PmByEXGmyv6UZ/fhOCh8ttmPzt
-GIh5PiKOd7RR7ydFY22M2+uW99wMf5jSH6uX1DRATFLxJygbnHA=
+MIIEowIBAAKCAQEAvZcOp222c4zQIWvzNnRdCqo68PpusVwcE3TKZysiA9GmPCXv
+h0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEkLwDwv4BYFrGSs9N4v3jLCpEM0m1d
+sh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhrAImouvV+CIPzmvWYuJ/W2MfU8wcc
+j++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Yk0sIpWbJ39vwIvhkn6FWiZerAixa
+mfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSgQLoBYcLXse99SykY4v4o0JjkZT9M
+NDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8vQIDAQABAoIBAQCC0wTKpdtbmtRX
+66y1a9B0NolblgPiISRCjLnKPSpIpldmc+r4XTxqLexkvaIppx5PIpJo2FzzOGgJ
+FUrUGspkIOr/yil+52PK8OcGgOziyrqlTdB0xDqelpZ6WuggG01WJ2v8gco+0TQR
+ewDxOxbDFTq4YARrDdqAmG6dH7baeMDvh6IVe/dkJOVlyh0MA2QP+VR6fDv73jUe
+3yW6G+hql9mjZK6Cgz2lWoeW7YXAvWtTXT68/bcZLO64oLyCjBmsbSrBRQN5m9M9
+dWJV5B0h02P+uMF5H+EAD3qN5I670iSY3d+FWBpd3cA2arRGWlUXNmCGG3CjLYUS
+wGw1lbFhAoGBAPG6JhdXAaH3DN9khp54plbFSIanvjWK8RAEaQgkurwDUL3o1LmC
+ObqiCmMTU25HRlwWkwlCxejHfzOEqFdwiX5QuNmYBE6TYHtmnWSJ5ebMG7SOtlIS
+9Z4dLNZz8j95OGKb3XI9qR0ItxsmuLgWvrJUayd0UXcU7BTzHCXGx99JAoGBAMjI
+0z5+DeTwBhDY1mIUY081FmhrT9PhFHGtRy2OIENW0ZhJ5yE+ygVQssnR+Lr/yl1p
+zGC+CM//5wmJ774Xx0reMsh/rgK4Z0Wq47JJFGo0RMfYVmlod0OndtdobDc7ds7t
+Q3wIGt2ZXW6BtzMo8KVUuuHL8QwZoZqJNe/7QE3VAoGAGGrRRjJHu/CUoEwrPP66
+7rDm7pMrJ4VtbEzFv0jWg/9hvI00T7jT1AJiQjfFibIxbUPqflj8XNMqCi4wQwTf
+Hp9QzMoKRVWlvVFUPL+hNXsQoWB5EjlQDjSsPs1ffwHjrDJKYCvSVVh4BooWxqGl
+iaX1XPrm77xxTHxyL26w6eECgYA176S3g9stpcCrY+RrInju/R7Q3Arsquj4BIk7
+VpOaI0dYdnnNN3XDacMtbec4LKBq6ZHKZyIs5dxldpVdZjvWA8x2ib3v4yNy1o4m
+BXWjdfkICjhkRnjLRsAo61cumx22Row7VF4LKzirB9NzvcqvTwyIvWU6T+RWhAdm
+OQM0JQKBgC+gmBGfnQShTRYlfpb4RVnDijPpC34AdEO7wdeMcdQK9KfWsLZT5y0w
+qoZhW9IPlu1dNRhwHqGHWu2CmQVwFpy5/ccpukCJfyZw7edbb9dIqzKlUWw8Jmmg
+C7WKz4z3mKkZrwptFxDu0dpQ644yOP/gnRaLLyP0zn/brmnYz09X
-----END RSA PRIVATE KEY-----
Certificate:
Data:
Version: 3 (0x2)
- Serial Number: 15361901406880 (0xdf8b8ad2aa0)
- Signature Algorithm: sha1WithRSAEncryption
+ Serial Number:
+ 0e:4d:b9:c6:24:b0
+ Signature Algorithm: sha256WithRSAEncryption
Issuer:
countryName = NN
organizationName = Edel Curl Arctic Illudium Research Cloud
commonName = Northern Nowhere Trust Anchor
Validity
- Not Before: Sep 5 23:29:01 2018 GMT
- Not After : Nov 22 23:29:01 2026 GMT
+ Not Before: Nov 2 12:53:25 2019 GMT
+ Not After : Jan 19 12:53:25 2028 GMT
Subject:
countryName = NN
organizationName = Edel Curl Arctic Illudium Research Cloud
commonName = localhost.nn
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
+ RSA Public-Key: (2048 bit)
Modulus:
- 00:df:16:15:5f:2a:a4:50:cf:3a:a8:79:6e:22:8d:
- 95:16:b7:4d:7d:d2:1f:4f:6d:2d:7a:7d:dc:8a:4f:
- 53:7b:5f:c9:de:5c:88:6c:a2:74:26:35:1c:78:68:
- c1:60:25:a7:7b:b6:1a:9a:aa:33:d0:9f:5e:f2:2e:
- 21:04:8c:0d:9a:28:f5:61:40:3c:34:1a:9b:8a:70:
- 81:6d:83:9e:7c:d0:4c:d9:79:dc:37:d9:24:6e:73:
- c7:61:31:71:e9:f5:97:b7:65:ad:3d:f6:af:20:6f:
- 56:b9:b5:42:b5:3d:96:61:31:eb:0d:4c:e9:f5:31:
- d3:25:af:40:b3:bb:81:04:7f:1a:ce:21:18:83:52:
- 2d:51:31:ae:82:f9:cb:10:d3:d5:06:af:f8:71:e8:
- a3:c6:9f:7b:48:da:e2:28:af:1c:ff:41:6d:32:81:
- 45:59:d7:64:e4:b1:d7:c9:86:6a:0b:65:71:66:d6:
- 42:a8:67:fd:83:49:20:75:16:1e:bb:1b:85:5c:7e:
- e2:8f:5f:1c:81:d3:8a:95:d6:92:5c:9e:7f:a2:10:
- 08:e1:df:ae:69:68:3f:8d:dd:79:4f:da:3f:79:b5:
- 02:97:57:30:67:4d:3d:76:35:b5:4f:d1:5d:35:dd:
- d4:b5:6b:57:b2:e0:23:35:ad:1a:bf:6f:77:e6:bc:
- 58:ed
+ 00:bd:97:0e:a7:6d:b6:73:8c:d0:21:6b:f3:36:74:
+ 5d:0a:aa:3a:f0:fa:6e:b1:5c:1c:13:74:ca:67:2b:
+ 22:03:d1:a6:3c:25:ef:87:4f:e8:38:9f:21:1d:2e:
+ 88:12:36:66:82:03:02:4c:f8:17:35:02:95:31:b1:
+ 53:40:21:24:2f:00:f0:bf:80:58:16:b1:92:b3:d3:
+ 78:bf:78:cb:0a:91:0c:d2:6d:5d:b2:1f:41:73:16:
+ 02:7c:1a:cd:16:25:c9:e1:1b:81:bd:84:93:4c:63:
+ ce:38:f4:3e:ad:98:6b:00:89:a8:ba:f5:7e:08:83:
+ f3:9a:f5:98:b8:9f:d6:d8:c7:d4:f3:07:1c:8f:ef:
+ bc:29:10:60:8c:85:8b:4c:7a:73:c7:9f:a8:23:2f:
+ c4:47:f5:18:85:98:fb:27:de:58:93:4b:08:a5:66:
+ c9:df:db:f0:22:f8:64:9f:a1:56:89:97:ab:02:2c:
+ 5a:99:f2:6f:bf:72:31:90:22:32:ae:86:25:6b:13:
+ c6:72:ec:df:2e:c8:12:00:c1:e3:38:b4:a0:40:ba:
+ 01:61:c2:d7:b1:ef:7d:4b:29:18:e2:fe:28:d0:98:
+ e4:65:3f:4c:34:39:e4:82:a9:ca:b2:3d:c4:91:8f:
+ a0:94:bf:e3:f8:b3:73:48:b7:fe:fa:04:43:e7:b5:
+ bc:bd
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Alternative Name:
@@ -97,48 +98,48 @@ Certificate:
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Key Identifier:
- 7C:9A:EA:9B:92:98:FB:77:25:89:8B:EF:D3:F4:88:34:AF:EA:24:CC
+ 4E:54:63:95:A1:58:0C:FA:BD:3E:58:26:AF:AF:A4:F3:66:1A:CB:25
X509v3 Authority Key Identifier:
keyid:12:CA:BA:4B:46:04:A7:75:8A:2C:E8:0E:54:94:BC:12:65:A6:7B:CE
X509v3 Basic Constraints:
CA:FALSE
- Signature Algorithm: sha1WithRSAEncryption
- 0f:97:60:47:2f:22:9f:d4:16:99:5a:ed:f4:b5:54:31:bf:9f:
- a1:bd:2d:8b:eb:c1:24:db:73:30:c7:46:d6:4c:c8:c6:38:0c:
- 9a:e6:d6:5e:e8:a7:fb:9f:b6:44:66:73:43:86:46:10:c0:4c:
- 40:4e:c1:d7:e4:41:0b:f0:61:f0:6f:45:8c:5a:14:40:42:97:
- c3:03:d0:ff:6d:4a:06:80:65:49:d4:2f:07:9d:86:59:6b:5b:
- 9e:bc:0c:46:8a:62:da:c0:22:af:13:6c:0d:9d:54:5e:46:53:
- a5:aa:f2:80:44:c7:07:6e:f7:b0:4c:37:5c:31:08:a0:37:df:
- 8a:35:92:3c:8c:91:2f:64:4f:d3:a0:eb:95:b3:4a:9e:f7:ac:
- 25:ad:06:13:5c:dd:bd:d5:6b:74:8d:c7:c5:a6:b4:89:27:fd:
- b7:c2:24:a7:6a:b3:64:e6:e6:31:91:35:fc:0e:15:14:38:d6:
- 39:b0:c4:b2:c1:c8:c7:ed:25:d7:b0:a9:b9:a0:70:33:42:90:
- 86:33:2a:d8:d5:8a:02:e6:ab:8d:92:d6:ae:b4:1d:e9:6c:22:
- a5:2f:1a:48:48:2b:5c:b8:30:01:4b:27:1a:d3:cf:21:77:ab:
- 9f:bc:55:34:2e:9f:03:2b:17:0b:c3:44:8e:a8:94:ae:92:a2:
- 9a:33:c0:8e
+ Signature Algorithm: sha256WithRSAEncryption
+ 2c:f9:48:33:7c:93:ca:3c:9c:58:92:8c:2b:87:61:9f:0d:9c:
+ 9d:e8:43:43:12:d6:a3:40:71:ec:cb:31:76:80:68:b1:54:d1:
+ 86:f4:b3:9e:c8:50:62:b4:87:12:be:9b:d6:3c:2b:cf:22:0e:
+ 66:26:c2:31:dd:1f:c6:97:1e:61:a4:51:ea:68:75:81:66:b9:
+ 3b:a6:1f:f6:80:ec:6b:aa:65:66:0c:02:ab:c9:57:bd:6a:4e:
+ 6d:24:30:13:7b:65:17:60:9a:14:37:57:f7:22:66:55:7d:1a:
+ 1a:5b:27:43:3b:d4:88:bc:2f:d3:d7:bb:d5:3f:9b:25:26:5d:
+ 39:a0:4c:8a:84:2c:db:04:87:8a:df:49:7d:4b:d2:85:7a:09:
+ 5e:df:6b:1b:b5:6e:9c:bb:2b:f6:c5:01:19:5a:87:d0:cf:16:
+ 67:8b:54:41:87:c1:33:c3:21:f6:e5:84:d2:84:5d:da:82:cd:
+ 39:4d:50:97:f3:83:37:9e:e5:04:0e:dc:c6:20:d1:b3:f6:c7:
+ 3d:dd:95:be:8c:b9:72:72:7a:71:66:aa:4a:8e:cf:37:38:e8:
+ c8:06:69:68:8d:d8:d6:8b:4c:23:50:27:fa:e9:bb:2a:a6:89:
+ 56:ad:be:4d:bd:be:0c:d7:55:b4:f4:b9:f7:6a:b5:2c:7f:5f:
+ 9f:df:f6:61
-----BEGIN CERTIFICATE-----
-MIID3jCCAsagAwIBAgIGDfi4rSqgMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+MIID3jCCAsagAwIBAgIGDk25xiSwMA0GCSqGSIb3DQEBCwUAMGgxCzAJBgNVBAYT
Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
-Fw0xODA5MDUyMzI5MDFaFw0yNjExMjIyMzI5MDFaMFcxCzAJBgNVBAYTAk5OMTEw
+Fw0xOTExMDIxMjUzMjVaFw0yODAxMTkxMjUzMjVaMFcxCzAJBgNVBAYTAk5OMTEw
LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
-ggEKAoIBAQDfFhVfKqRQzzqoeW4ijZUWt0190h9PbS16fdyKT1N7X8neXIhsonQm
-NRx4aMFgJad7thqaqjPQn17yLiEEjA2aKPVhQDw0GpuKcIFtg5580EzZedw32SRu
-c8dhMXHp9Ze3Za099q8gb1a5tUK1PZZhMesNTOn1MdMlr0Czu4EEfxrOIRiDUi1R
-Ma6C+csQ09UGr/hx6KPGn3tI2uIorxz/QW0ygUVZ12TksdfJhmoLZXFm1kKoZ/2D
-SSB1Fh67G4VcfuKPXxyB04qV1pJcnn+iEAjh365paD+N3XlP2j95tQKXVzBnTT12
-NbVP0V013dS1a1ey4CM1rRq/b3fmvFjtAgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK
+ggEKAoIBAQC9lw6nbbZzjNAha/M2dF0Kqjrw+m6xXBwTdMpnKyID0aY8Je+HT+g4
+nyEdLogSNmaCAwJM+Bc1ApUxsVNAISQvAPC/gFgWsZKz03i/eMsKkQzSbV2yH0Fz
+FgJ8Gs0WJcnhG4G9hJNMY8449D6tmGsAiai69X4Ig/Oa9Zi4n9bYx9TzBxyP77wp
+EGCMhYtMenPHn6gjL8RH9RiFmPsn3liTSwilZsnf2/Ai+GSfoVaJl6sCLFqZ8m+/
+cjGQIjKuhiVrE8Zy7N8uyBIAweM4tKBAugFhwtex731LKRji/ijQmORlP0w0OeSC
+qcqyPcSRj6CUv+P4s3NIt/76BEPntby9AgMBAAGjgZ4wgZswLAYDVR0RBCUwI4IK
bG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsGA1UdDwQEAwIDqDAT
-BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUfJrqm5KY+3cliYvv0/SINK/q
-JMwwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN
-BgkqhkiG9w0BAQUFAAOCAQEAD5dgRy8in9QWmVrt9LVUMb+fob0ti+vBJNtzMMdG
-1kzIxjgMmubWXuin+5+2RGZzQ4ZGEMBMQE7B1+RBC/Bh8G9FjFoUQEKXwwPQ/21K
-BoBlSdQvB52GWWtbnrwMRopi2sAirxNsDZ1UXkZTparygETHB273sEw3XDEIoDff
-ijWSPIyRL2RP06DrlbNKnvesJa0GE1zdvdVrdI3Hxaa0iSf9t8Ikp2qzZObmMZE1
-/A4VFDjWObDEssHIx+0l17CpuaBwM0KQhjMq2NWKAuarjZLWrrQd6WwipS8aSEgr
-XLgwAUsnGtPPIXern7xVNC6fAysXC8NEjqiUrpKimjPAjg==
+BgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUTlRjlaFYDPq9Plgmr6+k82Ya
+yyUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84wCQYDVR0TBAIwADAN
+BgkqhkiG9w0BAQsFAAOCAQEALPlIM3yTyjycWJKMK4dhnw2cnehDQxLWo0Bx7Msx
+doBosVTRhvSznshQYrSHEr6b1jwrzyIOZibCMd0fxpceYaRR6mh1gWa5O6Yf9oDs
+a6plZgwCq8lXvWpObSQwE3tlF2CaFDdX9yJmVX0aGlsnQzvUiLwv09e71T+bJSZd
+OaBMioQs2wSHit9JfUvShXoJXt9rG7VunLsr9sUBGVqH0M8WZ4tUQYfBM8Mh9uWE
+0oRd2oLNOU1Ql/ODN57lBA7cxiDRs/bHPd2Vvoy5cnJ6cWaqSo7PNzjoyAZpaI3Y
+1otMI1An+um7KqaJVq2+Tb2+DNdVtPS592q1LH9fn9/2YQ==
-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.pub.der b/tests/certs/Server-localhost-lastSAN-sv.pub.der
index 5cd11dc13..480ee31a9 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.pub.der
+++ b/tests/certs/Server-localhost-lastSAN-sv.pub.der
Binary files differ
diff --git a/tests/certs/Server-localhost-lastSAN-sv.pub.pem b/tests/certs/Server-localhost-lastSAN-sv.pub.pem
index aaca85708..5c1d3330f 100644
--- a/tests/certs/Server-localhost-lastSAN-sv.pub.pem
+++ b/tests/certs/Server-localhost-lastSAN-sv.pub.pem
@@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3xYVXyqkUM86qHluIo2V
-FrdNfdIfT20ten3cik9Te1/J3lyIbKJ0JjUceGjBYCWne7Yamqoz0J9e8i4hBIwN
-mij1YUA8NBqbinCBbYOefNBM2XncN9kkbnPHYTFx6fWXt2WtPfavIG9WubVCtT2W
-YTHrDUzp9THTJa9As7uBBH8aziEYg1ItUTGugvnLENPVBq/4ceijxp97SNriKK8c
-/0FtMoFFWddk5LHXyYZqC2VxZtZCqGf9g0kgdRYeuxuFXH7ij18cgdOKldaSXJ5/
-ohAI4d+uaWg/jd15T9o/ebUCl1cwZ009djW1T9FdNd3UtWtXsuAjNa0av2935rxY
-7QIDAQAB
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvZcOp222c4zQIWvzNnRd
+Cqo68PpusVwcE3TKZysiA9GmPCXvh0/oOJ8hHS6IEjZmggMCTPgXNQKVMbFTQCEk
+LwDwv4BYFrGSs9N4v3jLCpEM0m1dsh9BcxYCfBrNFiXJ4RuBvYSTTGPOOPQ+rZhr
+AImouvV+CIPzmvWYuJ/W2MfU8wccj++8KRBgjIWLTHpzx5+oIy/ER/UYhZj7J95Y
+k0sIpWbJ39vwIvhkn6FWiZerAixamfJvv3IxkCIyroYlaxPGcuzfLsgSAMHjOLSg
+QLoBYcLXse99SykY4v4o0JjkZT9MNDnkgqnKsj3EkY+glL/j+LNzSLf++gRD57W8
+vQIDAQAB
-----END PUBLIC KEY-----
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index fc22c2f17..557f92891 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -57,7 +57,7 @@ test298 test299 test300 test301 test302 test303 test304 test305 test306 \
test307 test308 test309 test310 test311 test312 test313 test314 test315 \
test316 test317 test318 test319 test320 test321 test322 test323 test324 \
test325 test326 test327 test328 test329 test330 test331 test332 test333 \
-test334 test335 \
+test334 test335 test336 test337 test338 \
test340 \
\
test350 test351 test352 test353 test354 test355 test356 \
@@ -83,7 +83,8 @@ test617 test618 test619 test620 test621 test622 test623 test624 test625 \
test626 test627 test628 test629 test630 test631 test632 test633 test634 \
test635 test636 test637 test638 test639 test640 test641 test642 \
test643 test644 test645 test646 test647 test648 test649 test650 test651 \
-test652 test653 test654 test655 test656 test658 test659 test660 \
+test652 test653 test654 test655 test656 test658 test659 test660 test661 \
+test662 test663 \
\
test700 test701 test702 test703 test704 test705 test706 test707 test708 \
test709 test710 test711 test712 test713 test714 test715 test716 test717 \
@@ -129,7 +130,7 @@ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \
-test1160 test1161 test1162 test1163 test1164 test1165 \
+test1160 test1161 test1162 test1163 test1164 test1165 test1166 \
test1170 test1171 test1172 test1173 test1174 \
\
test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
@@ -178,18 +179,18 @@ test1540 test1541 \
test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \
test1558 test1559 test1560 test1561 test1562 test1563 \
\
-test1590 test1591 test1592 test1593 test1594 \
+test1590 test1591 test1592 test1593 test1594 test1595 test1596 \
\
test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
test1608 test1609 test1620 test1621 \
\
-test1650 test1651 test1652 test1653 test1654 \
+test1650 test1651 test1652 test1653 test1654 test1655 \
\
test1700 test1701 test1702 \
\
test1800 test1801 \
\
-test1900 test1901 test1902 test1903 test1904 test1905 test1906 \
+test1900 test1901 test1902 test1903 test1904 test1905 test1906 test1907 \
\
test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \
test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \
diff --git a/tests/data/test1002 b/tests/data/test1002
index c20995d90..5b6ef9431 100644
--- a/tests/data/test1002
+++ b/tests/data/test1002
@@ -65,6 +65,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP PUT with Digest auth, resumed upload and modified method, twice
diff --git a/tests/data/test1008 b/tests/data/test1008
index c123c5c0c..9fca722c8 100644
--- a/tests/data/test1008
+++ b/tests/data/test1008
@@ -88,6 +88,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response
diff --git a/tests/data/test1010 b/tests/data/test1010
index b2083af7b..ef073f5e5 100644
--- a/tests/data/test1010
+++ b/tests/data/test1010
@@ -49,9 +49,9 @@ PASS ftp@example.com
PWD
EPSV
TYPE A
-LIST /list/this/path/1010/
+LIST /list/this/path/1010
EPSV
-LIST /list/this/path/1010/
+LIST /list/this/path/1010
QUIT
</protocol>
</verify>
diff --git a/tests/data/test1016 b/tests/data/test1016
index 4927f9eaa..01bf100f3 100644
--- a/tests/data/test1016
+++ b/tests/data/test1016
@@ -23,7 +23,7 @@ file
X-Y range on a file:// URL to stdout
</name>
<command option="no-include">
--r 1-4 file://localhost/%PWD/log/test1016.txt
+-r 1-4 file://localhost%FILE_PWD/log/test1016.txt
</command>
<file name="log/test1016.txt">
1234567890
diff --git a/tests/data/test1017 b/tests/data/test1017
index cfdd80f9e..9790d776d 100644
--- a/tests/data/test1017
+++ b/tests/data/test1017
@@ -24,7 +24,7 @@ file
0-Y range on a file:// URL to stdout
</name>
<command option="no-include">
--r 0-3 file://localhost/%PWD/log/test1017.txt
+-r 0-3 file://localhost%FILE_PWD/log/test1017.txt
</command>
<file name="log/test1017.txt">
1234567890
diff --git a/tests/data/test1018 b/tests/data/test1018
index 57487014f..ddf1f2595 100644
--- a/tests/data/test1018
+++ b/tests/data/test1018
@@ -23,7 +23,7 @@ file
X-X range on a file:// URL to stdout
</name>
<command option="no-include">
--r 4-4 file://localhost/%PWD/log/test1018.txt
+-r 4-4 file://localhost%FILE_PWD/log/test1018.txt
</command>
<file name="log/test1018.txt">
1234567890
diff --git a/tests/data/test1019 b/tests/data/test1019
index 054e38d5d..2a92ae5cf 100644
--- a/tests/data/test1019
+++ b/tests/data/test1019
@@ -24,7 +24,7 @@ file
X- range on a file:// URL to stdout
</name>
<command option="no-include">
--r 7- file://localhost/%PWD/log/test1019.txt
+-r 7- file://localhost%FILE_PWD/log/test1019.txt
</command>
<file name="log/test1019.txt">
1234567890
diff --git a/tests/data/test1020 b/tests/data/test1020
index 8e03a1758..0d88532f7 100644
--- a/tests/data/test1020
+++ b/tests/data/test1020
@@ -24,7 +24,7 @@ file
-Y range on a file:// URL to stdout
</name>
<command option="no-include">
--r -9 file://localhost/%PWD/log/test1020.txt
+-r -9 file://localhost%FILE_PWD/log/test1020.txt
</command>
<file name="log/test1020.txt">
1234567890
diff --git a/tests/data/test1021 b/tests/data/test1021
index 800973d1c..689341d60 100644
--- a/tests/data/test1021
+++ b/tests/data/test1021
@@ -93,6 +93,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close
diff --git a/tests/data/test1059 b/tests/data/test1059
index 6820ea679..615e625c9 100644
--- a/tests/data/test1059
+++ b/tests/data/test1059
@@ -26,6 +26,7 @@ Content-Length: 0
<client>
<features>
ftp
+proxy
</features>
<server>
http
diff --git a/tests/data/test1060 b/tests/data/test1060
index 14fc7e53c..c4b264c10 100644
--- a/tests/data/test1060
+++ b/tests/data/test1060
@@ -869,6 +869,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP proxy CONNECT auth Digest, large headers and data
diff --git a/tests/data/test1061 b/tests/data/test1061
index c481d39c4..6ddddfee2 100644
--- a/tests/data/test1061
+++ b/tests/data/test1061
@@ -874,6 +874,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP proxy CONNECT auth Digest, large headers and chunked data
diff --git a/tests/data/test1063 b/tests/data/test1063
index 2979094dc..de2085d3e 100644
--- a/tests/data/test1063
+++ b/tests/data/test1063
@@ -28,7 +28,7 @@ Invalid large X- range on a file://
# This range value is 2**32+7, which will be truncated to the valid value 7
# if the large file support is not working correctly
<command>
--r 4294967303- file://localhost/%PWD/log/test1063.txt
+-r 4294967303- file://localhost%FILE_PWD/log/test1063.txt
</command>
<file name="log/test1063.txt">
1234567890
diff --git a/tests/data/test1077 b/tests/data/test1077
index a3c90245a..e917e8a56 100644
--- a/tests/data/test1077
+++ b/tests/data/test1077
@@ -44,6 +44,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<name>
FTP over HTTP proxy with downgrade to HTTP 1.0
diff --git a/tests/data/test1078 b/tests/data/test1078
index a9bb771be..d705dbca4 100644
--- a/tests/data/test1078
+++ b/tests/data/test1078
@@ -45,6 +45,9 @@ HTTP 1.0 CONNECT with proxytunnel and downgrade GET to HTTP/1.0
<command>
--proxy1.0 %HOSTIP:%PROXYPORT -p http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078 http://%HOSTIP.1078:%HTTPPORT/we/want/that/page/1078
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1087 b/tests/data/test1087
index d228976ac..883d98642 100644
--- a/tests/data/test1087
+++ b/tests/data/test1087
@@ -80,6 +80,9 @@ HTTP, proxy with --anyauth and Location: to new host
<command>
http://first.host.it.is/we/want/that/page/10871000 -x %HOSTIP:%HTTPPORT --user iam:myself --location --anyauth
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1088 b/tests/data/test1088
index a807ce9e5..f2b6fc263 100644
--- a/tests/data/test1088
+++ b/tests/data/test1088
@@ -81,6 +81,9 @@ HTTP, proxy with --anyauth and Location: to new host using location-trusted
<command>
http://first.host.it.is/we/want/that/page/10881000 -x %HOSTIP:%HTTPPORT --user iam:myself --location-trusted --anyauth
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1091 b/tests/data/test1091
index f3ce8608a..24669334b 100644
--- a/tests/data/test1091
+++ b/tests/data/test1091
@@ -34,7 +34,8 @@ FTP URL with type=i
USER anonymous
PASS ftp@example.com
PWD
-CWD /tmp
+CWD /
+CWD tmp
CWD moo
EPSV
TYPE I
diff --git a/tests/data/test1092 b/tests/data/test1092
index adef4320b..725a274ba 100644
--- a/tests/data/test1092
+++ b/tests/data/test1092
@@ -30,6 +30,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<name>
FTP with type=i over HTTP proxy
diff --git a/tests/data/test1098 b/tests/data/test1098
index 980564810..0d397340c 100644
--- a/tests/data/test1098
+++ b/tests/data/test1098
@@ -29,6 +29,7 @@ http
<features>
http
ftp
+proxy
</features>
<name>
FTP RETR twice over proxy confirming persistent connection
diff --git a/tests/data/test1104 b/tests/data/test1104
index 570f13c51..e66da58ad 100644
--- a/tests/data/test1104
+++ b/tests/data/test1104
@@ -61,6 +61,9 @@ HTTP cookie expiry date at Jan 1 00:00:00 GMT 1970
<command>
http://%HOSTIP:%HTTPPORT/want/1104 -L -x %HOSTIP:%HTTPPORT -c log/cookies1104.jar
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1106 b/tests/data/test1106
index 0c6bec177..37a77e36e 100644
--- a/tests/data/test1106
+++ b/tests/data/test1106
@@ -24,6 +24,7 @@ hello
<client>
<features>
ftp
+proxy
</features>
<server>
http
diff --git a/tests/data/test1136 b/tests/data/test1136
index e18a92325..75b6ee838 100644
--- a/tests/data/test1136
+++ b/tests/data/test1136
@@ -33,6 +33,7 @@ boo
<client>
<features>
PSL
+proxy
</features>
<server>
http
diff --git a/tests/data/test1141 b/tests/data/test1141
index 9c41d3935..b0cff8e37 100644
--- a/tests/data/test1141
+++ b/tests/data/test1141
@@ -47,6 +47,9 @@ HTTP redirect to http:/// (three slashes!)
<command>
%HOSTIP:%HTTPPORT/want/1141 -L -x http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1142 b/tests/data/test1142
index 76c6bdf55..5f1e2b35a 100644
--- a/tests/data/test1142
+++ b/tests/data/test1142
@@ -42,6 +42,9 @@ HTTP redirect to http://// (four slashes!)
<command>
%HOSTIP:%HTTPPORT/want/1142 -L -x http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1149 b/tests/data/test1149
index f826391e9..f0c297dc1 100644
--- a/tests/data/test1149
+++ b/tests/data/test1149
@@ -57,7 +57,7 @@ TYPE A
LIST
CWD /
EPSV
-LIST list/this/path/1149/
+LIST list/this/path/1149
QUIT
</protocol>
</verify>
diff --git a/tests/data/test1150 b/tests/data/test1150
index ecd95d57e..e86c7e154 100644
--- a/tests/data/test1150
+++ b/tests/data/test1150
@@ -32,6 +32,9 @@ HTTP proxy with URLs using different ports
<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1162 b/tests/data/test1162
index 73e4646e1..b6b394139 100644
--- a/tests/data/test1162
+++ b/tests/data/test1162
@@ -31,6 +31,10 @@ FTP wildcard with crazy pattern
<command>
"ftp://%HOSTIP:%FTPPORT/fully_simulated/DOS/[*\\s-'tl"
</command>
+<setenv>
+# Needed for MSYS2 to not convert backslash to forward slash
+MSYS2_ARG_CONV_EXCL=ftp://
+</setenv>
</client>
<verify>
<protocol>
diff --git a/tests/data/test1166 b/tests/data/test1166
new file mode 100644
index 000000000..3cae80ecd
--- /dev/null
+++ b/tests/data/test1166
@@ -0,0 +1,53 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+followlocation
+cookies
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Set-Cookie: trackyou=want; path=/
+Content-Length: 68
+
+This server reply is for testing a Location: following with cookies
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP response with cookies but not receiving!
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/want/1166 http://%HOSTIP:%HTTPPORT/want/1166
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /want/1166 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /want/1166 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1213 b/tests/data/test1213
index 4f22f0d92..46a6938cb 100644
--- a/tests/data/test1213
+++ b/tests/data/test1213
@@ -35,6 +35,9 @@ HTTP with proxy and host-only URL
<command>
-x %HOSTIP:%HTTPPORT we.want.that.site.com.1213
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1214 b/tests/data/test1214
index 3eeb3e3ad..73c799a4a 100644
--- a/tests/data/test1214
+++ b/tests/data/test1214
@@ -35,6 +35,9 @@ HTTP with proxy and URL with ? and no slash separator
<command>
-x %HOSTIP:%HTTPPORT http://we.want.that.site.com.1214?moo=foo
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1215 b/tests/data/test1215
index 08d74369e..8edfd9b4e 100644
--- a/tests/data/test1215
+++ b/tests/data/test1215
@@ -60,6 +60,7 @@ Finally, this is the real page!
NTLM
!SSPI
debug
+proxy
</features>
<server>
http
diff --git a/tests/data/test1216 b/tests/data/test1216
index be0f5c77a..c4f977b60 100644
--- a/tests/data/test1216
+++ b/tests/data/test1216
@@ -39,6 +39,9 @@ example.fake FALSE /b FALSE 0 moo1 indeed
example.fake FALSE /c FALSE 2139150993 moo2 indeed
example.fake TRUE /c FALSE 2139150993 moo3 indeed
</file>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1218 b/tests/data/test1218
index e3f1f6d04..37c8f4ef0 100644
--- a/tests/data/test1218
+++ b/tests/data/test1218
@@ -32,6 +32,9 @@ HTTP cookies and domains with same prefix
<command>
http://example.fake/c/1218 http://example.fake/c/1218 http://bexample.fake/c/1218 -b nonexisting -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1220 b/tests/data/test1220
index 6752eb580..c8eb52cb1 100644
--- a/tests/data/test1220
+++ b/tests/data/test1220
@@ -21,7 +21,7 @@ file
file:// URLs with query string
</name>
<command option="no-include">
-file://localhost/%PWD/log/test1220.txt?a_query=foobar#afragment
+file://localhost%FILE_PWD/log/test1220.txt?a_query=foobar#afragment
</command>
<file name="log/test1220.txt">
contents in a single file
diff --git a/tests/data/test1225 b/tests/data/test1225
index 2b2519c94..09a1abb79 100644
--- a/tests/data/test1225
+++ b/tests/data/test1225
@@ -45,7 +45,6 @@ TYPE I
SIZE 1225
RETR 1225
CWD /
-CWD /
CWD foo
CWD bar
EPSV
diff --git a/tests/data/test1228 b/tests/data/test1228
index a7e56a797..50af6bc2c 100644
--- a/tests/data/test1228
+++ b/tests/data/test1228
@@ -31,6 +31,9 @@ HTTP cookie path match
<command>
http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1230 b/tests/data/test1230
index ca2f6c67d..860ce21a4 100644
--- a/tests/data/test1230
+++ b/tests/data/test1230
@@ -43,6 +43,7 @@ mooooooo
<client>
<features>
ipv6
+proxy
</features>
<server>
http-proxy
diff --git a/tests/data/test1232 b/tests/data/test1232
index d0659f126..7425d44d8 100644
--- a/tests/data/test1232
+++ b/tests/data/test1232
@@ -41,6 +41,9 @@ HTTP URL with dotdot removal from path using an HTTP proxy
<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1232:8990/../../hej/but/who/../1232?stupid=me/../1232#soo/../1232 http://test.remote.haxx.se.1232:8990/../../hej/but/who/../12320001#/../12320001
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1233 b/tests/data/test1233
index caf0527f2..1d4d3d561 100644
--- a/tests/data/test1233
+++ b/tests/data/test1233
@@ -2,6 +2,7 @@
<info>
<keywords>
FTP
+connect to non-listen
</keywords>
</info>
diff --git a/tests/data/test1241 b/tests/data/test1241
index aaa568868..bc6c61801 100644
--- a/tests/data/test1241
+++ b/tests/data/test1241
@@ -40,6 +40,9 @@ HTTP _without_ dotdot removal
<command>
--path-as-is --proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1241:8990/../../hej/but/who/../1241?stupid=me/../1241#soo/../1241 http://test.remote.haxx.se.1241:8990/../../hej/but/who/../12410001#/../12410001
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1246 b/tests/data/test1246
index 65659292d..a35bc89c3 100644
--- a/tests/data/test1246
+++ b/tests/data/test1246
@@ -40,6 +40,9 @@ URL with '#' at end of host name instead of '/'
<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1246:%HTTPPORT#@127.0.0.1/tricked.html no-scheme-url.com.1246:%HTTPPORT#@127.127.127.127/again.html
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1253 b/tests/data/test1253
index 74002994b..8f240b0af 100644
--- a/tests/data/test1253
+++ b/tests/data/test1253
@@ -35,6 +35,9 @@ NO_PROXY=example.com
<command>
http://somewhere.example.com/1253 --proxy http://%HOSTIP:%HTTPPORT --noproxy %HOSTIP
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1254 b/tests/data/test1254
index 817b9342b..c05975488 100644
--- a/tests/data/test1254
+++ b/tests/data/test1254
@@ -35,6 +35,9 @@ NO_PROXY=example.com
<command>
http://somewhere.example.com/1254 --proxy http://%HOSTIP:%HTTPPORT --noproxy ""
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1256 b/tests/data/test1256
index 09c59f4ff..e86afbb53 100644
--- a/tests/data/test1256
+++ b/tests/data/test1256
@@ -36,6 +36,9 @@ NO_PROXY=example.com
<command>
http://somewhere.example.com/1256 --noproxy %HOSTIP
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1257 b/tests/data/test1257
index 6b7e93736..16a7c1af6 100644
--- a/tests/data/test1257
+++ b/tests/data/test1257
@@ -36,6 +36,9 @@ NO_PROXY=example.com
<command>
http://somewhere.example.com/1257 --noproxy ""
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1287 b/tests/data/test1287
index 46c292497..976fd6ecf 100644
--- a/tests/data/test1287
+++ b/tests/data/test1287
@@ -60,6 +60,9 @@ HTTP over proxy-tunnel ignore TE and CL in CONNECT 2xx responses
<command>
-v --proxytunnel -x %HOSTIP:%PROXYPORT http://test.1287:%HTTPPORT/we/want/that/page/1287
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1288 b/tests/data/test1288
index 543aa3d6e..d8a1e524c 100644
--- a/tests/data/test1288
+++ b/tests/data/test1288
@@ -44,6 +44,9 @@ Suppress proxy CONNECT response headers
<command>
--proxytunnel --suppress-connect-headers --dump-header - --include --write-out "\nCONNECT CODE: %{http_connect}\nRECEIVED HEADER BYTE TOTAL: %{size_header}\n" --proxy %HOSTIP:%PROXYPORT http://%HOSTIP.1288:%HTTPPORT/we/want/that/page/1288
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1314 b/tests/data/test1314
index 078ada64a..3963bd93f 100644
--- a/tests/data/test1314
+++ b/tests/data/test1314
@@ -56,6 +56,9 @@ HTTP Location: following a // prefixed url
<command>
http://firstplace.example.com/want/1314 -L -x http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1319 b/tests/data/test1319
index f50c53165..8fc968c89 100644
--- a/tests/data/test1319
+++ b/tests/data/test1319
@@ -50,6 +50,7 @@ http-proxy
</server>
<features>
http
+proxy
</features>
<name>
POP3 fetch tunneled through HTTP proxy
diff --git a/tests/data/test1320 b/tests/data/test1320
index 7a15f8091..da4079e93 100644
--- a/tests/data/test1320
+++ b/tests/data/test1320
@@ -27,6 +27,7 @@ http-proxy
</server>
<features>
http
+proxy
</features>
<name>
SMTP send tunneled through HTTP proxy
diff --git a/tests/data/test1321 b/tests/data/test1321
index 72a52c935..cc9117774 100644
--- a/tests/data/test1321
+++ b/tests/data/test1321
@@ -46,6 +46,7 @@ http-proxy
</server>
<features>
http
+proxy
</features>
<name>
IMAP FETCH tunneled through HTTP proxy
diff --git a/tests/data/test1329 b/tests/data/test1329
index 3d2d0cb6c..2cec0b895 100644
--- a/tests/data/test1329
+++ b/tests/data/test1329
@@ -17,6 +17,9 @@ http
<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/1329 -x "/server"
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1331 b/tests/data/test1331
index 6b5823529..865abd969 100644
--- a/tests/data/test1331
+++ b/tests/data/test1331
@@ -64,6 +64,9 @@ HTTP --proxy-anyauth and 407 with cookies
<command>
-U myname:mypassword -x %HOSTIP:%HTTPPORT http://z.x.com/1331 --proxy-anyauth -c log/dump1331
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1415 b/tests/data/test1415
index 91abedc33..94ce02c59 100644
--- a/tests/data/test1415
+++ b/tests/data/test1415
@@ -46,6 +46,9 @@ TZ=GMT
<command>
http://example.com/we/want/1415 -b none -c log/jar1415.txt -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1421 b/tests/data/test1421
index 6c59b2160..dea49e781 100644
--- a/tests/data/test1421
+++ b/tests/data/test1421
@@ -35,6 +35,9 @@ Re-using HTTP proxy connection for two different host names
<command>
--proxy http://%HOSTIP:%HTTPPORT http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1428 b/tests/data/test1428
index 59041ec96..f09c02dd9 100644
--- a/tests/data/test1428
+++ b/tests/data/test1428
@@ -52,6 +52,9 @@ HTTP over proxy-tunnel with --proxy-header and --header
<command>
http://test.1428:%HTTPPORT/we/want/that/page/1428 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy"
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test143 b/tests/data/test143
index a4df8cbf1..0f36dd9c3 100644
--- a/tests/data/test143
+++ b/tests/data/test143
@@ -32,7 +32,8 @@ FTP URL with type=a
USER anonymous
PASS ftp@example.com
PWD
-CWD /tmp
+CWD /
+CWD tmp
CWD moo
EPSV
TYPE A
diff --git a/tests/data/test1445 b/tests/data/test1445
index f60483dcd..936c9aea6 100644
--- a/tests/data/test1445
+++ b/tests/data/test1445
@@ -21,7 +21,7 @@ perl %SRCDIR/libtest/test613.pl prepare %PWD/log/test1445.dir
file:// with --remote-time
</name>
<command>
-file://localhost/%PWD/log/test1445.dir/plainfile.txt --remote-time
+file://localhost%FILE_PWD/log/test1445.dir/plainfile.txt --remote-time
</command>
<postcheck>
perl %SRCDIR/libtest/test613.pl postprocess %PWD/log/test1445.dir && \
diff --git a/tests/data/test1447 b/tests/data/test1447
index e62cd72f2..d1182942e 100644
--- a/tests/data/test1447
+++ b/tests/data/test1447
@@ -18,6 +18,7 @@ none
</server>
<features>
http
+proxy
</features>
<name>
Provide illegal proxy name
diff --git a/tests/data/test1455 b/tests/data/test1455
index 2684d34e9..cbe6fe22e 100644
--- a/tests/data/test1455
+++ b/tests/data/test1455
@@ -39,6 +39,9 @@ HTTP GET when PROXY Protocol enabled
<command>
http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1456 b/tests/data/test1456
index 45244e604..27d63f505 100644
--- a/tests/data/test1456
+++ b/tests/data/test1456
@@ -42,6 +42,9 @@ HTTP-IPv6 GET with PROXY protocol
<command>
-g "http://%HOST6IP:%HTTP6PORT/1456" --local-port 44444 --haproxy-protocol
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1509 b/tests/data/test1509
index b4bfc6603..faffc5d9e 100644
--- a/tests/data/test1509
+++ b/tests/data/test1509
@@ -53,7 +53,9 @@ http-proxy
<tool>
lib1509
</tool>
-
+<features>
+proxy
+</features>
<name>
simple multi http:// through proxytunnel with authentication info
</name>
diff --git a/tests/data/test1525 b/tests/data/test1525
index 595da5ea9..673e048c8 100644
--- a/tests/data/test1525
+++ b/tests/data/test1525
@@ -49,6 +49,9 @@ CURLOPT_PROXYHEADER is ignored CURLHEADER_UNIFIED
<command>
http://the.old.moo.1525:%HTTPPORT/1525 %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1526 b/tests/data/test1526
index aa111c890..f6fb44dd5 100644
--- a/tests/data/test1526
+++ b/tests/data/test1526
@@ -51,6 +51,9 @@ CURLOPT_PROXYHEADER: separate host/proxy headers
<command>
http://the.old.moo.1526:%HTTPPORT/1526 %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1527 b/tests/data/test1527
index e8d52794b..6bb87d14a 100644
--- a/tests/data/test1527
+++ b/tests/data/test1527
@@ -50,6 +50,9 @@ Check same headers are generated with CURLOPT_HEADEROPT == CURLHEADER_UNIFIED
<command>
http://the.old.moo.1527:%HTTPPORT/1527 %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1528 b/tests/data/test1528
index 876806af4..72c0a32d1 100644
--- a/tests/data/test1528
+++ b/tests/data/test1528
@@ -43,6 +43,9 @@ Separately specified proxy/server headers sent in a proxy GET
<command>
http://the.old.moo:%HTTPPORT/1528 %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test1529 b/tests/data/test1529
index 33df26824..f7be50367 100644
--- a/tests/data/test1529
+++ b/tests/data/test1529
@@ -31,6 +31,9 @@ HTTP request-injection in URL sent over proxy
<command>
"http://the.old.moo:%HTTPPORT/1529" %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
# it should be detected and an error should be reported
diff --git a/tests/data/test1591 b/tests/data/test1591
index e864fdbaa..526933a0e 100644
--- a/tests/data/test1591
+++ b/tests/data/test1591
@@ -19,7 +19,7 @@ Server: test-server/fake
# Client-side
<client>
<features>
-HTTP
+http
</features>
<server>
http
diff --git a/tests/data/test1595 b/tests/data/test1595
new file mode 100644
index 000000000..29b2b865f
--- /dev/null
+++ b/tests/data/test1595
@@ -0,0 +1,51 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP replaced headers
+CURLOPT_TIMECONDITION
+If-Modified-Since
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 503 Error
+Date: Thu, 11 Jul 2019 02:26:59 GMT
+Server: test-server/swsclose
+
+</data>
+</reply>
+# Client-side
+<client>
+<server>
+http
+</server>
+<name>
+HTTP Retry-After header extraction (without header)
+</name>
+<tool>
+lib1594
+</tool>
+<command>
+http://%HOSTIP:%HTTPPORT/1595
+</command>
+</client>
+
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1595 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+<stdout>
+Retry-After: 0
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1596 b/tests/data/test1596
new file mode 100644
index 000000000..77a10f08a
--- /dev/null
+++ b/tests/data/test1596
@@ -0,0 +1,52 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP replaced headers
+CURLOPT_TIMECONDITION
+If-Modified-Since
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 429 Too Many Requests
+Date: Thu, 11 Jul 2019 02:26:59 GMT
+Server: test-server/swsclose
+Retry-After: Thu, 11 Jul 2024 02:26:59 GMT
+
+</data>
+</reply>
+# Client-side
+<client>
+<server>
+http
+</server>
+<name>
+HTTP Retry-After header parsing using a date
+</name>
+<tool>
+lib1596
+</tool>
+<command>
+http://%HOSTIP:%HTTPPORT/1596
+</command>
+</client>
+
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1596 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+<stdout>
+Retry-After: 172066
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test16 b/tests/data/test16
index 15f4c7a7b..399aa9420 100644
--- a/tests/data/test16
+++ b/tests/data/test16
@@ -33,6 +33,9 @@ HTTP with proxy authorization
<command>
-U fake@user:loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong -x %HOSTIP:%HTTPPORT http://we.want.that.site.com/16
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test162 b/tests/data/test162
index ee2f40aa7..099641a87 100644
--- a/tests/data/test162
+++ b/tests/data/test162
@@ -28,6 +28,7 @@ isn't because there's no Proxy-Authorization: NTLM header
<features>
NTLM
!SSPI
+proxy
</features>
<server>
http
diff --git a/tests/data/test165 b/tests/data/test165
index b9a1ed786..9009425aa 100644
--- a/tests/data/test165
+++ b/tests/data/test165
@@ -29,6 +29,7 @@ http
</server>
<features>
idn
+proxy
</features>
<setenv>
LC_ALL=
diff --git a/tests/data/test1654 b/tests/data/test1654
index 5b32cb419..6a82daa08 100644
--- a/tests/data/test1654
+++ b/tests/data/test1654
@@ -53,6 +53,7 @@ h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0
h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0
h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0
h2 example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0
+h2 example.net 80 h2 example.net 443 "20190124 22:37:21" 0 0
</file>
</verify>
</testcase>
diff --git a/tests/data/test1655 b/tests/data/test1655
new file mode 100644
index 000000000..0c10bedf4
--- /dev/null
+++ b/tests/data/test1655
@@ -0,0 +1,26 @@
+<testcase>
+<info>
+<keywords>
+unittest
+doh
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<features>
+unittest
+</features>
+ <name>
+unit test for doh_encode
+ </name>
+<tool>
+unit1655
+</tool>
+</client>
+
+</testcase>
diff --git a/tests/data/test167 b/tests/data/test167
index 0b14996a3..e08555ecc 100644
--- a/tests/data/test167
+++ b/tests/data/test167
@@ -45,6 +45,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP with proxy-requiring-Basic to site-requiring-Digest
diff --git a/tests/data/test168 b/tests/data/test168
index 20e0b6d9c..fb8762044 100644
--- a/tests/data/test168
+++ b/tests/data/test168
@@ -59,6 +59,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP with proxy-requiring-Digest to site-requiring-Digest
diff --git a/tests/data/test169 b/tests/data/test169
index bb089ca35..8013bcc17 100644
--- a/tests/data/test169
+++ b/tests/data/test169
@@ -79,6 +79,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP with proxy-requiring-NTLM to site-requiring-Digest
diff --git a/tests/data/test170 b/tests/data/test170
index 8ce7774f9..49d595bbc 100644
--- a/tests/data/test170
+++ b/tests/data/test170
@@ -20,6 +20,7 @@ http
<features>
NTLM
!SSPI
+proxy
</features>
<name>
HTTP POST with --proxy-ntlm and no SSL with no response
diff --git a/tests/data/test171 b/tests/data/test171
index 09e48b70a..482c0b7e2 100644
--- a/tests/data/test171
+++ b/tests/data/test171
@@ -33,6 +33,9 @@ HTTP, get cookie with dot prefixed full domain
<command>
-c log/jar171 -x %HOSTIP:%HTTPPORT http://z.x.com/171
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test179 b/tests/data/test179
index f8f7811a7..3a94c00ba 100644
--- a/tests/data/test179
+++ b/tests/data/test179
@@ -38,6 +38,9 @@ supertrooper.fake FALSE /a FALSE 2139150993 mooo indeed
supertrooper.fake FALSE /b FALSE 0 moo1 indeed
supertrooper.fake FALSE /c FALSE 2139150993 moo2 indeed
</file>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test183 b/tests/data/test183
index f34dc0c98..cf992a26f 100644
--- a/tests/data/test183
+++ b/tests/data/test183
@@ -30,6 +30,9 @@ HTTP GET two URLs over a single proxy with persistent connection
<command>
http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test184 b/tests/data/test184
index 8b09dde28..42e652e3b 100644
--- a/tests/data/test184
+++ b/tests/data/test184
@@ -50,6 +50,9 @@ HTTP replace Host: when following Location: to new host
<command>
http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test185 b/tests/data/test185
index 298dd49ce..3bc58a041 100644
--- a/tests/data/test185
+++ b/tests/data/test185
@@ -50,6 +50,9 @@ HTTP replace Host: when following Location: on the same host
<command>
http://deathstar.another.galaxy/185 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test19 b/tests/data/test19
index dd60b8cf3..8e1bf5eb4 100644
--- a/tests/data/test19
+++ b/tests/data/test19
@@ -24,7 +24,7 @@ http
attempt connect to non-listening socket
</name>
<command>
-%HOSTIP:60000
+%HOSTIP:2
</command>
</client>
diff --git a/tests/data/test1904 b/tests/data/test1904
index 08ad534a6..760285472 100644
--- a/tests/data/test1904
+++ b/tests/data/test1904
@@ -53,6 +53,9 @@ HTTP CONNECT with 204 response
<command>
http://test.1904:%HTTPPORT/we/want/that/page/1904 -p --proxy %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test1907 b/tests/data/test1907
new file mode 100644
index 000000000..93f37051e
--- /dev/null
+++ b/tests/data/test1907
@@ -0,0 +1,53 @@
+<testcase>
+<info>
+<keywords>
+CURLINFO_EFFECTIVE_URL
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes swsclose
+Content-Length: 0
+
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+CURLINFO_EFFECTIVE_URL with non-scheme URL
+ </name>
+<tool>
+lib1907
+</tool>
+
+<command>
+%HOSTIP:%HTTPPORT/hello/../1907
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1907 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+<stdout>
+Effective URL: http://%HOSTIP:%HTTPPORT/1907
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test200 b/tests/data/test200
index c27f7c095..d8adda7d8 100644
--- a/tests/data/test200
+++ b/tests/data/test200
@@ -24,7 +24,7 @@ file
basic file:// file
</name>
<command option="no-include">
-file://localhost/%PWD/log/test200.txt
+file://localhost%FILE_PWD/log/test200.txt
</command>
<file name="log/test200.txt">
foo
diff --git a/tests/data/test2000 b/tests/data/test2000
index db1ba1330..a91dcd2c7 100644
--- a/tests/data/test2000
+++ b/tests/data/test2000
@@ -32,7 +32,7 @@ file
FTP RETR followed by FILE
</name>
<command option="no-include">
-ftp://%HOSTIP:%FTPPORT/2000 file://localhost/%PWD/log/test2000.txt
+ftp://%HOSTIP:%FTPPORT/2000 file://localhost%FILE_PWD/log/test2000.txt
</command>
<file name="log/test2000.txt">
foo
diff --git a/tests/data/test2001 b/tests/data/test2001
index 88a258ebb..9232499f9 100644
--- a/tests/data/test2001
+++ b/tests/data/test2001
@@ -49,7 +49,7 @@ file
HTTP GET followed by FTP RETR followed by FILE
</name>
<command option="no-include">
-http://%HOSTIP:%HTTPPORT/20010001 ftp://%HOSTIP:%FTPPORT/20010002 file://localhost/%PWD/log/test2001.txt
+http://%HOSTIP:%HTTPPORT/20010001 ftp://%HOSTIP:%FTPPORT/20010002 file://localhost%FILE_PWD/log/test2001.txt
</command>
<file name="log/test2001.txt">
foo
diff --git a/tests/data/test2002 b/tests/data/test2002
index 6dd2f9310..efe75fa3b 100644
--- a/tests/data/test2002
+++ b/tests/data/test2002
@@ -58,7 +58,7 @@ tftp
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
</name>
<command option="no-include">
-http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost/%PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003
+http://%HOSTIP:%HTTPPORT/20020001 ftp://%HOSTIP:%FTPPORT/20020002 file://localhost%FILE_PWD/log/test2002.txt tftp://%HOSTIP:%TFTPPORT//20020003
</command>
<file name="log/test2002.txt">
foo
diff --git a/tests/data/test2003 b/tests/data/test2003
index 09bee8e22..68ae71429 100644
--- a/tests/data/test2003
+++ b/tests/data/test2003
@@ -58,7 +58,7 @@ tftp
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ then again in reverse order
</name>
<command option="no-include">
-http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost/%PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost/%PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001
+http://%HOSTIP:%HTTPPORT/20030001 ftp://%HOSTIP:%FTPPORT/20030002 file://localhost%FILE_PWD/log/test2003.txt tftp://%HOSTIP:%TFTPPORT//20030003 tftp://%HOSTIP:%TFTPPORT//20030003 file://localhost%FILE_PWD/log/test2003.txt ftp://%HOSTIP:%FTPPORT/20030002 http://%HOSTIP:%HTTPPORT/20030001
</command>
<file name="log/test2003.txt">
foo
diff --git a/tests/data/test2004 b/tests/data/test2004
index b17890b0f..5b3b68d0c 100644
--- a/tests/data/test2004
+++ b/tests/data/test2004
@@ -30,7 +30,7 @@ sftp
TFTP RRQ followed by SFTP retrieval followed by FILE followed by SCP retrieval then again in reverse order
</name>
<command option="no-include">
---key curl_client_key --pubkey curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//2004 sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt scp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost/%PWD/log/test2004.txt sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt tftp://%HOSTIP:%TFTPPORT//2004 --insecure
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: tftp://%HOSTIP:%TFTPPORT//2004 sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost%FILE_PWD/log/test2004.txt scp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt file://localhost%FILE_PWD/log/test2004.txt sftp://%HOSTIP:%SSHPORT%POSIX_PWD/log/test2004.txt tftp://%HOSTIP:%TFTPPORT//2004 --insecure
</command>
<file name="log/test2004.txt">
This is test data
diff --git a/tests/data/test2005 b/tests/data/test2005
index 061f99b66..f78b4be56 100644
--- a/tests/data/test2005
+++ b/tests/data/test2005
@@ -78,7 +78,7 @@ Data delivered from an HTTP resource
</file1>
<file2 name="log/stdout2005">
</file2>
-<file3 name="log/stderr2005">
+<file3 name="log/stderr2005" mode="text">
Metalink: parsing (file://%PWD/log/test2005.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2005.metalink) OK
Metalink: fetching (log/download2005) from (http://%HOSTIP:%HTTPPORT/2005)...
diff --git a/tests/data/test2006 b/tests/data/test2006
index 4d08e0aad..1f5971726 100644
--- a/tests/data/test2006
+++ b/tests/data/test2006
@@ -98,7 +98,7 @@ Funny-head: yesyes
</file2>
<file3 name="log/stdout2006">
</file3>
-<file4 name="log/stderr2006">
+<file4 name="log/stderr2006" mode="text">
Metalink: parsing (file://%PWD/log/test2006.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2006.metalink) OK
Metalink: fetching (log/download2006) from (http://%HOSTIP:%HTTPPORT/2006)...
diff --git a/tests/data/test2007 b/tests/data/test2007
index bb4d5cde9..a8e5f1b45 100644
--- a/tests/data/test2007
+++ b/tests/data/test2007
@@ -102,7 +102,7 @@ Funny-head: yesyes
</file2>
<file3 name="log/stdout2007">
</file3>
-<file4 name="log/stderr2007">
+<file4 name="log/stderr2007" mode="text">
Metalink: parsing (file://%PWD/log/test2007.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2007.metalink) OK
Metalink: fetching (log/download2007) from (http://%HOSTIP:%HTTPPORT/2007)...
diff --git a/tests/data/test2008 b/tests/data/test2008
index d6bbf6b4b..1a0033285 100644
--- a/tests/data/test2008
+++ b/tests/data/test2008
@@ -94,7 +94,7 @@ Funny-head: yesyes
</file2>
<file3 name="log/stdout2008">
</file3>
-<file4 name="log/stderr2008">
+<file4 name="log/stderr2008" mode="text">
Metalink: parsing (file://%PWD/log/test2008.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2008.metalink) OK
Metalink: fetching (log/download2008) from (http://%HOSTIP:%HTTPPORT/2008)...
diff --git a/tests/data/test2009 b/tests/data/test2009
index 1a9335851..08308d03e 100644
--- a/tests/data/test2009
+++ b/tests/data/test2009
@@ -95,7 +95,7 @@ Funny-head: yesyes
</file2>
<file3 name="log/stdout2009">
</file3>
-<file4 name="log/stderr2009">
+<file4 name="log/stderr2009" mode="text">
Metalink: parsing (file://%PWD/log/test2009.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2009.metalink) OK
Metalink: fetching (log/download2009) from (http://%HOSTIP:%HTTPPORT/2009)...
diff --git a/tests/data/test2010 b/tests/data/test2010
index 1f5320fe9..068c481b5 100644
--- a/tests/data/test2010
+++ b/tests/data/test2010
@@ -94,7 +94,7 @@ Funny-head: yesyes
</file2>
<file3 name="log/stdout2010">
</file3>
-<file4 name="log/stderr2010">
+<file4 name="log/stderr2010" mode="text">
Metalink: parsing (file://%PWD/log/test2010.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2010.metalink) OK
Metalink: fetching (log/download2010) from (http://%HOSTIP:%HTTPPORT/2010)...
diff --git a/tests/data/test2011 b/tests/data/test2011
index 46785cf94..a84502317 100644
--- a/tests/data/test2011
+++ b/tests/data/test2011
@@ -78,7 +78,7 @@ Data delivered from an HTTP resource
</file1>
<file2 name="log/stdout2011">
</file2>
-<file3 name="log/stderr2011">
+<file3 name="log/stderr2011" mode="text">
Metalink: parsing (file://%PWD/log/test2011.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2011.metalink) OK
Metalink: fetching (log/download2011) from (http://%HOSTIP:%HTTPPORT/2011)...
diff --git a/tests/data/test2012 b/tests/data/test2012
index 59c042d12..6751269d5 100644
--- a/tests/data/test2012
+++ b/tests/data/test2012
@@ -77,7 +77,7 @@ Some contents delivered from an HTTP resource
</file1>
<file2 name="log/stdout2012">
</file2>
-<file3 name="log/stderr2012">
+<file3 name="log/stderr2012" mode="text">
Metalink: parsing (file://%PWD/log/test2012.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2012.metalink) WARNING (digest missing)
Metalink: fetching (log/download2012) from (http://%HOSTIP:%HTTPPORT/2012)...
diff --git a/tests/data/test2013 b/tests/data/test2013
index 0985b32de..f4d0c2475 100644
--- a/tests/data/test2013
+++ b/tests/data/test2013
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2013 log/name2013 /tmp/download2013
<verify>
<file1 name="log/stdout2013">
</file1>
-<file2 name="log/stderr2013">
+<file2 name="log/stderr2013" mode="text">
Metalink: parsing (file://%PWD/log/test2013.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2013.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2013.metalink) FAILED
diff --git a/tests/data/test2014 b/tests/data/test2014
index d2dbdc7a7..65d2ec766 100644
--- a/tests/data/test2014
+++ b/tests/data/test2014
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2014 log/name2014 log/download2014
<verify>
<file1 name="log/stdout2014">
</file1>
-<file2 name="log/stderr2014">
+<file2 name="log/stderr2014" mode="text">
Metalink: parsing (file://%PWD/log/test2014.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2014.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2014.metalink) FAILED
diff --git a/tests/data/test2015 b/tests/data/test2015
index a35f3117d..d356f88bc 100644
--- a/tests/data/test2015
+++ b/tests/data/test2015
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2015 log/name2015 log/download2015
<verify>
<file1 name="log/stdout2015">
</file1>
-<file2 name="log/stderr2015">
+<file2 name="log/stderr2015" mode="text">
Metalink: parsing (file://%PWD/log/test2015.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2015.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2015.metalink) FAILED
diff --git a/tests/data/test2016 b/tests/data/test2016
index 572aa65c5..ff2862d51 100644
--- a/tests/data/test2016
+++ b/tests/data/test2016
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2016 log/name2016 log/download2016
<verify>
<file1 name="log/stdout2016">
</file1>
-<file2 name="log/stderr2016">
+<file2 name="log/stderr2016" mode="text">
Metalink: parsing (file://%PWD/log/test2016.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2016.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2016.metalink) FAILED
diff --git a/tests/data/test2017 b/tests/data/test2017
index 15fd9347c..11c71c3db 100644
--- a/tests/data/test2017
+++ b/tests/data/test2017
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017
<verify>
<file1 name="log/stdout2017">
</file1>
-<file2 name="log/stderr2017">
+<file2 name="log/stderr2017" mode="text">
Metalink: parsing (file://%PWD/log/test2017.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED
diff --git a/tests/data/test2018 b/tests/data/test2018
index 6d0652dcc..9fb433d94 100644
--- a/tests/data/test2018
+++ b/tests/data/test2018
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2018 log/name2018 log/.download2018
<verify>
<file1 name="log/stdout2018">
</file1>
-<file2 name="log/stderr2018">
+<file2 name="log/stderr2018" mode="text">
Metalink: parsing (file://%PWD/log/test2018.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2018.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2018.metalink) FAILED
diff --git a/tests/data/test2019 b/tests/data/test2019
index b17b3f23f..abd8cad9a 100644
--- a/tests/data/test2019
+++ b/tests/data/test2019
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2019 log/name2019
<verify>
<file1 name="log/stdout2019">
</file1>
-<file2 name="log/stderr2019">
+<file2 name="log/stderr2019" mode="text">
Metalink: parsing (file://%PWD/log/test2019.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2019.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2019.metalink) FAILED
diff --git a/tests/data/test202 b/tests/data/test202
index 0b324b1d8..ad9d854d5 100644
--- a/tests/data/test202
+++ b/tests/data/test202
@@ -20,7 +20,7 @@ file
two file:// URLs to stdout
</name>
<command option="no-include">
-file://localhost/%PWD/log/test202.txt FILE://localhost/%PWD/log/test202.txt
+file://localhost%FILE_PWD/log/test202.txt FILE://localhost%FILE_PWD/log/test202.txt
</command>
<file name="log/test202.txt">
contents in a single file
diff --git a/tests/data/test2020 b/tests/data/test2020
index 8bf85a4d7..584f6df3b 100644
--- a/tests/data/test2020
+++ b/tests/data/test2020
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2020 log/name2020
<verify>
<file1 name="log/stdout2020">
</file1>
-<file2 name="log/stderr2020">
+<file2 name="log/stderr2020" mode="text">
Metalink: parsing (file://%PWD/log/test2020.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2020.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2020.metalink) FAILED
diff --git a/tests/data/test2021 b/tests/data/test2021
index 20a92244a..b0921d48a 100644
--- a/tests/data/test2021
+++ b/tests/data/test2021
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2021 log/name2021 log/download2021
<verify>
<file1 name="log/stdout2021">
</file1>
-<file2 name="log/stderr2021">
+<file2 name="log/stderr2021" mode="text">
Metalink: parsing (file://%PWD/log/test2021.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2021.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2021.metalink) FAILED
diff --git a/tests/data/test2022 b/tests/data/test2022
index 4f4efd176..e9044732a 100644
--- a/tests/data/test2022
+++ b/tests/data/test2022
@@ -66,7 +66,7 @@ perl %SRCDIR/libtest/notexists.pl log/2022 log/name2022 log/download2022
<verify>
<file1 name="log/stdout2022">
</file1>
-<file2 name="log/stderr2022">
+<file2 name="log/stderr2022" mode="text">
Metalink: parsing (file://%PWD/log/test2022.metalink) metalink/XML...
Metalink: parsing (file://%PWD/log/test2022.metalink) WARNING (missing or invalid file name)
Metalink: parsing (file://%PWD/log/test2022.metalink) FAILED
diff --git a/tests/data/test204 b/tests/data/test204
index 0ed94512f..5dad0149c 100644
--- a/tests/data/test204
+++ b/tests/data/test204
@@ -16,7 +16,7 @@ file
"upload" with file://
</name>
<command option="no-include">
-file://localhost/%PWD/log/result204.txt -T log/upload204.txt
+file://localhost%FILE_PWD/log/result204.txt -T log/upload204.txt
</command>
<file name="log/upload204.txt">
data
diff --git a/tests/data/test2050 b/tests/data/test2050
index 81ef79ffc..5eef3dae2 100644
--- a/tests/data/test2050
+++ b/tests/data/test2050
@@ -53,6 +53,9 @@ Connect to specific host via HTTP proxy (switch to tunnel mode automatically)
<command>
http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:%HTTPPORT -x %HOSTIP:%PROXYPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test2055 b/tests/data/test2055
index cca44942f..a5fac62be 100644
--- a/tests/data/test2055
+++ b/tests/data/test2055
@@ -51,7 +51,9 @@ socks5
<name>
Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically)
</name>
-
+<features>
+proxy
+</features>
<command>
http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:%HTTPPORT -x %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT
</command>
diff --git a/tests/data/test2058 b/tests/data/test2058
index 0082503e0..65a907f43 100644
--- a/tests/data/test2058
+++ b/tests/data/test2058
@@ -66,6 +66,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP POST --digest with PUT, resumed upload, modified method and SHA-256
diff --git a/tests/data/test2059 b/tests/data/test2059
index b74b0bdc1..4272a7b41 100644
--- a/tests/data/test2059
+++ b/tests/data/test2059
@@ -66,6 +66,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=true
diff --git a/tests/data/test206 b/tests/data/test206
index 5f0c88562..f99ac4c71 100644
--- a/tests/data/test206
+++ b/tests/data/test206
@@ -73,6 +73,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP proxy CONNECT auth Digest
diff --git a/tests/data/test2060 b/tests/data/test2060
index f323eb520..a0b291dc2 100644
--- a/tests/data/test2060
+++ b/tests/data/test2060
@@ -66,6 +66,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP POST --digest with PUT, resumed upload, modified method, SHA-512-256 and userhash=false
diff --git a/tests/data/test2071 b/tests/data/test2071
index eddfa4df7..900f0d5a8 100644
--- a/tests/data/test2071
+++ b/tests/data/test2071
@@ -24,7 +24,7 @@ file
basic file:// file with "127.0.0.1" hostname
</name>
<command option="no-include">
-file://127.0.0.1/%PWD/log/test2070.txt
+file://127.0.0.1%FILE_PWD/log/test2070.txt
</command>
<file name="log/test2070.txt">
foo
diff --git a/tests/data/test208 b/tests/data/test208
index afb2566b5..1c86558a8 100644
--- a/tests/data/test208
+++ b/tests/data/test208
@@ -27,6 +27,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<name>
HTTP PUT to a FTP URL with username+password - over HTTP proxy
diff --git a/tests/data/test209 b/tests/data/test209
index a0cc1a533..aded6d2d2 100644
--- a/tests/data/test209
+++ b/tests/data/test209
@@ -79,6 +79,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy CONNECT auth NTLM
diff --git a/tests/data/test213 b/tests/data/test213
index 819c8016d..82d82c483 100644
--- a/tests/data/test213
+++ b/tests/data/test213
@@ -79,6 +79,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP 1.0 proxy CONNECT auth NTLM and then POST
diff --git a/tests/data/test217 b/tests/data/test217
index f10df566b..4ab51a2f3 100644
--- a/tests/data/test217
+++ b/tests/data/test217
@@ -34,6 +34,9 @@ HTTP proxy CONNECT to proxy returning 405
<command>
http://test.remote.example.com.217:%HTTPPORT/path/2170002 --proxy http://%HOSTIP:%HTTPPORT --proxytunnel -w "%{http_code} %{http_connect}\n"
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test219 b/tests/data/test219
index be3f0f3c5..49f17e43f 100644
--- a/tests/data/test219
+++ b/tests/data/test219
@@ -18,6 +18,7 @@ none
</server>
<features>
http
+proxy
</features>
<name>
try using proxy with unsupported scheme
diff --git a/tests/data/test231 b/tests/data/test231
index 3d4bc7730..7254953e1 100644
--- a/tests/data/test231
+++ b/tests/data/test231
@@ -23,7 +23,7 @@ file
file:// with resume
</name>
<command option="no-include">
-file://localhost/%PWD/log/test231.txt -C 10
+file://localhost%FILE_PWD/log/test231.txt -C 10
</command>
<file name="log/test231.txt">
A01234567
diff --git a/tests/data/test233 b/tests/data/test233
index b631e52cf..a38d8c95e 100644
--- a/tests/data/test233
+++ b/tests/data/test233
@@ -67,6 +67,9 @@ HTTP, proxy, site+proxy auth and Location: to new host
<command>
http://first.host.it.is/we/want/that/page/233 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test234 b/tests/data/test234
index 1d2e05b39..9e197cd1d 100644
--- a/tests/data/test234
+++ b/tests/data/test234
@@ -69,6 +69,9 @@ HTTP, proxy, site+proxy auth and Location: to new host using location-trusted
<command>
http://first.host.it.is/we/want/that/page/234 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this --location-trusted
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test239 b/tests/data/test239
index c9e5b6ac7..a6f1fd59b 100644
--- a/tests/data/test239
+++ b/tests/data/test239
@@ -54,6 +54,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy-auth NTLM and then POST
diff --git a/tests/data/test243 b/tests/data/test243
index 7d1ed7d6e..f83218e14 100644
--- a/tests/data/test243
+++ b/tests/data/test243
@@ -75,6 +75,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP POST with --proxy-anyauth, picking NTLM
diff --git a/tests/data/test244 b/tests/data/test244
index 8ce4b6346..080163dd1 100644
--- a/tests/data/test244
+++ b/tests/data/test244
@@ -47,7 +47,7 @@ PASS ftp@example.com
PWD
EPSV
TYPE A
-LIST fir#t/third/244/
+LIST fir#t/third/244
QUIT
</protocol>
</verify>
diff --git a/tests/data/test256 b/tests/data/test256
index 17ae807d1..1567c6292 100644
--- a/tests/data/test256
+++ b/tests/data/test256
@@ -35,6 +35,9 @@ HTTP resume request over proxy with auth without server supporting it
This text is here to simulate a partly downloaded file to resume
download on.
</file>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test257 b/tests/data/test257
index 502448ddb..59a419bb1 100644
--- a/tests/data/test257
+++ b/tests/data/test257
@@ -73,7 +73,9 @@ HTTP Location: following with --netrc-optional
<command>
http://supersite.com/want/257 -L -x http://%HOSTIP:%HTTPPORT --netrc-optional --netrc-file log/netrc257
</command>
-
+<features>
+proxy
+</features>
# netrc auth for two out of three sites:
<file name="log/netrc257">
machine supersite.com login user1 password passwd1
diff --git a/tests/data/test258 b/tests/data/test258
index 98c340141..6c10564b8 100644
--- a/tests/data/test258
+++ b/tests/data/test258
@@ -58,6 +58,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP POST multipart without Expect: header using proxy anyauth (Digest)
diff --git a/tests/data/test259 b/tests/data/test259
index 6e1853601..58d25120f 100644
--- a/tests/data/test259
+++ b/tests/data/test259
@@ -54,6 +54,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP POST multipart with Expect: header using proxy anyauth (Digest)
diff --git a/tests/data/test263 b/tests/data/test263
index 5088141f5..e10c20741 100644
--- a/tests/data/test263
+++ b/tests/data/test263
@@ -25,6 +25,7 @@ hello
<client>
<features>
ipv6
+proxy
</features>
<server>
http-ipv6
diff --git a/tests/data/test264 b/tests/data/test264
index f4d171a16..5aca0e6c5 100644
--- a/tests/data/test264
+++ b/tests/data/test264
@@ -30,6 +30,9 @@ HTTP with proxy string including http:// and user+password
<command>
http://we.want.that.site.com/264 -x http://f%61ke:user@%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test265 b/tests/data/test265
index 2e26ff5e5..ff7d5945e 100644
--- a/tests/data/test265
+++ b/tests/data/test265
@@ -80,6 +80,7 @@ http
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407
diff --git a/tests/data/test275 b/tests/data/test275
index 802c4bbcc..6065b4d81 100644
--- a/tests/data/test275
+++ b/tests/data/test275
@@ -56,6 +56,9 @@ HTTP CONNECT with proxytunnel getting two URLs from the same host
<command>
http://remotesite.com.275:%HTTPPORT/we/want/that/page/275 -p -x %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:%HTTPPORT/we/want/that/page/275
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test278 b/tests/data/test278
index 3112264a3..620f56b17 100644
--- a/tests/data/test278
+++ b/tests/data/test278
@@ -30,6 +30,9 @@ HTTP with proxy string including http:// and user+empty password
<command>
http://we.want.that.site.com/278 -x http://f%61ke:@%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test279 b/tests/data/test279
index 47f8b687e..d5f4194f1 100644
--- a/tests/data/test279
+++ b/tests/data/test279
@@ -31,6 +31,9 @@ HTTP with proxy string including http:// and user only
<command>
http://we.want.that.site.com/279 -x http://f%61ke@%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test287 b/tests/data/test287
index 6772e220f..7c29f7f02 100644
--- a/tests/data/test287
+++ b/tests/data/test287
@@ -30,6 +30,9 @@ HTTP proxy CONNECT with custom User-Agent header
<command>
http://test.remote.example.com.287:%HTTPPORT/path/287 -H "User-Agent: looser/2015" --proxy http://%HOSTIP:%HTTPPORT --proxytunnel --proxy-header "User-Agent: looser/2007"
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test288 b/tests/data/test288
index 9f8f6e121..e62eabd3c 100644
--- a/tests/data/test288
+++ b/tests/data/test288
@@ -31,7 +31,7 @@ file:// with (unsupported) proxy, authentication and range
all_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
</setenv>
<command option="no-include">
-file://localhost/%PWD/log/test288.txt
+file://localhost%FILE_PWD/log/test288.txt
</command>
<file name="log/test288.txt">
foo
diff --git a/tests/data/test299 b/tests/data/test299
index 4daaea47d..cfa743020 100644
--- a/tests/data/test299
+++ b/tests/data/test299
@@ -27,6 +27,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<name>
FTP over HTTP proxy with user:pass not in url
diff --git a/tests/data/test317 b/tests/data/test317
index c6d8697be..68a9b5c79 100644
--- a/tests/data/test317
+++ b/tests/data/test317
@@ -67,6 +67,9 @@ HTTP with custom Authorization: and redirect to new host
<command>
http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test318 b/tests/data/test318
index 838d1ba0f..fd82c7aed 100644
--- a/tests/data/test318
+++ b/tests/data/test318
@@ -67,6 +67,9 @@ HTTP with custom Authorization: and redirect to new host
<command>
http://first.host.it.is/we/want/that/page/318 -x %HOSTIP:%HTTPPORT -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test330 b/tests/data/test330
index 74607d5ee..6cda172f6 100644
--- a/tests/data/test330
+++ b/tests/data/test330
@@ -65,6 +65,9 @@ HTTP with custom Cookie: and redirect to new host
<command>
http://first.host.it.is/we/want/that/page/317 -x %HOSTIP:%HTTPPORT -H "Cookie: test=yes" --location
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test331 b/tests/data/test331
index 54b86d2a1..2ffac81f7 100644
--- a/tests/data/test331
+++ b/tests/data/test331
@@ -41,6 +41,9 @@ HTTP with cookie using host name 'moo'
<command>
-x http://%HOSTIP:%HTTPPORT http://moo/we/want/331 -b none http://moo/we/want/3310002
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test335 b/tests/data/test335
index 4d54da980..5817365e3 100644
--- a/tests/data/test335
+++ b/tests/data/test335
@@ -61,6 +61,7 @@ http
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP with proxy Digest and site Digest with creds in URLs
diff --git a/tests/data/test336 b/tests/data/test336
new file mode 100644
index 000000000..85477c96c
--- /dev/null
+++ b/tests/data/test336
@@ -0,0 +1,58 @@
+<testcase>
+<info>
+<keywords>
+FTP
+PASV
+TYPE A
+RETR
+</keywords>
+</info>
+# Server-side
+<reply>
+<data>
+data
+ to
+ see
+that FTP
+works
+ so does it?
+</data>
+<datacheck nonewline="yes">
+data
+</datacheck>
+<servercmd>
+REPLY EPSV 500 no such command
+REPLY SIZE 500 no such command
+</servercmd>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+ <name>
+FTP range download when SIZE doesn't work
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/336 --use-ascii --range 3-6
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE A
+SIZE 336
+REST 3
+RETR 336
+ABOR
+QUIT
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test337 b/tests/data/test337
new file mode 100644
index 000000000..80086dda7
--- /dev/null
+++ b/tests/data/test337
@@ -0,0 +1,58 @@
+<testcase>
+<info>
+<keywords>
+FTP
+PASV
+TYPE A
+RETR
+</keywords>
+</info>
+# Server-side
+<reply>
+<data>
+data
+ to
+ see
+that FTP
+works
+ so does it?
+</data>
+<datacheck nonewline="yes">
+data
+</datacheck>
+<servercmd>
+REPLY EPSV 500 no such command
+REPLY SIZE 213 file: 213, Size =51
+</servercmd>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+ <name>
+FTP range download with SIZE returning extra crap
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/337 --use-ascii --range 3-6
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE A
+SIZE 337
+REST 3
+RETR 337
+ABOR
+QUIT
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test338 b/tests/data/test338
new file mode 100644
index 000000000..f8dab6528
--- /dev/null
+++ b/tests/data/test338
@@ -0,0 +1,63 @@
+# See https://github.com/curl/curl/issues/4499
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+</data>
+<servercmd>
+connection-monitor
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+ANYAUTH connection reuse of non-authed connection
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/338 --next http://%HOSTIP:%HTTPPORT/338 --anyauth -u foo:moo
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /338 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+GET /338 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+[DISCONNECT]
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test356 b/tests/data/test356
index 1be05fe6f..c1234b450 100644
--- a/tests/data/test356
+++ b/tests/data/test356
@@ -61,7 +61,7 @@ Accept: */*
# matches
s/\"([^\"]*)\"/TIMESTAMP/
</stripfile>
-<file name="log/altsvc-356">
+<file name="log/altsvc-356" mode="text">
# Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html
# This file was generated by libcurl! Edit at your own risk.
h1 %HOSTIP %HTTPPORT h1 nowhere.foo 81 TIMESTAMP 0 0
diff --git a/tests/data/test43 b/tests/data/test43
index e5535bb3a..196017013 100644
--- a/tests/data/test43
+++ b/tests/data/test43
@@ -56,6 +56,9 @@ HTTP Location: following over HTTP proxy
<command>
http://%HOSTIP:%HTTPPORT/want/43 -L -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test5 b/tests/data/test5
index b62f1a127..b98d27b3b 100644
--- a/tests/data/test5
+++ b/tests/data/test5
@@ -31,6 +31,9 @@ HTTP over proxy
<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test503 b/tests/data/test503
index e8dc21e8d..472149d2a 100644
--- a/tests/data/test503
+++ b/tests/data/test503
@@ -50,7 +50,9 @@ http-proxy
<tool>
lib503
</tool>
-
+<features>
+proxy
+</features>
<name>
simple multi http:// through proxytunnel with authentication info
</name>
diff --git a/tests/data/test504 b/tests/data/test504
index 2d3a3dd0d..7c92209cd 100644
--- a/tests/data/test504
+++ b/tests/data/test504
@@ -6,6 +6,7 @@ HTTP GET
HTTP proxy
multi
FAILURE
+connect to non-listen
</keywords>
</info>
@@ -20,6 +21,7 @@ none
</server>
<features>
http
+proxy
</features>
# tool is what to use instead of 'curl'
<tool>
diff --git a/tests/data/test506 b/tests/data/test506
index 8f06e0e4f..f821ad10e 100644
--- a/tests/data/test506
+++ b/tests/data/test506
@@ -115,94 +115,98 @@ CURLOPT_SHARE
lock: share [Pigs in space]: 16
unlock: share [Pigs in space]: 17
PERFORM
-lock: dns [Pigs in space]: 18
-unlock: dns [Pigs in space]: 19
+lock: cookie [Pigs in space]: 18
+unlock: cookie [Pigs in space]: 19
lock: dns [Pigs in space]: 20
unlock: dns [Pigs in space]: 21
-lock: cookie [Pigs in space]: 22
-unlock: cookie [Pigs in space]: 23
+lock: dns [Pigs in space]: 22
+unlock: dns [Pigs in space]: 23
lock: cookie [Pigs in space]: 24
unlock: cookie [Pigs in space]: 25
lock: cookie [Pigs in space]: 26
unlock: cookie [Pigs in space]: 27
lock: cookie [Pigs in space]: 28
unlock: cookie [Pigs in space]: 29
+lock: cookie [Pigs in space]: 30
+unlock: cookie [Pigs in space]: 31
run 1: set cookie 1, 2 and 3
-lock: dns [Pigs in space]: 30
-unlock: dns [Pigs in space]: 31
lock: dns [Pigs in space]: 32
unlock: dns [Pigs in space]: 33
+lock: dns [Pigs in space]: 34
+unlock: dns [Pigs in space]: 35
CLEANUP
-lock: cookie [Pigs in space]: 34
-unlock: cookie [Pigs in space]: 35
-lock: share [Pigs in space]: 36
-unlock: share [Pigs in space]: 37
-*** run 2
-CURLOPT_SHARE
+lock: cookie [Pigs in space]: 36
+unlock: cookie [Pigs in space]: 37
lock: share [Pigs in space]: 38
unlock: share [Pigs in space]: 39
+*** run 2
+CURLOPT_SHARE
+lock: share [Pigs in space]: 40
+unlock: share [Pigs in space]: 41
PERFORM
-lock: dns [Pigs in space]: 40
-unlock: dns [Pigs in space]: 41
lock: cookie [Pigs in space]: 42
unlock: cookie [Pigs in space]: 43
-lock: cookie [Pigs in space]: 44
-unlock: cookie [Pigs in space]: 45
+lock: dns [Pigs in space]: 44
+unlock: dns [Pigs in space]: 45
lock: cookie [Pigs in space]: 46
unlock: cookie [Pigs in space]: 47
+lock: cookie [Pigs in space]: 48
+unlock: cookie [Pigs in space]: 49
+lock: cookie [Pigs in space]: 50
+unlock: cookie [Pigs in space]: 51
run 2: set cookie 4 and 5
-lock: dns [Pigs in space]: 48
-unlock: dns [Pigs in space]: 49
-lock: dns [Pigs in space]: 50
-unlock: dns [Pigs in space]: 51
+lock: dns [Pigs in space]: 52
+unlock: dns [Pigs in space]: 53
+lock: dns [Pigs in space]: 54
+unlock: dns [Pigs in space]: 55
CLEANUP
-lock: cookie [Pigs in space]: 52
-unlock: cookie [Pigs in space]: 53
-lock: share [Pigs in space]: 54
-unlock: share [Pigs in space]: 55
+lock: cookie [Pigs in space]: 56
+unlock: cookie [Pigs in space]: 57
+lock: share [Pigs in space]: 58
+unlock: share [Pigs in space]: 59
*** run 3
CURLOPT_SHARE
-lock: share [Pigs in space]: 56
-unlock: share [Pigs in space]: 57
+lock: share [Pigs in space]: 60
+unlock: share [Pigs in space]: 61
CURLOPT_COOKIEJAR
CURLOPT_COOKIELIST FLUSH
-lock: cookie [Pigs in space]: 58
-unlock: cookie [Pigs in space]: 59
-PERFORM
-lock: dns [Pigs in space]: 60
-unlock: dns [Pigs in space]: 61
lock: cookie [Pigs in space]: 62
unlock: cookie [Pigs in space]: 63
-lock: cookie [Pigs in space]: 64
-unlock: cookie [Pigs in space]: 65
+PERFORM
+lock: dns [Pigs in space]: 64
+unlock: dns [Pigs in space]: 65
lock: cookie [Pigs in space]: 66
unlock: cookie [Pigs in space]: 67
lock: cookie [Pigs in space]: 68
unlock: cookie [Pigs in space]: 69
lock: cookie [Pigs in space]: 70
unlock: cookie [Pigs in space]: 71
+lock: cookie [Pigs in space]: 72
+unlock: cookie [Pigs in space]: 73
+lock: cookie [Pigs in space]: 74
+unlock: cookie [Pigs in space]: 75
run 3: overwrite cookie 1 and 4, set cookie 6 with and without tailmatch
-lock: dns [Pigs in space]: 72
-unlock: dns [Pigs in space]: 73
-lock: dns [Pigs in space]: 74
-unlock: dns [Pigs in space]: 75
+lock: dns [Pigs in space]: 76
+unlock: dns [Pigs in space]: 77
+lock: dns [Pigs in space]: 78
+unlock: dns [Pigs in space]: 79
CLEANUP
-lock: cookie [Pigs in space]: 76
-unlock: cookie [Pigs in space]: 77
-lock: share [Pigs in space]: 78
-unlock: share [Pigs in space]: 79
+lock: cookie [Pigs in space]: 80
+unlock: cookie [Pigs in space]: 81
+lock: share [Pigs in space]: 82
+unlock: share [Pigs in space]: 83
CURLOPT_SHARE
-lock: share [Pigs in space]: 80
-unlock: share [Pigs in space]: 81
+lock: share [Pigs in space]: 84
+unlock: share [Pigs in space]: 85
CURLOPT_COOKIELIST ALL
-lock: cookie [Pigs in space]: 82
-unlock: cookie [Pigs in space]: 83
-CURLOPT_COOKIEJAR
-CURLOPT_COOKIELIST RELOAD
-lock: cookie [Pigs in space]: 84
-unlock: cookie [Pigs in space]: 85
lock: cookie [Pigs in space]: 86
unlock: cookie [Pigs in space]: 87
+CURLOPT_COOKIEJAR
+CURLOPT_COOKIELIST RELOAD
+lock: cookie [Pigs in space]: 88
+unlock: cookie [Pigs in space]: 89
+lock: cookie [Pigs in space]: 90
+unlock: cookie [Pigs in space]: 91
loaded cookies:
-----------------
www.host.foo.com FALSE / FALSE 1993463787 test6 six_more
@@ -215,17 +219,17 @@ loaded cookies:
.host.foo.com TRUE / FALSE 1896263787 injected yes
-----------------
try SHARE_CLEANUP...
-lock: share [Pigs in space]: 88
-unlock: share [Pigs in space]: 89
-SHARE_CLEANUP failed, correct
-CLEANUP
-lock: cookie [Pigs in space]: 90
-unlock: cookie [Pigs in space]: 91
lock: share [Pigs in space]: 92
unlock: share [Pigs in space]: 93
+SHARE_CLEANUP failed, correct
+CLEANUP
+lock: cookie [Pigs in space]: 94
+unlock: cookie [Pigs in space]: 95
+lock: share [Pigs in space]: 96
+unlock: share [Pigs in space]: 97
SHARE_CLEANUP
-lock: share [Pigs in space]: 94
-unlock: share [Pigs in space]: 95
+lock: share [Pigs in space]: 98
+unlock: share [Pigs in space]: 99
GLOBAL_CLEANUP
</stdout>
<file name="log/jar506" mode="text">
diff --git a/tests/data/test523 b/tests/data/test523
index 665211d48..c00a0969d 100644
--- a/tests/data/test523
+++ b/tests/data/test523
@@ -41,6 +41,9 @@ HTTP GET with proxy and CURLOPT_PORT
<command>
http://www.example.com:999/523 http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test539 b/tests/data/test539
index e9aadd1f3..a69834012 100644
--- a/tests/data/test539
+++ b/tests/data/test539
@@ -64,7 +64,7 @@ SYST
CWD /
EPSV
TYPE A
-LIST path/to/the/file/539./
+LIST path/to/the/file/539.
QUIT
</protocol>
</verify>
diff --git a/tests/data/test540 b/tests/data/test540
index 8391cbe78..871c558fb 100644
--- a/tests/data/test540
+++ b/tests/data/test540
@@ -67,6 +67,7 @@ lib540
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP proxy auth Digest multi API re-using connection
diff --git a/tests/data/test547 b/tests/data/test547
index 5c4cfaaff..781799b11 100644
--- a/tests/data/test547
+++ b/tests/data/test547
@@ -78,6 +78,7 @@ lib547
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy auth NTLM with POST data from read callback
diff --git a/tests/data/test548 b/tests/data/test548
index 80b87d10c..fa98cd437 100644
--- a/tests/data/test548
+++ b/tests/data/test548
@@ -78,6 +78,7 @@ lib548
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS
diff --git a/tests/data/test549 b/tests/data/test549
index a248edbf6..a9f1ca21c 100644
--- a/tests/data/test549
+++ b/tests/data/test549
@@ -32,6 +32,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<tool>
lib549
diff --git a/tests/data/test550 b/tests/data/test550
index a609aa216..1eff72a17 100644
--- a/tests/data/test550
+++ b/tests/data/test550
@@ -32,6 +32,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<tool>
lib549
diff --git a/tests/data/test551 b/tests/data/test551
index ed6aee264..bb31a36f8 100644
--- a/tests/data/test551
+++ b/tests/data/test551
@@ -63,6 +63,7 @@ lib547
<features>
!SSPI
crypto
+proxy
</features>
<name>
HTTP proxy auth Digest with POST data from read callback
diff --git a/tests/data/test555 b/tests/data/test555
index f8b929839..d4b946614 100644
--- a/tests/data/test555
+++ b/tests/data/test555
@@ -83,6 +83,7 @@ lib555
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy auth NTLM with POST data from read callback multi-if
diff --git a/tests/data/test561 b/tests/data/test561
index a6188eacf..359e54cca 100644
--- a/tests/data/test561
+++ b/tests/data/test561
@@ -33,6 +33,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<tool>
lib549
diff --git a/tests/data/test563 b/tests/data/test563
index c9df79219..eb9372ed0 100644
--- a/tests/data/test563
+++ b/tests/data/test563
@@ -32,7 +32,9 @@ lib562
<name>
FTP type=A URL and CURLOPT_PORT set and proxy
</name>
-
+<features>
+proxy
+</features>
<setenv>
ftp_proxy=http://%HOSTIP:%HTTPPORT/
</setenv>
diff --git a/tests/data/test564 b/tests/data/test564
index 4c9ecd466..3078e2d08 100644
--- a/tests/data/test564
+++ b/tests/data/test564
@@ -38,6 +38,9 @@ FTP RETR a file over a SOCKS proxy using the multi interface
<command>
ftp://%HOSTIP:%FTPPORT/path/564 %HOSTIP:%SOCKSPORT
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test590 b/tests/data/test590
index 7f30b83ef..6f6250763 100644
--- a/tests/data/test590
+++ b/tests/data/test590
@@ -76,6 +76,7 @@ lib590
NTLM
!SSPI
debug
+proxy
</features>
<name>
HTTP proxy offers Negotiate+NTLM, use only NTLM
diff --git a/tests/data/test62 b/tests/data/test62
index 2784a0f61..82bc0d783 100644
--- a/tests/data/test62
+++ b/tests/data/test62
@@ -29,7 +29,7 @@ http
HTTP, send cookies when using custom Host:
</name>
<command>
-http://%HOSTIP:%HTTPPORT/we/want/62 http://%HOSTIP:%HTTPPORT/we/want?hoge=fuga -b log/jar62.txt -H "Host: www.host.foo.com"
+http://%HOSTIP:%HTTPPORT/we/want/62 http://%HOSTIP:%HTTPPORT/we/want/62?hoge=fuga -b log/jar62.txt -H "Host: www.host.foo.com"
</command>
<file name="log/jar62.txt">
# Netscape HTTP Cookie File
@@ -55,7 +55,7 @@ Host: www.host.foo.com
Accept: */*
Cookie: test2=yes; test=yes
-GET /we/want?hoge=fuga HTTP/1.1
+GET /we/want/62?hoge=fuga HTTP/1.1
Host: www.host.foo.com
Accept: */*
Cookie: test2=yes; test=yes
diff --git a/tests/data/test63 b/tests/data/test63
index ccc19dd24..e7d7a4615 100644
--- a/tests/data/test63
+++ b/tests/data/test63
@@ -33,6 +33,9 @@ http_proxy=http://fake:user@%HOSTIP:%HTTPPORT/
<command>
http://we.want.that.site.com/63
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test659 b/tests/data/test659
index 43e1aaf92..048c0d0f2 100644
--- a/tests/data/test659
+++ b/tests/data/test659
@@ -36,6 +36,9 @@ CURLOPT_CURLU without the path set - over proxy
<command>
http://%HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
<verify>
diff --git a/tests/data/test661 b/tests/data/test661
new file mode 100644
index 000000000..067612be5
--- /dev/null
+++ b/tests/data/test661
@@ -0,0 +1,73 @@
+<testcase>
+<info>
+<keywords>
+FTP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+# tool is what to use instead of 'curl'
+<tool>
+lib661
+</tool>
+
+ <name>
+Avoid redundant CWDs
+ </name>
+ <command>
+ftp://%HOSTIP:%FTPPORT/
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD /folderA
+EPSV
+TYPE I
+RETR 661
+CWD /folderB
+EPSV
+RETR 661
+QUIT
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+TYPE I
+RETR /folderA/661
+CWD /folderB
+EPSV
+RETR 661
+EPSV
+RETR /folderA/661
+QUIT
+USER anonymous
+PASS ftp@example.com
+PWD
+SYST
+QUIT
+USER anonymous
+PASS ftp@example.com
+PWD
+SYST
+SYST
+QUIT
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test662 b/tests/data/test662
new file mode 100644
index 000000000..53d97c39d
--- /dev/null
+++ b/tests/data/test662
@@ -0,0 +1,78 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+followlocation
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 302 OK
+Location: http://example.net/tes t case=/6620002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+</data>
+<data2>
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
+body
+</data2>
+<datacheck>
+HTTP/1.1 302 OK
+Location: http://example.net/tes t case=/6620002
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
+body
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP redirect with whitespace in absolute Location: URL
+ </name>
+ <command>
+http://example.com/please/gimme/662 -L -x http://%HOSTIP:%HTTPPORT
+</command>
+<features>
+proxy
+</features>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET http://example.com/please/gimme/662 HTTP/1.1
+Host: example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://example.net/tes%20t%20case=/6620002 HTTP/1.1
+Host: example.net
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test663 b/tests/data/test663
new file mode 100644
index 000000000..6743b3258
--- /dev/null
+++ b/tests/data/test663
@@ -0,0 +1,82 @@
+#
+# This test is crafted to reproduce oss-fuzz bug
+# https://crbug.com/oss-fuzz/17954
+#
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+followlocation
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 302 OK
+Location: http://example.net/there/it/is/../../tes t case=/6630002? yes no
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+</data>
+<data2>
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
+body
+</data2>
+<datacheck>
+HTTP/1.1 302 OK
+Location: http://example.net/there/it/is/../../tes t case=/6630002? yes no
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+
+HTTP/1.1 200 OK
+Location: this should be ignored
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 5
+
+body
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP redirect with dotdots and whitespaces in absolute Location: URL
+ </name>
+ <command>
+http://example.com/please/../gimme/663?foobar#hello -L -x http://%HOSTIP:%HTTPPORT
+</command>
+<features>
+proxy
+</features>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET http://example.com/gimme/663?foobar HTTP/1.1
+Host: example.com
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://example.net/there/tes%20t%20case=/6630002?+yes+no HTTP/1.1
+Host: example.net
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test702 b/tests/data/test702
index 9fc954a02..c03723676 100644
--- a/tests/data/test702
+++ b/tests/data/test702
@@ -25,6 +25,7 @@ socks4
</server>
<features>
http
+proxy
</features>
<name>
Attempt connect to non-listening HTTP server via SOCKS4 proxy
diff --git a/tests/data/test703 b/tests/data/test703
index 3c0fb314d..53d6a0222 100644
--- a/tests/data/test703
+++ b/tests/data/test703
@@ -25,6 +25,7 @@ socks5
</server>
<features>
http
+proxy
</features>
<name>
Attempt connect to non-listening HTTP server via SOCKS5 proxy
diff --git a/tests/data/test704 b/tests/data/test704
index 15a1b6701..7f891fa95 100644
--- a/tests/data/test704
+++ b/tests/data/test704
@@ -23,8 +23,11 @@ http
Attempt connect to non-listening SOCKS4 proxy
</name>
<command>
---socks4 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/704
+--socks4 %HOSTIP:2 http://%HOSTIP:%HTTPPORT/704
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test705 b/tests/data/test705
index 3b904c6b1..cfbf3419f 100644
--- a/tests/data/test705
+++ b/tests/data/test705
@@ -23,8 +23,11 @@ http
Attempt connect to non-listening SOCKS5 proxy
</name>
<command>
---socks5 %HOSTIP:60000 http://%HOSTIP:%HTTPPORT/705
+--socks5 %HOSTIP:2 http://%HOSTIP:%HTTPPORT/705
</command>
+<features>
+proxy
+</features>
</client>
# Verify data after the test has been "shot"
diff --git a/tests/data/test714 b/tests/data/test714
index efec03227..776d8b292 100644
--- a/tests/data/test714
+++ b/tests/data/test714
@@ -41,6 +41,7 @@ http-proxy
</server>
<features>
http
+proxy
</features>
<name>
FTP fetch with --proxy set to http:// and with --connect-to
diff --git a/tests/data/test715 b/tests/data/test715
index 56936b946..85372ca24 100644
--- a/tests/data/test715
+++ b/tests/data/test715
@@ -43,6 +43,7 @@ socks5
</server>
<features>
http
+proxy
</features>
<name>
FTP fetch with --preproxy, --proxy and --connect-to
diff --git a/tests/data/test716 b/tests/data/test716
index db61dcb39..96167de5c 100644
--- a/tests/data/test716
+++ b/tests/data/test716
@@ -23,6 +23,7 @@ socks5
</server>
<features>
http
+proxy
</features>
<name>
SOCKS5 proxy with too long user name
diff --git a/tests/data/test717 b/tests/data/test717
index 35392443e..dae50d9f2 100644
--- a/tests/data/test717
+++ b/tests/data/test717
@@ -47,6 +47,9 @@ SOCKS5 proxy auth
<command>
http://%HOSTIP:1/717 -x socks5://uz3r:p4ssworm@%HOSTIP:%SOCKSPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test79 b/tests/data/test79
index b2566e229..9bc836681 100644
--- a/tests/data/test79
+++ b/tests/data/test79
@@ -29,6 +29,7 @@ http
</server>
<features>
ftp
+proxy
</features>
<name>
FTP over HTTP proxy
diff --git a/tests/data/test80 b/tests/data/test80
index 147a6aa12..3e61eddde 100644
--- a/tests/data/test80
+++ b/tests/data/test80
@@ -55,6 +55,9 @@ HTTP 1.0 CONNECT with proxytunnel and proxy+host Basic authentication
<command>
http://test.80:%HTTPPORT/we/want/that/page/80 -p --proxy1.0 %HOSTIP:%PROXYPORT --user iam:myself --proxy-user youare:yourself
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test81 b/tests/data/test81
index 499831bb3..4cc03975e 100644
--- a/tests/data/test81
+++ b/tests/data/test81
@@ -57,6 +57,7 @@ Finally, this is the real page!
NTLM
!SSPI
debug
+proxy
</features>
<server>
http
diff --git a/tests/data/test82 b/tests/data/test82
index 8b58f75da..88d5da84d 100644
--- a/tests/data/test82
+++ b/tests/data/test82
@@ -26,6 +26,7 @@ This is not the real page either!
# Client-side
<client>
<features>
+proxy
</features>
<server>
http
diff --git a/tests/data/test83 b/tests/data/test83
index 120bcc6a1..400e0a0f3 100644
--- a/tests/data/test83
+++ b/tests/data/test83
@@ -52,6 +52,9 @@ HTTP over proxy-tunnel with site authentication
<command>
http://test.83:%HTTPPORT/we/want/that/page/83 -p -x %HOSTIP:%PROXYPORT --user 'iam:my:;self'
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test84 b/tests/data/test84
index 629dae2fc..4cfde6dbb 100644
--- a/tests/data/test84
+++ b/tests/data/test84
@@ -33,6 +33,9 @@ HTTP over proxy with site authentication
<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/84 -x %HOSTIP:%HTTPPORT --user iam:myself
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test85 b/tests/data/test85
index cb5e6e052..8b4cd6abc 100644
--- a/tests/data/test85
+++ b/tests/data/test85
@@ -36,6 +36,9 @@ HTTP over proxy with site and proxy authentication
<command>
http://%HOSTIP:%HTTPPORT/we/want/that/page/85 -x %HOSTIP:%HTTPPORT --user iam:myself --proxy-user testing:this
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test93 b/tests/data/test93
index 138724835..58e47bc6b 100644
--- a/tests/data/test93
+++ b/tests/data/test93
@@ -31,6 +31,9 @@ HTTP GET with failed proxy auth
<command>
http://%HOSTIP:%HTTPPORT/93 -x %HOSTIP:%HTTPPORT
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/data/test94 b/tests/data/test94
index 2f3f4824d..4ca53c63b 100644
--- a/tests/data/test94
+++ b/tests/data/test94
@@ -29,6 +29,7 @@ http
</server>
<features>
SSL
+proxy
</features>
<name>
HTTPS GET with failed proxy auth (CONNECT 1.0)
diff --git a/tests/data/test95 b/tests/data/test95
index 1cd88acab..afc00aede 100644
--- a/tests/data/test95
+++ b/tests/data/test95
@@ -52,6 +52,9 @@ HTTP over proxytunnel using POST
<command>
http://test.95:%HTTPPORT/we/want/that/page/95 -p -x %HOSTIP:%PROXYPORT -d "datatopost=ohthatsfunyesyes"
</command>
+<features>
+proxy
+</features>
</client>
#
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
index 4ea9cf2a7..9ba72d7de 100644
--- a/tests/libtest/Makefile.inc
+++ b/tests/libtest/Makefile.inc
@@ -22,7 +22,7 @@ noinst_PROGRAMS = chkhostname libauthretry libntlmconnect \
lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \
lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \
lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 lib658 \
- lib659 \
+ lib659 lib661 \
lib1156 \
lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \
lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \
@@ -33,7 +33,7 @@ noinst_PROGRAMS = chkhostname libauthretry libntlmconnect \
lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \
lib1558 lib1559 lib1560 \
lib1591 lib1592 lib1593 lib1594 lib1596 \
- lib1900 lib1905 lib1906 \
+ lib1900 lib1905 lib1906 lib1907 \
lib2033
chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \
@@ -345,6 +345,9 @@ lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib659_LDADD = $(TESTUTIL_LIBS)
lib659_CPPFLAGS = $(AM_CPPFLAGS)
+lib661_SOURCES = lib661.c $(SUPPORTFILES)
+lib661_CPPFLAGS = $(AM_CPPFLAGS)
+
lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL)
lib1500_LDADD = $(TESTUTIL_LIBS)
lib1500_CPPFLAGS = $(AM_CPPFLAGS)
@@ -563,6 +566,10 @@ lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib1906_LDADD = $(TESTUTIL_LIBS)
lib1906_CPPFLAGS = $(AM_CPPFLAGS)
+lib1907_SOURCES = lib1907.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1907_LDADD = $(TESTUTIL_LIBS)
+lib1907_CPPFLAGS = $(AM_CPPFLAGS)
+
lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib2033_LDADD = $(TESTUTIL_LIBS)
lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING
diff --git a/tests/libtest/lib1156.c b/tests/libtest/lib1156.c
index f4385b26a..df6062c56 100644
--- a/tests/libtest/lib1156.c
+++ b/tests/libtest/lib1156.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib1522.c b/tests/libtest/lib1522.c
index 3675175ee..6df152f1f 100644
--- a/tests/libtest/lib1522.c
+++ b/tests/libtest/lib1522.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c
index 85884474e..7f8accc7d 100644
--- a/tests/libtest/lib1560.c
+++ b/tests/libtest/lib1560.c
@@ -140,6 +140,26 @@ static struct testcase get_parts_list[] ={
"file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]",
CURLU_DEFAULT_SCHEME, 0, CURLUE_OK},
#endif
+ {"https://example.com/color/#green?no-black",
+ "https | [11] | [12] | [13] | example.com | [15] | /color/ | [16] | "
+ "green?no-black",
+ CURLU_DEFAULT_SCHEME, 0, CURLUE_OK },
+ {"https://example.com/color/#green#no-black",
+ "https | [11] | [12] | [13] | example.com | [15] | /color/ | [16] | "
+ "green#no-black",
+ CURLU_DEFAULT_SCHEME, 0, CURLUE_OK },
+ {"https://example.com/color/?green#no-black",
+ "https | [11] | [12] | [13] | example.com | [15] | /color/ | green | "
+ "no-black",
+ CURLU_DEFAULT_SCHEME, 0, CURLUE_OK },
+ {"https://example.com/#color/?green#no-black",
+ "https | [11] | [12] | [13] | example.com | [15] | / | [16] | "
+ "color/?green#no-black",
+ CURLU_DEFAULT_SCHEME, 0, CURLUE_OK },
+ {"https://example.#com/color/?green#no-black",
+ "https | [11] | [12] | [13] | example. | [15] | / | [16] | "
+ "com/color/?green#no-black",
+ CURLU_DEFAULT_SCHEME, 0, CURLUE_OK },
{"http://[ab.be:1]/x", "",
CURLU_DEFAULT_SCHEME, 0, CURLUE_MALFORMED_INPUT},
{"http://[ab.be]/x", "",
@@ -414,6 +434,18 @@ static struct urltestcase get_url_list[] = {
{"tp://example.com/path/html",
"tp://example.com/path/html",
CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_OK},
+ {"custom-scheme://host?expected=test-good",
+ "custom-scheme://host/?expected=test-good",
+ CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_OK},
+ {"custom-scheme://?expected=test-bad",
+ "",
+ CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_MALFORMED_INPUT},
+ {"custom-scheme://?expected=test-new-good",
+ "custom-scheme:///?expected=test-new-good",
+ CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK},
+ {"custom-scheme://host?expected=test-still-good",
+ "custom-scheme://host/?expected=test-still-good",
+ CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK},
{NULL, NULL, 0, 0, 0}
};
@@ -551,6 +583,17 @@ static struct setcase set_parts_list[] = {
"scheme=ftp,",
"ftp://example.com:80/",
0, 0, CURLUE_OK, CURLUE_OK},
+ {"custom-scheme://host",
+ "host=\"\",",
+ "custom-scheme://host/",
+ CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME, CURLUE_OK,
+ CURLUE_MALFORMED_INPUT},
+ {"custom-scheme://host",
+ "host=\"\",",
+ "custom-scheme:///",
+ CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY,
+ CURLUE_OK, CURLUE_OK},
+
{NULL, NULL, NULL, 0, 0, 0, 0}
};
diff --git a/tests/libtest/lib1907.c b/tests/libtest/lib1907.c
new file mode 100644
index 000000000..2d9465aee
--- /dev/null
+++ b/tests/libtest/lib1907.c
@@ -0,0 +1,54 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+
+#include "testutil.h"
+#include "warnless.h"
+#include "memdebug.h"
+
+int test(char *URL)
+{
+ char *url_after;
+ CURL *curl;
+ CURLcode curl_code;
+ char error_buffer[CURL_ERROR_SIZE] = "";
+
+ curl_global_init(CURL_GLOBAL_DEFAULT);
+ curl = curl_easy_init();
+ curl_easy_setopt(curl, CURLOPT_URL, URL);
+ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buffer);
+ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+ curl_code = curl_easy_perform(curl);
+ if(!curl_code)
+ fprintf(stderr, "failure expected, "
+ "curl_easy_perform returned %ld: <%s>, <%s>\n",
+ (long) curl_code, curl_easy_strerror(curl_code), error_buffer);
+
+ /* print the used url */
+ if(!curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url_after))
+ printf("Effective URL: %s\n", url_after);
+
+ curl_easy_cleanup(curl);
+ curl_global_cleanup();
+
+ return 0;
+}
diff --git a/tests/libtest/lib506.c b/tests/libtest/lib506.c
index 9f656e032..e0325ee00 100644
--- a/tests/libtest/lib506.c
+++ b/tests/libtest/lib506.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -142,6 +142,7 @@ static void *fire(void *ptr)
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_URL, tdata->url);
+ curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "");
printf("CURLOPT_SHARE\n");
curl_easy_setopt(curl, CURLOPT_SHARE, tdata->share);
diff --git a/tests/libtest/lib509.c b/tests/libtest/lib509.c
index 755208b8d..e8e803ffc 100644
--- a/tests/libtest/lib509.c
+++ b/tests/libtest/lib509.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib541.c b/tests/libtest/lib541.c
index 2861bfcc1..bcbaa481c 100644
--- a/tests/libtest/lib541.c
+++ b/tests/libtest/lib541.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib557.c b/tests/libtest/lib557.c
index 485ac8b9a..2e51b99c1 100644
--- a/tests/libtest/lib557.c
+++ b/tests/libtest/lib557.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib569.c b/tests/libtest/lib569.c
index 3ddc10c4f..80116dad3 100644
--- a/tests/libtest/lib569.c
+++ b/tests/libtest/lib569.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib571.c b/tests/libtest/lib571.c
index f015f6bb2..002617878 100644
--- a/tests/libtest/lib571.c
+++ b/tests/libtest/lib571.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/libtest/lib661.c b/tests/libtest/lib661.c
new file mode 100644
index 000000000..a4f2c8e5c
--- /dev/null
+++ b/tests/libtest/lib661.c
@@ -0,0 +1,150 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+#include "memdebug.h"
+
+int test(char *URL)
+{
+ CURLcode res;
+ CURL *curl = NULL;
+ char *newURL = NULL;
+ struct curl_slist *slist = NULL;
+
+ if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
+ fprintf(stderr, "curl_global_init() failed\n");
+ return TEST_ERR_MAJOR_BAD;
+ }
+
+ curl = curl_easy_init();
+ if(!curl) {
+ fprintf(stderr, "curl_easy_init() failed\n");
+ res = TEST_ERR_MAJOR_BAD;
+ goto test_cleanup;
+ }
+
+ /* test: CURLFTPMETHOD_SINGLECWD with absolute path should
+ skip CWD to entry path */
+ newURL = aprintf("%s/folderA/661", URL);
+ test_setopt(curl, CURLOPT_URL, newURL);
+ test_setopt(curl, CURLOPT_VERBOSE, 1L);
+ test_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD);
+ res = curl_easy_perform(curl);
+
+ free(newURL);
+ newURL = aprintf("%s/folderB/661", URL);
+ test_setopt(curl, CURLOPT_URL, newURL);
+ res = curl_easy_perform(curl);
+
+ /* test: CURLFTPMETHOD_NOCWD with absolute path should
+ never emit CWD (for both new and reused easy handle) */
+ curl_easy_cleanup(curl);
+ curl = curl_easy_init();
+ if(!curl) {
+ fprintf(stderr, "curl_easy_init() failed\n");
+ res = TEST_ERR_MAJOR_BAD;
+ goto test_cleanup;
+ }
+
+ free(newURL);
+ newURL = aprintf("%s/folderA/661", URL);
+ test_setopt(curl, CURLOPT_URL, newURL);
+ test_setopt(curl, CURLOPT_VERBOSE, 1L);
+ test_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD);
+ res = curl_easy_perform(curl);
+
+ /* curve ball: CWD /folderB before reusing connection with _NOCWD */
+ free(newURL);
+ newURL = aprintf("%s/folderB/661", URL);
+ test_setopt(curl, CURLOPT_URL, newURL);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD);
+ res = curl_easy_perform(curl);
+
+ free(newURL);
+ newURL = aprintf("%s/folderA/661", URL);
+ test_setopt(curl, CURLOPT_URL, newURL);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD);
+ res = curl_easy_perform(curl);
+
+ /* test: CURLFTPMETHOD_NOCWD with home-relative path should
+ not emit CWD for first FTP access after login */
+ curl_easy_cleanup(curl);
+ curl = curl_easy_init();
+ if(!curl) {
+ fprintf(stderr, "curl_easy_init() failed\n");
+ res = TEST_ERR_MAJOR_BAD;
+ goto test_cleanup;
+ }
+
+ slist = curl_slist_append(NULL, "SYST");
+ if(slist == NULL) {
+ fprintf(stderr, "curl_slist_append() failed\n");
+ res = TEST_ERR_MAJOR_BAD;
+ goto test_cleanup;
+ }
+
+ test_setopt(curl, CURLOPT_URL, URL);
+ test_setopt(curl, CURLOPT_VERBOSE, 1L);
+ test_setopt(curl, CURLOPT_NOBODY, 1L);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD);
+ test_setopt(curl, CURLOPT_QUOTE, slist);
+ res = curl_easy_perform(curl);
+
+ /* test: CURLFTPMETHOD_SINGLECWD with home-relative path should
+ not emit CWD for first FTP access after login */
+ curl_easy_cleanup(curl);
+ curl = curl_easy_init();
+ if(!curl) {
+ fprintf(stderr, "curl_easy_init() failed\n");
+ res = TEST_ERR_MAJOR_BAD;
+ goto test_cleanup;
+ }
+
+ test_setopt(curl, CURLOPT_URL, URL);
+ test_setopt(curl, CURLOPT_VERBOSE, 1L);
+ test_setopt(curl, CURLOPT_NOBODY, 1L);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_SINGLECWD);
+ test_setopt(curl, CURLOPT_QUOTE, slist);
+ res = curl_easy_perform(curl);
+
+ /* test: CURLFTPMETHOD_NOCWD with home-relative path should
+ not emit CWD for second FTP access when not needed +
+ bonus: see if path buffering survives curl_easy_reset() */
+ curl_easy_reset(curl);
+ test_setopt(curl, CURLOPT_URL, URL);
+ test_setopt(curl, CURLOPT_VERBOSE, 1L);
+ test_setopt(curl, CURLOPT_NOBODY, 1L);
+ test_setopt(curl, CURLOPT_FTP_FILEMETHOD, (long) CURLFTPMETHOD_NOCWD);
+ test_setopt(curl, CURLOPT_QUOTE, slist);
+ res = curl_easy_perform(curl);
+
+
+test_cleanup:
+
+ curl_slist_free_all(slist);
+ free(newURL);
+ curl_easy_cleanup(curl);
+ curl_global_cleanup();
+
+ return (int)res;
+}
diff --git a/tests/manpage-scan.pl b/tests/manpage-scan.pl
index b6864c857..ba6577c18 100755
--- a/tests/manpage-scan.pl
+++ b/tests/manpage-scan.pl
@@ -6,7 +6,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 2016, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 2016 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -138,6 +138,7 @@ my %opts = (
'-N, --no-buffer' => 1,
'--no-sessionid' => 1,
'--no-keepalive' => 1,
+ '--no-progress-meter' => 1,
# pretend these options without -no exist in curl.1 and tool_help.c
'--alpn' => 6,
@@ -147,6 +148,7 @@ my %opts = (
'--keepalive' => 6,
'-N, --buffer' => 6,
'--sessionid' => 6,
+ '--progress-meter' => 6,
# deprecated options do not need to be in tool_help.c nor curl.1
'--krb4' => 6,
diff --git a/tests/runtests.1 b/tests/runtests.1
index 58d441b84..8491de37f 100644
--- a/tests/runtests.1
+++ b/tests/runtests.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH runtests.pl 1 "May 05, 2017" "Curl 7.66.0" "runtests"
+.TH runtests.pl 1 "May 05, 2017" "Curl 7.67.0" "runtests"
.SH NAME
runtests.pl \- run one or more test cases
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 9413f0d41..63bd2da68 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -2678,6 +2678,7 @@ sub checksystem {
# This is a Windows MinGW build or native build, we need to use
# Win32-style path.
$pwd = pathhelp::sys_native_current_path();
+ $has_textaware = 1;
}
if ($libcurl =~ /(winssl|schannel)/i) {
$has_winssl=1;
@@ -3024,7 +3025,6 @@ sub checksystem {
}
}
}
- $has_textaware = ($^O eq 'MSWin32') || ($^O eq 'msys');
logmsg "***************************************** \n";
diff --git a/tests/server/util.c b/tests/server/util.c
index b06133802..cc53d3bf4 100644
--- a/tests/server/util.c
+++ b/tests/server/util.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/smbserver.py b/tests/smbserver.py
index 474e0612b..4fcd34f2b 100755
--- a/tests/smbserver.py
+++ b/tests/smbserver.py
@@ -24,11 +24,14 @@
from __future__ import (absolute_import, division, print_function)
# unicode_literals)
import argparse
-import ConfigParser
import os
import sys
import logging
import tempfile
+try: # Python 3
+ import configparser
+except ImportError: # Python 2
+ import ConfigParser as configparser
# Import our curl test data helper
import curl_test_data
@@ -58,7 +61,7 @@ def smbserver(options):
f.write("{0}".format(pid))
# Here we write a mini config for the server
- smb_config = ConfigParser.ConfigParser()
+ smb_config = configparser.ConfigParser()
smb_config.add_section("global")
smb_config.set("global", "server_name", "SERVICE")
smb_config.set("global", "server_os", "UNIX")
diff --git a/tests/testcurl.1 b/tests/testcurl.1
index 561b77a27..0cb415003 100644
--- a/tests/testcurl.1
+++ b/tests/testcurl.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH testcurl.pl 1 "October 22, 2016" "Curl 7.66.0" "testcurl"
+.TH testcurl.pl 1 "October 22, 2016" "Curl 7.67.0" "testcurl"
.SH NAME
testcurl.pl \- (automatically) test curl
diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt
index 4b0cec4a8..bc0699231 100644
--- a/tests/unit/CMakeLists.txt
+++ b/tests/unit/CMakeLists.txt
@@ -22,6 +22,7 @@ set(UT_SRC
# Broken link on Linux
# unit1604.c
unit1620.c
+ unit1655.c
)
set(UT_COMMON_FILES ../libtest/first.c ../libtest/test.h curlcheck.h)
diff --git a/tests/unit/Makefile.inc b/tests/unit/Makefile.inc
index f3cba1c2a..45278ba81 100644
--- a/tests/unit/Makefile.inc
+++ b/tests/unit/Makefile.inc
@@ -11,7 +11,7 @@ UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \
unit1399 \
unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \
unit1608 unit1609 unit1620 unit1621 \
- unit1650 unit1651 unit1652 unit1653 unit1654
+ unit1650 unit1651 unit1652 unit1653 unit1654 unit1655
unit1300_SOURCES = unit1300.c $(UNITFILES)
unit1300_CPPFLAGS = $(AM_CPPFLAGS)
@@ -118,3 +118,7 @@ unit1653_CPPFLAGS = $(AM_CPPFLAGS)
unit1654_SOURCES = unit1654.c $(UNITFILES)
unit1654_CPPFLAGS = $(AM_CPPFLAGS)
+
+unit1655_SOURCES = unit1655.c $(UNITFILES)
+unit1655_CPPFLAGS = $(AM_CPPFLAGS)
+
diff --git a/tests/unit/README b/tests/unit/README
index b8a513b3b..060b670c6 100644
--- a/tests/unit/README
+++ b/tests/unit/README
@@ -35,6 +35,9 @@ We put tests that focus on an area or a specific function into a single C
source file. The source file should be named 'unitNNNN.c' where NNNN is a
number that starts with 1300 and you can pick the next free number.
+Add your test to tests/unit/Makefile.inc (if it is a unit test).
+Add your test data to tests/data/Makefile.inc
+
You also need a separate file called tests/data/testNNNN (using the same
number) that describes your test case. See the test1300 file for inspiration
and the tests/FILEFORMAT documentation.
@@ -46,9 +49,10 @@ For the actual C file, here's a very simple example:
#include "a libcurl header.h" /* from the lib dir */
-static void unit_setup( void )
+static CURLcode unit_setup( void )
{
/* whatever you want done first */
+ return CURLE_OK;
}
static void unit_stop( void )
diff --git a/tests/unit/unit1303.c b/tests/unit/unit1303.c
index b065683a6..945b82ba7 100644
--- a/tests/unit/unit1303.c
+++ b/tests/unit/unit1303.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -68,7 +68,7 @@ struct timetest {
int timeout_ms;
int connecttimeout_ms;
bool connecting;
- time_t result;
+ timediff_t result;
const char *comment;
};
@@ -138,7 +138,7 @@ UNITTEST_START
data->progress.t_startop.tv_usec = 0;
for(i = 0; i < sizeof(run)/sizeof(run[0]); i++) {
- time_t timeout;
+ timediff_t timeout;
NOW(run[i].now_s, run[i].now_us);
TIMEOUTS(run[i].timeout_ms, run[i].connecttimeout_ms);
timeout = Curl_timeleft(data, &now, run[i].connecting);
diff --git a/tests/unit/unit1307.c b/tests/unit/unit1307.c
index 91e4606b7..7e88ea4d9 100644
--- a/tests/unit/unit1307.c
+++ b/tests/unit/unit1307.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
diff --git a/tests/unit/unit1399.c b/tests/unit/unit1399.c
index 7383fbd86..3b52989e4 100644
--- a/tests/unit/unit1399.c
+++ b/tests/unit/unit1399.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -50,7 +50,7 @@ static void fake_t_startsingle_time(struct Curl_easy *data,
data->progress.t_startsingle.tv_usec = fake_now.tv_usec;
}
-static bool usec_matches_seconds(time_t time_usec, int expected_seconds)
+static bool usec_matches_seconds(timediff_t time_usec, int expected_seconds)
{
int time_sec = (int)(time_usec / usec_magnitude);
bool same = (time_sec == expected_seconds);
diff --git a/tests/unit/unit1620.c b/tests/unit/unit1620.c
index b8b096521..c6aa721cf 100644
--- a/tests/unit/unit1620.c
+++ b/tests/unit/unit1620.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -83,7 +83,7 @@ UNITTEST_START
Curl_free_request_state(empty);
- rc = Curl_close(empty);
+ rc = Curl_close(&empty);
fail_unless(rc == CURLE_OK, "Curl_close() failed");
}
diff --git a/tests/unit/unit1654.c b/tests/unit/unit1654.c
index 51fc5d16f..a800d9c3a 100644
--- a/tests/unit/unit1654.c
+++ b/tests/unit/unit1654.c
@@ -97,6 +97,15 @@ UNITTEST_START
}
fail_unless(asi->num == 9, "wrong number of entries");
+ /* quoted 'ma' value */
+ result = Curl_altsvc_parse(curl, asi, "h2=\"example.net:443\"; ma=\"180\";",
+ ALPN_h2, "example.net", 80);
+ if(result) {
+ fprintf(stderr, "Curl_altsvc_parse(4) failed!\n");
+ unitfail++;
+ }
+ fail_unless(asi->num == 10, "wrong number of entries");
+
result = Curl_altsvc_parse(curl, asi,
"h2=\":443\", h3=\":443\"; ma = 120; persist = 1",
ALPN_h1, "curl.haxx.se", 80);
@@ -104,7 +113,7 @@ UNITTEST_START
fprintf(stderr, "Curl_altsvc_parse(5) failed!\n");
unitfail++;
}
- fail_unless(asi->num == 11, "wrong number of entries");
+ fail_unless(asi->num == 12, "wrong number of entries");
/* clear that one again and decrease the counter */
result = Curl_altsvc_parse(curl, asi, "clear;",
@@ -113,7 +122,7 @@ UNITTEST_START
fprintf(stderr, "Curl_altsvc_parse(6) failed!\n");
unitfail++;
}
- fail_unless(asi->num == 9, "wrong number of entries");
+ fail_unless(asi->num == 10, "wrong number of entries");
Curl_altsvc_save(asi, outname);
diff --git a/tests/unit/unit1655.c b/tests/unit/unit1655.c
new file mode 100644
index 000000000..7fea134d5
--- /dev/null
+++ b/tests/unit/unit1655.c
@@ -0,0 +1,113 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "curlcheck.h"
+
+#include "doh.h" /* from the lib dir */
+
+static CURLcode unit_setup(void)
+{
+ /* whatever you want done first */
+ return CURLE_OK;
+}
+
+static void unit_stop(void)
+{
+ /* done before shutting down and exiting */
+}
+
+UNITTEST_START
+
+/* introduce a scope and prove the corner case with write overflow,
+ * so we can prove this test would detect it and that it is properly fixed
+ */
+do {
+ const char *bad = "this.is.a.hostname.where.each.individual.part.is.within."
+ "the.sixtythree.character.limit.but.still.long.enough.to."
+ "trigger.the.the.buffer.overflow......it.is.chosen.to.be."
+ "of.a.length.such.that.it.causes.a.two.byte.buffer......."
+ "overwrite.....making.it.longer.causes.doh.encode.to....."
+ ".return.early.so.dont.change.its.length.xxxx.xxxxxxxxxxx"
+ "..xxxxxx.....xx..........xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+ "xxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxx..x......xxxx"
+ "xxxx..xxxxxxxxxxxxxxxxxxx.x...xxxx.x.x.x...xxxxx";
+
+ /* plays the role of struct dnsprobe in urldata.h */
+ struct demo {
+ unsigned char dohbuffer[512];
+ unsigned char canary1;
+ unsigned char canary2;
+ unsigned char canary3;
+ };
+
+ size_t olen = 100000;
+ struct demo victim;
+ DOHcode d;
+ victim.canary1 = 87; /* magic numbers, arbritrarily picked */
+ victim.canary2 = 35;
+ victim.canary3 = 41;
+ d = doh_encode(bad, DNS_TYPE_A, victim.dohbuffer,
+ sizeof(victim.dohbuffer), &olen);
+ fail_unless(victim.canary1 == 87, "one byte buffer overwrite has happened");
+ fail_unless(victim.canary2 == 35, "two byte buffer overwrite has happened");
+ fail_unless(victim.canary3 == 41,
+ "three byte buffer overwrite has happened");
+ if(d == DOH_OK) {
+ fail_unless(olen <= sizeof(victim.dohbuffer), "wrote outside bounds");
+ fail_unless(olen > strlen(bad), "unrealistic low size");
+ }
+} while(0);
+
+/* run normal cases and try to trigger buffer length related errors */
+do {
+ DNStype dnstype = DNS_TYPE_A;
+ unsigned char buffer[128];
+ const size_t buflen = sizeof(buffer);
+ const size_t magic1 = 9765;
+ size_t olen1 = magic1;
+ const char *sunshine1 = "a.com";
+ const char *sunshine2 = "aa.com";
+ size_t olen2;
+ DOHcode ret2;
+ size_t olen;
+
+ DOHcode ret = doh_encode(sunshine1, dnstype, buffer, buflen, &olen1);
+ fail_unless(ret == DOH_OK, "sunshine case 1 should pass fine");
+ fail_if(olen1 == magic1, "olen has not been assigned properly");
+ fail_unless(olen1 > strlen(sunshine1), "bad out length");
+
+ /* add one letter, the response should be one longer */
+ olen2 = magic1;
+ ret2 = doh_encode(sunshine2, dnstype, buffer, buflen, &olen2);
+ fail_unless(ret2 == DOH_OK, "sunshine case 2 should pass fine");
+ fail_if(olen2 == magic1, "olen has not been assigned properly");
+ fail_unless(olen1 + 1 == olen2, "olen should grow with the hostname");
+
+ /* pass a short buffer, should fail */
+ ret = doh_encode(sunshine1, dnstype, buffer, olen1 - 1, &olen);
+ fail_if(ret == DOH_OK, "short buffer should have been noticed");
+
+ /* pass a minimum buffer, should succeed */
+ ret = doh_encode(sunshine1, dnstype, buffer, olen1, &olen);
+ fail_unless(ret == DOH_OK, "minimal length buffer should be long enough");
+ fail_unless(olen == olen1, "bad buffer length");
+} while(0);
+UNITTEST_STOP
diff --git a/winbuild/Makefile.vc b/winbuild/Makefile.vc
index 9b3b35513..7ad49f09f 100644
--- a/winbuild/Makefile.vc
+++ b/winbuild/Makefile.vc
@@ -59,6 +59,7 @@ CFGSET=true
!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
!MESSAGE ENABLE_OPENSSL_AUTO_LOAD_CONFIG=<yes or no>
!MESSAGE - Whether the OpenSSL configuration will be loaded automatically, defaults to yes
+!MESSAGE ENABLE_UNICODE=<yes or no> - Enable UNICODE support, defaults to no
!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
!MESSAGE DEBUG=<yes or no> - Debug builds
!MESSAGE MACHINE=<x86 or x64> - Target architecture (default x64 on AMD64, x86 on others)
@@ -146,6 +147,14 @@ ENABLE_OPENSSL_AUTO_LOAD_CONFIG = true
ENABLE_OPENSSL_AUTO_LOAD_CONFIG = false
!ENDIF
+!IFNDEF ENABLE_UNICODE
+USE_UNICODE = false
+!ELSEIF "$(ENABLE_UNICODE)"=="yes"
+USE_UNICODE = true
+!ELSEIF "$(ENABLE_UNICODE)"=="no"
+USE_UNICODE = false
+!ENDIF
+
CONFIG_NAME_LIB = libcurl
!IF "$(WITH_SSL)"=="dll"
@@ -277,6 +286,7 @@ $(MODE):
@SET USE_IPV6=$(USE_IPV6)
@SET USE_SSPI=$(USE_SSPI)
@SET USE_WINSSL=$(USE_WINSSL)
+ @SET USE_UNICODE=$(USE_UNICODE)
# compatibility bit
@SET WITH_NGHTTP2=$(WITH_NGHTTP2)
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index b5742e109..8267250c2 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -393,11 +393,11 @@ CFGSET = true
!IF "$(DEBUG)"=="yes"
RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
CURL_CC = $(CC_DEBUG) $(RTLIB_DEBUG)
-CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc
+CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc
!ELSE
RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
CURL_CC = $(CC_NODEBUG) $(RTLIB)
-CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc
+CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc
!ENDIF
!IF "$(AS_DLL)" == "true"
@@ -485,14 +485,18 @@ LFLAGS = $(LFLAGS) $(LFLAGS_PDB)
CFLAGS = $(CFLAGS) /DCURL_WITH_MULTI_SSL
!ENDIF
+!IF "$(USE_UNICODE)"=="true"
+CFLAGS = $(CFLAGS) /DUNICODE /D_UNICODE
+!ENDIF
+
LIB_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib
-CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
-
-!IFDEF WITH_PREFIX
-DIRDIST = $(WITH_PREFIX)
-!ELSE
-DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
-!ENDIF
+CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
+
+!IFDEF WITH_PREFIX
+DIRDIST = $(WITH_PREFIX)
+!ELSE
+DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
+!ENDIF
#
# curl.exe
@@ -559,6 +563,7 @@ $(LIB_DIROBJ):
@if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ)
@if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth
@if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls
+ @if not exist "$(LIB_DIROBJ)\vssh" mkdir $(LIB_DIROBJ)\vssh
@if not exist "$(LIB_DIROBJ)\vquic" mkdir $(LIB_DIROBJ)\vquic
$(CURL_DIROBJ):
@@ -578,6 +583,9 @@ $(CURL_DIROBJ):
{$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:
$(CURL_CC) $(CFLAGS) /Fo"$@" $<
+{$(LIBCURL_SRC_DIR)\vssh\}.c{$(LIB_DIROBJ)\vssh\}.obj:
+ $(CURL_CC) $(CFLAGS) /Fo"$@" $<
+
{$(LIBCURL_SRC_DIR)\vquic\}.c{$(LIB_DIROBJ)\vquic\}.obj:
$(CURL_CC) $(CFLAGS) /Fo"$@" $<