aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES2557
-rw-r--r--CMakeLists.txt34
-rw-r--r--README.version4
-rw-r--r--RELEASE-NOTES388
-rwxr-xr-xconfigure201
-rwxr-xr-xconfigure.ac132
-rw-r--r--docs/CHECKSRC.md2
-rw-r--r--docs/CODE_STYLE.md84
-rw-r--r--docs/INSTALL.cmake2
-rw-r--r--docs/KNOWN_BUGS37
-rw-r--r--docs/SECURITY-PROCESS.md29
-rw-r--r--docs/THANKS38
-rw-r--r--docs/TODO45
-rw-r--r--docs/cmdline-opts/cacert.d5
-rw-r--r--docs/cmdline-opts/cert.d11
-rw-r--r--docs/cmdline-opts/cookie.d3
-rw-r--r--docs/cmdline-opts/ftp-port.d6
-rw-r--r--docs/cmdline-opts/interface.d2
-rw-r--r--docs/cmdline-opts/max-time.d2
-rw-r--r--docs/cmdline-opts/page-footer6
-rw-r--r--docs/cmdline-opts/page-header8
-rw-r--r--docs/cmdline-opts/proxy-cert-type.d2
-rw-r--r--docs/cmdline-opts/proxytunnel.d2
-rw-r--r--docs/cmdline-opts/range.d2
-rw-r--r--docs/cmdline-opts/user-agent.d4
-rw-r--r--docs/curl-config.12
-rw-r--r--docs/curl.160
-rw-r--r--docs/examples/curlx.c2
-rw-r--r--docs/examples/debug.c6
-rw-r--r--docs/examples/evhiperfifo.c1
-rw-r--r--docs/examples/fopen.c4
-rw-r--r--docs/examples/getinmemory.c2
-rw-r--r--docs/examples/hiperfifo.c145
-rw-r--r--docs/examples/http2-download.c6
-rw-r--r--docs/examples/http2-serverpush.c12
-rw-r--r--docs/examples/http2-upload.c10
-rw-r--r--docs/examples/multi-debugcallback.c6
-rw-r--r--docs/examples/sessioninfo.c2
-rw-r--r--docs/examples/sftpuploadresume.c8
-rw-r--r--docs/examples/shared-connection-cache.c2
-rw-r--r--docs/libcurl/Makefile.am4
-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.312
-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.34
-rw-r--r--docs/libcurl/curl_global_init_mem.32
-rw-r--r--docs/libcurl/curl_global_sslset.39
-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.34
-rw-r--r--docs/libcurl/curl_mime_encoder.32
-rw-r--r--docs/libcurl/curl_mime_filedata.34
-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.34
-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.32
-rw-r--r--docs/libcurl/curl_multi_remove_handle.32
-rw-r--r--docs/libcurl/curl_multi_setopt.32
-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.32
-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_version.32
-rw-r--r--docs/libcurl/curl_version_info.39
-rw-r--r--docs/libcurl/libcurl-easy.32
-rw-r--r--docs/libcurl/libcurl-env.34
-rw-r--r--docs/libcurl/libcurl-errors.32
-rw-r--r--docs/libcurl/libcurl-multi.32
-rw-r--r--docs/libcurl/libcurl-security.34
-rw-r--r--docs/libcurl/libcurl-share.32
-rw-r--r--docs/libcurl/libcurl-symbols.36
-rw-r--r--docs/libcurl/libcurl-thread.32
-rw-r--r--docs/libcurl/libcurl-tutorial.322
-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_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_CONTENT_LENGTH_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.34
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.34
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.311
-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_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_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.317
-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_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_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.34
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.34
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.34
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.34
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_ENGINES.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.310
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.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/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_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.34
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.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.37
-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.36
-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_CUSTOMREQUEST.34
-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_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.370
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.314
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.34
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.34
-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.36
-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.358
-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_HTTP200ALIASES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.34
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.34
-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.36
-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.34
-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.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.32
-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_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.34
-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.34
-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.36
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.34
-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.34
-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.34
-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.36
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAPATH.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.34
-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.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.32
-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.38
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.32
-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.34
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.34
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.34
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.32
-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.32
-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.34
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.310
-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.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.34
-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.313
-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.32
-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.34
-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.34
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.34
-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.32
-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_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_TRANSFERTEXT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.34
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.34
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.316
-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.inc2
-rw-r--r--docs/libcurl/symbols-in-versions2
-rw-r--r--include/curl/curl.h6
-rw-r--r--include/curl/curlver.h8
-rw-r--r--include/curl/system.h4
-rw-r--r--lib/Makefile.inc4
-rw-r--r--lib/asyn-thread.c67
-rwxr-xr-xlib/checksrc.pl16
-rw-r--r--lib/content_encoding.c3
-rw-r--r--lib/cookie.c271
-rw-r--r--lib/cookie.h8
-rw-r--r--lib/curl_addrinfo.c4
-rw-r--r--lib/curl_config.h9
-rw-r--r--lib/curl_config.h.cmake3
-rw-r--r--lib/curl_config.h.in9
-rw-r--r--lib/curl_ctype.c11
-rw-r--r--lib/curl_ctype.h33
-rw-r--r--lib/curl_memrchr.c19
-rw-r--r--lib/curl_ntlm_core.c15
-rw-r--r--lib/curl_path.h5
-rw-r--r--lib/curl_sasl.c14
-rw-r--r--lib/curl_setup.h14
-rw-r--r--lib/easy.c11
-rw-r--r--lib/fileinfo.c7
-rw-r--r--lib/fileinfo.h5
-rw-r--r--lib/ftp.c88
-rw-r--r--lib/ftp.h4
-rw-r--r--lib/ftplistparser.c28
-rw-r--r--lib/hash.c6
-rw-r--r--lib/hostcheck.c2
-rw-r--r--lib/hostip.c74
-rw-r--r--lib/hostip.h13
-rw-r--r--lib/http.c64
-rw-r--r--lib/http.h10
-rw-r--r--lib/http2.c125
-rw-r--r--lib/http_chunks.c15
-rw-r--r--lib/http_negotiate.c2
-rw-r--r--lib/http_ntlm.c14
-rw-r--r--lib/http_proxy.c4
-rw-r--r--lib/libcurl.plist6
-rw-r--r--lib/md5.c7
-rw-r--r--lib/mime.c9
-rw-r--r--lib/multi.c92
-rw-r--r--lib/multiif.h5
-rw-r--r--lib/nwlib.c4
-rw-r--r--lib/openldap.c23
-rw-r--r--lib/parsedate.c1
-rw-r--r--lib/pingpong.c5
-rw-r--r--lib/progress.c74
-rw-r--r--lib/progress.h1
-rw-r--r--lib/rtsp.c3
-rw-r--r--lib/setopt.c36
-rw-r--r--lib/smb.c14
-rw-r--r--lib/ssh-libssh.c3
-rw-r--r--lib/ssh.c79
-rw-r--r--lib/strtoofft.c2
-rw-r--r--lib/telnet.c3
-rw-r--r--lib/tftp.c4
-rw-r--r--lib/timeval.c4
-rw-r--r--lib/transfer.c53
-rw-r--r--lib/url.c93
-rw-r--r--lib/urldata.h42
-rw-r--r--lib/vauth/cleartext.c14
-rw-r--r--lib/vauth/krb5_sspi.c10
-rw-r--r--lib/vauth/ntlm.c12
-rw-r--r--lib/vauth/ntlm.h8
-rw-r--r--lib/vauth/ntlm_sspi.c20
-rw-r--r--lib/vauth/spnego_sspi.c10
-rw-r--r--lib/vauth/vauth.c6
-rw-r--r--lib/vauth/vauth.h2
-rw-r--r--lib/version.c4
-rw-r--r--lib/vtls/axtls.c10
-rw-r--r--lib/vtls/cyassl.c19
-rw-r--r--lib/vtls/darwinssl.c17
-rw-r--r--lib/vtls/gskit.c10
-rw-r--r--lib/vtls/gtls.c22
-rw-r--r--lib/vtls/mbedtls.c21
-rw-r--r--lib/vtls/nss.c15
-rw-r--r--lib/vtls/openssl.c228
-rw-r--r--lib/vtls/polarssl.c16
-rw-r--r--lib/vtls/schannel.c374
-rw-r--r--lib/vtls/schannel.h40
-rw-r--r--lib/vtls/schannel_verify.c551
-rw-r--r--lib/vtls/vtls.c25
-rw-r--r--lib/vtls/vtls.h21
-rw-r--r--lib/warnless.h7
-rw-r--r--lib/wildcard.c20
-rw-r--r--lib/wildcard.h8
-rw-r--r--m4/curl-compilers.m428
-rw-r--r--m4/curl-confopts.m43
-rw-r--r--m4/curl-functions.m418
-rw-r--r--packages/DOS/README2
-rw-r--r--packages/OS400/curl.inc.in4
-rw-r--r--packages/OS400/os400sys.c150
-rw-r--r--projects/Windows/VC10/lib/libcurl.vcxproj1
-rw-r--r--projects/Windows/VC11/lib/libcurl.vcxproj1
-rw-r--r--projects/Windows/VC12/lib/libcurl.vcxproj1
-rw-r--r--projects/Windows/VC14/lib/libcurl.vcxproj1
-rw-r--r--projects/Windows/VC15/lib/libcurl.vcxproj1
-rw-r--r--projects/Windows/VC6/lib/libcurl.dsp4
-rw-r--r--projects/Windows/VC7.1/lib/libcurl.vcproj3
-rw-r--r--projects/Windows/VC7/lib/libcurl.vcproj3
-rw-r--r--projects/Windows/VC8/lib/libcurl.vcproj4
-rw-r--r--projects/Windows/VC9/lib/libcurl.vcproj4
-rw-r--r--projects/build-openssl.bat110
-rw-r--r--projects/build-wolfssl.bat22
-rw-r--r--src/tool_cb_dbg.c4
-rw-r--r--src/tool_cfgable.h1
-rw-r--r--src/tool_doswin.c11
-rw-r--r--src/tool_doswin.h1
-rw-r--r--src/tool_formparse.c3
-rw-r--r--src/tool_getparam.c4
-rw-r--r--src/tool_help.c4
-rw-r--r--src/tool_hugehelp.c11479
-rw-r--r--src/tool_metalink.c9
-rw-r--r--src/tool_operate.c94
-rw-r--r--src/tool_urlglob.c2
-rw-r--r--src/tool_version.h2
-rw-r--r--tests/FILEFORMAT8
-rw-r--r--tests/certs/Makefile.am29
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.crl13
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.crt80
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.csr11
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.derbin0 -> 862 bytes
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.dhp0
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.key15
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.pem120
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.pub.derbin0 -> 162 bytes
-rw-r--r--tests/certs/Server-localhost-firstSAN-sv.pub.pem6
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.crl14
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.crt80
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.csr11
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.derbin0 -> 862 bytes
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.dhp0
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.key15
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pem120
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pub.derbin0 -> 162 bytes
-rw-r--r--tests/certs/Server-localhost-lastSAN-sv.pub.pem6
-rw-r--r--tests/data/Makefile.inc11
-rw-r--r--tests/data/test10263
-rw-r--r--tests/data/test11082
-rw-r--r--tests/data/test11362
-rw-r--r--tests/data/test114811
-rw-r--r--tests/data/test115554
-rw-r--r--tests/data/test116452
-rw-r--r--tests/data/test12081
-rw-r--r--tests/data/test12092
-rw-r--r--tests/data/test145556
-rw-r--r--tests/data/test145659
-rw-r--r--tests/data/test1554
-rw-r--r--tests/data/test160826
-rw-r--r--tests/data/test207220
-rw-r--r--tests/data/test300057
-rw-r--r--tests/data/test300157
-rw-r--r--tests/data/test4628
-rw-r--r--tests/libtest/lib1502.c12
-rw-r--r--tests/libtest/lib1509.c2
-rw-r--r--tests/libtest/lib1521.c24
-rw-r--r--tests/libtest/lib1535.c2
-rw-r--r--tests/libtest/lib1536.c2
-rw-r--r--tests/libtest/lib517.c1
-rw-r--r--tests/libtest/lib552.c4
-rw-r--r--tests/libtest/stub_gssapi.c2
-rw-r--r--tests/libtest/testtrace.c6
-rw-r--r--tests/runtests.12
-rwxr-xr-xtests/runtests.pl20
-rw-r--r--tests/server/fake_ntlm.c2
-rw-r--r--tests/server/sockfilt.c8
-rw-r--r--tests/testcurl.12
-rwxr-xr-xtests/testcurl.pl2
-rw-r--r--tests/unit/Makefile.inc6
-rw-r--r--tests/unit/unit1309.c29
-rw-r--r--tests/unit/unit1395.c4
-rw-r--r--tests/unit/unit1608.c70
-rw-r--r--winbuild/BUILD.WINDOWS.txt72
-rw-r--r--winbuild/Makefile.vc48
-rw-r--r--winbuild/MakefileBuild.vc175
616 files changed, 12410 insertions, 9124 deletions
diff --git a/CHANGES b/CHANGES
index dce9c177..cbb1072d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,1382 @@
Changelog
+Version 7.60.0 (15 May 2018)
+
+Daniel Stenberg (15 May 2018)
+- RELEASE-NOTES: 7.60.0 release
+
+- THANKS: added people from the curl 7.60.0 release
+
+- docs/libcurl/index.html: removed
+
+ The HTML files are long gone from the dist, now remove the last HTML
+ file pointing to those missing files.
+
+ d
+
+- [steini2000 brought this change]
+
+ http2: remove unused variable
+
+ Closes #2570
+
+- [steini2000 brought this change]
+
+ http2: use easy handle of stream for logging
+
+- gcc: disable picky gcc-8 function pointer warnings in two places
+
+ Reported-by: Rikard Falkeborn
+ Bug: #2560
+ Closes #2569
+
+- http2: use the correct function pointer typedef
+
+ Fixes gcc-8 picky compiler warnings
+ Reported-by: Rikard Falkeborn
+ Bug: #2560
+ Closes #2568
+
+- CODE_STYLE: mention return w/o parens, but sizeof with
+
+ ... and remove the github markdown syntax so that it renders better on
+ the web site. Also, don't use back-ticks inlined to allow the CSS to
+ highlight source code better.
+
+- [Rikard Falkeborn brought this change]
+
+ examples: Fix format specifiers
+
+ Closes #2561
+
+- [Rikard Falkeborn brought this change]
+
+ tool: Fix format specifiers
+
+- [Rikard Falkeborn brought this change]
+
+ ntlm: Fix format specifiers
+
+- [Rikard Falkeborn brought this change]
+
+ tests: Fix format specifiers
+
+- [Rikard Falkeborn brought this change]
+
+ lib: Fix format specifiers
+
+- contributors.sh: use "on github", not at
+
+- http2: getsock fix for uploads
+
+ When there's an upload in progress, make sure to wait for the socket to
+ become writable.
+
+ Detected-by: steini2000 on github
+ Bug: #2520
+ Closes #2567
+
+- pingpong: fix response cache memcpy overflow
+
+ Response data for a handle with a large buffer might be cached and then
+ used with the "closure" handle when it has a smaller buffer and then the
+ larger cache will be copied and overflow the new smaller heap based
+ buffer.
+
+ Reported-by: Dario Weisser
+ CVE: CVE-2018-1000300
+ Bug: https://curl.haxx.se/docs/adv_2018-82c2.html
+
+- http: restore buffer pointer when bad response-line is parsed
+
+ ... leaving the k->str could lead to buffer over-reads later on.
+
+ CVE: CVE-2018-1000301
+ Assisted-by: Max Dymond
+
+ Detected by OSS-Fuzz.
+ Bug: https://curl.haxx.se/docs/adv_2018-b138.html
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7105
+
+Patrick Monnerat (13 May 2018)
+- cookies: do not take cookie name as a parameter
+
+ RFC 6265 section 4.2.1 does not set restrictions on cookie names.
+ This is a follow-up to commit 7f7fcd0.
+ Also explicitly check proper syntax of cookie name/value pair.
+
+ New test 1155 checks that cookie names are not reserved words.
+
+ Reported-By: anshnd at github
+ Fixes #2564
+ Closes #2566
+
+Daniel Stenberg (12 May 2018)
+- smb: reject negative file sizes
+
+ Assisted-by: Max Dymond
+
+ Detected by OSS-Fuzz
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8245
+
+- setup_transfer: deal with both sockets being -1
+
+ Detected by Coverity; CID 1435559. Follow-up to f8d608f38d00. It would
+ index the array with -1 if neither index was a socket.
+
+- travis: add build using NSS
+
+ Closes #2558
+
+- [Sunny Purushe brought this change]
+
+ openssl: change FILE ops to BIO ops
+
+ To make builds with VS2015 work. Recent changes in VS2015 _IOB_ENTRIES
+ handling is causing problems. This fix changes the OpenSSL backend code
+ to use BIO functions instead of FILE I/O functions to circumvent those
+ problems.
+
+ Closes #2512
+
+- travis: add a build using WolfSSL
+
+ Assisted-by: Dan Fandrich
+
+ Closes #2528
+
+- RELEASE-NOTES: typo
+
+- RELEASE-NOTES: synced
+
+- [Daniel Gustafsson brought this change]
+
+ URLs: fix one more http url
+
+ This file wasn't included in commit 4af40b3646d3b09 which updated all
+ haxx.se http urls to https. The file was committed prior to that update,
+ but may have been merged after it and hence didn't get updated.
+
+ Closes #2550
+
+- github/lock: auto-lock closed issues after 90 days of inactivity
+
+- vtls: fix missing commas
+
+ follow-up to e66cca046cef
+
+- vtls: use unified "supports" bitfield member in backends
+
+ ... instead of previous separate struct fields, to make it easier to
+ extend and change individual backends without having to modify them all.
+
+ closes #2547
+
+- transfer: don't unset writesockfd on setup of multiplexed conns
+
+ Curl_setup_transfer() can be called to setup a new individual transfer
+ over a multiplexed connection so it shouldn't unset writesockfd.
+
+ Bug: #2520
+ Closes #2549
+
+- [Frank Gevaerts brought this change]
+
+ configure: put CURLDEBUG and DEBUGBUILD in lib/curl_config.h
+
+ They are removed from the compiler flags.
+
+ This ensures that make dependency tracking will force a rebuild whenever
+ configure --enable-debug or --enable-curldebug changes.
+
+ Closes #2548
+
+- http: don't set the "rewind" flag when not uploading anything
+
+ It triggers an assert.
+
+ Detected by OSS-Fuzz
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8144
+ Closes #2546
+
+- travis: add an mbedtls build
+
+ Closes #2531
+
+- configure: only check for CA bundle for file-using SSL backends
+
+ When only building with SSL backends that don't use the CA bundle file
+ (by default), skip the check.
+
+ Fixes #2543
+ Fixes #2180
+ Closes #2545
+
+- ssh-libssh.c: fix left shift compiler warning
+
+ ssh-libssh.c:2429:21: warning: result of '1 << 31' requires 33 bits to
+ represent, but 'int' only has 32 bits [-Wshift-overflow=]
+
+ 'len' will never be that big anyway so I converted the run-time check to
+ a regular assert.
+
+- [Stephan Mühlstrasser brought this change]
+
+ URL: fix ASCII dependency in strcpy_url and strlen_url
+
+ Commit 3c630f9b0af097663a64e5c875c580aa9808a92b partially reverted the
+ changes from commit dd7521bcc1b7a6fcb53c31f9bd1192fcc884bd56 because of
+ the problem that strcpy_url() was modified unilaterally without also
+ modifying strlen_url(). As a consequence strcpy_url() was again
+ depending on ASCII encoding.
+
+ This change fixes strlen_url() and strcpy_url() in parallel to use a
+ common host-encoding independent criterion for deciding whether an URL
+ character must be %-escaped.
+
+ Closes #2535
+
+- [Denis Ollier brought this change]
+
+ docs: remove extraneous commas in man pages
+
+ Closes #2544
+
+- RELEASE-NOTES: synced
+
+- Revert "TODO: remove configure --disable-pthreads"
+
+ This reverts commit d5d683a97f9765bddfd964fe32e137aa6e703ed3.
+
+ --disable-pthreads can be used to disable pthreads and get the threaded
+ resolver to use the windows threading when building with mingw.
+
+- vtls: don't define MD5_DIGEST_LENGTH for wolfssl
+
+ ... as it defines it (too)
+
+- TODO: remove configure --disable-pthreads
+
+Jay Satiro (2 May 2018)
+- [David Garske brought this change]
+
+ wolfssl: Fix non-blocking connect
+
+ Closes https://github.com/curl/curl/pull/2542
+
+Daniel Stenberg (30 Apr 2018)
+- CURLOPT_URL.3: add ENCODING section [ci skip]
+
+ Feedback-by: Michael Kilburn
+
+- KNOWN_BUGS: Client cert with Issuer DN differs between backends
+
+ Closes #1411
+
+- KNOWN_BUGS: Passive transfer tries only one IP address
+
+ Closes #1508
+
+- KNOWN_BUGS: --upload-file . hang if delay in STDIN
+
+ Closes #2051
+
+- KNOWN_BUGS: Connection information when using TCP Fast Open
+
+ Closes #1332
+
+- travis: enable libssh2 on both macos and Linux
+
+ It seems to not be detected by default anymore (which is a bug I
+ believe)
+
+ Closes #2541
+
+- TODO: Support the clienthello extension
+
+ Closes #2299
+
+- TODO: CLOEXEC
+
+ Closes #2252
+
+- tests: provide 'manual' as a feature to optionally require
+
+ ... and make test 1026 rely on that feature so that --disable-manual
+ builds don't cause test failures.
+
+ Reported-by: Max Dymond and Anders Roxell
+ Fixes #2533
+ Closes #2540
+
+- CURLINFO_PROTOCOL.3: mention the existing defined names
+
+Jay Satiro (27 Apr 2018)
+- [Daniel Gustafsson brought this change]
+
+ cookies: remove unused macro
+
+ Commit 2bc230de63 made the macro MAX_COOKIE_LINE_TXT become unused,
+ so remove as it's not part of the published API.
+
+ Closes https://github.com/curl/curl/pull/2537
+
+Daniel Stenberg (27 Apr 2018)
+- [Daniel Gustafsson brought this change]
+
+ checksrc: force indentation of lines after an else
+
+ This extends the INDENTATION case to also handle 'else' statements
+ and require proper indentation on the following line. Also fixes the
+ offending cases found in the codebase.
+
+ Closes #2532
+
+- http2: fix null pointer dereference in http2_connisdead
+
+ This function can get called on a connection that isn't setup enough to
+ have the 'recv_underlying' function pointer initialized so it would try
+ to call the NULL pointer.
+
+ Reported-by: Dario Weisser
+
+ Follow-up to db1b2c7fe9b093f8 (never shipped in a release)
+ Closes #2536
+
+- http2: get rid of another strstr()
+
+ Follow-up to 1514c44655e12e: replace another strstr() call done on a
+ buffer that might not be zero terminated - with a memchr() call, even if
+ we know the substring will be found.
+
+ Assisted-by: Max Dymond
+
+ Detected by OSS-Fuzz
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8021
+
+ Closes #2534
+
+- cyassl: adapt to libraries without TLS 1.0 support built-in
+
+ WolfSSL doesn't enable it by default anymore
+
+- configure: provide --with-wolfssl as an alias for --with-cyassl
+
+- RELEASE-NOTES: synced
+
+- [Daniel Gustafsson brought this change]
+
+ os400.c: fix ASSIGNWITHINCONDITION checksrc warnings
+
+ All occurrences of assignment within conditional expression in
+ os400sys.c rewritten into two steps: first assignment and then the check
+ on the success of the assignment. Also adjust related incorrect brace
+ positions to match project indentation style.
+
+ This was spurred by seeing "if((inp = input_token))", but while in there
+ all warnings were fixed.
+
+ There should be no functional change from these changes.
+
+ Closes #2525
+
+- [Daniel Gustafsson brought this change]
+
+ cookies: ensure that we have cookies before writing jar
+
+ The jar should be written iff there are cookies, so ensure that we still
+ have cookies after expiration to avoid creating an empty file.
+
+ Closes #2529
+
+- strcpy_url: only %-encode values >= 0x80
+
+ OSS-Fuzz detected
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8000
+
+ Broke in dd7521bcc1b7
+
+- mime: avoid NULL pointer dereference risk
+
+ Coverity detected, CID 1435120
+
+ Closes #2527
+
+- [Stephan Mühlstrasser brought this change]
+
+ ctype: restore character classification for non-ASCII platforms
+
+ With commit 4272a0b0fc49a1ac0ceab5c4a365c9f6ab8bf8e2 curl-speficic
+ character classification macros and functions were introduced in
+ curl_ctype.[ch] to avoid dependencies on the locale. This broke curl on
+ non-ASCII, e.g. EBCDIC platforms. This change restores the previous set
+ of character classification macros when CURL_DOES_CONVERSIONS is
+ defined.
+
+ Closes #2494
+
+- ftplistparser: keep state between invokes
+
+ Fixes FTP wildcard parsing when done over a number of read buffers.
+
+ Regression from f786d1f14
+
+ Reported-by: wncboy on github
+ Fixes #2445
+ Closes #2526
+
+- examples/http2-upload: expand buffer to avoid silly warning
+
+ http2-upload.c:135:44: error: ‘%02d’ directive output may be truncated
+ writing between 2 and 11 bytes into a region of size between 8 and 17
+
+- examples/sftpuploadresume: typecast fseek argument to long
+
+ /docs/examples/sftpuploadresume.c:102:12: warning: conversion to 'long
+ int' from 'curl_off_t {aka long long int}' may alter its value
+
+- Revert "ftplistparser: keep state between invokes"
+
+ This reverts commit abbc8457d85aca74b7cfda1d394b0844932b2934.
+
+ Caused fuzzer problems on travis not seen when this was a PR!
+
+- Curl_memchr: zero length input can't match
+
+ Avoids undefined behavior.
+
+ Reported-by: Geeknik Labs
+
+- ftplistparser: keep state between invokes
+
+ Fixes FTP wildcard parsing when doing over a number of read buffers.
+
+ Regression from f786d1f14
+
+ Reported-by: wncboy on github
+ Fixes #2445
+ Closes #2519
+
+- ftplistparser: renamed some members and variables
+
+ ... to make them better spell out what they're for.
+
+- RELEASE-NOTES: synced
+
+- [Christian Schmitz brought this change]
+
+ curl_global_sslset: always provide available backends
+
+ Closes #2499
+
+- http2: convert an assert to run-time check
+
+ Fuzzing has proven we can reach code in on_frame_recv with status_code
+ not having been set, so let's detect that in run-time (instead of with
+ assert) and error error accordingly.
+
+ (This should no longer happen with the latest nghttp2)
+
+ Detected by OSS-Fuzz
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7903
+ Closes #2514
+
+- curl.1: clarify that options and URLs can be mixed
+
+ Fixes #2515
+ Closes #2517
+
+Jay Satiro (23 Apr 2018)
+- [Archangel_SDY brought this change]
+
+ CURLOPT_SSLCERT.3: improve WinSSL-specific usage info
+
+ Ref: https://github.com/curl/curl/pull/2376#issuecomment-381858780
+
+ Closes https://github.com/curl/curl/pull/2504
+
+- [Archangel_SDY brought this change]
+
+ schannel: fix build error on targets <= XP
+
+ - Use CRYPT_STRING_HEX instead of CRYPT_STRING_HEXRAW since XP doesn't
+ support the latter.
+
+ Ref: https://github.com/curl/curl/pull/2376#issuecomment-382153668
+
+ Closes https://github.com/curl/curl/pull/2504
+
+Daniel Stenberg (23 Apr 2018)
+- Revert "ftplistparser: keep state between invokes"
+
+ This reverts commit 8fb78f9ddc6d858d630600059b8ad84a80892fd9.
+
+ Unfortunately this fix introduces memory leaks I've not been able to fix
+ in several days. Reverting this for now to get the leaks fixed.
+
+Jay Satiro (21 Apr 2018)
+- tool_help: clarify --max-time unit of time is seconds
+
+ Before:
+ -m, --max-time <time> Maximum time allowed for the transfer
+
+ After:
+ -m, --max-time <seconds> Maximum time allowed for the transfer
+
+Daniel Stenberg (20 Apr 2018)
+- http2: handle GOAWAY properly
+
+ When receiving REFUSED_STREAM, mark the connection for close and retry
+ streams accordingly on another/fresh connection.
+
+ Reported-by: Terry Wu
+ Fixes #2416
+ Fixes #1618
+ Closes #2510
+
+- http2: clear the "drain counter" when a stream is closed
+
+ This fixes the notorious "httpc->drain_total >= data->state.drain"
+ assert.
+
+ Reported-by: Anders Bakken
+
+ Fixes #1680
+ Closes #2509
+
+- http2: avoid strstr() on data not zero terminated
+
+ It's not strictly clear if the API contract allows us to call strstr()
+ on a string that isn't zero terminated even when we know it will find
+ the substring, and clang's ASAN check dislikes us for it.
+
+ Also added a check of the return code in case it fails, even if I can't
+ think of a situation how that can trigger.
+
+ Detected by OSS-Fuzz
+ Closes #2513
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7760
+
+- [Stephan Mühlstrasser brought this change]
+
+ openssl: fix subjectAltName check on non-ASCII platforms
+
+ Curl_cert_hostcheck operates with the host character set, therefore the
+ ASCII subjectAltName string retrieved with OpenSSL must be converted to
+ the host encoding before comparison.
+
+ Closes #2493
+
+Jay Satiro (20 Apr 2018)
+- openssl: Add support for OpenSSL 1.1.1 verbose-mode trace messages
+
+ - Support handling verbose-mode trace messages of type
+ SSL3_RT_INNER_CONTENT_TYPE, SSL3_MT_ENCRYPTED_EXTENSIONS,
+ SSL3_MT_END_OF_EARLY_DATA, SSL3_MT_KEY_UPDATE, SSL3_MT_NEXT_PROTO,
+ SSL3_MT_MESSAGE_HASH
+
+ Reported-by: iz8mbw@users.noreply.github.com
+
+ Fixes https://github.com/curl/curl/issues/2403
+
+Daniel Stenberg (19 Apr 2018)
+- ftplistparser: keep state between invokes
+
+ Regression from f786d1f14
+
+ Reported-by: wncboy on github
+ Fixes #2445
+ Closes #2508
+
+- detect_proxy: only show proxy use if it had contents
+
+- http2: handle on_begin_headers() called more than once
+
+ This triggered an assert if called more than once in debug mode (and a
+ memory leak if not debug build). With the right sequence of HTTP/2
+ headers incoming it can happen.
+
+ Detected by OSS-Fuzz
+
+ Closes #2507
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7764
+
+Jay Satiro (18 Apr 2018)
+- [Dan McNulty brought this change]
+
+ schannel: add support for CURLOPT_CAINFO
+
+ - Move verify_certificate functionality in schannel.c into a new
+ file called schannel_verify.c. Additionally, some structure defintions
+ from schannel.c have been moved to schannel.h to allow them to be
+ used in schannel_verify.c.
+
+ - Make verify_certificate functionality for Schannel available on
+ all versions of Windows instead of just Windows CE. verify_certificate
+ will be invoked on Windows CE or when the user specifies
+ CURLOPT_CAINFO and CURLOPT_SSL_VERIFYPEER.
+
+ - In verify_certificate, create a custom certificate chain engine that
+ exclusively trusts the certificate store backed by the CURLOPT_CAINFO
+ file.
+
+ - doc updates of --cacert/CAINFO support for schannel
+
+ - Use CERT_NAME_SEARCH_ALL_NAMES_FLAG when invoking CertGetNameString
+ when available. This implements a TODO in schannel.c to improve
+ handling of multiple SANs in a certificate. In particular, all SANs
+ will now be searched instead of just the first name.
+
+ - Update tool_operate.c to not search for the curl-ca-bundle.crt file
+ when using Schannel to maintain backward compatibility. Previously,
+ any curl-ca-bundle.crt file found in that search would have been
+ ignored by Schannel. But, with CAINFO support, the file found by
+ that search would have been used as the certificate store and
+ could cause issues for any users that have curl-ca-bundle.crt in
+ the search path.
+
+ - Update url.c to not set the build time CURL_CA_BUNDLE if the selected
+ SSL backend is Schannel. We allow setting CA location for schannel
+ only when explicitly specified by the user via CURLOPT_CAINFO /
+ --cacert.
+
+ - Add new test cases 3000 and 3001. These test cases check that the first
+ and last SAN, respectively, matches the connection hostname. New test
+ certificates have been added for these cases. For 3000, the certificate
+ prefix is Server-localhost-firstSAN and for 3001, the certificate
+ prefix is Server-localhost-secondSAN.
+
+ - Remove TODO 15.2 (Add support for custom server certificate
+ validation), this commit addresses it.
+
+ Closes https://github.com/curl/curl/pull/1325
+
+- schannel: fix warning
+
+ - Fix warning 'integer from pointer without a cast' on 3rd arg in
+ CertOpenStore. The arg type HCRYPTPROV may be a pointer or integer
+ type of the same size.
+
+ Follow-up to e35b025.
+
+ Caught by Marc's CI builds.
+
+- [Jakub Wilk brought this change]
+
+ docs: fix typos
+
+ Closes https://github.com/curl/curl/pull/2503
+
+Daniel Stenberg (17 Apr 2018)
+- RELEASE-NOTES: synced
+
+Jay Satiro (17 Apr 2018)
+- [Kees Dekker brought this change]
+
+ winbuild: Support custom devel paths for each dependency
+
+ - Support custom devel paths for c-ares, mbedTLS, nghttp2, libSSH2,
+ OpenSSL and zlib. Respectively: CARES_PATH, MBEDTLS_PATH,
+ NGHTTP2_PATH, SSH2_PATH, SSL_PATH and ZLIB_PATH.
+
+ - Use lib.exe for making the static library instead of link.exe /lib.
+ The latter is undocumented and could cause problems as noted in the
+ comments.
+
+ - Remove a dangling URL that no longer worked. (I was not able to find
+ the IDN download at MSDN/microsoft.com, so it seems to be removed.)
+
+ - Remove custom override for release-ssh2-ssl-dll-zlib configuration.
+ Nobody knows why it was there and as far as we can see is unnecessary.
+
+ Closes https://github.com/curl/curl/pull/2474
+
+Daniel Stenberg (17 Apr 2018)
+- [Jess brought this change]
+
+ README.md: add backers and sponsors
+
+ Closes #2484
+
+- [Archangel_SDY brought this change]
+
+ schannel: add client certificate authentication
+
+ Users can now specify a client certificate in system certificates store
+ explicitly using expression like `--cert "CurrentUser\MY\<thumbprint>"`
+
+ Closes #2376
+
+Marcel Raad (16 Apr 2018)
+- [toughengineer brought this change]
+
+ ntlm_sspi: fix authentication using Credential Manager
+
+ If you pass empty user/pass asking curl to use Windows Credential
+ Storage (as stated in the docs) and it has valid credentials for the
+ domain, e.g.
+ curl -v -u : --ntlm example.com
+ currently authentication fails.
+ This change fixes it by providing proper SPN string to the SSPI API
+ calls.
+
+ Fixes https://github.com/curl/curl/issues/1622
+ Closes https://github.com/curl/curl/pull/1660
+
+Daniel Stenberg (16 Apr 2018)
+- configure: keep LD_LIBRARY_PATH changes local
+
+ ... only set it when we actually have to run tests to reduce its impact
+ on for example build commands etc.
+
+ Fixes #2490
+ Closes #2492
+
+ Reported-by: Dmitry Mikhirev
+
+Marcel Raad (16 Apr 2018)
+- urldata: make service names unconditional
+
+ The ifdefs have become quite long. Also, the condition for the
+ definition of CURLOPT_SERVICE_NAME and for setting it from
+ CURLOPT_SERVICE_NAME have diverged. We will soon also need the two
+ options for NTLM, at least when using SSPI, for
+ https://github.com/curl/curl/pull/1660.
+ Just make the definitions unconditional to make that easier.
+
+ Closes https://github.com/curl/curl/pull/2479
+
+Daniel Stenberg (16 Apr 2018)
+- test1148: tolerate progress updates better
+
+ Fixes #2446
+ Closes #2488
+
+- [Christian Schmitz brought this change]
+
+ ssh: show libSSH2 error code when closing fails
+
+ Closes #2500
+
+Jay Satiro (15 Apr 2018)
+- [Daniel Gustafsson brought this change]
+
+ vauth: Fix typo
+
+ Address various spellings of "credentials".
+
+ Closes https://github.com/curl/curl/pull/2496
+
+- [Dagobert Michelsen brought this change]
+
+ system.h: Add sparcv8plus to oracle/sunpro 32-bit detection
+
+ With specific compiler options selecting the arch like -xarch=sparc on
+ newer compilers like Oracle Studio 12.4 there is no definition of
+ __sparcv8 but __sparcv8plus which means the V9 ISA, but limited to the
+ 32ÎíÎñbit subset defined by the V8plus ISA specification, without the
+ Visual Instruction Set (VIS), and without other implementation-specific
+ ISA extensions. So it should be the same as __sparcv8.
+
+ Closes https://github.com/curl/curl/pull/2491
+
+- [Daniel Gustafsson brought this change]
+
+ checksrc: Fix typo
+
+ Fix typo in "semicolon" spelling and remove stray tab character.
+
+ Closes https://github.com/curl/curl/pull/2498
+
+- [Daniel Gustafsson brought this change]
+
+ all: Refactor malloc+memset to use calloc
+
+ When a zeroed out allocation is required, use calloc() rather than
+ malloc() followed by an explicit memset(). The result will be the
+ same, but using calloc() everywhere increases consistency in the
+ codebase and avoids the risk of subtle bugs when code is injected
+ between malloc and memset by accident.
+
+ Closes https://github.com/curl/curl/pull/2497
+
+Daniel Stenberg (12 Apr 2018)
+- duphandle: make sure CURLOPT_RESOLVE is duplicated fine too
+
+ Verified in test 1502 now
+
+ Fixes #2485
+ Closes #2486
+ Reported-by: Ernst Sjöstrand
+
+- mailmap: add a monnerat fixup [ci skip]
+
+- proxy: show getenv proxy use in verbose output
+
+ ... to aid debugging etc as it sometimes isn't immediately obvious why
+ curl uses or doesn't use a proxy.
+
+ Inspired by #2477
+
+ Closes #2480
+
+- travis: build libpsl and make builds use it
+
+ closes #2471
+
+- travis: bump to clang 6 and gcc 7
+
+ Extra-eye-on-this-by: Marcel Raad
+
+ Closes #2478
+
+Marcel Raad (10 Apr 2018)
+- travis: use trusty for coverage build
+
+ This works now and precise is in the process of being decommissioned.
+
+ Closes https://github.com/curl/curl/pull/2476
+
+- lib: silence null-dereference warnings
+
+ In debug mode, MingGW-w64's GCC 7.3 issues null-dereference warnings
+ when dereferencing pointers after DEBUGASSERT-ing that they are not
+ NULL.
+ Fix this by removing the DEBUGASSERTs.
+
+ Suggested-by: Daniel Stenberg
+ Ref: https://github.com/curl/curl/pull/2463
+
+- [Kees Dekker brought this change]
+
+ winbuild: fix URL
+
+ Follow up on https://github.com/curl/curl/pull/2472.
+ Now using en-us instead of nl-nl as language code in the URL.
+
+ Closes https://github.com/curl/curl/pull/2475
+
+Daniel Stenberg (9 Apr 2018)
+- [Kees Dekker brought this change]
+
+ winbuild: updated the documentation
+
+ The setenv command no longer exists and visual studio build prompts got
+ changed. Used Visual Studio 2015/2017 as reference.
+
+ Closes #2472
+
+- test1136: fix cookie order after commit c990eadd1277
+
+- build: cleanup to fix clang warnings/errors
+
+ unit1309 and vtls/gtls: error: arithmetic on a null pointer treated as a
+ cast from integer to pointer is a GNU extension
+
+ Reported-by: Rikard Falkeborn
+
+ Fixes #2466
+ Closes #2468
+
+Jay Satiro (7 Apr 2018)
+- examples/sftpuploadresmue: Fix Windows large file seek
+
+ - Use _fseeki64 instead of fseek (long) to seek curl_off_t in Windows.
+
+ - Use CURL_FORMAT_CURL_OFF_T specifier instead of %ld to print
+ curl_off_t.
+
+ Caught by Marc's CI builds.
+
+Daniel Stenberg (7 Apr 2018)
+- curl_setup: provide a CURL_SA_FAMILY_T type if none exists
+
+ ... and use this type instead of 'sa_family_t' in the code since several
+ platforms don't have it.
+
+ Closes #2463
+
+- [Eric Gallager brought this change]
+
+ build: add picky compiler warning flags for gcc 6 and 7
+
+- configure: detect sa_family_t
+
+Jay Satiro (7 Apr 2018)
+- [Stefan Agner brought this change]
+
+ tool_operate: Fix retry on FTP 4xx to ignore other protocols
+
+ Only treat response code as FTP response codes in case the
+ protocol type is FTP.
+
+ This fixes an issue where an HTTP download was treated as FTP
+ in case libcurl returned with 33. This happens when the
+ download has already finished and the server responses 416:
+ HTTP/1.1 416 Requested Range Not Satisfiable
+
+ This should not be treated as an FTP error.
+
+ Fixes #2464
+ Closes #2465
+
+Daniel Stenberg (6 Apr 2018)
+- hash: calculate sizes with size_t instead of longs
+
+ ... since they return size_t anyway!
+
+ closes #2462
+
+- RELEASE-NOTES: synced
+
+- [Jay Satiro brought this change]
+
+ build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15
+
+ .. and do the same for build-wolfssl.bat.
+
+ Because MS calls it VC14.1.
+
+ Closes https://github.com/curl/curl/pull/2189
+
+- [Kees Dekker brought this change]
+
+ winbuild: make the clean target work without build-type
+
+ Due to the check in Makefile.vc and MakefileBuild.vc, no make call can
+ be invoked unless a build-type was specified. However, a clean target
+ only existed when a build type was specified. As a result, the clean
+ target was unreachable. Made clean target unconditional.
+
+ Closes #2455
+
+- [patelvivekv1993 brought this change]
+
+ build-openssl.bat: allow custom paths for VS and perl
+
+ Fixes #2430
+ Closes #2457
+
+- [Laurie Clark-Michalek brought this change]
+
+ FTP: allow PASV on IPv6 connections when a proxy is being used
+
+ In the situation of a client connecting to an FTP server using an IPv6
+ tunnel proxy, the connection info will indicate that the connection is
+ IPv6. However, because the server behing the proxy is IPv4, it is
+ permissable to attempt PSV mode. In the case of the FTP server being
+ IPv4 only, EPSV will always fail, and with the current logic curl will
+ be unable to connect to the server, as the IPv6 fwdproxy causes curl to
+ think that EPSV is impossible.
+
+ Closes #2432
+
+- [Jon DeVree brought this change]
+
+ file: restore old behavior for file:////foo/bar URLs
+
+ curl 7.57.0 and up interpret this according to Appendix E.3.2 of RFC
+ 8089 but then returns an error saying this is unimplemented. This is
+ actually a regression in behavior on both Windows and Unix.
+
+ Before curl 7.57.0 this URL was treated as a path of "//foo/bar" and
+ then passed to the relevant OS API. This means that the behavior of this
+ case is actually OS dependent.
+
+ The Unix path resolution rules say that the OS must handle swallowing
+ the extra "/" and so this path is the same as "/foo/bar"
+
+ The Windows path resolution rules say that this is a UNC path and
+ automatically handles the SMB access for the program. So curl on Windows
+ was already doing Appendix E.3.2 without any special code in curl.
+
+ Regression
+
+ Closes #2438
+
+- [Gaurav Malhotra brought this change]
+
+ Revert "openssl: Don't add verify locations when verifypeer==0"
+
+ This reverts commit dc85437736e1fc90e689bb1f6c51c8f1aa9430eb.
+
+ libcurl (with the OpenSSL backend) performs server certificate verification
+ even if verifypeer == 0 and the verification result is available using
+ CURLINFO_SSL_VERIFYRESULT. The commit that is being reverted caused the
+ CURLINFO_SSL_VERIFYRESULT to not have useful information for the
+ verifypeer == 0 use case (it would always have
+ X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY).
+
+ Closes #2451
+
+- [Wyatt O'Day brought this change]
+
+ tls: fix mbedTLS 2.7.0 build + handle sha256 failures
+
+ (mbedtls 2.70 compiled with MBEDTLS_DEPRECATED_REMOVED)
+
+ Closes #2453
+
+- [Lauri Kasanen brought this change]
+
+ cookie: case-insensitive hashing for the domains
+
+ closes #2458
+
+Patrick Monnerat (4 Apr 2018)
+- cookie: fix and optimize 2nd top level domain name extraction
+
+ This fixes a segfault occurring when a name of the (invalid) form "domain..tld"
+ is processed.
+
+ test46 updated to cover this case.
+
+ Follow-up to commit c990ead.
+
+ Ref: https://github.com/curl/curl/pull/2440
+
+Daniel Stenberg (4 Apr 2018)
+- openssl: provide defines for argument typecasts to build warning-free
+
+ ... as OpenSSL >= 1.1.0 and libressl >= 2.7.0 use different argument types.
+
+- [Bernard Spil brought this change]
+
+ openssl: fix build with LibreSSL 2.7
+
+ - LibreSSL 2.7 implements (most of) OpenSSL 1.1 API
+
+ Fixes #2319
+ Closes #2447
+ Closes #2448
+
+ Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
+
+- [Lauri Kasanen brought this change]
+
+ cookie: store cookies per top-level-domain-specific hash table
+
+ This makes libcurl handle thousands of cookies much better and speedier.
+
+ Closes #2440
+
+- [Lauri Kasanen brought this change]
+
+ cookies: when reading from a file, only remove_expired once
+
+ This drops the cookie load time for 8k cookies from 178ms to 15ms.
+
+ Closes #2441
+
+- test1148: set a fixed locale for the test
+
+ ...as otherwise it might use a different decimal sign.
+
+ Bug: #2436
+ Reported-by: Oumph on github
+
+Jay Satiro (31 Mar 2018)
+- docs: fix CURLINFO_*_T examples use of CURL_FORMAT_CURL_OFF_T
+
+ - Put a percent sign before each CURL_FORMAT_CURL_OFF_T in printf.
+
+ For example "%" CURL_FORMAT_CURL_OFF_T becomes %lld or similar.
+
+ Bug: https://curl.haxx.se/mail/lib-2018-03/0140.html
+ Reported-by: David L.
+
+Sergei Nikulov (27 Mar 2018)
+- [Michał Janiszewski brought this change]
+
+ cmake: Add advapi32 as explicit link library for win32
+
+ ARM targets need advapi32 explicitly.
+
+ Closes #2363
+
+Daniel Stenberg (27 Mar 2018)
+- TODO: connection cache sharing is now supporte
+
+Jay Satiro (26 Mar 2018)
+- travis: enable apt retry on fail
+
+ This is a workaround for an unsolved travis issue that is causing CI
+ instances to sporadically fail due to 'unable to connect' issues during
+ apt stage.
+
+ Ref: https://github.com/travis-ci/travis-ci/issues/8507
+ Ref: https://github.com/travis-ci/travis-ci/issues/9112#issuecomment-376305909
+
+Michael Kaufmann (26 Mar 2018)
+- runtests.pl: fix warning 'use of uninitialized value'
+
+ follow-up to a9a7b60
+
+ Closes #2428
+
+Daniel Stenberg (24 Mar 2018)
+- gitignore: ignore more generated files
+
+- threaded resolver: track resolver time and set suitable timeout values
+
+ In order to make curl_multi_timeout() return suitable "sleep" times even
+ when there's no socket to wait for while the name is being resolved in a
+ helper thread.
+
+ It will increases the timeouts as time passes.
+
+ Closes #2419
+
+- [Howard Chu brought this change]
+
+ openldap: fix for NULL return from ldap_get_attribute_ber()
+
+ Closes #2399
+
+GitHub (22 Mar 2018)
+- [Sergei Nikulov brought this change]
+
+ travis-ci: enable -Werror for CMake builds (#2418)
+
+- [Sergei Nikulov brought this change]
+
+ cmake: avoid warn-as-error during config checks (#2411)
+
+ - Move the CURL_WERROR option processing after the configuration checks
+ to avoid failures in case of warnings during the configuration checks.
+
+ This is a partial fix for #2358
+
+- [Sergei Nikulov brought this change]
+
+ timeval: remove compilation warning by casting (#2417)
+
+ This is fixes #2358
+
+Daniel Stenberg (22 Mar 2018)
+- http2: read pending frames (including GOAWAY) in connection-check
+
+ If a connection has received a GOAWAY frame while not being used, the
+ function now reads frames off the connection before trying to reuse it
+ to avoid reusing connections the server has told us not to use.
+
+ Reported-by: Alex Baines
+ Fixes #1967
+ Closes #2402
+
+- [Bas van Schaik brought this change]
+
+ CI: add lgtm.yml for tweaking lgtm.com analysis
+
+ Closes #2414
+
+- CURLINFO_SSL_VERIFYRESULT.3: fix the example, add some text
+
+ Reported-by: Michal Trybus
+
+ Fixes #2400
+
+- TODO: expand ~/ in config files
+
+ Closes #2317
+
+- cookie.d: mention that "-" as filename means stdin
+
+ Reported-by: Dongliang Mu
+ Fixes #2410
+
+- CURLINFO_COOKIELIST.3: made the example not leak memory
+
+ Reported-by: Muz Dima
+
+- vauth/cleartext: fix integer overflow check
+
+ Make the integer overflow check not rely on the undefined behavior that
+ a size_t wraps around on overflow.
+
+ Detected by lgtm.com
+ Closes #2408
+
+- lib/curl_path.h: add #ifdef header guard
+
+ Detected by lgtm.com
+
+- vauth/ntlm.h: fix the #ifdef header guard
+
+ Detected by lgtm.com
+
+Jay Satiro (20 Mar 2018)
+- examples/hiperfifo: checksrc compliance
+
+Daniel Stenberg (19 Mar 2018)
+- [Nikos Tsipinakis brought this change]
+
+ parsedate: support UT timezone
+
+ RFC822 section 5.2 mentions Universal Time, 'UT', to be synonymous with
+ GMT.
+
+ Closes #2401
+
+- RELEASE-NOTES: synced
+
+- [Don brought this change]
+
+ cmake: add support for brotli
+
+ Currently CMake cannot detect Brotli support. This adds detection of the
+ libraries and associated header files. It also adds this to the
+ generated config.
+
+ Closes #2392
+
+- [Chris Araman brought this change]
+
+ darwinssl: fix iOS build
+
+Patrick Monnerat (18 Mar 2018)
+- ILE/RPG binding: Add CURLOPT_HAPROXYPROTOCOL/Fix CURLOPT_DNS_SHUFFLE_ADDRESSES
+
+Daniel Stenberg (17 Mar 2018)
+- [Rick Deist brought this change]
+
+ resolve: add CURLOPT_DNS_SHUFFLE_ADDRESSES
+
+ This patch adds CURLOPT_DNS_SHUFFLE_ADDRESSES to explicitly request
+ shuffling of IP addresses returned for a hostname when there is more
+ than one. This is useful when the application knows that a round robin
+ approach is appropriate and is willing to accept the consequences of
+ potentially discarding some preference order returned by the system's
+ implementation.
+
+ Closes #1694
+
+- add_handle/easy_perform: clear errorbuffer on start if set
+
+ To offer applications a more defined behavior, we clear the buffer as
+ early as possible.
+
+ Assisted-by: Jay Satiro
+
+ Fixes #2190
+ Closes #2377
+
+- [Lawrence Matthews brought this change]
+
+ CURLOPT_HAPROXYPROTOCOL: support the HAProxy PROXY protocol
+
+ Add --haproxy-protocol for the command line tool
+
+ Closes #2162
+
+- curl_version_info.3: fix ssl_version description
+
+ Reported-by: Vincas Razma
+ Fixes #2364
+
+- multi: improved pending transfers handling => improved performance
+
+ When a transfer is requested to get done and it is put in the pending
+ queue when limited by number of connections, total or per-host, libcurl
+ would previously very aggressively retry *ALL* pending transfers to get
+ them transferring. That was very time consuming.
+
+ By reducing the aggressiveness in how pending are being retried, we
+ waste MUCH less time on putting transfers back into pending again.
+
+ Some test cases got a factor 30(!) speed improvement with this change.
+
+ Reported-by: Cyril B
+ Fixes #2369
+ Closes #2383
+
+- pause: when changing pause state, update socket state
+
+ Especially unpausing a transfer might have to move the socket back to the
+ "currently used sockets" hash to get monitored. Otherwise it would never get
+ any more data and get stuck. Easily triggered with pausing using the
+ multi_socket API.
+
+ Reported-by: Philip Prindeville
+ Bug: https://curl.haxx.se/mail/lib-2018-03/0048.html
+ Fixes #2393
+ Closes #2391
+
+- [Philip Prindeville brought this change]
+
+ examples/hiperfifo.c: improved
+
+ * use member struct event’s instead of pointers to alloc’d struct
+ events
+
+ * simplify the cases for the mcode_or_die() function via macros;
+
+ * make multi_timer_cb() actually do what the block comment says it
+ should;
+
+ * accept a “stop” command on the FIFO to shut down the service;
+
+ * use cleaner notation for unused variables than the (void) hack;
+
+ * allow following redirections (304’s);
+
+- rate-limit: use three second window to better handle high speeds
+
+ Due to very frequent updates of the rate limit "window", it could
+ attempt to rate limit within the same milliseconds and that then made
+ the calculations wrong, leading to it not behaving correctly on very
+ fast transfers.
+
+ This new logic updates the rate limit "window" to be no shorter than the
+ last three seconds and only updating the timestamps for this when
+ switching between the states TOOFAST/PERFORM.
+
+ Reported-by: 刘佩东
+ Fixes #2386
+ Closes #2388
+
+- [luz.paz brought this change]
+
+ cleanup: misc typos in strings and comments
+
+ Found via `codespell`
+
+ Closes #2389
+
+- RELEASE-NOTES: toward 7.60.0
+
+- [Kobi Gurkan brought this change]
+
+ http2: fixes typo
+
+ Closes #2387
+
+- user-agent.d:: mention --proxy-header as well
+
+ Bug: https://github.com/curl/curl/issues/2381
+
+- transfer: make HTTP without headers count correct body size
+
+ This is what "HTTP/0.9" basically looks like.
+
+ Reported on IRC
+
+ Closes #2382
+
+- test1208: marked flaky
+
+ It fails somewhere between every 3rd to 10th travis-CI run
+
+- SECURITY-PROCESS: mention how we write/add advisories
+
+- [dasimx brought this change]
+
+ FTP: fix typo in recursive callback detection for seeking
+
+ Fixes #2380
+
Version 7.59.0 (13 Mar 2018)
Daniel Stenberg (13 Mar 2018)
@@ -2481,14 +3857,10 @@ Daniel Stenberg (30 Oct 2017)
closes #2033
-monnerat (29 Oct 2017)
-- [Patrick Monnerat brought this change]
-
- cli tool: improve ";type=" handling in -F option arguments
-
-- [Patrick Monnerat brought this change]
+Patrick Monnerat (29 Oct 2017)
+- cli tool: improve ";type=" handling in -F option arguments
- cli tool: in -F option arg, comma is a delimiter for files only
+- cli tool: in -F option arg, comma is a delimiter for files only
Also upgrade test 1133 to cover this case and clarify man page about
form data quoting.
@@ -5797,1174 +7169,3 @@ Marcel Raad (16 Jul 2017)
- rtspd: fix MSVC level 4 warning
warning C4701: potentially uninitialized local variable 'req' used
-
-- winbuild: re-enable warning C4127 for curl tool
-
- Disabled in cda19a345f6970e22fe8b7a808aeb8f086a21eac. It only needs to
- be disabled for libcurl.
-
-- winbuild: build with warning level 4
-
- This is consistent with 7bc64561a2e63ca93e4b0b31d350773ba80955c2, which
- changed the warning level from 3 to 4 for the Visual Studio project
- files. But disable the level 4 warning C4127 "conditional expression is
- constant", as that one is issued by older versions of the Windows SDK
- as well as curl itself under some circumstances.
-
- Closes https://github.com/curl/curl/pull/1667
-
-Jay Satiro (12 Jul 2017)
-- [Max Dymond brought this change]
-
- travis: install libidn2
-
- Install libidn2 to increase test coverage (IDN tests)
-
- Closes https://github.com/curl/curl/pull/1673
-
-Marcel Raad (12 Jul 2017)
-- travis: enable warnings also in release mode
-
- ... to get warnings also on Linux/GCC and OSX/clang.
-
- Closes https://github.com/curl/curl/pull/1666
-
-Daniel Stenberg (12 Jul 2017)
-- [Max Dymond brought this change]
-
- travis: install libssh2
-
- Install libssh2 to increase test coverage (SFTP, SCP)
-
-Marcel Raad (12 Jul 2017)
-- system.h: include winsock2.h before windows.h
-
- ... to avoid compiler warnings if the user doesn't want
- WIN32_LEAN_AND_MEAN.
-
-- build: remove WIN32_LEAN_AND_MEAN from individual build systems
-
- It's defined for all build systems in curl_setup.h since commit
- beb08481d01a07a8b10938b1078a5e298b1c2912. This caused macro
- redefinition warnings in the configure builds.
-
- Closes https://github.com/curl/curl/pull/1677
-
-Jay Satiro (11 Jul 2017)
-- ISSUE_TEMPLATE: Add a comment not to file security issues on github
-
-Marcel Raad (11 Jul 2017)
-- curl_setup: always define WIN32_LEAN_AND_MEAN on Windows
-
- Make sure to always define WIN32_LEAN_AND_MEAN before including any
- Windows headers to avoid pulling in unnecessary headers. This avoids
- unnecessary macro clashes and compiler warnings.
-
- Ref: https://github.com/curl/curl/issues/1562
- Closes https://github.com/curl/curl/pull/1672
-
-Jay Satiro (11 Jul 2017)
-- strerror: Preserve Windows error code in some functions
-
- This is a follow-up to af02162 which removed (SET_)ERRNO macros. That
- commit was an earlier draft that I committed by mistake, which was then
- remedied by a5834e5 and e909de6, and now this commit. With this commit
- there is now no difference between the current code and the changes that
- were approved in the final draft.
-
- Thanks-to: Max Dymond, Marcel Raad, Daniel Stenberg, Gisle Vanem
- Ref: https://github.com/curl/curl/pull/1589
-
-Marcel Raad (10 Jul 2017)
-- [Max Dymond brought this change]
-
- tests: Fix up issues with errno in test files
-
- Closes https://github.com/curl/curl/pull/1671
-
-Daniel Stenberg (10 Jul 2017)
-- errno: fix non-windows builds after af0216251b94e7
-
-- [Ryan Winograd brought this change]
-
- make: fix docs build on OpenBSD
-
- Ref: #1591
-
-Marcel Raad (10 Jul 2017)
-- ldap: fix MinGW compiler warning
-
- ldap_bind_s is marked as deprecated in w32api's winldap.h shipping with
- the latest original MinGW, resulting in compiler warnings since commit
- f0fe66f13c93d3d0af45d9fb1231c9164e0f9dc8. Fix this for the non-SSPI
- case by using ldap_simple_bind_s again instead of ldap_bind_s with
- LDAP_AUTH_SIMPLE.
-
- Closes https://github.com/curl/curl/pull/1664
-
-- curl-compilers.m4: disable warning spam with Cygwin's clang
-
- When building with Cygwin or MinGW, libtool uses a wrapper executable
- instead of a wrapper script [1], which is written in C and throws
- missing-variable-declarations warnings. Don't enable these warnings on
- Cygwin and MinGW in order to avoid warnings for every executable built,
- which spams the test suite output when using Cygwin's clang.
-
- [1] https://www.gnu.org/software/libtool/manual/html_node/Wrapper-executables.html
-
- Closes https://github.com/curl/curl/pull/1665
-
-Jay Satiro (10 Jul 2017)
-- curl_setup_once: Remove ERRNO/SET_ERRNO macros
-
- Prior to this change (SET_)ERRNO mapped to GetLastError/SetLastError
- for Win32 and regular errno otherwise.
-
- I reviewed the code and found no justifiable reason for conflating errno
- on WIN32 with GetLastError/SetLastError. All Win32 CRTs support errno,
- and any Win32 multithreaded CRT supports thread-local errno.
-
- Fixes https://github.com/curl/curl/issues/895
- Closes https://github.com/curl/curl/pull/1589
-
-- tool_getparam: fix potentially uninitialized err
-
-Marcel Raad (9 Jul 2017)
-- smb: rename variable to fix shadowing warning
-
- GCC 4.6.3 on travis complains:
- smb.c: In function ‘get_posix_time’:
- smb.c:725:13: error: declaration of ‘time’ shadows a global declaration
- [-Werror=shadow]
-
- Fix this by renaming the variable.
-
-- tool_cb_wrt: fix variable shadowing warning
-
- GCC 4.4 complains:
- tool_cb_wrt.c:81: error: declaration of ‘isatty’ shadows a global
- declaration
- /usr/include/unistd.h:782: error: shadowed declaration is here
-
- Fix this by renaming the variable.
-
- Closes https://github.com/curl/curl/pull/1661
-
-Daniel Stenberg (8 Jul 2017)
-- RELEASE-NOTES: synced with be2c999b8
-
-- travis: install stunnel
-
-- valgrind.supp: supress OpenSSL false positive seen on travis
-
-- travis: detect and use valgrind for normal builds
-
- Closes #1653
-
-- travis: add SMB, DICT, TELNET torture to coverage test
-
-- [Paul Harris brought this change]
-
- cmake: offer CMAKE_DEBUG_POSTFIX when building with MSVC
-
- Removes BUILD_RELEASE_DEBUG_DIRS since it wasn't used anywhere.
-
- Closes #1649
-
-- CURLOPT_POSTFIELDS.3: explain the 100-continue magic better
-
-- [Max Dymond brought this change]
-
- test1452: add telnet negotiation
-
- Add a basic telnet server for negotiating some telnet options before
- echoing back any data that's sent to it.
-
- Closes #1645
-
-- travis: do more tests in the coverage run
-
- I added a selection of torture and event tests that run "fast enough"
-
-- curl_easy_escape.3: mention the (lack of) encoding
-
- Fixes #1612
- Reported-by: Jeroen Ooms
-
-- [Gisle Vanem brought this change]
-
- memdebug: don't setbuf() if the file open failed
-
- Bug: https://github.com/curl/curl/issues/828#issuecomment-313475151
-
-- appveyor: enable CURL_WERROR on all builds
-
-- cmake: add CURL_WERROR for enabling "warning as errors"
-
-- [Hannes Magnusson brought this change]
-
- cmake: remove spurious "-l" from linker flags
-
- Fixes #1552
-
-- test506: skip if threaded-resolver
-
-- runtests: support "threaded-resolver" as a feature
-
- ... to let tests require it or skip if present
-
-- asyn-thread.c: fix unused variable warnings on macOS
-
-- http: s/TINY_INITIAL_POST_SIZE/EXPECT_100_THRESHOLD
-
- Make the name reflect its use better, and add a short comment describing
- what it's for.
-
-- cmake: if inet_pton is used, bump _WIN32_WINNT
-
- ... and make sure inet_pton is always checked for when *not* using Windows,
- which is a regression from 4fc6ebe18.
-
- Idea-by: Sergei Nikulov
-
-- select.h: avoid macro redefinition harder
-
- ... by checking the POLLIN define, as the header file checks don't work
- on Windows.
-
-- inet_pton: fix include on windows to get prototype
-
- inet_pton() exists on Windows and gets used by our cmake builds. Make
- sure the correct header file is included to avoid compiler warnings.
-
- Closes #1639
-
-- TODO: 1.10 auto-detect proxy
-
- Closes #1572
-
-- TODO: HTTP proxy CONNECT is non-blocking now
-
-- cmake: fix send/recv argument scanner for windows
-
- ... by simply trying the Windows argument types first.
-
- Fixes #1640
-
-- RELEASE-NOTES: synced with 596cfb6c0
-
-- [Gisle Vanem brought this change]
-
- smb: add support for CURLOPT_FILETIME
-
- Bug: https://curl.haxx.se/mail/lib-2017-07/0005.html
-
- Closes #1643
-
-- travis: install nghttp2 on linux builds
-
- Closes #1642
-
-- [Gisle Vanem brought this change]
-
- smb: fix build for djgpp/MSDOS
-
- bug: https://curl.haxx.se/mail/lib-2017-07/0005.html
-
-- configure: try ldap/lber in reversed order first
-
- When scanning for which LDAP libraries to use, try the -lldap -llber
- combination before the reversed order since it has a greater chance of
- working when linking with libcurl statically.
-
- Fixes #1619
- Closes #1634
- Reported-by: David E. Narváez
-
-- configure: remove checks for 5 functions never used
-
- fork, getprotobyname, inet_addr, perror, uname
-
- closes #1638
-
-- dist: add SMB python deps into the tarball
-
-- [Max Dymond brought this change]
-
- test1451: add SMB support to the testbed
-
- Add test 1451 which does some very basic SMB testing using the impacket
- SMB server.
-
- Closes #1630
-
-- [Max Dymond brought this change]
-
- test: add impacket for SMB testing
-
- Import impacket 0.9.15 for use in SMB testing. This was generated by
- doing "pip2.7 install -t . impacket"
-
- Unnecessary files for current testing were deleted.
-
-- travis.yml: use --enable-werror on debug builds
-
- ... to better detect and fault on compiler warnings/errors
-
- Closes #1637
-
-- tool_sleep: typecast to avoid macos compiler warning
-
- tool_sleep.c:54:24: error: implicit conversion loses integer precision:
- 'long' to '__darwin_suseconds_t' (aka 'int')
- [-Werror,-Wshorten-64-to-32]
-
-- [Martin Kepplinger brought this change]
-
- timeval.c: Use long long constant type for timeval assignment
-
- On a 64 bit host, sparse says:
-
- timeval.c:148:15: warning: constant 0x7fffffffffffffff is so big it is long
- timeval.c:149:12: warning: constant 0x7fffffffffffffff is so big it is long
-
- so let's use long long constant types in order to prevent undesired overflow
- failures.
-
- Bug: https://curl.haxx.se/mail/lib-2017-07/0003.html
-
- Closes #1636
-
- Signed-off-by: Martin Kepplinger <martink@posteo.de>
-
-- url: make the original string get used on subsequent transfers
-
- ... since CURLOPT_URL should follow the same rules as other options:
- they remain set until changed or cleared.
-
- Added test 1551 to verify.
-
- Fixes #1631
- Closes #1632
- Reported-by: Pavel Rochnyak
-
-- [Johannes Schindelin brought this change]
-
- gtls: fix build when sizeof(long) < sizeof(void *)
-
- - Change gnutls pointer/int macros to pointer/curl_socket_t.
- Prior to this change they used long type as well.
-
- The size of the `long` data type can be shorter than that of pointer
- types. This is the case most notably on Windows.
-
- If C99 were acceptable, we could simply use `intptr_t` here. But we
- want to retain C89 compatibility.
-
- Simply use the trick of performing pointer arithmetic with the NULL
- pointer: to convert an integer `i` to a pointer, simply take the
- address of the `i`th element of a hypothetical character array
- starting at address NULL. To convert back, simply cast the pointer
- difference.
-
- Thanks to Jay Satiro for the initial modification to use curl_socket_t
- instead of int/long.
-
- Closes #1617
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-- [Ryan Winograd brought this change]
-
- unit1399: fix integer overflow
-
- Bug: #1616
- Closes #1633
-
-- [Per Malmberg brought this change]
-
- cmake: Added compatibility options for older Windows versions
-
- CURL_STATIC_CRT and ENABLE_INET_PTON
-
- Closes #1621
-
-- unit1399: add logging to time comparison
-
- ... to enable tracking down why autobuilds fail on this
-
- Bug: #1616
-
-- make: build the docs subdir only from within src
-
- ... and don't build at all in include
-
- Prompted-by-work-by: Simon Warta
- Ref: #1590
- Closes #1591
-
-- [Max Dymond brought this change]
-
- test1450: fix up DICT server in torture mode
-
- As per https://github.com/curl/curl/pull/1615, the DICT server is a
- little spammy in torture mode due to the sockets being torn down
- unexpectedly. Fix this by adding some error handling to the handling
- function.
-
- Closes #1629
-
-- [Max Dymond brought this change]
-
- test1450: add simple testing for DICT
-
- Add a new server which provides a DICT interface. This is intended to
- begin coverage testing for lib/dict.c
-
- Closes #1615
-
-- [Dan Fandrich brought this change]
-
- test1521: fix out-of-tree builds, broken with 467da3af
-
- The test.h file is no longer in the same directory as the source file,
- so that directory needs to be added to the include path.
-
- Fixes #1627
- Closes #1628
-
-- [Max Dymond brought this change]
-
- http2: handle PING frames
-
- Add a connection check function to HTTP2 based off RTSP. This causes
- PINGs to be handled the next time the connection is reused.
-
- Closes #1521
-
-- [Max Dymond brought this change]
-
- handler: refactor connection checking
-
- Add a new type of callback to Curl_handler which performs checks on
- the connection. Alter RTSP so that it uses this callback to do its
- own check on connection health.
-
-- [Dmitry Kostjuchenko brought this change]
-
- openssl: improve fallback seed of PRNG with a time based hash
-
- Fixes #1620
-
-- [Ryan Winograd brought this change]
-
- progress: prevent resetting t_starttransfer
-
- Prevent `Curl_pgrsTime` from modifying `t_starttransfer` when invoked
- with `TIMER_STARTTRANSFER` more than once during a single request.
-
- When a redirect occurs, this is considered a new request and
- `t_starttransfer` can be updated to reflect the `t_starttransfer` time
- of the redirect request.
-
- Closes #1616
-
- Bug: https://github.com/curl/curl/pull/1602#issuecomment-310267370
-
-- curl_strequal.3: fix typo in SYNOPSIS
-
- Reported-by: Jesse Chisholm
-
- Fixes #1623
-
-- RELEASE-NOTES: synced with ce2c3ebda
-
-Kamil Dudka (28 Jun 2017)
-- curl --socks5-{basic,gssapi}: control socks5 auth
-
- Closes https://github.com/curl/curl/pull/1454
-
-- CURLOPT_SOCKS5_AUTH: allowed methods for SOCKS5 proxy auth
-
- If libcurl was built with GSS-API support, it unconditionally advertised
- GSS-API authentication while connecting to a SOCKS5 proxy. This caused
- problems in environments with improperly configured Kerberos: a stock
- libcurl failed to connect, despite libcurl built without GSS-API
- connected fine using username and password.
-
- This commit introduces the CURLOPT_SOCKS5_AUTH option to control the
- allowed methods for SOCKS5 authentication at run time.
-
- Note that a new option was preferred over reusing CURLOPT_PROXYAUTH
- for compatibility reasons because the set of authentication methods
- allowed by default was different for HTTP and SOCKS5 proxies.
-
- Bug: https://curl.haxx.se/mail/lib-2017-01/0005.html
- Closes https://github.com/curl/curl/pull/1454
-
-- socks: deduplicate the code for auth request
-
-- socks: use proxy_user instead of proxy_name
-
- ... to make it obvious what the data is used for
-
-Daniel Stenberg (27 Jun 2017)
-- libtest/make: generate lib1521.c
-
- ... instead of having the generated code checked in. This saves space in
- the tarball but primarily automatically adapts to newly added options.
-
- Closes #1614
-
-Jay Satiro (26 Jun 2017)
-- tool_getparam: fix memory leak on test 1147 OOM (torture tests)
-
- Bug: https://github.com/curl/curl/pull/1486#issuecomment-310926872
- Reported-by: Dan Fandrich
-
-Dan Fandrich (25 Jun 2017)
-- test1537: fixed memory leak on OOM
-
-Marcel Raad (25 Jun 2017)
-- test1521: fix compiler warnings
-
- The integer literal 3123123123 doesn't fit into a 32-bit signed
- integer, so GCC with 32-bit long warns in C90 mode:
- this decimal constant is unsigned only in ISO C90 [enabled by default]
- Fix this by using ULONG_MAX, which should fit in any curl_off_t and has
- the correct suffix to not issue any warnings.
- Also adds the missing CURLOPT_REQUEST_TARGET from commit
- 9b167fd090f596eac828817d48c247eeae53407f.
-
- Closes https://github.com/curl/curl/pull/1611
-
-Daniel Stenberg (24 Jun 2017)
-- curl/system.h: add check for XTENSA for 32bit gcc
-
- Reported-by: Neil Kolban
- Fixes: 1598
-
-- [Henrik S. Gaßmann brought this change]
-
- winbuild: fix boringssl build
-
- Compile with `WIN32_LEAN_AND_MEAN` which prevents `windows.h` from
- including too much clutter including `wincrypt.h` which in turn contains
- some preprocessor macros that clash with boringssl symbols.
-
- Detect boringssl by checking the existance of `is_boringssl.h` and set
- the corresponding `HAVE_BORINGSSL` for compilation which is used in
- `ldap.c` to undefine the evil macros.
-
- Closes #1610
-
-- progress: progress.timespent needs to be us
-
- follow-up to 64ed44a815e4e to fix test 500 failures
-
-Marcel Raad (24 Jun 2017)
-- curl-compilers.m4: fix unknown-warning-option on Apple clang
-
- Since 5598b0bd63f690c151074494ce47ef872f004ab4, clang -v is used to
- detect the clang version. The version number was expected to come after
- the word "version". For Apple clang, this doesn't work as it has its
- own versioning scheme.
- The version number is now first searched after the string
- "based on LLVM". This works for Apple clang before version 7, and also
- for e.g. Ubuntu's clang up to version 3.7. If it's not found and the
- version string contains "Apple LLVM version", clang version 3.7 is
- assumed, which is the version that comes with Xcode 7. Otherwise, the
- version number is still expected after the word "version", which works
- for very old Apple clang versions.
-
- Ref: https://trac.macports.org/wiki/XcodeVersionInfo
- Fixes https://github.com/curl/curl/issues/1606
- Closes https://github.com/curl/curl/pull/1607
-
-Daniel Stenberg (24 Jun 2017)
-- progress: fix "time spent", broke in adef394ac
-
-- CURLINFO_REDIRECT_URL.3: mention the CURLOPT_MAXREDIRS case
-
- ... supported since 7.54.1
-
-- maketgz: switch to -6e for xz
-
- To reduce the memory requirement for decompress, and still do almost as
- good compression as with -9e.
-
- Pointed-out-by: Dan Fandrich
-
-- libtest/Makefile: remove unused lib1541 variables
-
-- CONTRIBUTE.md: mention the out-of-tree build test too
-
-- maketgz: switch to xz instead of lzma
-
- The compressed output size seems to be a tad bit smaller, but generally
- xz seems more preferred these days and is used directly by for example
- gentoo instead of bz2.
-
- "Users of LZMA Utils should move to XZ Utils" =>
- https://tukaani.org/lzma/
-
- Closes #1604
-
-- --request-target: instead of --strip-path-slash
-
- ... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH.
-
- This option instead provides the full "alternative" target to use in the
- request, instead of extracting the path from the URL.
-
- Test 1298 and 1299 updated accordingly.
-
- Idea-by: Evert Pot
- Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373
-
- Closes #1593
-
-Marcel Raad (21 Jun 2017)
-- lib1521: fix missing-variable-declarations clang warnings
-
- Declare TU-local variables static.
-
-- travis: enable typecheck-gcc warnings
-
- - switch debug and release configurations so that we get an optimized
- build with GCC 4.3+ as required by typecheck-gcc
- - enable warnings-as-errors for release builds
- (which have warnings disabled)
-
- Closes https://github.com/curl/curl/pull/1595
-
-- typecheck-gcc: add support for CURLINFO_OFF_T
-
- typecheck-gcc expected curl_socket_t instead of curl_off_t arguments
- for CURLINFO_OFF_T. Detected by test1521, unfortunately only when run
- locally.
-
- Closes https://github.com/curl/curl/pull/1592
-
-Daniel Stenberg (21 Jun 2017)
-- [Simon Warta brought this change]
-
- ci: whitelist branches to avoid testing feature branches twice
-
-- [Gisle Vanem brought this change]
-
- lib: fix the djgpp build
-
- Bug: https://github.com/curl/curl/commit/73a2fcea0b4adea6ba342cd7ed1149782c214ae3#commitcomment-22655993
-
-Marcel Raad (20 Jun 2017)
-- if2ip: fix compiler warning in ISO C90 mode
-
- remote_scope_id is only used when both HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
- and ENABLE_IPV6 are defined instead of only one of them.
-
-Daniel Stenberg (20 Jun 2017)
-- travis: do the distcheck test build out-of-tree as well
-
-- http: add --strip-path-slash and CURLOPT_STRIP_PATH_SLASH
-
- ... to enable sending "OPTIONS *" which wasn't possible previously.
-
- This option currently only works for HTTP.
-
- Added test cases 1298 + 1299 to verify
-
- Fixes #1280
- Closes #1462
-
-- test1521: test getinfo's OFF_T types too
-
- Closes #1588
-
-- lib1521: add curl_easy_getinfo calls to the test set
-
- Also added return value checks to make sure no unexpected return codes
- are used.
-
-- [Simon Warta brought this change]
-
- automake: use $(MKHELP) variable instead if constant mkhelp.pl
-
- this improves symmetry with the rule above
-
-- [Simon Warta brought this change]
-
- mkhelp.pl: fix script name in usage text
-
-- RELEASE-NOTES: synced with 3b80d3ca4
-
-- getinfo: return sizes as curl_off_t
-
- This change introduces new alternatives for the existing six
- curl_easy_getinfo() options that return sizes or speeds as doubles. The
- new versions are named like the old ones but with an appended '_T':
-
- CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
- CURLINFO_CONTENT_LENGTH_UPLOAD_T
- CURLINFO_SIZE_DOWNLOAD_T
- CURLINFO_SIZE_UPLOAD_T
- CURLINFO_SPEED_DOWNLOAD_T
- CURLINFO_SPEED_UPLOAD_T
-
- Closes #1511
-
-- PIPELINING_SERVER_BL: cleanup the internal list use
-
- The list was freed incorrectly since the llist refactor of
- cbae73e1dd959. Added test 1550 to verify that it works and avoid future
- regressions.
-
- Reported-by: Pascal Terjan
-
- Fixes #1584
- Closes #1585
-
-- http2: fix OOM crash
-
- torture mode with test 1021 found it
-
-- CURLOPT_PREQUOTE.3: spellfix man page reference
-
-Marcel Raad (18 Jun 2017)
-- http_proxy: fix build with http and proxy
-
- After deff7de0eb0e22d2d142b96b9cc84cd8db5d2a48, the build without
- CURL_DISABLE_PROXY and CURL_DISABLE_HTTP was failing because of missing
- includes.
-
-- http_proxy: fix compiler warning
-
- With CURL_DISABLE_PROXY or CURL_DISABLE_HTTP, GCC complained about a
- missing prototype for Curl_connect_free.
-
-Daniel Stenberg (18 Jun 2017)
-- TODO: update the TOC too
-
-- TODO: implement support for CURLOPT_PREQUOTE with SFTP
-
- ... also updated the CURLOPT_PREQUOTE.3 man page to mention the correct
- protocol support.
-
- Closes #1514
-
-- tool_wrte_cb: remove check for config == NULL
-
- ... as it really cannot have reached this far with config being NULL,
- thus this is unnecesary and misleading.
-
- Bug: https://news.ycombinator.com/item?id=14577585 and
- https://daniel.haxx.se/blog/2017/06/17/curl-doesnt-spew-binary-anymore/comment-page-1/#comment-18356
-
- Forwarded-to-us-by: Jakub Wilk
-
-- curl: prevent binary output spewed to terminal
-
- ... unless "--output -" is used. Binary detection is done by simply
- checking for a binary zero in early data.
-
- Added test 1425 1426 to verify.
-
- Closes #1512
-
-Marcel Raad (16 Jun 2017)
-- Makefile.m32: enable -W for MinGW32 build
-
- The configure-based build also has this in addition to -Wall.
-
- Closes https://github.com/curl/curl/pull/1578
-
-- curl-compilers.m4: enable comma clang warning
-
- It usually warns when using commas instead of semicolons or other
- operators by accident.
-
- Closes https://github.com/curl/curl/pull/1578
-
-- curl-compilers.m4: enable missing-variable-declarations clang warning
-
- It usually warns when forgetting to declare TU-local variables static.
-
- Closes https://github.com/curl/curl/pull/1578
-
-- curl-compilers.m4: enable double-promotion warning
-
- Enable -Wdouble-promotion for both GCC and clang. It warns on implicit
- promotion from float to double.
-
- Closes https://github.com/curl/curl/pull/1578
-
-- curl-compilers.m4: enable vla warning for clang
-
- Previously, that warning was only implicitly active in C90 mode.
- Enable it unconditionally as already done for GCC.
-
- Closes https://github.com/curl/curl/pull/1578
-
-Daniel Stenberg (16 Jun 2017)
-- http-proxy: fix chunked-encoded CONNECT responses
-
- Regression since 5113ad0424.
-
- ... and remove 'flaky' from test 1061 again
-
- Closes #1579
-
-- http-proxy: deal with EAGAIN
-
- ... the previous code would reset the header length wrongly (since
- 5113ad0424). This makes test 1060 reliable again.
-
- Also: make sws send even smaller chunks of data to increase the
- likeliness of this happening.
-
-- libtest/libntlmconnect: fix compiler warnings from f94fcdb
-
-- [Jay Satiro brought this change]
-
- HTTPS-Proxy: don't offer h2 for https proxy connections
-
- Bug: https://github.com/curl/curl/issues/1254
-
- Closes #1546
-
-- tests: stabilize test 2032 and 2033
-
- Both these tests run the same underlying test code: libntlmconnect.c -
- this test code made some assumptions about socket ordering when it used
- curl_easy_fdset() and when we changed timing or got accidental changes
- in libcurl the tests would fail.
-
- The tests verify that the different transfers keep using the same
- connections, which I now instead made sure by adding the number of bytes
- each transfer gets and then verifies that they always get the same
- amount as when these tests worked.
-
- Closes #1576
-
-- test1148: verify the -# progressbar
-
- Closes #1569
-
-- test1061: mark as flaky
-
- Fails intermittently on travis builds since a few days. Likely due to
- 5113ad0424.
-
-Jay Satiro (16 Jun 2017)
-- url: refactor the check for Windows drive letter in path
-
- - Move the logic to detect a Windows drive letter prefix
- (eg c: in c:foo) into a function-like macro.
-
- Closes https://github.com/curl/curl/pull/1571
-
-- mk-ca-bundle.pl: Check curl's exit code after certdata download
-
- - No longer allow partial downloads of certdata.
-
- Prior to this change partial downloads were (erroneously?) allowed since
- only the server code was checked to be 200.
-
- Bug: https://github.com/curl/curl/pull/1577
- Reported-by: Matteo B.
-
-Daniel Stenberg (16 Jun 2017)
-- dist: add the fuzz dir to the tarball
-
-- configure: disable nghttp2 too if HTTP has been disabled
-
-- http-proxy: fix build with --disable-proxy or --disable-http
-
- Reported-by: Dan Fandrich
-
-- fuzz/README: document how to build
-
- Fixes #1476
-
-- [Frederik B brought this change]
-
- fuzz: corpora file structure, initial commit
-
-- [Frederik B brought this change]
-
- fuzz: bring oss-fuzz initial code converted to C89
-
-- http-proxy: only attempt FTP over HTTP proxy
-
- ... all other non-HTTP protocol schemes are now defaulting to "tunnel
- trough" mode if a HTTP proxy is specified. In reality there are no HTTP
- proxies out there that allow those other schemes.
-
- Assisted-by: Ray Satiro, Michael Kaufmann
-
- Closes #1505
-
-- TODO: the generated include file is gone
-
- ... since commit 73a2fcea0b
-
-- curl_setup.h: error out on CURL_WANTS_CA_BUNDLE_ENV use
-
- ... to make it really apparent if there's any user using this on purpose.
-
- Suggested-by: Jay Satiro
-
- Closes #1542
-
-- lib/curl_setup.h: remove CURL_WANTS_CA_BUNDLE_ENV
-
- When this define was set, libcurl would check the environment variable
- named CURL_CA_BUNDLE at run-time and use that CA cert bundle. This
- feature was only defined by the watcom and m32 makefiles and caused
- inconsistent behaviours among libcurls built on different platforms.
-
- The curl tool does already feature its own similar logic and the library
- does not really need it, and it isn't documented libcurl behavior. So
- this change removes it.
-
- Ref: #1538
-
-- test1147: verify -H on a file
-
-- curl: allow --header and --proxy-header read from file
-
- So many headers can be provided as @filename.
-
- Suggested-by: Timothe Litt
-
- Closes #1486
-
-- RELEASE-NOTES: synced with 2ad80eec5
-
-- curl/curlver.h: start working on 7.55.0
-
-- http-proxy: do the HTTP CONNECT process entirely non-blocking
-
- Mentioned as a problem since 2007 (8f87c15bdac63) and of course it
- existed even before that.
-
- Closes #1547
-
-- progress: let "current speed" be UL + DL speeds combined
-
- Bug #1556
- Reported-by: Paul Harris
- Closes #1559
-
-Marcel Raad (14 Jun 2017)
-- system.h: fix MinGW build
-
- CURLSYS_PULL_WS2TCPIP_H got renamed to CURL_PULL_WS2TCPIP_H in commit
- 73a2fcea0b4adea6ba342cd7ed1149782c214ae3.
-
-Daniel Stenberg (14 Jun 2017)
-- timers: store internal time stamps as time_t instead of doubles
-
- This gives us accurate precision and it allows us to avoid storing "no
- time" for systems with too low timer resolution as we then bump the time
- up to 1 microsecond. Should fix test 573 on windows.
-
- Remove the now unused curlx_tvdiff_secs() function.
-
- Maintains the external getinfo() API with using doubles.
-
- Fixes #1531
-
-- dist: make the hugehelp.c not get regenerated unnecessarily
-
- The maketgz script now makes sure the generated hugehelp.c file in the
- tarball is newer than the generated curl.1 man page, so that it doesn't
- have to get unnecessarily rebuilt first thing in a typical build. It
- thus also removes the need for perl to build off a plain release
- tarball.
-
- Fixes #1565
-
-- includes: remove curl/curlbuild.h and curl/curlrules.h
-
- Rely entirely on curl/system.h now.
-
- Introduced in Aug 2008 with commit 14240e9e109f. Now gone.
-
- Fixes #1456
-
-Version 7.54.1 (14 Jun 2017)
-
-Daniel Stenberg (14 Jun 2017)
-- release: 7.54.1
-
-Dan Fandrich (13 Jun 2017)
-- mk-lib1521.pl: updated to match the test changes in 916ec30a
-
-Daniel Stenberg (13 Jun 2017)
-- [Stuart Henderson brought this change]
-
- libressl: OCSP and intermediate certs workaround no longer needed
-
- lib/vtls/openssl.c has a workaround for a bug with OCSP responses signed
- by intermediate certs, this was fixed in LibreSSL in
- https://github.com/libressl-portable/openbsd/commit/912c64f68f7ac4f225b7d1fdc8fbd43168912ba0
-
- Bug: https://curl.haxx.se/mail/lib-2017-06/0038.html
-
-- url: fix buffer overwrite with file protocol (CVE-2017-9502)
-
- Bug: https://github.com/curl/curl/issues/1540
- Advisory: https://curl.haxx.se/docs/adv_20170614.html
-
- Assisted-by: Ray Satiro
- Reported-by: Marcel Raad
-
-- urlglob: fix division by zero
-
- The multiply() function that is used to avoid integer overflows, was
- itself reason for a possible division by zero error when passed a
- specially formatted glob.
-
- Reported-by: GwanYeong Kim
-
-- configure: update the copyright year in the output
-
-- [ygrek brought this change]
-
- BINDINGS: update SP-Forth and OCaml urls
-
-Michael Kaufmann (11 Jun 2017)
-- FindWin32CACert: Use a temporary buffer on the stack
-
- Don't malloc() the temporary buffer, and use the correct type:
- SearchPath() works with TCHAR, but SearchPathA() works with char.
- Set the buffer size to MAX_PATH, because the terminating null byte
- is already included in MAX_PATH.
-
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Marcel Raad
-
- Closes #1548
-
-Dan Fandrich (11 Jun 2017)
-- test1521: fixed OOM handling
-
-Daniel Stenberg (9 Jun 2017)
-- RELEASE-PROCEDURE: updated future release dates
-
-- [Paul Harris brought this change]
-
- gitignore: ignore all vim swap files
-
- Closes #1561
-
-- lib1521: fix compiler warnings on the use of bad 'long' values
-
- Reported-by: Marcel Raad
- Bug: https://github.com/curl/curl/commit/cccac4fb2b20d6ed87da7978408c3ecacc464fe4#commitcomment-22453387
-
-- setopt: check CURLOPT_ADDRESS_SCOPE option range
-
- ... and return error instead of triggering an assert() when being way
- out of range.
-
-Jay Satiro (8 Jun 2017)
-- [TheAssassin brought this change]
-
- cmake: Fix inconsistency regarding mbed TLS include directory
-
- Previously, one had to set MBEDTLS_INCLUDE_DIR to make CMake find the
- headers, but the system complained that mbed TLS wasn't found due to
- MBEDTLS_INCLUDE_DIRS (note the trailing s) was not set. This commit
- attempts to fix that.
-
- Closes https://github.com/curl/curl/pull/1541
-
-Daniel Stenberg (8 Jun 2017)
-- [Ryuichi KAWAMATA brought this change]
-
- examples/multi-uv.c: fix deprecated symbol
-
- Closes #1557
-
-- asyn-ares: s/Curl_expire_latest/Curl_expire
-
-- expire: remove Curl_expire_latest()
-
- With the introduction of expire IDs and the fact that existing timers
- can be removed now and thus never expire, the concept with adding a
- "latest" timer is not working anymore as it risks to not expire at all.
-
- So, to be certain the timers actually are in line and will expire, the
- plain Curl_expire() needs to be used. The _latest() function was added
- as a sort of shortcut in the past that's quite simply not necessary
- anymore.
-
- Follow-up to 31b39c40cf90
-
- Reported-by: Paul Harris
-
- Closes #1555
-
-- [Chris Carlmar brought this change]
-
- configure: fix link with librtmp when specifying path
-
- Bug: https://curl.haxx.se/mail/lib-2017-06/0017.html
-
-- file: make speedcheck use current time for checks
-
- ... as it would previously just get the "now" timestamp before the
- transfer starts and then not update it again.
-
- Closes #1550
-
-- metalink: remove unused printf() argument
-
-- travis: let some builds *not* use --enable-debug
-
- typecheck-gcc and other things require optimized builds
-
- Closes #1544
-
-- README.md: show the coverall coverage on github
-
-- lib1521: fix compiler warnings
-
-- test1521: make the code < 80 columns wide
-
-- test1121: use stricter types to work with typcheck-gcc
-
-- typecheck-gcc: allow CURLOPT_STDERR to be NULL too
-
-- test1521: test *all* curl_easy_setopt options
-
- mk-lib1521.pl generates a test program (lib1521.c) that calls
- curl_easy_setopt() for every known option with a few typical values to
- make sure they work (ignoring the return codes).
-
- Some small changes were necessary to avoid asserts and NULL accesses
- when doing this.
-
- The perl script needs to be manually rerun when we add new options.
-
- Closes #1543
-
-Dan Fandrich (5 Jun 2017)
-- test1538: added "verbose logs" keyword
-
- These error messages are not displayed with --disable-verbose
-
-Daniel Stenberg (5 Jun 2017)
-- test1262: verify ftp download with -z for "if older than this"
-
-Marcel Raad (5 Jun 2017)
-- curl_ntlm_core: use Curl_raw_toupper instead of toupper
-
- This was the only remaining use of toupper in the entire source code.
-
- Suggested-by: Daniel Stenberg
-
-Daniel Stenberg (4 Jun 2017)
-- RELEASE-NOTES: synced with 65ba92650
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 490cc19e..bf25b1f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 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
@@ -232,16 +232,6 @@ if(BORLAND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
endif(BORLAND)
-if(CURL_WERROR)
- if(MSVC_VERSION)
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /WX")
- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /WX")
- else()
- # this assumes clang or gcc style options
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
- endif()
-endif(CURL_WERROR)
-
# If we are on AIX, do the _ALL_SOURCE magic
if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
set(_ALL_SOURCE 1)
@@ -295,6 +285,7 @@ check_function_exists(gethostname HAVE_GETHOSTNAME)
if(WIN32)
check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32)
check_library_exists_concat("winmm" getch HAVE_LIBWINMM)
+ list(APPEND CURL_LIBS "advapi32")
endif()
# check SSL libraries
@@ -521,6 +512,18 @@ if(CURL_ZLIB)
endif()
endif()
+option(CURL_BROTLI "Set to ON to enable building curl with brotli support." OFF)
+set(HAVE_BROTLI OFF)
+if(CURL_BROTLI)
+ find_package(BROTLI QUIET)
+ if(BROTLI_FOUND)
+ set(HAVE_BROTLI ON)
+ list(APPEND CURL_LIBS ${BROTLI_LIBRARIES})
+ include_directories(${BROTLI_INCLUDE_DIRS})
+ list(APPEND CMAKE_REQUIRED_INCLUDES ${BROTLI_INCLUDE_DIRS})
+ endif()
+endif()
+
#libSSH2
option(CMAKE_USE_LIBSSH2 "Use libSSH2" ON)
mark_as_advanced(CMAKE_USE_LIBSSH2)
@@ -1115,6 +1118,15 @@ if(MSVC)
endif(CMAKE_C_FLAGS MATCHES "/W[0-4]")
endif(MSVC)
+if(CURL_WERROR)
+ if(MSVC_VERSION)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
+ else()
+ # this assumes clang or gcc style options
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ endif()
+endif(CURL_WERROR)
+
# Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
file(READ ${INPUT_FILE} MAKEFILE_INC_TEXT)
diff --git a/README.version b/README.version
index a8d18524..a39a8a58 100644
--- a/README.version
+++ b/README.version
@@ -1,5 +1,5 @@
-URL: https://curl.haxx.se/download/curl-7.59.0.tar.gz
-Version: 7.59.0
+URL: https://curl.haxx.se/download/curl-7.60.0.tar.gz
+Version: 7.60.0
License: MIT
License File: NOTICE
BugComponent: 31714
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 6cbfe48e..482d4f1c 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,100 +1,130 @@
-Curl and libcurl 7.59.0
+Curl and libcurl 7.60.0
- Public curl releases: 173
- Command line options: 213
- curl_easy_setopt() options: 253
+ Public curl releases: 174
+ Command line options: 214
+ curl_easy_setopt() options: 255
Public functions in libcurl: 74
- Contributors: 1705
+ Contributors: 1741
This release includes the following changes:
- o curl: add --proxy-pinnedpubkey [10]
- o added: CURLOPT_TIMEVALUE_LARGE and CURLINFO_FILETIME_T [13]
- o CURLOPT_RESOLVE: Add support for multiple IP addresses per entry [37]
- o Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS [37]
- o Add new tool option --happy-eyeballs-timeout-ms [37]
- o Add CURLOPT_RESOLVER_START_FUNCTION and CURLOPT_RESOLVER_START_DATA [39]
+ o Add CURLOPT_HAPROXYPROTOCOL, support for the HAProxy PROXY protocol [10]
+ o Add --haproxy-protocol for the command line tool [10]
+ o Add CURLOPT_DNS_SHUFFLE_ADDRESSES, shuffle returned IP addresses [12]
This release includes the following bugfixes:
- o openldap: check ldap_get_attribute_ber() results for NULL before using [50]
- o FTP: reject path components with control codes [51]
- o readwrite: make sure excess reads don't go beyond buffer end [52]
- o lib555: drop text conversion and encode data as ascii codes [1]
- o lib517: make variable static to avoid compiler warning
- o lib544: sync ascii code data with textual data [1]
- o GSKit: restore pinnedpubkey functionality [2]
- o darwinssl: Don't import client certificates into Keychain on macOS [3]
- o parsedate: fix date parsing for systems with 32 bit long [4]
- o openssl: fix pinned public key build error in FIPS mode [5]
- o SChannel/WinSSL: Implement public key pinning [6]
- o cookies: remove verbose "cookie size:" output
- o progress-bar: don't use stderr explicitly, use bar->out [7]
- o Fixes for MSDOS
- o build: open VC15 projects with VS 2017
- o curl_ctype: private is*() type macros and functions [8]
- o configure: set PATH_SEPARATOR to colon for PATH w/o separator [9]
- o winbuild: make linker generate proper PDB [11]
- o curl_easy_reset: clear digest auth state [12]
- o curl/curl.h: fix comment typo for CURLOPT_DNS_LOCAL_IP6 [14]
- o range: commonize FTP and FILE range handling [15]
- o progress-bar docs: update to match implementation [16]
- o fnmatch: do not match the empty string with a character set
- o fnmatch: accept an alphanum to be followed by a non-alphanum in char set [17]
- o build: fix termios issue on android cross-compile [18]
- o getdate: return -1 for out of range [19]
- o formdata: use the mime-content type function [20]
- o time-cond: fix reading the file modification time on Windows [21]
- o build-openssl.bat: Extend VC15 support to include Enterprise and Professional
- o build-wolfssl.bat: Extend VC15 support to include Enterprise and Professional
- o openssl: Don't add verify locations when verifypeer==0
- o fnmatch: optimize processing of consecutive *s and ?s pattern characters [22]
- o schannel: fix compiler warnings [23]
- o content_encoding: Add "none" alias to "identity" [24]
- o get_posix_time: only check for overflows if they can happen
- o http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING [25]
- o README: language fix [26]
- o sha256: build with OpenSSL < 0.9.8 [27]
- o smtp: fix processing of initial dot in data [28]
- o --tlsauthtype: works only if libcurl is built with TLS-SRP support [29]
- o tests: new tests for http raw mode [30]
- o libcurl-security.3: man page discussion security concerns when using libcurl
- o curl_gssapi: make sure this file too uses our *printf()
- o BINDINGS: fix curb link (and remove ruby-curl-multi)
- o nss: use PK11_CreateManagedGenericObject() if available [31]
- o travis: add build with iconv enabled [32]
- o ssh: add two missing state names [33]
- o CURLOPT_HEADERFUNCTION.3: mention folded headers
- o http: fix the max header length detection logic [34]
- o header callback: don't chop headers into smaller pieces [35]
- o CURLOPT_HEADER.3: clarify problems with different data sizes
- o curl --version: show PSL if the run-time lib has it enabled
- o examples/sftpuploadresume: resume upload via CURLOPT_APPEND [36]
- o Return error if called recursively from within callbacks [38]
- o sasl: prefer PLAIN mechanism over LOGIN
- o winbuild: Use CALL to run batch scripts [40]
- o curl_share_setopt.3: connection cache is shared within multi handles
- o winbuild: Use macros for the names of some build utilities [41]
- o projects/README: remove reference to dead IDN link/package [42]
- o lib655: silence compiler warning [43]
- o configure: Fix version check for OpenSSL 1.1.1
- o docs/MANUAL: formfind.pl is not accessible on the site anymore [44]
- o unit1309: fix warning on Windows x64 [45]
- o unit1307: proper cleanup on OOM to fix torture tests
- o curl_ctype: fix macro redefinition warnings
- o build: get CFLAGS (including -werror) used for examples and tests [46]
- o NO_PROXY: fix for IPv6 numericals in the URL [47]
- o krb5: use nondeprecated functions [48]
- o winbuild: prefer documented zlib library names [49]
- o http2: mark the connection for close on GOAWAY [53]
- o limit-rate: kick in even before "limit" data has been received [54]
- o HTTP: allow "header;" to replace an internal header with a blank one [55]
- o http2: verbose output new MAX_CONCURRENT_STREAMS values
- o SECURITY: distros' max embargo time is 14 days
- o curl tool: accept --compressed also if Brotli is enabled and zlib is not
- o WolfSSL: adding TLSv1.3 [56]
- o checksrc.pl: add -i and -m options
- o CURLOPT_COOKIEFILE.3: "-" as file name means stdin
+ o FTP: shutdown response buffer overflow CVE-2018-1000300 [88]
+ o RTSP: bad headers buffer over-read CVE-2018-1000301 [89]
+ o FTP: fix typo in recursive callback detection for seeking [1]
+ o test1208: marked flaky
+ o HTTP: make header-less responses still count correct body size [2]
+ o user-agent.d:: mention --proxy-header as well [3]
+ o http2: fixes typo [4]
+ o cleanup: misc typos in strings and comments [5]
+ o rate-limit: use three second window to better handle high speeds [6]
+ o examples/hiperfifo.c: improved
+ o pause: when changing pause state, update socket state [7]
+ o multi: improved pending transfers handling => improved performance [8]
+ o curl_version_info.3: fix ssl_version description [9]
+ o add_handle/easy_perform: clear errorbuffer on start if set [11]
+ o darwinssl: fix iOS build [13]
+ o cmake: add support for brotli [14]
+ o parsedate: support UT timezone [15]
+ o vauth/ntlm.h: fix the #ifdef header guard
+ o lib/curl_path.h: added #ifdef header guard
+ o vauth/cleartext: fix integer overflow check [16]
+ o CURLINFO_COOKIELIST.3: made the example not leak memory
+ o cookie.d: mention that "-" as filename means stdin [17]
+ o CURLINFO_SSL_VERIFYRESULT.3: fixed the example [18]
+ o http2: read pending frames (including GOAWAY) in connection-check [19]
+ o timeval: remove compilation warning by casting [20]
+ o cmake: avoid warn-as-error during config checks [21]
+ o travis-ci: enable -Werror for CMake builds [22]
+ o openldap: fix for NULL return from ldap_get_attribute_ber() [23]
+ o threaded resolver: track resolver time and set suitable timeout values [24]
+ o cmake: Add advapi32 as explicit link library for win32 [25]
+ o docs: fix CURLINFO_*_T examples use of CURL_FORMAT_CURL_OFF_T [26]
+ o test1148: set a fixed locale for the test [27]
+ o cookies: when reading from a file, only remove_expired once [28]
+ o cookie: store cookies per top-level-domain-specific hash table [29]
+ o openssl: fix build with LibreSSL 2.7 [30]
+ o tls: fix mbedTLS 2.7.0 build + handle sha256 failures [31]
+ o openssl: RESTORED verify locations when verifypeer==0 [32]
+ o file: restore old behavior for file:////foo/bar URLs [33]
+ o FTP: allow PASV on IPv6 connections when a proxy is being used [34]
+ o build-openssl.bat: allow custom paths for VS and perl [35]
+ o winbuild: make the clean target work without build-type [36]
+ o build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15 [37]
+ o curl: retry on FTP 4xx, ignore other protocols [38]
+ o configure: detect (and use) sa_family_t [39]
+ o examples/sftpuploadresume: Fix Windows large file seek
+ o build: cleanup to fix clang warnings/errors [40]
+ o winbuild: updated the documentation [41]
+ o lib: silence null-dereference warnings [42]
+ o travis: bump to clang 6 and gcc 7 [43]
+ o travis: build libpsl and make builds use it [44]
+ o proxy: show getenv proxy use in verbose output [45]
+ o duphandle: make sure CURLOPT_RESOLVE is duplicated [46]
+ o all: Refactor malloc+memset to use calloc [47]
+ o checksrc: Fix typo [48]
+ o system.h: Add sparcv8plus to oracle/sunpro 32-bit detection [49]
+ o vauth: Fix typo [50]
+ o ssh: show libSSH2 error code when closing fails [51]
+ o test1148: tolerate progress updates better [52]
+ o urldata: make service names unconditional [53]
+ o configure: keep LD_LIBRARY_PATH changes local [54]
+ o ntlm_sspi: fix authentication using Credential Manager [55]
+ o schannel: add client certificate authentication [56]
+ o winbuild: Support custom devel paths for each dependency [57]
+ o schannel: add support for CURLOPT_CAINFO [58]
+ o http2: handle on_begin_headers() called more than once [59]
+ o openssl: support OpenSSL 1.1.1 verbose-mode trace messages [60]
+ o openssl: fix subjectAltName check on non-ASCII platforms [61]
+ o http2: avoid strstr() on data not zero terminated [62]
+ o http2: clear the "drain counter" when a stream is closed [63]
+ o http2: handle GOAWAY properly [64]
+ o tool_help: clarify --max-time unit of time is seconds
+ o curl.1: clarify that options and URLs can be mixed [65]
+ o http2: convert an assert to run-time check [66]
+ o curl_global_sslset: always provide available backends [67]
+ o ftplistparser: keep state between invokes [68]
+ o Curl_memchr: zero length input can't match
+ o examples/sftpuploadresume: typecast fseek argument to long
+ o examples/http2-upload: expand buffer to avoid silly warning
+ o ctype: restore character classification for non-ASCII platforms [69]
+ o mime: avoid NULL pointer dereference risk [70]
+ o cookies: ensure that we have cookies before writing jar [71]
+ o os400.c: fix checksrc warnings [72]
+ o configure: provide --with-wolfssl as an alias for --with-cyassl
+ o cyassl: adapt to libraries without TLS 1.0 support built-in
+ o http2: get rid of another strstr [73]
+ o checksrc: force indentation of lines after an else [74]
+ o cookies: remove unused macro [75]
+ o CURLINFO_PROTOCOL.3: mention the existing defined names
+ o tests: provide 'manual' as a feature to optionally require [76]
+ o travis: enable libssh2 on both macos and Linux [77]
+ o CURLOPT_URL.3: added ENCODING section
+ o wolfssl: Fix non-blocking connect [78]
+ o vtls: don't define MD5_DIGEST_LENGTH for wolfssl
+ o docs: remove extraneous commas in man pages [79]
+ o URL: fix ASCII dependency in strcpy_url and strlen_url [80]
+ o ssh-libssh.c: fix left shift compiler warning
+ o configure: only check for CA bundle for file-using SSL backends [81]
+ o travis: add an mbedtls build [82]
+ o http: don't set the "rewind" flag when not uploading anything [83]
+ o configure: put CURLDEBUG and DEBUGBUILD in lib/curl_config.h [84]
+ o transfer: don't unset writesockfd on setup of multiplexed conns [85]
+ o vtls: use unified "supports" bitfield member in backends [86]
+ o URLs: fix one more http url [87]
+ o travis: add a build using WolfSSL [90]
+ o openssl: change FILE ops to BIO ops [91]
+ o travis: add build using NSS [92]
+ o smb: reject negative file sizes [93]
+ o cookies: accept parameter names as cookie name [94]
+ o http2: getsock fix for uploads [95]
+ o all over: fixed format specifiers [96]
+ o http2: use the correct function pointer typedef [97]
This release includes the following known bugs:
@@ -103,76 +133,120 @@ 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:
- Adam Marcionek, Alessandro Ghedini, Anders Bakken, Aron Bergman, Ben Greear,
- Björn Stenberg, Bruno Grasselli, Dair Grant, Dan Fandrich, Daniel Stenberg,
- Dario Weisser, Douglas Mencken, Duy Phan Thanh, Earnestly on github,
- Erik Johansson, Francisco Sedano, Gisle Vanem, Guido Berhoerster,
- Henry Roeland, Kamil Dudka, Klaus Stein, Łukasz Domeradzki, Marcel Raad,
- Martin Dreher, Max Dymond, Michael Kaufmann, Michał Janiszewski,
- Mohammad AlSaleh, Patrick Monnerat, Patrick Schlangen, Ray Satiro,
- Richard Alcock, Richard Moore, Rod Widdowson, Ruurd Beerstra,
- Sergii Kavunenko, Sergio Borghese, Somnath Kundu, steelman on github,
- Stefan Kanthak, Steve Holme, Tim Mcdonough, Travis Burtrum, Viktor Szakats,
- 刘佩东,
- (45 contributors)
+ Adam Brown, Alex Baines, Anders Bakken, Anders Roxell, anshnd on github,
+ Bas van Schaik, Bernard Spil, Chris Araman, Christian Schmitz, Cyril B,
+ Dagobert Michelsen, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
+ Dan McNulty, Dario Weisser, dasimx on github, David Garske, David L.,
+ Denis Ollier, Dmitry Mikhirev, Dongliang Mu, Don J Olmstead, Eric Gallager,
+ Ernst Sjöstrand, Frank Gevaerts, Gaurav Malhotra, Geeknik Labs, Howard Chu,
+ iz8mbw on github, Jakub Wilk, Jon DeVree, Kees Dekker, Kobi Gurkan,
+ Laurie Clark-Michalek, Lauri Kasanen, Lawrence Matthews, Luz Paz,
+ Marcel Raad, Max Dymond, Michael Kaufmann, Michael Kilburn,
+ Michał Janiszewski, Michal Trybus, Muz Dima, Nikos Tsipinakis, Ori Avtalion,
+ Oumph on github, patelvivekv1993 on github, Patrick Monnerat,
+ Philip Prindeville, Ray Satiro, Rick Deist, Rikard Falkeborn, Sergei Nikulov,
+ Stefan Agner, steini2000 on github, Stephan Mühlstrasser, Sunny Purushe,
+ Terry Wu, Vincas Razma, wncboy on github, Wyatt O'Day, 刘佩东,
+ (64 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=1872
- [2] = https://curl.haxx.se/bug/?i=2263
- [3] = https://curl.haxx.se/bug/?i=2085
- [4] = https://curl.haxx.se/bug/?i=2250
- [5] = https://curl.haxx.se/bug/?i=2258
- [6] = https://curl.haxx.se/bug/?i=1429
- [7] = https://github.com/curl/curl/commit/993dd5651a6c853bfe3870f6a69c7b329fa4e8ce#commitcomment-27070080
- [8] = https://curl.haxx.se/bug/?i=2269
- [9] = https://curl.haxx.se/bug/?i=2202
- [10] = https://curl.haxx.se/bug/?i=2268
- [11] = https://curl.haxx.se/bug/?i=2274
- [12] = https://curl.haxx.se/mail/lib-2018-01/0074.html
- [13] = https://curl.haxx.se/bug/?i=2238
- [14] = https://curl.haxx.se/bug/?i=2275
- [15] = https://curl.haxx.se/bug/?i=2205
- [16] = https://curl.haxx.se/bug/?i=2271
- [17] = https://curl.haxx.se/mail/lib-2018-01/0114.html
- [18] = https://curl.haxx.se/mail/lib-2018-01/0122.html
- [19] = https://curl.haxx.se/bug/?i=2278
- [20] = https://curl.haxx.se/bug/?i=2282
- [21] = https://curl.haxx.se/bug/?i=2164
- [22] = https://curl.haxx.se/bug/?i=2291
- [23] = https://curl.haxx.se/bug/?i=2296
- [24] = https://curl.haxx.se/bug/?i=2298
- [25] = https://curl.haxx.se/bug/?i=2303
- [26] = https://curl.haxx.se/bug/?i=2300
- [27] = https://curl.haxx.se/bug/?i=2305
- [28] = https://curl.haxx.se/bug/?i=2304
- [29] = https://bugzilla.redhat.com/1542256
- [30] = https://curl.haxx.se/bug/?i=2303
- [31] = https://bugzilla.redhat.com/1510247
- [32] = https://curl.haxx.se/bug/?i=1872
- [33] = https://curl.haxx.se/bug/?i=2312
- [34] = https://curl.haxx.se/mail/lib-2018-02/0056.html
- [35] = https://curl.haxx.se/bug/?i=2314
- [36] = https://curl.haxx.se/mail/lib-2018-02/0072.html
- [37] = https://curl.haxx.se/bug/?i=2260
- [38] = https://curl.haxx.se/bug/?i=2302
- [39] = https://curl.haxx.se/bug/?i=2311
- [40] = https://curl.haxx.se/bug/?i=2330
- [41] = https://curl.haxx.se/bug/?i=2329
- [42] = https://curl.haxx.se/bug/?i=2325
- [43] = https://curl.haxx.se/bug/?i=2335
- [44] = https://curl.haxx.se/bug/?i=2342
- [45] = https://curl.haxx.se/bug/?i=2341
- [46] = https://curl.haxx.se/bug/?i=2337
- [47] = https://curl.haxx.se/bug/?i=2353
- [48] = https://curl.haxx.se/bug/?i=2356
- [49] = https://curl.haxx.se/bug/?i=2354
- [50] = https://curl.haxx.se/docs/adv_2018-97a2.html
- [51] = https://curl.haxx.se/docs/adv_2018-9cd6.html
- [52] = https://curl.haxx.se/docs/adv_2018-b047.html
- [53] = https://curl.haxx.se/bug/?i=2365
- [54] = https://curl.haxx.se/bug/?i=2371
- [55] = https://curl.haxx.se/bug/?i=2357
- [56] = https://curl.haxx.se/bug/?i=2349
+ [1] = https://curl.haxx.se/bug/?i=2380
+ [2] = https://curl.haxx.se/bug/?i=2382
+ [3] = https://curl.haxx.se/bug/?i=2381
+ [4] = https://curl.haxx.se/bug/?i=2387
+ [5] = https://curl.haxx.se/bug/?i=2389
+ [6] = https://curl.haxx.se/bug/?i=2386
+ [7] = https://curl.haxx.se/mail/lib-2018-03/0048.html
+ [8] = https://curl.haxx.se/bug/?i=2369
+ [9] = https://curl.haxx.se/bug/?i=2364
+ [10] = https://curl.haxx.se/bug/?i=2162
+ [11] = https://curl.haxx.se/bug/?i=2190
+ [12] = https://curl.haxx.se/bug/?i=1694
+ [13] = https://curl.haxx.se/bug/?i=2397
+ [14] = https://curl.haxx.se/bug/?i=2392
+ [15] = https://curl.haxx.se/bug/?i=2401
+ [16] = https://curl.haxx.se/bug/?i=2408
+ [17] = https://curl.haxx.se/bug/?i=2410
+ [18] = https://curl.haxx.se/bug/?i=2400
+ [19] = https://curl.haxx.se/bug/?i=1967
+ [20] = https://curl.haxx.se/bug/?i=2358
+ [21] = https://curl.haxx.se/bug/?i=2358
+ [22] = https://curl.haxx.se/bug/?i=2418
+ [23] = https://curl.haxx.se/bug/?i=2399
+ [24] = https://curl.haxx.se/bug/?i=2419
+ [25] = https://curl.haxx.se/bug/?i=2363
+ [26] = https://curl.haxx.se/mail/lib-2018-03/0140.html
+ [27] = https://curl.haxx.se/bug/?i=2436
+ [28] = https://curl.haxx.se/bug/?i=2441
+ [29] = https://curl.haxx.se/bug/?i=2440
+ [30] = https://curl.haxx.se/bug/?i=2319
+ [31] = https://curl.haxx.se/bug/?i=2453
+ [32] = https://curl.haxx.se/bug/?i=2451
+ [33] = https://curl.haxx.se/bug/?i=2438
+ [34] = https://curl.haxx.se/bug/?i=2432
+ [35] = https://curl.haxx.se/bug/?i=2430
+ [36] = https://curl.haxx.se/bug/?i=2455
+ [37] = https://curl.haxx.se/bug/?i=2189
+ [38] = https://curl.haxx.se/bug/?i=2462
+ [39] = https://curl.haxx.se/bug/?i=2463
+ [40] = https://curl.haxx.se/bug/?i=2466
+ [41] = https://curl.haxx.se/bug/?i=2472
+ [42] = https://curl.haxx.se/bug/?i=2463
+ [43] = https://curl.haxx.se/bug/?i=2478
+ [44] = https://curl.haxx.se/bug/?i=2471
+ [45] = https://curl.haxx.se/bug/?i=2480
+ [46] = https://curl.haxx.se/bug/?i=2485
+ [47] = https://curl.haxx.se/bug/?i=2497
+ [48] = https://curl.haxx.se/bug/?i=2498
+ [49] = https://curl.haxx.se/bug/?i=2491
+ [50] = https://curl.haxx.se/bug/?i=2496
+ [51] = https://curl.haxx.se/bug/?i=2500
+ [52] = https://curl.haxx.se/bug/?i=2446
+ [53] = https://curl.haxx.se/bug/?i=2479
+ [54] = https://curl.haxx.se/bug/?i=2490
+ [55] = https://curl.haxx.se/bug/?i=1622
+ [56] = https://curl.haxx.se/bug/?i=2376
+ [57] = https://curl.haxx.se/bug/?i=2474
+ [58] = https://curl.haxx.se/bug/?i=1325
+ [59] = https://curl.haxx.se/bug/?i=2507
+ [60] = https://curl.haxx.se/bug/?i=2403
+ [61] = https://curl.haxx.se/bug/?i=2493
+ [62] = https://curl.haxx.se/bug/?i=2513
+ [63] = https://curl.haxx.se/bug/?i=1680
+ [64] = https://curl.haxx.se/bug/?i=2416
+ [65] = https://curl.haxx.se/bug/?i=2515
+ [66] = https://curl.haxx.se/bug/?i=2514
+ [67] = https://curl.haxx.se/bug/?i=2499
+ [68] = https://curl.haxx.se/bug/?i=2445
+ [69] = https://curl.haxx.se/bug/?i=2494
+ [70] = https://curl.haxx.se/bug/?i=2527
+ [71] = https://curl.haxx.se/bug/?i=2529
+ [72] = https://curl.haxx.se/bug/?i=2525
+ [73] = https://curl.haxx.se/bug/?i=2534
+ [74] = https://curl.haxx.se/bug/?i=2532
+ [75] = https://curl.haxx.se/bug/?i=2537
+ [76] = https://curl.haxx.se/bug/?i=2533
+ [77] = https://curl.haxx.se/bug/?i=2541
+ [78] = https://curl.haxx.se/bug/?i=2542
+ [79] = https://curl.haxx.se/bug/?i=2544
+ [80] = https://curl.haxx.se/bug/?i=2535
+ [81] = https://curl.haxx.se/bug/?i=2180
+ [82] = https://curl.haxx.se/bug/?i=2531
+ [83] = https://curl.haxx.se/bug/?i=2546
+ [84] = https://curl.haxx.se/bug/?i=2548
+ [85] = https://curl.haxx.se/bug/?i=2520
+ [86] = https://curl.haxx.se/bug/?i=2547
+ [87] = https://curl.haxx.se/bug/?i=2550
+ [88] = https://curl.haxx.se/docs/adv_2018-82c2.html
+ [89] = https://curl.haxx.se/docs/adv_2018-b138.html
+ [90] = https://curl.haxx.se/bug/?i=2528
+ [91] = https://curl.haxx.se/bug/?i=2512
+ [92] = https://curl.haxx.se/bug/?i=2558
+ [93] = https://curl.haxx.se/bug/?i=2558
+ [94] = https://curl.haxx.se/bug/?i=2564
+ [95] = https://curl.haxx.se/bug/?i=2520
+ [96] = https://curl.haxx.se/bug/?i=2561
+ [97] = https://curl.haxx.se/bug/?i=2560
diff --git a/configure b/configure
index 9d38b941..fdb65225 100755
--- a/configure
+++ b/configure
@@ -1179,6 +1179,7 @@ with_gnutls
with_polarssl
with_mbedtls
with_cyassl
+with_wolfssl
with_nss
with_axtls
with_ca_bundle
@@ -1994,6 +1995,9 @@ Optional Packages:
--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
--with-nss=PATH where to look for NSS, PATH points to the
installation root
--without-nss disable NSS detection
@@ -3204,6 +3208,9 @@ fi
;;
*)
want_debug="yes"
+
+$as_echo "#define DEBUGBUILD 1" >>confdefs.h
+
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_debug" >&5
@@ -3307,6 +3314,9 @@ $as_echo "no" >&6; }
if test "$want_debug" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: (assumed) yes" >&5
$as_echo "(assumed) yes" >&6; }
+
+$as_echo "#define CURLDEBUG 1" >>confdefs.h
+
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -3316,6 +3326,9 @@ $as_echo "no" >&6; }
;;
*)
want_curldebug="yes"
+
+$as_echo "#define CURLDEBUG 1" >>confdefs.h
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
;;
@@ -18043,6 +18056,21 @@ $as_echo "$as_me: WARNING: compiler options rejected: $tmp_options" >&2;}
tmp_CFLAGS="$tmp_CFLAGS -Wdouble-promotion"
fi
#
+ if test "$compiler_num" -ge "600"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-negative-value"
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wnull-dereference"
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-cond"
+ fi
+ #
+ if test "$compiler_num" -ge "700"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-branches"
+ tmp_CFLAGS="$tmp_CFLAGS -Wrestrict"
+ tmp_CFLAGS="$tmp_CFLAGS -Walloc-zero"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-truncation=2"
+ fi
+ #
fi
#
if test "$compiler_num" -ge "300"; then
@@ -18578,15 +18606,6 @@ $as_echo "$as_me: WARNING: cannot enable curl debug memory tracking." >&2;}
want_curldebug="no"
fi
fi
- #
- if test "$want_curldebug" = "yes"; then
- CPPFLAGS="-DCURLDEBUG $CPPFLAGS"
- squeeze CPPFLAGS
- fi
- if test "$want_debug" = "yes"; then
- CPPFLAGS="-DDEBUGBUILD $CPPFLAGS"
- squeeze CPPFLAGS
- fi
if test x$want_curldebug = xyes; then
CURLDEBUG_TRUE=
@@ -21228,10 +21247,10 @@ done
if test -n "$DIR_BROTLI"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_BROTLI"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_BROTLI to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $DIR_BROTLI to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_BROTLI"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_BROTLI to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_BROTLI to CURL_LIBRARY_PATH" >&6;}
fi
fi
else
@@ -21972,28 +21991,27 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if argv can be written to" >&5
$as_echo_n "checking if argv can be written to... " >&6; }
-if test "$cross_compiling" = yes; then :
+
+ old=$LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ if test "$cross_compiling" = yes; then :
curl_cv_writable_argv=cross
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
int main(int argc, char ** argv) {
- argv[0][0] = ' ';
- return (argv[0][0] == ' ')?0:1;
+ argv00 = ' ';
+ return (argv00 == ' ')?0:1;
}
-
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
-
curl_cv_writable_argv=yes
else
-
curl_cv_writable_argv=no
fi
@@ -22001,6 +22019,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+ LD_LIBRARY_PATH=$old # restore
+
case $curl_cv_writable_argv in
yes)
@@ -23059,10 +23079,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "$OPENSSL_ENABLED" = "1"; then
if test -n "$LIB_OPENSSL"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $LIB_OPENSSL to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_OPENSSL"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $LIB_OPENSSL to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $LIB_OPENSSL to CURL_LIBRARY_PATH" >&6;}
fi
fi
@@ -23724,6 +23744,7 @@ $as_echo "$tst_match" >&6; }
$as_echo "$as_me: WARNING: $tst_warns" >&2;}
fi
+ check_for_ca_bundle=1
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
@@ -24091,13 +24112,13 @@ fi
if test "x$USE_GNUTLS" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: detected GnuTLS version $version" >&5
$as_echo "$as_me: detected GnuTLS version $version" >&6;}
-
+ check_for_ca_bundle=1
if test -n "$gtlslib"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $gtlslib to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $gtlslib to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$gtlslib"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $gtlslib to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $gtlslib to CURL_LIBRARY_PATH" >&6;}
fi
fi
for ac_func in gnutls_certificate_set_x509_key_file2 gnutls_alpn_set_protocols gnutls_ocsp_req_init
@@ -24484,15 +24505,15 @@ fi
if test "x$USE_POLARSSL" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: detected PolarSSL" >&5
$as_echo "$as_me: detected PolarSSL" >&6;}
-
+ check_for_ca_bundle=1
LIBS="-lpolarssl $LIBS"
if test -n "$polarssllib"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $polarssllib to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $polarssllib to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$polarssllib"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $polarssllib to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $polarssllib to CURL_LIBRARY_PATH" >&6;}
fi
fi
fi
@@ -24645,15 +24666,16 @@ fi
if test "x$USE_MBEDTLS" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: detected mbedTLS" >&5
$as_echo "$as_me: detected mbedTLS" >&6;}
+ check_for_ca_bundle=1
LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS"
if test -n "$mbedtlslib"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$mbedtlslib"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $mbedtlslib to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $mbedtlslib to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$mbedtlslib"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $mbedtlslib to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $mbedtlslib to CURL_LIBRARY_PATH" >&6;}
fi
fi
fi
@@ -24674,6 +24696,13 @@ if test "${with_cyassl+set}" = set; then :
fi
+
+# Check whether --with-wolfssl was given.
+if test "${with_wolfssl+set}" = set; then :
+ withval=$with_wolfssl; OPT_CYASSL=$withval
+fi
+
+
if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
ssl_msg=
@@ -24878,6 +24907,7 @@ rm -f core conftest.err conftest.$ac_objext \
if test "x$USE_CYASSL" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: detected $cyassllibname" >&5
$as_echo "$as_me: detected $cyassllibname" >&6;}
+ check_for_ca_bundle=1
# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
@@ -24975,10 +25005,10 @@ done
if test -n "$cyassllib"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $cyassllib to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $cyassllib to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$cyassllib"
+ 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;}
fi
fi
@@ -25414,10 +25444,10 @@ fi
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$nssprefix/lib$libsuff"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $nssprefix/lib$libsuff to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $nssprefix/lib$libsuff to CURL_LIBRARY_PATH" >&6;}
fi
fi
@@ -25501,15 +25531,16 @@ $as_echo "#define USE_AXTLS 1" >>confdefs.h
USE_AXTLS=1
AXTLS_ENABLED=1
+ check_for_ca_bundle=1
USE_AXTLS="yes"
ssl_msg="axTLS"
test axtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $LIB_AXTLS to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $LIB_AXTLS to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_AXTLS"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $LIB_AXTLS to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $LIB_AXTLS to CURL_LIBRARY_PATH" >&6;}
fi
else
@@ -25574,6 +25605,7 @@ _ACEOF
fi
+if test "$check_for_ca_bundle" -gt 0; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default CA cert bundle/path" >&5
@@ -25733,6 +25765,7 @@ _ACEOF
fi
+fi
@@ -26445,10 +26478,10 @@ done
if test -n "$DIR_SSH2"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_SSH2 to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $DIR_SSH2 to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH2"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_SSH2 to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_SSH2 to CURL_LIBRARY_PATH" >&6;}
fi
fi
else
@@ -26689,10 +26722,10 @@ done
if test -n "$DIR_SSH"; then
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_SSH to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $DIR_SSH to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $DIR_SSH to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $DIR_SSH to CURL_LIBRARY_PATH" >&6;}
fi
fi
else
@@ -27540,10 +27573,10 @@ $as_echo "#define HAVE_LIBIDN2 1" >>confdefs.h
curl_idn_msg="enabled (libidn2)"
if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
- export LD_LIBRARY_PATH
- { $as_echo "$as_me:${as_lineno-$LINENO}: Added $IDN_DIR to LD_LIBRARY_PATH" >&5
-$as_echo "$as_me: Added $IDN_DIR to LD_LIBRARY_PATH" >&6;}
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$IDN_DIR"
+ export CURL_LIBRARY_PATH
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Added $IDN_DIR to CURL_LIBRARY_PATH" >&5
+$as_echo "$as_me: Added $IDN_DIR to CURL_LIBRARY_PATH" >&6;}
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find libraries for IDN support: IDN disabled" >&5
@@ -28892,10 +28925,47 @@ $as_echo "#define HAVE_BOOL_T 1" >>confdefs.h
fi
+# check for sa_family_t
+ac_fn_c_check_type "$LINENO" "sa_family_t" "ac_cv_type_sa_family_t" "
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+"
+if test "x$ac_cv_type_sa_family_t" = xyes; then :
+
+$as_echo "#define CURL_SA_FAMILY_T sa_family_t" >>confdefs.h
+
+else
+
+ # The windows name?
+ ac_fn_c_check_type "$LINENO" "ADDRESS_FAMILY" "ac_cv_type_ADDRESS_FAMILY" "
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+"
+if test "x$ac_cv_type_ADDRESS_FAMILY" = xyes; then :
+
+$as_echo "#define CURL_SA_FAMILY_T ADDRESS_FAMILY" >>confdefs.h
+
+else
+
+$as_echo "#define CURL_SA_FAMILY_T unsigned short" >>confdefs.h
+
+fi
+
+
+fi
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if time_t is unsigned" >&5
$as_echo_n "checking if time_t is unsigned... " >&6; }
-if test "$cross_compiling" = yes; then :
+
+ old=$LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ if test "$cross_compiling" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -28903,7 +28973,6 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-
#include <time.h>
#include <limits.h>
time_t t = -1;
@@ -28911,7 +28980,6 @@ else
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -28919,7 +28987,6 @@ $as_echo "#define HAVE_TIME_T_UNSIGNED 1" >>confdefs.h
else
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -28928,6 +28995,8 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+ LD_LIBRARY_PATH=$old # restore
+
curl_includes_ws2tcpip="\
diff --git a/configure.ac b/configure.ac
index 798fa5f1..5569a26b 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1053,13 +1053,13 @@ if test X"$OPT_BROTLI" != Xno; then
if test "$HAVE_BROTLI" = "1"; then
if test -n "$DIR_BROTLI"; then
dnl when the brotli shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH
dnl to prevent further configure tests to fail due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_BROTLI"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $DIR_BROTLI to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_BROTLI"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $DIR_BROTLI to CURL_LIBRARY_PATH])
fi
fi
else
@@ -1230,13 +1230,11 @@ dnl Check if the operating system allows programs to write to their own argv[]
dnl **********************************************************************
AC_MSG_CHECKING([if argv can be written to])
-AC_RUN_IFELSE([
- AC_LANG_SOURCE([[
+CURL_RUN_IFELSE([
int main(int argc, char ** argv) {
argv[0][0] = ' ';
return (argv[0][0] == ' ')?0:1;
}
- ]])
],[
curl_cv_writable_argv=yes
],[
@@ -1811,15 +1809,16 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
if test "$OPENSSL_ENABLED" = "1"; then
if test -n "$LIB_OPENSSL"; then
dnl when the ssl shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH
dnl to prevent further configure tests to fail due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_OPENSSL"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $LIB_OPENSSL to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_OPENSSL"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $LIB_OPENSSL to CURL_LIBRARY_PATH])
fi
fi
CURL_CHECK_OPENSSL_API
+ check_for_ca_bundle=1
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
@@ -1969,16 +1968,16 @@ if test -z "$ssl_backends" -o "x$OPT_GNUTLS" != xno; then
if test "x$USE_GNUTLS" = "xyes"; then
AC_MSG_NOTICE([detected GnuTLS version $version])
-
+ check_for_ca_bundle=1
if test -n "$gtlslib"; 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 LD_LIBRARY_PATH to prevent further configure tests to fail
+ dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$gtlslib"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $gtlslib to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$gtlslib"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $gtlslib to CURL_LIBRARY_PATH])
fi
fi
AC_CHECK_FUNCS([gnutls_certificate_set_x509_key_file2 gnutls_alpn_set_protocols gnutls_ocsp_req_init])
@@ -2103,18 +2102,18 @@ if test -z "$ssl_backends" -o "x$OPT_POLARSSL" != xno; then
if test "x$USE_POLARSSL" = "xyes"; then
AC_MSG_NOTICE([detected PolarSSL])
-
+ check_for_ca_bundle=1
LIBS="-lpolarssl $LIBS"
if test -n "$polarssllib"; 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 LD_LIBRARY_PATH to prevent further configure tests to fail
+ dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$polarssllib"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $polarssllib to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$polarssllib"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $polarssllib to CURL_LIBRARY_PATH])
fi
fi
fi
@@ -2194,18 +2193,19 @@ if test -z "$ssl_backends" -o "x$OPT_MBEDTLS" != xno; then
if test "x$USE_MBEDTLS" = "xyes"; then
AC_MSG_NOTICE([detected mbedTLS])
+ check_for_ca_bundle=1
LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS"
if test -n "$mbedtlslib"; 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 LD_LIBRARY_PATH to prevent further configure tests to fail
+ dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$mbedtlslib"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $mbedtlslib to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$mbedtlslib"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $mbedtlslib to CURL_LIBRARY_PATH])
fi
fi
fi
@@ -2229,6 +2229,12 @@ AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to th
AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]),
OPT_CYASSL=$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]),
+ OPT_CYASSL=$withval)
+
if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
ssl_msg=
@@ -2339,6 +2345,7 @@ if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
if test "x$USE_CYASSL" = "xyes"; then
AC_MSG_NOTICE([detected $cyassllibname])
+ check_for_ca_bundle=1
dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
AC_CHECK_SIZEOF(long long)
@@ -2367,12 +2374,12 @@ if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
if test -n "$cyassllib"; 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 LD_LIBRARY_PATH to prevent further configure tests to fail
+ dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$cyassllib"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $cyassllib to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$cyassllib"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $cyassllib to CURL_LIBRARY_PATH])
fi
fi
@@ -2498,12 +2505,12 @@ if test -z "$ssl_backends" -o "x$OPT_NSS" != xno; 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 LD_LIBRARY_PATH to prevent further configure tests to fail
+ dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$nssprefix/lib$libsuff"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$nssprefix/lib$libsuff"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to CURL_LIBRARY_PATH])
fi
fi dnl NSS found
@@ -2554,14 +2561,15 @@ if test -z "$ssl_backends" -o "x$OPT_AXTLS" != xno; then
AC_DEFINE(USE_AXTLS, 1, [if axTLS is enabled])
AC_SUBST(USE_AXTLS, [1])
AXTLS_ENABLED=1
+ check_for_ca_bundle=1
USE_AXTLS="yes"
ssl_msg="axTLS"
test axtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIB_AXTLS"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $LIB_AXTLS to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_AXTLS"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $LIB_AXTLS to CURL_LIBRARY_PATH])
fi
],[
LDFLAGS="$CLEANLDFLAGS"
@@ -2615,7 +2623,9 @@ dnl **********************************************************************
dnl Check for the CA bundle
dnl **********************************************************************
-CURL_CHECK_CA_BUNDLE
+if test "$check_for_ca_bundle" -gt 0; then
+ CURL_CHECK_CA_BUNDLE
+fi
dnl **********************************************************************
dnl Check for libpsl
@@ -2802,13 +2812,13 @@ if test X"$OPT_LIBSSH2" != Xno; then
if test "$LIBSSH2_ENABLED" = "1"; then
if test -n "$DIR_SSH2"; then
dnl when the libssh2 shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH
dnl to prevent further configure tests to fail due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH2"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $DIR_SSH2 to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH2"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $DIR_SSH2 to CURL_LIBRARY_PATH])
fi
fi
else
@@ -2875,13 +2885,13 @@ elif test X"$OPT_LIBSSH" != Xno; then
if test "$LIBSSH_ENABLED" = "1"; then
if test -n "$DIR_SSH"; then
dnl when the libssh shared libs were found in a path that the run-time
- dnl linker doesn't search through, we need to add it to LD_LIBRARY_PATH
+ dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH
dnl to prevent further configure tests to fail due to this
if test "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DIR_SSH"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $DIR_SSH to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $DIR_SSH to CURL_LIBRARY_PATH])
fi
fi
else
@@ -3217,9 +3227,9 @@ if test "$want_idn" = "yes"; then
AC_SUBST([IDN_ENABLED], [1])
curl_idn_msg="enabled (libidn2)"
if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then
- LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$IDN_DIR"
- export LD_LIBRARY_PATH
- AC_MSG_NOTICE([Added $IDN_DIR to LD_LIBRARY_PATH])
+ CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$IDN_DIR"
+ export CURL_LIBRARY_PATH
+ AC_MSG_NOTICE([Added $IDN_DIR to CURL_LIBRARY_PATH])
fi
else
AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled])
@@ -3492,14 +3502,34 @@ AC_CHECK_TYPE([bool],[
#endif
])
+# check for sa_family_t
+AC_CHECK_TYPE(sa_family_t,
+ AC_DEFINE(CURL_SA_FAMILY_T, sa_family_t, [IP address type in sockaddr]),
+ [
+ # The windows name?
+ AC_CHECK_TYPE(ADDRESS_FAMILY,
+ AC_DEFINE(CURL_SA_FAMILY_T, ADDRESS_FAMILY, [IP address type in sockaddr]),
+ AC_DEFINE(CURL_SA_FAMILY_T, unsigned short, [IP address type in sockaddr]),
+ [
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+ ])
+ ],
+[
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+])
+
AC_MSG_CHECKING([if time_t is unsigned])
-AC_RUN_IFELSE([
- AC_LANG_SOURCE([[
+CURL_RUN_IFELSE(
+ [
#include <time.h>
#include <limits.h>
time_t t = -1;
return (t > 0);
- ]])] ,[
+ ],[
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_TIME_T_UNSIGNED, 1, [Define this if time_t is unsigned])
],[
diff --git a/docs/CHECKSRC.md b/docs/CHECKSRC.md
index b42de847..f246b57e 100644
--- a/docs/CHECKSRC.md
+++ b/docs/CHECKSRC.md
@@ -69,7 +69,7 @@ warnings are:
- `SPACEBEFOREPAREN`: there was a space before an open parenthesis, `if (`,
where one was not expected
-- `SPACESEMILCOLON`: there was a space before semicolon, ` ;`.
+- `SPACESEMICOLON`: there was a space before semicolon, ` ;`.
- `TABS`: TAB characters are not allowed!
diff --git a/docs/CODE_STYLE.md b/docs/CODE_STYLE.md
index ba5f7102..2d275cd7 100644
--- a/docs/CODE_STYLE.md
+++ b/docs/CODE_STYLE.md
@@ -9,8 +9,8 @@ style is more important than individual contributors having their own personal
tastes satisfied.
Our C code has a few style rules. Most of them are verified and upheld by the
-`lib/checksrc.pl` script. Invoked with `make checksrc` or even by default by
-the build system when built after `./configure --enable-debug` has been used.
+"lib/checksrc.pl" script. Invoked with "make checksrc" or even by default by
+the build system when built after "./configure --enable-debug" has been used.
It is normally not a problem for anyone to follow the guidelines, as you just
need to copy the style already used in the source code and there are no
@@ -44,8 +44,8 @@ open brace.
## Comments
-Since we write C89 code, `//` comments are not allowed. They weren't
-introduced in the C standard until C99. We use only `/*` and `*/` comments:
+Since we write C89 code, **//** comments are not allowed. They weren't
+introduced in the C standard until C99. We use only **/* comments */**.
/* this is a comment */
@@ -87,8 +87,8 @@ For functions the opening brace should be on a separate line:
## 'else' on the following line
-When adding an `else` clause to a conditional expression using braces, we add
-it on a new line after the closing brace. Like this:
+When adding an **else** clause to a conditional expression using braces, we
+add it on a new line after the closing brace. Like this:
if(age < 40) {
/* clearly a youngster */
@@ -149,8 +149,8 @@ and NEVER:
## Space around operators
-Please use spaces on both sides of operators in C expressions. Postfix `(),
-[], ->, ., ++, --` and Unary `+, - !, ~, &` operators excluded they should
+Please use spaces on both sides of operators in C expressions. Postfix **(),
+[], ->, ., ++, --** and Unary **+, - !, ~, &** operators excluded they should
have no space.
Examples:
@@ -167,63 +167,71 @@ Examples:
complement = ~bits;
empty = (!*string) ? TRUE : FALSE;
+## No parentheses for return values
+
+We use the 'return' statement without extra parentheses around the value:
+
+ int works(void)
+ {
+ return TRUE;
+ }
+
+## Parentheses for sizeof arguments
+
+When using the sizeof operator in code, we prefer it to be written with
+parentheses around its argument:
+
+ int size = sizeof(int);
+
## Column alignment
-Some statements cannot be completed on a single line because the line would
-be too long, the statement too hard to read, or due to other style guidelines
+Some statements cannot be completed on a single line because the line would be
+too long, the statement too hard to read, or due to other style guidelines
above. In such a case the statement will span multiple lines.
If a continuation line is part of an expression or sub-expression then you
should align on the appropriate column so that it's easy to tell what part of
the statement it is. Operators should not start continuation lines. In other
-cases follow the 2-space indent guideline. Here are some examples from libcurl:
+cases follow the 2-space indent guideline. Here are some examples from
+libcurl:
-~~~c
if(Curl_pipeline_wanted(handle->multi, CURLPIPE_HTTP1) &&
(handle->set.httpversion != CURL_HTTP_VERSION_1_0) &&
(handle->set.httpreq == HTTPREQ_GET ||
handle->set.httpreq == HTTPREQ_HEAD))
/* didn't ask for HTTP/1.0 and a GET or HEAD */
return TRUE;
-~~~
-~~~c
- case CURLOPT_KEEP_SENDING_ON_ERROR:
- data->set.http_keep_sending_on_error = (0 != va_arg(param, long)) ?
- TRUE : FALSE;
- break;
-~~~
+If no parenthesis, use the default indent:
-~~~c
data->set.http_disable_hostname_check_before_authentication =
(0 != va_arg(param, long)) ? TRUE : FALSE;
-~~~
-
-~~~c
- if(option) {
- result = parse_login_details(option, strlen(option),
- (userp ? &user : NULL),
- (passwdp ? &passwd : NULL),
- NULL);
- }
-~~~
-
-~~~c
- DEBUGF(infof(data, "Curl_pp_readresp_ %d bytes of trailing "
- "server response left\n",
- (int)clipamount));
-~~~
+
+Function invoke with an open parenthesis:
+
+ if(option) {
+ result = parse_login_details(option, strlen(option),
+ (userp ? &user : NULL),
+ (passwdp ? &passwd : NULL),
+ NULL);
+ }
+
+Align with the "current open" parenthesis:
+
+ DEBUGF(infof(data, "Curl_pp_readresp_ %d bytes of trailing "
+ "server response left\n",
+ (int)clipamount));
## Platform dependent code
-Use `#ifdef HAVE_FEATURE` to do conditional code. We avoid checking for
+Use **#ifdef HAVE_FEATURE** to do conditional code. We avoid checking for
particular operating systems or hardware in the #ifdef lines. The HAVE_FEATURE
shall be generated by the configure script for unix-like systems and they are
hard-coded in the config-[system].h files for the others.
We also encourage use of macros/functions that possibly are empty or defined
to constants when libcurl is built without that feature, to make the code
-seamless. Like this style where the `magic()` function works differently
+seamless. Like this example where the **magic()** function works differently
depending on a build-time conditional:
#ifdef HAVE_MAGIC
diff --git a/docs/INSTALL.cmake b/docs/INSTALL.cmake
index abdfb46b..0a8e4397 100644
--- a/docs/INSTALL.cmake
+++ b/docs/INSTALL.cmake
@@ -34,7 +34,7 @@ Current flaws in the curl CMake build
- Doesn't allow you to disable specific protocols from the build
- Doesn't find or use krb4 or GSS
- Rebuilds test files too eagerly, but still can't run the tests
- - Does't detect the correct strerror_r flavor when cross-compiling (issue #1123)
+ - Doesn't detect the correct strerror_r flavor when cross-compiling (issue #1123)
Command Line CMake
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index 280edd0e..7389da6d 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -27,6 +27,7 @@ problems may have been fixed or changed somewhat since this was written!
2.2 DER in keychain
2.3 GnuTLS backend skips really long certificate fields
2.4 DarwinSSL won't import PKCS#12 client certificates without a password
+ 2.5 Client cert handling with Issuer DN differs between backends
3. Email protocols
3.1 IMAP SEARCH ALL truncated response
@@ -38,6 +39,7 @@ problems may have been fixed or changed somewhat since this was written!
4.1 -J with %-encoded file nameas
4.2 -J with -C - fails
4.3 --retry and transfer timeouts
+ 4.4 --upload-file . hang if delay in STDIN
5. Build and portability issues
5.1 Windows Borland compiler
@@ -64,6 +66,7 @@ problems may have been fixed or changed somewhat since this was written!
7.6 FTP with NULs in URL parts
7.7 FTP and empty path parts in the URL
7.8 Premature transfer end but healthy control channel
+ 7.9 Passive transfer tries only one IP address
8. TELNET
8.1 TELNET and time limtiations don't work
@@ -83,6 +86,7 @@ problems may have been fixed or changed somewhat since this was written!
11.2 error buffer not set if connection to multiple addresses fails
11.3 c-ares deviates from stock resolver on http://1346569778
11.4 HTTP test server 'connection-monitor' problems
+ 11.5 Connection information when using TCP Fast Open
12. LDAP and OpenLDAP
12.1 OpenLDAP hangs after returning results
@@ -223,6 +227,13 @@ problems may have been fixed or changed somewhat since this was written!
function rejects certificates that do not have a password.
https://github.com/curl/curl/issues/1308
+2.5 Client cert handling with Issuer DN differs between backends
+
+ When the specified client certificate doesn't match any of the
+ server-specified DNs, the OpenSSL and GnuTLS backends behave differently.
+ The github discussion may contain a solution.
+
+ See https://github.com/curl/curl/issues/1411
3. Email protocols
@@ -282,6 +293,13 @@ problems may have been fixed or changed somewhat since this was written!
https://curl.haxx.se/mail/lib-2008-01/0080.html and Mandriva bug report
https://qa.mandriva.com/show_bug.cgi?id=22565
+4.4 --upload-file . hangs if delay in STDIN
+
+ "(echo start; sleep 1; echo end) | curl --upload-file . http://mywebsite -vv"
+
+ ... causes a hang when it shouldn't.
+
+ See https://github.com/curl/curl/issues/2051
5. Build and portability issues
@@ -474,6 +492,18 @@ problems may have been fixed or changed somewhat since this was written!
alive even in this situation - but the current code doesn't. Fixing this would
allow libcurl to reuse FTP connections better.
+7.9 Passive transfer tries only one IP address
+
+ When doing FTP operations through a proxy at localhost, the reported spotted
+ that curl only tried to connect once to the proxy, while it had mulitiple
+ addresses and a failed connect on one address should make it try the next.
+
+ After switching to passive mode (EPSV), curl should try all IP addresses for
+ "localhost". Currently it tries ::1, but it should also try 127.0.0.1.
+
+ See https://github.com/curl/curl/issues/1508
+
+
8. TELNET
8.1 TELNET and time limtiations don't work
@@ -561,6 +591,13 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/868
+11.5 Connection information when using TCP Fast Open
+
+ CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is
+ enabled.
+
+ See https://github.com/curl/curl/issues/1332
+
12. LDAP and OpenLDAP
diff --git a/docs/SECURITY-PROCESS.md b/docs/SECURITY-PROCESS.md
index d39c5a1f..4991d5fb 100644
--- a/docs/SECURITY-PROCESS.md
+++ b/docs/SECURITY-PROCESS.md
@@ -56,9 +56,9 @@ announcement.
then a separate earlier release for security reasons should be considered.
- Write a security advisory draft about the problem that explains what the
- problem is, its impact, which versions it affects, solutions or
- workarounds, when the release is out and make sure to credit all
- contributors properly.
+ problem is, its impact, which versions it affects, solutions or workarounds,
+ when the release is out and make sure to credit all contributors properly.
+ Figure out the CWE (Common Weakness Enumeration) number for the flaw.
- Request a CVE number from
[distros@openwall](http://oss-security.openwall.org/wiki/mailing-lists/distros)
@@ -114,3 +114,26 @@ plans in vanishing in the near future.
We do not make the list of participants public mostly because it tends to vary
somewhat over time and a list somewhere will only risk getting outdated.
+
+Publishing Security Advisories
+------------------------------
+
+1. Write up the security advisory, using markdown syntax. Use the same
+ subtitles as last time to maintain consistency.
+
+2. Name the advisory file (and ultimately the URL to be used when the flaw
+ gets published), using a randomized component so that third parties that
+ are involved in the process for each individual flaw will not be given
+ insights about possible *other* flaws worked on in parallel.
+ `adv_YEAR_RANDOM.md` has been used before.
+
+3. Add a line on the top of the array in `curl-www/docs/vuln.pm'.
+
+4. Put the new advisory markdown file in the curl-www/docs/ directory. Add it
+ to the git repo. Update the Makefile in the same directory to build the
+ HTML representation.
+
+5. Run `make` in your local web checkout and verify that things look fine.
+
+6. On security advisory release day, push the changes on the curl-www
+ repository's remote master branch.
diff --git a/docs/THANKS b/docs/THANKS
index f51c9f78..540a59fc 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -10,6 +10,7 @@ Aaro Koskinen
Aaron Oneal
Aaron Orenstein
Abram Pousada
+Adam Brown
Adam D. Moss
Adam Langley
Adam Light
@@ -37,6 +38,7 @@ Ales Mlakar
Ales Novak
Alessandro Ghedini
Alessandro Vesely
+Alex Baines
Alex Bligh
Alex Chan
Alex Fishman
@@ -156,6 +158,7 @@ Balint Szilakszi
Barry Abrahamson
Bart Whiteley
Bas Mevissen
+Bas van Schaik
Basuke Suzuki
Ben Boeckel
Ben Darnell
@@ -295,6 +298,7 @@ Craig de Stigter
Cris Bailiff
Cristian Rodríguez
Curt Bogmine
+Cyril B
Cyrill Osterwalder
Cédric Connes
Cédric Deltheil
@@ -361,6 +365,7 @@ David Byron
David Cohen
David E. Narváez
David Eriksson
+David Garske
David Houlder
David Hull
David J Meyer
@@ -368,6 +373,7 @@ David James
David Kalnischkies
David Kierznowski
David Kimdon
+David L.
David Lang
David LeBlanc
David Lord
@@ -388,6 +394,7 @@ David Wright
David Yan
Dengminwen
Denis Feklushkin
+Denis Ollier
Dennis Clarke
Derek Higgins
Desmond O. Chang
@@ -415,6 +422,7 @@ Dmitry Eremin-Solenikov
Dmitry Falko
Dmitry Kostjuchenko
Dmitry Kurochkin
+Dmitry Mikhirev
Dmitry Popov
Dmitry Rechkin
Dmitry S. Baikov
@@ -423,6 +431,8 @@ Domenico Andreoli
Dominick Meglio
Dominik Hölzl
Dominique Leuenberger
+Don J Olmstead
+Dongliang Mu
Doug Kaufman
Doug Porter
Douglas Creager
@@ -468,6 +478,7 @@ Enrico Scholz
Enrik Berkhan
Eramoto Masaya
Eric Cooper
+Eric Gallager
Eric Hu
Eric Landes
Eric Lavigne
@@ -486,6 +497,7 @@ Erick Nuwendam
Erik Janssen
Erik Johansson
Ernest Beinrohr
+Ernst Sjöstrand
Erwan Legrand
Erwin Authried
Ethan Glasser Camp
@@ -544,6 +556,7 @@ Gautam Mani
Gavrie Philipson
Gaz Iqbal
Gaël Portay
+Geeknik Labs
Geoff Beier
Georg Horn
Georg Huettenegger
@@ -849,6 +862,7 @@ Kaspar Brand
Katie Wang
Kazuho Oku
Kees Cook
+Kees Dekker
Keith MacDonald
Keith McGuigan
Keith Mok
@@ -872,6 +886,7 @@ Kjell Ericson
Kjetil Jacobsen
Klaus Stein
Klevtsov Vadim
+Kobi Gurkan
Konstantin Isakov
Kris Kennaway
Krishnendu Majumdar
@@ -899,6 +914,8 @@ Lars Torben Wilson
Lau Hang Kin
Laurent Rabret
Lauri Kasanen
+Laurie Clark-Michalek
+Lawrence Matthews
Lawrence Wagerfield
Legoff Vincent
Lehel Bernadt
@@ -939,6 +956,7 @@ Luke Call
Luke Dashjr
Luo Jinghua
Luong Dinh Dung
+Luz Paz
Luật Nguyễn
Lyndon Hill
Maciej Karpiuk
@@ -1055,6 +1073,7 @@ Michael Jahn
Michael Jerris
Michael Kalinin
Michael Kaufmann
+Michael Kilburn
Michael König
Michael Maltese
Michael Mealling
@@ -1066,6 +1085,7 @@ Michael Stillwell
Michael Wallner
Michal Bonino
Michal Marek
+Michal Trybus
Michał Fita
Michał Górny
Michał Janiszewski
@@ -1101,6 +1121,7 @@ Mohammad AlSaleh
Mohun Biswas
Mostyn Bramley-Moore
Moti Avrahami
+Muz Dima
Myk Taylor
Nach M. S.
Nagai H
@@ -1134,6 +1155,7 @@ Nikitinskit Dmitriy
Niklas Angebrand
Nikolai Kondrashov
Nikos Mavrogiannopoulos
+Nikos Tsipinakis
Ning Dong
Nir Soffer
Nis Jorgensen
@@ -1163,6 +1185,7 @@ Orgad Shaneh
Ori Avtalion
Oscar Koeroo
Oscar Norlander
+Oumph on github
P R Schaffner
Palo Markovic
Paolo Piacentini
@@ -1245,6 +1268,7 @@ Phil Pellouchoud
Philip Craig
Philip Gladstone
Philip Langdale
+Philip Prindeville
Philippe Hameau
Philippe Raoult
Philippe Vaucher
@@ -1321,10 +1345,12 @@ Richard Prescott
Richard Silverman
Richard van den Berg
Richy Kim
+Rick Deist
Rick Jones
Rick Richardson
Ricki Hirner
Rider Linden
+Rikard Falkeborn
Rob Cotrone
Rob Crittenden
Rob Davies
@@ -1448,6 +1474,7 @@ Stadler Stephan
Stan van de Burgt
Stanislav Ivochkin
Stanislav Zidek
+Stefan Agner
Stefan Bühler
Stefan Eissing
Stefan Esser
@@ -1460,6 +1487,7 @@ Stefan Ulrich
Steinar H. Gunderson
Stepan Broz
Stephan Bergmann
+Stephan Mühlstrasser
Stephen Brokenshire
Stephen Collyer
Stephen Kick
@@ -1484,6 +1512,7 @@ Steven Parkes
Stoned Elipot
Stuart Henderson
Sune Ahlgren
+Sunny Purushe
Sven Anders
Sven Neuhaus
Sven Wegener
@@ -1500,7 +1529,8 @@ Tanguy Fautre
Tatsuhiro Tsujikawa
Temprimus
Terri Oda
-TheAssassin at github
+Terry Wu
+TheAssassin on github
Theodore Dubois
Thomas Braun
Thomas Glanzmann
@@ -1659,12 +1689,14 @@ Zmey Petroff
Zvi Har'El
afrind on github
ahodesuka on github
+anshnd on github
arainchik on github
asavah on github
baumanj on github
bsammon on github
cbartl on github
cmfrolick on github
+dasimx on github
destman on github
dkjjr89 on github
dpull on github
@@ -1673,6 +1705,7 @@ elelel on github
guitared on github
hsiao yi
imilli on github
+iz8mbw on github
jonrumsey on github
joshhe on github
jungle-boogie on github
@@ -1693,15 +1726,18 @@ nopjmp on github
olesteban on github
omau on github
ovidiu-benea on github
+patelvivekv1993 on github
paulharris on github
silveja1 on github
steelman on github
+steini2000 on github
stootill on github
swalkaus at yahoo.com
tarek112 on github
tommink[at]post.pl
vanillajonathan on github
wmsch on github
+wncboy on github
wyattoday on github
youngchopin on github
zelinchen on github
diff --git a/docs/TODO b/docs/TODO
index ea78d9f1..cd0d6f2b 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -43,6 +43,7 @@
1.25 Expose tried IP addresses that failed
1.26 CURL_REFUSE_CLEARTEXT
1.27 hardcode the "localhost" addresses
+ 1.28 FD_CLOEXEC
2. libcurl - multi interface
2.1 More non-blocking
@@ -114,6 +115,7 @@
13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
13.12 Support HSTS
13.13 Support HPKP
+ 13.14 Support the clienthello extension
14. GnuTLS
14.1 SSL engine stuff
@@ -121,7 +123,6 @@
15. WinSSL/SChannel
15.1 Add support for client certificate authentication
- 15.2 Add support for custom server certificate validation
15.3 Add support for the --ciphers option
16. SASL
@@ -154,6 +155,7 @@
18.16 send only part of --data
18.17 consider file name from the redirected URL with -O ?
18.18 retry on network is unreachable
+ 18.19 expand ~/ in config files
19. Build
19.1 roffit
@@ -199,8 +201,7 @@
1.2 More data sharing
curl_share_* functions already exist and work, and they can be extended to
- share more. For example, enable sharing of the ares channel and the
- connection cache.
+ share more. For example, enable sharing of the ares channel.
1.3 struct lifreq
@@ -431,6 +432,14 @@
https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02
+1.28 FD_CLOEXEC
+
+ It sets the close-on-exec flag for the file descriptor, which causes the file
+ descriptor to be automatically (and atomically) closed when any of the
+ exec-family functions succeed. Should probably be set by default?
+
+ https://github.com/curl/curl/issues/2252
+
2. libcurl - multi interface
2.1 More non-blocking
@@ -710,7 +719,7 @@ that doesn't exist on the server, just like --ftp-create-dirs.
You can specify the private and public keys for SSH/SSL as file paths. Some
programs want to avoid using files and instead just pass them as in-memory
data blobs. There's probably a challenge to make this work across the
- plethory of different TLS and SSH backends that curl suppports.
+ plethory of different TLS and SSH backends that curl supports.
https://github.com/curl/curl/issues/2310
13.4 Cache/share OpenSSL contexts
@@ -799,6 +808,16 @@ that doesn't exist on the server, just like --ftp-create-dirs.
Doc: https://developer.mozilla.org/de/docs/Web/Security/Public_Key_Pinning
RFC: https://tools.ietf.org/html/draft-ietf-websec-key-pinning-21
+13.14 Support the clienthello extension
+
+ Certain stupid networks and middle boxes have a problem with SSL handshake
+ pakets that are within a certain size range because how that sets some bits
+ that previously (in older TLS version) were not set. The clienthello
+ extension adds padding to avoid that size range.
+
+ https://tools.ietf.org/html/rfc7685
+ https://github.com/curl/curl/issues/2299
+
14. GnuTLS
14.1 SSL engine stuff
@@ -823,17 +842,6 @@ that doesn't exist on the server, just like --ftp-create-dirs.
- Getting a Certificate for Schannel
https://msdn.microsoft.com/en-us/library/windows/desktop/aa375447.aspx
-15.2 Add support for custom server certificate validation
-
- WinSSL/SChannel currently makes use of the OS-level system and user
- certificate trust store. This does not allow the application or user to
- customize the server certificate validation process using curl or libcurl.
-
- Therefore support for the existing --cacert or --capath options should be
- implemented by supplying a custom certificate to the SChannel APIs, see:
- - Getting a Certificate for Schannel
- https://msdn.microsoft.com/en-us/library/windows/desktop/aa375447.aspx
-
15.3 Add support for the --ciphers option
The cipher suites used by WinSSL/SChannel are configured on an OS-level
@@ -1063,6 +1071,13 @@ that doesn't exist on the server, just like --ftp-create-dirs.
https://github.com/curl/curl/issues/1603
+18.19 expand ~/ in config files
+
+ For example .curlrc could benefit from being able to do this.
+
+ See https://github.com/curl/curl/issues/2317
+
+
19. Build
19.1 roffit
diff --git a/docs/cmdline-opts/cacert.d b/docs/cmdline-opts/cacert.d
index b2ecf908..073ad3a9 100644
--- a/docs/cmdline-opts/cacert.d
+++ b/docs/cmdline-opts/cacert.d
@@ -25,4 +25,9 @@ should not be set. If the option is not set, then curl will use the
certificates in the system and user Keychain to verify the peer, which is the
preferred method of verifying the peer's certificate chain.
+(Schannel/WinSSL only) This option is supported for WinSSL in Windows 7 or
+later with libcurl 7.60 or later. This option is supported for backward
+compatibility with other SSL engines; instead it is recommended to use Windows'
+store of root certificates (the default for WinSSL).
+
If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/cert.d b/docs/cmdline-opts/cert.d
index 0cd5d535..adf62fc7 100644
--- a/docs/cmdline-opts/cert.d
+++ b/docs/cmdline-opts/cert.d
@@ -29,4 +29,15 @@ system or user keychain, or the path to a PKCS#12-encoded certificate and
private key. If you want to use a file from the current directory, please
precede it with "./" prefix, in order to avoid confusion with a nickname.
+(Schannel/WinSSL only) Client certificates must be specified by a path
+expression to a certificate store. (Loading PFX is not supported; you can
+import it to a store first). You can use
+"<store location>\\<store name>\\<thumbprint>" to refer to a certificate
+in the system certificates store, for example,
+"CurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". Thumbprint is
+usually a SHA-1 hex string which you can see in certificate details. Following
+store locations are supported: CurrentUser, LocalMachine, CurrentService,
+Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy,
+LocalMachineEnterprise.
+
If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/cookie.d b/docs/cmdline-opts/cookie.d
index 383adda6..3ae69754 100644
--- a/docs/cmdline-opts/cookie.d
+++ b/docs/cmdline-opts/cookie.d
@@ -12,7 +12,8 @@ If no '=' symbol is used in the argument, it is instead treated as a filename
to read previously stored cookie from. This option also activates the cookie
engine which will make curl record incoming cookies, which may be handy if
you're using this in combination with the --location option or do multiple URL
-transfers on the same invoke.
+transfers on the same invoke. If the file name is exactly a minus ("-"), curl
+will instead the contents from stdin.
The file format of the file to read cookies from should be plain HTTP headers
(Set-Cookie style) or the Netscape/Mozilla cookie file format.
diff --git a/docs/cmdline-opts/ftp-port.d b/docs/cmdline-opts/ftp-port.d
index a852e905..e4b14560 100644
--- a/docs/cmdline-opts/ftp-port.d
+++ b/docs/cmdline-opts/ftp-port.d
@@ -12,11 +12,11 @@ to setup an IP address and port for it to connect to. <address> should be one
of:
.RS
.IP interface
-i.e "eth0" to specify which interface's IP address you want to use (Unix only)
+e.g. "eth0" to specify which interface's IP address you want to use (Unix only)
.IP "IP address"
-i.e "192.168.10.1" to specify the exact IP address
+e.g. "192.168.10.1" to specify the exact IP address
.IP "host name"
-i.e "my.host.domain" to specify the machine
+e.g. "my.host.domain" to specify the machine
.IP "-"
make curl pick the same IP address that is already used for the control
connection
diff --git a/docs/cmdline-opts/interface.d b/docs/cmdline-opts/interface.d
index bd081761..65827fb8 100644
--- a/docs/cmdline-opts/interface.d
+++ b/docs/cmdline-opts/interface.d
@@ -12,5 +12,5 @@ name, IP address or host name. An example could look like:
If this option is used several times, the last one will be used.
On Linux it can be used to specify a VRF, but the binary needs to either
-have CAP_NET_RAW or to be ran as root. More information about Linux VRF:
+have CAP_NET_RAW or to be run as root. More information about Linux VRF:
https://www.kernel.org/doc/Documentation/networking/vrf.txt
diff --git a/docs/cmdline-opts/max-time.d b/docs/cmdline-opts/max-time.d
index c22343d3..0057f9d0 100644
--- a/docs/cmdline-opts/max-time.d
+++ b/docs/cmdline-opts/max-time.d
@@ -1,6 +1,6 @@
Long: max-time
Short: m
-Arg: <time>
+Arg: <seconds>
Help: Maximum time allowed for the transfer
See-also: connect-timeout
---
diff --git a/docs/cmdline-opts/page-footer b/docs/cmdline-opts/page-footer
index 1ca47ae0..89bface6 100644
--- a/docs/cmdline-opts/page-footer
+++ b/docs/cmdline-opts/page-footer
@@ -21,7 +21,7 @@ SMTP, LDAP etc.
.IP "ALL_PROXY [protocol://]<host>[:port]"
Sets the proxy server to use if no protocol-specific proxy is set.
.IP "NO_PROXY <comma-separated list of hosts>"
-list of host names that shouldn't go through any proxy. If set to a asterisk
+list of host names that shouldn't go through any proxy. If set to an asterisk
\&'*' only, it matches all hosts.
This environment variable disables use of the proxy even when specified with
@@ -45,9 +45,9 @@ a supported one, the proxy will be treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
.IP "http://"
-Makes it use it as a HTTP proxy. The default if no scheme prefix is used.
+Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
.IP "https://"
-Makes it treated as a \fBHTTPS\fP proxy.
+Makes it treated as an \fBHTTPS\fP proxy.
.IP "socks4://"
Makes it the equivalent of --socks4
.IP "socks4a://"
diff --git a/docs/cmdline-opts/page-header b/docs/cmdline-opts/page-header
index ee5af147..51f45eda 100644
--- a/docs/cmdline-opts/page-header
+++ b/docs/cmdline-opts/page-header
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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
@@ -26,8 +26,7 @@
.SH NAME
curl \- transfer a URL
.SH SYNOPSIS
-.B curl [options]
-.I [URL...]
+.B curl [options / URLs]
.SH DESCRIPTION
.B curl
is a tool to transfer data from or to a server, using one of the supported
@@ -65,7 +64,8 @@ other:
http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
You can specify any amount of URLs on the command line. They will be fetched
-in a sequential manner in the specified order.
+in a sequential manner in the specified order. You can specify command line
+options and URLs mixed and in any order on the command line.
You can specify a step counter for the ranges to get every Nth number or
letter:
diff --git a/docs/cmdline-opts/proxy-cert-type.d b/docs/cmdline-opts/proxy-cert-type.d
index 8c9e7889..906d2a11 100644
--- a/docs/cmdline-opts/proxy-cert-type.d
+++ b/docs/cmdline-opts/proxy-cert-type.d
@@ -1,6 +1,6 @@
Long: proxy-cert-type
Arg: <type>
Added: 7.52.0
-Help: Client certificate type for HTTS proxy
+Help: Client certificate type for HTTPS proxy
---
Same as --cert-type but used in HTTPS proxy context.
diff --git a/docs/cmdline-opts/proxytunnel.d b/docs/cmdline-opts/proxytunnel.d
index f2e8b802..42aee2bb 100644
--- a/docs/cmdline-opts/proxytunnel.d
+++ b/docs/cmdline-opts/proxytunnel.d
@@ -1,6 +1,6 @@
Long: proxytunnel
Short: p
-Help: Operate through a HTTP proxy tunnel (using CONNECT)
+Help: Operate through an HTTP proxy tunnel (using CONNECT)
See-also: proxy
---
When an HTTP proxy is used --proxy, this option will cause non-HTTP protocols
diff --git a/docs/cmdline-opts/range.d b/docs/cmdline-opts/range.d
index 760d15e2..b888dd18 100644
--- a/docs/cmdline-opts/range.d
+++ b/docs/cmdline-opts/range.d
@@ -4,7 +4,7 @@ Help: Retrieve only the bytes within RANGE
Arg: <range>
Protocols: HTTP FTP SFTP FILE
---
-Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP
+Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
server or a local FILE. Ranges can be specified in a number of ways.
.RS
.TP 10
diff --git a/docs/cmdline-opts/user-agent.d b/docs/cmdline-opts/user-agent.d
index c98619d7..de73f723 100644
--- a/docs/cmdline-opts/user-agent.d
+++ b/docs/cmdline-opts/user-agent.d
@@ -6,7 +6,7 @@ Protocols: HTTP
---
Specify the User-Agent string to send to the HTTP server. To encode blanks in
-the string, surround the string with single quote marks. This can also be set
-with the --header option of course.
+the string, surround the string with single quote marks. This header can also
+be set with the --header or the --proxy-header options.
If this option is used several times, the last one will be used.
diff --git a/docs/curl-config.1 b/docs/curl-config.1
index becb1caf..786fdb06 100644
--- a/docs/curl-config.1
+++ b/docs/curl-config.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl-config 1 "November 30, 2017" "Curl 7.59.0" "curl-config manual"
+.TH curl-config 1 "November 30, 2017" "Curl 7.60.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 f2ce1425..9dfdaf7d 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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
@@ -22,13 +22,12 @@
.\"
.\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
.\"
-.TH curl 1 "November 16, 2016" "Curl 7.59.0" "Curl Manual"
+.TH curl 1 "November 16, 2016" "Curl 7.60.0" "Curl Manual"
.SH NAME
curl \- transfer a URL
.SH SYNOPSIS
-.B curl [options]
-.I [URL...]
+.B curl [options / URLs]
.SH DESCRIPTION
.B curl
is a tool to transfer data from or to a server, using one of the supported
@@ -66,7 +65,8 @@ other:
http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html
You can specify any amount of URLs on the command line. They will be fetched
-in a sequential manner in the specified order.
+in a sequential manner in the specified order. You can specify command line
+options and URLs mixed and in any order on the command line.
You can specify a step counter for the ranges to get every Nth number or
letter:
@@ -197,6 +197,11 @@ should not be set. If the option is not set, then curl will use the
certificates in the system and user Keychain to verify the peer, which is the
preferred method of verifying the peer's certificate chain.
+(Schannel/WinSSL only) This option is supported for WinSSL in Windows 7 or
+later with libcurl 7.60 or later. This option is supported for backward
+compatibility with other SSL engines; instead it is recommended to use Windows'
+store of root certificates (the default for WinSSL).
+
If this option is used several times, the last one will be used.
.IP "--capath <dir>"
(TLS) Tells curl to use the specified certificate directory to verify the
@@ -252,6 +257,17 @@ system or user keychain, or the path to a PKCS#12-encoded certificate and
private key. If you want to use a file from the current directory, please
precede it with "./" prefix, in order to avoid confusion with a nickname.
+(Schannel/WinSSL only) Client certificates must be specified by a path
+expression to a certificate store. (Loading PFX is not supported; you can
+import it to a store first). You can use
+"<store location>\\<store name>\\<thumbprint>" to refer to a certificate
+in the system certificates store, for example,
+"CurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". Thumbprint is
+usually a SHA-1 hex string which you can see in certificate details. Following
+store locations are supported: CurrentUser, LocalMachine, CurrentService,
+Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy,
+LocalMachineEnterprise.
+
If this option is used several times, the last one will be used.
See also \fI--cert-type\fP and \fI--key\fP and \fI--key-type\fP.
@@ -395,7 +411,8 @@ If no '=' symbol is used in the argument, it is instead treated as a filename
to read previously stored cookie from. This option also activates the cookie
engine which will make curl record incoming cookies, which may be handy if
you're using this in combination with the \fI-L, --location\fP option or do multiple URL
-transfers on the same invoke.
+transfers on the same invoke. If the file name is exactly a minus ("-"), curl
+will instead the contents from stdin.
The file format of the file to read cookies from should be plain HTTP headers
(Set-Cookie style) or the Netscape/Mozilla cookie file format.
@@ -854,11 +871,11 @@ to setup an IP address and port for it to connect to. <address> should be one
of:
.RS
.IP interface
-i.e "eth0" to specify which interface's IP address you want to use (Unix only)
+e.g. "eth0" to specify which interface's IP address you want to use (Unix only)
.IP "IP address"
-i.e "192.168.10.1" to specify the exact IP address
+e.g. "192.168.10.1" to specify the exact IP address
.IP "host name"
-i.e "my.host.domain" to specify the machine
+e.g. "my.host.domain" to specify the machine
.IP "-"
make curl pick the same IP address that is already used for the control
connection
@@ -941,6 +958,15 @@ balance human factors against network load." libcurl currently defaults to
If this option is used several times, the last one will be used.
Added in 7.59.0.
+.IP "--haproxy-protocol"
+(HTTP) Send a HAProxy PROXY protocol header at the beginning of the connection. This
+is used by some load balancers and reverse proxies to indicate the client's
+true IP address and port.
+
+This option is primarily useful when sending test requests to a service that
+expects this header.
+
+Added in 7.60.0.
.IP "-I, --head"
(HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the command HEAD which this uses
to get nothing but the header of a document. When used on an FTP or FILE file,
@@ -1048,7 +1074,7 @@ name, IP address or host name. An example could look like:
If this option is used several times, the last one will be used.
On Linux it can be used to specify a VRF, but the binary needs to either
-have CAP_NET_RAW or to be ran as root. More information about Linux VRF:
+have CAP_NET_RAW or to be run as root. More information about Linux VRF:
https://www.kernel.org/doc/Documentation/networking/vrf.txt
See also \fI--dns-interface\fP.
@@ -1237,7 +1263,7 @@ default, the limit is set to 50 redirections. Set this option to -1 to make it
unlimited.
If this option is used several times, the last one will be used.
-.IP "-m, --max-time <time>"
+.IP "-m, --max-time <seconds>"
Maximum time in seconds that you allow the whole operation to take. This is
useful for preventing your batch jobs from hanging for hours due to slow
networks or links going down. Since 7.32.0, this option accepts decimal
@@ -1841,7 +1867,7 @@ Specify the path name to file containing what will be considered as random
data. The data may be used to seed the random engine for SSL connections. See
also the \fI--egd-file\fP option.
.IP "-r, --range <range>"
-(HTTP FTP SFTP FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP
+(HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial document) from an HTTP/1.1, FTP or SFTP
server or a local FILE. Ranges can be specified in a number of ways.
.RS
.TP 10
@@ -2425,8 +2451,8 @@ for win32 systems.
.IP "-A, --user-agent <name>"
(HTTP)
Specify the User-Agent string to send to the HTTP server. To encode blanks in
-the string, surround the string with single quote marks. This can also be set
-with the \fI-H, --header\fP option of course.
+the string, surround the string with single quote marks. This header can also
+be set with the \fI-H, --header\fP or the \fI--proxy-header\fP options.
If this option is used several times, the last one will be used.
.IP "-u, --user <user:password>"
@@ -2696,7 +2722,7 @@ SMTP, LDAP etc.
.IP "ALL_PROXY [protocol://]<host>[:port]"
Sets the proxy server to use if no protocol-specific proxy is set.
.IP "NO_PROXY <comma-separated list of hosts>"
-list of host names that shouldn't go through any proxy. If set to a asterisk
+list of host names that shouldn't go through any proxy. If set to an asterisk
\&'*' only, it matches all hosts.
This environment variable disables use of the proxy even when specified with
@@ -2720,9 +2746,9 @@ a supported one, the proxy will be treated as an HTTP proxy.
The supported proxy protocol prefixes are as follows:
.IP "http://"
-Makes it use it as a HTTP proxy. The default if no scheme prefix is used.
+Makes it use it as an HTTP proxy. The default if no scheme prefix is used.
.IP "https://"
-Makes it treated as a \fBHTTPS\fP proxy.
+Makes it treated as an \fBHTTPS\fP proxy.
.IP "socks4://"
Makes it the equivalent of \fI--socks4\fP
.IP "socks4a://"
diff --git a/docs/examples/curlx.c b/docs/examples/curlx.c
index 2aa10aa7..3e47b460 100644
--- a/docs/examples/curlx.c
+++ b/docs/examples/curlx.c
@@ -183,7 +183,7 @@ static unsigned char *my_get_ext(X509 *cert, const int type,
/* This is an application verification call back, it does not
perform any addition verification but tries to find a URL
- in the presented certificat. If found, this will become
+ in the presented certificate. If found, this will become
the URL to be used in the POST.
*/
diff --git a/docs/examples/debug.c b/docs/examples/debug.c
index 554eb3ec..48a3fd5d 100644
--- a/docs/examples/debug.c
+++ b/docs/examples/debug.c
@@ -44,12 +44,12 @@ void dump(const char *text,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
- text, (long)size, (long)size);
+ fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n",
+ text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stream, "%4.4lx: ", (long)i);
+ fprintf(stream, "%4.4lx: ", i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/evhiperfifo.c b/docs/examples/evhiperfifo.c
index 257c127a..c0c230b2 100644
--- a/docs/examples/evhiperfifo.c
+++ b/docs/examples/evhiperfifo.c
@@ -336,7 +336,6 @@ static void new_conn(char *url, GlobalInfo *g)
CURLMcode rc;
conn = calloc(1, sizeof(ConnInfo));
- memset(conn, 0, sizeof(ConnInfo));
conn->error[0]='\0';
conn->easy = curl_easy_init();
diff --git a/docs/examples/fopen.c b/docs/examples/fopen.c
index eb27c6ae..f1706fbe 100644
--- a/docs/examples/fopen.c
+++ b/docs/examples/fopen.c
@@ -237,12 +237,10 @@ URL_FILE *url_fopen(const char *url, const char *operation)
URL_FILE *file;
(void)operation;
- file = malloc(sizeof(URL_FILE));
+ file = calloc(1, sizeof(URL_FILE));
if(!file)
return NULL;
- memset(file, 0, sizeof(URL_FILE));
-
file->handle.file = fopen(url, operation);
if(file->handle.file)
file->type = CFTYPE_FILE; /* marked as URL */
diff --git a/docs/examples/getinmemory.c b/docs/examples/getinmemory.c
index fb794783..776bbd21 100644
--- a/docs/examples/getinmemory.c
+++ b/docs/examples/getinmemory.c
@@ -100,7 +100,7 @@ int main(void)
* Do something nice with it!
*/
- printf("%lu bytes retrieved\n", (long)chunk.size);
+ printf("%lu bytes retrieved\n", chunk.size);
}
/* cleanup curl stuff */
diff --git a/docs/examples/hiperfifo.c b/docs/examples/hiperfifo.c
index 76bc6c1f..fec62b85 100644
--- a/docs/examples/hiperfifo.c
+++ b/docs/examples/hiperfifo.c
@@ -66,10 +66,17 @@ callback.
#include <sys/poll.h>
#include <curl/curl.h>
#include <event2/event.h>
+#include <event2/event_struct.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <errno.h>
+#include <sys/cdefs.h>
+#ifdef __GNUC__
+#define _Unused __attribute__((unused))
+#else
+#define _Unused
+#endif
#define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */
@@ -78,11 +85,12 @@ callback.
typedef struct _GlobalInfo
{
struct event_base *evbase;
- struct event *fifo_event;
- struct event *timer_event;
+ struct event fifo_event;
+ struct event timer_event;
CURLM *multi;
int still_running;
FILE *input;
+ int stopped;
} GlobalInfo;
@@ -103,16 +111,42 @@ typedef struct _SockInfo
CURL *easy;
int action;
long timeout;
- struct event *ev;
- int evset;
+ struct event ev;
GlobalInfo *global;
} SockInfo;
+#define __case(code) \
+ case code: s = __STRING(code)
+
+/* Die if we get a bad CURLMcode somewhere */
+static void mcode_or_die(const char *where, CURLMcode code)
+{
+ if(CURLM_OK != code) {
+ const char *s;
+ switch(code) {
+ __case(CURLM_BAD_HANDLE); break;
+ __case(CURLM_BAD_EASY_HANDLE); break;
+ __case(CURLM_OUT_OF_MEMORY); break;
+ __case(CURLM_INTERNAL_ERROR); break;
+ __case(CURLM_UNKNOWN_OPTION); break;
+ __case(CURLM_LAST); break;
+ default: s = "CURLM_unknown"; break;
+ __case(CURLM_BAD_SOCKET);
+ fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
+ /* ignore this error */
+ return;
+ }
+ fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
+ exit(code);
+ }
+}
+
+
/* Update the event timer after curl_multi library calls */
-static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
+static int multi_timer_cb(CURLM *multi _Unused, long timeout_ms, GlobalInfo *g)
{
struct timeval timeout;
- (void)multi; /* unused */
+ CURLMcode rc;
timeout.tv_sec = timeout_ms/1000;
timeout.tv_usec = (timeout_ms%1000)*1000;
@@ -127,36 +161,19 @@ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
* for all other values of timeout_ms, this should set or *update*
* the timer to the new value
*/
- evtimer_add(g->timer_event, &timeout);
- return 0;
-}
-
-/* Die if we get a bad CURLMcode somewhere */
-static void mcode_or_die(const char *where, CURLMcode code)
-{
- if(CURLM_OK != code) {
- const char *s;
- switch(code) {
- case CURLM_BAD_HANDLE: s = "CURLM_BAD_HANDLE"; break;
- case CURLM_BAD_EASY_HANDLE: s = "CURLM_BAD_EASY_HANDLE"; break;
- case CURLM_OUT_OF_MEMORY: s = "CURLM_OUT_OF_MEMORY"; break;
- case CURLM_INTERNAL_ERROR: s = "CURLM_INTERNAL_ERROR"; break;
- case CURLM_UNKNOWN_OPTION: s = "CURLM_UNKNOWN_OPTION"; break;
- case CURLM_LAST: s = "CURLM_LAST"; break;
- default: s = "CURLM_unknown";
- break;
- case CURLM_BAD_SOCKET: s = "CURLM_BAD_SOCKET";
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- /* ignore this error */
- return;
- }
- fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s);
- exit(code);
+ if(timeout_ms == 0) {
+ rc = curl_multi_socket_action(g->multi,
+ CURL_SOCKET_TIMEOUT, 0, &g->still_running);
+ mcode_or_die("multi_timer_cb: curl_multi_socket_action", rc);
}
+ else if(timeout_ms == -1)
+ evtimer_del(&g->timer_event);
+ else
+ evtimer_add(&g->timer_event, &timeout);
+ return 0;
}
-
/* Check for completed transfers, and remove their easy handles */
static void check_multi_info(GlobalInfo *g)
{
@@ -181,6 +198,8 @@ static void check_multi_info(GlobalInfo *g)
free(conn);
}
}
+ if(g->still_running == 0 && g->stopped)
+ event_base_loopbreak(g->evbase);
}
@@ -201,8 +220,8 @@ static void event_cb(int fd, short kind, void *userp)
check_multi_info(g);
if(g->still_running <= 0) {
fprintf(MSG_OUT, "last transfer done, kill timeout\n");
- if(evtimer_pending(g->timer_event, NULL)) {
- evtimer_del(g->timer_event);
+ if(evtimer_pending(&g->timer_event, NULL)) {
+ evtimer_del(&g->timer_event);
}
}
}
@@ -210,12 +229,10 @@ static void event_cb(int fd, short kind, void *userp)
/* Called by libevent when our timeout expires */
-static void timer_cb(int fd, short kind, void *userp)
+static void timer_cb(int fd _Unused, short kind _Unused, void *userp)
{
GlobalInfo *g = (GlobalInfo *)userp;
CURLMcode rc;
- (void)fd;
- (void)kind;
rc = curl_multi_socket_action(g->multi,
CURL_SOCKET_TIMEOUT, 0, &g->still_running);
@@ -229,8 +246,7 @@ static void timer_cb(int fd, short kind, void *userp)
static void remsock(SockInfo *f)
{
if(f) {
- if(f->evset)
- event_free(f->ev);
+ event_del(&f->ev);
free(f);
}
}
@@ -247,11 +263,9 @@ static void setsock(SockInfo *f, curl_socket_t s, CURL *e, int act,
f->sockfd = s;
f->action = act;
f->easy = e;
- if(f->evset)
- event_free(f->ev);
- f->ev = event_new(g->evbase, f->sockfd, kind, event_cb, g);
- f->evset = 1;
- event_add(f->ev, NULL);
+ event_del(&f->ev);
+ event_assign(&f->ev, g->evbase, f->sockfd, kind, event_cb, g);
+ event_add(&f->ev, NULL);
}
@@ -297,23 +311,21 @@ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp)
/* CURLOPT_WRITEFUNCTION */
-static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data)
+static size_t write_cb(void *ptr _Unused, size_t size, size_t nmemb,
+ void *data)
{
size_t realsize = size * nmemb;
- ConnInfo *conn = (ConnInfo*) data;
- (void)ptr;
- (void)conn;
+ ConnInfo *conn _Unused = (ConnInfo*) data;
+
return realsize;
}
/* CURLOPT_PROGRESSFUNCTION */
-static int prog_cb(void *p, double dltotal, double dlnow, double ult,
- double uln)
+static int prog_cb(void *p, double dltotal, double dlnow, double ult _Unused,
+ double uln _Unused)
{
ConnInfo *conn = (ConnInfo *)p;
- (void)ult;
- (void)uln;
fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal);
return 0;
@@ -327,7 +339,6 @@ static void new_conn(char *url, GlobalInfo *g)
CURLMcode rc;
conn = calloc(1, sizeof(ConnInfo));
- memset(conn, 0, sizeof(ConnInfo));
conn->error[0]='\0';
conn->easy = curl_easy_init();
@@ -346,6 +357,7 @@ static void new_conn(char *url, GlobalInfo *g)
curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb);
curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn);
+ curl_easy_setopt(conn->easy, CURLOPT_FOLLOWLOCATION, 1L);
fprintf(MSG_OUT,
"Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url);
rc = curl_multi_add_handle(g->multi, conn->easy);
@@ -356,21 +368,25 @@ static void new_conn(char *url, GlobalInfo *g)
}
/* This gets called whenever data is received from the fifo */
-static void fifo_cb(int fd, short event, void *arg)
+static void fifo_cb(int fd _Unused, short event _Unused, void *arg)
{
char s[1024];
long int rv = 0;
int n = 0;
GlobalInfo *g = (GlobalInfo *)arg;
- (void)fd; /* unused */
- (void)event; /* unused */
do {
s[0]='\0';
rv = fscanf(g->input, "%1023s%n", s, &n);
s[n]='\0';
if(n && s[0]) {
- new_conn(s, arg); /* if we read a URL, go get it! */
+ if(!strcmp(s, "stop")) {
+ g->stopped = 1;
+ if(g->still_running == 0)
+ event_base_loopbreak(g->evbase);
+ }
+ else
+ new_conn(s, arg); /* if we read a URL, go get it! */
}
else
break;
@@ -405,29 +421,28 @@ static int init_fifo(GlobalInfo *g)
g->input = fdopen(sockfd, "r");
fprintf(MSG_OUT, "Now, pipe some URL's into > %s\n", fifo);
- g->fifo_event = event_new(g->evbase, sockfd, EV_READ|EV_PERSIST, fifo_cb, g);
- event_add(g->fifo_event, NULL);
+ event_assign(&g->fifo_event, g->evbase, sockfd, EV_READ|EV_PERSIST,
+ fifo_cb, g);
+ event_add(&g->fifo_event, NULL);
return (0);
}
static void clean_fifo(GlobalInfo *g)
{
- event_free(g->fifo_event);
+ event_del(&g->fifo_event);
fclose(g->input);
unlink(fifo);
}
-int main(int argc, char **argv)
+int main(int argc _Unused, char **argv _Unused)
{
GlobalInfo g;
- (void)argc;
- (void)argv;
memset(&g, 0, sizeof(GlobalInfo));
g.evbase = event_base_new();
init_fifo(&g);
g.multi = curl_multi_init();
- g.timer_event = evtimer_new(g.evbase, timer_cb, &g);
+ evtimer_assign(&g.timer_event, g.evbase, timer_cb, &g);
/* setup the generic multi interface options we want */
curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb);
@@ -443,7 +458,7 @@ int main(int argc, char **argv)
/* this, of course, won't get called since only way to stop this program is
via ctrl-C, but it is here to show how cleanup /would/ be done. */
clean_fifo(&g);
- event_free(g.timer_event);
+ event_del(&g.timer_event);
event_base_free(g.evbase);
curl_multi_cleanup(g.multi);
return 0;
diff --git a/docs/examples/http2-download.c b/docs/examples/http2-download.c
index 8515663f..cc9ff2b5 100644
--- a/docs/examples/http2-download.c
+++ b/docs/examples/http2-download.c
@@ -71,12 +71,12 @@ void dump(const char *text, int num, unsigned char *ptr, size_t size,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stderr, "%d %s, %ld bytes (0x%lx)\n",
- num, text, (long)size, (long)size);
+ fprintf(stderr, "%d %s, %lu bytes (0x%lx)\n",
+ num, text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", (long)i);
+ fprintf(stderr, "%4.4lx: ", i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/http2-serverpush.c b/docs/examples/http2-serverpush.c
index 0162a8f8..94c8db97 100644
--- a/docs/examples/http2-serverpush.c
+++ b/docs/examples/http2-serverpush.c
@@ -51,12 +51,12 @@ void dump(const char *text, unsigned char *ptr, size_t size,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stderr, "%s, %ld bytes (0x%lx)\n",
- text, (long)size, (long)size);
+ fprintf(stderr, "%s, %lu bytes (0x%lx)\n",
+ text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", (long)i);
+ fprintf(stderr, "%4.4lx: ", i);
if(!nohex) {
/* hex not disabled, show it */
@@ -180,12 +180,12 @@ static int server_push_callback(CURL *parent,
/* write to this file */
curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
- fprintf(stderr, "**** push callback approves stream %u, got %d headers!\n",
- count, (int)num_headers);
+ fprintf(stderr, "**** push callback approves stream %u, got %lu headers!\n",
+ count, num_headers);
for(i = 0; i<num_headers; i++) {
headp = curl_pushheader_bynum(headers, i);
- fprintf(stderr, "**** header %u: %s\n", (int)i, headp);
+ fprintf(stderr, "**** header %lu: %s\n", i, headp);
}
headp = curl_pushheader_byname(headers, ":path");
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index d7aa320e..827d172e 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -72,12 +72,12 @@ void dump(const char *text, int num, unsigned char *ptr, size_t size,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stderr, "%d %s, %ld bytes (0x%lx)\n",
- num, text, (long)size, (long)size);
+ fprintf(stderr, "%d %s, %lu bytes (0x%lx)\n",
+ num, text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", (long)i);
+ fprintf(stderr, "%4.4lx: ", i);
if(!nohex) {
/* hex not disabled, show it */
@@ -113,7 +113,7 @@ int my_trace(CURL *handle, curl_infotype type,
char *data, size_t size,
void *userp)
{
- char timebuf[20];
+ char timebuf[60];
const char *text;
int num = hnd2num(handle);
static time_t epoch_offset;
diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c
index abb0de68..5de3ff3e 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -51,12 +51,12 @@ void dump(const char *text,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
- text, (long)size, (long)size);
+ fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n",
+ text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stream, "%4.4lx: ", (long)i);
+ fprintf(stream, "%4.4lx: ", i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/sessioninfo.c b/docs/examples/sessioninfo.c
index 024a0e12..86a813a0 100644
--- a/docs/examples/sessioninfo.c
+++ b/docs/examples/sessioninfo.c
@@ -63,7 +63,7 @@ static size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream)
gnutls_x509_crt_import(cert, &chainp[i], GNUTLS_X509_FMT_DER)) {
if(GNUTLS_E_SUCCESS ==
gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_FULL, &dn)) {
- fprintf(stderr, "Certificate #%d: %.*s", i, dn.size, dn.data);
+ fprintf(stderr, "Certificate #%u: %.*s", i, dn.size, dn.data);
gnutls_free(dn.data);
}
diff --git a/docs/examples/sftpuploadresume.c b/docs/examples/sftpuploadresume.c
index 032bcaff..6e60c1e5 100644
--- a/docs/examples/sftpuploadresume.c
+++ b/docs/examples/sftpuploadresume.c
@@ -65,7 +65,7 @@ static curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile)
result = curl_easy_getinfo(curlHandlePtr,
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
&remoteFileSizeByte);
- printf("filesize: %ld \n", remoteFileSizeByte);
+ printf("filesize: %" CURL_FORMAT_CURL_OFF_T "\n", remoteFileSizeByte);
}
curl_easy_cleanup(curlHandlePtr);
@@ -96,7 +96,11 @@ static int sftpResumeUpload(CURL *curlhandle, const char *remotepath,
curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc);
curl_easy_setopt(curlhandle, CURLOPT_READDATA, f);
- fseek(f, remoteFileSizeByte, SEEK_SET);
+#ifdef _WIN32
+ _fseeki64(f, remoteFileSizeByte, SEEK_SET);
+#else
+ fseek(f, (long)remoteFileSizeByte, SEEK_SET);
+#endif
curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L);
result = curl_easy_perform(curlhandle);
diff --git a/docs/examples/shared-connection-cache.c b/docs/examples/shared-connection-cache.c
index a1aa0d67..91864d9b 100644
--- a/docs/examples/shared-connection-cache.c
+++ b/docs/examples/shared-connection-cache.c
@@ -20,7 +20,7 @@
*
***************************************************************************/
/* <DESC>
- * Connection cache shared between easy handles with the share inteface
+ * Connection cache shared between easy handles with the share interface
* </DESC>
*/
#include <stdio.h>
diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am
index 8a232e83..041f02ea 100644
--- a/docs/libcurl/Makefile.am
+++ b/docs/libcurl/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 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
@@ -38,7 +38,7 @@ dist_m4macro_DATA = libcurl.m4
CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) $(man_DISTMANS) \
libcurl-symbols.3
-EXTRA_DIST = $(man_MANS) index.html ABI symbols-in-versions symbols.pl \
+EXTRA_DIST = $(man_MANS) ABI symbols-in-versions symbols.pl \
mksymbolsmanpage.pl CMakeLists.txt
MAN2HTML= roffit --mandir=. $< >$@
diff --git a/docs/libcurl/curl_easy_cleanup.3 b/docs/libcurl/curl_easy_cleanup.3
index eaffb087..2990f59d 100644
--- a/docs/libcurl/curl_easy_cleanup.3
+++ b/docs/libcurl/curl_easy_cleanup.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_cleanup 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_cleanup 3 "April 17, 2018" "libcurl 7.60.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 1832db8a..61b3ec0d 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.60.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 bd995a8f..c21dc750 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.59.0" "libcurl Manual"
+.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.60.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 049233a0..3a93671e 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_getinfo 3 "January 25, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_getinfo 3 "January 25, 2018" "libcurl 7.60.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 c37cc53e..d487d250 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.59.0" "libcurl Manual"
+.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.60.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 867cbbae..61e9ad24 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.59.0" "libcurl Manual"
+.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.60.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 9a46f531..61a80c16 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 "May 02, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.60.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 8a002ea3..52ad0efe 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.59.0" "libcurl Manual"
+.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.60.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 41c96d18..3f7cd56f 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.60.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 7e16c9c0..0f38a87b 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.59.0" "libcurl Manual"
+.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.60.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 a141f0f4..4e8572e5 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_setopt 3 "February 14, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_easy_setopt 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_easy_setopt \- set options for a curl easy handle
@@ -186,6 +186,8 @@ Socks5 GSSAPI service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP
Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
.IP CURLOPT_PROXY_SERVICE_NAME
Proxy authentication service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP
+.IP CURLOPT_HAPROXYPROTOCOL
+Send an HAProxy PROXY protocol header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
.IP CURLOPT_SERVICE_NAME
Authentication service name. \fICURLOPT_SERVICE_NAME(3)\fP
.IP CURLOPT_INTERFACE
@@ -273,9 +275,9 @@ Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP
.IP CURLOPT_POSTREDIR
How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP
.IP CURLOPT_PUT
-Issue a HTTP PUT request. See \fICURLOPT_PUT(3)\fP
+Issue an HTTP PUT request. See \fICURLOPT_PUT(3)\fP
.IP CURLOPT_POST
-Issue a HTTP POST request. See \fICURLOPT_POST(3)\fP
+Issue an HTTP POST request. See \fICURLOPT_POST(3)\fP
.IP CURLOPT_POSTFIELDS
Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP
.IP CURLOPT_POSTFIELDSIZE
@@ -309,7 +311,7 @@ Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP
.IP CURLOPT_COOKIELIST
Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
.IP CURLOPT_HTTPGET
-Do a HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
+Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
.IP CURLOPT_REQUEST_TARGET
Set the request target. \fICURLOPT_REQUEST_TARGET(3)\fP
.IP CURLOPT_HTTP_VERSION
@@ -467,6 +469,8 @@ Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP
Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP
.IP CURLOPT_DNS_SERVERS
Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP
+.IP CURLOPT_DNS_SHUFFLE_ADDRESSES
+Shuffle addresses before use. See \fICURLOPT_DNS_SHUFFLE_ADDRESSES(3)\fP
.IP CURLOPT_ACCEPTTIMEOUT_MS
Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
.IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
diff --git a/docs/libcurl/curl_easy_strerror.3 b/docs/libcurl/curl_easy_strerror.3
index 562f8b29..45e0c33f 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.59.0" "libcurl Manual"
+.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.60.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 99b35a07..61cf12ee 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.59.0" "libcurl Manual"
+.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.60.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 69e2b9ff..c811e396 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.59.0" "libcurl Manual"
+.TH curl_escape 3 "February 03, 2016" "libcurl 7.60.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 441edd26..1b5e4574 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 "October 08, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_formadd 3 "October 08, 2017" "libcurl 7.60.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 7d1d804c..c3a8bcb2 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 "September 02, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_formfree 3 "September 02, 2017" "libcurl 7.60.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 69dc9925..7a6eea1d 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.59.0" "libcurl Manual"
+.TH curl_formget 3 "September 02, 2017" "libcurl 7.60.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 32e5cf20..4103bb71 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_free 3 "February 03, 2016" "libcurl 7.60.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 9c0aa1a3..b0bf5229 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.59.0" "libcurl Manual"
+.TH curl_getdate 3 "January 18, 2018" "libcurl 7.60.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 0ddb9e83..6b0b3a93 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.59.0" "libcurl Manual"
+.TH curl_getenv 3 "February 03, 2016" "libcurl 7.60.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 b0e4bc0f..f05c0e43 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.59.0" "libcurl Manual"
+.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.60.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 324c7bec..714d7c62 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 "January 24, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_global_init 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_global_init - Global libcurl initialisation
@@ -70,7 +70,7 @@ Initialize SSL.
The implication here is that if this bit is not set, the initialization of the
SSL layer needs to be done by the application or at least outside of
-libcurl. The exact procedure how to do SSL initializtion depends on the TLS
+libcurl. The exact procedure how to do SSL initialization depends on the TLS
backend libcurl uses.
Doing TLS based transfers without having the TLS layer initialized may lead to
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index 55901331..1c59d3f6 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.60.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 03b74cdd..3e93d009 100644
--- a/docs/libcurl/curl_global_sslset.3
+++ b/docs/libcurl/curl_global_sslset.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_sslset 3 "September 21, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_global_sslset 3 "April 15, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_global_sslset - Select SSL backend to use with libcurl
@@ -65,6 +65,9 @@ CURLSSLSET_UNKNOWN_BACKEND and set the \fIavail\fP pointer to the
NULL-terminated list of available backends. The available backends are those
that this particular build of libcurl supports.
+Since libcurl 7.60.0, the \fIavail\fP pointer will always be set to the list
+of alternatives if non-NULL.
+
Upon success, the function returns CURLSSLSET_OK.
If the specified SSL backend is not available, the function returns
@@ -85,7 +88,7 @@ support for choosing SSL backends at runtime.
.SH RETURN VALUE
If this function returns CURLSSLSET_OK, the backend was successfully selected.
-If the chosen backend is unknown (or support for the chosed backend has not
+If the chosen backend is unknown (or support for the chosen backend has not
been compiled into libcurl), the function returns \fICURLSSLSET_UNKNOWN_BACKEND\fP.
If the backend had been configured previously, or if \fIcurl_global_init(3)\fP
diff --git a/docs/libcurl/curl_mime_addpart.3 b/docs/libcurl/curl_mime_addpart.3
index fb4acd86..e8333d42 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.59.0" "libcurl Manual"
+.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.60.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 437ab1ea..e75ef7c5 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.59.0" "libcurl Manual"
+.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.60.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 21fb5d45..fd80e51a 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 "January 14, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_mime_data_cb - set a callback-based data source for a mime part's body
@@ -69,7 +69,7 @@ Your read function must then return the actual number of bytes that it stored
in that memory area. Returning 0 will signal end-of-file to the library and
cause it to stop the current transfer.
-If you stop the current transfer by returning 0 "pre-maturely" (i.e before the
+If you stop the current transfer by returning 0 "pre-maturely" (i.e. before the
server expected it, like when you've said you will upload N bytes and you
upload less than N bytes), you may experience that the server "hangs" waiting
for the rest of the data that won't come.
diff --git a/docs/libcurl/curl_mime_encoder.3 b/docs/libcurl/curl_mime_encoder.3
index bceaeb22..02d50cf5 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.59.0" "libcurl Manual"
+.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.60.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 bff6b29a..0765a626 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 "January 14, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_mime_filedata - set a mime part's body data from a file contents
@@ -31,7 +31,7 @@ curl_mime_filedata - set a mime part's body data from a file contents
.ad
.SH DESCRIPTION
\fIcurl_mime_filedata(3)\fP sets a mime part's body content from the named
-file's contents. This is an alernative to \fIcurl_mime_data(3)\fP for setting
+file's contents. This is an alternative to \fIcurl_mime_data(3)\fP for setting
data to a mime part.
\fIpart\fP is the part's to assign contents to.
diff --git a/docs/libcurl/curl_mime_filename.3 b/docs/libcurl/curl_mime_filename.3
index 1027b21c..fa4cf0d1 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.59.0" "libcurl Manual"
+.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.60.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 55993dea..c6fc7bff 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 "September 04, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_mime_free 3 "September 04, 2017" "libcurl 7.60.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 b48ea7a7..e34240f8 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.59.0" "libcurl Manual"
+.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.60.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 7017da06..5b51ddc1 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.59.0" "libcurl Manual"
+.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.60.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 19e8d7f8..63a899ea 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.59.0" "libcurl Manual"
+.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.60.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 36923930..7477877e 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.59.0" "libcurl Manual"
+.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.60.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 ceb60c74..60feadf8 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 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_mime_type - set a mime part's content type
@@ -46,7 +46,7 @@ a default mime type is determined by the context:
.br
- If set as a custom header, use this value.
.br
-- application/form-data for a HTTP form post.
+- application/form-data for an HTTP form post.
.br
- If a remote file name is set, the mime type is taken from the file name
extension, or application/octet-stream by default.
diff --git a/docs/libcurl/curl_mprintf.3 b/docs/libcurl/curl_mprintf.3
index 24880a11..4a66db25 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.59.0" "libcurl Manual"
+.TH curl_printf 3 "April 01, 2016" "libcurl 7.60.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 4c2b32cb..344cb5dd 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_add_handle 3 "February 03, 2016" "libcurl 7.60.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 3a126c0f..b481f37d 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.59.0" "libcurl Manual"
+.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.60.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 9053af09..218d4b52 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.60.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 d4a2dd99..3aea4400 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.59.0" "libcurl Manual"
+.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.60.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 a8871e9e..e6a9dc90 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.59.0" "libcurl Manual"
+.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.60.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 6f4f2b83..5ba50e35 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.60.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 b254b5d1..39c8a5dd 100644
--- a/docs/libcurl/curl_multi_perform.3
+++ b/docs/libcurl/curl_multi_perform.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_multi_perform - reads/writes available data from each easy handle
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index b7b6cb57..eb46ee8f 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 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.60.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 5546e287..3b379ac9 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_multi_setopt \- set options for a curl multi handle
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index 65d89141..0625d388 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 "December 15, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_socket 3 "December 15, 2016" "libcurl 7.60.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 0f1e8d64..e9a86306 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 07, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_socket_action 3 "June 07, 2016" "libcurl 7.60.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 7ea6b20c..b3037ed0 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.59.0" "libcurl Manual"
+.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.60.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 ce89899d..c8e7c6a6 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 "May 02, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.60.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 cf843303..f04159ed 100644
--- a/docs/libcurl/curl_multi_wait.3
+++ b/docs/libcurl/curl_multi_wait.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.60.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 2b0d2e1c..10b2f33d 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.60.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 edcce88a..e17d4139 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 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_share_init 3 "February 03, 2016" "libcurl 7.60.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 e92435f1..e0f71562 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 "February 23, 2018" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_share_setopt 3 "February 23, 2018" "libcurl 7.60.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 0d92c3e8..c43e9815 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.59.0" "libcurl Manual"
+.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.60.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 6f944f1f..f89a3abc 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 "May 05, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.60.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 2f3afedc..503420fe 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 "May 05, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.60.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 a442c7f7..bc59a1d4 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.59.0" "libcurl Manual"
+.TH curl_strequal 3 "June 29, 2017" "libcurl 7.60.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 66193178..5a82b5aa 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.59.0" "libcurl Manual"
+.TH curl_unescape 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_version.3 b/docs/libcurl/curl_version.3
index 88a85443..980aafb0 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.59.0" "libcurl Manual"
+.TH curl_version 3 "February 03, 2016" "libcurl 7.60.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 5b2899f1..9af0f0ea 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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 curl_version_info 3 "December 29, 2017" "libcurl 7.59.0" "libcurl Manual"
+.TH curl_version_info 3 "March 17, 2018" "libcurl 7.60.0" "libcurl Manual"
.SH NAME
curl_version_info - returns run-time libcurl version info
@@ -170,8 +170,9 @@ libcurl was built with multiple SSL backends. For details, see
.IP CURL_VERSION_BROTLI
supports HTTP Brotli content encoding using libbrotlidec (Added in 7.57.0)
.RE
-\fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl
-has no SSL support, this is NULL.
+\fIssl_version\fP is an ASCII string for the TLS library name + version
+used. If libcurl has no SSL support, this is NULL. For example "WinSSL",
+\&"SecureTransport" or "OpenSSL/1.1.0g".
\fIssl_version_num\fP is always 0.
diff --git a/docs/libcurl/libcurl-easy.3 b/docs/libcurl/libcurl-easy.3
index 792f71b8..700a718a 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.59.0" "libcurl easy interface"
+.TH libcurl 3 "February 03, 2016" "libcurl 7.60.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 feeacec1..9eb708bf 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 "January 24, 2018" "libcurl 7.59.0" "libcurl environment variables"
+.TH libcurl-env 3 "April 17, 2018" "libcurl 7.60.0" "libcurl environment variables"
.SH NAME
libcurl-env \- environment variables libcurl understands
@@ -72,7 +72,7 @@ used to find the directory for NSS PKI database instead of the built-in.
User name to use when invoking the ntlm-wb tool, if NTLMUSER and LOGNAME
weren't set.
.SH "Debug Variables"
-There's a set of variables only recognized and used if libcurl was buillt
+There's a set of variables only recognized and used if libcurl was built
"debug enabled", which should never be true for a library used in production.
.IP "CURL_GETHOSTNAME"
Debug-only variable.
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index 8aa7b97c..ea15c07b 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-errors 3 "February 10, 2018" "libcurl 7.59.0" "libcurl errors"
+.TH libcurl-errors 3 "February 10, 2018" "libcurl 7.60.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 1fd23666..a8abb640 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.59.0" "libcurl multi interface"
+.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.60.0" "libcurl multi interface"
.SH NAME
libcurl-multi \- how to use the multi interface
diff --git a/docs/libcurl/libcurl-security.3 b/docs/libcurl/libcurl-security.3
index e8037c39..15d1d02f 100644
--- a/docs/libcurl/libcurl-security.3
+++ b/docs/libcurl/libcurl-security.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-security 3 "February 13, 2018" "libcurl 7.59.0" "libcurl security"
+.TH libcurl-security 3 "April 17, 2018" "libcurl 7.60.0" "libcurl security"
.SH NAME
libcurl-security \- security considerations when using libcurl
@@ -76,7 +76,7 @@ doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or
NTLM authentication. Or even better: use authenticated protocols that protect
the entire connection and everything sent over it.
.SH "Un-authenticated Connections"
-Protocols that don't have any form of cryptographic authentication can not
+Protocols that don't have any form of cryptographic authentication cannot
with any certainty know that they communicate with the right remote server.
If your application is using a fixed scheme or fixed host name, it is not safe
diff --git a/docs/libcurl/libcurl-share.3 b/docs/libcurl/libcurl-share.3
index b1d6a330..d2efd6b7 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.59.0" "libcurl share interface"
+.TH libcurl-share 3 "November 27, 2017" "libcurl 7.60.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 20d90695..5853faae 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 "mar 14, 2018" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "maj 16, 2018" "libcurl 7.41.0" "libcurl symbols"
.SH NAME
libcurl-symbols \- libcurl symbol version information
.SH "libcurl symbols"
@@ -813,6 +813,8 @@ Introduced in 7.33.0
Introduced in 7.33.0
.IP CURLOPT_DNS_SERVERS
Introduced in 7.24.0
+.IP CURLOPT_DNS_SHUFFLE_ADDRESSES
+Introduced in 7.60.0
.IP CURLOPT_DNS_USE_GLOBAL_CACHE
Introduced in 7.9.3
Deprecated since 7.11.1
@@ -882,6 +884,8 @@ Introduced in 7.20.0
Introduced in 7.22.0
.IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
Introduced in 7.59.0
+.IP CURLOPT_HAPROXYPROTOCOL
+Introduced in 7.60.0
.IP CURLOPT_HEADER
Introduced in 7.1
.IP CURLOPT_HEADERDATA
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
index 56a736d2..f8665c3a 100644
--- a/docs/libcurl/libcurl-thread.3
+++ b/docs/libcurl/libcurl-thread.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.59.0" "libcurl thread safety"
+.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.60.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 b88ef06a..1b1f66c9 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-tutorial 3 "February 23, 2018" "libcurl 7.59.0" "libcurl programming"
+.TH libcurl-tutorial 3 "April 17, 2018" "libcurl 7.60.0" "libcurl programming"
.SH NAME
libcurl-tutorial \- libcurl programming tutorial
@@ -291,7 +291,7 @@ at least briefly.
.SH "Upload Data to a Remote Site"
libcurl tries to keep a protocol independent approach to most transfers, thus
-uploading to a remote FTP site is very similar to uploading data to a HTTP
+uploading to a remote FTP site is very similar to uploading data to an HTTP
server with a PUT request.
Of course, first you either create an easy handle or you re-use one existing
@@ -518,7 +518,7 @@ and then a file with binary contents and uploads the whole thing.
To post multiple files for a single form field, you must supply each file in
a separate part, all with the same field name. Although function
-\fIcurl_mime_subparts(3)\fP implements nested muti-parts, this way of
+\fIcurl_mime_subparts(3)\fP implements nested multi-parts, this way of
multiple files posting is deprecated by RFC 7578, chapter 4.3.
To set the data source from an already opened FILE pointer, use:
@@ -792,12 +792,12 @@ identified in the URL.
If you're using a SOCKS proxy, you may find that libcurl doesn't quite support
all operations through it.
-For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain
+For HTTP proxies: the fact that the proxy is an HTTP proxy puts certain
restrictions on what can actually happen. A requested URL that might not be a
HTTP URL will be still be passed to the HTTP proxy to deliver back to
libcurl. This happens transparently, and an application may not need to
know. I say "may", because at times it is very important to understand that
-all operations over a HTTP proxy use the HTTP protocol. For example, you
+all operations over an HTTP proxy use the HTTP protocol. For example, you
can't invoke your own custom FTP commands or even proper FTP directory
listings.
@@ -817,7 +817,7 @@ If you want to, you can specify the host name only in the
\fICURLOPT_PROXYPORT(3)\fP.
Tell libcurl what kind of proxy it is with \fICURLOPT_PROXYTYPE(3)\fP (if not,
-it will default to assume a HTTP proxy):
+it will default to assume an HTTP proxy):
curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
@@ -853,11 +853,11 @@ variables, set the proxy name to "" - an empty string - with
SSL is for secure point-to-point connections. This involves strong encryption
and similar things, which effectively makes it impossible for a proxy to
operate as a "man in between" which the proxy's task is, as previously
-discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask
+discussed. Instead, the only way to have SSL work over an HTTP proxy is to ask
the proxy to tunnel trough everything without being able to check or fiddle
with the traffic.
-Opening an SSL connection over a HTTP proxy is therefore a matter of asking the
+Opening an SSL connection over an HTTP proxy is therefore a matter of asking the
proxy for a straight connection to the target host on a specified port. This
is made with the HTTP request CONNECT. ("please mr proxy, connect me to that
remote host").
@@ -877,7 +877,7 @@ you or your application.
As tunneling opens a direct connection from your application to the remote
machine, it suddenly also re-introduces the ability to do non-HTTP
-operations over a HTTP proxy. You can in fact use things such as FTP
+operations over an HTTP proxy. You can in fact use things such as FTP
upload or FTP custom commands this way.
Again, this is often prevented by the administrators of proxies and is
@@ -1057,7 +1057,7 @@ you can tell libcurl to use 1.0 instead by doing something like this:
Not all protocols are HTTP-like, and thus the above may not help you when
you want to make, for example, your FTP transfers to behave differently.
-Sending custom commands to a FTP server means that you need to send the
+Sending custom commands to an FTP server means that you need to send the
commands exactly as the FTP server expects them (RFC959 is a good guide
here), and you can only use commands that work on the control-connection
alone. All kinds of commands that require data interchange and thus need
@@ -1101,7 +1101,7 @@ combine with \fICURLOPT_NOBODY(3)\fP. If this option is set, no actual file
content transfer will be performed.
.IP "FTP Custom CUSTOMREQUEST"
-If you do want to list the contents of a FTP directory using your own defined
+If you do want to list the contents of an FTP directory using your own defined
FTP command, \fICURLOPT_CUSTOMREQUEST(3)\fP will do just that. "NLST" is the
default one for listing directories but you're free to pass in your idea of a
good alternative.
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 6026f10e..21024844 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.59.0" "libcurl overview"
+.TH libcurl 3 "July 15, 2017" "libcurl 7.60.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 6cac17f8..0eb6a6f7 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.60.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 7a8d7e09..db7e4415 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME 3 "May 05, 2017" "libcurl 7.60.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_CERTINFO.3 b/docs/libcurl/opts/CURLINFO_CERTINFO.3
index 83a30bb6..f999d7ab 100644
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/CURLINFO_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.60.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 3caf5661..d7737ba2 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.60.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 90f9d084..b37bc09c 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONNECT_TIME \- 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 dedd7726..464e94b4 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.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 24456d12..6b6dc78c 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
@@ -49,7 +49,7 @@ if(curl) {
curl_off_t cl;
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &cl);
if(!res) {
- printf("Size: " CURL_FORMAT_CURL_OFF_T "\\n", cl);
+ printf("Download size: %" CURL_FORMAT_CURL_OFF_T "\\n", cl);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
index 9f345ef0..e5b532c9 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.60.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 ab7d938b..a449e699 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
@@ -48,7 +48,7 @@ if(curl) {
curl_off_t cl;
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_UPLOAD_T, &cl);
if(!res) {
- printf("Size: " CURL_FORMAT_CURL_OFF_T "\\n", cl);
+ printf("Upload size: %" CURL_FORMAT_CURL_OFF_T "\\n", cl);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3 b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
index 9db14141..8f3fb9ab 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.60.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 62039add..d2f807b1 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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 CURLINFO_COOKIELIST 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_COOKIELIST \- get all known cookies
@@ -57,9 +57,10 @@ if(curl) {
res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies);
if(!res && cookies) {
/* a linked list of cookies in cookie file format */
- while(cookies) {
- printf("%s", cookies->data);
- cookies = cookies->next;
+ struct curl_slist *each = cookies;
+ while(each) {
+ printf("%s", each->data);
+ each = each->next;
}
/* we must free these cookies when we're done */
curl_slist_free_all(cookies);
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3 b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
index ec79319e..40a104df 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.60.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 0b77214c..597610a7 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.60.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 e9a9867a..6143ba12 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.60.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 039cf66a..5e9400c9 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.60.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 eee5d000..008ca412 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.60.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 dad576a7..72f2c463 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.60.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 4ada67e8..e1793062 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.60.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 b6aa769a..e4e0137b 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 "May 11, 2016" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.60.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 0fa45e5b..c11f3fbf 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.60.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 10643d28..6588c7fc 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.60.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 91a3bb6c..31f72239 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.60.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 fba0972a..c5226da3 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3 b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
index 35389e1d..ccc7fb0d 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.60.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 e9b4ad06..928f81ab 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 "May 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_OS_ERRNO 3 "May 15, 2017" "libcurl 7.60.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 debef223..6c289bca 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME 3 "May 05, 2017" "libcurl 7.60.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_PRIMARY_IP.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
index ca3e2b12..83ddb7e3 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.60.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 f8124f2c..b1ded4d2 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.60.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 647460f1..bc01868b 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.60.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 61aacf5b..ccdbf53a 100644
--- a/docs/libcurl/opts/CURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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 CURLINFO_PROTOCOL 3 "November 23, 2016" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROTOCOL \- get the protocol used in the connection
@@ -29,8 +29,17 @@ CURLINFO_PROTOCOL \- get the protocol used in the connection
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p);
.SH DESCRIPTION
-Pass a pointer to a long to receive the version used in the last http connection.
-The returned value will be one of the CURLPROTO_* values.
+Pass a pointer to a long to receive the version used in the last http
+connection. The returned value will be exactly one of the CURLPROTO_* values:
+
+.nf
+CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_FTP, CURLPROTO_FTPS,
+CURLPROTO_GOPHER, CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_IMAP,
+CURLPROTO_IMAPS, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_POP3,
+CURLPROTO_POP3S, CURLPROTO_RTMP, CURLPROTO_RTMPE, CURLPROTO_RTMPS,
+CURLPROTO_RTMPT, CURLPROTO_RTMPTE, CURLPROTO_RTMPTS, CURLPROTO_RTSP,
+CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROTO_SMTP,
+CURLPROTO_SMTPS, CURLPROTO_TELNET, CURLPROTO_TFTP
.SH PROTOCOLS
All
.SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
index df4577b6..4e704c9e 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.60.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 93057fc5..fa88afdc 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.60.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 88ac2ef9..d4963c8c 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.60.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 8008a8e9..5f555518 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 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME 3 "May 05, 2017" "libcurl 7.60.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_URL.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
index 01db5751..c44cbe25 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.60.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 62c835fa..68002ee1 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.60.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 c44b64a4..1298eb3f 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RESPONSE_CODE \- get the last response code
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
index d4f4a4e4..6308e3ad 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.60.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 6b2197d5..851d9275 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.60.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 38546016..c6ccb380 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.60.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 28ef058f..4854ea93 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.60.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 bdbfbf5c..98cec7a0 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.60.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 baf96ded..3d48396c 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.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 c0e8723a..ff6cea2e 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
@@ -50,7 +50,7 @@ if(curl) {
curl_off_t dl;
res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD_T, &dl);
if(!res) {
- printf("Downloaded " CURL_FORMAT_CURL_OFF_T " bytes\\n", cl);
+ printf("Downloaded %" CURL_FORMAT_CURL_OFF_T " bytes\\n", dl);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
index 55363c4a..9f8d98e1 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.60.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 67d8e594..046dd3d4 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
@@ -46,7 +46,7 @@ if(curl) {
curl_off_t ul;
res = curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD_T, &ul);
if(!res) {
- printf("Uploaded " CURL_FORMAT_CURL_OFF_T " bytes\\n", ul);
+ printf("Uploaded %" CURL_FORMAT_CURL_OFF_T " bytes\\n", ul);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
index 78ce1d0d..1324290e 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.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 4286fd6a..b9e6abfd 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_DOWNLOAD_T \- get download speed
@@ -45,7 +45,7 @@ if(curl) {
curl_off_t speed;
res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD_T, &speed);
if(!res) {
- printf("Download speed " CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", ul);
+ printf("Download speed %" CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", speed);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
index 40075271..ffb07401 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.60.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 c18f2719..f16fb500 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 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_UPLOAD_T \- get upload speed
@@ -45,7 +45,7 @@ if(curl) {
curl_off_t speed;
res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed);
if(!res) {
- printf("Upload speed " CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", ul);
+ printf("Upload speed %" CURL_FORMAT_CURL_OFF_T " bytes/sec\\n", speed);
}
}
}
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3 b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
index 56583744..dd82ae34 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.60.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 d287ab8c..2cbaab9d 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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 CURLINFO_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
@@ -32,6 +32,8 @@ CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result
Pass a pointer to a long to receive the result of the server SSL certificate
verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP
option.
+
+0 is a positive result. Non-zero is an error.
.SH PROTOCOLS
All using TLS
.SH EXAMPLE
@@ -44,12 +46,12 @@ if(curl) {
res = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &verifyresult);
printf("The peer verification said %s\\n", verifyresult?
- "fine":"BAAAD");
+ "BAAAD":"fine");
curl_easy_cleanup(curl);
}
.fi
.SH AVAILABILITY
-Added in 7.5
+Added in 7.5. Only set by the OpenSSL/libressl/boringssl and NSS backends.
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
index dc9e6ab6..65939e55 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "May 05, 2017" "libcurl 7.60.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_TLS_SESSION.3 b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
index b2017371..a322ea1e 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.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.60.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 4c792a80..adb10751 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SSL_PTR 3 "May 31, 2017" "libcurl 7.60.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 c8979aae..ed0224aa 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 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TOTAL_TIME \- get total time of previous transfer
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index 8beb3ebe..5052b71c 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 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.60.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 9336de1d..fbd3d88a 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 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.60.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 6795c8b6..8606ef75 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAXCONNECTS \- set size of connection cache
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
index ebc84c81..1b9dcc52 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.60.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 aedcefc1..ea27b24f 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 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.60.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 8fe2dfbd..8b0b7d65 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.60.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 6f236dd4..5df8a6ee 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.60.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 7d4918e8..614a0e6c 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 "February 03, 2016" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.60.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 990924c5..f5dd2d5c 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 "February 03, 2016" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.60.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 fa14fb1f..e773e4f9 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.60.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 c7bb3925..2b35e2e2 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.60.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 fb058826..61d63c6c 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.60.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 3e4ea8ff..c9f95311 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.60.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 cc9ed5a5..6b911efb 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.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.60.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 b5120984..0e3f8ee6 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.60.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 b5976a0c..5228b37d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.60.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 836a5e5a..b5de9973 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.60.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 682e2507..ef96297e 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 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPT_ENCODING 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
@@ -31,7 +31,7 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc);
.SH DESCRIPTION
Pass a char * argument specifying what encoding you'd like.
-Sets the contents of the Accept-Encoding: header sent in a HTTP request, and
+Sets the contents of the Accept-Encoding: header sent in an HTTP request, and
enables decoding of a response when a Content-Encoding: header is received.
Three encodings are supported: \fIidentity\fP, meaning non-compressed,
\fIdeflate\fP which requests the server to compress its response using the
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3 b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
index 30d08341..105cda0b 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.3 b/docs/libcurl/opts/CURLOPT_APPEND.3
index 7f8ab631..6325bc29 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.60.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 8e01d65a..deaaf859 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.60.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 3be6aaf9..7a03da9d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.60.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 9e159ebf..04b04342 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CAINFO 3 "May 27, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CAINFO 3 "March 10, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
@@ -53,6 +53,11 @@ should not be set. If the option is not set, then curl will use the
certificates in the system and user Keychain to verify the peer, which is the
preferred method of verifying the peer's certificate chain.
+(Schannel/WinSSL only) This option is supported for WinSSL in Windows 7 or
+later with libcurl 7.60 or later. This option is supported for backward
+compatibility with other SSL engines; instead it is recommended to use Windows'
+store of root certificates (the default for WinSSL).
+
The application does not have to keep the string around after setting this
option.
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index dd85be5a..3bf9ccc0 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.60.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 2333d9ae..f33fc879 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.60.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 19c6c2a4..0f1a9fb7 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 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 9636a11c..db1b58cc 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_DATA 3 "May 31, 2017" "libcurl 7.60.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 d1621e45..093373e5 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 019a2597..01c45913 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.60.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 4bf2b7f5..bf7ef80e 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.60.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 3d54b272..3ea39805 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.60.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 f6c82557..3af37f25 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 24, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 24, 2017" "libcurl 7.60.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 0cf889a2..6eb0e10e 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_ONLY 3 "May 31, 2017" "libcurl 7.60.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 bfab71c3..0cae7d3c 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
@@ -9,7 +9,7 @@
.\" *
.\" * 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 http://curl.haxx.se/docs/copyright.html.
+.\" * 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
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECT_TO 3 "May 20, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.60.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
@@ -71,7 +71,7 @@ the port in the request URL, because connecting to the host and the port in
the request URL is the default behavior.
If an HTTP proxy is used for a request having a special "connect to" host or
-port, and the "connect to" host or port differs from the requests's host and
+port, and the "connect to" host or port differs from the request's host and
port, the HTTP proxy is automatically switched to tunnel mode for this
specific request. This is necessary because it is not possible to connect to a
specific host or port in normal (non-tunnel) mode.
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index 94dc6b8d..5567ec20 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 66dd8ae1..e546c343 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 2ab76478..dfc8b5f9 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 b76ac252..4626d26e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.60.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 a2981966..c6d2d4cb 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.60.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 16036cb1..a3e71321 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.60.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 402b7430..438f7c03 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.60.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 cb49baed..bd1a6745 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.60.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 07ecad1e..ca4fe1da 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.60.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 56d71bfa..72e71237 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.60.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 3e3d5ced..26c6c3b9 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CRLFILE \- specify a Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index 16e413ef..ab7bd6dc 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CUSTOMREQUEST 3 "June 21, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CUSTOMREQUEST \- custom string for request
@@ -41,7 +41,7 @@ Restore to the internal default by setting this to NULL.
This option can be used to specify the request:
.IP HTTP
Instead of GET or HEAD when performing HTTP based requests. This is
-particularly useful, for example, for performing a HTTP DELETE request.
+particularly useful, for example, for performing an HTTP DELETE request.
For example:
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3 b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
index 62533026..e3e279fa 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.60.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 b491c1cb..ffff4aae 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.60.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 20ba393d..a8fb7c04 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.60.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 26c3a5a1..406c08e3 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
index 4dc77317..8f1a1342 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.60.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 81054516..0aecf02e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.60.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 c995ef57..8a9d4daa 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.60.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 17c32c2c..cf88905e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.60.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 94c8505f..14761e0c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.60.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
new file mode 100644
index 00000000..90b60368
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
@@ -0,0 +1,70 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 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
+.\" * 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 CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SHUFFLE_ADDRESSES, long onoff);
+.fi
+.SH DESCRIPTION
+When a name is resolved and more than one IP address is returned, shuffle the
+order of all returned addresses so that they will be used in a random order.
+This is similar to the ordering behavior of gethostbyname which is no longer
+used on most platforms.
+
+Addresses will not be reshuffled if a name resolution is completed using the
+DNS cache. \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP can be used together with this
+option to reduce DNS cache timeout or disable caching entirely if frequent
+reshuffling is needed.
+
+Since the addresses returned will be reordered randomly, their order will not
+be in accordance with RFC 3484 or any other deterministic order that may be
+generated by the system's name resolution implementation. This may have
+performance impacts and may cause IPv4 to be used before IPv6 or vice versa.
+.SH DEFAULT
+0 (disabled)
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+ curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 1L);
+
+ curl_easy_perform(curl);
+
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.60.0
+.SH RETURN VALUE
+CURLE_OK or an error such as CURLE_UNKNOWN_OPTION.
+.SH "SEE ALSO"
+.BR CURLOPT_DNS_CACHE_TIMEOUT "(3), " CURLOPT_IPRESOLVE "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3 b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
index 4c881276..42878f05 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index 3e4797f0..882f39ee 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.60.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 2e7efa8c..9d1ad29b 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ERRORBUFFER 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ERRORBUFFER \- set error buffer for error messages
@@ -29,8 +29,8 @@ CURLOPT_ERRORBUFFER \- set error buffer for error messages
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf);
.SH DESCRIPTION
-Pass a char * to a buffer that the libcurl may store human readable error
-messages in on failures or problems. This may be more helpful than just the
+Pass a char * to a buffer that libcurl \fBmay\fP store human readable error
+messages on failures or problems. This may be more helpful than just the
return code from \fIcurl_easy_perform(3)\fP and related functions. The buffer
\fBmust be at least CURL_ERROR_SIZE bytes big\fP.
@@ -39,11 +39,13 @@ it. Failing to do so will cause very odd behavior or even crashes. libcurl
will need it until you call \fIcurl_easy_cleanup(3)\fP or you set the same
option again to use a different pointer.
+Do not rely on the contents of the buffer unless an error code was returned.
+Since 7.60.0 libcurl will initialize the contents of the error buffer to an
+empty string before performing the transfer. For earlier versions if an error
+code was returned but there was no error detail then the buffer is untouched.
+
Consider \fICURLOPT_VERBOSE(3)\fP and \fICURLOPT_DEBUGFUNCTION(3)\fP to better
debug and trace why errors happen.
-
-If the library does not return an error, the buffer may not have been
-touched. Do not rely on the contents in those cases.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
index e74f42ff..a1d88f10 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
@@ -33,7 +33,7 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS,
.SH DESCRIPTION
Pass a long to tell libcurl the number of \fImilliseconds\fP to wait for a
server response with the HTTP status 100 (Continue), 417 (Expectation Failed)
-or similar after sending a HTTP request containing an Expect: 100-continue
+or similar after sending an HTTP request containing an Expect: 100-continue
header. If this times out before a response is received, the request body is
sent anyway.
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index 8f57c99a..e87eab40 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FAILONERROR 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
@@ -56,7 +56,7 @@ if(curl) {
curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);
ret = curl_easy_perform(curl);
if(ret == CURLE_HTTP_RETURNED_ERROR) {
- /* a HTTP response error problem */
+ /* an HTTP response error problem */
}
}
.fi
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.3 b/docs/libcurl/opts/CURLOPT_FILETIME.3
index df5773c5..a07c6f0a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.60.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 537d4c50..0242caf9 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.60.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 43f256a1..375b0056 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.60.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 5422beaa..69ceb9c1 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FOLLOWLOCATION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FOLLOWLOCATION 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
@@ -30,7 +30,7 @@ CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);
.SH DESCRIPTION
A long parameter set to 1 tells the library to follow any Location: header
-that the server sends as part of a HTTP header in a 3xx response. The
+that the server sends as part of an HTTP header in a 3xx response. The
Location: header can specify a relative or an absolute URL to follow.
libcurl will issue another request for the new URL and follow new Location:
@@ -78,4 +78,4 @@ Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
.BR CURLOPT_REDIR_PROTOCOLS "(3), " CURLOPT_PROTOCOLS "(3), "
.BR CURLOPT_POSTREDIR "(3), "
-.BR CURLINFO_REDIRECT_URL "(3), ", CURLINFO_REDIRECT_COUNT "(3), "
+.BR CURLINFO_REDIRECT_URL "(3), " CURLINFO_REDIRECT_COUNT "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3 b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
index 48e5c7c9..bca2cbbd 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.60.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 9760c9a6..6cc511fc 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.60.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 8251a0c5..8a99d974 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.60.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 c199bd9b..28db721d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.60.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 efc0c70e..a467d4af 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.60.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 4b6415de..7d2f91ce 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.60.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 6a5c8422..559141bc 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.60.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 4ec634a9..6271476e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.60.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 eea39bb1..bc3edc41 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.60.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 46e630d3..13a236cf 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.60.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 488a02fc..d1864b2c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.60.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 feee2c5b..ea7a746a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.60.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 0ad62d05..f6a5026d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.60.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 f2e2ab42..b253b38f 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.60.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 44d19284..cb23b132 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.60.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 8510d3e9..ac9a564a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.60.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
new file mode 100644
index 00000000..e4c18703
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
@@ -0,0 +1,58 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2017, 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 CURLOPT_HAPROXYPROTOCOL 3 "December 01, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol header
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL,
+ long haproxy_protocol);
+.SH DESCRIPTION
+A long parameter set to 1 tells the library to send an HAProxy PROXY
+protocol header at beginning of the connection. The default action is not to
+send this header.
+
+This option is primarily useful when sending test requests to a service that
+expects this header.
+
+Most applications do not need this option.
+.SH DEFAULT
+0, do not send HAProxy PROXY protocol header
+.SH PROTOCOLS
+HTTP
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ CURLcode ret;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
+ ret = curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Along with HTTP. Added in 7.60.0.
+.SH RETURN VALUE
+Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.3 b/docs/libcurl/opts/CURLOPT_HEADER.3
index 7d352d5f..4f2a0ecc 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADER 3 "February 16, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADER 3 "February 16, 2018" "libcurl 7.60.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 014e323e..efca41b9 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.60.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 fe7febce..123c61c3 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADERFUNCTION 3 "February 16, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADERFUNCTION \- callback that receives header data
@@ -66,7 +66,7 @@ response, you will need to collect headers in the callback yourself and use
HTTP status lines, for example, to delimit response boundaries.
When a server sends a chunked encoded transfer, it may contain a trailer. That
-trailer is identical to a HTTP header and if such a trailer is received it is
+trailer is identical to an HTTP header and if such a trailer is received it is
passed to the application using this callback as well. There are several ways
to detect it being a trailer and not an ordinary header: 1) it comes after the
response-body. 2) it comes after the final header line (CR LF) 3) a Trailer:
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.3 b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
index 79ba6d0a..332e6c83 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADEROPT 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADEROPT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADEROPT \- set how to send HTTP headers
@@ -45,7 +45,7 @@ headers. When doing CONNECT, libcurl will send \fICURLOPT_PROXYHEADER(3)\fP
headers only to the proxy and then \fICURLOPT_HTTPHEADER(3)\fP headers only to
the server.
.SH DEFAULT
-CURLHEADER_SEPARATE (changed in 7.42.1, ased CURLHEADER_UNIFIED before then)
+CURLHEADER_SEPARATE (changed in 7.42.1, used CURLHEADER_UNIFIED before then)
.SH PROTOCOLS
HTTP
.SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
index 6ee762f8..f984435c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.60.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 ac7eca22..f4313736 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPAUTH 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPAUTH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
@@ -114,7 +114,7 @@ if(curl) {
.SH AVAILABILITY
Option Added in 7.10.6.
-CURLAUTH_DIGEST_IE was added added in 7.19.3
+CURLAUTH_DIGEST_IE was added in 7.19.3
CURLAUTH_ONLY was added in 7.21.3
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3
index e9d9c40f..db1c84c7 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPGET 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPGET 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_HTTPGET \- ask for a HTTP GET request
+CURLOPT_HTTPGET \- ask for an HTTP GET request
.SH SYNOPSIS
#include <curl/curl.h>
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3 b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
index 37081442..f86b955f 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.60.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 7957820d..dcf5b777 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.60.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 8c3a2885..08873218 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPPROXYTUNNEL 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
@@ -33,7 +33,7 @@ Set the \fBtunnel\fP parameter to 1L to make libcurl tunnel all operations
through the HTTP proxy (set with \fICURLOPT_PROXY(3)\fP). There is a big
difference between using a proxy and to tunnel through it.
-Tunneling means that a HTTP CONNECT request is sent to the proxy, asking it
+Tunneling means that an HTTP CONNECT request is sent to the proxy, asking it
to connect to a remote host on a specific port number and then the traffic is
just passed through the proxy. Proxies tend to white-list specific port numbers
it allows CONNECT requests to and often only port 80 and 443 are allowed.
@@ -44,7 +44,7 @@ To suppress proxy CONNECT response headers from user callbacks use
HTTP proxies can generally only speak HTTP (for obvious reasons), which makes
libcurl convert non-HTTP requests to HTTP when using an HTTP proxy without
this tunnel option set. For example, asking for an FTP URL and specifying an
-HTTP proxy will make libcurl send an FTP URL in a HTTP GET request to the
+HTTP proxy will make libcurl send an FTP URL in an HTTP GET request to the
proxy. By instead tunneling through the proxy, you avoid that conversion (that
rarely works through the proxy anyway).
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
index 56dc5478..0a10cc34 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.60.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 4766056f..07ec5868 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.60.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 c1de4ff5..e31cf71e 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 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_VERSION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
@@ -73,7 +73,7 @@ if(curl) {
curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
ret = curl_easy_perform(curl);
if(ret == CURLE_HTTP_RETURNED_ERROR) {
- /* a HTTP response error problem */
+ /* an HTTP response error problem */
}
}
.fi
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
index f027243b..501a45c7 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.60.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 6ab20076..0c21cedc 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.60.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 c988e587..a124a4cf 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 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE_LARGE 3 "February 03, 2016" "libcurl 7.60.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 9b1dfabc..a69ba640 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERFACE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERFACE 3 "May 05, 2017" "libcurl 7.60.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 272c28fe..047b8603 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.60.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 e0364789..e3e44656 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.60.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 2c9948c1..b5e1695e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.60.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 eba85e16..18d4de9b 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IOCTLFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IOCTLFUNCTION \- callback for I/O operations
@@ -51,7 +51,7 @@ shown above.
This callback function gets called by libcurl when something special
I/O-related needs to be done that the library can't do by itself. For now,
rewinding the read data stream is the only action it can request. The
-rewinding of the read data stream may be necessary when doing a HTTP PUT or
+rewinding of the read data stream may be necessary when doing an HTTP PUT or
POST with a multi-pass authentication method.
The callback MUST return \fICURLIOE_UNKNOWNCMD\fP if the input \fIcmd\fP is
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3 b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
index bb2bc5a3..f340a474 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.60.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 cf936cd6..535f6902 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.60.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 2c74ff0d..a7f88587 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.60.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 2f0b872a..866619af 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.60.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 a276a55d..e4e00268 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.60.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 4707b224..3f0a3ef1 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.60.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 3a8d3b8f..113fbbef 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.60.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 8a240d3a..80e8329e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.60.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 aac176ba..5326f359 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.60.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 c5b7ddf5..2a2b8759 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.60.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 184883d4..92fb10e8 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.60.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 096bbd29..e4ff2de5 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.60.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 ca43f555..0bc6dde4 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_RCPT \- list of SMTP mail recipients
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
index 66231fd4..20802a2c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.60.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 202fb41f..f5be48ab 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.60.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 b81a6ee9..dbf7584a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.60.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 c4c59bc7..0a1c042e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.60.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 3ff0bd66..243eb47b 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.60.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 ae26aafe..dafb0fe8 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.60.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 fbc42c72..39dea68e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.60.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 7723d6b8..5a855061 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NETRC 3 "August 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NETRC \- request that .netrc is used
@@ -81,4 +81,4 @@ Always
.SH RETURN VALUE
Returns CURLE_OK
.SH "SEE ALSO"
-.BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), ", CURLOPT_NETRC_FILE "(3), "
+.BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), " CURLOPT_NETRC_FILE "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index 32d4896e..65b104dd 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.60.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 c885ab8c..c84c0f51 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.60.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 6283b2f8..f3f25af7 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.60.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 9f072d35..2faf1723 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.60.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 95858e06..5ee93400 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.60.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 f69eee22..e05a9e96 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOPROXY 3 "March 03, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROXY 3 "March 03, 2018" "libcurl 7.60.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 4afaf888..bc5150ee 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.60.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 c4e2c2a2..ac9e9e71 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.60.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 6f912a56..e2bb7fbb 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.60.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 a13374e6..d0514b06 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.60.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 f666a794..74da2dfb 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 "February 14, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PATH_AS_IS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
@@ -57,7 +57,7 @@ if(curl) {
}
.fi
.SH AVAILABILITY
-Aded in 7.42.0
+Added in 7.42.0
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index cb08cd49..0dd8fa9b 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PINNEDPUBLICKEY 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PINNEDPUBLICKEY 3 "January 25, 2018" "libcurl 7.60.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 e5e03f57..8f21f2f0 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.60.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 2c84f832..8aa935f0 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.60.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 84a33d35..8d6bd963 100644
--- a/docs/libcurl/opts/CURLOPT_POST.3
+++ b/docs/libcurl/opts/CURLOPT_POST.3
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POST 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_POST \- request a HTTP POST
+CURLOPT_POST \- request an HTTP POST
.SH SYNOPSIS
#include <curl/curl.h>
@@ -52,7 +52,7 @@ with \fICURLOPT_HTTPHEADER(3)\fP.
Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.
-If you use POST to a HTTP 1.1 server, you can send data without knowing the
+If you use POST to an HTTP 1.1 server, you can send data without knowing the
size before starting the POST if you use chunked encoding. You enable this by
adding a header like "Transfer-Encoding: chunked" with
\fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
index d52a4f09..18fcacc7 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDS 3 "July 07, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDS \- specify data to POST to server
@@ -29,7 +29,7 @@ CURLOPT_POSTFIELDS \- specify data to POST to server
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata);
.SH DESCRIPTION
-Pass a char * as parameter, pointing to the full data to send in a HTTP POST
+Pass a char * as parameter, pointing to the full data to send in an HTTP POST
operation. You must make sure that the data is formatted the way you want the
server to receive it. libcurl will not convert or encode it for you in any
way. For example, the web server may assume that this data is url-encoded.
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
index 4b557626..153ef091 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.60.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 7725c601..f8a1358d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.60.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 75e2c62a..e23d556a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.60.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 7be09530..af58bdf1 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTREDIR 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_POSTREDIR \- how to act on a HTTP POST redirect
+CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect
.SH SYNOPSIS
.nf
#include <curl/curl.h>
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index ac1cadcc..1718c16a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.60.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 287dcf35..d8330de2 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 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PRE_PROXY 3 "May 15, 2017" "libcurl 7.60.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 5a31e3d3..b73bc07b 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.60.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 12fba233..dea3be87 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.60.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 2b38fada..c738cc68 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.60.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 8bf93a6c..bc1418a6 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.60.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 6d125335..4bf04522 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY 3 "September 24, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY \- set proxy to use
@@ -59,7 +59,7 @@ SOCKS5 Proxy. Proxy resolves URL hostname.
Without a scheme prefix, \fICURLOPT_PROXYTYPE(3)\fP can be used to specify
which kind of proxy the string identifies.
-When you tell the library to use a HTTP proxy, libcurl will transparently
+When you tell the library to use an HTTP proxy, libcurl will transparently
convert operations to HTTP even if you specify an FTP URL etc. This may have
an impact on what other features of the library you can use, such as
\fICURLOPT_QUOTE(3)\fP and similar FTP specifics that don't work unless you
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3 b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
index e626191d..3eae9e3b 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.60.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 4cf770be..0df10839 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.60.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 456bac35..fe56ae94 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.60.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 cfd6610e..57690699 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.60.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 33aa01ca..87b35c6d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.60.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 a8ae3b41..6fa706fd 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.60.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 26de3265..cbbb1184 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.60.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 f19e2e15..ff54d719 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 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
@@ -29,7 +29,7 @@ CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO, char *path);
.SH DESCRIPTION
-This option is for connecting to a HTTPS proxy, not a HTTPS server.
+This option is for connecting to an HTTPS proxy, not an HTTPS server.
Pass a char * to a zero terminated string naming a file holding one or more
certificates to verify the HTTPS proxy with.
@@ -61,7 +61,7 @@ Used with HTTPS proxy
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
- /* using a HTTPS proxy */
+ /* using an HTTPS proxy */
curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443");
curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, "/etc/certs/cabundle.pem");
ret = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
index d8dc42b5..8ef27f2a 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 "September 10, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAPATH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
@@ -46,7 +46,7 @@ Everything used over an HTTPS proxy
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
- /* using a HTTPS proxy */
+ /* using an HTTPS proxy */
curl_easy_setopt(curl, CURLOPT_PROXY, "https://localhost:443");
curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, "/etc/cert-dir");
ret = curl_easy_perform(curl);
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
index 76a44e1e..e3513a4a 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
@@ -29,7 +29,7 @@ CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CRLFILE, char *file);
.SH DESCRIPTION
-This option is for connecting to a HTTPS proxy, not a HTTPS server.
+This option is for connecting to an HTTPS proxy, not an HTTPS server.
Pass a char * to a zero terminated string naming a \fIfile\fP with the
concatenation of CRL (in PEM format) to use in the certificate validation that
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
index 885016e3..ddc770d1 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
@@ -29,7 +29,7 @@ CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_KEYPASSWD, char *pwd);
.SH DESCRIPTION
-This option is for connecting to a HTTPS proxy, not a HTTPS server.
+This option is for connecting to an HTTPS proxy, not an HTTPS server.
Pass a pointer to a zero terminated string as parameter. It will be used as
the password required to use the \fICURLOPT_PROXY_SSLKEY(3)\fP private key.
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
index bbbb06e6..cea21f71 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 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.60.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 102df165..e0e367a8 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.60.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 67936bf6..9c759f2f 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
@@ -29,7 +29,7 @@ CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERT, char *cert);
.SH DESCRIPTION
-This option is for connecting to a HTTPS proxy, not a HTTPS server.
+This option is for connecting to an HTTPS proxy, not an HTTPS server.
Pass a pointer to a zero terminated string as parameter. The string should be
the file name of your client certificate used to connect to the HTTPS proxy.
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
index 2e85d629..24eda85e 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
@@ -30,7 +30,7 @@ CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERTTYPE, char *type);
.SH DESCRIPTION
Pass a pointer to a zero terminated string as parameter. The string should be
-the format of your client certificate used when connecting to a HTTPS proxy.
+the format of your client certificate used when connecting to an HTTPS proxy.
Supported formats are "PEM" and "DER", except with Secure Transport. OpenSSL
(versions 0.9.3 and later) and Secure Transport (on iOS 5 or later, or OS X
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
index 3c6cbb4a..06e07832 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.60.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 673b29dd..80036ad8 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
@@ -29,7 +29,7 @@ CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEYTYPE, char *type);
.SH DESCRIPTION
-This option is for connecting to a HTTPS proxy, not a HTTPS server.
+This option is for connecting to an HTTPS proxy, not an HTTPS server.
Pass a pointer to a zero terminated string as parameter. The string should be
the format of your private key. Supported formats are "PEM", "DER" and "ENG".
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
index 5c34eef9..b09477ac 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.60.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 48b7b65d..95d8716b 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.60.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 3d9de261..5097e154 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.60.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 476438c0..3a5b30f4 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 "December 16, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host
@@ -57,7 +57,7 @@ overridden.
.SH DEFAULT
2
.SH PROTOCOLS
-All protocols when used over a HTTPS proxy.
+All protocols when used over an HTTPS proxy.
.SH EXAMPLE
.nf
CURL *curl = curl_easy_init();
@@ -79,5 +79,5 @@ Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.
If 1 is set as argument, \fICURLE_BAD_FUNCTION_ARGUMENT\fP is returned.
.SH "SEE ALSO"
-.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_CAINFO "(3), ",
-.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_CAINFO "(3), ",
+.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), " CURLOPT_PROXY_CAINFO "(3), "
+.BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_CAINFO "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
index 82fae8b1..0621797b 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.60.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_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
index 711224d8..dea77c03 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.60.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 d1bd6dbf..cb89cac6 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.60.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 2c20d078..35a65a1c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.60.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 2e4435c5..fb34e20b 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
@@ -30,7 +30,7 @@ CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled);
.SH DESCRIPTION
Pass a long. If the value is set to 1 (one), it tells libcurl to set the
-transfer mode (binary or ASCII) for FTP transfers done via a HTTP proxy, by
+transfer mode (binary or ASCII) for FTP transfers done via an HTTP proxy, by
appending ;type=a or ;type=i to the URL. Without this setting, or it being set
to 0 (zero, the default), \fICURLOPT_TRANSFERTEXT(3)\fP has no effect when
doing FTP via a proxy. Beware that not all proxies support this feature.
diff --git a/docs/libcurl/opts/CURLOPT_PUT.3 b/docs/libcurl/opts/CURLOPT_PUT.3
index 36525ed6..0c57a8c2 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.3
+++ b/docs/libcurl/opts/CURLOPT_PUT.3
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PUT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_PUT \- make a HTTP PUT request
+CURLOPT_PUT \- make an HTTP PUT request
.SH SYNOPSIS
#include <curl/curl.h>
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.3 b/docs/libcurl/opts/CURLOPT_QUOTE.3
index 30bd461f..911b7893 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_QUOTE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_QUOTE \- (S)FTP commands to run before transfer
@@ -35,7 +35,7 @@ prior to your request. This will be done before any other commands are issued
list of 'struct curl_slist' structs properly filled in with text strings. Use
\fIcurl_slist_append(3)\fP to append strings (commands) to the list, and clear
the entire list afterwards with \fIcurl_slist_free_all(3)\fP. Disable this
-operation again by setting a NULL to this option. When speaking to a FTP
+operation again by setting a NULL to this option. When speaking to an FTP
server, prefix the command with an asterisk (*) to make libcurl continue even
if the command fails as by default libcurl will stop at first failure.
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index de08059c..eb7a4181 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.60.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 1cdb170c..e1dd8677 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.60.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 5e26ffb1..c8743fc1 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.3
+++ b/docs/libcurl/opts/CURLOPT_READDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.60.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 85a87410..e147b0b3 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.60.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 ed4ba3bb..257f569f 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.60.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 d056aaec..d3e9afb7 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.60.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 4cfe9f22..babfdaff 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.60.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 59d3c8cd..b3627211 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVE 3 "January 30, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVE 3 "January 30, 2018" "libcurl 7.60.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 e8dd3cf3..b8f2d159 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.60.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 468e2169..6ffe4eca 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.60.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 076a80ad..08982f24 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.60.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 8140fe66..0d2c5412 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.60.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 36727037..f20020a0 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
@@ -29,7 +29,7 @@ CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq);
.SH DESCRIPTION
-Pass a long to set the the CSEQ number to issue for the next RTSP
+Pass a long to set the CSEQ number to issue for the next RTSP
request. Useful if the application is resuming a previously broken
connection. The CSEQ will increment from this new number henceforth.
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3 b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
index aeeeea07..ee7f052a 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_REQUEST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_REQUEST \- specify RTSP request
@@ -47,7 +47,7 @@ not needed for this method)\fP
When sent by a client, this method changes the description of the session. For
example, if a client is using the server to record a meeting, the client can
use Announce to inform the server of all the meta-information about the
-session. ANNOUNCE acts like a HTTP PUT or POST just like
+session. ANNOUNCE acts like an HTTP PUT or POST just like
\fICURL_RTSPREQ_SET_PARAMETER\fP
.IP CURL_RTSPREQ_SETUP
Setup is used to initialize the transport layer for the session. The
@@ -69,16 +69,16 @@ different connections.
.IP CURL_RTSPREQ_GET_PARAMETER
Retrieve a parameter from the server. By default, libcurl will automatically
include a \fIContent-Type: text/parameters\fP header on all non-empty requests
-unless a custom one is set. GET_PARAMETER acts just like a HTTP PUT or POST
+unless a custom one is set. GET_PARAMETER acts just like an HTTP PUT or POST
(see \fICURL_RTSPREQ_SET_PARAMETER\fP).
Applications wishing to send a heartbeat message (e.g. in the presence of a
server-specified timeout) should send use an empty GET_PARAMETER request.
.IP CURL_RTSPREQ_SET_PARAMETER
Set a parameter on the server. By default, libcurl will automatically include
a \fIContent-Type: text/parameters\fP header unless a custom one is set. The
-interaction with SET_PARAMETER is much like a HTTP PUT or POST. An application
+interaction with SET_PARAMETER is much like an HTTP PUT or POST. An application
may either use \fICURLOPT_UPLOAD(3)\fP with \fICURLOPT_READDATA(3)\fP like a
-HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like a HTTP POST. No
+HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like an HTTP POST. No
chunked transfers are allowed, so the application must set the
\fICURLOPT_INFILESIZE(3)\fP in the former and \fICURLOPT_POSTFIELDSIZE(3)\fP
in the latter. Also, there is no use of multi-part POSTs within RTSP.
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
index 1d587112..0caf5410 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.60.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 cd31b6e5..6d19ad95 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.60.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 d7168f14..addfa607 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.60.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 74fde2f2..f4a3f42e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.60.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 76a669fe..293a30b4 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.60.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 d1ce5003..b749b9ad 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.60.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 653403c1..8fad409c 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKFUNCTION 3 "August 12, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
@@ -46,7 +46,7 @@ input stream and can be used to fast forward a file in a resumed upload
(instead of reading all uploaded bytes with the normal read
function/callback). It is also called to rewind a stream when data has already
been sent to the server and needs to be sent again. This may happen when doing
-a HTTP PUT or POST with a multi-pass authentication method, or when an
+an HTTP PUT or POST with a multi-pass authentication method, or when an
existing HTTP connection is reused too late and the server closes the
connection. The function shall work like fseek(3) or lseek(3) and it gets
SEEK_SET, SEEK_CUR or SEEK_END as argument for \fIorigin\fP, although libcurl
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index de2f2e1b..1fd34214 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.60.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 d326b4ad..ac258b42 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.60.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 0dbe8b91..9f3c3f84 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.60.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 effb19da..1fcd6715 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.60.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 681d9e5e..08488b17 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.60.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 448146a7..5b1f9402 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.60.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 5ea52dbb..90a3dbb3 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.60.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 c6b66774..7229e4da 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.60.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 196211d7..00cb8338 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 17, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_COMPRESSION 3 "August 17, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_COMPRESSION \- enables automatic decompression of HTTP downloads
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 c44fb490..85ea413a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.60.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 a68ff1ed..d2b953ec 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.60.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 67ae3645..94f61a9a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.60.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 c1478f99..a6174de8 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.60.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 a5ced5ee..a7d4f263 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.60.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 f9579655..3fe56fcf 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.60.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 c3d80968..660eb92d 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLCERT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERT 3 "April 18, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLCERT \- set SSL client certificate
@@ -39,6 +39,17 @@ you wish to authenticate with as it is named in the security database. If you
want to use a file from the current directory, please precede it with "./"
prefix, in order to avoid confusion with a nickname.
+(Schannel/WinSSL only) Client certificates must be specified by a path
+expression to a certificate store. (Loading PFX is not supported; you can
+import it to a store first). You can use
+"<store location>\\<store name>\\<thumbprint>" to refer to a certificate
+in the system certificates store, for example,
+"CurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". Thumbprint is
+usually a SHA-1 hex string which you can see in certificate details. Following
+store locations are supported: CurrentUser, LocalMachine, CurrentService,
+Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy,
+LocalMachineEnterprise.
+
When using a client certificate, you most likely also need to provide a
private key with \fICURLOPT_SSLKEY(3)\fP.
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index d99921e4..8718a31c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.60.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 267b63fc..368e0972 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.60.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 cd84614c..66f971c1 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.60.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 c91837ec..49b0927b 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.60.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 b7dcfe19..04dc3eaf 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.60.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 b92871ae..7ce16826 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLVERSION 3 "January 10, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLVERSION 3 "January 10, 2018" "libcurl 7.60.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 6666fae1..d14e9ab9 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.60.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 0a678b52..1cf26ffc 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.60.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 716a9b47..69c32173 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 "December 19, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_FUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL/CyaSSL or mbedTLS
@@ -57,7 +57,7 @@ each time, but note the pointer may be the same as from a prior call.
To use this properly, a non-trivial amount of knowledge of your SSL library is
necessary. For example, you can use this function to call library-specific
callbacks to add additional validation code for certificates, and even to
-change the actual URI of a HTTPS request.
+change the actual URI of an HTTPS request.
.SH DEFAULT
NULL
.SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
index ddad4568..22454353 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.60.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 4f7aa29d..80a4733e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.60.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 dd11cd31..3da74cac 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.60.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 30e30a30..b24caae9 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.60.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 89adb48e..2f7f1bb4 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.60.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 07b28548..3182e38a 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 "February 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.60.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 269d8f01..1247f3fd 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 "February 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYPEER 3 "February 09, 2017" "libcurl 7.60.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 017e0a38..123d1db2 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYSTATUS 3 "May 31, 2017" "libcurl 7.60.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 b7894b72..d50b30c3 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.60.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 77463ef1..855c3be1 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.60.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 e9593f54..697d95cc 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_DEPENDS_E 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on execlusively
+CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
.SH SYNOPSIS
#include <curl/curl.h>
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
index 6808a7de..f7b3a1a7 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 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_WEIGHT \- set numerical stream weight
@@ -37,7 +37,7 @@ sense and is only usable when doing multiple streams over the same
connections, which thus implies that you use \fICURLMOPT_PIPELINING(3)\fP.
This option can be set during transfer and will then cause the updated weight
-info get sent to the server the next time a HTTP/2 frame is sent to the
+info get sent to the server the next time an HTTP/2 frame is sent to the
server.
See section 5.3 of RFC 7540 for protocol details:
diff --git a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3 b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
index bd4d7df3..da75a2bd 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.60.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 4e9df6c5..b4bcaa47 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.60.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 405a9f62..4e202a89 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.60.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 97ed6556..71171ab3 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.60.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 19613de1..401b78f7 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.60.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 521ca10e..d59e6432 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.60.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 f20a04c5..76415a7e 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.60.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 3c37b7fb..a05880ab 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.60.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 1b76e34f..86b24d16 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.60.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 b98647e1..21f9ea2a 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.60.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 4ebe37ae..38ca8162 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEOUT \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
index 4cfd6564..39c504b7 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 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT_MS 3 "February 03, 2016" "libcurl 7.60.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 e1a2e9db..27f25c4c 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.60.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 5dbbedd5..fce2c821 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index 2b74c037..bc073e21 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.60.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 4138c7d1..bff28e4f 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.60.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 e270a446..0caa449d 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3 b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
index 06552db5..aeeb511f 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.60.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 58ad727e..fe3ea3b9 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.60.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 00ab6092..a3a2b0bf 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 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
@@ -57,7 +57,7 @@ All protocols except for file:// and FTP are supported in theory. HTTP, IMAP,
POP3 and SMTP should in particular work (including their SSL/TLS variants).
.SH EXAMPLE
Given that you have an nginx server running, listening on /tmp/nginx.sock, you
-can request a HTTP resource with:
+can request an HTTP resource with:
.nf
curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, "/tmp/nginx.sock");
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3 b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
index 994cfc6b..88c80943 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.60.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 34b45b03..defb4322 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UPLOAD 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UPLOAD \- enable data upload
@@ -38,7 +38,7 @@ the PUT request unless you tell libcurl otherwise.
Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header.
You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual.
-If you use PUT to a HTTP 1.1 server, you can upload data without knowing the
+If you use PUT to an HTTP 1.1 server, you can upload data without knowing the
size before starting the transfer if you use chunked encoding. You enable this
by adding a header like "Transfer-Encoding: chunked" with
\fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index 84a2a7a2..c1f53909 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 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_URL 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_URL 3 "April 30, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_URL \- provide the URL to use in the request
@@ -109,7 +109,7 @@ The path part of the URL is protocol specific and whilst some examples are
given below this list is not conclusive:
.IP HTTP
-The path part of a HTTP request specifies the file to retrieve and from what
+The path part of an HTTP request specifies the file to retrieve and from what
directory. If the directory is not specified then the web server's root
directory is used. If the file is omitted then the default document will be
retrieved for either the directory specified or the root directory. The exact
@@ -287,6 +287,16 @@ escape it by providing it as backslash and its ASCII value in hexadecimal:
The application does not have to keep the string around after setting this
option.
+.SH ENCODING
+The string pointed to in the \fICURLOPT_URL(3)\fP argument is generally
+expected to be a sequence of characters using an ASCII compatible encoding.
+
+If libcurl is built with IDN support, the server name part of the URL can use
+an "international name" by using the current encoding (according to locale) or
+UTF-8 (when winidn is used).
+
+If libcurl is built without IDN support, the server name is used exactly as
+specified when passed to the name resolver functions.
.SH DEFAULT
There is no default URL. If this option isn't set, no transfer can be
performed.
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index e21818fd..c7262045 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.60.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 3e8b7f95..d675cca2 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.60.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 c59ca34c..46b90fc7 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.60.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 5d2e7963..7865a17c 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 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_USE_SSL 3 "February 03, 2016" "libcurl 7.60.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 aaf91287..03af1830 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.60.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 c796a5e0..fbddc68b 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WILDCARDMATCH 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_WILDCARDMATCH 3 "February 03, 2016" "libcurl 7.60.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 19992618..43c15f5c 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.60.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 defd98fd..aa60468f 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.60.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 174f8ce6..5519579f 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.60.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 31679579..760238b2 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.59.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.60.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 daf2634a..8499433f 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 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
+.TH CURLOPT_XOAUTH2_BEARER 3 "May 31, 2017" "libcurl 7.60.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 2aa1acf3..80488bfa 100644
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@ -112,6 +112,7 @@ man_MANS = \
CURLOPT_DNS_LOCAL_IP4.3 \
CURLOPT_DNS_LOCAL_IP6.3 \
CURLOPT_DNS_SERVERS.3 \
+ CURLOPT_DNS_SHUFFLE_ADDRESSES.3 \
CURLOPT_DNS_USE_GLOBAL_CACHE.3 \
CURLOPT_EGDSOCKET.3 \
CURLOPT_ERRORBUFFER.3 \
@@ -137,6 +138,7 @@ man_MANS = \
CURLOPT_FTP_USE_PRET.3 \
CURLOPT_GSSAPI_DELEGATION.3 \
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 \
+ CURLOPT_HAPROXYPROTOCOL.3 \
CURLOPT_HEADER.3 \
CURLOPT_HEADERDATA.3 \
CURLOPT_HEADERFUNCTION.3 \
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index c58086fb..52e8407d 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -373,6 +373,7 @@ CURLOPT_DNS_INTERFACE 7.33.0
CURLOPT_DNS_LOCAL_IP4 7.33.0
CURLOPT_DNS_LOCAL_IP6 7.33.0
CURLOPT_DNS_SERVERS 7.24.0
+CURLOPT_DNS_SHUFFLE_ADDRESSES 7.60.0
CURLOPT_DNS_USE_GLOBAL_CACHE 7.9.3 7.11.1
CURLOPT_EGDSOCKET 7.7
CURLOPT_ENCODING 7.10
@@ -404,6 +405,7 @@ CURLOPT_FTP_USE_EPSV 7.9.2
CURLOPT_FTP_USE_PRET 7.20.0
CURLOPT_GSSAPI_DELEGATION 7.22.0
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 7.59.0
+CURLOPT_HAPROXYPROTOCOL 7.60.0
CURLOPT_HEADER 7.1
CURLOPT_HEADERDATA 7.10
CURLOPT_HEADERFUNCTION 7.7.2
diff --git a/include/curl/curl.h b/include/curl/curl.h
index fa019eca..3fd4ca87 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -1841,6 +1841,12 @@ typedef enum {
/* User data to pass to the resolver start callback. */
CINIT(RESOLVER_START_DATA, OBJECTPOINT, 273),
+ /* send HAProxy PROXY protocol header? */
+ CINIT(HAPROXYPROTOCOL, LONG, 274),
+
+ /* shuffle addresses before use when DNS returns multiple */
+ CINIT(DNS_SHUFFLE_ADDRESSES, LONG, 275),
+
CURLOPT_LASTENTRY /* the last unused */
} CURLoption;
diff --git a/include/curl/curlver.h b/include/curl/curlver.h
index 225f9356..17831025 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.59.0"
+#define LIBCURL_VERSION "7.60.0"
/* The numeric version number is also available "in parts" by using these
defines: */
#define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 59
+#define LIBCURL_VERSION_MINOR 60
#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 0x073b00
+#define LIBCURL_VERSION_NUM 0x073c00
/*
* This is the date and time when the full source package was created. The
@@ -68,7 +68,7 @@
*
* "2007-11-23"
*/
-#define LIBCURL_TIMESTAMP "2018-03-14"
+#define LIBCURL_TIMESTAMP "2018-05-16"
#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/system.h b/include/curl/system.h
index 07bbd9ca..eac4cfeb 100644
--- a/include/curl/system.h
+++ b/include/curl/system.h
@@ -300,7 +300,9 @@
#elif defined(__SUNPRO_C) /* Oracle Solaris Studio */
# if !defined(__LP64) && (defined(__ILP32) || \
- defined(__i386) || defined(__sparcv8))
+ defined(__i386) || \
+ defined(__sparcv8) || \
+ defined(__sparcv8plus))
# define CURL_TYPEOF_CURL_OFF_T long long
# define CURL_FORMAT_CURL_OFF_T "lld"
# define CURL_FORMAT_CURL_OFF_TU "llu"
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index 69f9b403..61c23411 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -29,8 +29,8 @@ LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h
LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \
vtls/polarssl.c vtls/polarssl_threadlock.c vtls/axtls.c \
- vtls/cyassl.c vtls/schannel.c vtls/darwinssl.c vtls/gskit.c \
- vtls/mbedtls.c
+ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \
+ vtls/darwinssl.c vtls/gskit.c vtls/mbedtls.c
LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \
vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h vtls/axtls.h \
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
index 1ac3fc80..b11fab24 100644
--- a/lib/asyn-thread.c
+++ b/lib/asyn-thread.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -79,6 +79,10 @@
#include "curl_memory.h"
#include "memdebug.h"
+struct resdata {
+ struct curltime start;
+};
+
/*
* Curl_resolver_global_init()
* Called from curl_global_init() to initialize global resolver environment.
@@ -102,11 +106,13 @@ void Curl_resolver_global_cleanup(void)
* Curl_resolver_init()
* Called from curl_easy_init() -> Curl_open() to initialize resolver
* URL-state specific environment ('resolver' member of the UrlState
- * structure). Does nothing here.
+ * structure).
*/
CURLcode Curl_resolver_init(void **resolver)
{
- (void)resolver;
+ *resolver = calloc(1, sizeof(struct resdata));
+ if(!*resolver)
+ return CURLE_OUT_OF_MEMORY;
return CURLE_OK;
}
@@ -114,24 +120,22 @@ CURLcode Curl_resolver_init(void **resolver)
* Curl_resolver_cleanup()
* Called from curl_easy_cleanup() -> Curl_close() to cleanup resolver
* URL-state specific environment ('resolver' member of the UrlState
- * structure). Does nothing here.
+ * structure).
*/
void Curl_resolver_cleanup(void *resolver)
{
- (void)resolver;
+ free(resolver);
}
/*
* Curl_resolver_duphandle()
* Called from curl_easy_duphandle() to duplicate resolver URL state-specific
- * environment ('resolver' member of the UrlState structure). Does nothing
- * here.
+ * environment ('resolver' member of the UrlState structure).
*/
int Curl_resolver_duphandle(void **to, void *from)
{
- (void)to;
(void)from;
- return CURLE_OK;
+ return Curl_resolver_init(to);
}
static void destroy_async_data(struct Curl_async *);
@@ -561,9 +565,22 @@ int Curl_resolver_getsock(struct connectdata *conn,
curl_socket_t *socks,
int numsocks)
{
- (void)conn;
+ time_t milli;
+ timediff_t ms;
+ struct Curl_easy *data = conn->data;
+ struct resdata *reslv = (struct resdata *)data->state.resolver;
(void)socks;
(void)numsocks;
+ ms = Curl_timediff(Curl_now(), reslv->start);
+ if(ms < 10)
+ milli = ms/3;
+ else if(ms <= 50)
+ milli = 10;
+ else if(ms <= 250)
+ milli = 50;
+ else
+ milli = 200;
+ Curl_expire(data, milli, EXPIRE_ASYNC_NAME);
return 0;
}
@@ -577,6 +594,8 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
int *waitp)
{
struct in_addr in;
+ struct Curl_easy *data = conn->data;
+ struct resdata *reslv = (struct resdata *)data->state.resolver;
*waitp = 0; /* default to synchronous response */
@@ -584,14 +603,17 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
/* This is a dotted IP address 123.123.123.123-style */
return Curl_ip2addr(AF_INET, &in, hostname, port);
+ reslv->start = Curl_now();
+
/* fire up a new resolver thread! */
if(init_resolve_thread(conn, hostname, port, NULL)) {
*waitp = 1; /* expect asynchronous response */
return NULL;
}
- /* fall-back to blocking version */
- return Curl_ipv4_resolve_r(hostname, port);
+ failf(conn->data, "getaddrinfo() thread failed\n");
+
+ return NULL;
}
#else /* !HAVE_GETADDRINFO */
@@ -605,10 +627,10 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
int *waitp)
{
struct addrinfo hints;
- Curl_addrinfo *res;
- int error;
char sbuf[12];
int pf = PF_INET;
+ struct Curl_easy *data = conn->data;
+ struct resdata *reslv = (struct resdata *)data->state.resolver;
*waitp = 0; /* default to synchronous response */
@@ -658,27 +680,16 @@ Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
snprintf(sbuf, sizeof(sbuf), "%d", port);
+ reslv->start = Curl_now();
/* fire up a new resolver thread! */
if(init_resolve_thread(conn, hostname, port, &hints)) {
*waitp = 1; /* expect asynchronous response */
return NULL;
}
- /* fall-back to blocking version */
- infof(conn->data, "init_resolve_thread() failed for %s; %s\n",
- hostname, Curl_strerror(conn, errno));
-
- error = Curl_getaddrinfo_ex(hostname, sbuf, &hints, &res);
- if(error) {
- infof(conn->data, "getaddrinfo() failed for %s:%d; %s\n",
- hostname, port, Curl_strerror(conn, SOCKERRNO));
- return NULL;
- }
- else {
- Curl_addrinfo_set_port(res, port);
- }
+ failf(data, "getaddrinfo() thread failed to start\n");
+ return NULL;
- return res;
}
#endif /* !HAVE_GETADDRINFO */
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index c86222b2..c90e245e 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -47,7 +47,7 @@ my %warnings = (
'COMMANOSPACE' => 'comma without following space',
'BRACEELSE' => '} else on the same line',
'PARENBRACE' => '){ without sufficient space',
- 'SPACESEMILCOLON' => 'space before semicolon',
+ 'SPACESEMICOLON' => 'space before semicolon',
'BANNEDFUNC' => 'a banned function was used',
'FOPENMODE' => 'fopen needs a macro for the mode string',
'BRACEPOS' => 'wrong position for an open brace',
@@ -462,14 +462,14 @@ sub scanfile {
# check for space before the semicolon last in a line
if($l =~ /^(.*[^ ].*) ;$/) {
- checkwarn("SPACESEMILCOLON",
+ checkwarn("SPACESEMICOLON",
$line, length($1), $file, $ol, "space before last semicolon");
}
# scan for use of banned functions
if($l =~ /^(.*\W)
(gets|
- strtok|
+ strtok|
v?sprintf|
(str|_mbs|_tcs|_wcs)n?cat|
LoadLibrary(Ex)?(A|W)?)
@@ -499,9 +499,9 @@ sub scanfile {
}
# if the previous line starts with if/while/for AND ends with an open
- # brace, check that this line is indented $indent more steps, if not
- # a cpp line
- if($prevl =~ /^( *)(if|while|for)\(.*\{\z/) {
+ # brace, or an else statement, check that this line is indented $indent
+ # more steps, if not a cpp line
+ if($prevl =~ /^( *)((if|while|for)\(.*\{|else)\z/) {
my $first = length($1);
# this line has some character besides spaces
@@ -511,7 +511,7 @@ sub scanfile {
if($expect != $second) {
my $diff = $second - $first;
checkwarn("INDENTATION", $line, length($1), $file, $ol,
- "not indented $indent steps, uses $diff)");
+ "not indented $indent steps (uses $diff)");
}
}
@@ -573,7 +573,7 @@ sub scanfile {
if($nostr =~ /(.*)\;[a-z0-9]/i) {
checkwarn("SEMINOSPACE",
$line, length($1)+1, $file, $ol,
- "no space after semilcolon");
+ "no space after semicolon");
}
# check for more than one consecutive space before open brace or
diff --git a/lib/content_encoding.c b/lib/content_encoding.c
index 2b2188b7..7c979efc 100644
--- a/lib/content_encoding.c
+++ b/lib/content_encoding.c
@@ -873,10 +873,9 @@ static contenc_writer *new_unencoding_writer(struct connectdata *conn,
contenc_writer *downstream)
{
size_t sz = offsetof(contenc_writer, params) + handler->paramsize;
- contenc_writer *writer = (contenc_writer *) malloc(sz);
+ contenc_writer *writer = (contenc_writer *) calloc(1, sz);
if(writer) {
- memset(writer, 0, sz);
writer->handler = handler;
writer->downstream = downstream;
if(handler->init_writer(conn, writer)) {
diff --git a/lib/cookie.c b/lib/cookie.c
index 63deee16..29f627fd 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -143,6 +143,28 @@ static bool tailmatch(const char *cooke_domain, const char *hostname)
}
/*
+ * Return true if the given string is an IP(v4|v6) address.
+ */
+static bool isip(const char *domain)
+{
+ struct in_addr addr;
+#ifdef ENABLE_IPV6
+ struct in6_addr addr6;
+#endif
+
+ if(Curl_inet_pton(AF_INET, domain, &addr)
+#ifdef ENABLE_IPV6
+ || Curl_inet_pton(AF_INET6, domain, &addr6)
+#endif
+ ) {
+ /* domain name given as IP address */
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+/*
* matching cookie path and url path
* RFC6265 5.1.4 Paths and Path-Match
*/
@@ -218,6 +240,62 @@ pathmatched:
}
/*
+ * Return the top-level domain, for optimal hashing.
+ */
+static const char *get_top_domain(const char * const domain, size_t *outlen)
+{
+ size_t len;
+ const char *first = NULL, *last;
+
+ if(!domain)
+ return NULL;
+
+ len = strlen(domain);
+ last = memrchr(domain, '.', len);
+ if(last) {
+ first = memrchr(domain, '.', (size_t) (last - domain));
+ if(first)
+ len -= (size_t) (++first - domain);
+ }
+
+ if(outlen)
+ *outlen = len;
+
+ return first? first: domain;
+}
+
+/*
+ * A case-insensitive hash for the cookie domains.
+ */
+static size_t cookie_hash_domain(const char *domain, const size_t len)
+{
+ const char *end = domain + len;
+ size_t h = 5381;
+
+ while(domain < end) {
+ h += h << 5;
+ h ^= Curl_raw_toupper(*domain++);
+ }
+
+ return (h % COOKIE_HASH_SIZE);
+}
+
+/*
+ * Hash this domain.
+ */
+static size_t cookiehash(const char * const domain)
+{
+ const char *top;
+ size_t len;
+
+ if(!domain || isip(domain))
+ return 0;
+
+ top = get_top_domain(domain, &len);
+ return cookie_hash_domain(top, len);
+}
+
+/*
* cookie path sanitize
*/
static char *sanitize_cookie_path(const char *cookie_path)
@@ -303,48 +381,29 @@ static void remove_expired(struct CookieInfo *cookies)
{
struct Cookie *co, *nx, *pv;
curl_off_t now = (curl_off_t)time(NULL);
-
- co = cookies->cookies;
- pv = NULL;
- while(co) {
- nx = co->next;
- if(co->expires && co->expires < now) {
- if(!pv) {
- cookies->cookies = co->next;
+ unsigned int i;
+
+ for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ co = cookies->cookies[i];
+ pv = NULL;
+ while(co) {
+ nx = co->next;
+ if(co->expires && co->expires < now) {
+ if(!pv) {
+ cookies->cookies[i] = co->next;
+ }
+ else {
+ pv->next = co->next;
+ }
+ cookies->numcookies--;
+ freecookie(co);
}
else {
- pv->next = co->next;
+ pv = co;
}
- cookies->numcookies--;
- freecookie(co);
+ co = nx;
}
- else {
- pv = co;
- }
- co = nx;
- }
-}
-
-/*
- * Return true if the given string is an IP(v4|v6) address.
- */
-static bool isip(const char *domain)
-{
- struct in_addr addr;
-#ifdef ENABLE_IPV6
- struct in6_addr addr6;
-#endif
-
- if(Curl_inet_pton(AF_INET, domain, &addr)
-#ifdef ENABLE_IPV6
- || Curl_inet_pton(AF_INET6, domain, &addr6)
-#endif
- ) {
- /* domain name given as IP address */
- return TRUE;
}
-
- return FALSE;
}
/****************************************************************************
@@ -368,6 +427,7 @@ Curl_cookie_add(struct Curl_easy *data,
struct CookieInfo *c,
bool httpheader, /* TRUE if HTTP header-style line */
+ bool noexpire, /* if TRUE, skip remove_expired() */
char *lineptr, /* first character of the line */
const char *domain, /* default domain */
const char *path) /* full path used when this cookie is set,
@@ -380,6 +440,7 @@ Curl_cookie_add(struct Curl_easy *data,
time_t now = time(NULL);
bool replace_old = FALSE;
bool badcookie = FALSE; /* cookies are good by default. mmmmm yummy */
+ size_t myhash;
#ifdef USE_LIBPSL
const psl_ctx_t *psl;
@@ -467,10 +528,16 @@ Curl_cookie_add(struct Curl_easy *data,
while(*whatptr && ISBLANK(*whatptr))
whatptr++;
- if(!co->name && sep) {
+ if(!co->name) {
/* The very first name/value pair is the actual cookie name */
+ if(!sep) {
+ /* Bad name/value pair. */
+ badcookie = TRUE;
+ break;
+ }
co->name = strdup(name);
co->value = strdup(whatptr);
+ done = TRUE;
if(!co->name || !co->value) {
badcookie = TRUE;
break;
@@ -819,7 +886,8 @@ Curl_cookie_add(struct Curl_easy *data,
the same domain and path as this */
/* at first, remove expired cookies */
- remove_expired(c);
+ if(!noexpire)
+ remove_expired(c);
#ifdef USE_LIBPSL
/* Check if the domain is a Public Suffix and if yes, ignore the cookie.
@@ -836,7 +904,8 @@ Curl_cookie_add(struct Curl_easy *data,
}
#endif
- clist = c->cookies;
+ myhash = cookiehash(co->domain);
+ clist = c->cookies[myhash];
replace_old = FALSE;
while(clist) {
if(strcasecompare(clist->name, co->name)) {
@@ -922,7 +991,7 @@ Curl_cookie_add(struct Curl_easy *data,
if(lastc)
lastc->next = co;
else
- c->cookies = co;
+ c->cookies[myhash] = co;
c->numcookies++; /* one more cookie in the jar */
}
@@ -1026,9 +1095,10 @@ struct CookieInfo *Curl_cookie_init(struct Curl_easy *data,
while(*lineptr && ISBLANK(*lineptr))
lineptr++;
- Curl_cookie_add(data, c, headerline, lineptr, NULL, NULL);
+ Curl_cookie_add(data, c, headerline, TRUE, lineptr, NULL, NULL);
}
free(line); /* free the line buffer */
+ remove_expired(c); /* run this once, not on every cookie */
if(fromfile)
fclose(fp);
@@ -1134,8 +1204,9 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c,
struct Cookie *mainco = NULL;
size_t matches = 0;
bool is_ip;
+ const size_t myhash = cookiehash(host);
- if(!c || !c->cookies)
+ if(!c || !c->cookies[myhash])
return NULL; /* no cookie struct or no cookies in the struct */
/* at first, remove expired cookies */
@@ -1144,7 +1215,7 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c,
/* check if host is an IP(v4|v6) address */
is_ip = isip(host);
- co = c->cookies;
+ co = c->cookies[myhash];
while(co) {
/* only process this cookie if it is not expired or had no expire
@@ -1232,8 +1303,11 @@ struct Cookie *Curl_cookie_getlist(struct CookieInfo *c,
void Curl_cookie_clearall(struct CookieInfo *cookies)
{
if(cookies) {
- Curl_cookie_freelist(cookies->cookies);
- cookies->cookies = NULL;
+ unsigned int i;
+ for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ Curl_cookie_freelist(cookies->cookies[i]);
+ cookies->cookies[i] = NULL;
+ }
cookies->numcookies = 0;
}
}
@@ -1267,31 +1341,37 @@ void Curl_cookie_freelist(struct Cookie *co)
void Curl_cookie_clearsess(struct CookieInfo *cookies)
{
struct Cookie *first, *curr, *next, *prev = NULL;
+ unsigned int i;
- if(!cookies || !cookies->cookies)
+ if(!cookies)
return;
- first = curr = prev = cookies->cookies;
+ for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ if(!cookies->cookies[i])
+ continue;
- for(; curr; curr = next) {
- next = curr->next;
- if(!curr->expires) {
- if(first == curr)
- first = next;
+ first = curr = prev = cookies->cookies[i];
- if(prev == curr)
- prev = next;
- else
- prev->next = next;
+ for(; curr; curr = next) {
+ next = curr->next;
+ if(!curr->expires) {
+ if(first == curr)
+ first = next;
+
+ if(prev == curr)
+ prev = next;
+ else
+ prev->next = next;
- freecookie(curr);
- cookies->numcookies--;
+ freecookie(curr);
+ cookies->numcookies--;
+ }
+ else
+ prev = curr;
}
- else
- prev = curr;
- }
- cookies->cookies = first;
+ cookies->cookies[i] = first;
+ }
}
@@ -1304,9 +1384,12 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies)
****************************************************************************/
void Curl_cookie_cleanup(struct CookieInfo *c)
{
+ unsigned int i;
+
if(c) {
free(c->filename);
- Curl_cookie_freelist(c->cookies);
+ for(i = 0; i < COOKIE_HASH_SIZE; i++)
+ Curl_cookie_freelist(c->cookies[i]);
free(c); /* free the base struct as well */
}
}
@@ -1355,6 +1438,7 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere)
FILE *out;
bool use_stdout = FALSE;
char *format_ptr;
+ unsigned int i;
if((NULL == c) || (0 == c->numcookies))
/* If there are no known cookies, we don't write or even create any
@@ -1364,6 +1448,10 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere)
/* at first, remove expired cookies */
remove_expired(c);
+ /* make sure we still have cookies after expiration */
+ if(0 == c->numcookies)
+ return 0;
+
if(!strcmp("-", dumphere)) {
/* use stdout */
out = stdout;
@@ -1380,18 +1468,20 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere)
"# This file was generated by libcurl! Edit at your own risk.\n\n",
out);
- for(co = c->cookies; co; co = co->next) {
- if(!co->domain)
- continue;
- format_ptr = get_netscape_format(co);
- if(format_ptr == NULL) {
- fprintf(out, "#\n# Fatal libcurl error\n");
- if(!use_stdout)
- fclose(out);
- return 1;
+ for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ for(co = c->cookies[i]; co; co = co->next) {
+ if(!co->domain)
+ continue;
+ format_ptr = get_netscape_format(co);
+ if(format_ptr == NULL) {
+ fprintf(out, "#\n# Fatal libcurl error\n");
+ if(!use_stdout)
+ fclose(out);
+ return 1;
+ }
+ fprintf(out, "%s\n", format_ptr);
+ free(format_ptr);
}
- fprintf(out, "%s\n", format_ptr);
- free(format_ptr);
}
if(!use_stdout)
@@ -1406,26 +1496,29 @@ static struct curl_slist *cookie_list(struct Curl_easy *data)
struct curl_slist *beg;
struct Cookie *c;
char *line;
+ unsigned int i;
if((data->cookies == NULL) ||
(data->cookies->numcookies == 0))
return NULL;
- for(c = data->cookies->cookies; c; c = c->next) {
- if(!c->domain)
- continue;
- line = get_netscape_format(c);
- if(!line) {
- curl_slist_free_all(list);
- return NULL;
- }
- beg = Curl_slist_append_nodup(list, line);
- if(!beg) {
- free(line);
- curl_slist_free_all(list);
- return NULL;
+ for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ for(c = data->cookies->cookies[i]; c; c = c->next) {
+ if(!c->domain)
+ continue;
+ line = get_netscape_format(c);
+ if(!line) {
+ curl_slist_free_all(list);
+ return NULL;
+ }
+ beg = Curl_slist_append_nodup(list, line);
+ if(!beg) {
+ free(line);
+ curl_slist_free_all(list);
+ return NULL;
+ }
+ list = beg;
}
- list = beg;
}
return list;
diff --git a/lib/cookie.h b/lib/cookie.h
index cb50b71c..79b5928d 100644
--- a/lib/cookie.h
+++ b/lib/cookie.h
@@ -45,9 +45,11 @@ struct Cookie {
bool httponly; /* true if the httponly directive is present */
};
+#define COOKIE_HASH_SIZE 256
+
struct CookieInfo {
/* linked list of cookies we know of */
- struct Cookie *cookies;
+ struct Cookie *cookies[COOKIE_HASH_SIZE];
char *filename; /* file we read from/write to */
bool running; /* state info, for cookie adding information */
@@ -67,7 +69,6 @@ struct CookieInfo {
*/
#define MAX_COOKIE_LINE 5000
-#define MAX_COOKIE_LINE_TXT "4999"
/* This is the maximum length of a cookie name or content we deal with: */
#define MAX_NAME 4096
@@ -80,7 +81,8 @@ struct Curl_easy;
*/
struct Cookie *Curl_cookie_add(struct Curl_easy *data,
- struct CookieInfo *, bool header, char *lineptr,
+ struct CookieInfo *, bool header, bool noexpiry,
+ char *lineptr,
const char *domain, const char *path);
struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *,
diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c
index 95a3f105..55d5a394 100644
--- a/lib/curl_addrinfo.c
+++ b/lib/curl_addrinfo.c
@@ -345,7 +345,7 @@ Curl_he2ai(const struct hostent *he, int port)
addr = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr->sin_addr, curr, sizeof(struct in_addr));
- addr->sin_family = (unsigned short)(he->h_addrtype);
+ addr->sin_family = (CURL_SA_FAMILY_T)(he->h_addrtype);
addr->sin_port = htons((unsigned short)port);
break;
@@ -354,7 +354,7 @@ Curl_he2ai(const struct hostent *he, int port)
addr6 = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr6->sin6_addr, curr, sizeof(struct in6_addr));
- addr6->sin6_family = (unsigned short)(he->h_addrtype);
+ addr6->sin6_family = (CURL_SA_FAMILY_T)(he->h_addrtype);
addr6->sin6_port = htons((unsigned short)port);
break;
#endif
diff --git a/lib/curl_config.h b/lib/curl_config.h
index e8d34704..77587ebe 100644
--- a/lib/curl_config.h
+++ b/lib/curl_config.h
@@ -1,6 +1,9 @@
/* lib/curl_config.h. Generated from curl_config.h.in by configure. */
/* lib/curl_config.h.in. Generated from configure.ac by autoheader. */
+/* to enable curl debug memory tracking */
+/* #undef CURLDEBUG */
+
/* Location of default ca bundle */
/* #undef CURL_CA_BUNDLE */
@@ -76,9 +79,15 @@
/* Definition to make a library symbol externally visible. */
#define CURL_EXTERN_SYMBOL __attribute__ ((__visibility__ ("default")))
+/* IP address type in sockaddr */
+#define CURL_SA_FAMILY_T sa_family_t
+
/* built with multiple SSL backends */
/* #undef CURL_WITH_MULTI_SSL */
+/* enable debug build options */
+/* #undef DEBUGBUILD */
+
/* your Entropy Gathering Daemon socket pathname */
/* #undef EGD_SOCKET */
diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake
index e640cc65..4b12083f 100644
--- a/lib/curl_config.h.cmake
+++ b/lib/curl_config.h.cmake
@@ -398,6 +398,9 @@
/* if zlib is available */
#cmakedefine HAVE_LIBZ 1
+/* if brotli is available */
+#cmakedefine HAVE_BROTLI 1
+
/* if your compiler supports LL */
#cmakedefine HAVE_LL 1
diff --git a/lib/curl_config.h.in b/lib/curl_config.h.in
index 0f2a8040..f6032152 100644
--- a/lib/curl_config.h.in
+++ b/lib/curl_config.h.in
@@ -1,5 +1,8 @@
/* lib/curl_config.h.in. Generated from configure.ac by autoheader. */
+/* to enable curl debug memory tracking */
+#undef CURLDEBUG
+
/* Location of default ca bundle */
#undef CURL_CA_BUNDLE
@@ -75,9 +78,15 @@
/* Definition to make a library symbol externally visible. */
#undef CURL_EXTERN_SYMBOL
+/* IP address type in sockaddr */
+#undef CURL_SA_FAMILY_T
+
/* built with multiple SSL backends */
#undef CURL_WITH_MULTI_SSL
+/* enable debug build options */
+#undef DEBUGBUILD
+
/* your Entropy Gathering Daemon socket pathname */
#undef EGD_SOCKET
diff --git a/lib/curl_ctype.c b/lib/curl_ctype.c
index 4f5abc20..1a47fb5e 100644
--- a/lib/curl_ctype.c
+++ b/lib/curl_ctype.c
@@ -22,6 +22,8 @@
#include "curl_setup.h"
+#ifndef CURL_DOES_CONVERSIONS
+
#undef _U
#define _U (1<<0) /* upper case */
#undef _L
@@ -120,3 +122,12 @@ int Curl_islower(int c)
return FALSE;
return (ascii[c] & (_L));
}
+
+int Curl_iscntrl(int c)
+{
+ if((c < 0) || (c >= 0x80))
+ return FALSE;
+ return (ascii[c] & (_C));
+}
+
+#endif /* !CURL_DOES_CONVERSIONS */
diff --git a/lib/curl_ctype.h b/lib/curl_ctype.h
index da3bd95a..6e94bb1b 100644
--- a/lib/curl_ctype.h
+++ b/lib/curl_ctype.h
@@ -22,6 +22,34 @@
*
***************************************************************************/
+#include "curl_setup.h"
+
+#ifdef CURL_DOES_CONVERSIONS
+
+/*
+ * Uppercase macro versions of ANSI/ISO is*() functions/macros which
+ * avoid negative number inputs with argument byte codes > 127.
+ *
+ * For non-ASCII platforms the C library character classification routines
+ * are used despite being locale-dependent, because this is better than
+ * not to work at all.
+ */
+#include <ctype.h>
+
+#define ISSPACE(x) (isspace((int) ((unsigned char)x)))
+#define ISDIGIT(x) (isdigit((int) ((unsigned char)x)))
+#define ISALNUM(x) (isalnum((int) ((unsigned char)x)))
+#define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
+#define ISGRAPH(x) (isgraph((int) ((unsigned char)x)))
+#define ISALPHA(x) (isalpha((int) ((unsigned char)x)))
+#define ISPRINT(x) (isprint((int) ((unsigned char)x)))
+#define ISUPPER(x) (isupper((int) ((unsigned char)x)))
+#define ISLOWER(x) (islower((int) ((unsigned char)x)))
+#define ISCNTRL(x) (iscntrl((int) ((unsigned char)x)))
+#define ISASCII(x) (isascii((int) ((unsigned char)x)))
+
+#else
+
int Curl_isspace(int c);
int Curl_isdigit(int c);
int Curl_isalnum(int c);
@@ -31,6 +59,7 @@ int Curl_isprint(int c);
int Curl_isalpha(int c);
int Curl_isupper(int c);
int Curl_islower(int c);
+int Curl_iscntrl(int c);
#define ISSPACE(x) (Curl_isspace((int) ((unsigned char)x)))
#define ISDIGIT(x) (Curl_isdigit((int) ((unsigned char)x)))
@@ -41,7 +70,11 @@ int Curl_islower(int c);
#define ISPRINT(x) (Curl_isprint((int) ((unsigned char)x)))
#define ISUPPER(x) (Curl_isupper((int) ((unsigned char)x)))
#define ISLOWER(x) (Curl_islower((int) ((unsigned char)x)))
+#define ISCNTRL(x) (Curl_iscntrl((int) ((unsigned char)x)))
#define ISASCII(x) (((x) >= 0) && ((x) <= 0x80))
+
+#endif
+
#define ISBLANK(x) (int)((((unsigned char)x) == ' ') || \
(((unsigned char)x) == '\t'))
diff --git a/lib/curl_memrchr.c b/lib/curl_memrchr.c
index c521497b..eeb3044a 100644
--- a/lib/curl_memrchr.c
+++ b/lib/curl_memrchr.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -44,17 +44,18 @@
void *
Curl_memrchr(const void *s, int c, size_t n)
{
- const unsigned char *p = s;
- const unsigned char *q = s;
+ if(n > 0) {
+ const unsigned char *p = s;
+ const unsigned char *q = s;
- p += n - 1;
+ p += n - 1;
- while(p >= q) {
- if(*p == (unsigned char)c)
- return (void *)p;
- p--;
+ while(p >= q) {
+ if(*p == (unsigned char)c)
+ return (void *)p;
+ p--;
+ }
}
-
return NULL;
}
diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
index e8962769..e27cab35 100644
--- a/lib/curl_ntlm_core.c
+++ b/lib/curl_ntlm_core.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -646,15 +646,6 @@ CURLcode Curl_hmac_md5(const unsigned char *key, unsigned int keylen,
return CURLE_OK;
}
-#ifndef SIZE_T_MAX
-/* some limits.h headers have this defined, some don't */
-#if defined(SIZEOF_SIZE_T) && (SIZEOF_SIZE_T > 4)
-#define SIZE_T_MAX 18446744073709551615U
-#else
-#define SIZE_T_MAX 4294967295U
-#endif
-#endif
-
/* This creates the NTLMv2 hash by using NTLM hash as the key and Unicode
* (uppercase UserName + Domain) as the data
*/
@@ -754,12 +745,10 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash,
len = NTLM_HMAC_MD5_LEN + NTLMv2_BLOB_LEN;
/* Allocate the response */
- ptr = malloc(len);
+ ptr = calloc(1, len);
if(!ptr)
return CURLE_OUT_OF_MEMORY;
- memset(ptr, 0, len);
-
/* Create the BLOB structure */
snprintf((char *)ptr + NTLM_HMAC_MD5_LEN, NTLMv2_BLOB_LEN,
"%c%c%c%c" /* NTLMv2_BLOB_SIGNATURE */
diff --git a/lib/curl_path.h b/lib/curl_path.h
index f9d43275..5ee4ff36 100644
--- a/lib/curl_path.h
+++ b/lib/curl_path.h
@@ -1,3 +1,5 @@
+#ifndef HEADER_CURL_PATH_H
+#define HEADER_CURL_PATH_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -5,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -42,3 +44,4 @@ CURLcode Curl_getworkingpath(struct connectdata *conn,
char **path);
CURLcode Curl_get_pathname(const char **cpp, char **path, char *homedir);
+#endif
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 7052bd91..e54e4875 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -265,7 +265,7 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn,
const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name :
conn->host.name;
const long int port = SSL_IS_PROXY() ? conn->port : conn->remote_port;
-#if defined(USE_KERBEROS5)
+#if defined(USE_KERBEROS5) || defined(USE_NTLM)
const char *service = data->set.str[STRING_SERVICE_NAME] ?
data->set.str[STRING_SERVICE_NAME] :
sasl->params->service;
@@ -333,7 +333,10 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn,
if(force_ir || data->set.sasl_ir)
result = Curl_auth_create_ntlm_type1_message(data,
conn->user, conn->passwd,
- &conn->ntlm, &resp, &len);
+ service,
+ hostname,
+ &conn->ntlm, &resp,
+ &len);
}
else
#endif
@@ -419,13 +422,11 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn,
char *chlg = NULL;
size_t chlglen = 0;
#endif
-#if !defined(CURL_DISABLE_CRYPTO_AUTH) || defined(USE_KERBEROS5)
+#if !defined(CURL_DISABLE_CRYPTO_AUTH) || defined(USE_KERBEROS5) || \
+ defined(USE_NTLM)
const char *service = data->set.str[STRING_SERVICE_NAME] ?
data->set.str[STRING_SERVICE_NAME] :
sasl->params->service;
-#endif
-#if !defined(CURL_DISABLE_CRYPTO_AUTH) || defined(USE_KERBEROS5) || \
- defined(USE_NTLM)
char *serverdata;
#endif
size_t len = 0;
@@ -496,6 +497,7 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn,
/* Create the type-1 message */
result = Curl_auth_create_ntlm_type1_message(data,
conn->user, conn->passwd,
+ service, hostname,
&conn->ntlm, &resp, &len);
newstate = SASL_NTLM_TYPE2MSG;
break;
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
index f128696e..5593a3b5 100644
--- a/lib/curl_setup.h
+++ b/lib/curl_setup.h
@@ -447,6 +447,15 @@
# endif
#endif
+#ifndef SIZE_T_MAX
+/* some limits.h headers have this defined, some don't */
+#if defined(SIZEOF_SIZE_T) && (SIZEOF_SIZE_T > 4)
+#define SIZE_T_MAX 18446744073709551615U
+#else
+#define SIZE_T_MAX 4294967295U
+#endif
+#endif
+
/*
* Arg 2 type for gethostname in case it hasn't been defined in config file.
*/
@@ -786,4 +795,9 @@ endings either CRLF or LF so 't' is appropriate.
# endif
# endif
+/* for systems that don't detect this in configure, use a sensible default */
+#ifndef CURL_SA_FAMILY_T
+#define CURL_SA_FAMILY_T unsigned short
+#endif
+
#endif /* HEADER_CURL_SETUP_H */
diff --git a/lib/easy.c b/lib/easy.c
index 64c647be..6b914353 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -746,6 +746,10 @@ static CURLcode easy_perform(struct Curl_easy *data, bool events)
if(!data)
return CURLE_BAD_FUNCTION_ARGUMENT;
+ if(data->set.errorbuffer)
+ /* clear this as early as possible */
+ data->set.errorbuffer[0] = 0;
+
if(data->multi) {
failf(data, "easy handle already used in multi handle");
return CURLE_FAILED_INIT;
@@ -888,6 +892,9 @@ static CURLcode dupset(struct Curl_easy *dst, struct Curl_easy *src)
/* Duplicate mime data. */
result = Curl_mime_duppart(&dst->set.mimepost, &src->set.mimepost);
+ if(src->set.resolve)
+ dst->change.resolve = dst->set.resolve;
+
return result;
}
@@ -1099,6 +1106,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) )
Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
+ /* This transfer may have been moved in or out of the bundle, update
+ the corresponding socket callback, if used */
+ Curl_updatesocket(data);
+
return result;
}
diff --git a/lib/fileinfo.c b/lib/fileinfo.c
index 38729884..4e72e1eb 100644
--- a/lib/fileinfo.c
+++ b/lib/fileinfo.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2010 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2010 - 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
@@ -33,14 +33,11 @@ struct fileinfo *Curl_fileinfo_alloc(void)
return calloc(1, sizeof(struct fileinfo));
}
-void Curl_fileinfo_dtor(void *user, void *element)
+void Curl_fileinfo_cleanup(struct fileinfo *finfo)
{
- struct fileinfo *finfo = element;
- (void) user;
if(!finfo)
return;
Curl_safefree(finfo->info.b_data);
-
free(finfo);
}
diff --git a/lib/fileinfo.h b/lib/fileinfo.h
index c5d0ee5b..f4d8f3b9 100644
--- a/lib/fileinfo.h
+++ b/lib/fileinfo.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2010, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2010 - 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
@@ -31,7 +31,6 @@ struct fileinfo {
};
struct fileinfo *Curl_fileinfo_alloc(void);
-
-void Curl_fileinfo_dtor(void *, void *);
+void Curl_fileinfo_cleanup(struct fileinfo *finfo);
#endif /* HEADER_CURL_FILEINFO_H */
diff --git a/lib/ftp.c b/lib/ftp.c
index e2cc38b6..4e074a11 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -1621,7 +1621,7 @@ static CURLcode ftp_state_ul_setup(struct connectdata *conn,
Curl_set_in_callback(data, true);
seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
SEEK_SET);
- Curl_set_in_callback(data, true);
+ Curl_set_in_callback(data, false);
}
if(seekerr != CURL_SEEKFUNC_OK) {
@@ -1788,7 +1788,7 @@ static CURLcode ftp_epsv_disable(struct connectdata *conn)
{
CURLcode result = CURLE_OK;
- if(conn->bits.ipv6) {
+ if(conn->bits.ipv6 && !(conn->bits.tunnel_proxy || conn->bits.socksproxy)) {
/* We can't disable EPSV when doing IPv6, so this is instead a fail */
failf(conn->data, "Failed EPSV attempt, exiting\n");
return CURLE_WEIRD_SERVER_REPLY;
@@ -1910,13 +1910,13 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
if(data->set.ftp_skip_ip) {
/* told to ignore the remotely given IP but instead use the host we used
for the control connection */
- infof(data, "Skip %d.%d.%d.%d for data connection, re-use %s instead\n",
+ infof(data, "Skip %u.%u.%u.%u for data connection, re-use %s instead\n",
ip[0], ip[1], ip[2], ip[3],
conn->host.name);
ftpc->newhost = strdup(control_address(conn));
}
else
- ftpc->newhost = aprintf("%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
+ ftpc->newhost = aprintf("%u.%u.%u.%u", ip[0], ip[1], ip[2], ip[3]);
if(!ftpc->newhost)
return CURLE_OUT_OF_MEMORY;
@@ -3687,10 +3687,10 @@ CURLcode ftp_perform(struct connectdata *conn,
static void wc_data_dtor(void *ptr)
{
- struct ftp_wc_tmpdata *tmp = ptr;
- if(tmp)
- Curl_ftp_parselist_data_free(&tmp->parser);
- free(tmp);
+ struct ftp_wc *ftpwc = ptr;
+ if(ftpwc && ftpwc->parser)
+ Curl_ftp_parselist_data_free(&ftpwc->parser);
+ free(ftpwc);
}
static CURLcode init_wc_data(struct connectdata *conn)
@@ -3699,7 +3699,7 @@ static CURLcode init_wc_data(struct connectdata *conn)
char *path = conn->data->state.path;
struct WildcardData *wildcard = &(conn->data->wildcard);
CURLcode result = CURLE_OK;
- struct ftp_wc_tmpdata *ftp_tmp;
+ struct ftp_wc *ftpwc = NULL;
last_slash = strrchr(conn->data->state.path, '/');
if(last_slash) {
@@ -3731,23 +3731,22 @@ static CURLcode init_wc_data(struct connectdata *conn)
/* program continues only if URL is not ending with slash, allocate needed
resources for wildcard transfer */
- /* allocate ftp protocol specific temporary wildcard data */
- ftp_tmp = calloc(1, sizeof(struct ftp_wc_tmpdata));
- if(!ftp_tmp) {
- Curl_safefree(wildcard->pattern);
- return CURLE_OUT_OF_MEMORY;
+ /* allocate ftp protocol specific wildcard data */
+ ftpwc = calloc(1, sizeof(struct ftp_wc));
+ if(!ftpwc) {
+ result = CURLE_OUT_OF_MEMORY;
+ goto fail;
}
/* INITIALIZE parselist structure */
- ftp_tmp->parser = Curl_ftp_parselist_data_alloc();
- if(!ftp_tmp->parser) {
- Curl_safefree(wildcard->pattern);
- free(ftp_tmp);
- return CURLE_OUT_OF_MEMORY;
+ ftpwc->parser = Curl_ftp_parselist_data_alloc();
+ if(!ftpwc->parser) {
+ result = CURLE_OUT_OF_MEMORY;
+ goto fail;
}
- wildcard->tmp = ftp_tmp; /* put it to the WildcardData tmp pointer */
- wildcard->tmp_dtor = wc_data_dtor;
+ wildcard->protdata = ftpwc; /* put it to the WildcardData tmp pointer */
+ wildcard->dtor = wc_data_dtor;
/* wildcard does not support NOCWD option (assert it?) */
if(conn->data->set.ftp_filemethod == FTPFILE_NOCWD)
@@ -3756,33 +3755,36 @@ static CURLcode init_wc_data(struct connectdata *conn)
/* try to parse ftp url */
result = ftp_parse_url_path(conn);
if(result) {
- Curl_safefree(wildcard->pattern);
- wildcard->tmp_dtor(wildcard->tmp);
- wildcard->tmp_dtor = ZERO_NULL;
- wildcard->tmp = NULL;
- return result;
+ goto fail;
}
wildcard->path = strdup(conn->data->state.path);
if(!wildcard->path) {
- Curl_safefree(wildcard->pattern);
- wildcard->tmp_dtor(wildcard->tmp);
- wildcard->tmp_dtor = ZERO_NULL;
- wildcard->tmp = NULL;
- return CURLE_OUT_OF_MEMORY;
+ result = CURLE_OUT_OF_MEMORY;
+ goto fail;
}
/* backup old write_function */
- ftp_tmp->backup.write_function = conn->data->set.fwrite_func;
+ ftpwc->backup.write_function = conn->data->set.fwrite_func;
/* parsing write function */
conn->data->set.fwrite_func = Curl_ftp_parselist;
/* backup old file descriptor */
- ftp_tmp->backup.file_descriptor = conn->data->set.out;
+ ftpwc->backup.file_descriptor = conn->data->set.out;
/* let the writefunc callback know what curl pointer is working with */
conn->data->set.out = conn;
infof(conn->data, "Wildcard - Parsing started\n");
return CURLE_OK;
+
+ fail:
+ if(ftpwc) {
+ Curl_ftp_parselist_data_free(&ftpwc->parser);
+ free(ftpwc);
+ }
+ Curl_safefree(wildcard->pattern);
+ wildcard->dtor = ZERO_NULL;
+ wildcard->protdata = NULL;
+ return result;
}
/* This is called recursively */
@@ -3803,14 +3805,14 @@ static CURLcode wc_statemach(struct connectdata *conn)
case CURLWC_MATCHING: {
/* In this state is LIST response successfully parsed, so lets restore
previous WRITEFUNCTION callback and WRITEDATA pointer */
- struct ftp_wc_tmpdata *ftp_tmp = wildcard->tmp;
- conn->data->set.fwrite_func = ftp_tmp->backup.write_function;
- conn->data->set.out = ftp_tmp->backup.file_descriptor;
- ftp_tmp->backup.write_function = ZERO_NULL;
- ftp_tmp->backup.file_descriptor = NULL;
+ struct ftp_wc *ftpwc = wildcard->protdata;
+ conn->data->set.fwrite_func = ftpwc->backup.write_function;
+ conn->data->set.out = ftpwc->backup.file_descriptor;
+ ftpwc->backup.write_function = ZERO_NULL;
+ ftpwc->backup.file_descriptor = NULL;
wildcard->state = CURLWC_DOWNLOADING;
- if(Curl_ftp_parselist_geterror(ftp_tmp->parser)) {
+ if(Curl_ftp_parselist_geterror(ftpwc->parser)) {
/* error found in LIST parsing */
wildcard->state = CURLWC_CLEAN;
return wc_statemach(conn);
@@ -3892,10 +3894,10 @@ static CURLcode wc_statemach(struct connectdata *conn)
}
case CURLWC_CLEAN: {
- struct ftp_wc_tmpdata *ftp_tmp = wildcard->tmp;
+ struct ftp_wc *ftpwc = wildcard->protdata;
result = CURLE_OK;
- if(ftp_tmp)
- result = Curl_ftp_parselist_geterror(ftp_tmp->parser);
+ if(ftpwc)
+ result = Curl_ftp_parselist_geterror(ftpwc->parser);
wildcard->state = result ? CURLWC_ERROR : CURLWC_DONE;
} break;
@@ -3903,6 +3905,8 @@ static CURLcode wc_statemach(struct connectdata *conn)
case CURLWC_DONE:
case CURLWC_ERROR:
case CURLWC_CLEAR:
+ if(wildcard->dtor)
+ wildcard->dtor(wildcard->protdata);
break;
}
diff --git a/lib/ftp.h b/lib/ftp.h
index e4aa63f1..7ec33911 100644
--- a/lib/ftp.h
+++ b/lib/ftp.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -81,7 +81,7 @@ typedef enum {
struct ftp_parselist_data; /* defined later in ftplistparser.c */
-struct ftp_wc_tmpdata {
+struct ftp_wc {
struct ftp_parselist_data *parser;
struct {
diff --git a/lib/ftplistparser.c b/lib/ftplistparser.c
index 7668ea8c..249fe09c 100644
--- a/lib/ftplistparser.c
+++ b/lib/ftplistparser.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -185,10 +185,13 @@ struct ftp_parselist_data *Curl_ftp_parselist_data_alloc(void)
}
-void Curl_ftp_parselist_data_free(struct ftp_parselist_data **pl_data)
+void Curl_ftp_parselist_data_free(struct ftp_parselist_data **parserp)
{
- free(*pl_data);
- *pl_data = NULL;
+ struct ftp_parselist_data *parser = *parserp;
+ if(parser)
+ Curl_fileinfo_cleanup(parser->file_data);
+ free(parser);
+ *parserp = NULL;
}
@@ -270,9 +273,9 @@ static CURLcode ftp_pl_insert_finfo(struct connectdata *conn,
{
curl_fnmatch_callback compare;
struct WildcardData *wc = &conn->data->wildcard;
- struct ftp_wc_tmpdata *tmpdata = wc->tmp;
+ struct ftp_wc *ftpwc = wc->protdata;
struct curl_llist *llist = &wc->filelist;
- struct ftp_parselist_data *parser = tmpdata->parser;
+ struct ftp_parselist_data *parser = ftpwc->parser;
bool add = TRUE;
struct curl_fileinfo *finfo = &infop->info;
@@ -313,10 +316,10 @@ static CURLcode ftp_pl_insert_finfo(struct connectdata *conn,
Curl_llist_insert_next(llist, llist->tail, finfo, &infop->list);
}
else {
- Curl_fileinfo_dtor(NULL, finfo);
+ Curl_fileinfo_cleanup(infop);
}
- tmpdata->parser->file_data = NULL;
+ ftpwc->parser->file_data = NULL;
return CURLE_OK;
}
@@ -325,8 +328,8 @@ size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,
{
size_t bufflen = size*nmemb;
struct connectdata *conn = (struct connectdata *)connptr;
- struct ftp_wc_tmpdata *tmpdata = conn->data->wildcard.tmp;
- struct ftp_parselist_data *parser = tmpdata->parser;
+ struct ftp_wc *ftpwc = conn->data->wildcard.protdata;
+ struct ftp_parselist_data *parser = ftpwc->parser;
struct fileinfo *infop;
struct curl_fileinfo *finfo;
unsigned long i = 0;
@@ -381,7 +384,7 @@ size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,
finfo->b_data = tmp;
}
else {
- Curl_fileinfo_dtor(NULL, parser->file_data);
+ Curl_fileinfo_cleanup(parser->file_data);
parser->file_data = NULL;
parser->error = CURLE_OUT_OF_MEMORY;
goto fail;
@@ -1003,12 +1006,13 @@ size_t Curl_ftp_parselist(char *buffer, size_t size, size_t nmemb,
i++;
}
+ return retsize;
fail:
/* Clean up any allocated memory. */
if(parser->file_data) {
- Curl_fileinfo_dtor(NULL, parser->file_data);
+ Curl_fileinfo_cleanup(parser->file_data);
parser->file_data = NULL;
}
diff --git a/lib/hash.c b/lib/hash.c
index c99b1b69..15a128fe 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -261,11 +261,11 @@ size_t Curl_hash_str(void *key, size_t key_length, size_t slots_num)
{
const char *key_str = (const char *) key;
const char *end = key_str + key_length;
- unsigned long h = 5381;
+ size_t h = 5381;
while(key_str < end) {
h += h << 5;
- h ^= (unsigned long) *key_str++;
+ h ^= *key_str++;
}
return (h % slots_num);
diff --git a/lib/hostcheck.c b/lib/hostcheck.c
index 37bcc12c..c9d8112d 100644
--- a/lib/hostcheck.c
+++ b/lib/hostcheck.c
@@ -25,7 +25,7 @@
#if defined(USE_OPENSSL) \
|| defined(USE_AXTLS) \
|| defined(USE_GSKIT) \
- || (defined(USE_SCHANNEL) && defined(_WIN32_WCE))
+ || defined(USE_SCHANNEL)
/* these backends use functions from this file */
#ifdef HAVE_NETINET_IN_H
diff --git a/lib/hostip.c b/lib/hostip.c
index 8554d39d..c2f9defd 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -54,6 +54,7 @@
#include "sendf.h"
#include "hostip.h"
#include "hash.h"
+#include "rand.h"
#include "share.h"
#include "strerror.h"
#include "url.h"
@@ -367,6 +368,70 @@ Curl_fetch_addr(struct connectdata *conn,
}
/*
+ * Curl_shuffle_addr() shuffles the order of addresses in a 'Curl_addrinfo'
+ * struct by re-linking its linked list.
+ *
+ * The addr argument should be the address of a pointer to the head node of a
+ * `Curl_addrinfo` list and it will be modified to point to the new head after
+ * shuffling.
+ *
+ * Not declared static only to make it easy to use in a unit test!
+ *
+ * @unittest: 1608
+ */
+CURLcode Curl_shuffle_addr(struct Curl_easy *data, Curl_addrinfo **addr)
+{
+ CURLcode result = CURLE_OK;
+ const int num_addrs = Curl_num_addresses(*addr);
+
+ if(num_addrs > 1) {
+ Curl_addrinfo **nodes;
+ infof(data, "Shuffling %i addresses", num_addrs);
+
+ nodes = malloc(num_addrs*sizeof(*nodes));
+ if(nodes) {
+ int i;
+ unsigned int *rnd;
+ const size_t rnd_size = num_addrs * sizeof(*rnd);
+
+ /* build a plain array of Curl_addrinfo pointers */
+ nodes[0] = *addr;
+ for(i = 1; i < num_addrs; i++) {
+ nodes[i] = nodes[i-1]->ai_next;
+ }
+
+ rnd = malloc(rnd_size);
+ if(rnd) {
+ /* Fisher-Yates shuffle */
+ if(Curl_rand(data, (unsigned char *)rnd, rnd_size) == CURLE_OK) {
+ Curl_addrinfo *swap_tmp;
+ for(i = num_addrs - 1; i > 0; i--) {
+ swap_tmp = nodes[rnd[i] % (i + 1)];
+ nodes[rnd[i] % (i + 1)] = nodes[i];
+ nodes[i] = swap_tmp;
+ }
+
+ /* relink list in the new order */
+ for(i = 1; i < num_addrs; i++) {
+ nodes[i-1]->ai_next = nodes[i];
+ }
+
+ nodes[num_addrs-1]->ai_next = NULL;
+ *addr = nodes[0];
+ }
+ free(rnd);
+ }
+ else
+ result = CURLE_OUT_OF_MEMORY;
+ free(nodes);
+ }
+ else
+ result = CURLE_OUT_OF_MEMORY;
+ }
+ return result;
+}
+
+/*
* Curl_cache_addr() stores a 'Curl_addrinfo' struct in the DNS cache.
*
* When calling Curl_resolv() has resulted in a response with a returned
@@ -386,6 +451,13 @@ Curl_cache_addr(struct Curl_easy *data,
struct Curl_dns_entry *dns;
struct Curl_dns_entry *dns2;
+ /* shuffle addresses if requested */
+ if(data->set.dns_shuffle_addresses) {
+ CURLcode result = Curl_shuffle_addr(data, &addr);
+ if(!result)
+ return NULL;
+ }
+
/* Create an entry id, based upon the hostname and port */
entry_id = create_hostcache_id(hostname, port);
/* If we can't create the entry id, fail */
diff --git a/lib/hostip.h b/lib/hostip.h
index 298eeeee..1de4bee8 100644
--- a/lib/hostip.h
+++ b/lib/hostip.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -182,6 +182,17 @@ struct Curl_dns_entry *
Curl_fetch_addr(struct connectdata *conn,
const char *hostname,
int port);
+
+/*
+ * Curl_shuffle_addr() shuffles the order of addresses in a 'Curl_addrinfo'
+ * struct by re-linking its linked list.
+ *
+ * The addr argument should be the address of a pointer to the head node of a
+ * `Curl_addrinfo` list and it will be modified to point to the new head after
+ * shuffling.
+ */
+CURLcode Curl_shuffle_addr(struct Curl_easy *data, Curl_addrinfo **addr);
+
/*
* Curl_cache_addr() stores a 'Curl_addrinfo' struct in the DNS cache.
*
diff --git a/lib/http.c b/lib/http.c
index 841f6cc0..ff1d6813 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -92,6 +92,8 @@ static int http_getsock_do(struct connectdata *conn,
int numsocks);
static int http_should_fail(struct connectdata *conn);
+static CURLcode add_haproxy_protocol_header(struct connectdata *conn);
+
#ifdef USE_SSL
static CURLcode https_connecting(struct connectdata *conn, bool *done);
static int https_getsock(struct connectdata *conn,
@@ -212,8 +214,6 @@ char *Curl_copy_header_value(const char *header)
char *value;
size_t len;
- DEBUGASSERT(header);
-
/* Find the end of the header name */
while(*header && (*header != ':'))
++header;
@@ -433,7 +433,7 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
data left to send, keep on sending. */
/* rewind data when completely done sending! */
- if(!conn->bits.authneg) {
+ if(!conn->bits.authneg && (conn->writesockfd != CURL_SOCKET_BAD)) {
conn->bits.rewindaftersend = TRUE;
infof(data, "Rewind stream after send\n");
}
@@ -1358,6 +1358,13 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done)
/* nothing else to do except wait right now - we're not done here. */
return CURLE_OK;
+ if(conn->data->set.haproxyprotocol) {
+ /* add HAProxy PROXY protocol header */
+ result = add_haproxy_protocol_header(conn);
+ if(result)
+ return result;
+ }
+
if(conn->given->protocol & CURLPROTO_HTTPS) {
/* perform SSL initialization */
result = https_connecting(conn, done);
@@ -1383,6 +1390,47 @@ static int http_getsock_do(struct connectdata *conn,
return GETSOCK_WRITESOCK(0);
}
+static CURLcode add_haproxy_protocol_header(struct connectdata *conn)
+{
+ char proxy_header[128];
+ Curl_send_buffer *req_buffer;
+ CURLcode result;
+ char tcp_version[5];
+
+ /* Emit the correct prefix for IPv6 */
+ if(conn->bits.ipv6) {
+ strcpy(tcp_version, "TCP6");
+ }
+ else {
+ strcpy(tcp_version, "TCP4");
+ }
+
+ snprintf(proxy_header,
+ sizeof proxy_header,
+ "PROXY %s %s %s %li %li\r\n",
+ tcp_version,
+ conn->data->info.conn_local_ip,
+ conn->data->info.conn_primary_ip,
+ conn->data->info.conn_local_port,
+ conn->data->info.conn_primary_port);
+
+ req_buffer = Curl_add_buffer_init();
+ if(!req_buffer)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = Curl_add_bufferf(req_buffer, proxy_header);
+ if(result)
+ return result;
+
+ result = Curl_add_buffer_send(req_buffer,
+ conn,
+ &conn->data->info.request_size,
+ 0,
+ FIRSTSOCKET);
+
+ return result;
+}
+
#ifdef USE_SSL
static CURLcode https_connecting(struct connectdata *conn, bool *done)
{
@@ -2084,7 +2132,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
host,
conn->bits.ipv6_ip?"]":"");
else
- conn->allocptr.host = aprintf("Host: %s%s%s:%hu\r\n",
+ conn->allocptr.host = aprintf("Host: %s%s%s:%d\r\n",
conn->bits.ipv6_ip?"[":"",
host,
conn->bits.ipv6_ip?"]":"",
@@ -2966,6 +3014,8 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
{
CURLcode result;
struct SingleRequest *k = &data->req;
+ ssize_t onread = *nread;
+ char *ostr = k->str;
/* header line within buffer loop */
do {
@@ -3030,7 +3080,9 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
else {
/* this was all we read so it's all a bad header */
k->badheader = HEADER_ALLBAD;
- *nread = (ssize_t)rest_length;
+ *nread = onread;
+ k->str = ostr;
+ return CURLE_OK;
}
break;
}
@@ -3684,7 +3736,7 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
Curl_share_lock(data, CURL_LOCK_DATA_COOKIE,
CURL_LOCK_ACCESS_SINGLE);
Curl_cookie_add(data,
- data->cookies, TRUE, k->p + 11,
+ data->cookies, TRUE, FALSE, k->p + 11,
/* If there is a custom-set Host: name, use it
here, or else use real peer host name. */
conn->allocptr.cookiehost?
diff --git a/lib/http.h b/lib/http.h
index 2ce44bbf..1d373e8f 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -104,7 +104,7 @@ CURLcode Curl_http_perhapsrewind(struct connectdata *conn);
This value used to be fairly big (100K), but we must take into account that
if the server rejects the POST due for authentication reasons, this data
- will always be uncondtionally sent and thus it may not be larger than can
+ will always be unconditionally sent and thus it may not be larger than can
always be afforded to send twice.
It must not be greater than 64K to work on VMS.
@@ -186,9 +186,6 @@ struct HTTP {
#endif
};
-typedef int (*sending)(void); /* Curl_send */
-typedef int (*recving)(void); /* Curl_recv */
-
#ifdef USE_NGHTTP2
/* h2 settings for this connection */
struct h2settings {
@@ -197,15 +194,14 @@ struct h2settings {
};
#endif
-
struct http_conn {
#ifdef USE_NGHTTP2
#define H2_BINSETTINGS_LEN 80
nghttp2_session *h2;
uint8_t binsettings[H2_BINSETTINGS_LEN];
size_t binlen; /* length of the binsettings data */
- sending send_underlying; /* underlying send Curl_send callback */
- recving recv_underlying; /* underlying recv Curl_recv callback */
+ Curl_send *send_underlying; /* underlying send Curl_send callback */
+ Curl_recv *recv_underlying; /* underlying recv Curl_recv callback */
char *inbuf; /* buffer to receive data from underlying socket */
size_t inbuflen; /* number of bytes filled in inbuf */
size_t nread_inbuf; /* number of bytes read from in inbuf */
diff --git a/lib/http2.c b/lib/http2.c
index b2c34e94..da001dfd 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -41,6 +41,7 @@
#include "curl_memory.h"
#include "memdebug.h"
+#define H2_BUFSIZE 32768
#define MIN(x,y) ((x)<(y)?(x):(y))
#if (NGHTTP2_VERSION_NUM < 0x010000)
@@ -71,6 +72,16 @@
#define H2BUGF(x) do { } WHILE_FALSE
#endif
+
+static ssize_t http2_recv(struct connectdata *conn, int sockindex,
+ char *mem, size_t len, CURLcode *err);
+static bool http2_connisdead(struct connectdata *conn);
+static int h2_session_send(struct Curl_easy *data,
+ nghttp2_session *h2);
+static int h2_process_pending_input(struct connectdata *conn,
+ struct http_conn *httpc,
+ CURLcode *err);
+
/*
* Curl_http2_init_state() is called when the easy handle is created and
* allows for HTTP/2 specific init of state.
@@ -97,6 +108,7 @@ static int http2_perform_getsock(const struct connectdata *conn,
int numsocks)
{
const struct http_conn *c = &conn->proto.httpc;
+ struct SingleRequest *k = &conn->data->req;
int bitmap = GETSOCK_BLANK;
(void)numsocks;
@@ -108,7 +120,9 @@ static int http2_perform_getsock(const struct connectdata *conn,
always be ready for one */
bitmap |= GETSOCK_READSOCK(FIRSTSOCKET);
- if(nghttp2_session_want_write(c->h2))
+ /* we're still uploading or the HTTP/2 layer wants to send data */
+ if(((k->keepon & (KEEP_SEND|KEEP_SEND_PAUSE)) == KEEP_SEND) ||
+ nghttp2_session_want_write(c->h2))
bitmap |= GETSOCK_WRITESOCK(FIRSTSOCKET);
return bitmap;
@@ -151,6 +165,7 @@ static CURLcode http2_disconnect(struct connectdata *conn,
nghttp2_session_del(c->h2);
Curl_safefree(c->inbuf);
http2_stream_free(conn->data->req.protop);
+ conn->data->state.drain = 0;
H2BUGF(infof(conn->data, "HTTP/2 DISCONNECT done\n"));
@@ -164,29 +179,54 @@ static CURLcode http2_disconnect(struct connectdata *conn,
* Instead, if it is readable, run Curl_connalive() to peek at the socket
* and distinguish between closed and data.
*/
-static bool http2_connisdead(struct connectdata *check)
+static bool http2_connisdead(struct connectdata *conn)
{
int sval;
- bool ret_val = TRUE;
+ bool dead = TRUE;
- sval = SOCKET_READABLE(check->sock[FIRSTSOCKET], 0);
+ if(conn->bits.close)
+ return TRUE;
+
+ sval = SOCKET_READABLE(conn->sock[FIRSTSOCKET], 0);
if(sval == 0) {
/* timeout */
- ret_val = FALSE;
+ dead = FALSE;
}
else if(sval & CURL_CSELECT_ERR) {
/* socket is in an error state */
- ret_val = TRUE;
+ dead = TRUE;
}
else if(sval & CURL_CSELECT_IN) {
/* readable with no error. could still be closed */
- ret_val = !Curl_connalive(check);
+ dead = !Curl_connalive(conn);
+ if(!dead) {
+ /* This happens before we've sent off a request and the connection is
+ not in use by any other thransfer, there shouldn't be any data here,
+ only "protocol frames" */
+ CURLcode result;
+ struct http_conn *httpc = &conn->proto.httpc;
+ ssize_t nread = -1;
+ if(httpc->recv_underlying)
+ /* if called "too early", this pointer isn't setup yet! */
+ nread = ((Curl_recv *)httpc->recv_underlying)(
+ conn, FIRSTSOCKET, httpc->inbuf, H2_BUFSIZE, &result);
+ if(nread != -1) {
+ infof(conn->data,
+ "%d bytes stray data read before trying h2 connection\n",
+ (int)nread);
+ httpc->nread_inbuf = 0;
+ httpc->inbuflen = nread;
+ (void)h2_process_pending_input(conn, httpc, &result);
+ }
+ else
+ /* the read failed so let's say this is dead anyway */
+ dead = TRUE;
+ }
}
- return ret_val;
+ return dead;
}
-
static unsigned int http2_conncheck(struct connectdata *check,
unsigned int checks_to_perform)
{
@@ -519,7 +559,6 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
struct http_conn *httpc = &conn->proto.httpc;
struct Curl_easy *data_s = NULL;
struct HTTP *stream = NULL;
- static int lastStream = -1;
int rv;
size_t left, ncopy;
int32_t stream_id = frame->hd.stream_id;
@@ -550,9 +589,6 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
return 0;
}
data_s = nghttp2_session_get_stream_user_data(session, stream_id);
- if(lastStream != stream_id) {
- lastStream = stream_id;
- }
if(!data_s) {
H2BUGF(infof(conn->data,
"No Curl_easy associated with stream: %x\n",
@@ -562,7 +598,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
stream = data_s->req.protop;
if(!stream) {
- H2BUGF(infof(conn->data, "No proto pointer for stream: %x\n",
+ H2BUGF(infof(data_s, "No proto pointer for stream: %x\n",
stream_id));
return NGHTTP2_ERR_CALLBACK_FAILURE;
}
@@ -590,8 +626,10 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
}
/* nghttp2 guarantees that :status is received, and we store it to
- stream->status_code */
- DEBUGASSERT(stream->status_code != -1);
+ stream->status_code. Fuzzing has proven this can still be reached
+ without status code having been set. */
+ if(stream->status_code == -1)
+ return NGHTTP2_ERR_CALLBACK_FAILURE;
/* Only final status code signals the end of header */
if(stream->status_code / 100 != 1) {
@@ -638,7 +676,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
}
break;
default:
- H2BUGF(infof(conn->data, "Got frame type %x for stream %u!\n",
+ H2BUGF(infof(data_s, "Got frame type %x for stream %u!\n",
frame->hd.type, stream_id));
break;
}
@@ -837,16 +875,12 @@ static int on_begin_headers(nghttp2_session *session,
return 0;
}
- /* This is trailer HEADERS started. Allocate buffer for them. */
- H2BUGF(infof(data_s, "trailer field started\n"));
-
- DEBUGASSERT(stream->trailer_recvbuf == NULL);
-
- stream->trailer_recvbuf = Curl_add_buffer_init();
if(!stream->trailer_recvbuf) {
- return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
+ stream->trailer_recvbuf = Curl_add_buffer_init();
+ if(!stream->trailer_recvbuf) {
+ return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
+ }
}
-
return 0;
}
@@ -1039,8 +1073,6 @@ static ssize_t data_source_read_callback(nghttp2_session *session,
return nread;
}
-#define H2_BUFSIZE 32768
-
#ifdef NGHTTP2_HAS_ERROR_CALLBACK
static int error_callback(nghttp2_session *session,
const char *msg,
@@ -1078,7 +1110,6 @@ void Curl_http2_done(struct connectdata *conn, bool premature)
struct http_conn *httpc = &conn->proto.httpc;
if(http->header_recvbuf) {
- H2BUGF(infof(data, "free header_recvbuf!!\n"));
Curl_add_buffer_free(http->header_recvbuf);
http->header_recvbuf = NULL; /* clear the pointer */
Curl_add_buffer_free(http->trailer_recvbuf);
@@ -1227,9 +1258,6 @@ static int should_close_session(struct http_conn *httpc)
!nghttp2_session_want_write(httpc->h2);
}
-static int h2_session_send(struct Curl_easy *data,
- nghttp2_session *h2);
-
/*
* h2_process_pending_input() processes pending input left in
* httpc->inbuf. Then, call h2_session_send() to send pending data.
@@ -1351,7 +1379,15 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
/* Reset to FALSE to prevent infinite loop in readwrite_data function. */
stream->closed = FALSE;
- if(httpc->error_code != NGHTTP2_NO_ERROR) {
+ if(httpc->error_code == NGHTTP2_REFUSED_STREAM) {
+ H2BUGF(infof(data, "REFUSED_STREAM (%d), try again on a new connection!\n",
+ stream->stream_id));
+ connclose(conn, "REFUSED_STREAM"); /* don't use this anymore */
+ data->state.refused_stream = TRUE;
+ *err = CURLE_RECV_ERROR; /* trigger Curl_retry_request() later */
+ return -1;
+ }
+ else if(httpc->error_code != NGHTTP2_NO_ERROR) {
failf(data, "HTTP/2 stream %u was not closed cleanly: %s (err %d)",
stream->stream_id, Curl_http2_strerror(httpc->error_code),
httpc->error_code);
@@ -1361,7 +1397,7 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
if(!stream->bodystarted) {
failf(data, "HTTP/2 stream %u was closed cleanly, but before getting "
- " all response header fields, teated as error",
+ " all response header fields, treated as error",
stream->stream_id);
*err = CURLE_HTTP2_STREAM;
return -1;
@@ -1579,9 +1615,9 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
}
if(nread == 0) {
- failf(data, "Unexpected EOF");
- *err = CURLE_RECV_ERROR;
- return -1;
+ H2BUGF(infof(data, "end of stream\n"));
+ *err = CURLE_OK;
+ return 0;
}
H2BUGF(infof(data, "nread=%zd\n", nread));
@@ -1827,8 +1863,11 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
return -1;
}
- /* Extract :method, :path from request line */
- line_end = strstr(hdbuf, "\r\n");
+ /* Extract :method, :path from request line
+ We do line endings with CRLF so checking for CR is enough */
+ line_end = memchr(hdbuf, '\r', len);
+ if(!line_end)
+ goto fail;
/* Method does not contain spaces */
end = memchr(hdbuf, ' ', line_end - hdbuf);
@@ -1886,8 +1925,10 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
hdbuf = line_end + 2;
- line_end = strstr(hdbuf, "\r\n");
- if(line_end == hdbuf)
+ /* check for next CR, but only within the piece of data left in the given
+ buffer */
+ line_end = memchr(hdbuf, '\r', len - (hdbuf - (char *)mem));
+ if(!line_end || (line_end == hdbuf))
goto fail;
/* header continuation lines are not supported */
@@ -2096,8 +2137,8 @@ CURLcode Curl_http2_switched(struct connectdata *conn,
if(result)
return result;
- httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET];
- httpc->send_underlying = (sending)conn->send[FIRSTSOCKET];
+ httpc->recv_underlying = conn->recv[FIRSTSOCKET];
+ httpc->send_underlying = conn->send[FIRSTSOCKET];
conn->recv[FIRSTSOCKET] = http2_recv;
conn->send[FIRSTSOCKET] = http2_send;
diff --git a/lib/http_chunks.c b/lib/http_chunks.c
index 8368eeca..18dfcb28 100644
--- a/lib/http_chunks.c
+++ b/lib/http_chunks.c
@@ -74,6 +74,19 @@
*/
+#ifdef CURL_DOES_CONVERSIONS
+/* Check for an ASCII hex digit.
+ We avoid the use of ISXDIGIT to accommodate non-ASCII hosts. */
+static bool Curl_isxdigit_ascii(char digit)
+{
+ return (digit >= 0x30 && digit <= 0x39) /* 0-9 */
+ || (digit >= 0x41 && digit <= 0x46) /* A-F */
+ || (digit >= 0x61 && digit <= 0x66); /* a-f */
+}
+#else
+#define Curl_isxdigit_ascii(x) Curl_isxdigit(x)
+#endif
+
void Curl_httpchunk_init(struct connectdata *conn)
{
struct Curl_chunker *chunk = &conn->chunk;
@@ -119,7 +132,7 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
while(length) {
switch(ch->state) {
case CHUNK_HEX:
- if(Curl_isxdigit(*datap)) {
+ if(Curl_isxdigit_ascii(*datap)) {
if(ch->hexindex < MAXNUM_SIZE) {
ch->hexbuffer[ch->hexindex] = *datap;
datap++;
diff --git a/lib/http_negotiate.c b/lib/http_negotiate.c
index 51375e81..ddcd65b3 100644
--- a/lib/http_negotiate.c
+++ b/lib/http_negotiate.c
@@ -89,7 +89,7 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
}
}
- /* Initilise the security context and decode our challenge */
+ /* Initialize the security context and decode our challenge */
result = Curl_auth_decode_spnego_message(data, userp, passwdp, service,
host, header, neg_ctx);
diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c
index 0f1edcf6..fd5540b5 100644
--- a/lib/http_ntlm.c
+++ b/lib/http_ntlm.c
@@ -121,9 +121,11 @@ CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy)
server, which is for a plain host or for a HTTP proxy */
char **allocuserpwd;
- /* point to the name and password for this */
+ /* point to the username, password, service and host */
const char *userp;
const char *passwdp;
+ const char *service = NULL;
+ const char *hostname = NULL;
/* point to the correct struct with this */
struct ntlmdata *ntlm;
@@ -141,6 +143,9 @@ CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy)
allocuserpwd = &conn->allocptr.proxyuserpwd;
userp = conn->http_proxy.user;
passwdp = conn->http_proxy.passwd;
+ service = conn->data->set.str[STRING_PROXY_SERVICE_NAME] ?
+ conn->data->set.str[STRING_PROXY_SERVICE_NAME] : "HTTP";
+ hostname = conn->http_proxy.host.name;
ntlm = &conn->proxyntlm;
authp = &conn->data->state.authproxy;
}
@@ -148,6 +153,9 @@ CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy)
allocuserpwd = &conn->allocptr.userpwd;
userp = conn->user;
passwdp = conn->passwd;
+ service = conn->data->set.str[STRING_SERVICE_NAME] ?
+ conn->data->set.str[STRING_SERVICE_NAME] : "HTTP";
+ hostname = conn->host.name;
ntlm = &conn->ntlm;
authp = &conn->data->state.authhost;
}
@@ -174,7 +182,9 @@ CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy)
default: /* for the weird cases we (re)start here */
/* Create a type-1 message */
result = Curl_auth_create_ntlm_type1_message(conn->data, userp, passwdp,
- ntlm, &base64, &len);
+ service, hostname,
+ ntlm, &base64,
+ &len);
if(result)
return result;
diff --git a/lib/http_proxy.c b/lib/http_proxy.c
index c1eb177d..e10a4882 100644
--- a/lib/http_proxy.c
+++ b/lib/http_proxy.c
@@ -221,7 +221,7 @@ static CURLcode CONNECT(struct connectdata *conn,
if(!req_buffer)
return CURLE_OUT_OF_MEMORY;
- host_port = aprintf("%s:%hu", hostname, remote_port);
+ host_port = aprintf("%s:%d", hostname, remote_port);
if(!host_port) {
Curl_add_buffer_free(req_buffer);
return CURLE_OUT_OF_MEMORY;
@@ -245,7 +245,7 @@ static CURLcode CONNECT(struct connectdata *conn,
if(hostname != conn->host.name)
ipv6_ip = (strchr(hostname, ':') != NULL);
hostheader = /* host:port with IPv6 support */
- aprintf("%s%s%s:%hu", ipv6_ip?"[":"", hostname, ipv6_ip?"]":"",
+ aprintf("%s%s%s:%d", ipv6_ip?"[":"", hostname, ipv6_ip?"]":"",
remote_port);
if(!hostheader) {
Curl_add_buffer_free(req_buffer);
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
index da7037d5..0410ad19 100644
--- a/lib/libcurl.plist
+++ b/lib/libcurl.plist
@@ -15,7 +15,7 @@
<string>se.haxx.curl.libcurl</string>
<key>CFBundleVersion</key>
- <string>7.59.0</string>
+ <string>7.60.0</string>
<key>CFBundleName</key>
<string>libcurl</string>
@@ -27,9 +27,9 @@
<string>????</string>
<key>CFBundleShortVersionString</key>
- <string>libcurl 7.59.0</string>
+ <string>libcurl 7.60.0</string>
<key>CFBundleGetInfoString</key>
- <string>libcurl.plist 7.59.0</string>
+ <string>libcurl.plist 7.60.0</string>
</dict>
</plist>
diff --git a/lib/md5.c b/lib/md5.c
index 80301a14..3096602b 100644
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -484,6 +484,11 @@ static void MD5_Final(unsigned char *result, MD5_CTX *ctx)
#endif /* CRYPTO LIBS */
+/* Disable this picky gcc-8 compiler warning */
+#if defined(__GNUC__) && (__GNUC__ >= 8)
+#pragma GCC diagnostic ignored "-Wcast-function-type"
+#endif
+
const HMAC_params Curl_HMAC_MD5[] = {
{
(HMAC_hinit_func) MD5_Init, /* Hash initialization function. */
diff --git a/lib/mime.c b/lib/mime.c
index 0ccb346e..4c0d2eeb 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -241,7 +241,7 @@ static FILE * vmsfopenread(const char *file, const char *mode)
static char *Curl_basename(char *path)
{
/* Ignore all the details above for now and make a quick and simple
- implementaion here */
+ implementation here */
char *s1;
char *s2;
@@ -1193,7 +1193,10 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
}
/* Duplicate other fields. */
- dst->encoder = src->encoder;
+ if(dst != NULL)
+ dst->encoder = src->encoder;
+ else
+ res = CURLE_WRITE_ERROR;
if(!res)
res = curl_mime_type(dst, src->mimetype);
if(!res)
@@ -1202,7 +1205,7 @@ CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src)
res = curl_mime_filename(dst, src->filename);
/* If an error occurred, rollback. */
- if(res)
+ if(res && dst)
Curl_mime_cleanpart(dst);
return res;
diff --git a/lib/multi.c b/lib/multi.c
index 98e5fca2..f8528469 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -77,6 +77,7 @@ static CURLMcode add_next_timeout(struct curltime now,
struct Curl_easy *d);
static CURLMcode multi_timeout(struct Curl_multi *multi,
long *timeout_ms);
+static void process_pending_handles(struct Curl_multi *multi);
#ifdef DEBUGBUILD
static const char * const statename[]={
@@ -378,6 +379,8 @@ CURLMcode curl_multi_add_handle(struct Curl_multi *multi,
* potential multi's connection cache growing which won't be undone in this
* function no matter what.
*/
+ if(data->set.errorbuffer)
+ data->set.errorbuffer[0] = 0;
/* set the easy handle */
multistate(data, CURLM_STATE_INIT);
@@ -538,10 +541,14 @@ static CURLcode multi_done(struct connectdata **connp,
result = CURLE_ABORTED_BY_CALLBACK;
}
+ process_pending_handles(data->multi); /* connection / multiplex */
+
if(conn->send_pipe.size || conn->recv_pipe.size) {
/* Stop if pipeline is not empty . */
data->easy_conn = NULL;
- DEBUGF(infof(data, "Connection still in use, no more multi_done now!\n"));
+ DEBUGF(infof(data, "Connection still in use %d/%d, "
+ "no more multi_done now!\n",
+ conn->send_pipe.size, conn->recv_pipe.size));
return CURLE_OK;
}
@@ -653,10 +660,6 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
/* this handle is "alive" so we need to count down the total number of
alive connections when this is removed */
multi->num_alive--;
-
- /* When this handle gets removed, other handles may be able to get the
- connection */
- Curl_multi_process_pending_handles(multi);
}
if(data->easy_conn &&
@@ -1339,7 +1342,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
if(multi_ischanged(multi, TRUE)) {
DEBUGF(infof(data, "multi changed, check CONNECT_PEND queue!\n"));
- Curl_multi_process_pending_handles(multi);
+ process_pending_handles(multi); /* pipelined/multiplexed */
}
if(data->easy_conn && data->mstate > CURLM_STATE_CONNECT &&
@@ -1785,16 +1788,17 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
case CURLM_STATE_DO_DONE:
/* Move ourselves from the send to recv pipeline */
Curl_move_handle_from_send_to_recv_pipe(data, data->easy_conn);
- /* Check if we can move pending requests to send pipe */
- Curl_multi_process_pending_handles(multi);
+
+ if(data->easy_conn->bits.multiplex || data->easy_conn->send_pipe.size)
+ /* Check if we can move pending requests to send pipe */
+ process_pending_handles(multi); /* pipelined/multiplexed */
/* Only perform the transfer if there's a good socket to work with.
Having both BAD is a signal to skip immediately to DONE */
if((data->easy_conn->sockfd != CURL_SOCKET_BAD) ||
(data->easy_conn->writesockfd != CURL_SOCKET_BAD))
multistate(data, CURLM_STATE_WAITPERFORM);
- else
- {
+ else {
if(data->state.wildcardmatch &&
((data->easy_conn->handler->flags & PROTOPT_WILDCARD) == 0)) {
data->wildcard.state = CURLWC_DONE;
@@ -1823,22 +1827,26 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
if(!result) {
send_timeout_ms = 0;
if(data->set.max_send_speed > 0)
- send_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.uploaded,
- data->progress.ul_limit_size,
- data->set.max_send_speed,
- data->progress.ul_limit_start,
- now);
+ send_timeout_ms =
+ Curl_pgrsLimitWaitTime(data->progress.uploaded,
+ data->progress.ul_limit_size,
+ data->set.max_send_speed,
+ data->progress.ul_limit_start,
+ now);
recv_timeout_ms = 0;
if(data->set.max_recv_speed > 0)
- recv_timeout_ms = Curl_pgrsLimitWaitTime(data->progress.downloaded,
- data->progress.dl_limit_size,
- data->set.max_recv_speed,
- data->progress.dl_limit_start,
- now);
-
- if(send_timeout_ms <= 0 && recv_timeout_ms <= 0)
+ recv_timeout_ms =
+ Curl_pgrsLimitWaitTime(data->progress.downloaded,
+ data->progress.dl_limit_size,
+ data->set.max_recv_speed,
+ data->progress.dl_limit_start,
+ now);
+
+ if(!send_timeout_ms && !recv_timeout_ms) {
multistate(data, CURLM_STATE_PERFORM);
+ Curl_ratelimit(data, now);
+ }
else if(send_timeout_ms >= recv_timeout_ms)
Curl_expire(data, send_timeout_ms, EXPIRE_TOOFAST);
else
@@ -1870,7 +1878,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
data->progress.dl_limit_start,
now);
- if(send_timeout_ms > 0 || recv_timeout_ms > 0) {
+ if(send_timeout_ms || recv_timeout_ms) {
+ Curl_ratelimit(data, now);
multistate(data, CURLM_STATE_TOOFAST);
if(send_timeout_ms >= recv_timeout_ms)
Curl_expire(data, send_timeout_ms, EXPIRE_TOOFAST);
@@ -1938,9 +1947,6 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
if(data->easy_conn->recv_pipe.head)
Curl_expire(data->easy_conn->recv_pipe.head->ptr, 0, EXPIRE_RUN_NOW);
- /* Check if we can move pending requests to send pipe */
- Curl_multi_process_pending_handles(multi);
-
/* When we follow redirects or is set to retry the connection, we must
to go back to the CONNECT state */
if(data->req.newurl || retry) {
@@ -1997,8 +2003,10 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
/* Remove ourselves from the receive pipeline, if we are there. */
Curl_removeHandleFromPipeline(data, &data->easy_conn->recv_pipe);
- /* Check if we can move pending requests to send pipe */
- Curl_multi_process_pending_handles(multi);
+
+ if(data->easy_conn->bits.multiplex || data->easy_conn->send_pipe.size)
+ /* Check if we can move pending requests to connection */
+ process_pending_handles(multi); /* pipelined/multiplexing */
/* post-transfer command */
res = multi_done(&data->easy_conn, result, FALSE);
@@ -2066,7 +2074,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
data->state.pipe_broke = FALSE;
/* Check if we can move pending requests to send pipe */
- Curl_multi_process_pending_handles(multi);
+ process_pending_handles(multi); /* connection */
if(data->easy_conn) {
/* if this has a connection, unsubscribe from the pipelines */
@@ -2416,6 +2424,12 @@ static void singlesocket(struct Curl_multi *multi,
data->numsocks = num;
}
+void Curl_updatesocket(struct Curl_easy *data)
+{
+ singlesocket(data->multi, data);
+}
+
+
/*
* Curl_multi_closed()
*
@@ -3068,25 +3082,21 @@ struct curl_llist *Curl_multi_pipelining_server_bl(struct Curl_multi *multi)
return &multi->pipelining_server_bl;
}
-void Curl_multi_process_pending_handles(struct Curl_multi *multi)
+static void process_pending_handles(struct Curl_multi *multi)
{
struct curl_llist_element *e = multi->pending.head;
-
- while(e) {
+ if(e) {
struct Curl_easy *data = e->ptr;
- struct curl_llist_element *next = e->next;
- if(data->mstate == CURLM_STATE_CONNECT_PEND) {
- multistate(data, CURLM_STATE_CONNECT);
+ DEBUGASSERT(data->mstate == CURLM_STATE_CONNECT_PEND);
- /* Remove this node from the list */
- Curl_llist_remove(&multi->pending, e, NULL);
+ multistate(data, CURLM_STATE_CONNECT);
- /* Make sure that the handle will be processed soonish. */
- Curl_expire(data, 0, EXPIRE_RUN_NOW);
- }
+ /* Remove this node from the list */
+ Curl_llist_remove(&multi->pending, e, NULL);
- e = next; /* operate on next handle */
+ /* Make sure that the handle will be processed soonish. */
+ Curl_expire(data, 0, EXPIRE_RUN_NOW);
}
}
diff --git a/lib/multiif.h b/lib/multiif.h
index a988bfd4..c8fb5ca0 100644
--- a/lib/multiif.h
+++ b/lib/multiif.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -26,6 +26,7 @@
* Prototypes for library-wide functions provided by multi.c
*/
+void Curl_updatesocket(struct Curl_easy *data);
void Curl_expire(struct Curl_easy *data, time_t milli, expire_id);
void Curl_expire_clear(struct Curl_easy *data);
void Curl_expire_done(struct Curl_easy *data, expire_id id);
@@ -58,8 +59,6 @@ struct Curl_multi *Curl_multi_handle(int hashsize, int chashsize);
void Curl_multi_dump(struct Curl_multi *multi);
#endif
-void Curl_multi_process_pending_handles(struct Curl_multi *multi);
-
/* Return the value of the CURLMOPT_MAX_HOST_CONNECTIONS option */
size_t Curl_multi_max_host_connections(struct Curl_multi *multi);
diff --git a/lib/nwlib.c b/lib/nwlib.c
index 290cbe31..215d933a 100644
--- a/lib/nwlib.c
+++ b/lib/nwlib.c
@@ -186,11 +186,9 @@ int GetOrSetUpData(int id, libdata_t **appData,
app_data = (libdata_t *) get_app_data(id);
if(!app_data) {
- app_data = malloc(sizeof(libdata_t));
+ app_data = calloc(1, sizeof(libdata_t));
if(app_data) {
- memset(app_data, 0, sizeof(libdata_t));
-
app_data->tenbytes = malloc(10);
app_data->lock = NXMutexAlloc(0, 0, &liblock);
diff --git a/lib/openldap.c b/lib/openldap.c
index 187c8999..c6cb7943 100644
--- a/lib/openldap.c
+++ b/lib/openldap.c
@@ -536,7 +536,7 @@ static ssize_t ldap_recv(struct connectdata *conn, int sockindex, char *buf,
data->req.bytecount += bv.bv_len + 5;
for(rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, &bvals);
- (rc == LDAP_SUCCESS) && bvals;
+ rc == LDAP_SUCCESS;
rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, &bvals)) {
int i;
@@ -548,6 +548,27 @@ static ssize_t ldap_recv(struct connectdata *conn, int sockindex, char *buf,
else
binary = 0;
+ if(bvals == NULL) {
+ writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\t", 1);
+ if(writeerr) {
+ *err = writeerr;
+ return -1;
+ }
+ writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)bv.bv_val,
+ bv.bv_len);
+ if(writeerr) {
+ *err = writeerr;
+ return -1;
+ }
+ writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)":\n", 2);
+ if(writeerr) {
+ *err = writeerr;
+ return -1;
+ }
+ data->req.bytecount += bv.bv_len + 3;
+ continue;
+ }
+
for(i = 0; bvals[i].bv_val != NULL; i++) {
int binval = 0;
writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)"\t", 1);
diff --git a/lib/parsedate.c b/lib/parsedate.c
index aa27303f..3d3c00b4 100644
--- a/lib/parsedate.c
+++ b/lib/parsedate.c
@@ -119,6 +119,7 @@ static int parsedate(const char *date, time_t *output);
#define tDAYZONE -60 /* offset for daylight savings time */
static const struct tzinfo tz[]= {
{"GMT", 0}, /* Greenwich Mean */
+ {"UT", 0}, /* Universal Time */
{"UTC", 0}, /* Universal (Coordinated) */
{"WET", 0}, /* Western European */
{"BST", 0 tDAYZONE}, /* British Summer */
diff --git a/lib/pingpong.c b/lib/pingpong.c
index 438856a9..ad370ee8 100644
--- a/lib/pingpong.c
+++ b/lib/pingpong.c
@@ -304,7 +304,10 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
* it would have been populated with something of size int to begin
* with, even though its datatype may be larger than an int.
*/
- DEBUGASSERT((ptr + pp->cache_size) <= (buf + data->set.buffer_size + 1));
+ if((ptr + pp->cache_size) > (buf + data->set.buffer_size + 1)) {
+ failf(data, "cached response data too big to handle");
+ return CURLE_RECV_ERROR;
+ }
memcpy(ptr, pp->cache, pp->cache_size);
gotbytes = (ssize_t)pp->cache_size;
free(pp->cache); /* free the cache */
diff --git a/lib/progress.c b/lib/progress.c
index ce8be7ff..f59faa3d 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -28,6 +28,9 @@
#include "progress.h"
#include "curl_printf.h"
+/* check rate limits within this many recent milliseconds, at minimum. */
+#define MIN_RATE_LIMIT_PERIOD 3000
+
/* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero
byte) */
static void time2str(char *r, curl_off_t seconds)
@@ -235,6 +238,7 @@ void Curl_pgrsStartNow(struct Curl_easy *data)
data->progress.dl_limit_start.tv_usec = 0;
/* clear all bits except HIDE and HEADERS_OUT */
data->progress.flags &= PGRS_HIDE|PGRS_HEADERS_OUT;
+ Curl_ratelimit(data, data->progress.start);
}
/*
@@ -265,13 +269,13 @@ timediff_t Curl_pgrsLimitWaitTime(curl_off_t cursize,
time_t minimum;
time_t actual;
- /* we don't have a starting point yet -- return 0 so it gets (re)set */
- if(start.tv_sec == 0 && start.tv_usec == 0)
- return 0;
-
- if(!limit)
+ if(!limit || !size)
return 0;
+ /*
+ * 'minimum' is the number of milliseconds 'size' should take to download to
+ * stay below 'limit'.
+ */
if(size < CURL_OFF_T_MAX/1000)
minimum = (time_t) (CURL_OFF_T_C(1000) * size / limit);
else {
@@ -282,48 +286,56 @@ timediff_t Curl_pgrsLimitWaitTime(curl_off_t cursize,
minimum = TIME_T_MAX;
}
+ /*
+ * 'actual' is the time in milliseconds it took to actually download the
+ * last 'size' bytes.
+ */
actual = Curl_timediff(now, start);
-
- if(actual < minimum)
+ if(actual < minimum) {
+ /* if it downloaded the data faster than the limit, make it wait the
+ difference */
return (minimum - actual);
+ }
return 0;
}
+/*
+ * Set the number of downloaded bytes so far.
+ */
void Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t size)
{
- struct curltime now = Curl_now();
-
data->progress.downloaded = size;
+}
- /* download speed limit */
- if((data->set.max_recv_speed > 0) &&
- (Curl_pgrsLimitWaitTime(data->progress.downloaded,
- data->progress.dl_limit_size,
- data->set.max_recv_speed,
- data->progress.dl_limit_start,
- now) == 0)) {
- data->progress.dl_limit_start = now;
- data->progress.dl_limit_size = size;
+/*
+ * Update the timestamp and sizestamp to use for rate limit calculations.
+ */
+void Curl_ratelimit(struct Curl_easy *data, struct curltime now)
+{
+ /* don't set a new stamp unless the time since last update is long enough */
+ if(data->set.max_recv_speed > 0) {
+ if(Curl_timediff(now, data->progress.dl_limit_start) >=
+ MIN_RATE_LIMIT_PERIOD) {
+ data->progress.dl_limit_start = now;
+ data->progress.dl_limit_size = data->progress.downloaded;
+ }
+ }
+ if(data->set.max_send_speed > 0) {
+ if(Curl_timediff(now, data->progress.ul_limit_start) >=
+ MIN_RATE_LIMIT_PERIOD) {
+ data->progress.ul_limit_start = now;
+ data->progress.ul_limit_size = data->progress.uploaded;
+ }
}
}
+/*
+ * Set the number of uploaded bytes so far.
+ */
void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size)
{
- struct curltime now = Curl_now();
-
data->progress.uploaded = size;
-
- /* upload speed limit */
- if((data->set.max_send_speed > 0) &&
- (Curl_pgrsLimitWaitTime(data->progress.uploaded,
- data->progress.ul_limit_size,
- data->set.max_send_speed,
- data->progress.ul_limit_start,
- now) == 0)) {
- data->progress.ul_limit_start = now;
- data->progress.ul_limit_size = size;
- }
}
void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size)
diff --git a/lib/progress.h b/lib/progress.h
index 3c2231cb..2baa925d 100644
--- a/lib/progress.h
+++ b/lib/progress.h
@@ -46,6 +46,7 @@ void Curl_pgrsSetDownloadSize(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetDownloadCounter(struct Curl_easy *data, curl_off_t size);
void Curl_pgrsSetUploadCounter(struct Curl_easy *data, curl_off_t size);
+void Curl_ratelimit(struct Curl_easy *data, struct curltime now);
int Curl_pgrsUpdate(struct connectdata *);
void Curl_pgrsResetTransferSizes(struct Curl_easy *data);
void Curl_pgrsTime(struct Curl_easy *data, timerid timer);
diff --git a/lib/rtsp.c b/lib/rtsp.c
index 194bc949..41f30001 100644
--- a/lib/rtsp.c
+++ b/lib/rtsp.c
@@ -764,8 +764,7 @@ CURLcode rtp_client_write(struct connectdata *conn, char *ptr, size_t len)
writeit = data->set.fwrite_rtp;
user_ptr = data->set.rtp_out;
}
- else
- {
+ else {
writeit = data->set.fwrite_func;
user_ptr = data->set.out;
}
diff --git a/lib/setopt.c b/lib/setopt.c
index 9c96eb35..af53ee3e 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -781,11 +781,13 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
if(checkprefix("Set-Cookie:", argptr))
/* HTTP Header format line */
- Curl_cookie_add(data, data->cookies, TRUE, argptr + 11, NULL, NULL);
+ Curl_cookie_add(data, data->cookies, TRUE, FALSE, argptr + 11, NULL,
+ NULL);
else
/* Netscape format line */
- Curl_cookie_add(data, data->cookies, FALSE, argptr, NULL, NULL);
+ Curl_cookie_add(data, data->cookies, FALSE, FALSE, argptr, NULL,
+ NULL);
Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE);
free(argptr);
@@ -1037,6 +1039,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
*/
data->set.socks5_gssapi_nec = (0 != va_arg(param, long)) ? TRUE : FALSE;
break;
+#endif
case CURLOPT_SOCKS5_GSSAPI_SERVICE:
case CURLOPT_PROXY_SERVICE_NAME:
@@ -1046,10 +1049,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
result = Curl_setstropt(&data->set.str[STRING_PROXY_SERVICE_NAME],
va_arg(param, char *));
break;
-#endif
-#if !defined(CURL_DISABLE_CRYPTO_AUTH) || defined(USE_KERBEROS5) || \
- defined(USE_SPNEGO)
case CURLOPT_SERVICE_NAME:
/*
* Set authentication service name for DIGEST-MD5, Kerberos 5 and SPNEGO
@@ -1058,8 +1058,6 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
va_arg(param, char *));
break;
-#endif
-
case CURLOPT_HEADERDATA:
/*
* Custom pointer to pass the header write callback function
@@ -1603,6 +1601,13 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
data->set.crlf = (0 != va_arg(param, long)) ? TRUE : FALSE;
break;
+ case CURLOPT_HAPROXYPROTOCOL:
+ /*
+ * Set to send the HAProxy Proxy Protocol header
+ */
+ data->set.haproxyprotocol = (0 != va_arg(param, long)) ? TRUE : FALSE;
+ break;
+
case CURLOPT_INTERFACE:
/*
* Set what interface or address/hostname to bind the socket to when
@@ -1743,7 +1748,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* Set a SSL_CTX callback
*/
#ifdef USE_SSL
- if(Curl_ssl->have_ssl_ctx)
+ if(Curl_ssl->supports & SSLSUPP_SSL_CTX)
data->set.ssl.fsslctx = va_arg(param, curl_ssl_ctx_callback);
else
#endif
@@ -1754,7 +1759,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* Set a SSL_CTX callback parameter pointer
*/
#ifdef USE_SSL
- if(Curl_ssl->have_ssl_ctx)
+ if(Curl_ssl->supports & SSLSUPP_SSL_CTX)
data->set.ssl.fsslctxp = va_arg(param, void *);
else
#endif
@@ -1773,7 +1778,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
break;
case CURLOPT_CERTINFO:
#ifdef USE_SSL
- if(Curl_ssl->have_certinfo)
+ if(Curl_ssl->supports & SSLSUPP_CERTINFO)
data->set.ssl.certinfo = (0 != va_arg(param, long)) ? TRUE : FALSE;
else
#endif
@@ -1785,7 +1790,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* Specify file name of the public key in DER format.
*/
#ifdef USE_SSL
- if(Curl_ssl->have_pinnedpubkey)
+ if(Curl_ssl->supports & SSLSUPP_PINNEDPUBKEY)
result = Curl_setstropt(&data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG],
va_arg(param, char *));
else
@@ -1798,7 +1803,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* Specify file name of the public key in DER format.
*/
#ifdef USE_SSL
- if(Curl_ssl->have_pinnedpubkey)
+ if(Curl_ssl->supports & SSLSUPP_PINNEDPUBKEY)
result = Curl_setstropt(&data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY],
va_arg(param, char *));
else
@@ -1826,7 +1831,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* certificates which have been prepared using openssl c_rehash utility.
*/
#ifdef USE_SSL
- if(Curl_ssl->have_ca_path)
+ if(Curl_ssl->supports & SSLSUPP_CA_PATH)
/* This does not work on windows. */
result = Curl_setstropt(&data->set.str[STRING_SSL_CAPATH_ORIG],
va_arg(param, char *));
@@ -1840,7 +1845,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
* CA certificates which have been prepared using openssl c_rehash utility.
*/
#ifdef USE_SSL
- if(Curl_ssl->have_ca_path)
+ if(Curl_ssl->supports & SSLSUPP_CA_PATH)
/* This does not work on windows. */
result = Curl_setstropt(&data->set.str[STRING_SSL_CAPATH_PROXY],
va_arg(param, char *));
@@ -2554,6 +2559,9 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
return CURLE_BAD_FUNCTION_ARGUMENT;
data->set.happy_eyeballs_timeout = arg;
break;
+ case CURLOPT_DNS_SHUFFLE_ADDRESSES:
+ data->set.dns_shuffle_addresses = (0 != va_arg(param, long)) ? TRUE:FALSE;
+ break;
default:
/* unknown tag and its companion, just ignore: */
result = CURLE_UNKNOWN_OPTION;
diff --git a/lib/smb.c b/lib/smb.c
index b4326341..9ac61505 100644
--- a/lib/smb.c
+++ b/lib/smb.c
@@ -790,10 +790,16 @@ static CURLcode smb_request_state(struct connectdata *conn, bool *done)
else {
smb_m = (const struct smb_nt_create_response*) msg;
conn->data->req.size = smb_swap64(smb_m->end_of_file);
- Curl_pgrsSetDownloadSize(conn->data, conn->data->req.size);
- if(conn->data->set.get_filetime)
- get_posix_time(&conn->data->info.filetime, smb_m->last_change_time);
- next_state = SMB_DOWNLOAD;
+ if(conn->data->req.size < 0) {
+ req->result = CURLE_WEIRD_SERVER_REPLY;
+ next_state = SMB_CLOSE;
+ }
+ else {
+ Curl_pgrsSetDownloadSize(conn->data, conn->data->req.size);
+ if(conn->data->set.get_filetime)
+ get_posix_time(&conn->data->info.filetime, smb_m->last_change_time);
+ next_state = SMB_DOWNLOAD;
+ }
}
break;
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 9e666729..34ef490c 100644
--- a/lib/ssh-libssh.c
+++ b/lib/ssh-libssh.c
@@ -2425,8 +2425,7 @@ static ssize_t sftp_recv(struct connectdata *conn, int sockindex,
ssize_t nread;
(void)sockindex;
- if(len >= (size_t)1<<32)
- len = (size_t)(1<<31)-1;
+ DEBUGASSERT(len < CURL_MAX_READ_SIZE);
switch(conn->proto.sshc.sftp_recv_state) {
case 0:
diff --git a/lib/ssh.c b/lib/ssh.c
index d3b5cac6..bf7bd54f 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -784,8 +784,8 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
* This is done by simply passing sshc->rsa_pub = NULL.
*/
if(data->set.str[STRING_SSH_PUBLIC_KEY]
- /* treat empty string the same way as NULL */
- && data->set.str[STRING_SSH_PUBLIC_KEY][0]) {
+ /* treat empty string the same way as NULL */
+ && data->set.str[STRING_SSH_PUBLIC_KEY][0]) {
sshc->rsa_pub = strdup(data->set.str[STRING_SSH_PUBLIC_KEY]);
if(!sshc->rsa_pub)
out_of_memory = TRUE;
@@ -839,7 +839,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
state(conn, SSH_AUTH_DONE);
}
else {
- char *err_msg;
+ char *err_msg = NULL;
(void)libssh2_session_last_error(sshc->ssh_session,
&err_msg, NULL, 0);
infof(data, "SSH public key authentication failed: %s\n", err_msg);
@@ -1046,7 +1046,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
*/
sshc->sftp_session = libssh2_sftp_init(sshc->ssh_session);
if(!sshc->sftp_session) {
- char *err_msg;
+ char *err_msg = NULL;
if(libssh2_session_last_errno(sshc->ssh_session) ==
LIBSSH2_ERROR_EAGAIN) {
rc = LIBSSH2_ERROR_EAGAIN;
@@ -1253,7 +1253,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(strncasecompare(cmd, "ln ", 3) ||
- strncasecompare(cmd, "symlink ", 8)) {
+ strncasecompare(cmd, "symlink ", 8)) {
/* symbolic linking */
/* sshc->quote_path1 is the source */
/* get the destination */
@@ -2143,8 +2143,8 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc ||
- !(attrs.flags & LIBSSH2_SFTP_ATTR_SIZE) ||
- (attrs.filesize == 0)) {
+ !(attrs.flags & LIBSSH2_SFTP_ATTR_SIZE) ||
+ (attrs.filesize == 0)) {
/*
* libssh2_sftp_open() didn't return an error, so maybe the server
* just doesn't support stat()
@@ -2276,7 +2276,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to close libssh2 file\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to close libssh2 file: %d %s\n", rc, err_msg);
}
sshc->sftp_handle = NULL;
}
@@ -2310,7 +2313,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to close libssh2 file\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session, &err_msg,
+ NULL, 0);
+ infof(data, "Failed to close libssh2 file: %d %s\n", rc, err_msg);
}
sshc->sftp_handle = NULL;
}
@@ -2365,7 +2371,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
data->state.infilesize);
if(!sshc->ssh_channel) {
int ssh_err;
- char *err_msg;
+ char *err_msg = NULL;
if(libssh2_session_last_errno(sshc->ssh_session) ==
LIBSSH2_ERROR_EAGAIN) {
@@ -2419,9 +2425,9 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
* be set in sb
*/
- /*
- * If support for >2GB files exists, use it.
- */
+ /*
+ * If support for >2GB files exists, use it.
+ */
/* get a fresh new channel from the ssh layer */
#if LIBSSH2_VERSION_NUM < 0x010700
@@ -2438,7 +2444,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
if(!sshc->ssh_channel) {
int ssh_err;
- char *err_msg;
+ char *err_msg = NULL;
if(libssh2_session_last_errno(sshc->ssh_session) ==
LIBSSH2_ERROR_EAGAIN) {
@@ -2491,7 +2497,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc) {
- infof(data, "Failed to send libssh2 channel EOF\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to send libssh2 channel EOF: %d %s\n",
+ rc, err_msg);
}
}
state(conn, SSH_SCP_WAIT_EOF);
@@ -2504,7 +2514,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc) {
- infof(data, "Failed to get channel EOF: %d\n", rc);
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to get channel EOF: %d %s\n", rc, err_msg);
}
}
state(conn, SSH_SCP_WAIT_CLOSE);
@@ -2517,7 +2530,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc) {
- infof(data, "Channel failed to close: %d\n", rc);
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Channel failed to close: %d %s\n", rc, err_msg);
}
}
state(conn, SSH_SCP_CHANNEL_FREE);
@@ -2530,7 +2546,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to free libssh2 scp subsystem\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to free libssh2 scp subsystem: %d %s\n",
+ rc, err_msg);
}
sshc->ssh_channel = NULL;
}
@@ -2552,7 +2572,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to free libssh2 scp subsystem\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to free libssh2 scp subsystem: %d %s\n",
+ rc, err_msg);
}
sshc->ssh_channel = NULL;
}
@@ -2563,7 +2587,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to disconnect libssh2 session\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to disconnect libssh2 session: %d %s\n",
+ rc, err_msg);
}
}
@@ -2588,7 +2616,11 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to disconnect from libssh2 agent\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to disconnect from libssh2 agent: %d %s\n",
+ rc, err_msg);
}
libssh2_agent_free(sshc->ssh_agent);
sshc->ssh_agent = NULL;
@@ -2606,7 +2638,10 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(rc < 0) {
- infof(data, "Failed to free libssh2 session\n");
+ char *err_msg = NULL;
+ (void)libssh2_session_last_error(sshc->ssh_session,
+ &err_msg, NULL, 0);
+ infof(data, "Failed to free libssh2 session: %d %s\n", rc, err_msg);
}
sshc->ssh_session = NULL;
}
diff --git a/lib/strtoofft.c b/lib/strtoofft.c
index 36364773..546a3ff7 100644
--- a/lib/strtoofft.c
+++ b/lib/strtoofft.c
@@ -220,8 +220,6 @@ CURLofft curlx_strtoofft(const char *str, char **endp, int base,
errno = 0;
*num = 0; /* clear by default */
- DEBUGASSERT(str);
-
while(*str && ISSPACE(*str))
str++;
if('-' == *str) {
diff --git a/lib/telnet.c b/lib/telnet.c
index 78d3a853..d71c8e06 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -1203,8 +1203,7 @@ CURLcode telrcv(struct connectdata *conn,
CURL_SB_ACCUM(tn, c);
tn->telrcv_state = CURL_TS_SB;
}
- else
- {
+ else {
CURL_SB_ACCUM(tn, CURL_IAC);
CURL_SB_ACCUM(tn, CURL_SE);
tn->subpointer -= 2;
diff --git a/lib/tftp.c b/lib/tftp.c
index 20dc6004..b32960f8 100644
--- a/lib/tftp.c
+++ b/lib/tftp.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -1010,7 +1010,7 @@ static CURLcode tftp_connect(struct connectdata *conn, bool *done)
state->requested_blksize = blksize;
((struct sockaddr *)&state->local_addr)->sa_family =
- (unsigned short)(conn->ip_addr->ai_family);
+ (CURL_SA_FAMILY_T)(conn->ip_addr->ai_family);
tftp_set_timeouts(state);
diff --git a/lib/timeval.c b/lib/timeval.c
index 66f923a8..f4bf8353 100644
--- a/lib/timeval.c
+++ b/lib/timeval.c
@@ -110,7 +110,7 @@ struct curltime Curl_now(void)
usecs /= 1000;
cnow.tv_sec = usecs / 1000000;
- cnow.tv_usec = usecs % 1000000;
+ cnow.tv_usec = (int)(usecs % 1000000);
return cnow;
}
@@ -128,7 +128,7 @@ struct curltime Curl_now(void)
struct curltime ret;
(void)gettimeofday(&now, NULL);
ret.tv_sec = now.tv_sec;
- ret.tv_usec = now.tv_usec;
+ ret.tv_usec = (int)now.tv_usec;
return ret;
}
diff --git a/lib/transfer.c b/lib/transfer.c
index fd9af315..131f2dc7 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -717,7 +717,7 @@ static CURLcode readwrite_data(struct Curl_easy *data,
#endif /* CURL_DISABLE_HTTP */
/* Account for body content stored in the header buffer */
- if(k->badheader && !k->ignorebody) {
+ if((k->badheader == HEADER_PARTHEADER) && !k->ignorebody) {
DEBUGF(infof(data, "Increasing bytecount by %zu from hbuflen\n",
k->hbuflen));
k->bytecount += k->hbuflen;
@@ -1447,6 +1447,16 @@ static const char *find_host_sep(const char *url)
}
/*
+ * Decide in an encoding-independent manner whether a character in an
+ * URL must be escaped. The same criterion must be used in strlen_url()
+ * and strcpy_url().
+ */
+static bool urlchar_needs_escaping(int c)
+{
+ return !(ISCNTRL(c) || ISSPACE(c) || ISGRAPH(c));
+}
+
+/*
* strlen_url() returns the length of the given URL if the spaces within the
* URL were properly URL encoded.
* URL encoding should be skipped for host names, otherwise IDN resolution
@@ -1474,7 +1484,7 @@ static size_t strlen_url(const char *url, bool relative)
left = FALSE;
/* fall through */
default:
- if(*ptr >= 0x80)
+ if(urlchar_needs_escaping(*ptr))
newlen += 2;
newlen++;
break;
@@ -1519,7 +1529,7 @@ static void strcpy_url(char *output, const char *url, bool relative)
left = FALSE;
/* fall through */
default:
- if(*iptr >= 0x80) {
+ if(urlchar_needs_escaping(*iptr)) {
snprintf(optr, 4, "%%%02x", *iptr);
optr += 3;
}
@@ -1926,7 +1936,7 @@ CURLcode Curl_retry_request(struct connectdata *conn,
char **url)
{
struct Curl_easy *data = conn->data;
-
+ bool retry = FALSE;
*url = NULL;
/* if we're talking upload, we can't do the checks below, unless the protocol
@@ -1939,7 +1949,7 @@ CURLcode Curl_retry_request(struct connectdata *conn,
conn->bits.reuse &&
(!data->set.opt_no_body
|| (conn->handler->protocol & PROTO_FAMILY_HTTP)) &&
- (data->set.rtspreq != RTSPREQ_RECEIVE)) {
+ (data->set.rtspreq != RTSPREQ_RECEIVE))
/* We got no data, we attempted to re-use a connection. For HTTP this
can be a retry so we try again regardless if we expected a body.
For other protocols we only try again only if we expected a body.
@@ -1947,6 +1957,19 @@ CURLcode Curl_retry_request(struct connectdata *conn,
This might happen if the connection was left alive when we were
done using it before, but that was closed when we wanted to read from
it again. Bad luck. Retry the same request on a fresh connect! */
+ retry = TRUE;
+ else if(data->state.refused_stream &&
+ (data->req.bytecount + data->req.headerbytecount == 0) ) {
+ /* This was sent on a refused stream, safe to rerun. A refused stream
+ error can typically only happen on HTTP/2 level if the stream is safe
+ to issue again, but the nghttp2 API can deliver the message to other
+ streams as well, which is why this adds the check the data counters
+ too. */
+ infof(conn->data, "REFUSED_STREAM, retrying a fresh connect\n");
+ data->state.refused_stream = FALSE; /* clear again */
+ retry = TRUE;
+ }
+ if(retry) {
infof(conn->data, "Connection died, retrying a fresh connect\n");
*url = strdup(conn->data->change.url);
if(!*url)
@@ -1995,11 +2018,19 @@ Curl_setup_transfer(
DEBUGASSERT((sockindex <= 1) && (sockindex >= -1));
- /* now copy all input parameters */
- conn->sockfd = sockindex == -1 ?
+ if(conn->bits.multiplex || conn->httpversion == 20) {
+ /* when multiplexing, the read/write sockets need to be the same! */
+ conn->sockfd = sockindex == -1 ?
+ ((writesockindex == -1 ? CURL_SOCKET_BAD : conn->sock[writesockindex])) :
+ conn->sock[sockindex];
+ conn->writesockfd = conn->sockfd;
+ }
+ else {
+ conn->sockfd = sockindex == -1 ?
CURL_SOCKET_BAD : conn->sock[sockindex];
- conn->writesockfd = writesockindex == -1 ?
+ conn->writesockfd = writesockindex == -1 ?
CURL_SOCKET_BAD:conn->sock[writesockindex];
+ }
k->getheader = getheader;
k->size = size;
@@ -2018,10 +2049,10 @@ Curl_setup_transfer(
/* we want header and/or body, if neither then don't do this! */
if(k->getheader || !data->set.opt_no_body) {
- if(conn->sockfd != CURL_SOCKET_BAD)
+ if(sockindex != -1)
k->keepon |= KEEP_RECV;
- if(conn->writesockfd != CURL_SOCKET_BAD) {
+ if(writesockindex != -1) {
struct HTTP *http = data->req.protop;
/* HTTP 1.1 magic:
@@ -2052,7 +2083,7 @@ Curl_setup_transfer(
/* enable the write bit when we're not waiting for continue */
k->keepon |= KEEP_SEND;
}
- } /* if(conn->writesockfd != CURL_SOCKET_BAD) */
+ } /* if(writesockindex != -1) */
} /* if(k->getheader || !data->set.opt_no_body) */
}
diff --git a/lib/url.c b/lib/url.c
index 945d4e32..701f83ab 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -488,25 +488,33 @@ CURLcode Curl_init_userdefined(struct Curl_easy *data)
set->socks5_gssapi_nec = FALSE;
#endif
- /* This is our preferred CA cert bundle/path since install time */
+ /* Set the default CA cert bundle/path detected/specified at build time.
+ *
+ * If Schannel (WinSSL) is the selected SSL backend then these locations
+ * are ignored. We allow setting CA location for schannel only when
+ * explicitly specified by the user via CURLOPT_CAINFO / --cacert.
+ */
+ if(Curl_ssl_backend() != CURLSSLBACKEND_SCHANNEL) {
#if defined(CURL_CA_BUNDLE)
- result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_ORIG], CURL_CA_BUNDLE);
- if(result)
- return result;
+ result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_ORIG], CURL_CA_BUNDLE);
+ if(result)
+ return result;
- result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY], CURL_CA_BUNDLE);
- if(result)
- return result;
+ result = Curl_setstropt(&set->str[STRING_SSL_CAFILE_PROXY],
+ CURL_CA_BUNDLE);
+ if(result)
+ return result;
#endif
#if defined(CURL_CA_PATH)
- result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_ORIG], CURL_CA_PATH);
- if(result)
- return result;
+ result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_ORIG], CURL_CA_PATH);
+ if(result)
+ return result;
- result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], CURL_CA_PATH);
- if(result)
- return result;
+ result = Curl_setstropt(&set->str[STRING_SSL_CAPATH_PROXY], CURL_CA_PATH);
+ if(result)
+ return result;
#endif
+ }
set->wildcard_enabled = FALSE;
set->chunk_bgn = ZERO_NULL;
@@ -2067,15 +2075,6 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
return CURLE_URL_MALFORMAT;
}
- if(url_has_scheme && path[0] == '/' && path[1] == '/' &&
- path[2] == '/' && path[3] == '/') {
- /* This appears to be a UNC string (usually indicating a SMB share).
- * We don't do SMB in file: URLs. (TODO?)
- */
- failf(data, "SMB shares are not supported in file: URLs.");
- return CURLE_URL_MALFORMAT;
- }
-
/* Extra handling URLs with an authority component (i.e. that start with
* "file://")
*
@@ -2114,25 +2113,6 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
ptr += 9; /* now points to the slash after the host */
}
- /*
- * RFC 8089, Appendix D, Section D.1, says:
- *
- * > In a POSIX file system, the root of the file system is represented
- * > as a directory with a zero-length name, usually written as "/"; the
- * > presence of this root in a file URI can be taken as given by the
- * > initial slash in the "path-absolute" rule.
- *
- * i.e. the first slash is part of the path.
- *
- * However in RFC 1738 the "/" between the host (or port) and the
- * URL-path was NOT part of the URL-path. Any agent that followed the
- * older spec strictly, and wanted to refer to a file with an absolute
- * path, would have included a second slash. So if there are two
- * slashes, swallow one.
- */
- if('/' == ptr[1]) /* note: the only way ptr[0]!='/' is if ptr[1]==':' */
- ptr++;
-
/* This cannot be done with strcpy, as the memory chunks overlap! */
memmove(path, ptr, strlen(ptr) + 1);
}
@@ -2690,13 +2670,20 @@ static char *detect_proxy(struct connectdata *conn)
prox = curl_getenv(proxy_env);
}
- if(prox)
+ envp = proxy_env;
+ if(prox) {
proxy = prox; /* use this */
+ }
else {
- proxy = curl_getenv("all_proxy"); /* default proxy to use */
- if(!proxy)
- proxy = curl_getenv("ALL_PROXY");
+ envp = (char *)"all_proxy";
+ proxy = curl_getenv(envp); /* default proxy to use */
+ if(!proxy) {
+ envp = (char *)"ALL_PROXY";
+ proxy = curl_getenv(envp);
+ }
}
+ if(proxy)
+ infof(conn->data, "Uses proxy env variable %s == '%s'\n", envp, proxy);
return proxy;
}
@@ -2753,7 +2740,7 @@ static CURLcode parse_proxy(struct Curl_easy *data,
proxyptr = proxy; /* No xxx:// head: It's a HTTP proxy */
#ifdef USE_SSL
- if(!Curl_ssl->support_https_proxy)
+ if(!(Curl_ssl->supports & SSLSUPP_HTTPS_PROXY))
#endif
if(proxytype == CURLPROXY_HTTPS) {
failf(data, "Unsupported proxy \'%s\', libcurl is built without the "
@@ -2981,9 +2968,15 @@ static CURLcode create_conn_helper_init_proxy(struct connectdata *conn)
}
if(!data->set.str[STRING_NOPROXY]) {
- no_proxy = curl_getenv("no_proxy");
- if(!no_proxy)
- no_proxy = curl_getenv("NO_PROXY");
+ const char *p = "no_proxy";
+ no_proxy = curl_getenv(p);
+ if(!no_proxy) {
+ p = "NO_PROXY";
+ no_proxy = curl_getenv(p);
+ }
+ if(no_proxy) {
+ infof(conn->data, "Uses proxy env variable %s == '%s'\n", p, no_proxy);
+ }
}
if(check_noproxy(conn->host.name, data->set.str[STRING_NOPROXY] ?
@@ -3426,7 +3419,7 @@ static CURLcode parse_remote_port(struct Curl_easy *data,
* stripped off. It would be better to work directly from the original
* URL and simply replace the port part of it.
*/
- url = aprintf("%s://%s%s%s:%hu%s%s%s", conn->given->scheme,
+ url = aprintf("%s://%s%s%s:%d%s%s%s", conn->given->scheme,
conn->bits.ipv6_ip?"[":"", conn->host.name,
conn->bits.ipv6_ip?"]":"", conn->remote_port,
data->state.slash_removed?"/":"", data->state.path,
diff --git a/lib/urldata.h b/lib/urldata.h
index 3d7b9e5a..7fae00fd 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -98,6 +98,20 @@
#include "hash.h"
#include "splay.h"
+/* return the count of bytes sent, or -1 on error */
+typedef ssize_t (Curl_send)(struct connectdata *conn, /* connection data */
+ int sockindex, /* socketindex */
+ const void *buf, /* data to write */
+ size_t len, /* max amount to write */
+ CURLcode *err); /* error to return */
+
+/* return the count of bytes read, or -1 on error */
+typedef ssize_t (Curl_recv)(struct connectdata *conn, /* connection data */
+ int sockindex, /* socketindex */
+ char *buf, /* store data here */
+ size_t len, /* max amount to read */
+ CURLcode *err); /* error to return */
+
#include "mime.h"
#include "imap.h"
#include "pop3.h"
@@ -328,6 +342,7 @@ struct ntlmdata {
BYTE *output_token;
BYTE *input_token;
size_t input_token_len;
+ TCHAR *spn;
#else
unsigned int flags;
unsigned char nonce[8];
@@ -703,20 +718,6 @@ struct Curl_handler {
#define CONNRESULT_NONE 0 /* No extra information. */
#define CONNRESULT_DEAD (1<<0) /* The connection is dead. */
-/* return the count of bytes sent, or -1 on error */
-typedef ssize_t (Curl_send)(struct connectdata *conn, /* connection data */
- int sockindex, /* socketindex */
- const void *buf, /* data to write */
- size_t len, /* max amount to write */
- CURLcode *err); /* error to return */
-
-/* return the count of bytes read, or -1 on error */
-typedef ssize_t (Curl_recv)(struct connectdata *conn, /* connection data */
- int sockindex, /* socketindex */
- char *buf, /* store data here */
- size_t len, /* max amount to read */
- CURLcode *err); /* error to return */
-
#ifdef USE_RECV_BEFORE_SEND_WORKAROUND
struct postponed_data {
char *buffer; /* Temporal store for received data during
@@ -895,7 +896,7 @@ struct connectdata {
well be the same we read from.
CURL_SOCKET_BAD disables */
- /** Dynamicly allocated strings, MUST be freed before this **/
+ /** Dynamically allocated strings, MUST be freed before this **/
/** struct is killed. **/
struct dynamically_allocated_data {
char *proxyuserpwd;
@@ -1225,7 +1226,7 @@ struct UrlState {
curl_off_t current_speed; /* the ProgressShow() function sets this,
bytes / second */
bool this_is_a_follow; /* this is a followed Location: request */
-
+ bool refused_stream; /* this was refused, try again */
char *first_host; /* host name of the first (not followed) request.
if set, this should be the host name that we will
sent authorization to, no else. Used to make Location:
@@ -1422,13 +1423,8 @@ enum dupstring {
STRING_SSH_HOST_PUBLIC_KEY_MD5, /* md5 of host public key in ascii hex */
STRING_SSH_KNOWNHOSTS, /* file name of knownhosts file */
#endif
-#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
STRING_PROXY_SERVICE_NAME, /* Proxy service name */
-#endif
-#if !defined(CURL_DISABLE_CRYPTO_AUTH) || defined(USE_KERBEROS5) || \
- defined(USE_SPNEGO) || defined(HAVE_GSSAPI)
STRING_SERVICE_NAME, /* Service name */
-#endif
STRING_MAIL_FROM,
STRING_MAIL_AUTH,
@@ -1674,10 +1670,14 @@ struct UserDefined {
bool suppress_connect_headers; /* suppress proxy CONNECT response headers
from user callbacks */
+ bool dns_shuffle_addresses; /* whether to shuffle addresses before use */
+
struct Curl_easy *stream_depends_on;
bool stream_depends_e; /* set or don't set the Exclusive bit */
int stream_weight;
+ bool haproxyprotocol; /* whether to send HAProxy PROXY protocol header */
+
struct Curl_http2_dep *stream_dependents;
bool abstract_unix_socket;
diff --git a/lib/vauth/cleartext.c b/lib/vauth/cleartext.c
index a761ae78..5d61ce6d 100644
--- a/lib/vauth/cleartext.c
+++ b/lib/vauth/cleartext.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -73,16 +73,10 @@ CURLcode Curl_auth_create_plain_message(struct Curl_easy *data,
ulen = strlen(userp);
plen = strlen(passwdp);
- /* Compute binary message length, checking for overflows. */
- plainlen = 2 * ulen;
- if(plainlen < ulen)
- return CURLE_OUT_OF_MEMORY;
- plainlen += plen;
- if(plainlen < plen)
- return CURLE_OUT_OF_MEMORY;
- plainlen += 2;
- if(plainlen < 2)
+ /* Compute binary message length. Check for overflows. */
+ if((ulen > SIZE_T_MAX/2) || (plen > (SIZE_T_MAX/2 - 2)))
return CURLE_OUT_OF_MEMORY;
+ plainlen = 2 * ulen + plen + 2;
plainauth = malloc(plainlen);
if(!plainauth)
diff --git a/lib/vauth/krb5_sspi.c b/lib/vauth/krb5_sspi.c
index 1b4cef48..9afb971f 100644
--- a/lib/vauth/krb5_sspi.c
+++ b/lib/vauth/krb5_sspi.c
@@ -135,7 +135,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
}
if(!krb5->credentials) {
- /* Do we have credientials to use or are we using single sign-on? */
+ /* Do we have credentials to use or are we using single sign-on? */
if(userp && *userp) {
/* Populate our identity structure */
result = Curl_create_sspi_identity(userp, passwdp, &krb5->identity);
@@ -150,12 +150,10 @@ CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
krb5->p_identity = NULL;
/* Allocate our credentials handle */
- krb5->credentials = malloc(sizeof(CredHandle));
+ krb5->credentials = calloc(1, sizeof(CredHandle));
if(!krb5->credentials)
return CURLE_OUT_OF_MEMORY;
- memset(krb5->credentials, 0, sizeof(CredHandle));
-
/* Acquire our credentials handle */
status = s_pSecFn->AcquireCredentialsHandle(NULL,
(TCHAR *)
@@ -167,11 +165,9 @@ CURLcode Curl_auth_create_gssapi_user_message(struct Curl_easy *data,
return CURLE_LOGIN_DENIED;
/* Allocate our new context handle */
- krb5->context = malloc(sizeof(CtxtHandle));
+ krb5->context = calloc(1, sizeof(CtxtHandle));
if(!krb5->context)
return CURLE_OUT_OF_MEMORY;
-
- memset(krb5->context, 0, sizeof(CtxtHandle));
}
if(chlg64 && *chlg64) {
diff --git a/lib/vauth/ntlm.c b/lib/vauth/ntlm.c
index 1e0d4792..cdb8d8f0 100644
--- a/lib/vauth/ntlm.c
+++ b/lib/vauth/ntlm.c
@@ -63,9 +63,9 @@
/* "NTLMSSP" signature is always in ASCII regardless of the platform */
#define NTLMSSP_SIGNATURE "\x4e\x54\x4c\x4d\x53\x53\x50"
-#define SHORTPAIR(x) ((x) & 0xff), (((x) >> 8) & 0xff)
-#define LONGQUARTET(x) ((x) & 0xff), (((x) >> 8) & 0xff), \
- (((x) >> 16) & 0xff), (((x) >> 24) & 0xff)
+#define SHORTPAIR(x) ((int)((x) & 0xff)), ((int)(((x) >> 8) & 0xff))
+#define LONGQUARTET(x) ((int)((x) & 0xff)), ((int)(((x) >> 8) & 0xff)), \
+ ((int)(((x) >> 16) & 0xff)), ((int)(((x) >> 24) & 0xff))
#if DEBUG_ME
# define DEBUG_OUT(x) x
@@ -355,6 +355,8 @@ static void unicodecpy(unsigned char *dest, const char *src, size_t length)
* data [in] - The session handle.
* userp [in] - The user name in the format User or Domain\User.
* passdwp [in] - The user's password.
+ * service [in] - The service type such as http, smtp, pop or imap.
+ * host [in] - The host name.
* ntlm [in/out] - The NTLM data struct being used and modified.
* outptr [in/out] - The address where a pointer to newly allocated memory
* holding the result will be stored upon completion.
@@ -365,6 +367,8 @@ static void unicodecpy(unsigned char *dest, const char *src, size_t length)
CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
const char *userp,
const char *passwdp,
+ const char *service,
+ const char *hostname,
struct ntlmdata *ntlm,
char **outptr, size_t *outlen)
{
@@ -394,6 +398,8 @@ CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
domain are empty */
(void)userp;
(void)passwdp;
+ (void)service,
+ (void)hostname,
/* Clean up any former leftovers and initialise to defaults */
Curl_auth_ntlm_cleanup(ntlm);
diff --git a/lib/vauth/ntlm.h b/lib/vauth/ntlm.h
index f906a3c7..1136b0f8 100644
--- a/lib/vauth/ntlm.h
+++ b/lib/vauth/ntlm.h
@@ -1,5 +1,5 @@
-#ifndef HEADER_CURL_NTLM_H
-#define HEADER_CURL_NTLM_H
+#ifndef HEADER_VAUTH_NTLM_H
+#define HEADER_VAUTH_NTLM_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -140,4 +140,4 @@
#endif /* USE_NTLM */
-#endif /* HEADER_CURL_NTLM_H */
+#endif /* HEADER_VAUTH_NTLM_H */
diff --git a/lib/vauth/ntlm_sspi.c b/lib/vauth/ntlm_sspi.c
index e748ce3b..089c1a6d 100644
--- a/lib/vauth/ntlm_sspi.c
+++ b/lib/vauth/ntlm_sspi.c
@@ -70,6 +70,8 @@ bool Curl_auth_is_ntlm_supported(void)
* data [in] - The session handle.
* userp [in] - The user name in the format User or Domain\User.
* passdwp [in] - The user's password.
+ * service [in] - The service type such as http, smtp, pop or imap.
+ * host [in] - The host name.
* ntlm [in/out] - The NTLM data struct being used and modified.
* outptr [in/out] - The address where a pointer to newly allocated memory
* holding the result will be stored upon completion.
@@ -80,6 +82,8 @@ bool Curl_auth_is_ntlm_supported(void)
CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
const char *userp,
const char *passwdp,
+ const char *service,
+ const char *host,
struct ntlmdata *ntlm,
char **outptr, size_t *outlen)
{
@@ -125,12 +129,10 @@ CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
ntlm->p_identity = NULL;
/* Allocate our credentials handle */
- ntlm->credentials = malloc(sizeof(CredHandle));
+ ntlm->credentials = calloc(1, sizeof(CredHandle));
if(!ntlm->credentials)
return CURLE_OUT_OF_MEMORY;
- memset(ntlm->credentials, 0, sizeof(CredHandle));
-
/* Acquire our credentials handle */
status = s_pSecFn->AcquireCredentialsHandle(NULL,
(TCHAR *) TEXT(SP_NAME_NTLM),
@@ -141,11 +143,13 @@ CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
return CURLE_LOGIN_DENIED;
/* Allocate our new context handle */
- ntlm->context = malloc(sizeof(CtxtHandle));
+ ntlm->context = calloc(1, sizeof(CtxtHandle));
if(!ntlm->context)
return CURLE_OUT_OF_MEMORY;
- memset(ntlm->context, 0, sizeof(CtxtHandle));
+ ntlm->spn = Curl_auth_build_spn(service, host, NULL);
+ if(!ntlm->spn)
+ return CURLE_OUT_OF_MEMORY;
/* Setup the type-1 "output" security buffer */
type_1_desc.ulVersion = SECBUFFER_VERSION;
@@ -157,7 +161,7 @@ CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
/* Generate our type-1 message */
status = s_pSecFn->InitializeSecurityContext(ntlm->credentials, NULL,
- (TCHAR *) TEXT(""),
+ ntlm->spn,
0, 0, SECURITY_NETWORK_DREP,
NULL, 0,
ntlm->context, &type_1_desc,
@@ -275,7 +279,7 @@ CURLcode Curl_auth_create_ntlm_type3_message(struct Curl_easy *data,
/* Generate our type-3 message */
status = s_pSecFn->InitializeSecurityContext(ntlm->credentials,
ntlm->context,
- (TCHAR *) TEXT(""),
+ ntlm->spn,
0, 0, SECURITY_NETWORK_DREP,
&type_2_desc,
0, ntlm->context,
@@ -333,6 +337,8 @@ void Curl_auth_ntlm_cleanup(struct ntlmdata *ntlm)
/* Reset any variables */
ntlm->token_max = 0;
+
+ Curl_safefree(ntlm->spn);
}
#endif /* USE_WINDOWS_SSPI && USE_NTLM */
diff --git a/lib/vauth/spnego_sspi.c b/lib/vauth/spnego_sspi.c
index a6797cda..1fe19e3f 100644
--- a/lib/vauth/spnego_sspi.c
+++ b/lib/vauth/spnego_sspi.c
@@ -138,7 +138,7 @@ CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
}
if(!nego->credentials) {
- /* Do we have credientials to use or are we using single sign-on? */
+ /* Do we have credentials to use or are we using single sign-on? */
if(user && *user) {
/* Populate our identity structure */
result = Curl_create_sspi_identity(user, password, &nego->identity);
@@ -153,12 +153,10 @@ CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
nego->p_identity = NULL;
/* Allocate our credentials handle */
- nego->credentials = malloc(sizeof(CredHandle));
+ nego->credentials = calloc(1, sizeof(CredHandle));
if(!nego->credentials)
return CURLE_OUT_OF_MEMORY;
- memset(nego->credentials, 0, sizeof(CredHandle));
-
/* Acquire our credentials handle */
nego->status =
s_pSecFn->AcquireCredentialsHandle(NULL,
@@ -170,11 +168,9 @@ CURLcode Curl_auth_decode_spnego_message(struct Curl_easy *data,
return CURLE_LOGIN_DENIED;
/* Allocate our new context handle */
- nego->context = malloc(sizeof(CtxtHandle));
+ nego->context = calloc(1, sizeof(CtxtHandle));
if(!nego->context)
return CURLE_OUT_OF_MEMORY;
-
- memset(nego->context, 0, sizeof(CtxtHandle));
}
if(chlg64 && *chlg64) {
diff --git a/lib/vauth/vauth.c b/lib/vauth/vauth.c
index b995f34e..502d443a 100644
--- a/lib/vauth/vauth.c
+++ b/lib/vauth/vauth.c
@@ -115,8 +115,8 @@ TCHAR *Curl_auth_build_spn(const char *service, const char *host,
* User@Domain (User Principal Name)
*
* Note: The user name may be empty when using a GSS-API library or Windows SSPI
-* as the user and domain are either obtained from the credientals cache when
-* using GSS-API or via the currently logged in user's credientals when using
+* as the user and domain are either obtained from the credentials cache when
+* using GSS-API or via the currently logged in user's credentials when using
* Windows SSPI.
*
* Parameters:
@@ -138,7 +138,7 @@ bool Curl_auth_user_contains_domain(const char *user)
}
#if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)
else
- /* User and domain are obtained from the GSS-API credientials cache or the
+ /* User and domain are obtained from the GSS-API credentials cache or the
currently logged in user from Windows */
valid = TRUE;
#endif
diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h
index dfaf985c..f4306421 100644
--- a/lib/vauth/vauth.h
+++ b/lib/vauth/vauth.h
@@ -122,6 +122,8 @@ bool Curl_auth_is_ntlm_supported(void);
CURLcode Curl_auth_create_ntlm_type1_message(struct Curl_easy *data,
const char *userp,
const char *passwdp,
+ const char *service,
+ const char *host,
struct ntlmdata *ntlm,
char **outptr,
size_t *outlen);
diff --git a/lib/version.c b/lib/version.c
index 1752e14e..5b0d05a1 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -399,7 +399,7 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
#ifdef USE_SSL
Curl_ssl_version(ssl_buffer, sizeof(ssl_buffer));
version_info.ssl_version = ssl_buffer;
- if(Curl_ssl->support_https_proxy)
+ if(Curl_ssl->supports & SSLSUPP_HTTPS_PROXY)
version_info.features |= CURL_VERSION_HTTPS_PROXY;
else
version_info.features &= ~CURL_VERSION_HTTPS_PROXY;
diff --git a/lib/vtls/axtls.c b/lib/vtls/axtls.c
index 9294f49e..5ed898b4 100644
--- a/lib/vtls/axtls.c
+++ b/lib/vtls/axtls.c
@@ -6,7 +6,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2010, DirecTV, Contact: Eric Hu, <ehu@directv.com>.
- * Copyright (C) 2010 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2010 - 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
@@ -703,13 +703,7 @@ static void *Curl_axtls_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_axtls = {
{ CURLSSLBACKEND_AXTLS, "axtls" }, /* info */
-
- 0, /* have_ca_path */
- 0, /* have_certinfo */
- 0, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 0, /* support_https_proxy */
-
+ 0, /* no fancy stuff */
sizeof(struct ssl_backend_data),
/*
diff --git a/lib/vtls/cyassl.c b/lib/vtls/cyassl.c
index 1bd42d2c..20ce460e 100644
--- a/lib/vtls/cyassl.c
+++ b/lib/vtls/cyassl.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -187,8 +187,13 @@ cyassl_connect_step1(struct connectdata *conn,
use_sni(TRUE);
break;
case CURL_SSLVERSION_TLSv1_0:
+#ifdef WOLFSSL_ALLOW_TLSV10
req_method = TLSv1_client_method();
use_sni(TRUE);
+#else
+ failf(data, "CyaSSL does not support TLS 1.0");
+ return CURLE_NOT_BUILT_IN;
+#endif
break;
case CURL_SSLVERSION_TLSv1_1:
req_method = TLSv1_1_client_method();
@@ -966,7 +971,7 @@ static CURLcode Curl_cyassl_random(struct Curl_easy *data,
return CURLE_OK;
}
-static void Curl_cyassl_sha256sum(const unsigned char *tmp, /* input */
+static CURLcode Curl_cyassl_sha256sum(const unsigned char *tmp, /* input */
size_t tmplen,
unsigned char *sha256sum /* output */,
size_t unused)
@@ -976,6 +981,7 @@ static void Curl_cyassl_sha256sum(const unsigned char *tmp, /* input */
InitSha256(&SHA256pw);
Sha256Update(&SHA256pw, tmp, (word32)tmplen);
Sha256Final(&SHA256pw, sha256sum);
+ return CURLE_OK;
}
static void *Curl_cyassl_get_internals(struct ssl_connect_data *connssl,
@@ -988,15 +994,10 @@ static void *Curl_cyassl_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_cyassl = {
{ CURLSSLBACKEND_WOLFSSL, "WolfSSL" }, /* info */
- 0, /* have_ca_path */
- 0, /* have_certinfo */
#ifdef KEEP_PEER_CERT
- 1, /* have_pinnedpubkey */
-#else
- 0, /* have_pinnedpubkey */
+ SSLSUPP_PINNEDPUBKEY |
#endif
- 1, /* have_ssl_ctx */
- 0, /* support_https_proxy */
+ SSLSUPP_SSL_CTX,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/darwinssl.c b/lib/vtls/darwinssl.c
index 694ac572..45fe49d8 100644
--- a/lib/vtls/darwinssl.c
+++ b/lib/vtls/darwinssl.c
@@ -6,7 +6,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2012 - 2017, Nick Zitzmann, <nickzman@gmail.com>.
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 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
@@ -1195,12 +1195,14 @@ static OSStatus CopyIdentityFromPKCS12File(const char *cPath,
*out_cert_and_key = (SecIdentityRef) identity;
break;
}
+#if CURL_BUILD_MAC_10_7
else if(itemID == SecCertificateGetTypeID()) {
status = SecIdentityCreateWithCertificate(NULL,
(SecCertificateRef) item,
out_cert_and_key);
break;
}
+#endif
}
}
@@ -1389,7 +1391,7 @@ static CURLcode darwinssl_connect_step1(struct connectdata *conn,
#endif /* CURL_BUILD_MAC */
#if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS
- if(SSLCreateContext != NULL) { /* use the newer API if avaialble */
+ if(SSLCreateContext != NULL) { /* use the newer API if available */
if(BACKEND->ssl_ctx)
CFRelease(BACKEND->ssl_ctx);
BACKEND->ssl_ctx = SSLCreateContext(NULL, kSSLClientSide, kSSLStreamType);
@@ -2892,13 +2894,14 @@ static CURLcode Curl_darwinssl_md5sum(unsigned char *tmp, /* input */
return CURLE_OK;
}
-static void Curl_darwinssl_sha256sum(const unsigned char *tmp, /* input */
+static CURLcode Curl_darwinssl_sha256sum(const unsigned char *tmp, /* input */
size_t tmplen,
unsigned char *sha256sum, /* output */
size_t sha256len)
{
assert(sha256len >= CURL_SHA256_DIGEST_LENGTH);
(void)CC_SHA256(tmp, (CC_LONG)tmplen, sha256sum);
+ return CURLE_OK;
}
static bool Curl_darwinssl_false_start(void)
@@ -3026,15 +3029,11 @@ static void *Curl_darwinssl_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_darwinssl = {
{ CURLSSLBACKEND_DARWINSSL, "darwinssl" }, /* info */
- 0, /* have_ca_path */
- 0, /* have_certinfo */
#ifdef DARWIN_SSL_PINNEDPUBKEY
- 1, /* have_pinnedpubkey */
+ SSLSUPP_PINNEDPUBKEY,
#else
- 0, /* have_pinnedpubkey */
+ 0,
#endif /* DARWIN_SSL_PINNEDPUBKEY */
- 0, /* have_ssl_ctx */
- 0, /* support_https_proxy */
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/gskit.c b/lib/vtls/gskit.c
index afc90a85..b0856cdf 100644
--- a/lib/vtls/gskit.c
+++ b/lib/vtls/gskit.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -1353,12 +1353,8 @@ static void *Curl_gskit_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_gskit = {
{ CURLSSLBACKEND_GSKIT, "gskit" }, /* info */
- 0, /* have_ca_path */
- 1, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- /* TODO: convert to 1 and fix test #1014 (if need) */
- 0, /* support_https_proxy */
+ SSLSUPP_CERTINFO |
+ SSLSUPP_PINNEDPUBKEY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
index 07887410..207b0fd1 100644
--- a/lib/vtls/gtls.c
+++ b/lib/vtls/gtls.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -152,7 +152,8 @@ static int gtls_mapped_sockerrno(void)
static ssize_t Curl_gtls_push(void *s, const void *buf, size_t len)
{
- ssize_t ret = swrite(CURLX_POINTER_TO_INTEGER_CAST(s), buf, len);
+ curl_socket_t sock = *(curl_socket_t *)s;
+ ssize_t ret = swrite(sock, buf, len);
#if defined(USE_WINSOCK) && !defined(GNUTLS_MAPS_WINSOCK_ERRORS)
if(ret < 0)
gnutls_transport_set_global_errno(gtls_mapped_sockerrno());
@@ -162,7 +163,8 @@ static ssize_t Curl_gtls_push(void *s, const void *buf, size_t len)
static ssize_t Curl_gtls_pull(void *s, void *buf, size_t len)
{
- ssize_t ret = sread(CURLX_POINTER_TO_INTEGER_CAST(s), buf, len);
+ curl_socket_t sock = *(curl_socket_t *)s;
+ ssize_t ret = sread(sock, buf, len);
#if defined(USE_WINSOCK) && !defined(GNUTLS_MAPS_WINSOCK_ERRORS)
if(ret < 0)
gnutls_transport_set_global_errno(gtls_mapped_sockerrno());
@@ -848,7 +850,7 @@ gtls_connect_step1(struct connectdata *conn,
}
else {
/* file descriptor for the socket */
- transport_ptr = CURLX_INTEGER_TO_POINTER_CAST(conn->sock[sockindex]);
+ transport_ptr = &conn->sock[sockindex];
gnutls_transport_push = Curl_gtls_push;
gnutls_transport_pull = Curl_gtls_pull;
}
@@ -1761,7 +1763,7 @@ static CURLcode Curl_gtls_md5sum(unsigned char *tmp, /* input */
return CURLE_OK;
}
-static void Curl_gtls_sha256sum(const unsigned char *tmp, /* input */
+static CURLcode Curl_gtls_sha256sum(const unsigned char *tmp, /* input */
size_t tmplen,
unsigned char *sha256sum, /* output */
size_t sha256len)
@@ -1778,6 +1780,7 @@ static void Curl_gtls_sha256sum(const unsigned char *tmp, /* input */
memcpy(sha256sum, gcry_md_read(SHA256pw, 0), sha256len);
gcry_md_close(SHA256pw);
#endif
+ return CURLE_OK;
}
static bool Curl_gtls_cert_status_request(void)
@@ -1799,11 +1802,10 @@ static void *Curl_gtls_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_gnutls = {
{ CURLSSLBACKEND_GNUTLS, "gnutls" }, /* info */
- 1, /* have_ca_path */
- 1, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 1, /* support_https_proxy */
+ SSLSUPP_CA_PATH |
+ SSLSUPP_CERTINFO |
+ SSLSUPP_PINNEDPUBKEY |
+ SSLSUPP_HTTPS_PROXY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/mbedtls.c b/lib/vtls/mbedtls.c
index 28251a38..d7759dc8 100644
--- a/lib/vtls/mbedtls.c
+++ b/lib/vtls/mbedtls.c
@@ -6,7 +6,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2010 - 2011, Hoi-Ho Chan, <hoiho.chan@gmail.com>
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 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
@@ -815,7 +815,7 @@ static void Curl_mbedtls_session_free(void *ptr)
static size_t Curl_mbedtls_version(char *buffer, size_t size)
{
unsigned int version = mbedtls_version_get_number();
- return snprintf(buffer, size, "mbedTLS/%d.%d.%d", version>>24,
+ return snprintf(buffer, size, "mbedTLS/%u.%u.%u", version>>24,
(version>>16)&0xff, (version>>8)&0xff);
}
@@ -1023,13 +1023,20 @@ static bool Curl_mbedtls_data_pending(const struct connectdata *conn,
return mbedtls_ssl_get_bytes_avail(&BACKEND->ssl) != 0;
}
-static void Curl_mbedtls_sha256sum(const unsigned char *input,
+static CURLcode Curl_mbedtls_sha256sum(const unsigned char *input,
size_t inputlen,
unsigned char *sha256sum,
size_t sha256len UNUSED_PARAM)
{
(void)sha256len;
+#if MBEDTLS_VERSION_NUMBER < 0x02070000
mbedtls_sha256(input, inputlen, sha256sum, 0);
+#else
+ /* returns 0 on success, otherwise failure */
+ if(mbedtls_sha256_ret(input, inputlen, sha256sum, 0) != 0)
+ return CURLE_BAD_FUNCTION_ARGUMENT;
+#endif
+ return CURLE_OK;
}
static void *Curl_mbedtls_get_internals(struct ssl_connect_data *connssl,
@@ -1042,11 +1049,9 @@ static void *Curl_mbedtls_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_mbedtls = {
{ CURLSSLBACKEND_MBEDTLS, "mbedtls" }, /* info */
- 1, /* have_ca_path */
- 0, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 1, /* have_ssl_ctx */
- 0, /* support_https_proxy */
+ SSLSUPP_CA_PATH |
+ SSLSUPP_PINNEDPUBKEY |
+ SSLSUPP_SSL_CTX,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index 458f9d81..7cd450cd 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -2314,7 +2314,7 @@ static CURLcode Curl_nss_md5sum(unsigned char *tmp, /* input */
return CURLE_OK;
}
-static void Curl_nss_sha256sum(const unsigned char *tmp, /* input */
+static CURLcode Curl_nss_sha256sum(const unsigned char *tmp, /* input */
size_t tmplen,
unsigned char *sha256sum, /* output */
size_t sha256len)
@@ -2325,6 +2325,8 @@ static void Curl_nss_sha256sum(const unsigned char *tmp, /* input */
PK11_DigestOp(SHA256pw, tmp, curlx_uztoui(tmplen));
PK11_DigestFinal(SHA256pw, sha256sum, &SHA256out, curlx_uztoui(sha256len));
PK11_DestroyContext(SHA256pw, PR_TRUE);
+
+ return CURLE_OK;
}
static bool Curl_nss_cert_status_request(void)
@@ -2355,11 +2357,10 @@ static void *Curl_nss_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_nss = {
{ CURLSSLBACKEND_NSS, "nss" }, /* info */
- 1, /* have_ca_path */
- 1, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 1, /* support_https_proxy */
+ SSLSUPP_CA_PATH |
+ SSLSUPP_CERTINFO |
+ SSLSUPP_PINNEDPUBKEY |
+ SSLSUPP_HTTPS_PROXY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index 2a6b3cfa..f6a4bd3f 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -104,13 +104,22 @@
#endif
#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && /* OpenSSL 1.1.0+ */ \
- !defined(LIBRESSL_VERSION_NUMBER)
+ !(defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER
#define HAVE_X509_GET0_EXTENSIONS 1 /* added in 1.1.0 -pre1 */
#define HAVE_OPAQUE_EVP_PKEY 1 /* since 1.1.0 -pre3 */
#define HAVE_OPAQUE_RSA_DSA_DH 1 /* since 1.1.0 -pre5 */
#define CONST_EXTS const
#define HAVE_ERR_REMOVE_THREAD_STATE_DEPRECATED 1
+
+/* funny typecast define due to difference in API */
+#ifdef LIBRESSL_VERSION_NUMBER
+#define ARG2_X509_signature_print (X509_ALGOR *)
+#else
+#define ARG2_X509_signature_print
+#endif
+
#else
/* For OpenSSL before 1.1.0 */
#define ASN1_STRING_get0_data(x) ASN1_STRING_data(x)
@@ -128,7 +137,8 @@ static unsigned long OpenSSL_version_num(void)
#endif
#if (OPENSSL_VERSION_NUMBER >= 0x1000200fL) && /* 1.0.2 or later */ \
- !defined(LIBRESSL_VERSION_NUMBER)
+ !(defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
#define HAVE_X509_GET0_SIGNATURE 1
#endif
@@ -147,7 +157,7 @@ static unsigned long OpenSSL_version_num(void)
* Whether SSL_CTX_set_keylog_callback is available.
* OpenSSL: supported since 1.1.1 https://github.com/openssl/openssl/pull/2287
* BoringSSL: supported since d28f59c27bac (committed 2015-11-19)
- * LibreSSL: unsupported in at least 2.5.1 (explicitly check for it since it
+ * LibreSSL: unsupported in at least 2.7.2 (explicitly check for it since it
* lies and pretends to be OpenSSL 2.0.0).
*/
#if (OPENSSL_VERSION_NUMBER >= 0x10101000L && \
@@ -259,7 +269,9 @@ static void tap_ssl_key(const SSL *ssl, ssl_tap_state_t *state)
if(!session || !keylog_file_fp)
return;
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && \
+ !(defined(LIBRESSL_VERSION_NUMBER) && \
+ LIBRESSL_VERSION_NUMBER < 0x20700000L)
/* ssl->s3 is not checked in openssl 1.1.0-pre6, but let's assume that
* we have a valid SSL context if we have a non-NULL session. */
SSL_get_client_random(ssl, client_random, SSL3_RANDOM_SIZE);
@@ -649,18 +661,28 @@ int cert_stuff(struct connectdata *conn,
case SSL_FILETYPE_PKCS12:
{
- FILE *f;
- PKCS12 *p12;
+ BIO *fp = NULL;
+ PKCS12 *p12 = NULL;
EVP_PKEY *pri;
STACK_OF(X509) *ca = NULL;
- f = fopen(cert_file, "rb");
- if(!f) {
+ fp = BIO_new(BIO_s_file());
+ if(fp == NULL) {
+ failf(data,
+ "BIO_new return NULL, " OSSL_PACKAGE
+ " error %s",
+ ossl_strerror(ERR_get_error(), error_buffer,
+ sizeof(error_buffer)) );
+ return 0;
+ }
+
+ if(BIO_read_filename(fp, cert_file) <= 0) {
failf(data, "could not open PKCS12 file '%s'", cert_file);
+ BIO_free(fp);
return 0;
}
- p12 = d2i_PKCS12_fp(f, NULL);
- fclose(f);
+ p12 = d2i_PKCS12_bio(fp, NULL);
+ BIO_free(fp);
if(!p12) {
failf(data, "error reading PKCS12 file '%s'", cert_file);
@@ -1311,6 +1333,51 @@ static void Curl_ossl_close_all(struct Curl_easy *data)
/* ====================================================== */
+/*
+ * Match subjectAltName against the host name. This requires a conversion
+ * in CURL_DOES_CONVERSIONS builds.
+ */
+static bool subj_alt_hostcheck(struct Curl_easy *data,
+ const char *match_pattern, const char *hostname,
+ const char *dispname)
+#ifdef CURL_DOES_CONVERSIONS
+{
+ bool res = FALSE;
+
+ /* Curl_cert_hostcheck uses host encoding, but we get ASCII from
+ OpenSSl.
+ */
+ char *match_pattern2 = strdup(match_pattern);
+
+ if(match_pattern2) {
+ if(Curl_convert_from_network(data, match_pattern2,
+ strlen(match_pattern2)) == CURLE_OK) {
+ if(Curl_cert_hostcheck(match_pattern2, hostname)) {
+ res = TRUE;
+ infof(data,
+ " subjectAltName: host \"%s\" matched cert's \"%s\"\n",
+ dispname, match_pattern2);
+ }
+ }
+ free(match_pattern2);
+ }
+ else {
+ failf(data,
+ "SSL: out of memory when allocating temporary for subjectAltName");
+ }
+ return res;
+}
+#else
+{
+ if(Curl_cert_hostcheck(match_pattern, hostname)) {
+ infof(data, " subjectAltName: host \"%s\" matched cert's \"%s\"\n",
+ dispname, match_pattern);
+ return TRUE;
+ }
+ return FALSE;
+}
+#endif
+
/* Quote from RFC2818 section 3.1 "Server Identity"
@@ -1410,11 +1477,8 @@ static CURLcode verifyhost(struct connectdata *conn, X509 *server_cert)
if((altlen == strlen(altptr)) &&
/* if this isn't true, there was an embedded zero in the name
string and we cannot match it. */
- Curl_cert_hostcheck(altptr, hostname)) {
+ subj_alt_hostcheck(data, altptr, hostname, dispname)) {
dnsmatched = TRUE;
- infof(data,
- " subjectAltName: host \"%s\" matched cert's \"%s\"\n",
- dispname, altptr);
}
break;
@@ -1725,13 +1789,40 @@ static const char *ssl_msg_type(int ssl_ver, int msg)
case SSL3_MT_CERTIFICATE_STATUS:
return "Certificate Status";
#endif
+#ifdef SSL3_MT_ENCRYPTED_EXTENSIONS
+ case SSL3_MT_ENCRYPTED_EXTENSIONS:
+ return "Encrypted Extensions";
+#endif
+#ifdef SSL3_MT_END_OF_EARLY_DATA
+ case SSL3_MT_END_OF_EARLY_DATA:
+ return "End of early data";
+#endif
+#ifdef SSL3_MT_KEY_UPDATE
+ case SSL3_MT_KEY_UPDATE:
+ return "Key update";
+#endif
+#ifdef SSL3_MT_NEXT_PROTO
+ case SSL3_MT_NEXT_PROTO:
+ return "Next protocol";
+#endif
+#ifdef SSL3_MT_MESSAGE_HASH
+ case SSL3_MT_MESSAGE_HASH:
+ return "Message hash";
+#endif
}
}
return "Unknown";
}
-static const char *tls_rt_type(int type)
+static const char *tls_rt_type(int type, const void *buf, size_t buflen)
{
+ (void)buf;
+ (void)buflen;
+#ifdef SSL3_RT_INNER_CONTENT_TYPE
+ if(type == SSL3_RT_INNER_CONTENT_TYPE && buf && buflen >= 1)
+ type = *(unsigned char *)buf;
+#endif
+
switch(type) {
#ifdef SSL3_RT_HEADER
case SSL3_RT_HEADER:
@@ -1759,10 +1850,7 @@ static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
void *userp)
{
struct Curl_easy *data;
- const char *msg_name, *tls_rt_name;
- char ssl_buf[1024];
char unknown[32];
- int msg_type, txt_len;
const char *verstr = NULL;
struct connectdata *conn = userp;
@@ -1810,6 +1898,10 @@ static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
}
if(ssl_ver) {
+ const char *msg_name, *tls_rt_name;
+ char ssl_buf[1024];
+ int msg_type, txt_len;
+
/* the info given when the version is zero is not that useful for us */
ssl_ver >>= 8; /* check the upper 8 bits only below */
@@ -1819,17 +1911,28 @@ static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
* is at 'buf[0]'.
*/
if(ssl_ver == SSL3_VERSION_MAJOR && content_type)
- tls_rt_name = tls_rt_type(content_type);
+ tls_rt_name = tls_rt_type(content_type, buf, len);
else
tls_rt_name = "";
- msg_type = *(char *)buf;
- msg_name = ssl_msg_type(ssl_ver, msg_type);
+#ifdef SSL3_RT_INNER_CONTENT_TYPE
+ if(content_type == SSL3_RT_INNER_CONTENT_TYPE) {
+ msg_type = 0;
+ msg_name = "[no content]";
+ }
+ else
+#endif
+ {
+ msg_type = *(char *)buf;
+ msg_name = ssl_msg_type(ssl_ver, msg_type);
+ }
txt_len = snprintf(ssl_buf, sizeof(ssl_buf), "%s (%s), %s, %s (%d):\n",
verstr, direction?"OUT":"IN",
tls_rt_name, msg_name, msg_type);
- Curl_debug(data, CURLINFO_TEXT, ssl_buf, (size_t)txt_len, NULL);
+ if(0 <= txt_len && (unsigned)txt_len < sizeof(ssl_buf)) {
+ Curl_debug(data, CURLINFO_TEXT, ssl_buf, (size_t)txt_len, NULL);
+ }
}
Curl_debug(data, (direction == 1) ? CURLINFO_SSL_DATA_OUT :
@@ -2082,8 +2185,7 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
case CURL_SSLVERSION_TLSv1_2:
case CURL_SSLVERSION_TLSv1_3:
/* it will be handled later with the context options */
-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && \
- !defined(LIBRESSL_VERSION_NUMBER)
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
req_method = TLS_client_method();
#else
req_method = SSLv23_client_method();
@@ -2338,11 +2440,10 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
#endif
if(ssl_cafile || ssl_capath) {
- if(verifypeer) {
- /* tell SSL where to find CA certificates that are used to verify
- the servers certificate. */
- if(!SSL_CTX_load_verify_locations(BACKEND->ctx,
- ssl_cafile, ssl_capath)) {
+ /* tell SSL where to find CA certificates that are used to verify
+ the servers certificate. */
+ if(!SSL_CTX_load_verify_locations(BACKEND->ctx, ssl_cafile, ssl_capath)) {
+ if(verifypeer) {
/* Fail if we insist on successfully verifying the server. */
failf(data, "error setting certificate verify locations:\n"
" CAfile: %s\n CApath: %s",
@@ -2350,18 +2451,20 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
ssl_capath ? ssl_capath : "none");
return CURLE_SSL_CACERT_BADFILE;
}
- else {
- /* Everything is fine. */
- infof(data, "successfully set certificate verify locations:\n"
- " CAfile: %s\n CApath: %s\n",
- ssl_cafile ? ssl_cafile : "none",
- ssl_capath ? ssl_capath : "none");
- }
+ /* Just continue with a warning if no strict certificate verification
+ is required. */
+ infof(data, "error setting certificate verify locations,"
+ " continuing anyway:\n");
}
else {
- infof(data, "ignoring certificate verify locations due to "
- "disabled peer verification\n");
+ /* Everything is fine. */
+ infof(data, "successfully set certificate verify locations:\n");
}
+ infof(data,
+ " CAfile: %s\n"
+ " CApath: %s\n",
+ ssl_cafile ? ssl_cafile : "none",
+ ssl_capath ? ssl_capath : "none");
}
#ifdef CURL_CA_FALLBACK
else if(verifypeer) {
@@ -2799,7 +2902,7 @@ static CURLcode get_cert_chain(struct connectdata *conn,
ASN1_STRING *a = ASN1_STRING_new();
if(a) {
X509_get0_signature(&psig, &palg, x);
- X509_signature_print(mem, palg, a);
+ X509_signature_print(mem, ARG2_X509_signature_print palg, a);
ASN1_STRING_free(a);
if(palg) {
@@ -3034,7 +3137,8 @@ static CURLcode servercert(struct connectdata *conn,
long lerr, len;
struct Curl_easy *data = conn->data;
X509 *issuer;
- FILE *fp;
+ BIO *fp = NULL;
+ char error_buffer[256]="";
char buffer[2048];
const char *ptr;
long * const certverifyresult = SSL_IS_PROXY() ?
@@ -3045,8 +3149,20 @@ static CURLcode servercert(struct connectdata *conn,
/* we've been asked to gather certificate info! */
(void)get_cert_chain(conn, connssl);
+ fp = BIO_new(BIO_s_file());
+ if(fp == NULL) {
+ failf(data,
+ "BIO_new return NULL, " OSSL_PACKAGE
+ " error %s",
+ ossl_strerror(ERR_get_error(), error_buffer,
+ sizeof(error_buffer)) );
+ BIO_free(mem);
+ return 0;
+ }
+
BACKEND->server_cert = SSL_get_peer_certificate(BACKEND->handle);
if(!BACKEND->server_cert) {
+ BIO_free(fp);
BIO_free(mem);
if(!strict)
return CURLE_OK;
@@ -3076,6 +3192,7 @@ static CURLcode servercert(struct connectdata *conn,
if(SSL_CONN_CONFIG(verifyhost)) {
result = verifyhost(conn, BACKEND->server_cert);
if(result) {
+ BIO_free(fp);
X509_free(BACKEND->server_cert);
BACKEND->server_cert = NULL;
return result;
@@ -3097,35 +3214,35 @@ static CURLcode servercert(struct connectdata *conn,
/* e.g. match issuer name with provided issuer certificate */
if(SSL_SET_OPTION(issuercert)) {
- fp = fopen(SSL_SET_OPTION(issuercert), FOPEN_READTEXT);
- if(!fp) {
+ if(BIO_read_filename(fp, SSL_SET_OPTION(issuercert)) <= 0) {
if(strict)
failf(data, "SSL: Unable to open issuer cert (%s)",
SSL_SET_OPTION(issuercert));
+ BIO_free(fp);
X509_free(BACKEND->server_cert);
BACKEND->server_cert = NULL;
return CURLE_SSL_ISSUER_ERROR;
}
- issuer = PEM_read_X509(fp, NULL, ZERO_NULL, NULL);
+ issuer = PEM_read_bio_X509(fp, NULL, ZERO_NULL, NULL);
if(!issuer) {
if(strict)
failf(data, "SSL: Unable to read issuer cert (%s)",
SSL_SET_OPTION(issuercert));
- X509_free(BACKEND->server_cert);
+ BIO_free(fp);
X509_free(issuer);
- fclose(fp);
+ X509_free(BACKEND->server_cert);
+ BACKEND->server_cert = NULL;
return CURLE_SSL_ISSUER_ERROR;
}
- fclose(fp);
-
if(X509_check_issued(issuer, BACKEND->server_cert) != X509_V_OK) {
if(strict)
failf(data, "SSL: Certificate issuer check failed (%s)",
SSL_SET_OPTION(issuercert));
- X509_free(BACKEND->server_cert);
+ BIO_free(fp);
X509_free(issuer);
+ X509_free(BACKEND->server_cert);
BACKEND->server_cert = NULL;
return CURLE_SSL_ISSUER_ERROR;
}
@@ -3160,6 +3277,7 @@ static CURLcode servercert(struct connectdata *conn,
if(SSL_CONN_CONFIG(verifystatus)) {
result = verifystatus(conn, connssl);
if(result) {
+ BIO_free(fp);
X509_free(BACKEND->server_cert);
BACKEND->server_cert = NULL;
return result;
@@ -3179,6 +3297,7 @@ static CURLcode servercert(struct connectdata *conn,
failf(data, "SSL: public key does not match pinned public key!");
}
+ BIO_free(fp);
X509_free(BACKEND->server_cert);
BACKEND->server_cert = NULL;
connssl->connecting_state = ssl_connect_done;
@@ -3592,7 +3711,7 @@ static CURLcode Curl_ossl_md5sum(unsigned char *tmp, /* input */
}
#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_NO_SHA256)
-static void Curl_ossl_sha256sum(const unsigned char *tmp, /* input */
+static CURLcode Curl_ossl_sha256sum(const unsigned char *tmp, /* input */
size_t tmplen,
unsigned char *sha256sum /* output */,
size_t unused)
@@ -3606,6 +3725,7 @@ static void Curl_ossl_sha256sum(const unsigned char *tmp, /* input */
EVP_DigestUpdate(mdctx, tmp, tmplen);
EVP_DigestFinal_ex(mdctx, sha256sum, &len);
EVP_MD_CTX_destroy(mdctx);
+ return CURLE_OK;
}
#endif
@@ -3630,11 +3750,11 @@ static void *Curl_ossl_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_openssl = {
{ CURLSSLBACKEND_OPENSSL, "openssl" }, /* info */
- 1, /* have_ca_path */
- 1, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 1, /* have_ssl_ctx */
- 1, /* support_https_proxy */
+ SSLSUPP_CA_PATH |
+ SSLSUPP_CERTINFO |
+ SSLSUPP_PINNEDPUBKEY |
+ SSLSUPP_SSL_CTX |
+ SSLSUPP_HTTPS_PROXY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/polarssl.c b/lib/vtls/polarssl.c
index df29fa94..604cb4c8 100644
--- a/lib/vtls/polarssl.c
+++ b/lib/vtls/polarssl.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 2010 - 2011, Hoi-Ho Chan, <hoiho.chan@gmail.com>
*
* This software is licensed as described in the file COPYING, which
@@ -620,12 +620,10 @@ polarssl_connect_step3(struct connectdata *conn,
ssl_session *our_ssl_sessionid;
void *old_ssl_sessionid = NULL;
- our_ssl_sessionid = malloc(sizeof(ssl_session));
+ our_ssl_sessionid = calloc(1, sizeof(ssl_session));
if(!our_ssl_sessionid)
return CURLE_OUT_OF_MEMORY;
- memset(our_ssl_sessionid, 0, sizeof(ssl_session));
-
ret = ssl_get_session(&BACKEND->ssl, our_ssl_sessionid);
if(ret) {
failf(data, "ssl_get_session returned -0x%x", -ret);
@@ -882,13 +880,14 @@ static bool Curl_polarssl_data_pending(const struct connectdata *conn,
return ssl_get_bytes_avail(&BACKEND->ssl) != 0;
}
-static void Curl_polarssl_sha256sum(const unsigned char *input,
+static CURLcode Curl_polarssl_sha256sum(const unsigned char *input,
size_t inputlen,
unsigned char *sha256sum,
size_t sha256len UNUSED_PARAM)
{
(void)sha256len;
sha256(input, inputlen, sha256sum, 0);
+ return CURLE_OK;
}
static void *Curl_polarssl_get_internals(struct ssl_connect_data *connssl,
@@ -901,11 +900,8 @@ static void *Curl_polarssl_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_polarssl = {
{ CURLSSLBACKEND_POLARSSL, "polarssl" }, /* info */
- 1, /* have_ca_path */
- 0, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 0, /* support_https_proxy */
+ SSLSUPP_CA_PATH |
+ SSLSUPP_PINNEDPUBKEY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c
index b8afe46f..2cfd5c19 100644
--- a/lib/vtls/schannel.c
+++ b/lib/vtls/schannel.c
@@ -42,13 +42,12 @@
#ifdef USE_SCHANNEL
+#define EXPOSE_SCHANNEL_INTERNAL_STRUCTS
+
#ifndef USE_WINDOWS_SSPI
# error "Can't compile SCHANNEL support without SSPI."
#endif
-#include <schnlsp.h>
-#include <schannel.h>
-#include "curl_sspi.h"
#include "schannel.h"
#include "vtls.h"
#include "sendf.h"
@@ -61,7 +60,6 @@
#include "x509asn1.h"
#include "curl_printf.h"
#include "system_win32.h"
-#include "hostcheck.h"
/* The last #include file should be: */
#include "curl_memory.h"
@@ -92,6 +90,12 @@
#endif
#endif
+#ifdef UNICODE
+#define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W
+#else
+#define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_A
+#endif
+
#ifndef SP_PROT_SSL2_CLIENT
#define SP_PROT_SSL2_CLIENT 0x00000008
#endif
@@ -124,6 +128,9 @@
#define CURL_SCHANNEL_BUFFER_INIT_SIZE 4096
#define CURL_SCHANNEL_BUFFER_FREE_SIZE 1024
+#define CERT_THUMBPRINT_STR_LEN 40
+#define CERT_THUMBPRINT_DATA_LEN 20
+
/* Uncomment to force verbose output
* #define infof(x, y, ...) printf(y, __VA_ARGS__)
* #define failf(x, y, ...) printf(y, __VA_ARGS__)
@@ -133,37 +140,6 @@
# define CALG_SHA_256 0x0000800c
#endif
-/* Structs to store Schannel handles */
-struct curl_schannel_cred {
- CredHandle cred_handle;
- TimeStamp time_stamp;
- int refcount;
-};
-
-struct curl_schannel_ctxt {
- CtxtHandle ctxt_handle;
- TimeStamp time_stamp;
-};
-
-struct ssl_backend_data {
- struct curl_schannel_cred *cred;
- struct curl_schannel_ctxt *ctxt;
- SecPkgContext_StreamSizes stream_sizes;
- size_t encdata_length, decdata_length;
- size_t encdata_offset, decdata_offset;
- unsigned char *encdata_buffer, *decdata_buffer;
- /* encdata_is_incomplete: if encdata contains only a partial record that
- can't be decrypted without another Curl_read_plain (that is, status is
- SEC_E_INCOMPLETE_MESSAGE) then set this true. after Curl_read_plain writes
- more bytes into encdata then set this back to false. */
- bool encdata_is_incomplete;
- unsigned long req_flags, ret_flags;
- CURLcode recv_unrecoverable_err; /* schannel_recv had an unrecoverable err */
- bool recv_sspi_close_notify; /* true if connection closed by close_notify */
- bool recv_connection_closed; /* true if connection closed, regardless how */
- bool use_alpn; /* true if ALPN is used for this connection */
-};
-
#define BACKEND connssl->backend
static Curl_recv schannel_recv;
@@ -172,10 +148,6 @@ static Curl_send schannel_send;
static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
const char *pinnedpubkey);
-#ifdef _WIN32_WCE
-static CURLcode verify_certificate(struct connectdata *conn, int sockindex);
-#endif
-
static void InitSecBuffer(SecBuffer *buffer, unsigned long BufType,
void *BufDataPtr, unsigned long BufByteSize)
{
@@ -228,6 +200,56 @@ set_ssl_version_min_max(SCHANNEL_CRED *schannel_cred, struct connectdata *conn)
}
static CURLcode
+get_cert_location(TCHAR *path, DWORD *store_name, TCHAR **store_path,
+ TCHAR **thumbprint)
+{
+ TCHAR *sep;
+ size_t store_name_len;
+
+ sep = _tcschr(path, TEXT('\\'));
+ if(sep == NULL)
+ return CURLE_SSL_CONNECT_ERROR;
+
+ store_name_len = sep - path;
+
+ if(_tcsnccmp(path, TEXT("CurrentUser"), store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_CURRENT_USER;
+ else if(_tcsnccmp(path, TEXT("LocalMachine"), store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_LOCAL_MACHINE;
+ else if(_tcsnccmp(path, TEXT("CurrentService"), store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_CURRENT_SERVICE;
+ else if(_tcsnccmp(path, TEXT("Services"), store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_SERVICES;
+ else if(_tcsnccmp(path, TEXT("Users"), store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_USERS;
+ else if(_tcsnccmp(path, TEXT("CurrentUserGroupPolicy"),
+ store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY;
+ else if(_tcsnccmp(path, TEXT("LocalMachineGroupPolicy"),
+ store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY;
+ else if(_tcsnccmp(path, TEXT("LocalMachineEnterprise"),
+ store_name_len) == 0)
+ *store_name = CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE;
+ else
+ return CURLE_SSL_CONNECT_ERROR;
+
+ *store_path = sep + 1;
+
+ sep = _tcschr(*store_path, TEXT('\\'));
+ if(sep == NULL)
+ return CURLE_SSL_CONNECT_ERROR;
+
+ *sep = 0;
+
+ *thumbprint = sep + 1;
+ if(_tcslen(*thumbprint) != CERT_THUMBPRINT_STR_LEN)
+ return CURLE_SSL_CONNECT_ERROR;
+
+ return CURLE_OK;
+}
+
+static CURLcode
schannel_connect_step1(struct connectdata *conn, int sockindex)
{
ssize_t written = -1;
@@ -241,6 +263,7 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
unsigned char alpn_buffer[128];
#endif
SCHANNEL_CRED schannel_cred;
+ PCCERT_CONTEXT client_certs[1] = { NULL };
SECURITY_STATUS sspi_status = SEC_E_OK;
struct curl_schannel_cred *old_cred = NULL;
struct in_addr addr;
@@ -275,6 +298,26 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
BACKEND->use_alpn = false;
#endif
+#ifdef _WIN32_WCE
+ /* certificate validation on CE doesn't seem to work right; we'll
+ * do it following a more manual process. */
+ BACKEND->use_manual_cred_validation = true;
+#else
+ if(SSL_CONN_CONFIG(CAfile)) {
+ if(Curl_verify_windows_version(6, 1, PLATFORM_WINNT,
+ VERSION_GREATER_THAN_EQUAL)) {
+ BACKEND->use_manual_cred_validation = true;
+ }
+ else {
+ failf(data, "schannel: this version of Windows is too old to support "
+ "certificate verification via CA bundle file.");
+ return CURLE_SSL_CACERT_BADFILE;
+ }
+ }
+ else
+ BACKEND->use_manual_cred_validation = false;
+#endif
+
BACKEND->cred = NULL;
/* check for an existing re-usable credential handle */
@@ -298,26 +341,23 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
schannel_cred.dwVersion = SCHANNEL_CRED_VERSION;
if(conn->ssl_config.verifypeer) {
-#ifdef _WIN32_WCE
- /* certificate validation on CE doesn't seem to work right; we'll
- do it following a more manual process. */
- schannel_cred.dwFlags = SCH_CRED_MANUAL_CRED_VALIDATION |
- SCH_CRED_IGNORE_NO_REVOCATION_CHECK |
- SCH_CRED_IGNORE_REVOCATION_OFFLINE;
-#else
- schannel_cred.dwFlags = SCH_CRED_AUTO_CRED_VALIDATION;
+ if(BACKEND->use_manual_cred_validation)
+ schannel_cred.dwFlags = SCH_CRED_MANUAL_CRED_VALIDATION;
+ else
+ schannel_cred.dwFlags = SCH_CRED_AUTO_CRED_VALIDATION;
+
/* TODO s/data->set.ssl.no_revoke/SSL_SET_OPTION(no_revoke)/g */
- if(data->set.ssl.no_revoke)
+ if(data->set.ssl.no_revoke) {
schannel_cred.dwFlags |= SCH_CRED_IGNORE_NO_REVOCATION_CHECK |
- SCH_CRED_IGNORE_REVOCATION_OFFLINE;
- else
- schannel_cred.dwFlags |= SCH_CRED_REVOCATION_CHECK_CHAIN;
-#endif
- if(data->set.ssl.no_revoke)
+ SCH_CRED_IGNORE_REVOCATION_OFFLINE;
+
infof(data, "schannel: disabled server certificate revocation "
"checks\n");
- else
+ }
+ else {
+ schannel_cred.dwFlags |= SCH_CRED_REVOCATION_CHECK_CHAIN;
infof(data, "schannel: checking server certificate revocation\n");
+ }
}
else {
schannel_cred.dwFlags = SCH_CRED_MANUAL_CRED_VALIDATION |
@@ -361,14 +401,70 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
return CURLE_SSL_CONNECT_ERROR;
}
+ /* client certificate */
+ if(data->set.ssl.cert) {
+ DWORD cert_store_name;
+ TCHAR *cert_store_path;
+ TCHAR *cert_thumbprint_str;
+ CRYPT_HASH_BLOB cert_thumbprint;
+ BYTE cert_thumbprint_data[CERT_THUMBPRINT_DATA_LEN];
+ HCERTSTORE cert_store;
+
+ TCHAR *cert_path = Curl_convert_UTF8_to_tchar(data->set.ssl.cert);
+ if(!cert_path)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = get_cert_location(cert_path, &cert_store_name,
+ &cert_store_path, &cert_thumbprint_str);
+ if(result != CURLE_OK) {
+ Curl_unicodefree(cert_path);
+ return result;
+ }
+
+ cert_store = CertOpenStore(CURL_CERT_STORE_PROV_SYSTEM, 0,
+ (HCRYPTPROV)NULL,
+ cert_store_name, cert_store_path);
+ if(!cert_store) {
+ Curl_unicodefree(cert_path);
+ return CURLE_SSL_CONNECT_ERROR;
+ }
+
+ cert_thumbprint.pbData = cert_thumbprint_data;
+ cert_thumbprint.cbData = CERT_THUMBPRINT_DATA_LEN;
+
+ if(!CryptStringToBinary(cert_thumbprint_str, CERT_THUMBPRINT_STR_LEN,
+ CRYPT_STRING_HEX,
+ cert_thumbprint_data, &cert_thumbprint.cbData,
+ NULL, NULL)) {
+ Curl_unicodefree(cert_path);
+ return CURLE_SSL_CONNECT_ERROR;
+ }
+
+ client_certs[0] = CertFindCertificateInStore(
+ cert_store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0,
+ CERT_FIND_HASH, &cert_thumbprint, NULL);
+
+ Curl_unicodefree(cert_path);
+
+ if(client_certs[0]) {
+ schannel_cred.cCreds = 1;
+ schannel_cred.paCred = client_certs;
+ }
+
+ CertCloseStore(cert_store, 0);
+ }
+
/* allocate memory for the re-usable credential handle */
BACKEND->cred = (struct curl_schannel_cred *)
- malloc(sizeof(struct curl_schannel_cred));
+ calloc(1, sizeof(struct curl_schannel_cred));
if(!BACKEND->cred) {
failf(data, "schannel: unable to allocate memory");
+
+ if(client_certs[0])
+ CertFreeCertificateContext(client_certs[0]);
+
return CURLE_OUT_OF_MEMORY;
}
- memset(BACKEND->cred, 0, sizeof(struct curl_schannel_cred));
BACKEND->cred->refcount = 1;
/* https://msdn.microsoft.com/en-us/library/windows/desktop/aa374716.aspx
@@ -380,6 +476,9 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
&BACKEND->cred->cred_handle,
&BACKEND->cred->time_stamp);
+ if(client_certs[0])
+ CertFreeCertificateContext(client_certs[0]);
+
if(sspi_status != SEC_E_OK) {
if(sspi_status == SEC_E_WRONG_PRINCIPAL)
failf(data, "schannel: SNI or certificate check failed: %s",
@@ -445,8 +544,7 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
InitSecBuffer(&inbuf, SECBUFFER_APPLICATION_PROTOCOLS, alpn_buffer, cur);
InitSecBufferDesc(&inbuf_desc, &inbuf, 1);
}
- else
- {
+ else {
InitSecBuffer(&inbuf, SECBUFFER_EMPTY, NULL, 0);
InitSecBufferDesc(&inbuf_desc, &inbuf, 1);
}
@@ -466,12 +564,11 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
/* allocate memory for the security context handle */
BACKEND->ctxt = (struct curl_schannel_ctxt *)
- malloc(sizeof(struct curl_schannel_ctxt));
+ calloc(1, sizeof(struct curl_schannel_ctxt));
if(!BACKEND->ctxt) {
failf(data, "schannel: unable to allocate memory");
return CURLE_OUT_OF_MEMORY;
}
- memset(BACKEND->ctxt, 0, sizeof(struct curl_schannel_ctxt));
host_name = Curl_convert_UTF8_to_tchar(hostname);
if(!host_name)
@@ -780,12 +877,9 @@ schannel_connect_step2(struct connectdata *conn, int sockindex)
}
}
-#ifdef _WIN32_WCE
- /* Windows CE doesn't do any server certificate validation.
- We have to do it manually. */
- if(conn->ssl_config.verifypeer)
+ if(conn->ssl_config.verifypeer && BACKEND->use_manual_cred_validation) {
return verify_certificate(conn, sockindex);
-#endif
+ }
return CURLE_OK;
}
@@ -1750,146 +1844,6 @@ static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
return result;
}
-#ifdef _WIN32_WCE
-static CURLcode verify_certificate(struct connectdata *conn, int sockindex)
-{
- SECURITY_STATUS status;
- struct Curl_easy *data = conn->data;
- struct ssl_connect_data *connssl = &conn->ssl[sockindex];
- CURLcode result = CURLE_OK;
- CERT_CONTEXT *pCertContextServer = NULL;
- const CERT_CHAIN_CONTEXT *pChainContext = NULL;
- const char * const conn_hostname = SSL_IS_PROXY() ?
- conn->http_proxy.host.name :
- conn->host.name;
-
- status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle,
- SECPKG_ATTR_REMOTE_CERT_CONTEXT,
- &pCertContextServer);
-
- if((status != SEC_E_OK) || (pCertContextServer == NULL)) {
- failf(data, "schannel: Failed to read remote certificate context: %s",
- Curl_sspi_strerror(conn, status));
- result = CURLE_PEER_FAILED_VERIFICATION;
- }
-
- if(result == CURLE_OK) {
- CERT_CHAIN_PARA ChainPara;
- memset(&ChainPara, 0, sizeof(ChainPara));
- ChainPara.cbSize = sizeof(ChainPara);
-
- if(!CertGetCertificateChain(NULL,
- pCertContextServer,
- NULL,
- pCertContextServer->hCertStore,
- &ChainPara,
- (data->set.ssl.no_revoke ? 0 :
- CERT_CHAIN_REVOCATION_CHECK_CHAIN),
- NULL,
- &pChainContext)) {
- failf(data, "schannel: CertGetCertificateChain failed: %s",
- Curl_sspi_strerror(conn, GetLastError()));
- pChainContext = NULL;
- result = CURLE_PEER_FAILED_VERIFICATION;
- }
-
- if(result == CURLE_OK) {
- CERT_SIMPLE_CHAIN *pSimpleChain = pChainContext->rgpChain[0];
- DWORD dwTrustErrorMask = ~(DWORD)(CERT_TRUST_IS_NOT_TIME_NESTED);
- dwTrustErrorMask &= pSimpleChain->TrustStatus.dwErrorStatus;
- if(dwTrustErrorMask) {
- if(dwTrustErrorMask & CERT_TRUST_IS_REVOKED)
- failf(data, "schannel: CertGetCertificateChain trust error"
- " CERT_TRUST_IS_REVOKED");
- else if(dwTrustErrorMask & CERT_TRUST_IS_PARTIAL_CHAIN)
- failf(data, "schannel: CertGetCertificateChain trust error"
- " CERT_TRUST_IS_PARTIAL_CHAIN");
- else if(dwTrustErrorMask & CERT_TRUST_IS_UNTRUSTED_ROOT)
- failf(data, "schannel: CertGetCertificateChain trust error"
- " CERT_TRUST_IS_UNTRUSTED_ROOT");
- else if(dwTrustErrorMask & CERT_TRUST_IS_NOT_TIME_VALID)
- failf(data, "schannel: CertGetCertificateChain trust error"
- " CERT_TRUST_IS_NOT_TIME_VALID");
- else
- failf(data, "schannel: CertGetCertificateChain error mask: 0x%08x",
- dwTrustErrorMask);
- result = CURLE_PEER_FAILED_VERIFICATION;
- }
- }
- }
-
- if(result == CURLE_OK) {
- if(conn->ssl_config.verifyhost) {
- TCHAR cert_hostname_buff[256];
- DWORD len;
-
- /* TODO: Fix this for certificates with multiple alternative names.
- Right now we're only asking for the first preferred alternative name.
- Instead we'd need to do all via CERT_NAME_SEARCH_ALL_NAMES_FLAG
- (if WinCE supports that?) and run this section in a loop for each.
- https://msdn.microsoft.com/en-us/library/windows/desktop/aa376086.aspx
- curl: (51) schannel: CertGetNameString() certificate hostname
- (.google.com) did not match connection (google.com)
- */
- len = CertGetNameString(pCertContextServer,
- CERT_NAME_DNS_TYPE,
- CERT_NAME_DISABLE_IE4_UTF8_FLAG,
- NULL,
- cert_hostname_buff,
- 256);
- if(len > 0) {
- const char *cert_hostname;
-
- /* Comparing the cert name and the connection hostname encoded as UTF-8
- * is acceptable since both values are assumed to use ASCII
- * (or some equivalent) encoding
- */
- cert_hostname = Curl_convert_tchar_to_UTF8(cert_hostname_buff);
- if(!cert_hostname) {
- result = CURLE_OUT_OF_MEMORY;
- }
- else{
- int match_result;
-
- match_result = Curl_cert_hostcheck(cert_hostname, conn->host.name);
- if(match_result == CURL_HOST_MATCH) {
- infof(data,
- "schannel: connection hostname (%s) validated "
- "against certificate name (%s)\n",
- conn->host.name,
- cert_hostname);
- result = CURLE_OK;
- }
- else{
- failf(data,
- "schannel: connection hostname (%s) "
- "does not match certificate name (%s)",
- conn->host.name,
- cert_hostname);
- result = CURLE_PEER_FAILED_VERIFICATION;
- }
- Curl_unicodefree(cert_hostname);
- }
- }
- else {
- failf(data,
- "schannel: CertGetNameString did not provide any "
- "certificate name information");
- result = CURLE_PEER_FAILED_VERIFICATION;
- }
- }
- }
-
- if(pChainContext)
- CertFreeCertificateChain(pChainContext);
-
- if(pCertContextServer)
- CertFreeCertificateContext(pCertContextServer);
-
- return result;
-}
-#endif /* _WIN32_WCE */
-
static void Curl_schannel_checksum(const unsigned char *input,
size_t inputlen,
unsigned char *checksum,
@@ -1949,13 +1903,14 @@ static CURLcode Curl_schannel_md5sum(unsigned char *input,
return CURLE_OK;
}
-static void Curl_schannel_sha256sum(const unsigned char *input,
+static CURLcode Curl_schannel_sha256sum(const unsigned char *input,
size_t inputlen,
unsigned char *sha256sum,
size_t sha256len)
{
Curl_schannel_checksum(input, inputlen, sha256sum, sha256len,
PROV_RSA_AES, CALG_SHA_256);
+ return CURLE_OK;
}
static void *Curl_schannel_get_internals(struct ssl_connect_data *connssl,
@@ -1968,11 +1923,8 @@ static void *Curl_schannel_get_internals(struct ssl_connect_data *connssl,
const struct Curl_ssl Curl_ssl_schannel = {
{ CURLSSLBACKEND_SCHANNEL, "schannel" }, /* info */
- 0, /* have_ca_path */
- 1, /* have_certinfo */
- 1, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 0, /* support_https_proxy */
+ SSLSUPP_CERTINFO |
+ SSLSUPP_PINNEDPUBKEY,
sizeof(struct ssl_backend_data),
diff --git a/lib/vtls/schannel.h b/lib/vtls/schannel.h
index 932103da..44769002 100644
--- a/lib/vtls/schannel.h
+++ b/lib/vtls/schannel.h
@@ -26,9 +26,49 @@
#ifdef USE_SCHANNEL
+#include <schnlsp.h>
+#include <schannel.h>
+#include "curl_sspi.h"
+
#include "urldata.h"
extern const struct Curl_ssl Curl_ssl_schannel;
+CURLcode verify_certificate(struct connectdata *conn, int sockindex);
+
+/* structs to expose only in schannel.c and schannel_verify.c */
+#ifdef EXPOSE_SCHANNEL_INTERNAL_STRUCTS
+struct curl_schannel_cred {
+ CredHandle cred_handle;
+ TimeStamp time_stamp;
+ int refcount;
+};
+
+struct curl_schannel_ctxt {
+ CtxtHandle ctxt_handle;
+ TimeStamp time_stamp;
+};
+
+struct ssl_backend_data {
+ struct curl_schannel_cred *cred;
+ struct curl_schannel_ctxt *ctxt;
+ SecPkgContext_StreamSizes stream_sizes;
+ size_t encdata_length, decdata_length;
+ size_t encdata_offset, decdata_offset;
+ unsigned char *encdata_buffer, *decdata_buffer;
+ /* encdata_is_incomplete: if encdata contains only a partial record that
+ can't be decrypted without another Curl_read_plain (that is, status is
+ SEC_E_INCOMPLETE_MESSAGE) then set this true. after Curl_read_plain writes
+ more bytes into encdata then set this back to false. */
+ bool encdata_is_incomplete;
+ unsigned long req_flags, ret_flags;
+ CURLcode recv_unrecoverable_err; /* schannel_recv had an unrecoverable err */
+ bool recv_sspi_close_notify; /* true if connection closed by close_notify */
+ bool recv_connection_closed; /* true if connection closed, regardless how */
+ bool use_alpn; /* true if ALPN is used for this connection */
+ bool use_manual_cred_validation; /* true if manual cred validation is used */
+};
+#endif /* EXPOSE_SCHANNEL_INTERNAL_STRUCTS */
+
#endif /* USE_SCHANNEL */
#endif /* HEADER_CURL_SCHANNEL_H */
diff --git a/lib/vtls/schannel_verify.c b/lib/vtls/schannel_verify.c
new file mode 100644
index 00000000..db187dd6
--- /dev/null
+++ b/lib/vtls/schannel_verify.c
@@ -0,0 +1,551 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de>
+ * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com>
+ * Copyright (C) 2012 - 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
+ * 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.
+ *
+ ***************************************************************************/
+
+/*
+ * Source file for SChannel-specific certificate verification. This code should
+ * only be invoked by code in schannel.c.
+ */
+
+#include "curl_setup.h"
+
+#ifdef USE_SCHANNEL
+
+#define EXPOSE_SCHANNEL_INTERNAL_STRUCTS
+
+#ifndef USE_WINDOWS_SSPI
+# error "Can't compile SCHANNEL support without SSPI."
+#endif
+
+#include "schannel.h"
+#include "vtls.h"
+#include "sendf.h"
+#include "strerror.h"
+#include "curl_multibyte.h"
+#include "curl_printf.h"
+#include "hostcheck.h"
+#include "system_win32.h"
+
+/* The last #include file should be: */
+#include "curl_memory.h"
+#include "memdebug.h"
+
+#define BACKEND connssl->backend
+
+#define MAX_CAFILE_SIZE 1048576 /* 1 MiB */
+#define BEGIN_CERT "-----BEGIN CERTIFICATE-----\n"
+#define END_CERT "\n-----END CERTIFICATE-----"
+
+typedef struct {
+ DWORD cbSize;
+ HCERTSTORE hRestrictedRoot;
+ HCERTSTORE hRestrictedTrust;
+ HCERTSTORE hRestrictedOther;
+ DWORD cAdditionalStore;
+ HCERTSTORE *rghAdditionalStore;
+ DWORD dwFlags;
+ DWORD dwUrlRetrievalTimeout;
+ DWORD MaximumCachedCertificates;
+ DWORD CycleDetectionModulus;
+ HCERTSTORE hExclusiveRoot;
+ HCERTSTORE hExclusiveTrustedPeople;
+} CERT_CHAIN_ENGINE_CONFIG_WIN7, *PCERT_CHAIN_ENGINE_CONFIG_WIN7;
+
+
+static CURLcode add_certs_to_store(HCERTSTORE trust_store,
+ const char *ca_file,
+ struct connectdata *conn)
+{
+ CURLcode result;
+ struct Curl_easy *data = conn->data;
+ HANDLE ca_file_handle = INVALID_HANDLE_VALUE;
+ LARGE_INTEGER file_size;
+ char *ca_file_buffer = NULL;
+ char *current_ca_file_ptr = NULL;
+ const TCHAR *ca_file_tstr = NULL;
+ size_t ca_file_bufsize = 0;
+ DWORD total_bytes_read = 0;
+ bool more_certs = 0;
+ int num_certs = 0;
+ size_t END_CERT_LEN;
+
+ ca_file_tstr = Curl_convert_UTF8_to_tchar(ca_file);
+ if(!ca_file_tstr) {
+ failf(data,
+ "schannel: invalid path name for CA file '%s': %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ goto cleanup;
+ }
+
+ /*
+ * Read the CA file completely into memory before parsing it. This
+ * optimizes for the common case where the CA file will be relatively
+ * small ( < 1 MiB ).
+ */
+ ca_file_handle = CreateFile(ca_file_tstr,
+ GENERIC_READ,
+ 0,
+ NULL,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ NULL);
+ if(ca_file_handle == INVALID_HANDLE_VALUE) {
+ failf(data,
+ "schannel: failed to open CA file '%s': %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ goto cleanup;
+ }
+
+ if(!GetFileSizeEx(ca_file_handle, &file_size)) {
+ failf(data,
+ "schannel: failed to determine size of CA file '%s': %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ goto cleanup;
+ }
+
+ if(file_size.QuadPart > MAX_CAFILE_SIZE) {
+ failf(data,
+ "schannel: CA file exceeds max size of %u bytes",
+ MAX_CAFILE_SIZE);
+ result = CURLE_OUT_OF_MEMORY;
+ goto cleanup;
+ }
+
+ ca_file_bufsize = (size_t)file_size.QuadPart;
+ ca_file_buffer = (char *)malloc(ca_file_bufsize + 1);
+ if(!ca_file_buffer) {
+ result = CURLE_OUT_OF_MEMORY;
+ goto cleanup;
+ }
+
+ result = CURLE_OK;
+ while(total_bytes_read < ca_file_bufsize) {
+ DWORD bytes_to_read = (DWORD)(ca_file_bufsize - total_bytes_read);
+ DWORD bytes_read = 0;
+
+ if(!ReadFile(ca_file_handle, ca_file_buffer + total_bytes_read,
+ bytes_to_read, &bytes_read, NULL)) {
+
+ failf(data,
+ "schannel: failed to read from CA file '%s': %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ goto cleanup;
+ }
+ if(bytes_read == 0) {
+ /* Premature EOF -- adjust the bufsize to the new value */
+ ca_file_bufsize = total_bytes_read;
+ }
+ else {
+ total_bytes_read += bytes_read;
+ }
+ }
+
+ /* Null terminate the buffer */
+ ca_file_buffer[ca_file_bufsize] = '\0';
+
+ if(result != CURLE_OK) {
+ goto cleanup;
+ }
+
+ END_CERT_LEN = strlen(END_CERT);
+
+ more_certs = 1;
+ current_ca_file_ptr = ca_file_buffer;
+ while(more_certs && *current_ca_file_ptr != '\0') {
+ char *begin_cert_ptr = strstr(current_ca_file_ptr, BEGIN_CERT);
+ if(!begin_cert_ptr) {
+ more_certs = 0;
+ }
+ else {
+ char *end_cert_ptr = strstr(begin_cert_ptr, END_CERT);
+ if(!end_cert_ptr) {
+ failf(data,
+ "schannel: CA file '%s' is not correctly formatted",
+ ca_file);
+ result = CURLE_SSL_CACERT_BADFILE;
+ more_certs = 0;
+ }
+ else {
+ CERT_BLOB cert_blob;
+ CERT_CONTEXT *cert_context = NULL;
+ BOOL add_cert_result = FALSE;
+ DWORD actual_content_type = 0;
+ DWORD cert_size = (DWORD)
+ ((end_cert_ptr + END_CERT_LEN) - begin_cert_ptr);
+
+ cert_blob.pbData = (BYTE *)begin_cert_ptr;
+ cert_blob.cbData = cert_size;
+ if(!CryptQueryObject(CERT_QUERY_OBJECT_BLOB,
+ &cert_blob,
+ CERT_QUERY_CONTENT_FLAG_CERT,
+ CERT_QUERY_FORMAT_FLAG_ALL,
+ 0,
+ NULL,
+ &actual_content_type,
+ NULL,
+ NULL,
+ NULL,
+ &cert_context)) {
+
+ failf(data,
+ "schannel: failed to extract certificate from CA file "
+ "'%s': %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ more_certs = 0;
+ }
+ else {
+ current_ca_file_ptr = begin_cert_ptr + cert_size;
+
+ /* Sanity check that the cert_context object is the right type */
+ if(CERT_QUERY_CONTENT_CERT != actual_content_type) {
+ failf(data,
+ "schannel: unexpected content type '%d' when extracting "
+ "certificate from CA file '%s'",
+ actual_content_type, ca_file);
+ result = CURLE_SSL_CACERT_BADFILE;
+ more_certs = 0;
+ }
+ else {
+ add_cert_result =
+ CertAddCertificateContextToStore(trust_store,
+ cert_context,
+ CERT_STORE_ADD_ALWAYS,
+ NULL);
+ CertFreeCertificateContext(cert_context);
+ if(!add_cert_result) {
+ failf(data,
+ "schannel: failed to add certificate from CA file '%s'"
+ "to certificate store: %s",
+ ca_file, Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ more_certs = 0;
+ }
+ else {
+ num_certs++;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if(result == CURLE_OK) {
+ if(!num_certs) {
+ infof(data,
+ "schannel: did not add any certificates from CA file '%s'\n",
+ ca_file);
+ }
+ else {
+ infof(data,
+ "schannel: added %d certificate(s) from CA file '%s'\n",
+ num_certs, ca_file);
+ }
+ }
+
+cleanup:
+ if(ca_file_handle != INVALID_HANDLE_VALUE) {
+ CloseHandle(ca_file_handle);
+ }
+ Curl_safefree(ca_file_buffer);
+ Curl_unicodefree(ca_file_tstr);
+
+ return result;
+}
+
+static CURLcode verify_host(struct Curl_easy *data,
+ CERT_CONTEXT *pCertContextServer,
+ const char * const conn_hostname)
+{
+ CURLcode result = CURLE_PEER_FAILED_VERIFICATION;
+ TCHAR *cert_hostname_buff = NULL;
+ size_t cert_hostname_buff_index = 0;
+ DWORD len = 0;
+ DWORD actual_len = 0;
+
+ /* CertGetNameString will provide the 8-bit character string without
+ * any decoding */
+ DWORD name_flags = CERT_NAME_DISABLE_IE4_UTF8_FLAG;
+
+#ifdef CERT_NAME_SEARCH_ALL_NAMES_FLAG
+ name_flags |= CERT_NAME_SEARCH_ALL_NAMES_FLAG;
+#endif
+
+ /* Determine the size of the string needed for the cert hostname */
+ len = CertGetNameString(pCertContextServer,
+ CERT_NAME_DNS_TYPE,
+ name_flags,
+ NULL,
+ NULL,
+ 0);
+ if(len == 0) {
+ failf(data,
+ "schannel: CertGetNameString() returned no "
+ "certificate name information");
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ goto cleanup;
+ }
+
+ /* CertGetNameString guarantees that the returned name will not contain
+ * embedded null bytes. This appears to be undocumented behavior.
+ */
+ cert_hostname_buff = (LPTSTR)malloc(len * sizeof(TCHAR));
+ actual_len = CertGetNameString(pCertContextServer,
+ CERT_NAME_DNS_TYPE,
+ name_flags,
+ NULL,
+ (LPTSTR) cert_hostname_buff,
+ len);
+
+ /* Sanity check */
+ if(actual_len != len) {
+ failf(data,
+ "schannel: CertGetNameString() returned certificate "
+ "name information of unexpected size");
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ goto cleanup;
+ }
+
+ /* If HAVE_CERT_NAME_SEARCH_ALL_NAMES is available, the output
+ * will contain all DNS names, where each name is null-terminated
+ * and the last DNS name is double null-terminated. Due to this
+ * encoding, use the length of the buffer to iterate over all names.
+ */
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ while(cert_hostname_buff_index < len &&
+ cert_hostname_buff[cert_hostname_buff_index] != TEXT('\0') &&
+ result == CURLE_PEER_FAILED_VERIFICATION) {
+
+ char *cert_hostname;
+
+ /* Comparing the cert name and the connection hostname encoded as UTF-8
+ * is acceptable since both values are assumed to use ASCII
+ * (or some equivalent) encoding
+ */
+ cert_hostname = Curl_convert_tchar_to_UTF8(
+ &cert_hostname_buff[cert_hostname_buff_index]);
+ if(!cert_hostname) {
+ result = CURLE_OUT_OF_MEMORY;
+ }
+ else {
+ int match_result;
+
+ match_result = Curl_cert_hostcheck(cert_hostname, conn_hostname);
+ if(match_result == CURL_HOST_MATCH) {
+ infof(data,
+ "schannel: connection hostname (%s) validated "
+ "against certificate name (%s)\n",
+ conn_hostname, cert_hostname);
+ result = CURLE_OK;
+ }
+ else {
+ size_t cert_hostname_len;
+
+ infof(data,
+ "schannel: connection hostname (%s) did not match "
+ "against certificate name (%s)\n",
+ conn_hostname, cert_hostname);
+
+ cert_hostname_len = _tcslen(
+ &cert_hostname_buff[cert_hostname_buff_index]);
+
+ /* Move on to next cert name */
+ cert_hostname_buff_index += cert_hostname_len + 1;
+
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ }
+ Curl_unicodefree(cert_hostname);
+ }
+ }
+
+ if(result == CURLE_PEER_FAILED_VERIFICATION) {
+ failf(data,
+ "schannel: CertGetNameString() failed to match "
+ "connection hostname (%s) against server certificate names",
+ conn_hostname);
+ }
+ else if(result != CURLE_OK)
+ failf(data, "schannel: server certificate name verification failed");
+
+cleanup:
+ Curl_unicodefree(cert_hostname_buff);
+
+ return result;
+}
+
+CURLcode verify_certificate(struct connectdata *conn, int sockindex)
+{
+ SECURITY_STATUS status;
+ struct Curl_easy *data = conn->data;
+ struct ssl_connect_data *connssl = &conn->ssl[sockindex];
+ CURLcode result = CURLE_OK;
+ CERT_CONTEXT *pCertContextServer = NULL;
+ const CERT_CHAIN_CONTEXT *pChainContext = NULL;
+ HCERTCHAINENGINE cert_chain_engine = NULL;
+ HCERTSTORE trust_store = NULL;
+ const char * const conn_hostname = SSL_IS_PROXY() ?
+ conn->http_proxy.host.name :
+ conn->host.name;
+
+ status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle,
+ SECPKG_ATTR_REMOTE_CERT_CONTEXT,
+ &pCertContextServer);
+
+ if((status != SEC_E_OK) || (pCertContextServer == NULL)) {
+ failf(data, "schannel: Failed to read remote certificate context: %s",
+ Curl_sspi_strerror(conn, status));
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ }
+
+ if(result == CURLE_OK && SSL_CONN_CONFIG(CAfile) &&
+ BACKEND->use_manual_cred_validation) {
+ /*
+ * Create a chain engine that uses the certificates in the CA file as
+ * trusted certificates. This is only supported on Windows 7+.
+ */
+
+ if(Curl_verify_windows_version(6, 1, PLATFORM_WINNT, VERSION_LESS_THAN)) {
+ failf(data, "schannel: this version of Windows is too old to support "
+ "certificate verification via CA bundle file.");
+ result = CURLE_SSL_CACERT_BADFILE;
+ }
+ else {
+ /* Open the certificate store */
+ trust_store = CertOpenStore(CERT_STORE_PROV_MEMORY,
+ 0,
+ (HCRYPTPROV)NULL,
+ CERT_STORE_CREATE_NEW_FLAG,
+ NULL);
+ if(!trust_store) {
+ failf(data, "schannel: failed to create certificate store: %s",
+ Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ }
+ else {
+ result = add_certs_to_store(trust_store, SSL_CONN_CONFIG(CAfile),
+ conn);
+ }
+ }
+
+ if(result == CURLE_OK) {
+ CERT_CHAIN_ENGINE_CONFIG_WIN7 engine_config;
+ BOOL create_engine_result;
+
+ memset(&engine_config, 0, sizeof(engine_config));
+ engine_config.cbSize = sizeof(engine_config);
+ engine_config.hExclusiveRoot = trust_store;
+
+ /* CertCreateCertificateChainEngine will check the expected size of the
+ * CERT_CHAIN_ENGINE_CONFIG structure and fail if the specified size
+ * does not match the expected size. When this occurs, it indicates that
+ * CAINFO is not supported on the version of Windows in use.
+ */
+ create_engine_result =
+ CertCreateCertificateChainEngine(
+ (CERT_CHAIN_ENGINE_CONFIG *)&engine_config, &cert_chain_engine);
+ if(!create_engine_result) {
+ failf(data,
+ "schannel: failed to create certificate chain engine: %s",
+ Curl_strerror(conn, GetLastError()));
+ result = CURLE_SSL_CACERT_BADFILE;
+ }
+ }
+ }
+
+ if(result == CURLE_OK) {
+ CERT_CHAIN_PARA ChainPara;
+
+ memset(&ChainPara, 0, sizeof(ChainPara));
+ ChainPara.cbSize = sizeof(ChainPara);
+
+ if(!CertGetCertificateChain(cert_chain_engine,
+ pCertContextServer,
+ NULL,
+ pCertContextServer->hCertStore,
+ &ChainPara,
+ (data->set.ssl.no_revoke ? 0 :
+ CERT_CHAIN_REVOCATION_CHECK_CHAIN),
+ NULL,
+ &pChainContext)) {
+ failf(data, "schannel: CertGetCertificateChain failed: %s",
+ Curl_sspi_strerror(conn, GetLastError()));
+ pChainContext = NULL;
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ }
+
+ if(result == CURLE_OK) {
+ CERT_SIMPLE_CHAIN *pSimpleChain = pChainContext->rgpChain[0];
+ DWORD dwTrustErrorMask = ~(DWORD)(CERT_TRUST_IS_NOT_TIME_NESTED);
+ dwTrustErrorMask &= pSimpleChain->TrustStatus.dwErrorStatus;
+ if(dwTrustErrorMask) {
+ if(dwTrustErrorMask & CERT_TRUST_IS_REVOKED)
+ failf(data, "schannel: CertGetCertificateChain trust error"
+ " CERT_TRUST_IS_REVOKED");
+ else if(dwTrustErrorMask & CERT_TRUST_IS_PARTIAL_CHAIN)
+ failf(data, "schannel: CertGetCertificateChain trust error"
+ " CERT_TRUST_IS_PARTIAL_CHAIN");
+ else if(dwTrustErrorMask & CERT_TRUST_IS_UNTRUSTED_ROOT)
+ failf(data, "schannel: CertGetCertificateChain trust error"
+ " CERT_TRUST_IS_UNTRUSTED_ROOT");
+ else if(dwTrustErrorMask & CERT_TRUST_IS_NOT_TIME_VALID)
+ failf(data, "schannel: CertGetCertificateChain trust error"
+ " CERT_TRUST_IS_NOT_TIME_VALID");
+ else if(dwTrustErrorMask & CERT_TRUST_REVOCATION_STATUS_UNKNOWN)
+ failf(data, "schannel: CertGetCertificateChain trust error"
+ " CERT_TRUST_REVOCATION_STATUS_UNKNOWN");
+ else
+ failf(data, "schannel: CertGetCertificateChain error mask: 0x%08x",
+ dwTrustErrorMask);
+ result = CURLE_PEER_FAILED_VERIFICATION;
+ }
+ }
+ }
+
+ if(result == CURLE_OK) {
+ if(SSL_CONN_CONFIG(verifyhost)) {
+ result = verify_host(conn->data, pCertContextServer, conn_hostname);
+ }
+ }
+
+ if(cert_chain_engine) {
+ CertFreeCertificateChainEngine(cert_chain_engine);
+ }
+
+ if(trust_store) {
+ CertCloseStore(trust_store, 0);
+ }
+
+ if(pChainContext)
+ CertFreeCertificateChain(pChainContext);
+
+ if(pCertContextServer)
+ CertFreeCertificateContext(pCertContextServer);
+
+ return result;
+}
+
+#endif /* USE_SCHANNEL */
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index def1d30c..ee5bc7a0 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -211,7 +211,7 @@ ssl_connect_init_proxy(struct connectdata *conn, int sockindex)
!conn->proxy_ssl[sockindex].use) {
struct ssl_backend_data *pbdata;
- if(!Curl_ssl->support_https_proxy)
+ if(!(Curl_ssl->supports & SSLSUPP_HTTPS_PROXY))
return CURLE_NOT_BUILT_IN;
/* The pointers to the ssl backend data, which is opaque here, are swapped
@@ -511,7 +511,7 @@ void Curl_ssl_close_all(struct Curl_easy *data)
#if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \
defined(USE_DARWINSSL) || defined(USE_POLARSSL) || defined(USE_NSS) || \
- defined(USE_MBEDTLS)
+ defined(USE_MBEDTLS) || defined(USE_CYASSL)
int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks,
int numsocks)
{
@@ -831,8 +831,12 @@ CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,
sha256sumdigest = malloc(CURL_SHA256_DIGEST_LENGTH);
if(!sha256sumdigest)
return CURLE_OUT_OF_MEMORY;
- Curl_ssl->sha256sum(pubkey, pubkeylen,
+ encode = Curl_ssl->sha256sum(pubkey, pubkeylen,
sha256sumdigest, CURL_SHA256_DIGEST_LENGTH);
+
+ if(encode != CURLE_OK)
+ return encode;
+
encode = Curl_base64_encode(data, (char *)sha256sumdigest,
CURL_SHA256_DIGEST_LENGTH, &encoded,
&encodedlen);
@@ -1127,13 +1131,7 @@ static void Curl_multissl_close(struct connectdata *conn, int sockindex)
static const struct Curl_ssl Curl_ssl_multi = {
{ CURLSSLBACKEND_NONE, "multi" }, /* info */
-
- 0, /* have_ca_path */
- 0, /* have_certinfo */
- 0, /* have_pinnedpubkey */
- 0, /* have_ssl_ctx */
- 0, /* support_https_proxy */
-
+ 0, /* supports nothing */
(size_t)-1, /* something insanely large to be on the safe side */
Curl_multissl_init, /* init */
@@ -1300,6 +1298,9 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
{
int i;
+ if(avail)
+ *avail = (const curl_ssl_backend **)&available_backends;
+
if(Curl_ssl != &Curl_ssl_multi)
return id == Curl_ssl->info.id ? CURLSSLSET_OK : CURLSSLSET_TOO_LATE;
@@ -1311,8 +1312,6 @@ CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
}
}
- if(avail)
- *avail = (const curl_ssl_backend **)&available_backends;
return CURLSSLSET_UNKNOWN_BACKEND;
}
diff --git a/lib/vtls/vtls.h b/lib/vtls/vtls.h
index c5f9d4a3..e7b87c4d 100644
--- a/lib/vtls/vtls.h
+++ b/lib/vtls/vtls.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -26,20 +26,19 @@
struct connectdata;
struct ssl_connect_data;
+#define SSLSUPP_CA_PATH (1<<0) /* supports CAPATH */
+#define SSLSUPP_CERTINFO (1<<1) /* supports CURLOPT_CERTINFO */
+#define SSLSUPP_PINNEDPUBKEY (1<<2) /* supports CURLOPT_PINNEDPUBLICKEY */
+#define SSLSUPP_SSL_CTX (1<<3) /* supports CURLOPT_SSL_CTX */
+#define SSLSUPP_HTTPS_PROXY (1<<4) /* supports access via HTTPS proxies */
+
struct Curl_ssl {
/*
* This *must* be the first entry to allow returning the list of available
* backends in curl_global_sslset().
*/
curl_ssl_backend info;
-
- unsigned have_ca_path:1; /* supports CAPATH */
- unsigned have_certinfo:1; /* supports CURLOPT_CERTINFO */
- unsigned have_pinnedpubkey:1; /* supports CURLOPT_PINNEDPUBLICKEY */
- unsigned have_ssl_ctx:1; /* supports CURLOPT_SSL_CTX_* */
-
- unsigned support_https_proxy:1; /* supports access via HTTPS proxies */
-
+ unsigned int supports; /* bitfield, see above */
size_t sizeof_ssl_backend_data;
int (*init)(void);
@@ -72,7 +71,7 @@ struct Curl_ssl {
CURLcode (*md5sum)(unsigned char *input, size_t inputlen,
unsigned char *md5sum, size_t md5sumlen);
- void (*sha256sum)(const unsigned char *input, size_t inputlen,
+ CURLcode (*sha256sum)(const unsigned char *input, size_t inputlen,
unsigned char *sha256sum, size_t sha256sumlen);
};
@@ -113,8 +112,10 @@ CURLcode Curl_none_md5sum(unsigned char *input, size_t inputlen,
#endif
#ifndef MD5_DIGEST_LENGTH
+#ifndef LIBWOLFSSL_VERSION_HEX /* because WolfSSL borks this */
#define MD5_DIGEST_LENGTH 16 /* fixed size */
#endif
+#endif
#ifndef CURL_SHA256_DIGEST_LENGTH
#define CURL_SHA256_DIGEST_LENGTH 32 /* fixed size */
diff --git a/lib/warnless.h b/lib/warnless.h
index efd552a6..f6a2d744 100644
--- a/lib/warnless.h
+++ b/lib/warnless.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -26,11 +26,6 @@
#include <curl/curl.h> /* for curl_socket_t */
#endif
-#define CURLX_POINTER_TO_INTEGER_CAST(p) \
- ((char *)(p) - (char *)NULL)
-#define CURLX_INTEGER_TO_POINTER_CAST(i) \
- ((void *)((char *)NULL + (i)))
-
unsigned short curlx_ultous(unsigned long ulnum);
unsigned char curlx_ultouc(unsigned long ulnum);
diff --git a/lib/wildcard.c b/lib/wildcard.c
index af45c79b..8ba0989b 100644
--- a/lib/wildcard.c
+++ b/lib/wildcard.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -30,9 +30,15 @@
#include "curl_memory.h"
#include "memdebug.h"
+static void fileinfo_dtor(void *user, void *element)
+{
+ (void)user;
+ Curl_fileinfo_cleanup(element);
+}
+
CURLcode Curl_wildcard_init(struct WildcardData *wc)
{
- Curl_llist_init(&wc->filelist, Curl_fileinfo_dtor);
+ Curl_llist_init(&wc->filelist, fileinfo_dtor);
wc->state = CURLWC_INIT;
return CURLE_OK;
@@ -43,12 +49,12 @@ void Curl_wildcard_dtor(struct WildcardData *wc)
if(!wc)
return;
- if(wc->tmp_dtor) {
- wc->tmp_dtor(wc->tmp);
- wc->tmp_dtor = ZERO_NULL;
- wc->tmp = NULL;
+ if(wc->dtor) {
+ wc->dtor(wc->protdata);
+ wc->dtor = ZERO_NULL;
+ wc->protdata = NULL;
}
- DEBUGASSERT(wc->tmp == NULL);
+ DEBUGASSERT(wc->protdata == NULL);
Curl_llist_destroy(&wc->filelist, NULL);
diff --git a/lib/wildcard.h b/lib/wildcard.h
index 8a5e4b76..b7826123 100644
--- a/lib/wildcard.h
+++ b/lib/wildcard.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2010 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2010 - 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
@@ -40,7 +40,7 @@ typedef enum {
will end */
} curl_wildcard_states;
-typedef void (*curl_wildcard_tmp_dtor)(void *ptr);
+typedef void (*curl_wildcard_dtor)(void *ptr);
/* struct keeping information about wildcard download process */
struct WildcardData {
@@ -48,8 +48,8 @@ struct WildcardData {
char *path; /* path to the directory, where we trying wildcard-match */
char *pattern; /* wildcard pattern */
struct curl_llist filelist; /* llist with struct Curl_fileinfo */
- void *tmp; /* pointer to protocol specific temporary data */
- curl_wildcard_tmp_dtor tmp_dtor;
+ void *protdata; /* pointer to protocol specific temporary data */
+ curl_wildcard_dtor dtor;
void *customptr; /* for CURLOPT_CHUNK_DATA pointer */
};
diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4
index 422946e2..c1ae6a55 100644
--- a/m4/curl-compilers.m4
+++ b/m4/curl-compilers.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 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
@@ -1044,6 +1044,23 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
tmp_CFLAGS="$tmp_CFLAGS -Wdouble-promotion"
fi
#
+ dnl Only gcc 6 or later
+ if test "$compiler_num" -ge "600"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-negative-value"
+ tmp_CFLAGS="$tmp_CFLAGS -Wshift-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wnull-dereference"
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-cond"
+ fi
+ #
+ dnl Only gcc 7 or later
+ if test "$compiler_num" -ge "700"; then
+ tmp_CFLAGS="$tmp_CFLAGS -Wduplicated-branches"
+ tmp_CFLAGS="$tmp_CFLAGS -Wrestrict"
+ tmp_CFLAGS="$tmp_CFLAGS -Walloc-zero"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-overflow=2"
+ tmp_CFLAGS="$tmp_CFLAGS -Wformat-truncation=2"
+ fi
+ #
fi
#
dnl Do not issue warnings for code in system include paths.
@@ -1282,15 +1299,6 @@ AC_DEFUN([CURL_CHECK_CURLDEBUG], [
want_curldebug="no"
fi
fi
- #
- if test "$want_curldebug" = "yes"; then
- CPPFLAGS="-DCURLDEBUG $CPPFLAGS"
- squeeze CPPFLAGS
- fi
- if test "$want_debug" = "yes"; then
- CPPFLAGS="-DDEBUGBUILD $CPPFLAGS"
- squeeze CPPFLAGS
- fi
])
diff --git a/m4/curl-confopts.m4 b/m4/curl-confopts.m4
index 6dcd0f1a..ad6acd8f 100644
--- a/m4/curl-confopts.m4
+++ b/m4/curl-confopts.m4
@@ -114,6 +114,7 @@ AC_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]),
dnl as a request to disable curldebug.
if test "$want_debug" = "yes"; then
AC_MSG_RESULT([(assumed) yes])
+ AC_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking])
else
AC_MSG_RESULT([no])
fi
@@ -130,6 +131,7 @@ AC_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]),
dnl --disable-curldebug had been given setting shell variable
dnl want_curldebug to 'no'.
want_curldebug="yes"
+ AC_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking])
AC_MSG_RESULT([yes])
;;
esac
@@ -164,6 +166,7 @@ AC_HELP_STRING([--disable-debug],[Disable debug build options]),
*)
dnl --enable-debug option used
want_debug="yes"
+ AC_DEFINE(DEBUGBUILD, 1, [enable debug build options])
;;
esac
AC_MSG_RESULT([$want_debug])
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index dde7fe2e..1bbde9ed 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 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
@@ -7008,3 +7008,19 @@ AC_DEFUN([CURL_CHECK_FUNC_WRITEV], [
curl_cv_func_writev="no"
fi
])
+
+dnl CURL_RUN_IFELSE
+dnl -------------------------------------------------
+dnl Wrapper macro to use instead of AC_RUN_IFELSE. It
+dnl sets LD_LIBRARY_PATH locally for this run only, from the
+dnl CURL_LIBRARY_PATH variable. It keeps the LD_LIBRARY_PATH
+dnl changes contained within this macro.
+
+AC_DEFUN([CURL_RUN_IFELSE], [
+ AC_REQUIRE([AC_RUN_IFELSE])dnl
+
+ old=$LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ AC_RUN_IFELSE([AC_LANG_SOURCE([$1])], $2, $3, $4)
+ LD_LIBRARY_PATH=$old # restore
+])
diff --git a/packages/DOS/README b/packages/DOS/README
index c2ab9b9a..5278f2c1 100644
--- a/packages/DOS/README
+++ b/packages/DOS/README
@@ -4,7 +4,7 @@ Watt-32 stack.
'make djgpp' in the root curl dir should build it fine.
Note 1: djgpp 2.04 beta has a sscanf() bug so the URL parsing isn't
- done proberly. Use djgpp 2.03 until they fix it.
+ done properly. Use djgpp 2.03 until they fix it.
Note 2: Compile Watt-32 (and OpenSSL) with the same version of djgpp.
Otherwise things go wrong because things like FS-extensions and
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index a21ee9bb..b2ff6d6f 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -1330,6 +1330,10 @@
d c 20272
d CURLOPT_RESOLVER_START_DATA...
d c 10273
+ d CURLOPT_HAPROXYPROTOCOL...
+ d c 00274
+ d CURLOPT_DNS_SHUFFLE_ADDRESSES...
+ d c 00275
*
/if not defined(CURL_NO_OLDIES)
d CURLOPT_FILE c 10001
diff --git a/packages/OS400/os400sys.c b/packages/OS400/os400sys.c
index 8ae635e4..c80f0108 100644
--- a/packages/OS400/os400sys.c
+++ b/packages/OS400/os400sys.c
@@ -140,11 +140,12 @@ get_buffer(buffer_t * buf, long size)
return buf->buf;
if(!buf->buf) {
- if((buf->buf = malloc(size)))
+ buf->buf = malloc(size);
+ if(buf->buf)
buf->size = size;
return buf->buf;
- }
+ }
if((unsigned long) size <= buf->size) {
/* Shorten the buffer only if it frees a significant byte count. This
@@ -152,14 +153,15 @@ get_buffer(buffer_t * buf, long size)
if(buf->size - size < MIN_BYTE_GAIN)
return buf->buf;
- }
+ }
/* Resize the buffer. */
- if((cp = realloc(buf->buf, size))) {
+ cp = realloc(buf->buf, size);
+ if(cp) {
buf->buf = cp;
buf->size = size;
- }
+ }
else if(size <= buf->size)
cp = buf->buf;
@@ -193,14 +195,15 @@ buffer_threaded(localkey_t key, long size)
/* Allocate buffer descriptors for the current thread. */
- if(!(bufs = calloc((size_t) LK_LAST, sizeof *bufs)))
+ bufs = calloc((size_t) LK_LAST, sizeof *bufs);
+ if(!bufs)
return (char *) NULL;
if(pthread_setspecific(thdkey, (void *) bufs)) {
free(bufs);
return (char *) NULL;
- }
}
+ }
return get_buffer(bufs + key, size);
}
@@ -273,15 +276,19 @@ Curl_getnameinfo_a(const struct sockaddr * sa, curl_socklen_t salen,
enodename = (char *) NULL;
eservname = (char *) NULL;
- if(nodename && nodenamelen)
- if(!(enodename = malloc(nodenamelen)))
+ if(nodename && nodenamelen) {
+ enodename = malloc(nodenamelen);
+ if(!enodename)
return EAI_MEMORY;
+ }
- if(servname && servnamelen)
- if(!(eservname = malloc(servnamelen))) {
+ if(servname && servnamelen) {
+ eservname = malloc(servnamelen);
+ if(!eservname) {
free(enodename);
return EAI_MEMORY;
- }
+ }
+ }
status = getnameinfo(sa, salen, enodename, nodenamelen,
eservname, servnamelen, flags);
@@ -323,24 +330,26 @@ Curl_getaddrinfo_a(const char * nodename, const char * servname,
if(nodename) {
i = strlen(nodename);
- if(!(enodename = malloc(i + 1)))
+ enodename = malloc(i + 1);
+ if(!enodename)
return EAI_MEMORY;
i = QadrtConvertA2E(enodename, nodename, i, i);
enodename[i] = '\0';
- }
+ }
if(servname) {
i = strlen(servname);
- if(!(eservname = malloc(i + 1))) {
+ eservname = malloc(i + 1);
+ if(!eservname) {
free(enodename);
return EAI_MEMORY;
- }
+ }
QadrtConvertA2E(eservname, servname, i, i);
eservname[i] = '\0';
- }
+ }
status = getaddrinfo(enodename, eservname, hints, res);
free(enodename);
@@ -385,10 +394,12 @@ Curl_gsk_environment_open(gsk_handle * my_env_handle)
if(!my_env_handle)
return GSK_OS400_ERROR_INVALID_POINTER;
- if(!(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;
- if((rc = gsk_environment_open(&p->h)) != GSK_OK)
+ rc = gsk_environment_open(&p->h);
+ if(rc != GSK_OK)
free(p);
else
*my_env_handle = (gsk_handle) p;
@@ -410,10 +421,12 @@ 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;
- if(!(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;
- if((rc = gsk_secure_soc_open(h, &p->h)) != GSK_OK)
+ rc = gsk_secure_soc_open(h, &p->h);
+ if(rc != GSK_OK)
free(p);
else
*my_session_handle = (gsk_handle) p;
@@ -448,7 +461,8 @@ Curl_gsk_environment_close(gsk_handle * my_env_handle)
if(!*my_env_handle)
return GSK_INVALID_HANDLE;
p = (struct Curl_gsk_descriptor *) *my_env_handle;
- if((rc = gsk_environment_close(&p->h)) == GSK_OK) {
+ rc = gsk_environment_close(&p->h);
+ if(rc == GSK_OK) {
gsk_free_handle(p);
*my_env_handle = (gsk_handle) NULL;
}
@@ -468,7 +482,8 @@ Curl_gsk_secure_soc_close(gsk_handle * my_session_handle)
if(!*my_session_handle)
return GSK_INVALID_HANDLE;
p = (struct Curl_gsk_descriptor *) *my_session_handle;
- if((rc = gsk_secure_soc_close(&p->h)) == GSK_OK) {
+ rc = gsk_secure_soc_close(&p->h);
+ if(rc == GSK_OK) {
gsk_free_handle(p);
*my_session_handle = (gsk_handle) NULL;
}
@@ -520,8 +535,9 @@ Curl_gsk_attribute_set_buffer_a(gsk_handle my_gsk_handle, GSK_BUF_ID bufID,
p = (struct Curl_gsk_descriptor *) my_gsk_handle;
if(!bufSize)
bufSize = strlen(buffer);
- if(!(ebcdicbuf = malloc(bufSize + 1)))
- return GSK_INSUFFICIENT_STORAGE;
+ ebcdicbuf = malloc(bufSize + 1);
+ if(!ebcdicbuf)
+ return GSK_INSUFFICIENT_STORAGE;
QadrtConvertA2E(ebcdicbuf, buffer, bufSize, bufSize);
ebcdicbuf[bufSize] = '\0';
rc = gsk_attribute_set_buffer(p->h, bufID, ebcdicbuf, bufSize);
@@ -586,9 +602,11 @@ cachestring(struct Curl_gsk_descriptor * p,
if(sp->ebcdicstr == ebcdicbuf)
break;
if(!sp) {
- if(!(sp = (struct gskstrlist *) malloc(sizeof *sp)))
+ sp = (struct gskstrlist *) malloc(sizeof *sp);
+ if(!sp)
return GSK_INSUFFICIENT_STORAGE;
- if(!(asciibuf = malloc(bufsize + 1))) {
+ asciibuf = malloc(bufsize + 1);
+ if(!asciibuf) {
free(sp);
return GSK_INSUFFICIENT_STORAGE;
}
@@ -619,9 +637,11 @@ Curl_gsk_attribute_get_buffer_a(gsk_handle my_gsk_handle, GSK_BUF_ID bufID,
if(!buffer || !bufSize)
return GSK_OS400_ERROR_INVALID_POINTER;
p = (struct Curl_gsk_descriptor *) my_gsk_handle;
- if((rc = gsk_attribute_get_buffer(p->h, bufID, &mybuf, &mylen)) != GSK_OK)
+ rc = gsk_attribute_get_buffer(p->h, bufID, &mybuf, &mylen);
+ if(rc != GSK_OK)
return rc;
- if((rc = cachestring(p, mybuf, mylen, buffer)) == GSK_OK)
+ rc = cachestring(p, mybuf, mylen, buffer);
+ if(rc == GSK_OK)
*bufSize = mylen;
return rc;
}
@@ -756,19 +776,20 @@ Curl_gss_convert_in_place(OM_uint32 * minor_status, gss_buffer_t buf)
i = buf->length;
if(i) {
- if(!(t = malloc(i))) {
+ t = malloc(i);
+ if(!t) {
gss_release_buffer(minor_status, buf);
if(minor_status)
*minor_status = ENOMEM;
return -1;
- }
+ }
QadrtConvertE2A(t, buf->value, i, i);
memcpy(buf->value, t, i);
free(t);
- }
+ }
return 0;
}
@@ -789,12 +810,13 @@ Curl_gss_import_name_a(OM_uint32 * minor_status, gss_buffer_t in_name,
memcpy((char *) &in, (char *) in_name, sizeof in);
i = in.length;
- if(!(in.value = malloc(i + 1))) {
+ in.value = malloc(i + 1);
+ if(!in.value) {
if(minor_status)
*minor_status = ENOMEM;
return GSS_S_FAILURE;
- }
+ }
QadrtConvertA2E(in.value, in_name->value, i, i);
((char *) in.value)[i] = '\0';
@@ -849,23 +871,26 @@ Curl_gss_init_sec_context_a(OM_uint32 * minor_status,
gss_buffer_t inp;
in.value = NULL;
+ inp = input_token;
- if((inp = input_token))
+ if(inp) {
if(inp->length && inp->value) {
i = inp->length;
- if(!(in.value = malloc(i + 1))) {
+ in.value = malloc(i + 1);
+ if(!in.value) {
if(minor_status)
*minor_status = ENOMEM;
return GSS_S_FAILURE;
- }
+ }
QadrtConvertA2E(in.value, input_token->value, i, i);
((char *) in.value)[i] = '\0';
in.length = i;
inp = &in;
- }
+ }
+ }
rc = gss_init_sec_context(minor_status, cred_handle, context_handle,
target_name, mech_type, req_flags, time_req,
@@ -932,7 +957,8 @@ Curl_ldap_init_a(char * host, int port)
i = strlen(host);
- if(!(ehost = malloc(i + 1)))
+ ehost = malloc(i + 1);
+ if(!ehost)
return (void *) NULL;
QadrtConvertA2E(ehost, host, i, i);
@@ -957,24 +983,26 @@ Curl_ldap_simple_bind_s_a(void * ld, char * dn, char * passwd)
if(dn) {
i = strlen(dn);
- if(!(edn = malloc(i + 1)))
+ edn = malloc(i + 1);
+ if(!edn)
return LDAP_NO_MEMORY;
QadrtConvertA2E(edn, dn, i, i);
edn[i] = '\0';
- }
+ }
if(passwd) {
i = strlen(passwd);
- if(!(epasswd = malloc(i + 1))) {
+ epasswd = malloc(i + 1);
+ if(!epasswd) {
free(edn);
return LDAP_NO_MEMORY;
- }
+ }
QadrtConvertA2E(epasswd, passwd, i, i);
epasswd[i] = '\0';
- }
+ }
i = ldap_simple_bind_s(ld, edn, epasswd);
free(epasswd);
@@ -1003,39 +1031,43 @@ Curl_ldap_search_s_a(void * ld, char * base, int scope, char * filter,
if(base) {
i = strlen(base);
- if(!(ebase = malloc(i + 1)))
+ ebase = malloc(i + 1);
+ if(!ebase)
status = LDAP_NO_MEMORY;
else {
QadrtConvertA2E(ebase, base, i, i);
ebase[i] = '\0';
- }
}
+ }
if(filter && status == LDAP_SUCCESS) {
i = strlen(filter);
- if(!(efilter = malloc(i + 1)))
+ efilter = malloc(i + 1);
+ if(!efilter)
status = LDAP_NO_MEMORY;
else {
QadrtConvertA2E(efilter, filter, i, i);
efilter[i] = '\0';
- }
}
+ }
if(attrs && status == LDAP_SUCCESS) {
for(i = 0; attrs[i++];)
;
- if(!(eattrs = calloc(i, sizeof *eattrs)))
+ eattrs = calloc(i, sizeof *eattrs);
+ if(!eattrs)
status = LDAP_NO_MEMORY;
else {
for(j = 0; attrs[j]; j++) {
i = strlen(attrs[j]);
- if(!(eattrs[j] = malloc(i + 1))) {
+ eattrs[j] = malloc(i + 1);
+ if(!eattrs[j]) {
status = LDAP_NO_MEMORY;
break;
- }
+ }
QadrtConvertA2E(eattrs[j], attrs[j], i, i);
eattrs[j][i] = '\0';
@@ -1073,15 +1105,16 @@ Curl_ldap_get_values_len_a(void * ld, LDAPMessage * entry, const char * attr)
if(attr) {
int i = strlen(attr);
- if(!(cp = malloc(i + 1))) {
+ cp = malloc(i + 1);
+ if(!cp) {
ldap_set_lderrno(ld, LDAP_NO_MEMORY, NULL,
ldap_err2string(LDAP_NO_MEMORY));
return (struct berval * *) NULL;
- }
+ }
QadrtConvertA2E(cp, attr, i, i);
cp[i] = '\0';
- }
+ }
result = ldap_get_values_len(ld, entry, cp);
free(cp);
@@ -1116,7 +1149,8 @@ Curl_ldap_get_dn_a(void * ld, LDAPMessage * entry)
i = strlen(cp);
- if(!(cp2 = malloc(i + 1)))
+ cp2 = malloc(i + 1);
+ if(!cp2)
return cp2;
QadrtConvertE2A(cp2, cp, i, i);
@@ -1148,7 +1182,8 @@ Curl_ldap_first_attribute_a(void * ld,
i = strlen(cp);
- if(!(cp2 = malloc(i + 1)))
+ cp2 = malloc(i + 1);
+ if(!cp2)
return cp2;
QadrtConvertE2A(cp2, cp, i, i);
@@ -1180,7 +1215,8 @@ Curl_ldap_next_attribute_a(void * ld,
i = strlen(cp);
- if(!(cp2 = malloc(i + 1)))
+ cp2 = malloc(i + 1);
+ if(!cp2)
return cp2;
QadrtConvertE2A(cp2, cp, i, i);
diff --git a/projects/Windows/VC10/lib/libcurl.vcxproj b/projects/Windows/VC10/lib/libcurl.vcxproj
index c3800347..abb05bcd 100644
--- a/projects/Windows/VC10/lib/libcurl.vcxproj
+++ b/projects/Windows/VC10/lib/libcurl.vcxproj
@@ -2454,6 +2454,7 @@
<ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" />
<ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="..\..\..\..\lib\vtls\schannel.c" />
+ <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" />
<ClCompile Include="..\..\..\..\lib\vtls\vtls.c" />
</ItemGroup>
<ItemGroup>
diff --git a/projects/Windows/VC11/lib/libcurl.vcxproj b/projects/Windows/VC11/lib/libcurl.vcxproj
index 78446445..2f952615 100644
--- a/projects/Windows/VC11/lib/libcurl.vcxproj
+++ b/projects/Windows/VC11/lib/libcurl.vcxproj
@@ -2510,6 +2510,7 @@
<ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" />
<ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="..\..\..\..\lib\vtls\schannel.c" />
+ <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" />
<ClCompile Include="..\..\..\..\lib\vtls\vtls.c" />
</ItemGroup>
<ItemGroup>
diff --git a/projects/Windows/VC12/lib/libcurl.vcxproj b/projects/Windows/VC12/lib/libcurl.vcxproj
index 712d2cd3..2568c8b3 100644
--- a/projects/Windows/VC12/lib/libcurl.vcxproj
+++ b/projects/Windows/VC12/lib/libcurl.vcxproj
@@ -2510,6 +2510,7 @@
<ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" />
<ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="..\..\..\..\lib\vtls\schannel.c" />
+ <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" />
<ClCompile Include="..\..\..\..\lib\vtls\vtls.c" />
</ItemGroup>
<ItemGroup>
diff --git a/projects/Windows/VC14/lib/libcurl.vcxproj b/projects/Windows/VC14/lib/libcurl.vcxproj
index 300d115a..d22cd6b2 100644
--- a/projects/Windows/VC14/lib/libcurl.vcxproj
+++ b/projects/Windows/VC14/lib/libcurl.vcxproj
@@ -2510,6 +2510,7 @@
<ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" />
<ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="..\..\..\..\lib\vtls\schannel.c" />
+ <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" />
<ClCompile Include="..\..\..\..\lib\vtls\vtls.c" />
</ItemGroup>
<ItemGroup>
diff --git a/projects/Windows/VC15/lib/libcurl.vcxproj b/projects/Windows/VC15/lib/libcurl.vcxproj
index 1a9ad577..af11d1fc 100644
--- a/projects/Windows/VC15/lib/libcurl.vcxproj
+++ b/projects/Windows/VC15/lib/libcurl.vcxproj
@@ -2510,6 +2510,7 @@
<ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" />
<ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="..\..\..\..\lib\vtls\schannel.c" />
+ <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" />
<ClCompile Include="..\..\..\..\lib\vtls\vtls.c" />
</ItemGroup>
<ItemGroup>
diff --git a/projects/Windows/VC6/lib/libcurl.dsp b/projects/Windows/VC6/lib/libcurl.dsp
index 977c5d2b..3aa74de4 100644
--- a/projects/Windows/VC6/lib/libcurl.dsp
+++ b/projects/Windows/VC6/lib/libcurl.dsp
@@ -1254,6 +1254,10 @@ SOURCE=..\..\..\..\lib\vtls\schannel.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\lib\vtls\schannel_verify.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\lib\vtls\vtls.c
# End Source File
# End Group
diff --git a/projects/Windows/VC7.1/lib/libcurl.vcproj b/projects/Windows/VC7.1/lib/libcurl.vcproj
index d71d75fa..f5c437ac 100644
--- a/projects/Windows/VC7.1/lib/libcurl.vcproj
+++ b/projects/Windows/VC7.1/lib/libcurl.vcproj
@@ -2006,6 +2006,9 @@
RelativePath="..\..\..\..\lib\vtls\schannel.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\vtls\schannel_verify.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\vtls\vtls.c">
</File>
</Filter>
diff --git a/projects/Windows/VC7/lib/libcurl.vcproj b/projects/Windows/VC7/lib/libcurl.vcproj
index 69bd9383..4fe5377c 100644
--- a/projects/Windows/VC7/lib/libcurl.vcproj
+++ b/projects/Windows/VC7/lib/libcurl.vcproj
@@ -1860,6 +1860,9 @@
RelativePath="..\..\..\..\lib\vtls\schannel.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\vtls\schannel_verify.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\vtls\vtls.c">
</File>
</Filter>
diff --git a/projects/Windows/VC8/lib/libcurl.vcproj b/projects/Windows/VC8/lib/libcurl.vcproj
index dac78487..e89ed399 100644
--- a/projects/Windows/VC8/lib/libcurl.vcproj
+++ b/projects/Windows/VC8/lib/libcurl.vcproj
@@ -4608,6 +4608,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\vtls\vtls.c"
>
</File>
diff --git a/projects/Windows/VC9/lib/libcurl.vcproj b/projects/Windows/VC9/lib/libcurl.vcproj
index 03e16258..5bd595f0 100644
--- a/projects/Windows/VC9/lib/libcurl.vcproj
+++ b/projects/Windows/VC9/lib/libcurl.vcproj
@@ -4549,6 +4549,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\vtls\vtls.c"
>
</File>
diff --git a/projects/build-openssl.bat b/projects/build-openssl.bat
index 21709b76..d337b219 100644
--- a/projects/build-openssl.bat
+++ b/projects/build-openssl.bat
@@ -82,11 +82,11 @@ rem ***************************************************************************
set VC_VER=14.0
set VC_DESC=VC14
set "VC_PATH=Microsoft Visual Studio 14.0\VC"
- ) else if /i "%~1" == "vc15" (
- set VC_VER=15.0
- set VC_DESC=VC15
+ ) else if /i "%~1" == "vc14.1" (
+ set VC_VER=14.1
+ set VC_DESC=VC14.1
- rem Determine the VC15 path based on the installed edition in decending
+ rem Determine the VC14.1 path based on the installed edition in descending
rem order (Enterprise, then Professional and finally Community)
if exist "%PF%\Microsoft Visual Studio\2017\Enterprise\VC" (
set "VC_PATH=Microsoft Visual Studio\2017\Enterprise\VC"
@@ -109,6 +109,24 @@ rem ***************************************************************************
goto syntax
) else if /i "%~1" == "-help" (
goto syntax
+ ) else if /i "%~1" == "-VSpath" (
+ if "%~2" == "" (
+ echo.
+ echo Error. Please provide VS Path.
+ goto error
+ ) else (
+ set "ABS_VC_PATH=%~2\VC"
+ shift
+ )
+ ) else if /i "%~1" == "-perlpath" (
+ if "%~2" == "" (
+ echo.
+ echo Error. Please provide Perl root Path.
+ goto error
+ ) else (
+ set "PERL_PATH=%~2"
+ shift
+ )
) else (
if not defined START_DIR (
set START_DIR=%~1%
@@ -126,25 +144,37 @@ rem ***************************************************************************
rem Default the start directory if one isn't specified
if not defined START_DIR set START_DIR=..\..\openssl
- rem Check we have a program files directory
- if not defined PF goto nopf
-
+ if not defined ABS_VC_PATH (
+ rem Check we have a program files directory
+ if not defined PF goto nopf
+ set "ABS_VC_PATH=%PF%\%VC_PATH%"
+ )
+
rem Check we have Visual Studio installed
- if not exist "%PF%\%VC_PATH%" goto novc
-
- rem Check we have Perl in our path
- echo %PATH% | findstr /I /C:"\Perl" 1>nul
- if errorlevel 1 (
- rem It isn't so check we have it installed and set the path if it is
- if exist "%SystemDrive%\Perl" (
- set "PATH=%SystemDrive%\Perl\bin;%PATH%"
- ) else (
- if exist "%SystemDrive%\Perl64" (
- set "PATH=%SystemDrive%\Perl64\bin;%PATH%"
- ) else (
- goto noperl
- )
- )
+ if not exist "%ABS_VC_PATH%" goto novc
+
+
+ if not defined PERL_PATH (
+ rem Check we have Perl in our path
+ rem using !! below as %% was having \Microsoft was unexecpted error.
+ echo !PATH! | findstr /I /C:"\Perl" 1>nul
+ if errorlevel 1 (
+ rem It isn't so check we have it installed and set the path if it is
+ if exist "%SystemDrive%\Perl" (
+ set "PATH=%SystemDrive%\Perl\bin;%PATH%"
+ ) else (
+ if exist "%SystemDrive%\Perl64" (
+ set "PATH=%SystemDrive%\Perl64\bin;%PATH%"
+ ) else (
+
+
+
+ goto noperl
+ )
+ )
+ )
+ ) else (
+ set "PATH=%PERL_PATH%\Perl\bin;%PATH%"
)
rem Check the start directory exists
@@ -178,7 +208,7 @@ rem ***************************************************************************
if "%VC_VER%" == "11.0" set VCVARS_PLATFORM=amd64
if "%VC_VER%" == "12.0" set VCVARS_PLATFORM=amd64
if "%VC_VER%" == "14.0" set VCVARS_PLATFORM=amd64
- if "%VC_VER%" == "15.0" set VCVARS_PLATFORM=amd64
+ if "%VC_VER%" == "14.1" set VCVARS_PLATFORM=amd64
)
:start
@@ -186,20 +216,20 @@ rem ***************************************************************************
set SAVED_PATH=%CD%
if "%VC_VER%" == "6.0" (
- call "%PF%\%VC_PATH%\bin\vcvars32"
+ call "%ABS_VC_PATH%\bin\vcvars32"
) else if "%VC_VER%" == "7.0" (
- call "%PF%\%VC_PATH%\bin\vcvars32"
+ call "%ABS_VC_PATH%\bin\vcvars32"
) else if "%VC_VER%" == "7.1" (
- call "%PF%\%VC_PATH%\bin\vcvars32"
- ) else if "%VC_VER%" == "15.0" (
- call "%PF%\%VC_PATH%\Auxiliary\Build\vcvarsall" %VCVARS_PLATFORM%
+ call "%ABS_VC_PATH%\bin\vcvars32"
+ ) else if "%VC_VER%" == "14.1" (
+ call "%ABS_VC_PATH%\Auxiliary\Build\vcvarsall" %VCVARS_PLATFORM%
) else (
- call "%PF%\%VC_PATH%\vcvarsall" %VCVARS_PLATFORM%
+ call "%ABS_VC_PATH%\vcvarsall" %VCVARS_PLATFORM%
)
echo.
- cd %SAVED_PATH%
- cd %START_DIR%
+ cd /d %SAVED_PATH%
+ if defined START_DIR cd /d %START_DIR%
goto %BUILD_PLATFORM%
:x64
@@ -351,7 +381,7 @@ rem ***************************************************************************
:syntax
rem Display the help
echo.
- echo Usage: build-openssl ^<compiler^> [platform] [configuration] [directory]
+ echo Usage: build-openssl ^<compiler^> [platform] [configuration] [directory] [-VSpath] ["VSpath"] [-perlpath] ["perlpath"]
echo.
echo Compiler:
echo.
@@ -364,7 +394,7 @@ rem ***************************************************************************
echo vc11 - Use Visual Studio 2012
echo vc12 - Use Visual Studio 2013
echo vc14 - Use Visual Studio 2015
- echo vc15 - Use Visual Studio 2017
+ echo vc14.1 - Use Visual Studio 2017
echo.
echo Platform:
echo.
@@ -379,6 +409,14 @@ rem ***************************************************************************
echo Other:
echo.
echo directory - Specifies the OpenSSL source directory
+ echo.
+ echo -VSpath - Specify the custom VS path if Visual Studio is installed at other location
+ echo then "C:/<ProgramFiles>/Microsoft Visual Studio[version]
+ echo For e.g. -VSpath "C:\apps\MVS14"
+ echo.
+ echo -perlpath - Specify the custom perl root path if perl is not located at "C:\Perl" and it is a
+ echo portable copy of perl and not installed on the win system
+ echo For e.g. -perlpath "D:\strawberry-perl-5.24.3.1-64bit-portable"
goto error
:unknown
@@ -399,11 +437,15 @@ rem ***************************************************************************
:novc
echo.
echo Error: %VC_DESC% is not installed
+ echo Error: Please check whether Visual compiler is installed at the path "%ABS_VC_PATH%"
+ echo Error: Please provide proper VS Path by using -VSpath
goto error
:noperl
echo.
echo Error: Perl is not installed
+ echo Error: Please check whether Perl is installed or it is at location "C:\Perl"
+ echo Error: If Perl is portable please provide perl root path by using -perlpath
goto error
:nox64
@@ -429,6 +471,6 @@ rem ***************************************************************************
exit /B 1
:success
- cd %SAVED_PATH%
+ cd /d %SAVED_PATH%
endlocal
exit /B 0
diff --git a/projects/build-wolfssl.bat b/projects/build-wolfssl.bat
index e5cf1536..9a7d67b7 100644
--- a/projects/build-wolfssl.bat
+++ b/projects/build-wolfssl.bat
@@ -68,12 +68,12 @@ rem ***************************************************************************
set VC_DESC=VC14
set VC_TOOLSET=v140
set "VC_PATH=Microsoft Visual Studio 14.0\VC"
- ) else if /i "%~1" == "vc15" (
- set VC_VER=15.0
- set VC_DESC=VC15
+ ) else if /i "%~1" == "vc14.1" (
+ set VC_VER=14.1
+ set VC_DESC=VC14.1
set VC_TOOLSET=v141
- rem Determine the VC15 path based on the installed edition in decending
+ rem Determine the VC14.1 path based on the installed edition in descending
rem order (Enterprise, then Professional and finally Community)
if exist "%PF%\Microsoft Visual Studio\2017\Enterprise\VC" (
set "VC_PATH=Microsoft Visual Studio\2017\Enterprise\VC"
@@ -81,7 +81,7 @@ rem ***************************************************************************
set "VC_PATH=Microsoft Visual Studio\2017\Professional\VC"
) else (
set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
- )
+ )
) else if /i "%~1" == "x86" (
set BUILD_PLATFORM=x86
) else if /i "%~1" == "x64" (
@@ -132,22 +132,22 @@ rem ***************************************************************************
if "%VC_VER%" == "11.0" set VCVARS_PLATFORM=amd64
if "%VC_VER%" == "12.0" set VCVARS_PLATFORM=amd64
if "%VC_VER%" == "14.0" set VCVARS_PLATFORM=amd64
- if "%VC_VER%" == "15.0" set VCVARS_PLATFORM=amd64
+ if "%VC_VER%" == "14.1" set VCVARS_PLATFORM=amd64
)
:start
echo.
set SAVED_PATH=%CD%
- if "%VC_VER%" == "15.0" (
+ if "%VC_VER%" == "14.1" (
call "%PF%\%VC_PATH%\Auxiliary\Build\vcvarsall" %VCVARS_PLATFORM%
) else (
call "%PF%\%VC_PATH%\vcvarsall" %VCVARS_PLATFORM%
)
echo.
- cd %SAVED_PATH%
- cd %START_DIR%
+ cd /d %SAVED_PATH%
+ if defined START_DIR cd /d %START_DIR%
goto %BUILD_PLATFORM%
:x64
@@ -307,7 +307,7 @@ rem ***************************************************************************
echo vc11 - Use Visual Studio 2012
echo vc12 - Use Visual Studio 2013
echo vc14 - Use Visual Studio 2015
- echo vc15 - Use Visual Studio 2017
+ echo vc14.1 - Use Visual Studio 2017
echo.
echo Platform:
echo.
@@ -369,6 +369,6 @@ rem ***************************************************************************
echo %SUCCESSFUL_BUILDS%
echo.
)
- cd %SAVED_PATH%
+ cd /d %SAVED_PATH%
endlocal
exit /B 0
diff --git a/src/tool_cb_dbg.c b/src/tool_cb_dbg.c
index aa1ef857..16bfb420 100644
--- a/src/tool_cb_dbg.c
+++ b/src/tool_cb_dbg.c
@@ -146,7 +146,7 @@ int tool_debug_cb(CURL *handle, curl_infotype type,
if(!config->isatty || ((output != stderr) && (output != stdout))) {
if(!newl)
fprintf(output, "%s%s ", timebuf, s_infotype[type]);
- fprintf(output, "[%zd bytes data]\n", size);
+ fprintf(output, "[%zu bytes data]\n", size);
newl = FALSE;
traced_data = TRUE;
}
@@ -229,7 +229,7 @@ static void dump(const char *timebuf, const char *text,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stream, "%s%s, %zd bytes (0x%zx)\n", timebuf, text, size, size);
+ fprintf(stream, "%s%s, %zu bytes (0x%zx)\n", timebuf, text, size, size);
for(i = 0; i < size; i += width) {
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 743ce725..9abaa9d3 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -252,6 +252,7 @@ struct OperationConfig {
bool ssh_compression; /* enable/disable SSH compression */
long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds.
0 is valid. default: CURL_HET_DEFAULT. */
+ bool haproxy_protocol; /* whether to send HAProxy PROXY protocol */
struct GlobalConfig *global;
struct OperationConfig *prev;
struct OperationConfig *next; /* Always last in the struct */
diff --git a/src/tool_doswin.c b/src/tool_doswin.c
index 91299986..c3a8826f 100644
--- a/src/tool_doswin.c
+++ b/src/tool_doswin.c
@@ -638,12 +638,19 @@ char **__crt0_glob_function(char *arg)
*/
CURLcode FindWin32CACert(struct OperationConfig *config,
+ curl_sslbackend backend,
const char *bundle_file)
{
CURLcode result = CURLE_OK;
- /* search and set cert file only if libcurl supports SSL */
- if(curlinfo->features & CURL_VERSION_SSL) {
+ /* Search and set cert file only if libcurl supports SSL.
+ *
+ * If Schannel (WinSSL) is the selected SSL backend then these locations
+ * are ignored. We allow setting CA location for schannel only when
+ * explicitly specified by the user via CURLOPT_CAINFO / --cacert.
+ */
+ if((curlinfo->features & CURL_VERSION_SSL) &&
+ backend != CURLSSLBACKEND_SCHANNEL) {
DWORD res_len;
char buf[PATH_MAX];
diff --git a/src/tool_doswin.h b/src/tool_doswin.h
index f649ef02..289281f4 100644
--- a/src/tool_doswin.h
+++ b/src/tool_doswin.h
@@ -58,6 +58,7 @@ char **__crt0_glob_function(char *arg);
#ifdef WIN32
CURLcode FindWin32CACert(struct OperationConfig *config,
+ curl_sslbackend backend,
const char *bundle_file);
#endif /* WIN32 */
diff --git a/src/tool_formparse.c b/src/tool_formparse.c
index 719e3413..5313b344 100644
--- a/src/tool_formparse.c
+++ b/src/tool_formparse.c
@@ -451,11 +451,10 @@ static CURLcode file_or_stdin(curl_mimepart *part, const char *file)
if(strcmp(file, "-"))
return curl_mime_filedata(part, file);
- sip = (standard_input *) malloc(sizeof *sip);
+ sip = (standard_input *) calloc(1, sizeof *sip);
if(!sip)
return CURLE_OUT_OF_MEMORY;
- memset((char *) sip, 0, sizeof *sip);
set_binmode(stdin);
/* If stdin is a regular file, do not buffer data but read it when needed. */
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 7ce9c28c..19454c84 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -112,6 +112,7 @@ static const struct LongShort aliases[]= {
{"*x", "krb", ARG_STRING},
{"*x", "krb4", ARG_STRING},
/* 'krb4' is the previous name */
+ {"*X", "haproxy-protocol", ARG_BOOL},
{"*y", "max-filesize", ARG_STRING},
{"*z", "disable-eprt", ARG_BOOL},
{"*Z", "eprt", ARG_BOOL},
@@ -779,6 +780,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
else
return PARAM_LIBCURL_DOESNT_SUPPORT;
break;
+ case 'X': /* --haproxy-protocol */
+ config->haproxy_protocol = toggle;
+ break;
case 'y': /* --max-filesize */
{
curl_off_t value;
diff --git a/src/tool_help.c b/src/tool_help.c
index 9796b7e8..6f5ad08d 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -164,6 +164,8 @@ static const struct helptxt helptext[] = {
"How long to wait in milliseconds for IPv6 before trying IPv4"},
{"-I, --head",
"Show document info only"},
+ {" --haproxy-protocol",
+ "Send HAProxy PROXY protocol header"},
{"-H, --header <header/@file>",
"Pass custom header(s) to server"},
{"-h, --help",
@@ -226,7 +228,7 @@ static const struct helptxt helptext[] = {
"Maximum file size to download"},
{" --max-redirs <num>",
"Maximum number of redirects allowed"},
- {"-m, --max-time <time>",
+ {"-m, --max-time <seconds>",
"Maximum time allowed for the transfer"},
{" --metalink",
"Process given URLs as metalink XML file"},
diff --git a/src/tool_hugehelp.c b/src/tool_hugehelp.c
index bc468ec8..f5b1d912 100644
--- a/src/tool_hugehelp.c
+++ b/src/tool_hugehelp.c
@@ -18,7 +18,7 @@ void hugehelp(void)
" curl - transfer a URL\n"
"\n"
"SYNOPSIS\n"
-" curl [options] [URL...]\n"
+" curl [options / URLs]\n"
"\n"
"DESCRIPTION\n"
" curl is a tool to transfer data from or to a server, using one of the\n"
@@ -64,10 +64,12 @@ void hugehelp(void)
" http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html\n"
"\n"
" You can specify any amount of URLs on the command line. They will be\n"
-" fetched in a sequential manner in the specified order.\n"
-"\n"
+" fetched in a sequential manner in the specified order. You can specify\n"
, stdout);
fputs(
+" command line options and URLs mixed and in any order on the command\n"
+" line.\n"
+"\n"
" You can specify a step counter for the ranges to get every Nth number\n"
" or letter:\n"
"\n"
@@ -77,11 +79,11 @@ void hugehelp(void)
"\n"
" When using [] or {} sequences when invoked from a command line prompt,\n"
" you probably have to put the full URL within double quotes to avoid the\n"
+, stdout);
+ fputs(
" shell from interfering with it. This also goes for other characters\n"
" treated special, like for example '&', '?' and '*'.\n"
"\n"
-, stdout);
- fputs(
" Provide the IPv6 zone index in the URL with an escaped percentage sign\n"
" and the interface name. Like in\n"
"\n"
@@ -89,48 +91,50 @@ void hugehelp(void)
"\n"
" If you specify URL without protocol:// prefix, curl will attempt to\n"
" guess what protocol you might want. It will then default to HTTP but\n"
+, stdout);
+ fputs(
" try other protocols based on often-used host name prefixes. For exam-\n"
" ple, for host names starting with \"ftp.\" curl will assume you want to\n"
" speak FTP.\n"
"\n"
-, stdout);
- fputs(
" curl will do its best to use what you pass to it as a URL. It is not\n"
" trying to validate it as a syntactically correct URL by any means but\n"
" is instead very liberal with what it accepts.\n"
"\n"
" curl will attempt to re-use connections for multiple file transfers, so\n"
-" that getting many files from the same server will not do multiple con-\n"
-" nects / handshakes. This improves speed. Of course this is only done on\n"
, stdout);
fputs(
+" that getting many files from the same server will not do multiple con-\n"
+" nects / handshakes. This improves speed. Of course this is only done on\n"
" files specified on a single command line and cannot be used between\n"
" separate curl invokes.\n"
"\n"
"PROGRESS METER\n"
" curl normally displays a progress meter during operations, indicating\n"
" the amount of transferred data, transfer speeds and estimated time\n"
+, stdout);
+ fputs(
" left, etc. The progress meter displays number of bytes and the speeds\n"
" are in bytes per second. The suffixes (k, M, G, T, P) are 1024 based.\n"
" For example 1k is 1024 bytes. 1M is 1048576 bytes.\n"
"\n"
-, stdout);
- fputs(
" curl displays this data to the terminal by default, so if you invoke\n"
" curl to do an operation and it is about to write data to the terminal,\n"
" it disables the progress meter as otherwise it would mess up the output\n"
+, stdout);
+ fputs(
" mixing progress meter and response data.\n"
"\n"
" If you want a progress meter for HTTP POST or PUT requests, you need to\n"
" redirect the response output to a file, using shell redirect (>), -o,\n"
" --output or similar.\n"
"\n"
-, stdout);
- fputs(
" It is not the same case for FTP upload as that operation does not spit\n"
" out any response data to the terminal.\n"
"\n"
" If you prefer a progress \"bar\" instead of the regular meter, -#,\n"
+, stdout);
+ fputs(
" --progress-bar is your friend. You can also disable the progress meter\n"
" completely with the -s, --silent option.\n"
"\n"
@@ -138,31 +142,31 @@ void hugehelp(void)
" Options start with one or two dashes. Many of the options require an\n"
" additional value next to them.\n"
"\n"
-, stdout);
- fputs(
" The short \"single-dash\" form of the options, -d for example, may be\n"
" used with or without a space between it and its value, although a space\n"
" is a recommended separator. The long \"double-dash\" form, -d, --data for\n"
+, stdout);
+ fputs(
" example, requires a space between it and its value.\n"
"\n"
" Short version options that don't need any additional values can be used\n"
" immediately next to each other, like for example you can specify all\n"
-, stdout);
- fputs(
" the options -O, -L and -v at once as -OLv.\n"
"\n"
" In general, all boolean options are enabled with --option and yet again\n"
" disabled with --no-option. That is, you use the exact same option name\n"
+, stdout);
+ fputs(
" but prefix it with \"no-\". However, in this list we mostly only list and\n"
" show the --option version of them. (This concept with --no options was\n"
" added in 7.19.0. Previously most options were toggled on/off on\n"
" repeated use of the same command line option.)\n"
-, stdout);
- fputs(
"\n"
" --abstract-unix-socket <path>\n"
" (HTTP) Connect through an abstract Unix domain socket, instead\n"
" of using the network. Note: netstat shows the path of an\n"
+, stdout);
+ fputs(
" abstract socket prefixed with '@', however the <path> argument\n"
" should not have this leading character.\n"
"\n"
@@ -170,39 +174,37 @@ void hugehelp(void)
"\n"
" --anyauth\n"
" (HTTP) Tells curl to figure out authentication method by itself,\n"
-, stdout);
- fputs(
" and use the most secure one the remote site claims to support.\n"
" This is done by first doing a request and checking the response-\n"
" headers, thus possibly inducing an extra network round-trip.\n"
+, stdout);
+ fputs(
" This is used instead of setting a specific authentication\n"
" method, which you can do with --basic, --digest, --ntlm, and\n"
" --negotiate.\n"
"\n"
-, stdout);
- fputs(
" Using --anyauth is not recommended if you do uploads from stdin,\n"
" since it may require data to be sent twice and then the client\n"
" must be able to rewind. If the need should arise when uploading\n"
" from stdin, the upload operation will fail.\n"
"\n"
+, stdout);
+ fputs(
" Used together with -u, --user.\n"
"\n"
" See also --proxy-anyauth and --basic and --digest.\n"
"\n"
" -a, --append\n"
-, stdout);
- fputs(
" (FTP SFTP) When used in an upload, this makes curl append to the\n"
" target file instead of overwriting it. If the remote file\n"
" doesn't exist, it will be created. Note that this flag is\n"
" ignored by some SFTP servers (including OpenSSH).\n"
"\n"
" --basic\n"
-" (HTTP) Tells curl to use HTTP Basic authentication with the\n"
-" remote host. This is the default and this option is usually\n"
, stdout);
fputs(
+" (HTTP) Tells curl to use HTTP Basic authentication with the\n"
+" remote host. This is the default and this option is usually\n"
" pointless, unless you use it to override a previously set option\n"
" that sets a different authentication method (such as --ntlm,\n"
" --digest, or --negotiate).\n"
@@ -212,51 +214,59 @@ void hugehelp(void)
" See also --proxy-basic.\n"
"\n"
" --cacert <file>\n"
-" (TLS) Tells curl to use the specified certificate file to verify\n"
-" the peer. The file may contain multiple CA certificates. The\n"
, stdout);
fputs(
+" (TLS) Tells curl to use the specified certificate file to verify\n"
+" the peer. The file may contain multiple CA certificates. The\n"
" certificate(s) must be in PEM format. Normally curl is built to\n"
" use a default file for this, so this option is typically used to\n"
" alter that default file.\n"
"\n"
" curl recognizes the environment variable named 'CURL_CA_BUNDLE'\n"
+, stdout);
+ fputs(
" if it is set, and uses the given path as a path to a CA cert\n"
" bundle. This option overrides that variable.\n"
"\n"
" The windows version of curl will automatically look for a CA\n"
-, stdout);
- fputs(
" certs file named 'curl-ca-bundle.crt', either in the same direc-\n"
" tory as curl.exe, or in the Current Working Directory, or in any\n"
" folder along your PATH.\n"
"\n"
" If curl is built against the NSS SSL library, the NSS PEM\n"
+, stdout);
+ fputs(
" PKCS#11 module (libnsspem.so) needs to be available for this\n"
" option to work properly.\n"
"\n"
" (iOS and macOS only) If curl is built against Secure Transport,\n"
-, stdout);
- fputs(
" then this option is supported for backward compatibility with\n"
" other SSL engines, but it should not be set. If the option is\n"
" not set, then curl will use the certificates in the system and\n"
+, stdout);
+ fputs(
" user Keychain to verify the peer, which is the preferred method\n"
" of verifying the peer's certificate chain.\n"
"\n"
-" If this option is used several times, the last one will be used.\n"
+" (Schannel/WinSSL only) This option is supported for WinSSL in\n"
+" Windows 7 or later with libcurl 7.60 or later. This option is\n"
+" supported for backward compatibility with other SSL engines;\n"
+" instead it is recommended to use Windows' store of root certifi-\n"
+" cates (the default for WinSSL).\n"
"\n"
-" --capath <dir>\n"
, stdout);
fputs(
+" If this option is used several times, the last one will be used.\n"
+"\n"
+" --capath <dir>\n"
" (TLS) Tells curl to use the specified certificate directory to\n"
" verify the peer. Multiple paths can be provided by separating\n"
" them with \":\" (e.g. \"path1:path2:path3\"). The certificates must\n"
" be in PEM format, and if curl is built against OpenSSL, the\n"
" directory must have been processed using the c_rehash utility\n"
-" supplied with OpenSSL. Using --capath can allow OpenSSL-powered\n"
, stdout);
fputs(
+" supplied with OpenSSL. Using --capath can allow OpenSSL-powered\n"
" curl to make SSL-connections much more efficiently than using\n"
" --cacert if the --cacert file contains many CA certificates.\n"
"\n"
@@ -265,9 +275,9 @@ void hugehelp(void)
"\n"
" --cert-status\n"
" (TLS) Tells curl to verify the status of the server certificate\n"
-" by using the Certificate Status Request (aka. OCSP stapling) TLS\n"
, stdout);
fputs(
+" by using the Certificate Status Request (aka. OCSP stapling) TLS\n"
" extension.\n"
"\n"
" If this option is enabled and the server sends an invalid (e.g.\n"
@@ -278,11 +288,11 @@ void hugehelp(void)
" This is currently only implemented in the OpenSSL, GnuTLS and\n"
" NSS backends.\n"
"\n"
+, stdout);
+ fputs(
" Added in 7.41.0.\n"
"\n"
" --cert-type <type>\n"
-, stdout);
- fputs(
" (TLS) Tells curl what certificate type the provided certificate\n"
" is in. PEM, DER and ENG are recognized types. If not specified,\n"
" PEM is assumed.\n"
@@ -292,60 +302,75 @@ void hugehelp(void)
" See also -E, --cert and --key and --key-type.\n"
"\n"
" -E, --cert <certificate[:password]>\n"
-" (TLS) Tells curl to use the specified client certificate file\n"
, stdout);
fputs(
+" (TLS) Tells curl to use the specified client certificate file\n"
" when getting a file with HTTPS, FTPS or another SSL-based proto-\n"
" col. The certificate must be in PKCS#12 format if using Secure\n"
" Transport, or PEM format if using any other engine. If the\n"
" optional password isn't specified, it will be queried for on the\n"
" terminal. Note that this option assumes a \"certificate\" file\n"
-" that is the private key and the client certificate concatenated!\n"
, stdout);
fputs(
+" that is the private key and the client certificate concatenated!\n"
" See -E, --cert and --key to specify them independently.\n"
"\n"
" If curl is built against the NSS SSL library then this option\n"
" can tell curl the nickname of the certificate to use within the\n"
" NSS database defined by the environment variable SSL_DIR (or by\n"
" default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (lib-\n"
-" nsspem.so) is available then PEM files may be loaded. If you\n"
, stdout);
fputs(
+" nsspem.so) is available then PEM files may be loaded. If you\n"
" want to use a file from the current directory, please precede it\n"
" with \"./\" prefix, in order to avoid confusion with a nickname.\n"
" If the nickname contains \":\", it needs to be preceded by \"\\\" so\n"
" that it is not recognized as password delimiter. If the nick-\n"
" name contains \"\\\", it needs to be escaped as \"\\\\\" so that it is\n"
-" not recognized as an escape character.\n"
-"\n"
, stdout);
fputs(
+" not recognized as an escape character.\n"
+"\n"
" (iOS and macOS only) If curl is built against Secure Transport,\n"
" then the certificate string can either be the name of a certifi-\n"
" cate/private key in the system or user keychain, or the path to\n"
" a PKCS#12-encoded certificate and private key. If you want to\n"
" use a file from the current directory, please precede it with\n"
+, stdout);
+ fputs(
" \"./\" prefix, in order to avoid confusion with a nickname.\n"
"\n"
+" (Schannel/WinSSL only) Client certificates must be specified by\n"
+" a path expression to a certificate store. (Loading PFX is not\n"
+" supported; you can import it to a store first). You can use\n"
+" \"<store location>\\<store name>\\<thumbprint>\" to refer to a cer-\n"
+" tificate in the system certificates store, for example, \"Curren-\n"
, stdout);
fputs(
+" tUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a\". Thumbprint\n"
+" is usually a SHA-1 hex string which you can see in certificate\n"
+" details. Following store locations are supported: CurrentUser,\n"
+" LocalMachine, CurrentService, Services, CurrentUserGroupPolicy,\n"
+" LocalMachineGroupPolicy, LocalMachineEnterprise.\n"
+"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
+, stdout);
+ fputs(
" See also --cert-type and --key and --key-type.\n"
"\n"
" --ciphers <list of ciphers>\n"
" (TLS) Specifies which ciphers to use in the connection. The list\n"
-" of ciphers must specify valid ciphers. Read up on SSL cipher\n"
+" of ciphers must specify valid ciphers. Read up on SSL cipher\n"
" list details on this URL:\n"
"\n"
" https://curl.haxx.se/docs/ssl-ciphers.html\n"
"\n"
-, stdout);
- fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" --compressed-ssh\n"
+, stdout);
+ fputs(
" (SCP SFTP) Enables built-in SSH compression. This is a request,\n"
" not an order; the server may or may not do it.\n"
"\n"
@@ -353,76 +378,76 @@ void hugehelp(void)
"\n"
" --compressed\n"
" (HTTP) Request a compressed response using one of the algorithms\n"
-" curl supports, and save the uncompressed document. If this\n"
-, stdout);
- fputs(
-" option is used and the server sends an unsupported encoding,\n"
+" curl supports, and save the uncompressed document. If this\n"
+" option is used and the server sends an unsupported encoding,\n"
" curl will report an error.\n"
"\n"
" -K, --config <file>\n"
"\n"
-" Specify a text file to read curl arguments from. The command\n"
-" line arguments found in the text file will be used as if they\n"
+, stdout);
+ fputs(
+" Specify a text file to read curl arguments from. The command\n"
+" line arguments found in the text file will be used as if they\n"
" were provided on the command line.\n"
"\n"
-" Options and their parameters must be specified on the same line\n"
+" Options and their parameters must be specified on the same line\n"
+" in the file, separated by whitespace, colon, or the equals sign.\n"
+" Long option names can optionally be given in the config file\n"
, stdout);
fputs(
-" in the file, separated by whitespace, colon, or the equals sign.\n"
-" Long option names can optionally be given in the config file\n"
" without the initial double dashes and if so, the colon or equals\n"
" characters can be used as separators. If the option is specified\n"
-" with one or two dashes, there can be no colon or equals charac-\n"
+" with one or two dashes, there can be no colon or equals charac-\n"
" ter between the option and its parameter.\n"
"\n"
+" If the parameter is to contain whitespace, the parameter must be\n"
+" enclosed within quotes. Within double quotes, the following\n"
, stdout);
fputs(
-" If the parameter is to contain whitespace, the parameter must be\n"
-" enclosed within quotes. Within double quotes, the following\n"
-" escape sequences are available: \\\\, \\\", \\t, \\n, \\r and \\v. A\n"
-" backslash preceding any other letter is ignored. If the first\n"
+" escape sequences are available: \\\\, \\\", \\t, \\n, \\r and \\v. A\n"
+" backslash preceding any other letter is ignored. If the first\n"
" column of a config line is a '#' character, the rest of the line\n"
" will be treated as a comment. Only write one option per physical\n"
-, stdout);
- fputs(
" line in the config file.\n"
"\n"
-" Specify the filename to -K, --config as '-' to make curl read\n"
+" Specify the filename to -K, --config as '-' to make curl read\n"
" the file from stdin.\n"
"\n"
-" Note that to be able to specify a URL in the config file, you\n"
-" need to specify it using the --url option, and not by simply\n"
-" writing the URL on its own line. So, it could look similar to\n"
+, stdout);
+ fputs(
+" Note that to be able to specify a URL in the config file, you\n"
+" need to specify it using the --url option, and not by simply\n"
+" writing the URL on its own line. So, it could look similar to\n"
" this:\n"
"\n"
" url = \"https://curl.haxx.se/docs/\"\n"
"\n"
+" When curl is invoked, it (unless -q, --disable is used) checks\n"
+" for a default config file and uses it if found. The default con-\n"
, stdout);
fputs(
-" When curl is invoked, it (unless -q, --disable is used) checks\n"
-" for a default config file and uses it if found. The default con-\n"
" fig file is checked for in the following places in this order:\n"
"\n"
-" 1) curl tries to find the \"home dir\": It first checks for the\n"
+" 1) curl tries to find the \"home dir\": It first checks for the\n"
" CURL_HOME and then the HOME environment variables. Failing that,\n"
-" it uses getpwuid() on Unix-like systems (which returns the home\n"
+" it uses getpwuid() on Unix-like systems (which returns the home\n"
+" dir given the current user in your system). On Windows, it then\n"
+" checks for the APPDATA variable, or as a last resort the '%USER-\n"
, stdout);
fputs(
-" dir given the current user in your system). On Windows, it then\n"
-" checks for the APPDATA variable, or as a last resort the '%USER-\n"
" PROFILE%\\Application Data'.\n"
"\n"
-" 2) On windows, if there is no _curlrc file in the home dir, it\n"
+" 2) On windows, if there is no _curlrc file in the home dir, it\n"
" checks for one in the same dir the curl executable is placed. On\n"
-" Unix-like systems, it will simply try to load .curlrc from the\n"
+" Unix-like systems, it will simply try to load .curlrc from the\n"
" determined home dir.\n"
"\n"
-, stdout);
- fputs(
" # --- Example file ---\n"
" # this is a comment\n"
" url = \"example.com\"\n"
" output = \"curlhere.html\"\n"
+, stdout);
+ fputs(
" user-agent = \"superagent/1.0\"\n"
"\n"
" # and fetch another URL too\n"
@@ -431,146 +456,147 @@ void hugehelp(void)
" referer = \"http://nowhereatall.example.com/\"\n"
" # --- End of example file ---\n"
"\n"
-" This option can be used multiple times to load multiple config\n"
-, stdout);
- fputs(
+" This option can be used multiple times to load multiple config\n"
" files.\n"
"\n"
" --connect-timeout <seconds>\n"
-" Maximum time in seconds that you allow curl's connection to\n"
-" take. This only limits the connection phase, so if curl con-\n"
-" nects within the given period it will continue - if not it will\n"
+" Maximum time in seconds that you allow curl's connection to\n"
+, stdout);
+ fputs(
+" take. This only limits the connection phase, so if curl con-\n"
+" nects within the given period it will continue - if not it will\n"
" exit. Since version 7.32.0, this option accepts decimal values.\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" See also -m, --max-time.\n"
"\n"
-, stdout);
- fputs(
" --connect-to <HOST1:PORT1:HOST2:PORT2>\n"
"\n"
" For a request to the given HOST1:PORT1 pair, connect to\n"
+, stdout);
+ fputs(
" HOST2:PORT2 instead. This option is suitable to direct requests\n"
" at a specific server, e.g. at a specific cluster node in a clus-\n"
-" ter of servers. This option is only used to establish the net-\n"
-" work connection. It does NOT affect the hostname/port that is\n"
+" ter of servers. This option is only used to establish the net-\n"
+" work connection. It does NOT affect the hostname/port that is\n"
+" used for TLS/SSL (e.g. SNI, certificate verification) or for the\n"
+" application protocols. \"HOST1\" and \"PORT1\" may be the empty\n"
, stdout);
fputs(
-" used for TLS/SSL (e.g. SNI, certificate verification) or for the\n"
-" application protocols. \"HOST1\" and \"PORT1\" may be the empty\n"
" string, meaning \"any host/port\". \"HOST2\" and \"PORT2\" may also be\n"
-" the empty string, meaning \"use the request's original\n"
+" the empty string, meaning \"use the request's original\n"
" host/port\".\n"
"\n"
" A \"host\" specified to this option is compared as a string, so it\n"
-, stdout);
- fputs(
-" needs to match the name used in request URL. It can be either\n"
-" numerical such as \"127.0.0.1\" or the full host name such as\n"
+" needs to match the name used in request URL. It can be either\n"
+" numerical such as \"127.0.0.1\" or the full host name such as\n"
" \"example.org\".\n"
"\n"
+, stdout);
+ fputs(
" This option can be used many times to add many connect rules.\n"
"\n"
" See also --resolve and -H, --header. Added in 7.49.0.\n"
"\n"
" -C, --continue-at <offset>\n"
-" Continue/Resume a previous file transfer at the given offset.\n"
+" Continue/Resume a previous file transfer at the given offset.\n"
+" The given offset is the exact number of bytes that will be\n"
+" skipped, counting from the beginning of the source file before\n"
+" it is transferred to the destination. If used with uploads, the\n"
, stdout);
fputs(
-" The given offset is the exact number of bytes that will be\n"
-" skipped, counting from the beginning of the source file before\n"
-" it is transferred to the destination. If used with uploads, the\n"
" FTP server command SIZE will not be used by curl.\n"
"\n"
-" Use \"-C -\" to tell curl to automatically find out where/how to\n"
-" resume the transfer. It then uses the given output/input files\n"
+" Use \"-C -\" to tell curl to automatically find out where/how to\n"
+" resume the transfer. It then uses the given output/input files\n"
" to figure that out.\n"
"\n"
-, stdout);
- fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" See also -r, --range.\n"
"\n"
" -c, --cookie-jar <filename>\n"
-" (HTTP) Specify to which file you want curl to write all cookies\n"
-" after a completed operation. Curl writes all cookies from its\n"
-" in-memory cookie storage to the given file at the end of opera-\n"
-" tions. If no cookies are known, no data will be written. The\n"
+" (HTTP) Specify to which file you want curl to write all cookies\n"
, stdout);
fputs(
-" file will be written using the Netscape cookie file format. If\n"
+" after a completed operation. Curl writes all cookies from its\n"
+" in-memory cookie storage to the given file at the end of opera-\n"
+" tions. If no cookies are known, no data will be written. The\n"
+" file will be written using the Netscape cookie file format. If\n"
" you set the file name to a single dash, \"-\", the cookies will be\n"
" written to stdout.\n"
"\n"
-" This command line option will activate the cookie engine that\n"
+, stdout);
+ fputs(
+" This command line option will activate the cookie engine that\n"
" makes curl record and use cookies. Another way to activate it is\n"
" to use the -b, --cookie option.\n"
"\n"
" If the cookie jar can't be created or written to, the whole curl\n"
+" operation won't fail or even report an error clearly. Using -v,\n"
+" --verbose will get a warning displayed, but that is the only\n"
, stdout);
fputs(
-" operation won't fail or even report an error clearly. Using -v,\n"
-" --verbose will get a warning displayed, but that is the only\n"
" visible feedback you get about this possibly lethal situation.\n"
"\n"
-" If this option is used several times, the last specified file\n"
+" If this option is used several times, the last specified file\n"
" name will be used.\n"
"\n"
" -b, --cookie <data>\n"
" (HTTP) Pass the data to the HTTP server in the Cookie header. It\n"
-, stdout);
- fputs(
-" is supposedly the data previously received from the server in a\n"
-" \"Set-Cookie:\" line. The data should be in the format\n"
+" is supposedly the data previously received from the server in a\n"
+" \"Set-Cookie:\" line. The data should be in the format\n"
" \"NAME1=VALUE1; NAME2=VALUE2\".\n"
"\n"
-" If no '=' symbol is used in the argument, it is instead treated\n"
+, stdout);
+ fputs(
+" If no '=' symbol is used in the argument, it is instead treated\n"
" as a filename to read previously stored cookie from. This option\n"
-" also activates the cookie engine which will make curl record\n"
+" also activates the cookie engine which will make curl record\n"
+" incoming cookies, which may be handy if you're using this in\n"
+" combination with the -L, --location option or do multiple URL\n"
+" transfers on the same invoke. If the file name is exactly a\n"
, stdout);
fputs(
-" incoming cookies, which may be handy if you're using this in\n"
-" combination with the -L, --location option or do multiple URL\n"
-" transfers on the same invoke.\n"
+" minus (\"-\"), curl will instead the contents from stdin.\n"
"\n"
" The file format of the file to read cookies from should be plain\n"
" HTTP headers (Set-Cookie style) or the Netscape/Mozilla cookie\n"
" file format.\n"
"\n"
" The file specified with -b, --cookie is only used as input. No\n"
-, stdout);
- fputs(
" cookies will be written to the file. To store cookies, use the\n"
" -c, --cookie-jar option.\n"
"\n"
+, stdout);
+ fputs(
" Exercise caution if you are using this option and multiple\n"
" transfers may occur. If you use the NAME1=VALUE1; format, or in\n"
" a file use the Set-Cookie format and don't specify a domain,\n"
" then the cookie is sent for any domain (even after redirects are\n"
-, stdout);
- fputs(
" followed) and cannot be modified by a server-set cookie. If the\n"
" cookie engine is enabled and a server sets a cookie of the same\n"
+, stdout);
+ fputs(
" name then both will be sent on a future transfer to that server,\n"
" likely not what you intended. To address these issues set a\n"
" domain in Set-Cookie (doing that will include sub domains) or\n"
" use the Netscape format.\n"
"\n"
-, stdout);
- fputs(
" If this option is used several times, the last one will be used.\n"
" Users very often want to both read cookies from a file and write\n"
+, stdout);
+ fputs(
" updated cookies back to a file, so using both -b, --cookie and\n"
" -c, --cookie-jar in the same command line is common.\n"
"\n"
" --create-dirs\n"
" When used in conjunction with the -o, --output option, curl will\n"
" create the necessary local directory hierarchy as needed. This\n"
-, stdout);
- fputs(
" option creates the dirs mentioned with the -o, --output option,\n"
" nothing else. If the --output file name uses no dir or if the\n"
+, stdout);
+ fputs(
" dirs it mentions already exist, no dir will be created.\n"
"\n"
" To create remote directories when using FTP or SFTP, try --ftp-\n"
@@ -581,10 +607,10 @@ void hugehelp(void)
"\n"
" (SMTP added in 7.40.0)\n"
"\n"
-, stdout);
- fputs(
" --crlfile <file>\n"
" (TLS) Provide a file using PEM format with a Certificate Revoca-\n"
+, stdout);
+ fputs(
" tion List that may specify peer certificates that are to be con-\n"
" sidered revoked.\n"
"\n"
@@ -596,22 +622,22 @@ void hugehelp(void)
" (HTTP) This is just an alias for -d, --data.\n"
"\n"
" --data-binary <data>\n"
-, stdout);
- fputs(
" (HTTP) This posts data exactly as specified with no extra pro-\n"
" cessing whatsoever.\n"
"\n"
+, stdout);
+ fputs(
" If you start the data with the letter @, the rest should be a\n"
" filename. Data is posted in a similar manner as -d, --data\n"
" does, except that newlines and carriage returns are preserved\n"
" and conversions are never done.\n"
"\n"
" If this option is used several times, the ones following the\n"
-, stdout);
- fputs(
" first will append data as described in -d, --data.\n"
"\n"
" --data-raw <data>\n"
+, stdout);
+ fputs(
" (HTTP) This posts data similarly to -d, --data but without the\n"
" special interpretation of the @ character.\n"
"\n"
@@ -621,9 +647,9 @@ void hugehelp(void)
" (HTTP) This posts data, similar to the other -d, --data options\n"
" with the exception that this performs URL-encoding.\n"
"\n"
+" To be CGI-compliant, the <data> part should begin with a name\n"
, stdout);
fputs(
-" To be CGI-compliant, the <data> part should begin with a name\n"
" followed by a separator and a content specification. The <data>\n"
" part can be passed to curl using one of the following syntaxes:\n"
"\n"
@@ -631,11 +657,11 @@ void hugehelp(void)
" This will make curl URL-encode the content and pass that\n"
" on. Just be careful so that the content doesn't contain\n"
" any = or @ symbols, as that will then make the syntax\n"
-, stdout);
- fputs(
" match one of the other cases below!\n"
"\n"
" =content\n"
+, stdout);
+ fputs(
" This will make curl URL-encode the content and pass that\n"
" on. The preceding = symbol is not included in the data.\n"
"\n"
@@ -645,9 +671,9 @@ void hugehelp(void)
" encoded already.\n"
"\n"
" @filename\n"
+" This will make curl load data from the given file\n"
, stdout);
fputs(
-" This will make curl load data from the given file\n"
" (including any newlines), URL-encode that data and pass\n"
" it on in the POST.\n"
"\n"
@@ -655,9 +681,9 @@ void hugehelp(void)
" This will make curl load data from the given file\n"
" (including any newlines), URL-encode that data and pass\n"
" it on in the POST. The name part gets an equal sign\n"
+" appended, resulting in name=urlencoded-file-content. Note\n"
, stdout);
fputs(
-" appended, resulting in name=urlencoded-file-content. Note\n"
" that the name is expected to be URL-encoded already.\n"
" See also -d, --data and --data-raw. Added in 7.18.0.\n"
"\n"
@@ -665,9 +691,9 @@ void hugehelp(void)
" (HTTP) Sends the specified data in a POST request to the HTTP\n"
" server, in the same way that a browser does when a user has\n"
" filled in an HTML form and presses the submit button. This will\n"
+" cause curl to pass the data to the server using the content-type\n"
, stdout);
fputs(
-" cause curl to pass the data to the server using the content-type\n"
" application/x-www-form-urlencoded. Compare to -F, --form.\n"
"\n"
" --data-raw is almost the same but does not have a special inter-\n"
@@ -675,18 +701,18 @@ void hugehelp(void)
" should instead use the --data-binary option. To URL-encode the\n"
" value of a form field you may use --data-urlencode.\n"
"\n"
+" If any of these options is used more than once on the same com-\n"
, stdout);
fputs(
-" If any of these options is used more than once on the same com-\n"
" mand line, the data pieces specified will be merged together\n"
" with a separating &-symbol. Thus, using '-d name=daniel -d\n"
" skill=lousy' would generate a post chunk that looks like\n"
" 'name=daniel&skill=lousy'.\n"
"\n"
" If you start the data with the letter @, the rest should be a\n"
+" file name to read the data from, or - if you want curl to read\n"
, stdout);
fputs(
-" file name to read the data from, or - if you want curl to read\n"
" the data from stdin. Multiple files can also be specified. Post-\n"
" ing data from a file named from a file like that, carriage\n"
" returns and newlines will be stripped out. If you don't want the\n"
@@ -694,10 +720,10 @@ void hugehelp(void)
" instead.\n"
"\n"
" See also --data-binary and --data-urlencode and --data-raw. This\n"
-, stdout);
- fputs(
" option overrides -F, --form and -I, --head and --upload.\n"
"\n"
+, stdout);
+ fputs(
" --delegation <LEVEL>\n"
" (GSS/kerberos) Set LEVEL to tell the server what it is allowed\n"
" to delegate when it comes to user credentials.\n"
@@ -708,11 +734,11 @@ void hugehelp(void)
" in the Kerberos service ticket, which is a matter of\n"
" realm policy.\n"
"\n"
-, stdout);
- fputs(
" always Unconditionally allow the server to delegate.\n"
"\n"
" --digest\n"
+, stdout);
+ fputs(
" (HTTP) Enables HTTP Digest authentication. This is an authenti-\n"
" cation scheme that prevents the password from being sent over\n"
" the wire in clear text. Use this in combination with the normal\n"
@@ -721,9 +747,9 @@ void hugehelp(void)
" If this option is used several times, only the first one is\n"
" used.\n"
"\n"
+" See also -u, --user and --proxy-digest and --anyauth. This\n"
, stdout);
fputs(
-" See also -u, --user and --proxy-digest and --anyauth. This\n"
" option overrides --basic and --ntlm and --negotiate.\n"
"\n"
" --disable-eprt\n"
@@ -731,9 +757,9 @@ void hugehelp(void)
" when doing active FTP transfers. Curl will normally always first\n"
" attempt to use EPRT, then LPRT before using PORT, but with this\n"
" option, it will use PORT right away. EPRT and LPRT are exten-\n"
+" sions to the original FTP protocol, and may not work on all\n"
, stdout);
fputs(
-" sions to the original FTP protocol, and may not work on all\n"
" servers, but they enable more functionality in a better way than\n"
" the traditional PORT command.\n"
"\n"
@@ -743,9 +769,9 @@ void hugehelp(void)
" If the server is accessed using IPv6, this option will have no\n"
" effect as EPRT is necessary then.\n"
"\n"
+" Disabling EPRT only changes the active behavior. If you want to\n"
, stdout);
fputs(
-" Disabling EPRT only changes the active behavior. If you want to\n"
" switch to passive mode you need to not use -P, --ftp-port or\n"
" force it with --ftp-pasv.\n"
"\n"
@@ -755,9 +781,9 @@ void hugehelp(void)
" first attempt to use EPSV before PASV, but with this option, it\n"
" will not try using EPSV.\n"
"\n"
+" --epsv can be used to explicitly enable EPSV again and --no-epsv\n"
, stdout);
fputs(
-" --epsv can be used to explicitly enable EPSV again and --no-epsv\n"
" is an alias for --disable-epsv.\n"
"\n"
" If the server is an IPv6 host, this option will have no effect\n"
@@ -768,9 +794,9 @@ void hugehelp(void)
"\n"
" -q, --disable\n"
" If used as the first parameter on the command line, the curlrc\n"
+" config file will not be read and used. See the -K, --config for\n"
, stdout);
fputs(
-" config file will not be read and used. See the -K, --config for\n"
" details on the default config file search path.\n"
"\n"
" --dns-interface <interface>\n"
@@ -779,9 +805,9 @@ void hugehelp(void)
" not affect DNS). The supplied string must be an interface name\n"
" (not an address).\n"
"\n"
+" See also --dns-ipv4-addr and --dns-ipv6-addr. --dns-interface\n"
, stdout);
fputs(
-" See also --dns-ipv4-addr and --dns-ipv6-addr. --dns-interface\n"
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
@@ -790,9 +816,9 @@ void hugehelp(void)
" requests, so that the DNS requests originate from this address.\n"
" The argument should be a single IPv4 address.\n"
"\n"
+" See also --dns-interface and --dns-ipv6-addr. --dns-ipv4-addr\n"
, stdout);
fputs(
-" See also --dns-interface and --dns-ipv6-addr. --dns-ipv4-addr\n"
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
@@ -801,9 +827,9 @@ void hugehelp(void)
" requests, so that the DNS requests originate from this address.\n"
" The argument should be a single IPv6 address.\n"
"\n"
+" See also --dns-interface and --dns-ipv4-addr. --dns-ipv6-addr\n"
, stdout);
fputs(
-" See also --dns-interface and --dns-ipv4-addr. --dns-ipv6-addr\n"
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
@@ -811,10 +837,10 @@ void hugehelp(void)
" Set the list of DNS servers to be used instead of the system\n"
" default. The list of IP addresses should be separated with com-\n"
" mas. Port numbers may also optionally be given as :<port-number>\n"
-, stdout);
- fputs(
" after each IP address.\n"
"\n"
+, stdout);
+ fputs(
" --dns-servers requires that the underlying libcurl was built to\n"
" support c-ares. Added in 7.33.0.\n"
"\n"
@@ -824,9 +850,9 @@ void hugehelp(void)
"\n"
" This option is handy to use when you want to store the headers\n"
" that an HTTP site sends to you. Cookies from the headers could\n"
+" then be read in a second curl invocation by using the -b,\n"
, stdout);
fputs(
-" then be read in a second curl invocation by using the -b,\n"
" --cookie option! The -c, --cookie-jar option is a better way to\n"
" store cookies.\n"
"\n"
@@ -838,9 +864,9 @@ void hugehelp(void)
" See also -o, --output.\n"
"\n"
" --egd-file <file>\n"
+" (TLS) Specify the path name to the Entropy Gathering Daemon\n"
, stdout);
fputs(
-" (TLS) Specify the path name to the Entropy Gathering Daemon\n"
" socket. The socket is used to seed the random engine for SSL\n"
" connections.\n"
"\n"
@@ -850,44 +876,44 @@ void hugehelp(void)
" (TLS) Select the OpenSSL crypto engine to use for cipher opera-\n"
" tions. Use --engine list to print a list of build-time supported\n"
" engines. Note that not all (or none) of the engines may be\n"
-, stdout);
- fputs(
" available at run-time.\n"
"\n"
" --expect100-timeout <seconds>\n"
+, stdout);
+ fputs(
" (HTTP) Maximum time in seconds that you allow curl to wait for a\n"
" 100-continue response when curl emits an Expects: 100-continue\n"
" header in its request. By default curl will wait one second.\n"
" This option accepts decimal values! When curl stops waiting, it\n"
" will continue as if the response has been received.\n"
"\n"
-, stdout);
- fputs(
" See also --connect-timeout. Added in 7.47.0.\n"
"\n"
" --fail-early\n"
+, stdout);
+ fputs(
" Fail and exit on the first detected transfer error.\n"
"\n"
" When curl is used to do multiple transfers on the command line,\n"
" it will attempt to operate on each given URL, one by one. By\n"
" default, it will ignore errors if there are more URLs given and\n"
" the last URL's success will determine the error code curl\n"
-, stdout);
- fputs(
" returns. So early failures will be \"hidden\" by subsequent suc-\n"
" cessful transfers.\n"
"\n"
+, stdout);
+ fputs(
" Using this option, curl will instead return an error on the\n"
" first transfer that fails, independent of the amount of URLs\n"
" that are given on the command line. This way, no transfer fail-\n"
" ures go undetected by scripts and similar.\n"
"\n"
" This option is global and does not need to be specified for each\n"
-, stdout);
- fputs(
" use of -:, --next.\n"
"\n"
" This option does not imply -f, --fail, which causes transfers to\n"
+, stdout);
+ fputs(
" fail due to the server's HTTP status code. You can combine the\n"
" two options, however note -f, --fail is not global and is there-\n"
" fore contained by -:, --next.\n"
@@ -896,77 +922,75 @@ void hugehelp(void)
"\n"
" -f, --fail\n"
" (HTTP) Fail silently (no output at all) on server errors. This\n"
-, stdout);
- fputs(
" is mostly done to better enable scripts etc to better deal with\n"
" failed attempts. In normal cases when an HTTP server fails to\n"
+, stdout);
+ fputs(
" deliver a document, it returns an HTML document stating so\n"
" (which often also describes why and more). This flag will pre-\n"
" vent curl from outputting that and return error 22.\n"
"\n"
" This method is not fail-safe and there are occasions where non-\n"
-, stdout);
- fputs(
" successful response codes will slip through, especially when\n"
" authentication is involved (response codes 401 and 407).\n"
"\n"
" --false-start\n"
+, stdout);
+ fputs(
" (TLS) Tells curl to use false start during the TLS handshake.\n"
" False start is a mode where a TLS client will start sending\n"
" application data before verifying the server's Finished message,\n"
" thus saving a round trip when performing a full handshake.\n"
"\n"
-, stdout);
- fputs(
" This is currently only implemented in the NSS and Secure Trans-\n"
" port (on iOS 7.0 or later, or OS X 10.9 or later) backends.\n"
"\n"
" Added in 7.42.0.\n"
"\n"
+, stdout);
+ fputs(
" --form-string <name=string>\n"
" (HTTP SMTP IMAP) Similar to -F, --form except that the value\n"
" string for the named parameter is used literally. Leading '@'\n"
" and '<' characters, and the ';type=' string in the value have no\n"
-, stdout);
- fputs(
" special meaning. Use this in preference to -F, --form if there's\n"
" any possibility that the string value may accidentally trigger\n"
" the '@' or '<' features of -F, --form.\n"
"\n"
+, stdout);
+ fputs(
" See also -F, --form.\n"
"\n"
" -F, --form <name=content>\n"
" (HTTP SMTP IMAP) For HTTP protocol family, this lets curl emu-\n"
" late a filled-in form in which a user has pressed the submit\n"
-, stdout);
- fputs(
" button. This causes curl to POST data using the Content-Type\n"
" multipart/form-data according to RFC 2388.\n"
"\n"
" For SMTP and IMAP protocols, this is the mean to compose a mul-\n"
" tipart mail message to transmit.\n"
"\n"
-" This enables uploading of binary files etc. To force the 'con-\n"
-" tent' part to be a file, prefix the file name with an @ sign. To\n"
, stdout);
fputs(
+" This enables uploading of binary files etc. To force the 'con-\n"
+" tent' part to be a file, prefix the file name with an @ sign. To\n"
" just get the content part from a file, prefix the file name with\n"
" the symbol <. The difference between @ and < is then that @\n"
" makes a file get attached in the post as a file upload, while\n"
" the < makes a text field and just get the contents for that text\n"
+, stdout);
+ fputs(
" field from a file.\n"
"\n"
" Tell curl to read content from stdin instead of a file by using\n"
-, stdout);
- fputs(
" - as filename. This goes for both @ and < constructs. When stdin\n"
" is used, the contents is buffered in memory first by curl to\n"
" determine its size and allow a possible resend. Defining a\n"
" part's data from a named non-regular file (such as a named pipe\n"
-" or similar) is unfortunately not subject to buffering and will\n"
-" be effectively read at transmission time; since the full size is\n"
, stdout);
fputs(
+" or similar) is unfortunately not subject to buffering and will\n"
+" be effectively read at transmission time; since the full size is\n"
" unknown before the transfer starts, such data is sent as chunks\n"
" by HTTP and rejected by IMAP.\n"
"\n"
@@ -974,26 +998,26 @@ void hugehelp(void)
" name of the form-field to which the file portrait.jpg will be\n"
" the input:\n"
"\n"
+, stdout);
+ fputs(
" curl -F profile=@portrait.jpg https://example.com/upload.cgi\n"
"\n"
" Example: send a your name and shoe size in two text fields to\n"
" the server:\n"
"\n"
-, stdout);
- fputs(
" curl -F name=John -F shoesize=11 https://example.com/\n"
"\n"
" Example: send a your essay in a text field to the server. Send\n"
" it as a plain text field, but get the contents for it from a\n"
" local file:\n"
"\n"
+, stdout);
+ fputs(
" curl -F \"story=<hugefile.txt\" https://example.com/\n"
"\n"
" You can also tell curl what Content-Type to use by using\n"
" 'type=', in a manner similar to:\n"
"\n"
-, stdout);
- fputs(
" curl -F \"web=@index.html;type=text/html\" example.com\n"
"\n"
" or\n"
@@ -1003,13 +1027,13 @@ void hugehelp(void)
" You can also explicitly change the name field of a file upload\n"
" part by setting filename=, like this:\n"
"\n"
+, stdout);
+ fputs(
" curl -F \"file=@localfile;filename=nameinpost\" example.com\n"
"\n"
" If filename/path contains ',' or ';', it must be quoted by dou-\n"
" ble-quotes like:\n"
"\n"
-, stdout);
- fputs(
" curl -F \"file=@\\\"localfile\\\";filename=\\\"nameinpost\\\"\" exam-\n"
" ple.com\n"
"\n"
@@ -1018,12 +1042,12 @@ void hugehelp(void)
" curl -F 'file=@\"localfile\";filename=\"nameinpost\"' example.com\n"
"\n"
" Note that if a filename/path is quoted by double-quotes, any\n"
+, stdout);
+ fputs(
" double-quote or backslash within the filename must be escaped by\n"
" backslash.\n"
"\n"
" Quoting must also be applied to non-file data if it contains\n"
-, stdout);
- fputs(
" semicolons, leading/trailing spaces or leading double quotes:\n"
"\n"
" curl -F 'colors=\"red; green; blue\";type=text/x-myapp' exam-\n"
@@ -1032,22 +1056,22 @@ void hugehelp(void)
" You can add custom headers to the field by setting headers=,\n"
" like\n"
"\n"
+, stdout);
+ fputs(
" curl -F \"submit=OK;headers=\\\"X-submit-type: OK\\\"\" example.com\n"
"\n"
" or\n"
"\n"
" curl -F \"submit=OK;headers=@headerfile\" example.com\n"
"\n"
-, stdout);
- fputs(
" The headers= keyword may appear more that once and above notes\n"
" about quoting apply. When headers are read from a file, Empty\n"
" lines and lines starting with '#' are comments and ignored; each\n"
" header can be folded by splitting between two words and starting\n"
-" the continuation line with a space; embedded carriage-returns\n"
-" and trailing spaces are stripped. Here is an example of a\n"
, stdout);
fputs(
+" the continuation line with a space; embedded carriage-returns\n"
+" and trailing spaces are stripped. Here is an example of a\n"
" header file contents:\n"
"\n"
" # This file contain two headers.\n"
@@ -1058,43 +1082,43 @@ void hugehelp(void)
" another header\n"
"\n"
" To support sending multipart mail messages, the syntax is\n"
+, stdout);
+ fputs(
" extended as follows:\n"
" - name can be omitted: the equal sign is the first character of\n"
" the argument,\n"
-, stdout);
- fputs(
" - if data starts with '(', this signals to start a new multi-\n"
" part: it can be followed by a content type specification.\n"
" - a multipart can be terminated with a '=)' argument.\n"
"\n"
" Example: the following command sends an SMTP mime e-mail con-\n"
+, stdout);
+ fputs(
" sisting in an inline part in two alternative formats: plain text\n"
" and HTML. It attaches a text file:\n"
"\n"
" curl -F '=(;type=multipart/alternative' \\\n"
-, stdout);
- fputs(
" -F '=plain text message' \\\n"
" -F '= <body>HTML message</body>;type=text/html' \\\n"
" -F '=)' -F '=@textfile.txt' ... smtp://example.com\n"
"\n"
" Data can be encoded for transfer using encoder=. Available\n"
-" encodings are binary and 8bit that do nothing else than adding\n"
-" the corresponding Content-Transfer-Encoding header, 7bit that\n"
, stdout);
fputs(
+" encodings are binary and 8bit that do nothing else than adding\n"
+" the corresponding Content-Transfer-Encoding header, 7bit that\n"
" only rejects 8-bit characters with a transfer error, quoted-\n"
" printable and base64 that encodes data according to the corre-\n"
" sponding schemes, limiting lines length to 76 characters.\n"
"\n"
" Example: send multipart mail with a quoted-printable text mes-\n"
+, stdout);
+ fputs(
" sage and a base64 attached file:\n"
"\n"
" curl -F '=text message;encoder=quoted-printable' \\\n"
" -F '=@localfile;encoder=base64' ... smtp://example.com\n"
"\n"
-, stdout);
- fputs(
" See further examples and details in the MANUAL.\n"
"\n"
" This option can be used multiple times.\n"
@@ -1103,26 +1127,26 @@ void hugehelp(void)
"\n"
" --ftp-account <data>\n"
" (FTP) When an FTP server asks for \"account data\" after user name\n"
+, stdout);
+ fputs(
" and password has been provided, this data is sent off using the\n"
" ACCT command.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
-, stdout);
- fputs(
" Added in 7.13.0.\n"
"\n"
" --ftp-alternative-to-user <command>\n"
" (FTP) If authenticating with the USER and PASS commands fails,\n"
" send this command. When connecting to Tumbleweed's Secure\n"
" Transport server over FTPS using a client certificate, using\n"
+, stdout);
+ fputs(
" \"SITE AUTH\" will tell the server to retrieve the username from\n"
" the certificate.\n"
" Added in 7.15.5.\n"
"\n"
" --ftp-create-dirs\n"
-, stdout);
- fputs(
" (FTP SFTP) When an FTP or SFTP URL/operation uses a path that\n"
" doesn't currently exist on the server, the standard behavior of\n"
" curl is to fail. Using this option, curl will instead attempt to\n"
@@ -1130,10 +1154,10 @@ void hugehelp(void)
"\n"
" See also --create-dirs.\n"
"\n"
-" --ftp-method <method>\n"
-" (FTP) Control what method curl should use to reach a file on an\n"
, stdout);
fputs(
+" --ftp-method <method>\n"
+" (FTP) Control what method curl should use to reach a file on an\n"
" FTP(S) server. The method argument should be one of the follow-\n"
" ing alternatives:\n"
"\n"
@@ -1141,10 +1165,10 @@ void hugehelp(void)
" curl does a single CWD operation for each path part in\n"
" the given URL. For deep hierarchies this means very many\n"
" commands. This is how RFC 1738 says it should be done.\n"
-" This is the default but the slowest behavior.\n"
-"\n"
, stdout);
fputs(
+" This is the default but the slowest behavior.\n"
+"\n"
" nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n"
" etc and give a full path to the server for all these com-\n"
" mands. This is the fastest behavior.\n"
@@ -1152,9 +1176,9 @@ void hugehelp(void)
" singlecwd\n"
" curl does one CWD with the full target directory and then\n"
" operates on the file \"normally\" (like in the multicwd\n"
-" case). This is somewhat more standards compliant than\n"
, stdout);
fputs(
+" case). This is somewhat more standards compliant than\n"
" 'nocwd' but without the full penalty of 'multicwd'.\n"
"\n"
" Added in 7.15.1.\n"
@@ -1165,9 +1189,9 @@ void hugehelp(void)
" override a previous -P, --ftp-port option.\n"
"\n"
" If this option is used several times, only the first one is\n"
-" used. Undoing an enforced passive really isn't doable but you\n"
, stdout);
fputs(
+" used. Undoing an enforced passive really isn't doable but you\n"
" must then instead enforce the correct -P, --ftp-port again.\n"
"\n"
" Passive mode means that curl will try the EPSV command first and\n"
@@ -1176,25 +1200,25 @@ void hugehelp(void)
"\n"
" -P, --ftp-port <address>\n"
" (FTP) Reverses the default initiator/listener roles when con-\n"
-" necting with FTP. This option makes curl use active mode. curl\n"
, stdout);
fputs(
+" necting with FTP. This option makes curl use active mode. curl\n"
" then tells the server to connect back to the client's specified\n"
" address and port, while passive mode asks the server to setup an\n"
" IP address and port for it to connect to. <address> should be\n"
" one of:\n"
"\n"
" interface\n"
-" i.e \"eth0\" to specify which interface's IP address you\n"
+" e.g. \"eth0\" to specify which interface's IP address you\n"
" want to use (Unix only)\n"
"\n"
-" IP address\n"
, stdout);
fputs(
-" i.e \"192.168.10.1\" to specify the exact IP address\n"
+" IP address\n"
+" e.g. \"192.168.10.1\" to specify the exact IP address\n"
"\n"
" host name\n"
-" i.e \"my.host.domain\" to specify the machine\n"
+" e.g. \"my.host.domain\" to specify the machine\n"
"\n"
" - make curl pick the same IP address that is already used\n"
" for the control connection\n"
@@ -1312,41 +1336,53 @@ void hugehelp(void)
"\n"
" Added in 7.59.0.\n"
"\n"
-" -I, --head\n"
-" (HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the\n"
-" command HEAD which this uses to get nothing but the header of a\n"
-" document. When used on an FTP or FILE file, curl displays the\n"
+" --haproxy-protocol\n"
+" (HTTP) Send a HAProxy PROXY protocol header at the beginning of\n"
+" the connection. This is used by some load balancers and reverse\n"
+" proxies to indicate the client's true IP address and port.\n"
+"\n"
, stdout);
fputs(
+" This option is primarily useful when sending test requests to a\n"
+" service that expects this header.\n"
+"\n"
+" Added in 7.60.0.\n"
+"\n"
+" -I, --head\n"
+" (HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the\n"
+" command HEAD which this uses to get nothing but the header of a\n"
+" document. When used on an FTP or FILE file, curl displays the\n"
" file size and last modification time only.\n"
"\n"
+, stdout);
+ fputs(
" -H, --header <header/@file>\n"
-" (HTTP) Extra header to include in the request when sending HTTP\n"
-" to a server. You may specify any number of extra headers. Note\n"
+" (HTTP) Extra header to include in the request when sending HTTP\n"
+" to a server. You may specify any number of extra headers. Note\n"
" that if you should add a custom header that has the same name as\n"
-" one of the internal ones curl would use, your externally set\n"
+" one of the internal ones curl would use, your externally set\n"
" header will be used instead of the internal one. This allows you\n"
, stdout);
fputs(
-" to make even trickier stuff than curl would normally do. You\n"
-" should not replace internally set headers without knowing per-\n"
+" to make even trickier stuff than curl would normally do. You\n"
+" should not replace internally set headers without knowing per-\n"
" fectly well what you're doing. Remove an internal header by giv-\n"
-" ing a replacement without content on the right side of the\n"
+" ing a replacement without content on the right side of the\n"
" colon, as in: -H \"Host:\". If you send the custom header with no-\n"
-" value then its header must be terminated with a semicolon, such\n"
+" value then its header must be terminated with a semicolon, such\n"
, stdout);
fputs(
" as -H \"X-Custom-Header;\" to send \"X-Custom-Header:\".\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"
-" Starting in 7.55.0, this option can take an argument in @file-\n"
+" Starting in 7.55.0, this option can take an argument in @file-\n"
, stdout);
fputs(
-" name style, which then adds a header for each line in the input\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"
" See also the -A, --user-agent and -e, --referer options.\n"
@@ -1360,23 +1396,23 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" WARNING: headers set with this option will be set in all\n"
-" requests - even after redirects are followed, like when told\n"
-" with -L, --location. This can lead to the header being sent to\n"
-" other hosts than the original host, so sensitive headers should\n"
+" WARNING: headers set with this option will be set in all\n"
+" requests - even after redirects are followed, like when told\n"
+" with -L, --location. This can lead to the header being sent to\n"
+" other hosts than the original host, so sensitive headers should\n"
" be used with caution combined with following redirects.\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);
fputs(
" -h, --help\n"
-" Usage help. This lists all current command line options with a\n"
+" Usage help. This lists all current command line options with a\n"
" short description.\n"
" --hostpubmd5 <md5>\n"
-" (SFTP SCP) Pass a string containing 32 hexadecimal digits. The\n"
-" string should be the 128 bit MD5 checksum of the remote host's\n"
+" (SFTP SCP) Pass a string containing 32 hexadecimal digits. The\n"
+" string should be the 128 bit MD5 checksum of the remote host's\n"
" public key, curl will refuse the connection with the host unless\n"
" the md5sums match.\n"
"\n"
@@ -1385,7 +1421,7 @@ void hugehelp(void)
" -0, --http1.0\n"
, stdout);
fputs(
-" (HTTP) Tells curl to use HTTP version 1.0 instead of using its\n"
+" (HTTP) Tells curl to use HTTP version 1.0 instead of using its\n"
" internally preferred HTTP version.\n"
"\n"
" This option overrides --http1.1 and --http2.\n"
@@ -1393,16 +1429,16 @@ void hugehelp(void)
" --http1.1\n"
" (HTTP) Tells curl to use HTTP version 1.1.\n"
"\n"
-" This option overrides -0, --http1.0 and --http2. Added in\n"
+" This option overrides -0, --http1.0 and --http2. Added in\n"
" 7.33.0.\n"
"\n"
" --http2-prior-knowledge\n"
-" (HTTP) Tells curl to issue its non-TLS HTTP requests using\n"
+" (HTTP) Tells curl to issue its non-TLS HTTP requests using\n"
, stdout);
fputs(
-" HTTP/2 without HTTP/1.1 Upgrade. It requires prior knowledge\n"
-" that the server supports HTTP/2 straight away. HTTPS requests\n"
-" will still do HTTP/2 the standard way with negotiated protocol\n"
+" HTTP/2 without HTTP/1.1 Upgrade. It requires prior knowledge\n"
+" that the server supports HTTP/2 straight away. HTTPS requests\n"
+" will still do HTTP/2 the standard way with negotiated protocol\n"
" version in the TLS handshake.\n"
"\n"
" --http2-prior-knowledge requires that the underlying libcurl was\n"
@@ -1419,19 +1455,19 @@ void hugehelp(void)
" -0, --http1.0 and --http2-prior-knowledge. Added in 7.33.0.\n"
"\n"
" --ignore-content-length\n"
-" (FTP HTTP) For HTTP, Ignore the Content-Length header. This is\n"
-" particularly useful for servers running Apache 1.x, which will\n"
+" (FTP HTTP) For HTTP, Ignore the Content-Length header. This is\n"
+" particularly useful for servers running Apache 1.x, which will\n"
, stdout);
fputs(
-" report incorrect Content-Length for files larger than 2 giga-\n"
+" report incorrect Content-Length for files larger than 2 giga-\n"
" bytes.\n"
"\n"
-" For FTP (since 7.46.0), skip the RETR command to figure out the\n"
+" For FTP (since 7.46.0), skip the RETR command to figure out the\n"
" size before downloading a file.\n"
"\n"
" -i, --include\n"
-" Include the HTTP response headers in the output. The HTTP\n"
-" response headers can include things like server name, cookies,\n"
+" Include the HTTP response headers in the output. The HTTP\n"
+" response headers can include things like server name, cookies,\n"
" date of the document, HTTP version and more...\n"
"\n"
, stdout);
@@ -1442,13 +1478,13 @@ void hugehelp(void)
"\n"
" -k, --insecure\n"
" (TLS) By default, every SSL connection curl makes is verified to\n"
-" be secure. This option allows curl to proceed and operate even\n"
+" be secure. This option allows curl to proceed and operate even\n"
" for server connections otherwise considered insecure.\n"
"\n"
-" The server connection is verified by making sure the server's\n"
+" The server connection is verified by making sure the server's\n"
, stdout);
fputs(
-" certificate contains the right name and verifies successfully\n"
+" certificate contains the right name and verifies successfully\n"
" using the cert store.\n"
"\n"
" See this online resource for further details:\n"
@@ -1457,8 +1493,8 @@ void hugehelp(void)
"\n"
" --interface <name>\n"
"\n"
-" Perform an operation using a specified interface. You can enter\n"
-" interface name, IP address or host name. An example could look\n"
+" Perform an operation using a specified interface. You can enter\n"
+" interface name, IP address or host name. An example could look\n"
" like:\n"
"\n"
, stdout);
@@ -1466,9 +1502,9 @@ void hugehelp(void)
" curl --interface eth0:1 https://www.example.com/\n"
"\n"
" If this option is used several times, the last one will be used.\n"
-" On Linux it can be used to specify a VRF, but the binary needs\n"
-" to either have CAP_NET_RAW or to be ran as root. More informa-\n"
-" tion about Linux VRF: https://www.kernel.org/doc/Documenta-\n"
+" On Linux it can be used to specify a VRF, but the binary needs\n"
+" to either have CAP_NET_RAW or to be run as root. More informa-\n"
+" tion about Linux VRF: https://www.kernel.org/doc/Documenta-\n"
" tion/networking/vrf.txt\n"
"\n"
" See also --dns-interface.\n"
@@ -1476,26 +1512,26 @@ void hugehelp(void)
" -4, --ipv4\n"
, stdout);
fputs(
-" This option tells curl to resolve names to IPv4 addresses only,\n"
+" This option tells curl to resolve names to IPv4 addresses only,\n"
" and not for example try IPv6.\n"
"\n"
-" See also --http1.1 and --http2. This option overrides -6,\n"
+" See also --http1.1 and --http2. This option overrides -6,\n"
" --ipv6.\n"
"\n"
" -6, --ipv6\n"
-" This option tells curl to resolve names to IPv6 addresses only,\n"
+" This option tells curl to resolve names to IPv6 addresses only,\n"
" and not for example try IPv4.\n"
"\n"
-" See also --http1.1 and --http2. This option overrides -6,\n"
+" See also --http1.1 and --http2. This option overrides -6,\n"
" --ipv6.\n"
"\n"
, stdout);
fputs(
" -j, --junk-session-cookies\n"
" (HTTP) When curl is told to read cookies from a given file, this\n"
-" option will make it discard all \"session cookies\". This will\n"
-" basically have the same effect as if a new session is started.\n"
-" Typical browsers always discard session cookies when they're\n"
+" option will make it discard all \"session cookies\". This will\n"
+" basically have the same effect as if a new session is started.\n"
+" Typical browsers always discard session cookies when they're\n"
" closed down.\n"
"\n"
" See also -b, --cookie and -c, --cookie-jar.\n"
@@ -1503,11 +1539,11 @@ void hugehelp(void)
" --keepalive-time <seconds>\n"
, stdout);
fputs(
-" This option sets the time a connection needs to remain idle\n"
-" before sending keepalive probes and the time between individual\n"
+" This option sets the time a connection needs to remain idle\n"
+" before sending keepalive probes and the time between individual\n"
" keepalive probes. It is currently effective on operating systems\n"
" offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options\n"
-" (meaning Linux, recent AIX, HP-UX and more). This option has no\n"
+" (meaning Linux, recent AIX, HP-UX and more). This option has no\n"
" effect if --no-keepalive is used.\n"
"\n"
, stdout);
@@ -1518,8 +1554,8 @@ void hugehelp(void)
" Added in 7.18.0.\n"
"\n"
" --key-type <type>\n"
-" (TLS) Private key file type. Specify which type your --key pro-\n"
-" vided private key is. DER, PEM, and ENG are supported. If not\n"
+" (TLS) Private key file type. Specify which type your --key pro-\n"
+" vided private key is. DER, PEM, and ENG are supported. If not\n"
" specified, PEM is assumed.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -1528,49 +1564,49 @@ void hugehelp(void)
fputs(
" --key <key>\n"
" (TLS SSH) Private key file name. Allows you to provide your pri-\n"
-" vate key in this separate file. For SSH, if not specified, curl\n"
+" vate key in this separate file. For SSH, if not specified, curl\n"
" tries the following candidates in order:\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" --krb <level>\n"
-" (FTP) Enable Kerberos authentication and use. The level must be\n"
+" (FTP) Enable Kerberos authentication and use. The level must be\n"
" entered and should be one of 'clear', 'safe', 'confidential', or\n"
, stdout);
fputs(
-" 'private'. Should you use a level that is not one of these,\n"
+" 'private'. Should you use a level that is not one of these,\n"
" 'private' will instead be used.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
-" --krb requires that the underlying libcurl was built to support\n"
+" --krb requires that the underlying libcurl was built to support\n"
" Kerberos.\n"
"\n"
" --libcurl <file>\n"
-" Append this option to any ordinary curl command line, and you\n"
-" will get a libcurl-using C source code written to the file that\n"
+" Append this option to any ordinary curl command line, and you\n"
+" will get a libcurl-using C source code written to the file that\n"
, stdout);
fputs(
" does the equivalent of what your command-line operation does!\n"
"\n"
-" If this option is used several times, the last given file name\n"
+" If this option is used several times, the last given file name\n"
" will be used.\n"
"\n"
" Added in 7.16.1.\n"
"\n"
" --limit-rate <speed>\n"
-" Specify the maximum transfer rate you want curl to use - for\n"
+" Specify the maximum transfer rate you want curl to use - for\n"
" both downloads and uploads. This feature is useful if you have a\n"
" limited pipe and you'd like your transfer not to use your entire\n"
, stdout);
fputs(
" bandwidth. To make it slower than it otherwise would be.\n"
"\n"
-" The given speed is measured in bytes/second, unless a suffix is\n"
-" appended. Appending 'k' or 'K' will count the number as kilo-\n"
-" bytes, 'm' or 'M' makes it megabytes, while 'g' or 'G' makes it\n"
+" The given speed is measured in bytes/second, unless a suffix is\n"
+" appended. Appending 'k' or 'K' will count the number as kilo-\n"
+" bytes, 'm' or 'M' makes it megabytes, while 'g' or 'G' makes it\n"
" gigabytes. Examples: 200K, 3m and 1G.\n"
"\n"
-" If you also use the -Y, --speed-limit option, that option will\n"
+" If you also use the -Y, --speed-limit option, that option will\n"
, stdout);
fputs(
" take precedence and might cripple the rate-limiting slightly, to\n"
@@ -1579,28 +1615,28 @@ void hugehelp(void)
" If this option is used several times, the last one will be used.\n"
"\n"
" -l, --list-only\n"
-" (FTP POP3) (FTP) When listing an FTP directory, this switch\n"
-" forces a name-only view. This is especially useful if the user\n"
-" wants to machine-parse the contents of an FTP directory since\n"
+" (FTP POP3) (FTP) When listing an FTP directory, this switch\n"
+" forces a name-only view. This is especially useful if the user\n"
+" wants to machine-parse the contents of an FTP directory since\n"
, stdout);
fputs(
" the normal directory view doesn't use a standard look or format.\n"
" When used like this, the option causes a NLST command to be sent\n"
" to the server instead of LIST.\n"
"\n"
-" Note: Some FTP servers list only files in their response to\n"
+" Note: Some FTP servers list only files in their response to\n"
" NLST; they do not include sub-directories and symbolic links.\n"
"\n"
-" (POP3) When retrieving a specific email from POP3, this switch\n"
+" (POP3) When retrieving a specific email from POP3, this switch\n"
, stdout);
fputs(
-" forces a LIST command to be performed instead of RETR. This is\n"
-" particularly useful if the user wants to see if a specific mes-\n"
+" forces a LIST command to be performed instead of RETR. This is\n"
+" particularly useful if the user wants to see if a specific mes-\n"
" sage id exists on the server and what size it is.\n"
"\n"
-" Note: When combined with -X, --request, this option can be used\n"
+" Note: When combined with -X, --request, this option can be used\n"
" to send an UIDL command instead, so the user may use the email's\n"
-" unique identifier rather than it's message id to make the\n"
+" unique identifier rather than it's message id to make the\n"
" request.\n"
"\n"
, stdout);
@@ -1608,10 +1644,10 @@ void hugehelp(void)
" Added in 7.21.5.\n"
"\n"
" --local-port <num/range>\n"
-" Set a preferred single number or range (FROM-TO) of local port\n"
+" Set a preferred single number or range (FROM-TO) of local port\n"
" numbers to use for the connection(s). Note that port numbers by\n"
-" nature are a scarce resource that will be busy at times so set-\n"
-" ting this range to something too narrow might cause unnecessary\n"
+" nature are a scarce resource that will be busy at times so set-\n"
+" ting this range to something too narrow might cause unnecessary\n"
" connection setup failures.\n"
"\n"
" Added in 7.15.2.\n"
@@ -1619,10 +1655,10 @@ void hugehelp(void)
" --location-trusted\n"
, stdout);
fputs(
-" (HTTP) Like -L, --location, but will allow sending the name +\n"
+" (HTTP) Like -L, --location, but will allow sending the name +\n"
" password to all hosts that the site may redirect to. This may or\n"
" may not introduce a security breach if the site redirects you to\n"
-" a site to which you'll send your authentication info (which is\n"
+" a site to which you'll send your authentication info (which is\n"
" plaintext in the case of HTTP Basic authentication).\n"
"\n"
" See also -u, --user.\n"
@@ -1630,41 +1666,41 @@ void hugehelp(void)
" -L, --location\n"
, stdout);
fputs(
-" (HTTP) If the server reports that the requested page has moved\n"
+" (HTTP) If the server reports that the requested page has moved\n"
" to a different location (indicated with a Location: header and a\n"
-" 3XX response code), this option will make curl redo the request\n"
-" on the new place. If used together with -i, --include or -I,\n"
-" --head, headers from all requested pages will be shown. When\n"
-" authentication is used, curl only sends its credentials to the\n"
+" 3XX response code), this option will make curl redo the request\n"
+" on the new place. If used together with -i, --include or -I,\n"
+" --head, headers from all requested pages will be shown. When\n"
+" authentication is used, curl only sends its credentials to the\n"
, stdout);
fputs(
-" initial host. If a redirect takes curl to a different host, it\n"
-" won't be able to intercept the user+password. See also --loca-\n"
-" tion-trusted on how to change this. You can limit the amount of\n"
+" initial host. If a redirect takes curl to a different host, it\n"
+" won't be able to intercept the user+password. See also --loca-\n"
+" tion-trusted on how to change this. You can limit the amount of\n"
" redirects to follow by using the --max-redirs option.\n"
"\n"
-" When curl follows a redirect and the request is not a plain GET\n"
+" When curl follows a redirect and the request is not a plain GET\n"
" (for example POST or PUT), it will do the following request with\n"
, stdout);
fputs(
" a GET if the HTTP response was 301, 302, or 303. If the response\n"
-" code was any other 3xx code, curl will re-send the following\n"
+" code was any other 3xx code, curl will re-send the following\n"
" request using the same unmodified method.\n"
"\n"
-" You can tell curl to not change the non-GET request method to\n"
-" GET after a 30x response by using the dedicated options for\n"
+" You can tell curl to not change the non-GET request method to\n"
+" GET after a 30x response by using the dedicated options for\n"
" that: --post301, --post302 and --post303.\n"
"\n"
" --login-options <options>\n"
, stdout);
fputs(
-" (IMAP POP3 SMTP) Specify the login options to use during server\n"
+" (IMAP POP3 SMTP) Specify the login options to use during server\n"
" authentication.\n"
"\n"
-" You can use the login options to specify protocol specific\n"
-" options that may be used during authentication. At present only\n"
-" IMAP, POP3 and SMTP support login options. For more information\n"
-" about the login options please see RFC 2384, RFC 5092 and IETF\n"
+" You can use the login options to specify protocol specific\n"
+" options that may be used during authentication. At present only\n"
+" IMAP, POP3 and SMTP support login options. For more information\n"
+" about the login options please see RFC 2384, RFC 5092 and IETF\n"
" draft draft-earhart-url-smtp-00.txt\n"
"\n"
, stdout);
@@ -1674,8 +1710,8 @@ void hugehelp(void)
" Added in 7.34.0.\n"
"\n"
" --mail-auth <address>\n"
-" (SMTP) Specify a single address. This will be used to specify\n"
-" the authentication address (identity) of a submitted message\n"
+" (SMTP) Specify a single address. This will be used to specify\n"
+" the authentication address (identity) of a submitted message\n"
" that is being relayed to another server.\n"
"\n"
" See also --mail-rcpt and --mail-from. Added in 7.25.0.\n"
@@ -1683,7 +1719,7 @@ void hugehelp(void)
" --mail-from <address>\n"
, stdout);
fputs(
-" (SMTP) Specify a single address that the given mail should get\n"
+" (SMTP) Specify a single address that the given mail should get\n"
" sent from.\n"
"\n"
" See also --mail-rcpt and --mail-auth. Added in 7.20.0.\n"
@@ -1691,17 +1727,17 @@ void hugehelp(void)
" --mail-rcpt <address>\n"
" (SMTP) Specify a single address, user name or mailing list name.\n"
" Repeat this option several times to send to multiple recipients.\n"
-" When performing a mail transfer, the recipient should specify a\n"
+" When performing a mail transfer, the recipient should specify a\n"
" valid email address to send the mail to.\n"
"\n"
, stdout);
fputs(
-" When performing an address verification (VRFY command), the\n"
-" recipient should be specified as the user name or user name and\n"
+" When performing an address verification (VRFY command), the\n"
+" recipient should be specified as the user name or user name and\n"
" domain (as per Section 3.5 of RFC5321). (Added in 7.34.0)\n"
"\n"
" When performing a mailing list expand (EXPN command), the recip-\n"
-" ient should be specified using the mailing list name, such as\n"
+" ient should be specified using the mailing list name, such as\n"
" \"Friends\" or \"London-Office\". (Added in 7.34.0)\n"
"\n"
" Added in 7.20.0.\n"
@@ -1712,20 +1748,20 @@ void hugehelp(void)
" Manual. Display the huge help text.\n"
"\n"
" --max-filesize <bytes>\n"
-" Specify the maximum size (in bytes) of a file to download. If\n"
-" the file requested is larger than this value, the transfer will\n"
+" Specify the maximum size (in bytes) of a file to download. If\n"
+" the file requested is larger than this value, the transfer will\n"
" not start and curl will return with exit code 63.\n"
"\n"
-" A size modifier may be used. For example, Appending 'k' or 'K'\n"
-" will count the number as kilobytes, 'm' or 'M' makes it\n"
+" A size modifier may be used. For example, Appending 'k' or 'K'\n"
+" will count the number as kilobytes, 'm' or 'M' makes it\n"
, stdout);
fputs(
-" megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K,\n"
+" megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K,\n"
" 3m and 1G. (Added in 7.58.0)\n"
"\n"
-" NOTE: The file size is not always known prior to download, and\n"
+" NOTE: The file size is not always known prior to download, and\n"
" for such files this option has no effect even if the file trans-\n"
-" fer ends up being larger than this given limit. This concerns\n"
+" fer ends up being larger than this given limit. This concerns\n"
" both FTP and HTTP transfers.\n"
"\n"
" See also --limit-rate.\n"
@@ -1733,19 +1769,19 @@ void hugehelp(void)
" --max-redirs <num>\n"
, stdout);
fputs(
-" (HTTP) Set maximum number of redirection-followings allowed.\n"
-" When -L, --location is used, is used to prevent curl from fol-\n"
-" lowing redirections \"in absurdum\". By default, the limit is set\n"
+" (HTTP) Set maximum number of redirection-followings allowed.\n"
+" When -L, --location is used, is used to prevent curl from fol-\n"
+" lowing redirections \"in absurdum\". By default, the limit is set\n"
" to 50 redirections. Set this option to -1 to make it unlimited.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
-" -m, --max-time <time>\n"
+" -m, --max-time <seconds>\n"
, stdout);
fputs(
-" Maximum time in seconds that you allow the whole operation to\n"
-" take. This is useful for preventing your batch jobs from hang-\n"
-" ing for hours due to slow networks or links going down. Since\n"
+" Maximum time in seconds that you allow the whole operation to\n"
+" take. This is useful for preventing your batch jobs from hang-\n"
+" ing for hours due to slow networks or links going down. Since\n"
" 7.32.0, this option accepts decimal values, but the actual time-\n"
" out will decrease in accuracy as the specified timeout increases\n"
" in decimal precision.\n"
@@ -1757,14 +1793,14 @@ void hugehelp(void)
" See also --connect-timeout.\n"
"\n"
" --metalink\n"
-" This option can tell curl to parse and process a given URI as\n"
-" Metalink file (both version 3 and 4 (RFC 5854) are supported)\n"
-" and make use of the mirrors listed within for failover if there\n"
-" are errors (such as the file or server not being available). It\n"
+" This option can tell curl to parse and process a given URI as\n"
+" Metalink file (both version 3 and 4 (RFC 5854) are supported)\n"
+" and make use of the mirrors listed within for failover if there\n"
+" are errors (such as the file or server not being available). It\n"
, stdout);
fputs(
-" will also verify the hash of the file after the download com-\n"
-" pletes. The Metalink file itself is downloaded and processed in\n"
+" will also verify the hash of the file after the download com-\n"
+" pletes. The Metalink file itself is downloaded and processed in\n"
" memory and not stored in the local file system.\n"
"\n"
" Example to use a remote Metalink file:\n"
@@ -1778,34 +1814,34 @@ void hugehelp(void)
fputs(
" curl --metalink file://example.metalink\n"
"\n"
-" Please note that if FILE protocol is disabled, there is no way\n"
-" to use a local Metalink file at the time of this writing. Also\n"
-" note that if --metalink and -i, --include are used together,\n"
-" --include will be ignored. This is because including headers in\n"
-" the response will break Metalink parser and if the headers are\n"
+" Please note that if FILE protocol is disabled, there is no way\n"
+" to use a local Metalink file at the time of this writing. Also\n"
+" note that if --metalink and -i, --include are used together,\n"
+" --include will be ignored. This is because including headers in\n"
+" the response will break Metalink parser and if the headers are\n"
, stdout);
fputs(
" included in the file described in Metalink file, hash check will\n"
" fail.\n"
"\n"
-" --metalink requires that the underlying libcurl was built to\n"
+" --metalink requires that the underlying libcurl was built to\n"
" support metalink. Added in 7.27.0.\n"
"\n"
" --negotiate\n"
" (HTTP) Enables Negotiate (SPNEGO) authentication.\n"
"\n"
-" This option requires a library built with GSS-API or SSPI sup-\n"
-" port. Use -V, --version to see if your curl supports GSS-\n"
+" This option requires a library built with GSS-API or SSPI sup-\n"
+" port. Use -V, --version to see if your curl supports GSS-\n"
, stdout);
fputs(
" API/SSPI or SPNEGO.\n"
"\n"
-" When using this option, you must also provide a fake -u, --user\n"
-" option to activate the authentication code properly. Sending a\n"
-" '-u :' is enough as the user name and password from the -u,\n"
+" When using this option, you must also provide a fake -u, --user\n"
+" option to activate the authentication code properly. Sending a\n"
+" '-u :' is enough as the user name and password from the -u,\n"
" --user option aren't actually used.\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"
, stdout);
@@ -1813,10 +1849,10 @@ void hugehelp(void)
" See also --basic and --ntlm and --anyauth and --proxy-negotiate.\n"
"\n"
" --netrc-file <filename>\n"
-" This option is similar to -n, --netrc, except that you provide\n"
-" the path (absolute or relative) to the netrc file that Curl\n"
+" This option is similar to -n, --netrc, except that you provide\n"
+" the path (absolute or relative) to the netrc file that Curl\n"
" should use. You can only specify one netrc file per invocation.\n"
-" If several --netrc-file options are provided, the last one will\n"
+" If several --netrc-file options are provided, the last one will\n"
" be used.\n"
"\n"
, stdout);
@@ -1826,47 +1862,47 @@ void hugehelp(void)
" This option overrides -n, --netrc. Added in 7.21.5.\n"
"\n"
" --netrc-optional\n"
-" Very similar to -n, --netrc, but this option makes the .netrc\n"
+" Very similar to -n, --netrc, but this option makes the .netrc\n"
" usage optional and not mandatory as the -n, --netrc option does.\n"
"\n"
" See also --netrc-file. This option overrides -n, --netrc.\n"
"\n"
" -n, --netrc\n"
-" Makes curl scan the .netrc (_netrc on Windows) file in the\n"
+" Makes curl scan the .netrc (_netrc on Windows) file in the\n"
, stdout);
fputs(
" user's home directory for login name and password. This is typi-\n"
-" cally used for FTP on Unix. If used with HTTP, curl will enable\n"
+" cally used for FTP on Unix. If used with HTTP, curl will enable\n"
" user authentication. See netrc(5) ftp(1) for details on the file\n"
-" format. Curl will not complain if that file doesn't have the\n"
+" format. Curl will not complain if that file doesn't have the\n"
" right permissions (it should not be either world- or group-read-\n"
-" able). The environment variable \"HOME\" is used to find the home\n"
+" able). The environment variable \"HOME\" is used to find the home\n"
" directory.\n"
"\n"
, stdout);
fputs(
-" A quick and very simple example of how to setup a .netrc to\n"
-" allow curl to FTP to the machine host.domain.com with user name\n"
+" A quick and very simple example of how to setup a .netrc to\n"
+" allow curl to FTP to the machine host.domain.com with user name\n"
" 'myself' and password 'secret' should look similar to:\n"
"\n"
" machine host.domain.com login myself password secret\n"
"\n"
" -:, --next\n"
" Tells curl to use a separate operation for the following URL and\n"
-" associated options. This allows you to send several URL\n"
+" associated options. This allows you to send several URL\n"
, stdout);
fputs(
-" requests, each with their own specific options, for example,\n"
+" requests, each with their own specific options, for example,\n"
" such as different user names or custom requests for each.\n"
"\n"
-" -:, --next will reset all local options and only global ones\n"
-" will have their values survive over to the operation following\n"
-" the -:, --next instruction. Global options include -v, --ver-\n"
+" -:, --next will reset all local options and only global ones\n"
+" will have their values survive over to the operation following\n"
+" the -:, --next instruction. Global options include -v, --ver-\n"
" bose, --trace, --trace-ascii and --fail-early.\n"
"\n"
, stdout);
fputs(
-" For example, you can do both a GET and a POST in a single com-\n"
+" For example, you can do both a GET and a POST in a single com-\n"
" mand line:\n"
"\n"
" curl www1.example.com --next -d postthis www2.example.com\n"
@@ -1874,75 +1910,75 @@ void hugehelp(void)
" Added in 7.36.0.\n"
"\n"
" --no-alpn\n"
-" (HTTPS) Disable the ALPN TLS extension. ALPN is enabled by\n"
-" default if libcurl was built with an SSL library that supports\n"
-" ALPN. ALPN is used by a libcurl that supports HTTP/2 to negoti-\n"
+" (HTTPS) Disable the ALPN TLS extension. ALPN is enabled by\n"
+" default if libcurl was built with an SSL library that supports\n"
+" ALPN. ALPN is used by a libcurl that supports HTTP/2 to negoti-\n"
, stdout);
fputs(
" ate HTTP/2 support with the server during https sessions.\n"
"\n"
-" See also --no-npn and --http2. --no-alpn requires that the\n"
+" See also --no-npn and --http2. --no-alpn requires that the\n"
" underlying libcurl was built to support TLS. Added in 7.36.0.\n"
"\n"
" -N, --no-buffer\n"
" Disables the buffering of the output stream. In normal work sit-\n"
-" uations, curl will use a standard buffered output stream that\n"
+" uations, curl will use a standard buffered output stream that\n"
" will have the effect that it will output the data in chunks, not\n"
, stdout);
fputs(
-" necessarily exactly when the data arrives. Using this option\n"
+" necessarily exactly when the data arrives. Using this option\n"
" will disable that buffering.\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 --buffer to enforce the buffering.\n"
"\n"
" --no-keepalive\n"
-" Disables the use of keepalive messages on the TCP connection.\n"
+" Disables the use of keepalive messages on the TCP connection.\n"
" curl otherwise enables them by default.\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"
, stdout);
fputs(
" thus use --keepalive to enforce keepalive.\n"
"\n"
" --no-npn\n"
" (HTTPS) Disable the NPN TLS extension. NPN is enabled by default\n"
-" if libcurl was built with an SSL library that supports NPN. NPN\n"
-" is used by a libcurl that supports HTTP/2 to negotiate HTTP/2\n"
+" if libcurl was built with an SSL library that supports NPN. NPN\n"
+" is used by a libcurl that supports HTTP/2 to negotiate HTTP/2\n"
" support with the server during https sessions.\n"
"\n"
-" See also --no-alpn and --http2. --no-npn requires that the\n"
+" See also --no-alpn and --http2. --no-npn requires that the\n"
, stdout);
fputs(
" underlying libcurl was built to support TLS. Added in 7.36.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"
-" should ever get hurt by attempting to reuse SSL session-IDs,\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"
+" 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"
, stdout);
fputs(
-" 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"
"\n"
" --noproxy <no-proxy-list>\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"
+" 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"
, stdout);
fputs(
-" 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"
" 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"
, stdout);
fputs(
" abling a proxy, you can set noproxy list to \"\" to override it.\n"
@@ -1951,42 +1987,42 @@ void hugehelp(void)
"\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"
" 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"
, stdout);
fputs(
" 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"
-" who uses NTLM to switch to a public and documented authentica-\n"
+" behavior should not be endorsed, you should encourage everyone\n"
+" who uses NTLM to switch to a public and documented authentica-\n"
" tion method instead, such as Digest.\n"
"\n"
, stdout);
fputs(
-" 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"
-" libcurl was built to support TLS. This option overrides --basic\n"
+" See also --proxy-ntlm. --ntlm requires that the underlying\n"
+" libcurl was built to support TLS. This option overrides --basic\n"
" and --negotiated and --digest and --anyauth.\n"
"\n"
" --oauth2-bearer <token>\n"
, stdout);
fputs(
-" (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"
-" 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"
@@ -1995,8 +2031,8 @@ void hugehelp(void)
, stdout);
fputs(
" 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"
" with the current string for the URL being fetched. Like in:\n"
"\n"
" curl http://{one,two}.example.com -o \"file_#1.txt\"\n"
@@ -2007,25 +2043,25 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
" 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"
, stdout);
fputs(
" 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"
" will force the output to be done to stdout.\n"
"\n"
-" See also -O, --remote-name and --remote-name-all and -J,\n"
+" See also -O, --remote-name and --remote-name-all and -J,\n"
" --remote-header-name.\n"
"\n"
" --pass <phrase>\n"
@@ -2036,27 +2072,27 @@ 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"
" standards but with this option set you tell it not to do that.\n"
"\n"
" Added in 7.42.0.\n"
"\n"
" --pinnedpubkey <hashes>\n"
-" (TLS) Tells curl to use the specified public key file (or\n"
+" (TLS) Tells curl to use the specified public key file (or\n"
, stdout);
fputs(
-" hashes) to verify the peer. This can be a path to a file which\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"
-" When negotiating a TLS or SSL connection, the server sends a\n"
-" certificate indicating its identity. A public key is extracted\n"
+" When negotiating a TLS or SSL connection, the server sends a\n"
+" certificate indicating its identity. A public key is extracted\n"
, stdout);
fputs(
-" 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"
+" 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"
@@ -2075,15 +2111,15 @@ void hugehelp(void)
" --post301\n"
" (HTTP) Tells curl to respect RFC 7231/6.4.2 and not convert POST\n"
" requests into GET requests when following a 301 redirection. The\n"
-" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
+" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
, stdout);
fputs(
-" 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"
+" 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"
@@ -2091,13 +2127,13 @@ void hugehelp(void)
, stdout);
fputs(
" 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"
-" See also --post301 and --post303 and -L, --location. Added in\n"
+" See also --post301 and --post303 and -L, --location. Added in\n"
, stdout);
fputs(
" 7.19.1.\n"
@@ -2105,38 +2141,38 @@ void hugehelp(void)
" --post303\n"
" (HTTP) Tells curl to respect RFC 7231/6.4.4 and not convert POST\n"
" requests into GET requests when following a 303 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"
+" 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"
, stdout);
fputs(
-" rection. This option is meaningful only when using -L, --loca-\n"
+" rection. This option is meaningful only when using -L, --loca-\n"
" tion.\n"
"\n"
-" 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"
, stdout);
fputs(
" HTTPS proxy. Hence pre proxy.\n"
"\n"
" 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"
, stdout);
fputs(
" assumed to be 1080.\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"
" If this option is used several times, the last one will be used.\n"
@@ -2144,15 +2180,15 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" -#, --progress-bar\n"
-" Make curl display transfer progress as a simple progress bar\n"
+" Make curl display transfer progress as a simple progress bar\n"
, stdout);
fputs(
" instead 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"
@@ -2164,12 +2200,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);
@@ -2177,8 +2213,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"
@@ -2188,30 +2224,30 @@ void hugehelp(void)
" By default curl will allow all protocols on redirect except sev-\n"
, stdout);
fputs(
-" eral disabled for security reasons: Since 7.19.4 FILE and SCP\n"
-" are disabled, and since 7.40.0 SMB and SMBS are also disabled.\n"
-" Specifying all or +all enables all protocols on redirect,\n"
+" eral disabled for security reasons: Since 7.19.4 FILE and SCP\n"
+" are disabled, and since 7.40.0 SMB and SMBS are also disabled.\n"
+" Specifying all or +all enables all protocols on redirect,\n"
" including those disabled for security.\n"
"\n"
" Added in 7.20.2.\n"
"\n"
" --proto <protocols>\n"
-" Tells curl to limit what protocols it may use in the transfer.\n"
+" Tells curl to limit what protocols it may use in the transfer.\n"
, stdout);
fputs(
-" Protocols are evaluated left to right, are comma separated, and\n"
+" Protocols are evaluated left to right, are comma separated, and\n"
" are each a protocol name or\n"
"\n"
" + Permit this protocol in addition to protocols already permit-\n"
" ted (this is the default if no modifier is used).\n"
"\n"
-" - 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"
+" = Permit only this protocol (ignoring the list already permit-\n"
, stdout);
fputs(
-" ted), though subject to later modification by subsequent\n"
+" ted), though subject to later modification by subsequent\n"
" entries in the comma separated list.\n"
"\n"
" For example:\n"
@@ -2228,7 +2264,7 @@ void hugehelp(void)
fputs(
" 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"
@@ -2239,19 +2275,19 @@ void hugehelp(void)
" --proxy-anyauth\n"
, stdout);
fputs(
-" 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"
" in 7.13.2.\n"
"\n"
" --proxy-basic\n"
-" 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"
, stdout);
fputs(
-" 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"
@@ -2259,7 +2295,7 @@ void hugehelp(void)
" --proxy-cacert <file>\n"
" Same as --cacert but used in HTTPS proxy context.\n"
"\n"
-" 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"
@@ -2267,7 +2303,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
@@ -2293,7 +2329,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"
" with the given proxy. Use --digest for enabling HTTP Digest with\n"
" a remote host.\n"
"\n"
@@ -2302,30 +2338,30 @@ void hugehelp(void)
" --proxy-header <header/@file>\n"
, stdout);
fputs(
-" (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"
-" 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"
+" the equivalent option to -H, --header but is for proxy communi-\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"
, stdout);
fputs(
" 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"
-" Headers specified with this option will not be included in\n"
+" Headers specified with this option will not be included in\n"
" requests 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"
+" Starting in 7.55.0, this option can take an argument in @file-\n"
, stdout);
fputs(
-" name style, which then adds a header for each line in the input\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"
" Added in 7.37.0.\n"
@@ -2345,7 +2381,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"
" communicating with the given proxy. Use --negotiate for enabling\n"
" HTTP Negotiate (SPNEGO) with a remote host.\n"
"\n"
@@ -2354,7 +2390,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"
@@ -2368,24 +2404,24 @@ void hugehelp(void)
" --proxy-pinnedpubkey <hashes>\n"
, stdout);
fputs(
-" (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"
" rated by ';'\n"
"\n"
-" When negotiating a TLS or SSL connection, the server sends a\n"
+" When negotiating a TLS or SSL connection, the server sends a\n"
, stdout);
fputs(
-" 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"
+" 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"
"\n"
" --proxy-service-name <name>\n"
-" This option allows you to change the service name for proxy\n"
+" This option allows you to change the service name for proxy\n"
, stdout);
fputs(
" negotiation.\n"
@@ -2420,13 +2456,13 @@ 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\n"
+" If you use a Windows SSPI-enabled curl binary and do either\n"
, stdout);
fputs(
-" Negotiate or NTLM authentication then you can tell curl to\n"
+" Negotiate or NTLM authentication then you can tell curl to\n"
" select the user name and password from your environment by spec-\n"
" ifying a single colon with this option: \"-U :\".\n"
"\n"
@@ -2435,7 +2471,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"
, stdout);
fputs(
" protocol specified or http:// will be treated as HTTP proxy. Use\n"
@@ -2443,26 +2479,26 @@ 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"
+" Unrecognized and unsupported proxy protocols cause an error\n"
, stdout);
fputs(
-" since 7.52.0. Prior versions may ignore the protocol and use\n"
+" since 7.52.0. Prior versions may ignore the protocol and use\n"
" 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"
, stdout);
fputs(
" All operations that are performed over an HTTP proxy will trans-\n"
-" 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"
@@ -2470,11 +2506,11 @@ void hugehelp(void)
" User and password that might be provided in the proxy string are\n"
, stdout);
fputs(
-" 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"
-" 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"
@@ -2482,24 +2518,24 @@ void hugehelp(void)
" --proxy1.0 <host[:port]>\n"
, stdout);
fputs(
-" 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"
-" 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 cause\n"
+" When an HTTP proxy is used -x, --proxy, this option will cause\n"
, stdout);
fputs(
-" non-HTTP protocols to attempt to tunnel through the proxy\n"
-" instead of merely using it to do HTTP-like operations. The tun-\n"
-" nel approach is made with the HTTP proxy CONNECT request and\n"
+" non-HTTP protocols to attempt to tunnel through the proxy\n"
+" instead of merely using it to do HTTP-like operations. The tun-\n"
+" nel approach is made with the HTTP proxy CONNECT request and\n"
" requires that the proxy allows direct connect to the remote port\n"
" number curl wants to tunnel 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"
, stdout);
fputs(
" output headers use --suppress-connect-headers.\n"
@@ -2512,54 +2548,54 @@ void hugehelp(void)
"\n"
" 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"
, stdout);
fputs(
" 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"
-" (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"
, stdout);
fputs(
" 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"
-" 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\n"
+" If the server returns failure for one of the commands, the\n"
, stdout);
fputs(
-" entire operation will be aborted. You must send syntactically\n"
-" correct FTP commands as RFC 959 defines to FTP servers, or one\n"
+" entire operation will be aborted. You must send syntactically\n"
+" correct FTP commands as RFC 959 defines to FTP servers, or one\n"
" of the commands listed below to SFTP servers.\n"
"\n"
-" This option can be used multiple times. When speaking to an FTP\n"
-" server, prefix the command with an asterisk (*) to make curl\n"
-" continue even if the command fails as by default curl will stop\n"
+" This option can be used multiple times. When speaking to an FTP\n"
+" server, prefix the command with an asterisk (*) to make curl\n"
+" continue even if the command fails as by default curl will stop\n"
" at first failure.\n"
"\n"
, stdout);
fputs(
-" 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"
-" 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 chgrp command sets the group ID of the file named by\n"
, stdout);
fputs(
-" the file operand to the group ID specified by the group\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"
" specified file. The mode operand is an octal integer mode\n"
" number.\n"
"\n"
@@ -2567,16 +2603,16 @@ void hugehelp(void)
" The chown command sets the owner of the file named by the\n"
, stdout);
fputs(
-" 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"
-" 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\n"
+" The mkdir command creates the directory named by the\n"
, stdout);
fputs(
" directory_name operand.\n"
@@ -2586,7 +2622,7 @@ void hugehelp(void)
"\n"
" rename source target\n"
" 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"
@@ -2596,7 +2632,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"
" by the directory operand, provided it is empty.\n"
"\n"
" symlink source_file target_file\n"
@@ -2606,12 +2642,12 @@ void hugehelp(void)
" Specify the path name to file containing what will be considered\n"
, stdout);
fputs(
-" 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"
-" (HTTP FTP SFTP FILE) Retrieve a byte range (i.e a partial docu-\n"
-" ment) from a HTTP/1.1, FTP or SFTP server or a local FILE.\n"
+" (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"
" Ranges can be specified in a number of ways.\n"
"\n"
" 0-499 specifies the first 500 bytes\n"
@@ -2629,24 +2665,24 @@ 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"
, stdout);
fputs(
-" 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"
" 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"
, stdout);
fputs(
" you'll instead get the whole document.\n"
"\n"
-" FTP and SFTP range downloads only support the simple 'start-\n"
-" stop' syntax (optionally with one of the numbers omitted). FTP\n"
+" FTP and SFTP range downloads only support the simple 'start-\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"
@@ -2654,7 +2690,7 @@ void hugehelp(void)
" --raw (HTTP) When used, it disables all internal HTTP decoding of con-\n"
, stdout);
fputs(
-" tent or transfer encodings and instead makes them passed on\n"
+" tent or transfer encodings and instead makes them passed on\n"
" unaltered, raw.\n"
"\n"
" Added in 7.16.2.\n"
@@ -2662,11 +2698,11 @@ void hugehelp(void)
" -e, --referer <URL>\n"
" (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"
+" used with -L, --location you can append \";auto\" to the -e,\n"
+" --referer URL to make curl automatically set the previous URL\n"
, stdout);
fputs(
-" when it follows a Location: header. The \";auto\" string can be\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"
" If this option is used several times, the last one will be used.\n"
@@ -2680,24 +2716,24 @@ void hugehelp(void)
fputs(
" extracting a filename from the URL.\n"
"\n"
-" If the server specifies a file name and a file with that name\n"
-" already exists in the current working directory it will not be\n"
+" If the server specifies a file name and a file with that name\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"
, stdout);
fputs(
" 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"
-" 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"
+" WARNING: Exercise judicious use of this option, especially on\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"
, stdout);
fputs(
" dealt with as if -O, --remote-name were used for each one. So if\n"
@@ -2707,78 +2743,78 @@ 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"
, stdout);
fputs(
-" 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"
-" change the current working directory before invoking curl with\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"
+" 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"
+" 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"
, stdout);
fputs(
-" overwritten. If you want the server to be able to choose the\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"
-" 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"
, stdout);
fputs(
-" 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"
-" 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\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\n"
" local file get that same timestamp.\n"
"\n"
" --request-target\n"
-" (HTTP) Tells curl to use an alternative \"target\" (path) instead\n"
+" (HTTP) Tells curl to use an alternative \"target\" (path) instead\n"
, stdout);
fputs(
-" of using the path as provided in the URL. Particularly useful\n"
-" when wanting to issue HTTP requests without leading slash or\n"
-" other data that doesn't follow the regular URL pattern, like\n"
+" of using the path as provided in the URL. Particularly useful\n"
+" when wanting to issue HTTP requests without leading slash or\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"
+" ing with the HTTP server. The specified request method will be\n"
, stdout);
fputs(
-" used instead of the method otherwise used (which defaults to\n"
-" GET). Read the HTTP 1.1 specification for details and explana-\n"
-" tions. Common additional HTTP requests include PUT and DELETE,\n"
+" used instead of the method otherwise used (which defaults to\n"
+" GET). Read the HTTP 1.1 specification for details and explana-\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"
, stdout);
fputs(
" mand line options.\n"
"\n"
-" This option only changes the actual word used in the HTTP\n"
-" request, it does not alter the way curl behaves. So for example\n"
-" if you want to make a proper HEAD request, using -X HEAD will\n"
+" This option only changes the actual word used in the HTTP\n"
+" request, it does not alter the way curl behaves. So for example\n"
+" if you want to make a proper HEAD request, using -X HEAD will\n"
" not 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"
+" 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"
, stdout);
fputs(
-" cause unintended side-effects when curl doesn't change request\n"
+" cause unintended side-effects when curl doesn't change request\n"
" method according to the HTTP 30x response codes - and similar.\n"
"\n"
" (FTP) Specifies a custom FTP command to use instead of LIST when\n"
@@ -2787,7 +2823,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"
, stdout);
fputs(
" (Added in 7.30.0)\n"
@@ -2798,15 +2834,15 @@ 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.\n"
-" Using this, you can make the curl requests(s) use a specified\n"
+" Provide a custom address for a specific host and port pair.\n"
+" Using this, you can make the curl requests(s) use a specified\n"
, stdout);
fputs(
-" address and prevent the otherwise normally resolved address to\n"
-" be used. Consider it a sort of /etc/hosts alternative provided\n"
-" on the command line. The port number should be the number used\n"
-" for the specific protocol the host will be used for. It means\n"
-" you need several entries if you want to provide address for the\n"
+" address and prevent the otherwise normally resolved address to\n"
+" be used. Consider it a sort of /etc/hosts alternative provided\n"
+" on the command line. The port number should be the number used\n"
+" for the specific protocol the host will be used for. It means\n"
+" you need several entries if you want to provide address for the\n"
" same host but different ports.\n"
"\n"
, stdout);
@@ -2816,10 +2852,10 @@ void hugehelp(void)
" Support for providing the IP address within [brackets] was added\n"
" in 7.57.0.\n"
"\n"
-" 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"
-" This option can be used many times to add many host names to\n"
+" This option can be used many times to add many host names to\n"
" resolve.\n"
"\n"
, stdout);
@@ -2827,19 +2863,19 @@ 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"
" with --retry.\n"
"\n"
" 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\n"
+" Make curl sleep this amount of time before each retry when a\n"
+" transfer has failed with a transient error (it changes the\n"
, stdout);
fputs(
-" default backoff time algorithm between retries). This option is\n"
-" only interesting if --retry is also used. Setting this delay to\n"
+" default 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"
" If this option is used several times, the last one will be used.\n"
@@ -2847,14 +2883,14 @@ 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.\n"
+" The retry timer is reset before the first transfer attempt.\n"
, stdout);
fputs(
" Retries 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"
-" 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\n"
+" reached the limit, the request will be made and while perform-\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\n"
" option to zero to not timeout retries.\n"
"\n"
, stdout);
@@ -2864,19 +2900,19 @@ 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"
-" 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"
+" If a transient error is returned when curl tries to perform a\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"
, stdout);
fputs(
" response code or an HTTP 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"
-" 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"
+" 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"
+" 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"
, stdout);
fputs(
" --retry-max-time to limit the total time allowed for retries.\n"
@@ -2893,7 +2929,7 @@ void hugehelp(void)
" --service-name <name>\n"
" This option allows you to change the service name for SPNEGO.\n"
"\n"
-" Examples: --negotiate --service-name sockd would use\n"
+" Examples: --negotiate --service-name sockd would use\n"
, stdout);
fputs(
" sockd/server-name.\n"
@@ -2903,14 +2939,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"
" for, potentially even to the terminal/stdout unless you redirect\n"
" it.\n"
"\n"
, stdout);
fputs(
-" 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"
@@ -2919,7 +2955,7 @@ void hugehelp(void)
" Use the specified SOCKS4 proxy. If the port number is not speci-\n"
" fied, 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"
" are mutually exclusive.\n"
"\n"
, stdout);
@@ -2927,7 +2963,7 @@ void hugehelp(void)
" 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"
" 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"
@@ -2941,17 +2977,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"
" are mutually exclusive.\n"
"\n"
" Since 7.21.7, this option is superfluous since you can specify a\n"
, stdout);
fputs(
-" 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"
" nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
"\n"
@@ -2963,19 +2999,19 @@ 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"
+" ing to a SOCKS5 proxy. The username/password authentication is\n"
" enabled by default. Use --socks5-gssapi to force GSS-API\n"
" authentication to SOCKS5 proxies.\n"
"\n"
" Added in 7.55.0.\n"
"\n"
" --socks5-gssapi-nec\n"
-" As part of the GSS-API negotiation a protection mode is negoti-\n"
+" As part of the GSS-API negotiation a protection mode is negoti-\n"
, stdout);
fputs(
-" 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"
+" 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"
@@ -2986,31 +3022,31 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
"\n"
" --socks5-gssapi\n"
-" Tells curl to use GSS-API authentication when connecting to a\n"
+" Tells curl to use GSS-API authentication when connecting to a\n"
, stdout);
fputs(
-" SOCKS5 proxy. The GSS-API authentication is enabled by default\n"
-" (if curl is compiled with GSS-API support). Use --socks5-basic\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"
-" host name). If the port number is not specified, it is assumed\n"
+" Use the specified SOCKS5 proxy (and let the proxy resolve the\n"
+" host name). If the port number is not specified, it is assumed\n"
" at port 1080.\n"
"\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"
@@ -3018,7 +3054,7 @@ void hugehelp(void)
" col prefix.\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"
, stdout);
fputs(
" such a case curl first connects to the SOCKS proxy and then con-\n"
@@ -3029,26 +3065,26 @@ void hugehelp(void)
" Added in 7.18.0.\n"
"\n"
" --socks5 <host[:port]>\n"
-" Use the specified SOCKS5 proxy - but resolve the host name\n"
-" locally. If the port number is not specified, it is assumed at\n"
+" Use the specified SOCKS5 proxy - but resolve the host name\n"
+" locally. If the port number is not specified, it is assumed at\n"
" port 1080.\n"
"\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"
" socks5 proxy with -x, --proxy using a socks5:// 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"
" 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"
@@ -3057,7 +3093,7 @@ void hugehelp(void)
" If a download is slower than this given speed (in bytes per sec-\n"
, stdout);
fputs(
-" 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"
@@ -3065,23 +3101,23 @@ void hugehelp(void)
" -y, --speed-time <seconds>\n"
" If a download is slower than speed-limit bytes per second during\n"
" a speed-time period, the download gets aborted. If speed-time is\n"
-" 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"
, stdout);
fputs(
" --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"
"\n"
" --ssl-allow-beast\n"
" This option tells curl to not work around a security flaw in the\n"
-" SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n"
+" SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n"
, stdout);
fputs(
-" used, the SSL layer may use workarounds known to cause interop-\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"
@@ -3089,7 +3125,7 @@ void hugehelp(void)
" Added in 7.25.0.\n"
"\n"
" --ssl-no-revoke\n"
-" (WinSSL) This option tells curl to disable certificate revoca-\n"
+" (WinSSL) This option tells curl to disable certificate revoca-\n"
" tion checks. WARNING: this option loosens the SSL security, and\n"
, stdout);
fputs(
@@ -3105,15 +3141,15 @@ void hugehelp(void)
"\n"
" Added in 7.20.0.\n"
"\n"
-" --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection.\n"
+" --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection.\n"
, stdout);
fputs(
" Reverts 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"
+" 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\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\n"
" future version.\n"
"\n"
" Added in 7.20.0.\n"
@@ -3121,29 +3157,29 @@ void hugehelp(void)
" -2, --sslv2\n"
, stdout);
fputs(
-" (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"
" rides -3, --sslv3 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
"\n"
" -3, --sslv3\n"
, stdout);
fputs(
-" (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"
" rides -2, --sslv2 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n"
"\n"
" --stderr\n"
, stdout);
fputs(
-" 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"
@@ -3151,12 +3187,12 @@ void hugehelp(void)
" See also -v, --verbose and -s, --silent.\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"
+" When -p, --proxytunnel is used and a CONNECT request is made\n"
+" don't output proxy CONNECT response headers. This option is\n"
, stdout);
fputs(
-" 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\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\n"
" effect on debug options such as -v, --verbose or --trace, or any\n"
" statistics.\n"
"\n"
@@ -3171,10 +3207,10 @@ void hugehelp(void)
" --tcp-nodelay\n"
, stdout);
fputs(
-" 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"
-" 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"
@@ -3204,33 +3240,33 @@ void hugehelp(void)
" --tftp-no-options\n"
" (TFTP) Tells curl not to send TFTP options requests.\n"
"\n"
-" 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"
+" (HTTP FTP) Request a file that has been modified later than the\n"
, stdout);
fputs(
-" given time and date, or one that has been modified before that\n"
-" time. The <date expression> can be all sorts of date strings or\n"
+" given time and date, or one that has been modified before that\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>\n"
-" instead. See the curl_getdate(3) man pages for date expression\n"
+" and tries to get the modification date (mtime) from <file>\n"
+" instead. See the curl_getdate(3) man pages for date expression\n"
" details.\n"
"\n"
" Start the date expression with a dash (-) to make it request for\n"
, stdout);
fputs(
-" 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"
" document that is newer than the specified date/time.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" --tls-max <VERSION>\n"
-" (SSL) VERSION defines maximum supported TLS version. A minimum\n"
+" (SSL) VERSION defines maximum supported TLS version. A minimum\n"
" is defined by arguments tlsv1.0 or tlsv1.1 or tlsv1.2.\n"
"\n"
" default\n"
@@ -3247,33 +3283,33 @@ void hugehelp(void)
" the underlying libcurl was built to support TLS. Added in 7.54.0.\n"
"\n"
" --tlsauthtype <type>\n"
-" Set TLS authentication type. Currently, the only supported\n"
-" option is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n"
+" Set TLS authentication type. Currently, the only supported\n"
+" option is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n"
, stdout);
fputs(
-" --tlspassword are specified but --tlsauthtype is not, then this\n"
-" option defaults to \"SRP\". This option works only if the under-\n"
-" lying libcurl is built with TLS-SRP support, which requires\n"
+" --tlspassword are specified but --tlsauthtype is not, then this\n"
+" option defaults to \"SRP\". This option works only if the under-\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"
, stdout);
fputs(
"\n"
" Added in 7.21.4.\n"
" --tlsuser <name>\n"
-" Set username for use with the TLS authentication method speci-\n"
-" fied with --tlsauthtype. Requires that --tlspassword also is\n"
+" Set username for use with the TLS authentication method speci-\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 when connecting to a\n"
+" (TLS) Forces curl to use TLS version 1.0 when connecting to a\n"
" remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
@@ -3281,19 +3317,19 @@ void hugehelp(void)
" --tlsv1.1\n"
, stdout);
fputs(
-" (TLS) Forces curl to use TLS version 1.1 when connecting to a\n"
+" (TLS) Forces curl to use TLS version 1.1 when connecting to a\n"
" remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
"\n"
" --tlsv1.2\n"
-" (TLS) Forces curl to use TLS version 1.2 when connecting to a\n"
+" (TLS) Forces curl to use TLS version 1.2 when connecting to a\n"
" remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
"\n"
" --tlsv1.3\n"
-" (TLS) Forces curl to use TLS version 1.3 when connecting to a\n"
+" (TLS) Forces curl to use TLS version 1.3 when connecting to a\n"
" remote TLS server.\n"
"\n"
, stdout);
@@ -3305,18 +3341,18 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" -1, --tlsv1\n"
-" (SSL) Tells curl to use TLS version 1.x when negotiating with a\n"
+" (SSL) Tells curl to use TLS version 1.x when negotiating with a\n"
" remote TLS server. That means TLS version 1.0, 1.1 or 1.2.\n"
"\n"
, stdout);
fputs(
-" 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"
" 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"
@@ -3324,12 +3360,12 @@ void hugehelp(void)
" --trace-ascii <file>\n"
, stdout);
fputs(
-" Enables a full trace dump of all incoming and outgoing data,\n"
+" Enables a full trace dump of all incoming and outgoing data,\n"
" including descriptive information, to the given output file. Use\n"
" \"-\" 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"
, stdout);
@@ -3339,17 +3375,17 @@ void hugehelp(void)
" This option overrides --trace and -v, --verbose.\n"
"\n"
" --trace-time\n"
-" 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,\n"
+" Enables a full trace dump of all incoming and outgoing data,\n"
" including descriptive information, to the given output file. Use\n"
, stdout);
fputs(
-" \"-\" as filename to have the output sent to stdout. Use \"%\" as\n"
+" \"-\" as filename to have the output sent to stdout. Use \"%\" as\n"
" filename to have the output sent to stderr.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3365,10 +3401,10 @@ void hugehelp(void)
" -T, --upload-file <file>\n"
, stdout);
fputs(
-" This transfers the specified local file to the remote URL. If\n"
+" This transfers the specified local file to the remote URL. If\n"
" 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"
, stdout);
@@ -3376,19 +3412,19 @@ void hugehelp(void)
" fail. If this is used on an HTTP(S) server, the PUT command will\n"
" be used.\n"
"\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\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\n"
" uploaded.\n"
"\n"
, stdout);
fputs(
-" 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"
-" 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"
+" 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"
+" 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"
, stdout);
@@ -3399,42 +3435,42 @@ void hugehelp(void)
"\n"
" curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n"
"\n"
-" 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"
, stdout);
fputs(
-" 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"
-" 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"
, stdout);
fputs(
" will be used. Since 7.45.0 guessing can be disabled by setting a\n"
" default protocol, see --proto-default for details.\n"
"\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"
+" 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\n"
+" (FTP LDAP) Enable ASCII transfer. For FTP, this can also be\n"
, stdout);
fputs(
-" enforced by using a URL that ends with \";type=A\". This option\n"
+" enforced 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"
" (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 can also be set with the -H, --header option\n"
-" of course.\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"
, stdout);
fputs(
@@ -3444,69 +3480,69 @@ void hugehelp(void)
" Specify the user name and password to use for server authentica-\n"
" 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"
+" The user name and passwords are split up on the first colon,\n"
, stdout);
fputs(
-" which makes it impossible to use a colon in the user name with\n"
+" which makes it impossible to use a colon in the user name with\n"
" this option. The password can, still.\n"
"\n"
-" When using Kerberos V5 with a Windows based server you should\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"
+" When using Kerberos V5 with a Windows based server you should\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"
, stdout);
fputs(
-" 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"
-" 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"
+" If you use a Windows SSPI-enabled curl binary and perform Ker-\n"
, stdout);
fputs(
-" beros V5, Negotiate, NTLM or Digest authentication then you can\n"
-" tell curl to select the user name and password from your envi-\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"
" ronment by specifying a single colon with this option: \"-u :\".\n"
"\n"
" 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"
+" Makes curl verbose during the operation. Useful for debugging\n"
+" and seeing what's going on \"under the hood\". A line starting\n"
, stdout);
fputs(
-" with '>' means \"header data\" sent by curl, '<' means \"header\n"
-" data\" received by curl that is hidden in normal cases, and a\n"
+" with '>' means \"header data\" sent by curl, '<' means \"header\n"
+" data\" received by curl that is hidden in normal cases, and a\n"
" line starting with '*' means additional info provided by curl.\n"
"\n"
" 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"
, stdout);
fputs(
" 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"
" --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"
, stdout);
fputs(
-" 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"
@@ -3516,25 +3552,25 @@ 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"
, stdout);
fputs(
" 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"
-" 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"
, stdout);
fputs(
-" 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"
@@ -3553,7 +3589,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"
" HTTP2 HTTP/2 support has been built-in.\n"
@@ -3567,52 +3603,52 @@ void hugehelp(void)
" Metalink\n"
, stdout);
fputs(
-" 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"
" 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"
, stdout);
fputs(
" -w, --write-out <format>\n"
" Make curl display information on stdout after a completed trans-\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"
+" 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"
, stdout);
fputs(
-" The variables present in the output format will be substituted\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"
+" The variables present in the output format will be substituted\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"
" NOTE: The %-symbol is a special symbol in the win32-environment,\n"
, stdout);
fputs(
-" where all occurrences of % must be doubled when using this\n"
+" where all occurrences of % must be doubled when using this\n"
" option.\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"
-" This is only meaningful if curl is told to write\n"
+" The ultimate filename that curl writes out to.\n"
+" This is only meaningful if curl is told to write\n"
, stdout);
fputs(
-" 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"
+" 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"
@@ -3621,12 +3657,12 @@ void hugehelp(void)
, stdout);
fputs(
" 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\n"
-" response (from a proxy) to a curl CONNECT\n"
+" http_connect The numerical code that was found in the last\n"
+" response (from a proxy) to a curl CONNECT\n"
" request. (Added in 7.12.4)\n"
"\n"
, stdout);
@@ -3634,19 +3670,19 @@ void hugehelp(void)
" 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\n"
-" recently done connection - can be either IPv4 or\n"
+" local_ip The IP address of the local end of the most\n"
+" recently done connection - can be either IPv4 or\n"
" IPv6 (Added in 7.29.0)\n"
"\n"
-" 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"
, stdout);
fputs(
-" 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\n"
+" num_redirects Number of redirects that were followed in the\n"
" request. (Added in 7.12.3)\n"
"\n"
" proxy_ssl_verify_result\n"
@@ -3657,20 +3693,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"
" 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"
, stdout);
fputs(
" 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"
" was effectively used (Added in 7.52.0)\n"
"\n"
" size_download The total amount of bytes that were downloaded.\n"
@@ -3680,7 +3716,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"
@@ -3690,34 +3726,34 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
" was successful. (Added in 7.19.0)\n"
"\n"
" time_appconnect\n"
, stdout);
fputs(
-" The time, in seconds, it took from the start\n"
-" until the SSL/SSH/etc connect/handshake to the\n"
+" The time, in seconds, it took from the start\n"
+" until the SSL/SSH/etc connect/handshake to the\n"
" remote host was completed. (Added in 7.19.0)\n"
"\n"
-" time_connect The time, in seconds, it took from the start\n"
-" until the TCP connect to the remote host (or\n"
+" time_connect The time, in seconds, it took from the start\n"
+" until the TCP connect to the remote host (or\n"
" proxy) was completed.\n"
"\n"
" time_namelookup\n"
, stdout);
fputs(
-" The time, in seconds, it took from the start\n"
+" The time, in seconds, it took from the start\n"
" until the name resolving was completed.\n"
"\n"
" time_pretransfer\n"
-" The time, in seconds, it took from the start\n"
-" until the file transfer was just about to begin.\n"
+" The time, in seconds, it took from the start\n"
+" until the file transfer was just about to begin.\n"
" This includes all pre-transfer commands and nego-\n"
" tiations that are specific to the particular pro-\n"
, stdout);
@@ -3726,39 +3762,39 @@ 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"
-" tion time for multiple redirections. (Added in\n"
+" and transfer before the final transaction was\n"
+" started. time_redirect shows the complete execu-\n"
+" tion time for multiple redirections. (Added in\n"
" 7.12.3)\n"
"\n"
, stdout);
fputs(
" time_starttransfer\n"
-" The time, in seconds, it took from the start\n"
-" until 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\n"
+" The time, in seconds, it took from the start\n"
+" until 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\n"
" result.\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"
, stdout);
fputs(
" 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"
"\n"
" --xattr\n"
-" 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"
, stdout);
fputs(
" 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"
@@ -3772,7 +3808,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"
@@ -3783,51 +3819,52 @@ void hugehelp(void)
" [url-protocol]_PROXY [protocol://]<host>[:port]\n"
, stdout);
fputs(
-" 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"
" set.\n"
"\n"
" NO_PROXY <comma-separated list of hosts>\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"
, stdout);
fputs(
-" to a asterisk '*' only, it matches all hosts.\n"
+" to an asterisk '*' only, it matches all hosts.\n"
"\n"
-" This environment variable disables use of the proxy even when\n"
-" specified with the -x, --proxy option. That is\n"
-" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
-" http://direct.example.com accesses the target URL directly, and\n"
-" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
+" This environment variable disables use of the proxy even when\n"
+" specified with the -x, --proxy option. That is\n"
+" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
+" http://direct.example.com accesses the target URL directly, and\n"
+" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
, stdout);
fputs(
" 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\n"
-" addresses, and IPv6 versions should then be given without\n"
+" The list of host names can also be include numerical IP\n"
+" addresses, and IPv6 versions should then be given without\n"
" enclosing 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"
, stdout);
fputs(
-" 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"
" The supported proxy protocol prefixes are as follows:\n"
"\n"
" http://\n"
-" Makes it use it as a HTTP proxy. The default if no scheme prefix\n"
-" is used.\n"
+" Makes it use it as an HTTP proxy. The default if no scheme pre-\n"
+" fix is used.\n"
+"\n"
" https://\n"
-" Makes it treated as a HTTPS proxy.\n"
+" Makes it treated as an HTTPS proxy.\n"
"\n"
" socks4://\n"
" Makes it the equivalent of --socks4\n"
@@ -3844,8 +3881,8 @@ 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\n"
-" error messages that may appear during bad conditions. At the time of\n"
+" There are a bunch of different error codes and their corresponding\n"
+" error messages that may appear during bad conditions. At the time of\n"
" this writing, the exit codes are:\n"
"\n"
, stdout);
@@ -3857,14 +3894,14 @@ void hugehelp(void)
"\n"
" 3 URL malformed. The syntax was not correct.\n"
"\n"
-" 4 A feature or option that was needed to perform the desired\n"
-" request was not enabled or was explicitly disabled at build-\n"
-" time. To make curl able to do this, you probably need another\n"
+" 4 A feature or option that was needed to perform the desired\n"
+" request was not enabled or was explicitly disabled at build-\n"
+" time. To make curl able to do this, you probably need another\n"
" build of libcurl!\n"
"\n"
, stdout);
fputs(
-" 5 Couldn't resolve proxy. The given proxy host could not be\n"
+" 5 Couldn't resolve proxy. The given proxy host could not be\n"
" resolved.\n"
"\n"
" 6 Couldn't resolve host. The given remote host was not resolved.\n"
@@ -3873,32 +3910,32 @@ void hugehelp(void)
"\n"
" 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"
+" 9 FTP access denied. The server denied login or denied access to\n"
+" the particular resource or directory you wanted to reach. Most\n"
, stdout);
fputs(
-" often you tried to change to a directory that doesn't exist on\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"
" 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"
, stdout);
fputs(
-" 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"
" 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"
, stdout);
@@ -3907,25 +3944,25 @@ void hugehelp(void)
" 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\n"
+" 17 FTP couldn't set binary. Couldn't change transfer method to\n"
" binary.\n"
"\n"
" 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"
, stdout);
fputs(
" 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\n"
-" returned another error with the HTTP error code being 400 or\n"
+" 22 HTTP page not retrieved. The requested url was not found or\n"
+" returned another error with the HTTP error code being 400 or\n"
" above. This return code only appears if -f, --fail is used.\n"
"\n"
-" 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"
, stdout);
fputs(
" used for FTP uploading.\n"
@@ -3934,16 +3971,16 @@ void hugehelp(void)
"\n"
" 27 Out of memory. A memory allocation request failed.\n"
"\n"
-" 28 Operation timeout. The specified time-out period was reached\n"
+" 28 Operation timeout. The specified time-out period was reached\n"
" according to the conditions.\n"
"\n"
-" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n"
-" support the PORT command, try doing a transfer using PASV\n"
+" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n"
+" support the PORT command, try doing a transfer using PASV\n"
" instead!\n"
"\n"
, stdout);
fputs(
-" 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"
@@ -3952,7 +3989,7 @@ void hugehelp(void)
"\n"
" 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"
, stdout);
@@ -3972,14 +4009,14 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
" rejected. Read up in the manual!\n"
"\n"
" 49 Malformed telnet option.\n"
@@ -3988,7 +4025,7 @@ void hugehelp(void)
fputs(
" 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"
@@ -4005,7 +4042,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" 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"
@@ -4020,7 +4057,7 @@ void hugehelp(void)
"\n"
" 66 Failed to initialise SSL Engine.\n"
"\n"
-" 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"
, stdout);
@@ -4053,7 +4090,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"
@@ -4084,7 +4121,7 @@ void hugehelp(void)
"AUTHORS / CONTRIBUTORS\n"
, stdout);
fputs(
-" 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"
@@ -5340,4854 +5377,4896 @@ 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 197942
- to 58137 bytes. You can disable the use of compressed help
+ Thanks to this operation, the size of this data shrank from 199742
+ to 58638 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, 0xfd,
- 0x6b, 0x7b, 0xdc, 0x46, 0x92, 0x26, 0x80, 0x7e, 0xe7, 0xaf, 0xc0, 0x54,
- 0x9f, 0x1e, 0x92, 0xd3, 0x55, 0xc5, 0x8b, 0x2e, 0xb6, 0x68, 0xc9, 0xd3,
- 0x34, 0x45, 0xd9, 0x1c, 0x53, 0x22, 0x97, 0x45, 0xd9, 0xee, 0xb5, 0xfd,
- 0xe8, 0x41, 0x55, 0x81, 0x24, 0x5a, 0x55, 0x40, 0x35, 0x80, 0x22, 0xc5,
- 0x9e, 0x9d, 0xfd, 0xed, 0x27, 0xe3, 0x8d, 0x88, 0xcc, 0x04, 0x32, 0xab,
- 0x48, 0xbb, 0xed, 0xde, 0x39, 0x67, 0xb7, 0x77, 0xc7, 0x92, 0x48, 0x20,
- 0x91, 0xd7, 0xc8, 0xb8, 0xbc, 0xf1, 0x46, 0x92, 0x3c, 0xf4, 0xbf, 0x0f,
- 0xf8, 0xbf, 0x0f, 0xe6, 0x7f, 0xe6, 0xcf, 0x8d, 0x24, 0x39, 0xaf, 0xca,
- 0xbf, 0x66, 0x93, 0x26, 0xfe, 0xec, 0x87, 0x0f, 0xff, 0x2b, 0xe1, 0xff,
- 0x67, 0xde, 0xf9, 0xc9, 0xfc, 0xb9, 0xb1, 0xb6, 0xed, 0x9d, 0xc4, 0xbd,
- 0xf0, 0xbf, 0x3e, 0x6c, 0x27, 0x0f, 0xbd, 0xf0, 0xbf, 0x92, 0x2d, 0xbc,
- 0xf0, 0x41, 0xbe, 0xf0, 0x92, 0xfe, 0xfe, 0xe1, 0xc3, 0xfa, 0x8f, 0xfc,
- 0x44, 0xbd, 0xa2, 0xff, 0xec, 0xd0, 0x7b, 0x3f, 0x7d, 0xa0, 0xbf, 0x9a,
- 0x9f, 0x6c, 0x6c, 0xbc, 0x3b, 0x7c, 0x7b, 0xac, 0xaf, 0x4e, 0x96, 0xd5,
- 0x2c, 0x19, 0x24, 0x4d, 0x95, 0x16, 0xf5, 0x55, 0x56, 0x25, 0x69, 0xf2,
- 0xfe, 0xe2, 0x74, 0x63, 0x63, 0xf4, 0x97, 0x77, 0x67, 0xe7, 0xa3, 0x93,
- 0x51, 0xeb, 0xb1, 0x1f, 0xcb, 0x45, 0x93, 0x97, 0x45, 0xfd, 0x73, 0xf2,
- 0xa3, 0x79, 0x68, 0x38, 0x1c, 0xfe, 0xbc, 0xb1, 0xf1, 0xfa, 0x78, 0x74,
- 0x74, 0x71, 0x72, 0x7e, 0x79, 0x72, 0xf6, 0xae, 0xf5, 0x6c, 0x92, 0xd7,
- 0x89, 0x69, 0xac, 0x29, 0xcb, 0x99, 0xf9, 0x8f, 0x6b, 0x7f, 0x9a, 0x36,
- 0x69, 0x72, 0x55, 0x95, 0xf3, 0xa4, 0xac, 0xe8, 0x17, 0x69, 0x52, 0x67,
- 0xd5, 0x6d, 0x56, 0xf5, 0x93, 0x65, 0x9d, 0x17, 0xd7, 0x49, 0x59, 0x64,
- 0x49, 0x79, 0x95, 0x34, 0x37, 0x99, 0x36, 0x57, 0x2f, 0x17, 0x8b, 0xb2,
- 0x6a, 0xb2, 0x69, 0xb2, 0xa8, 0xca, 0xa6, 0x9c, 0x94, 0xb3, 0x3a, 0xd9,
- 0x7a, 0x7d, 0x72, 0x74, 0xd9, 0x4f, 0xde, 0x9c, 0x9c, 0x1e, 0x9b, 0xff,
- 0x5e, 0x9e, 0xe3, 0x3f, 0xa3, 0x7e, 0xf2, 0xf5, 0xd9, 0xf9, 0x37, 0xc7,
- 0x17, 0xfd, 0xe4, 0x9b, 0x4b, 0xfa, 0x19, 0xfd, 0xd7, 0xfc, 0x30, 0x39,
- 0x79, 0x7b, 0x78, 0xde, 0xd7, 0xe6, 0xe8, 0x1f, 0xf4, 0xc3, 0xd3, 0xd7,
- 0xe6, 0x87, 0xfc, 0x07, 0xfd, 0xf3, 0xfc, 0xec, 0xfc, 0x89, 0xfc, 0x41,
- 0xff, 0xbc, 0xb8, 0x7c, 0x6b, 0x7e, 0x7b, 0x71, 0x39, 0x32, 0xff, 0x1d,
- 0x1d, 0xd1, 0x7f, 0xf0, 0x95, 0xd1, 0xdb, 0xaf, 0xf0, 0x9f, 0x91, 0x6d,
- 0x6e, 0xf4, 0x96, 0x7f, 0x8e, 0x2f, 0x5d, 0x1e, 0x9f, 0xbe, 0x3b, 0xbe,
- 0x4c, 0xd2, 0x62, 0x9a, 0x5c, 0x9a, 0xe7, 0xb7, 0x87, 0xc9, 0xe5, 0x4d,
- 0x96, 0x4c, 0xca, 0xf9, 0x9c, 0x7e, 0x64, 0x66, 0x64, 0x9a, 0xd5, 0xf9,
- 0x75, 0x61, 0x86, 0x62, 0x46, 0x7e, 0x57, 0x56, 0x1f, 0x93, 0xe4, 0x2e,
- 0x6f, 0x6e, 0xca, 0x65, 0xa3, 0xcd, 0x2d, 0xcd, 0x6c, 0x24, 0x79, 0xd1,
- 0x64, 0x55, 0x3a, 0xa1, 0xb9, 0x1e, 0x6e, 0xb4, 0x66, 0xb5, 0xbc, 0x32,
- 0x73, 0x58, 0x9b, 0x49, 0x1b, 0x2f, 0xeb, 0x59, 0x99, 0x4e, 0x69, 0xaa,
- 0xcc, 0x2b, 0x57, 0x4b, 0x33, 0xc9, 0x55, 0x3e, 0xf9, 0x58, 0x27, 0xb3,
- 0xfc, 0x63, 0x46, 0x13, 0xf5, 0xe9, 0x5e, 0x27, 0xae, 0xcf, 0x8d, 0xa6,
- 0x4b, 0x33, 0xa7, 0xc5, 0x40, 0x9b, 0x6b, 0xf2, 0x49, 0x4a, 0x1f, 0xc0,
- 0xcc, 0x25, 0xcb, 0x05, 0xb5, 0xc6, 0x33, 0x96, 0x2c, 0xca, 0xda, 0xbc,
- 0x34, 0x1a, 0x9d, 0x9a, 0x9e, 0x17, 0x45, 0x86, 0x7e, 0xd4, 0x7d, 0xf3,
- 0x8f, 0xf2, 0x63, 0x9e, 0x99, 0xbf, 0x5c, 0xe5, 0xb3, 0x2c, 0xe1, 0x15,
- 0xb5, 0xcd, 0xd1, 0xd2, 0x26, 0x55, 0x56, 0x2f, 0xe7, 0x99, 0x99, 0xbd,
- 0xb7, 0x59, 0x93, 0xce, 0xf2, 0xe2, 0xa3, 0xf9, 0x2b, 0x0d, 0x7c, 0x5e,
- 0x56, 0xd9, 0x30, 0x39, 0xac, 0x93, 0xfb, 0x72, 0x69, 0x06, 0x3c, 0x9b,
- 0x99, 0x35, 0xcf, 0x92, 0x71, 0x36, 0x2b, 0xef, 0xfa, 0xb4, 0xd2, 0x49,
- 0xb1, 0x9c, 0x8f, 0x4d, 0x03, 0xe5, 0x95, 0x6b, 0x2e, 0x6d, 0x96, 0xa6,
- 0x39, 0x7e, 0x7a, 0x9e, 0x9a, 0x31, 0x99, 0x77, 0xab, 0xe4, 0x26, 0x33,
- 0x63, 0xae, 0x17, 0x79, 0xf1, 0x2f, 0xed, 0x79, 0x31, 0x53, 0xbb, 0x28,
- 0xef, 0xb2, 0xca, 0xcc, 0xec, 0xf8, 0x3e, 0x31, 0x93, 0x30, 0xe6, 0x4d,
- 0x78, 0x65, 0x36, 0x59, 0x92, 0x9a, 0x26, 0xec, 0x06, 0x1c, 0x54, 0xd9,
- 0x2c, 0xa5, 0xcd, 0x64, 0xbf, 0x31, 0x34, 0x8b, 0x98, 0xd9, 0xdd, 0x26,
- 0xaf, 0x6e, 0x3d, 0xd9, 0xc6, 0xcb, 0x53, 0x33, 0x92, 0x7c, 0x56, 0x9b,
- 0x65, 0xa0, 0x63, 0x21, 0xcf, 0xd0, 0xa2, 0xd2, 0x31, 0x31, 0x7b, 0xf3,
- 0xbe, 0x68, 0xd2, 0x4f, 0xf8, 0xbc, 0xec, 0xcd, 0xc1, 0x34, 0x5b, 0x64,
- 0xc5, 0x34, 0x2b, 0x9a, 0x61, 0xf2, 0x97, 0x72, 0xb9, 0x69, 0xbe, 0x7d,
- 0x95, 0x9b, 0x39, 0x48, 0xa5, 0x29, 0xf3, 0x65, 0xb3, 0x09, 0x26, 0x55,
- 0xbe, 0xf0, 0x96, 0xa2, 0x2c, 0xcc, 0x9a, 0x27, 0x17, 0x6f, 0x8e, 0x92,
- 0x27, 0x2f, 0x3e, 0x7f, 0xee, 0xd6, 0xdc, 0x34, 0x90, 0x4c, 0xd2, 0xc2,
- 0x8c, 0x38, 0x9b, 0xe4, 0x57, 0xf7, 0xc9, 0x7c, 0x39, 0x6b, 0xf2, 0x85,
- 0x99, 0x7d, 0xf3, 0xf1, 0x9a, 0x0e, 0xd0, 0x22, 0xad, 0x9a, 0x9a, 0x36,
- 0x01, 0x7e, 0x80, 0xb1, 0xdf, 0x55, 0x79, 0x43, 0x07, 0x09, 0xbf, 0x33,
- 0x3d, 0xcc, 0x9a, 0x5a, 0x9b, 0xa3, 0xbd, 0x66, 0xbe, 0x33, 0x36, 0x7b,
- 0xcb, 0x4c, 0x6d, 0x5a, 0x9b, 0x8f, 0x1e, 0x6c, 0x38, 0x19, 0x72, 0xd3,
- 0x34, 0x8b, 0x83, 0x9d, 0x9d, 0x3a, 0x6f, 0xb2, 0xe1, 0x7f, 0x9a, 0x73,
- 0xd8, 0x6f, 0xee, 0xca, 0x7e, 0x73, 0x53, 0x65, 0xd9, 0x7f, 0x0d, 0xcd,
- 0x1e, 0xb6, 0x4f, 0x9a, 0xef, 0xde, 0x4b, 0xc7, 0xae, 0xb3, 0xc6, 0x7c,
- 0xe1, 0x6f, 0xcb, 0xac, 0xa0, 0x16, 0x4d, 0x3f, 0xd2, 0xd9, 0xe2, 0x26,
- 0x35, 0xcb, 0x99, 0x99, 0xdd, 0x48, 0x27, 0xdb, 0x6c, 0x18, 0xea, 0x15,
- 0x9f, 0xed, 0x1f, 0x7f, 0x0e, 0x3f, 0x7a, 0x85, 0x6f, 0x9a, 0xff, 0x0e,
- 0xb3, 0x4f, 0xe9, 0xdc, 0x8c, 0x8d, 0x3e, 0xb5, 0x43, 0x5b, 0xec, 0xc7,
- 0xbd, 0xc1, 0xde, 0xee, 0xee, 0xcf, 0xc3, 0xe6, 0x53, 0xf3, 0xb8, 0xe7,
- 0x77, 0x77, 0xdd, 0x1b, 0xf4, 0xe8, 0x16, 0x8d, 0x37, 0x99, 0x99, 0x2d,
- 0x43, 0x1f, 0xff, 0x7b, 0x56, 0x95, 0xf5, 0xf6, 0xe3, 0x5a, 0x4a, 0x07,
- 0x7f, 0x6f, 0x7f, 0xf7, 0x5d, 0x56, 0x63, 0xcf, 0xb8, 0xb1, 0x26, 0x69,
- 0x65, 0xf6, 0x6d, 0xd9, 0x38, 0xf1, 0xd4, 0x37, 0x87, 0xb2, 0xb1, 0x33,
- 0x63, 0xce, 0x9c, 0x79, 0xda, 0x08, 0xb6, 0x74, 0x46, 0x32, 0xad, 0x4e,
- 0x8a, 0xec, 0x93, 0x3d, 0xe5, 0xe6, 0xf4, 0x67, 0xe9, 0xe4, 0x26, 0x29,
- 0xcd, 0xe6, 0xaf, 0x22, 0x4b, 0xe0, 0x77, 0x28, 0xad, 0x26, 0x37, 0xf9,
- 0xad, 0x99, 0x8d, 0x17, 0x2f, 0x9e, 0x0f, 0xcc, 0x7f, 0x5e, 0xfc, 0xbc,
- 0x73, 0x5b, 0xce, 0xcc, 0xe4, 0x3c, 0xfd, 0x79, 0x87, 0x96, 0xf8, 0x3f,
- 0xd3, 0xfe, 0xb8, 0x3f, 0xf9, 0xaf, 0xe1, 0x4d, 0x33, 0x9f, 0xad, 0xdc,
- 0x38, 0x69, 0x61, 0xfe, 0x6f, 0x5e, 0x2e, 0x8b, 0xc6, 0x6e, 0x16, 0xb3,
- 0xe7, 0x1a, 0x4f, 0x38, 0x99, 0xe3, 0x6a, 0xce, 0x28, 0x6d, 0x6d, 0xda,
- 0x43, 0x74, 0xea, 0xcc, 0x01, 0x75, 0xc7, 0xb1, 0x99, 0xdc, 0x98, 0xf1,
- 0x9b, 0xcd, 0x93, 0xca, 0x1c, 0x34, 0x79, 0x4a, 0x07, 0xd3, 0xc8, 0x07,
- 0x92, 0x57, 0x68, 0x8a, 0x3f, 0x96, 0x9b, 0xe7, 0xca, 0x6a, 0x9a, 0x55,
- 0xed, 0x6d, 0x8c, 0xee, 0xb8, 0xfe, 0x24, 0x66, 0x3e, 0x17, 0xe6, 0xe3,
- 0x4b, 0x12, 0x75, 0x38, 0x69, 0xd4, 0x82, 0x39, 0xa3, 0xd7, 0x66, 0xaa,
- 0xcc, 0xf4, 0xd0, 0xc6, 0xa2, 0xd9, 0xbb, 0x4f, 0xde, 0x99, 0x35, 0x64,
- 0xf9, 0xe0, 0xed, 0xbf, 0x59, 0xd6, 0x34, 0x0f, 0xce, 0x9c, 0xdb, 0x44,
- 0x07, 0x7b, 0xc1, 0x3e, 0x5a, 0xf5, 0xbc, 0x59, 0xfa, 0x83, 0xfd, 0xf6,
- 0xc3, 0xdf, 0x1b, 0xb9, 0xe9, 0x76, 0xb0, 0xf9, 0xfa, 0x7f, 0xfe, 0x97,
- 0xb7, 0x11, 0xee, 0xe8, 0xb7, 0x79, 0x71, 0x5b, 0x7e, 0x34, 0x03, 0xc7,
- 0xc5, 0x96, 0xb6, 0x26, 0x35, 0x21, 0xd1, 0x30, 0x5f, 0x34, 0xf6, 0xc6,
- 0xa0, 0x1d, 0x62, 0x7e, 0x34, 0x4e, 0xc7, 0xb3, 0xfb, 0xe4, 0x26, 0xbd,
- 0xcd, 0x68, 0xbc, 0x0b, 0xb3, 0x75, 0x68, 0x06, 0x8c, 0x24, 0x9f, 0x41,
- 0xb4, 0xc8, 0x59, 0x9d, 0x96, 0xcb, 0xb1, 0x39, 0xef, 0x7f, 0x5b, 0x96,
- 0x0d, 0x4f, 0x4c, 0x7a, 0x5b, 0xe6, 0xd3, 0xd6, 0xf5, 0x78, 0x93, 0x91,
- 0x8c, 0xa1, 0x0f, 0xe3, 0xde, 0x30, 0x32, 0x8e, 0x7a, 0x8a, 0xbd, 0x9f,
- 0x37, 0x74, 0x03, 0x19, 0xe9, 0x94, 0xce, 0xea, 0x32, 0x49, 0xae, 0x4b,
- 0xda, 0xb8, 0x90, 0x89, 0xd8, 0x79, 0x66, 0x51, 0x6e, 0x52, 0xba, 0x68,
- 0xcc, 0x9d, 0x62, 0xb7, 0x66, 0x95, 0x41, 0x3c, 0x62, 0xa5, 0xd2, 0x59,
- 0x9f, 0x2f, 0x14, 0x7a, 0x47, 0xa6, 0x2a, 0xd9, 0xfc, 0xd7, 0xcd, 0x7e,
- 0xb2, 0xf9, 0xef, 0x9b, 0x10, 0xed, 0x9b, 0xff, 0xb6, 0xe9, 0xd6, 0xd9,
- 0x68, 0x48, 0xb7, 0xf9, 0x94, 0xee, 0x06, 0x33, 0x92, 0x93, 0xf3, 0xdb,
- 0xe7, 0xc9, 0xdf, 0xe9, 0x3a, 0x37, 0xe2, 0x2f, 0xfb, 0xa4, 0x9b, 0x44,
- 0xc7, 0x66, 0xde, 0x4e, 0x8c, 0x1c, 0x4c, 0x17, 0x74, 0xaf, 0x67, 0xd5,
- 0xc4, 0xec, 0xa8, 0xf4, 0xda, 0xec, 0x21, 0x73, 0x3d, 0x6a, 0x73, 0xd4,
- 0x3e, 0xbd, 0xc2, 0xc3, 0x32, 0x32, 0x2b, 0x29, 0xd2, 0xb9, 0xd9, 0xa4,
- 0xa7, 0xd4, 0xa3, 0xbc, 0x08, 0x17, 0xf3, 0xc7, 0xab, 0xec, 0xf3, 0xdd,
- 0x83, 0x83, 0x27, 0x7f, 0xdc, 0x7f, 0x96, 0x35, 0x37, 0xbb, 0x3f, 0xef,
- 0xd8, 0x47, 0x4e, 0xae, 0x30, 0xed, 0xba, 0xfd, 0xb4, 0x13, 0xe6, 0xe2,
- 0xb5, 0x82, 0xdb, 0xbc, 0x6f, 0xfe, 0x9e, 0x5d, 0xe5, 0x9f, 0xfa, 0xaa,
- 0xc2, 0xf0, 0x31, 0x48, 0xcd, 0x56, 0x33, 0xeb, 0x47, 0xa7, 0x56, 0x9b,
- 0xbb, 0x5e, 0x66, 0xb5, 0x99, 0xc9, 0xbb, 0x9b, 0xb4, 0x49, 0x6c, 0x03,
- 0xbc, 0xb2, 0xf3, 0xfc, 0xfa, 0xa6, 0x49, 0xee, 0x52, 0x92, 0xff, 0x27,
- 0x0d, 0x37, 0x41, 0x17, 0xaf, 0x91, 0xfa, 0x57, 0xa9, 0x11, 0xdf, 0xb4,
- 0x86, 0xb8, 0x65, 0xc7, 0xee, 0xd2, 0x6f, 0xcc, 0x36, 0xe7, 0x05, 0x71,
- 0x1a, 0xce, 0x38, 0xad, 0xe9, 0x20, 0x15, 0xe6, 0xbc, 0x36, 0xe6, 0xda,
- 0x5e, 0xd2, 0xbf, 0x6e, 0xcc, 0xc5, 0x8c, 0x39, 0x90, 0x8e, 0xe2, 0xee,
- 0x7a, 0x43, 0xcb, 0x49, 0x6b, 0x63, 0xef, 0x13, 0xb3, 0x48, 0x7d, 0x59,
- 0x66, 0xfb, 0x46, 0x6d, 0x0e, 0x9c, 0x11, 0x16, 0x76, 0x67, 0xf4, 0x48,
- 0xee, 0xf5, 0x78, 0x9c, 0xe8, 0x63, 0x5a, 0xd3, 0xdd, 0xcd, 0x37, 0xb4,
- 0xe9, 0xbc, 0x37, 0x58, 0x33, 0x69, 0xe9, 0x47, 0xd2, 0x12, 0x3a, 0xba,
- 0x08, 0x5e, 0x9b, 0x96, 0x66, 0x93, 0x99, 0xde, 0x1a, 0xf9, 0x48, 0x23,
- 0x23, 0xa9, 0x87, 0x59, 0xc1, 0x26, 0x37, 0x6d, 0xd2, 0x0f, 0xf3, 0x86,
- 0xc4, 0x3e, 0x14, 0x4b, 0xd3, 0x5f, 0x33, 0x29, 0xd0, 0x0d, 0x8d, 0xec,
- 0xf4, 0xc6, 0x8f, 0x1b, 0xcb, 0x3c, 0x9b, 0xdc, 0x1a, 0xc5, 0xc1, 0xe8,
- 0x88, 0x99, 0x7d, 0x0b, 0x57, 0xec, 0x84, 0xd4, 0x95, 0x99, 0x39, 0x2f,
- 0x93, 0xb2, 0xaa, 0x48, 0x09, 0xa7, 0x15, 0x1c, 0xb3, 0x5c, 0x9b, 0x67,
- 0xe6, 0x66, 0xf7, 0xa7, 0x33, 0xa7, 0x3b, 0xc6, 0xc8, 0x17, 0xa3, 0x2a,
- 0x40, 0x82, 0x98, 0x2b, 0x1d, 0x62, 0x18, 0x03, 0x47, 0xef, 0xa8, 0xed,
- 0xc9, 0x24, 0x5b, 0x34, 0x75, 0x6c, 0x4c, 0xba, 0xe0, 0xa6, 0x3b, 0x55,
- 0x46, 0x33, 0xef, 0xeb, 0x41, 0x98, 0x57, 0x7b, 0x0f, 0x43, 0x15, 0x52,
- 0xd5, 0xc2, 0xa8, 0x46, 0xb5, 0x9d, 0xb5, 0x06, 0x7b, 0xc3, 0x88, 0x31,
- 0xcc, 0xf9, 0x9c, 0x3a, 0x4a, 0x0f, 0xd7, 0x7c, 0x52, 0x21, 0x2e, 0x69,
- 0x21, 0x59, 0xf9, 0xe5, 0xef, 0xd2, 0x6d, 0x62, 0xe6, 0xd3, 0x36, 0x6e,
- 0xbe, 0x6a, 0xd7, 0x94, 0x3e, 0x5f, 0x1b, 0xb3, 0xc1, 0x5c, 0xae, 0xd3,
- 0xfa, 0xc6, 0xe8, 0x43, 0xb5, 0x9c, 0xec, 0x7c, 0x6e, 0xf6, 0xcc, 0x2d,
- 0xad, 0xef, 0x22, 0xcb, 0xa6, 0xc3, 0xe4, 0xec, 0x8a, 0xa4, 0x6a, 0x65,
- 0x3a, 0xdd, 0xe0, 0xd7, 0x24, 0xe8, 0xcd, 0xbc, 0x4d, 0xa1, 0x57, 0xdb,
- 0xa3, 0xc5, 0x5d, 0xf1, 0x24, 0x36, 0xed, 0x34, 0x33, 0xd9, 0x09, 0x49,
- 0xb9, 0x59, 0xfb, 0x56, 0xc0, 0x39, 0x34, 0xd2, 0x9b, 0xba, 0x37, 0xce,
- 0x12, 0xec, 0xc4, 0x71, 0xd6, 0xdc, 0x65, 0x99, 0x6d, 0xae, 0xce, 0xcc,
- 0x4d, 0x44, 0x8b, 0xc6, 0xca, 0x18, 0x84, 0x21, 0x4d, 0xed, 0xf9, 0xc5,
- 0xd9, 0xd7, 0x17, 0xc7, 0xa3, 0x51, 0xf2, 0xf6, 0xf8, 0xf2, 0xf8, 0xa2,
- 0x35, 0xd3, 0x45, 0x59, 0xcd, 0xb1, 0xa2, 0xd3, 0xbc, 0x5e, 0xcc, 0xd2,
- 0x7b, 0x5a, 0x6a, 0x33, 0x92, 0xeb, 0x8a, 0x4e, 0xd6, 0x3c, 0xa3, 0x5b,
- 0x61, 0xba, 0x84, 0x24, 0x4b, 0x4a, 0x23, 0x1f, 0x52, 0x51, 0x42, 0x49,
- 0x98, 0x40, 0x73, 0x2d, 0xae, 0xdd, 0x4c, 0x1b, 0x89, 0x23, 0x97, 0x1b,
- 0xdd, 0x6e, 0x76, 0x3d, 0x48, 0x1b, 0x84, 0xbd, 0xd1, 0x77, 0x3f, 0xe3,
- 0x69, 0xaa, 0x31, 0x26, 0xb3, 0x67, 0xf3, 0x39, 0x84, 0x9d, 0xf9, 0xd3,
- 0x29, 0x80, 0xd9, 0x95, 0xd1, 0x7e, 0xcd, 0x85, 0xc7, 0xca, 0x7b, 0xb7,
- 0x4f, 0xda, 0x5b, 0xab, 0xb2, 0x9a, 0x6d, 0x48, 0xa2, 0x99, 0x1a, 0xe4,
- 0xae, 0xf0, 0x17, 0xac, 0x10, 0x33, 0x6a, 0x02, 0xc9, 0x3e, 0x79, 0x6c,
- 0x41, 0x5d, 0xc8, 0xcc, 0xca, 0x4e, 0xb9, 0xf9, 0x7a, 0x79, 0x85, 0x83,
- 0x9c, 0x6c, 0x19, 0x65, 0xf9, 0xad, 0x31, 0x60, 0x8c, 0x11, 0xd1, 0x4f,
- 0xce, 0xb7, 0xf1, 0xde, 0xde, 0xee, 0xfe, 0x53, 0x16, 0x04, 0x43, 0x6d,
- 0xee, 0x8d, 0x27, 0x88, 0xf7, 0x3e, 0xd2, 0xf2, 0xf2, 0x43, 0xd4, 0xf8,
- 0x30, 0xd9, 0x7b, 0xcb, 0x3f, 0x79, 0xfa, 0xf9, 0xb3, 0xcf, 0x9e, 0xcb,
- 0x0f, 0xdb, 0x1b, 0xdc, 0xf6, 0x1f, 0xbb, 0x03, 0xc6, 0x18, 0x59, 0x67,
- 0xa6, 0x27, 0x66, 0x74, 0xf3, 0xbc, 0x30, 0xc7, 0xc4, 0x1c, 0x2b, 0x91,
- 0x55, 0xb4, 0x9f, 0x4d, 0xe7, 0xaf, 0x58, 0xb2, 0xc9, 0xba, 0xb6, 0xad,
- 0x3c, 0xf3, 0xb2, 0xd9, 0xb2, 0x46, 0x96, 0xdb, 0x45, 0xc2, 0x4c, 0x98,
- 0x03, 0x46, 0xb7, 0xce, 0x98, 0x04, 0x2c, 0x99, 0x3a, 0x46, 0x27, 0xcd,
- 0xa2, 0x5f, 0xb3, 0xb7, 0xa2, 0x79, 0xc3, 0xf4, 0xcd, 0xdc, 0x89, 0x74,
- 0xcd, 0x85, 0xf3, 0x6e, 0x44, 0x01, 0x24, 0xe4, 0x5d, 0x5e, 0x43, 0x34,
- 0xdc, 0x95, 0xcb, 0x99, 0x31, 0x2c, 0xe8, 0x81, 0xe5, 0x02, 0x2f, 0x98,
- 0x4f, 0x2d, 0x9c, 0x0c, 0x98, 0xe7, 0x9f, 0x68, 0xef, 0x74, 0x5b, 0x31,
- 0x5d, 0x33, 0xff, 0x5c, 0x98, 0xad, 0xc4, 0xdd, 0x19, 0x76, 0x6f, 0x08,
- 0xc8, 0xbe, 0x60, 0x27, 0xd2, 0x99, 0x87, 0xd0, 0x3e, 0x3f, 0x1b, 0x5d,
- 0x92, 0x06, 0x70, 0xfe, 0xfe, 0xd2, 0x34, 0x64, 0x54, 0x80, 0xba, 0x31,
- 0x9b, 0x92, 0x5e, 0x2c, 0x32, 0x58, 0x75, 0xda, 0x9c, 0xd9, 0x7b, 0x39,
- 0x04, 0x15, 0xd4, 0x1a, 0xfd, 0x24, 0xf7, 0x91, 0xcd, 0x5e, 0x3a, 0x82,
- 0x6a, 0xf4, 0xf2, 0x1d, 0x6e, 0xdf, 0x49, 0xb6, 0xbe, 0xdc, 0x36, 0x7b,
- 0x76, 0x50, 0xda, 0xd9, 0x19, 0x0c, 0xe4, 0x55, 0xf3, 0xed, 0x3a, 0x9f,
- 0xe7, 0xb3, 0xd4, 0x53, 0xaf, 0x44, 0xa2, 0xd2, 0xf9, 0xb4, 0x72, 0x65,
- 0x62, 0x76, 0x0d, 0xba, 0xed, 0xac, 0x3b, 0x9a, 0x43, 0x48, 0x25, 0xb7,
- 0x54, 0x53, 0x52, 0x08, 0xa0, 0xc4, 0x2e, 0x72, 0x3b, 0x75, 0xb4, 0x66,
- 0x24, 0xae, 0x5a, 0x13, 0xd5, 0x5d, 0xb7, 0x60, 0xe2, 0xe8, 0x46, 0x82,
- 0xfb, 0xc0, 0x4e, 0x5d, 0xd2, 0x1b, 0xa7, 0x55, 0x2f, 0xb1, 0xb2, 0x98,
- 0xcf, 0x26, 0x9d, 0x90, 0x2a, 0xbb, 0x5e, 0x9a, 0x11, 0x24, 0x3c, 0xbb,
- 0x34, 0xd2, 0x3f, 0x78, 0x23, 0xd5, 0x06, 0x06, 0x63, 0x7a, 0x24, 0xaf,
- 0xd9, 0xf2, 0xbb, 0x32, 0xa6, 0x04, 0x1d, 0x1a, 0xd5, 0x6c, 0xa1, 0xd1,
- 0xc8, 0x8e, 0x89, 0x6c, 0x18, 0xbb, 0x4b, 0x4b, 0x3a, 0x2a, 0x4d, 0x66,
- 0x04, 0x0d, 0xc4, 0x3f, 0x3d, 0x39, 0x30, 0x4b, 0x36, 0x18, 0xd4, 0x66,
- 0xfe, 0x49, 0x1d, 0x5e, 0x88, 0x99, 0x7d, 0x06, 0x1f, 0x86, 0x75, 0x78,
- 0x9c, 0xb1, 0xab, 0x83, 0xaf, 0x4d, 0x7e, 0x17, 0x22, 0xd4, 0x28, 0xaa,
- 0x77, 0xe6, 0xc3, 0xa9, 0x59, 0x32, 0x73, 0xe0, 0xde, 0xd2, 0x44, 0xb1,
- 0xbb, 0x22, 0x91, 0xa6, 0xea, 0x04, 0x3b, 0x23, 0xa7, 0x73, 0x9f, 0x3a,
- 0x5d, 0x66, 0x3a, 0xcd, 0xe9, 0xb7, 0xe6, 0x7c, 0x99, 0x1b, 0x6e, 0x99,
- 0xc1, 0x1c, 0x90, 0x49, 0x9d, 0xbb, 0xc9, 0x84, 0x65, 0x59, 0xdf, 0x94,
- 0x64, 0xb9, 0xf5, 0x58, 0x16, 0x0f, 0xe8, 0x5b, 0x3d, 0xdc, 0xe7, 0xf3,
- 0x44, 0xbf, 0x25, 0x9f, 0x32, 0xe3, 0x98, 0xfa, 0xba, 0x59, 0xdf, 0x5c,
- 0x34, 0xf7, 0x9e, 0xde, 0x0e, 0x59, 0xcd, 0x7d, 0xaf, 0xac, 0xc2, 0x63,
- 0xae, 0xd4, 0x05, 0x29, 0x53, 0x22, 0xc3, 0x71, 0x19, 0xe2, 0xc8, 0xd6,
- 0xdc, 0xb5, 0xbe, 0x99, 0x5b, 0x7a, 0xf2, 0xfa, 0x46, 0x1f, 0xf5, 0x2e,
- 0xd6, 0xd4, 0x0c, 0x8e, 0x2e, 0x07, 0x32, 0x71, 0xa7, 0x2a, 0xf7, 0xcb,
- 0x8a, 0x85, 0xd9, 0xac, 0x34, 0x7b, 0xb9, 0xc7, 0x2a, 0xab, 0x74, 0x9b,
- 0x7a, 0x4d, 0xbd, 0xa4, 0x19, 0x67, 0xd7, 0x4f, 0x69, 0xd7, 0xc6, 0x76,
- 0x5a, 0xe6, 0xab, 0x7e, 0xb0, 0x6b, 0x6e, 0xa2, 0x46, 0x98, 0x23, 0x73,
- 0x75, 0xd6, 0xb4, 0x8f, 0x75, 0xe6, 0xb1, 0xbd, 0xcd, 0x55, 0xb7, 0xd9,
- 0xf0, 0x79, 0x84, 0xd9, 0xd3, 0x99, 0xf9, 0x1a, 0xdb, 0x47, 0x2e, 0x32,
- 0x3b, 0x32, 0x33, 0xa2, 0x69, 0x9e, 0x62, 0x9f, 0xf0, 0xd2, 0x40, 0x19,
- 0x71, 0x46, 0x5a, 0x44, 0x0f, 0xbe, 0xef, 0xda, 0x58, 0xb3, 0x99, 0x7f,
- 0x25, 0x69, 0x9f, 0x06, 0x67, 0x66, 0xec, 0xa7, 0x18, 0xc7, 0xe0, 0x36,
- 0xa1, 0xe3, 0x67, 0xcc, 0x06, 0x3a, 0x8b, 0x83, 0xb3, 0xd3, 0x5b, 0xef,
- 0x18, 0x91, 0x31, 0x5d, 0x90, 0x9e, 0xd2, 0x87, 0xc3, 0x62, 0x5c, 0x96,
- 0xc6, 0x72, 0x75, 0x43, 0xa3, 0xfb, 0x20, 0x2b, 0x68, 0xb7, 0xcb, 0x8a,
- 0x1a, 0x91, 0xb0, 0xb0, 0xf2, 0xf6, 0xde, 0x98, 0x4b, 0xe9, 0x75, 0x9a,
- 0xdb, 0xfd, 0x26, 0x27, 0x63, 0x9a, 0xe8, 0xc3, 0x45, 0x29, 0xcf, 0xd3,
- 0x52, 0x91, 0x0a, 0x24, 0x72, 0x6b, 0x59, 0xf3, 0xf1, 0x31, 0xa3, 0x32,
- 0x92, 0x07, 0xb2, 0x43, 0xda, 0x25, 0xb5, 0x51, 0x9b, 0x1b, 0x43, 0x51,
- 0x26, 0x9d, 0x13, 0xc2, 0x17, 0x1a, 0xa4, 0x69, 0xb1, 0x37, 0x4c, 0xbe,
- 0x29, 0xef, 0x32, 0xb8, 0xef, 0xa0, 0xdf, 0xe7, 0xe4, 0x80, 0x32, 0xaa,
- 0xe0, 0x5d, 0x96, 0xcc, 0x8d, 0xea, 0x69, 0x66, 0x13, 0xda, 0x07, 0x7e,
- 0x66, 0xfa, 0xe9, 0x6c, 0x96, 0xf2, 0x8e, 0x67, 0xc9, 0x8e, 0xc2, 0x2e,
- 0xe5, 0x15, 0x1f, 0x89, 0x64, 0x0b, 0xea, 0xcd, 0x84, 0x66, 0x6b, 0xd1,
- 0xb8, 0x51, 0xd8, 0x09, 0xb9, 0x4b, 0x6b, 0xef, 0x70, 0xb1, 0x71, 0x9a,
- 0x7c, 0x36, 0xdc, 0x7b, 0x31, 0xdc, 0x1d, 0x92, 0x29, 0x92, 0xdd, 0xe6,
- 0xe5, 0xb2, 0xa6, 0xf5, 0xa4, 0x9e, 0x78, 0xa7, 0x93, 0xdc, 0x44, 0xb4,
- 0xbc, 0xd7, 0xd7, 0x33, 0x56, 0x7c, 0x76, 0xca, 0xab, 0xab, 0xc4, 0x53,
- 0x8e, 0xaa, 0x6c, 0xc1, 0x36, 0x10, 0xcd, 0x8d, 0x1c, 0x38, 0x16, 0xaa,
- 0xbe, 0x56, 0x24, 0xb3, 0xe9, 0x3c, 0x0a, 0x83, 0x41, 0x3a, 0xae, 0x1b,
- 0x32, 0xa7, 0x06, 0xcb, 0x22, 0xff, 0x34, 0xa8, 0xcb, 0xc9, 0x47, 0xb3,
- 0x2c, 0x2f, 0x17, 0x69, 0x73, 0xf3, 0x65, 0xc7, 0x53, 0xbb, 0x45, 0xb7,
- 0xc9, 0x76, 0x92, 0x1c, 0xb1, 0x62, 0x49, 0x73, 0x51, 0xf1, 0x89, 0x33,
- 0xeb, 0x29, 0xad, 0x24, 0xef, 0x4d, 0x2b, 0x66, 0x37, 0xcf, 0xcd, 0xb2,
- 0x26, 0xdc, 0x58, 0x5f, 0x85, 0x69, 0xa7, 0x39, 0x78, 0x01, 0xe9, 0x22,
- 0x81, 0x33, 0xcd, 0x1c, 0x9e, 0xb2, 0xfa, 0x38, 0x24, 0xb7, 0x85, 0xb1,
- 0x1a, 0x0f, 0x68, 0x43, 0x37, 0x46, 0x8c, 0x35, 0x3c, 0xef, 0xb5, 0x08,
- 0x61, 0xea, 0x16, 0xcb, 0x64, 0x27, 0xa5, 0x74, 0x3e, 0xb5, 0x07, 0xf2,
- 0xd9, 0x44, 0xed, 0x0d, 0xd9, 0x7a, 0x9b, 0x7f, 0x36, 0x16, 0xe0, 0x0d,
- 0x2f, 0x3c, 0x1a, 0xe3, 0x31, 0x9a, 0x3d, 0x7a, 0x6d, 0x6c, 0x88, 0xa2,
- 0xe9, 0x34, 0x67, 0xbe, 0x4a, 0x97, 0x35, 0xdd, 0x33, 0x6c, 0xee, 0x62,
- 0x9b, 0x88, 0x5b, 0xc6, 0x5a, 0xa0, 0xc3, 0x8d, 0xce, 0x6b, 0x87, 0xba,
- 0xaa, 0x9f, 0x0d, 0x9f, 0x3d, 0x31, 0x8b, 0xea, 0x4f, 0x74, 0x71, 0x4f,
- 0xee, 0xcc, 0xf8, 0xa4, 0x5e, 0x9a, 0xbb, 0xb4, 0x66, 0xf5, 0xc4, 0x9c,
- 0xe1, 0xab, 0xfc, 0x7a, 0x59, 0x65, 0x7c, 0xa9, 0xc1, 0x03, 0xaa, 0x8e,
- 0x4f, 0xba, 0x27, 0x6e, 0x4a, 0xf8, 0x0b, 0x8d, 0x7c, 0xc9, 0x66, 0x57,
- 0xfd, 0xee, 0x2c, 0x90, 0x46, 0x47, 0x5b, 0x00, 0x43, 0xc4, 0x26, 0x32,
- 0x9a, 0x1b, 0x1a, 0x2b, 0x32, 0xb9, 0xd7, 0xe7, 0x66, 0x82, 0x13, 0x72,
- 0x98, 0x25, 0x93, 0x59, 0x9a, 0xcf, 0x61, 0xee, 0x88, 0x43, 0x68, 0xd8,
- 0x69, 0xee, 0x52, 0xd4, 0x71, 0x68, 0xe2, 0x63, 0xb2, 0x06, 0xaa, 0x9a,
- 0x84, 0x15, 0x4d, 0x42, 0xaa, 0xca, 0x04, 0xeb, 0xda, 0x37, 0xd9, 0xe4,
- 0xa3, 0xae, 0xa6, 0xde, 0xc2, 0x83, 0x4e, 0x73, 0xe4, 0x09, 0x85, 0xc9,
- 0x61, 0x9e, 0x5a, 0x9a, 0x35, 0x5d, 0x94, 0x75, 0x9d, 0x93, 0x47, 0x81,
- 0x34, 0xe4, 0xe5, 0x04, 0x8a, 0x33, 0x99, 0xd8, 0x9f, 0xcc, 0x4a, 0xea,
- 0x96, 0x48, 0xcc, 0x1e, 0x2b, 0xa6, 0x83, 0xa6, 0xca, 0x17, 0xab, 0x7a,
- 0xc7, 0x57, 0x46, 0xfb, 0xce, 0xae, 0xc5, 0x88, 0x81, 0x7d, 0xc0, 0x16,
- 0xc3, 0x24, 0xe9, 0xcc, 0x66, 0xa7, 0x39, 0x9e, 0xdb, 0x3e, 0x99, 0xc8,
- 0xb9, 0x11, 0xa1, 0xac, 0x3f, 0xc2, 0x03, 0x64, 0xb4, 0x45, 0x39, 0xcb,
- 0x46, 0xb1, 0xcd, 0x27, 0xb8, 0x17, 0xf2, 0xeb, 0x8c, 0x3c, 0xce, 0xe6,
- 0x78, 0x37, 0x33, 0x73, 0x5b, 0x78, 0x82, 0xc2, 0xae, 0x78, 0x91, 0x5d,
- 0x97, 0x0d, 0x09, 0xe8, 0x60, 0x9b, 0xbc, 0xc7, 0xc6, 0xb7, 0x7b, 0x42,
- 0x35, 0x21, 0xff, 0x9a, 0xca, 0x59, 0x45, 0x31, 0x9f, 0x66, 0x4d, 0x48,
- 0x8c, 0xb0, 0xba, 0x31, 0x3b, 0xb0, 0xbb, 0xea, 0xa6, 0xb5, 0x49, 0x06,
- 0x75, 0x14, 0x77, 0xa9, 0x5e, 0xe5, 0xaa, 0x03, 0x8d, 0xc9, 0x64, 0x23,
- 0xf3, 0xf8, 0x2e, 0x9f, 0x64, 0xea, 0xa1, 0x10, 0x4f, 0xda, 0x2c, 0x0f,
- 0xf7, 0xfe, 0x7c, 0x59, 0xc3, 0x6a, 0x62, 0x35, 0x85, 0x0c, 0xca, 0xbb,
- 0x9c, 0xd4, 0x98, 0x93, 0x2b, 0x39, 0xab, 0x74, 0x8b, 0xf2, 0xf9, 0x48,
- 0xab, 0x1c, 0xd6, 0xb3, 0x69, 0x4e, 0xfa, 0xe9, 0x19, 0x39, 0x6a, 0xb7,
- 0xb9, 0x7e, 0xe3, 0x7d, 0xd1, 0xec, 0x9c, 0x46, 0x07, 0x43, 0xf2, 0x2a,
- 0xcd, 0x67, 0x91, 0x79, 0x82, 0x82, 0x6a, 0x2c, 0xd2, 0x9b, 0xac, 0x92,
- 0x35, 0x58, 0xd2, 0xa4, 0x53, 0x74, 0x20, 0x78, 0x7a, 0x94, 0x65, 0xac,
- 0x62, 0x41, 0x1f, 0xfb, 0x74, 0x6f, 0xa7, 0x17, 0xf7, 0x18, 0xaf, 0x9d,
- 0xfc, 0x9d, 0x97, 0xcf, 0x3b, 0x9e, 0x29, 0xb5, 0x9a, 0x2e, 0xc8, 0x0d,
- 0xde, 0x3d, 0xa1, 0xa4, 0x8d, 0x52, 0x24, 0x65, 0x5b, 0x9d, 0x6a, 0xe2,
- 0x54, 0x2c, 0x6c, 0x04, 0x02, 0xc2, 0x81, 0x1c, 0xfe, 0x72, 0x84, 0xb9,
- 0x1d, 0xd1, 0x94, 0x3a, 0xcd, 0x19, 0xd5, 0x8c, 0xfc, 0x84, 0x30, 0xc2,
- 0x5b, 0x3b, 0xd6, 0x18, 0xc4, 0x95, 0xf5, 0x83, 0x93, 0x13, 0x8c, 0xe6,
- 0x5b, 0x75, 0x4f, 0x9c, 0x59, 0xbc, 0xd4, 0x69, 0x8e, 0xb4, 0x61, 0x52,
- 0x1d, 0xcc, 0xa1, 0xc9, 0x69, 0x3f, 0x62, 0x13, 0xa8, 0x2b, 0xd4, 0x6c,
- 0x5f, 0xf6, 0x8c, 0xa9, 0x5c, 0x65, 0x65, 0x03, 0xdd, 0xbd, 0x9a, 0xa5,
- 0xd7, 0x66, 0xdf, 0x75, 0x9a, 0xcb, 0xaf, 0x8d, 0x8d, 0xcb, 0x01, 0x89,
- 0xba, 0x34, 0xb7, 0x07, 0x8d, 0x5b, 0xec, 0x7d, 0x63, 0xee, 0x99, 0x6d,
- 0x36, 0x5b, 0x42, 0x02, 0x9e, 0x99, 0x01, 0x8e, 0x46, 0xdf, 0x6c, 0xfb,
- 0x02, 0x0e, 0xf3, 0xfb, 0x18, 0xf1, 0x06, 0xf9, 0x04, 0xd3, 0x24, 0xf9,
- 0x0a, 0x6b, 0xd2, 0x95, 0x72, 0xbc, 0xd2, 0x91, 0xc9, 0xd3, 0x89, 0x20,
- 0x17, 0xd1, 0x50, 0x04, 0x00, 0x24, 0x00, 0xa6, 0x49, 0xbd, 0x55, 0xbc,
- 0xc3, 0xc9, 0x8b, 0xc0, 0xd7, 0xb4, 0xf9, 0xdb, 0xb2, 0x5e, 0x92, 0xe1,
- 0xde, 0x69, 0x6e, 0x61, 0x04, 0x59, 0x63, 0x8c, 0x37, 0x23, 0x91, 0x96,
- 0x05, 0xfd, 0x69, 0xb5, 0x8b, 0x1c, 0x7a, 0x2e, 0x2d, 0x49, 0x45, 0xce,
- 0x41, 0xb2, 0x10, 0xec, 0xdd, 0x6c, 0x44, 0x8b, 0xb4, 0xdc, 0x5d, 0x5a,
- 0xb8, 0x4f, 0x28, 0x78, 0x01, 0xb1, 0x33, 0xcd, 0x29, 0xf0, 0x45, 0x07,
- 0x6f, 0x85, 0x14, 0xdf, 0xaa, 0x97, 0x46, 0xce, 0x90, 0x56, 0xc5, 0x42,
- 0x24, 0x10, 0x20, 0x2a, 0x64, 0x8c, 0x02, 0xe7, 0x49, 0x93, 0xed, 0xdf,
- 0xfa, 0x98, 0x60, 0xe1, 0xfc, 0x95, 0x9c, 0x18, 0x7d, 0xd6, 0x68, 0xaa,
- 0x2f, 0x69, 0xbf, 0x05, 0x5a, 0xc0, 0xe5, 0xe9, 0x28, 0xb6, 0xa0, 0x6d,
- 0x67, 0x3a, 0xbd, 0x4f, 0x22, 0x97, 0xfc, 0x2b, 0xec, 0x6f, 0x2a, 0x49,
- 0x5b, 0x32, 0x2a, 0x67, 0x30, 0x67, 0x74, 0xad, 0x67, 0xa6, 0x9b, 0x62,
- 0x48, 0x70, 0xa0, 0x8e, 0xc4, 0x98, 0x51, 0xa3, 0x1a, 0x52, 0x23, 0xac,
- 0x6f, 0xe9, 0xe8, 0xd0, 0x6f, 0x17, 0xce, 0xa4, 0xee, 0x06, 0xf1, 0x7e,
- 0xbf, 0x55, 0x6f, 0x5b, 0x49, 0x66, 0x5a, 0x39, 0x3f, 0x7e, 0x0b, 0xc5,
- 0x3e, 0x35, 0x1b, 0xe7, 0x9d, 0xfa, 0x71, 0x34, 0x0e, 0x37, 0x5e, 0xe6,
- 0xb3, 0x96, 0xb3, 0xd4, 0xd9, 0x22, 0x08, 0x82, 0xf1, 0xbe, 0x42, 0xd7,
- 0xd8, 0xed, 0x9f, 0xc3, 0x6f, 0xd6, 0xdd, 0x65, 0xcd, 0xfd, 0x42, 0x5c,
- 0x7e, 0xcb, 0xba, 0x65, 0x59, 0xeb, 0xed, 0x3c, 0x6b, 0xa0, 0x7c, 0x90,
- 0xc2, 0xef, 0xb5, 0x19, 0xac, 0x10, 0xba, 0x45, 0x97, 0xc1, 0x75, 0x91,
- 0xff, 0x5d, 0x7c, 0x0b, 0x59, 0x71, 0x9b, 0x57, 0x65, 0x41, 0xaa, 0x8a,
- 0xb1, 0x09, 0xaa, 0x1c, 0xc2, 0x99, 0xd4, 0x5d, 0x23, 0x3e, 0x36, 0x8f,
- 0xde, 0x5f, 0x9c, 0x7e, 0x38, 0x3a, 0xfc, 0xf0, 0xd5, 0xfb, 0x77, 0xaf,
- 0x4f, 0x8f, 0x37, 0xbb, 0x87, 0xfa, 0x8a, 0xc5, 0x02, 0x1d, 0x94, 0x9a,
- 0x14, 0x32, 0x9c, 0x10, 0xd3, 0x45, 0x6e, 0xf9, 0x3a, 0xbf, 0x35, 0x62,
- 0x0d, 0xaa, 0x15, 0x9c, 0x97, 0xf8, 0x1b, 0xcc, 0x7d, 0x99, 0xf0, 0x4e,
- 0x73, 0x63, 0x73, 0x1f, 0x9b, 0x4e, 0xf3, 0xe9, 0x93, 0xc1, 0xeb, 0x49,
- 0x11, 0x73, 0x46, 0x3b, 0x18, 0x8c, 0x8c, 0x96, 0x98, 0x2e, 0x13, 0x52,
- 0xe9, 0x3c, 0xed, 0xd9, 0xf3, 0x63, 0x2e, 0x1b, 0xa3, 0x3c, 0xaa, 0xe7,
- 0xd4, 0x58, 0x67, 0xe5, 0x47, 0x8d, 0x88, 0x1a, 0xcd, 0xf3, 0x30, 0xb2,
- 0xdc, 0x35, 0xaf, 0x0b, 0x4f, 0xc5, 0x26, 0xb5, 0x64, 0xf6, 0xef, 0x40,
- 0x3a, 0x39, 0xa9, 0x1a, 0xa3, 0xf6, 0x65, 0x39, 0x0e, 0x86, 0x86, 0x7c,
- 0x48, 0x2d, 0x86, 0xd7, 0xa2, 0xab, 0x9f, 0x18, 0xa3, 0xf0, 0x9e, 0xe6,
- 0x80, 0x1a, 0x19, 0x66, 0x9f, 0x32, 0x9c, 0x3c, 0x79, 0xeb, 0x68, 0x59,
- 0xe1, 0x2c, 0x7f, 0x6f, 0x74, 0x12, 0x92, 0x80, 0xaf, 0xe1, 0xf6, 0x30,
- 0x2f, 0xe8, 0x43, 0xe6, 0xb2, 0xe9, 0x5e, 0x7c, 0xe5, 0x6c, 0x4a, 0xee,
- 0x05, 0x98, 0x98, 0x70, 0x08, 0x9c, 0x1f, 0x5e, 0x7e, 0x13, 0xcc, 0x09,
- 0x89, 0x79, 0x07, 0x3f, 0x90, 0xad, 0x08, 0xc3, 0xa8, 0x6e, 0xe4, 0x80,
- 0xbc, 0x1b, 0x8d, 0x12, 0x04, 0xb7, 0x67, 0xf9, 0xb8, 0x4a, 0xe9, 0x9b,
- 0xf4, 0x63, 0xfa, 0xa9, 0xd9, 0xd6, 0x9d, 0xe6, 0xce, 0xbf, 0x3d, 0x1a,
- 0xfd, 0x61, 0x6f, 0xcf, 0x28, 0x7f, 0xd3, 0xa5, 0x99, 0x97, 0x2d, 0xf3,
- 0x4a, 0x51, 0x9b, 0x93, 0x39, 0x1f, 0xd6, 0xe5, 0x36, 0x2e, 0x6f, 0x68,
- 0x7c, 0xb8, 0x1e, 0xd2, 0x5b, 0x73, 0xeb, 0x62, 0x27, 0xf1, 0x1c, 0xd3,
- 0x7e, 0xee, 0xaa, 0xe9, 0xbc, 0xc0, 0x1a, 0xfb, 0x37, 0x12, 0xc3, 0xdc,
- 0xdb, 0xb3, 0xfb, 0x60, 0x14, 0x5b, 0xf9, 0xd9, 0x48, 0x22, 0xe7, 0xe9,
- 0xc4, 0xfc, 0x95, 0x6c, 0xa8, 0x6d, 0x1a, 0x5b, 0xfb, 0x8c, 0xe9, 0xb8,
- 0x46, 0xac, 0x95, 0x5e, 0x92, 0x8b, 0x13, 0x01, 0xff, 0x50, 0x2e, 0x14,
- 0xdd, 0xe3, 0xe5, 0x40, 0x15, 0xe8, 0xec, 0x38, 0x9d, 0x7c, 0xbc, 0x4b,
- 0xab, 0x29, 0x3b, 0x4c, 0xcc, 0x9e, 0x19, 0xe7, 0xb3, 0xbc, 0xb9, 0xe7,
- 0xdb, 0xa3, 0x3b, 0x0a, 0x0e, 0x1d, 0xd1, 0x14, 0x9a, 0x93, 0x74, 0x6d,
- 0x6c, 0x21, 0xd2, 0x42, 0xc9, 0x42, 0x34, 0x07, 0xc3, 0xd3, 0xf5, 0xa1,
- 0x2a, 0x35, 0x56, 0xd5, 0xb1, 0xdf, 0xee, 0x34, 0x07, 0xf7, 0x13, 0x9d,
- 0x24, 0x74, 0xd3, 0xed, 0x5e, 0x15, 0x84, 0xbe, 0x98, 0xd2, 0x0d, 0x94,
- 0xd4, 0xf7, 0xe6, 0xb6, 0x9f, 0x27, 0x11, 0x55, 0x11, 0x58, 0x87, 0xe4,
- 0xdb, 0xec, 0xde, 0x18, 0x16, 0x79, 0xe1, 0x64, 0x25, 0xfb, 0x88, 0x32,
- 0xb2, 0x54, 0x59, 0x27, 0xcd, 0xd5, 0xcf, 0x98, 0x89, 0xab, 0x98, 0x6f,
- 0x92, 0xd0, 0xb2, 0xe2, 0xf7, 0x55, 0x1f, 0xa7, 0x26, 0x36, 0xeb, 0x96,
- 0x50, 0xc6, 0x97, 0x62, 0x5b, 0x31, 0xb8, 0x38, 0xe1, 0x32, 0xe1, 0x98,
- 0x30, 0xb9, 0x9c, 0x6b, 0xde, 0x7b, 0xb3, 0xb4, 0x6e, 0x60, 0x53, 0x60,
- 0xdc, 0xe2, 0x99, 0x68, 0xdf, 0x21, 0x90, 0x23, 0x2f, 0xcd, 0x41, 0xfb,
- 0xc7, 0xaf, 0x10, 0x3e, 0xae, 0x38, 0x9e, 0xa1, 0x54, 0x95, 0xb9, 0x6a,
- 0x5d, 0x25, 0x6f, 0xf5, 0xce, 0xa0, 0x4e, 0x58, 0xef, 0xc9, 0x82, 0x63,
- 0x7d, 0xac, 0xde, 0xb0, 0x1b, 0x28, 0x54, 0x57, 0xc9, 0x92, 0x17, 0x6f,
- 0xc1, 0x41, 0x2f, 0xd9, 0xca, 0x86, 0xd7, 0xa6, 0xbd, 0x1e, 0xb5, 0xb3,
- 0x77, 0x40, 0xff, 0xdd, 0xc7, 0x7f, 0x9f, 0xf4, 0x14, 0x28, 0xe3, 0x2f,
- 0x35, 0xdd, 0x37, 0x5d, 0x69, 0x29, 0xae, 0x74, 0xba, 0x7f, 0xe4, 0x02,
- 0x12, 0x01, 0x4c, 0x72, 0x39, 0x7e, 0x38, 0x58, 0xbb, 0x3a, 0xed, 0x47,
- 0x34, 0x20, 0x37, 0x11, 0xb8, 0xdb, 0x60, 0x9b, 0x8e, 0xc9, 0xed, 0x64,
- 0xc6, 0x36, 0x31, 0x1a, 0x0c, 0x3c, 0x00, 0x1c, 0x98, 0xa2, 0xe9, 0x98,
- 0x7c, 0xa8, 0xb2, 0x9b, 0xb4, 0x36, 0xca, 0xd4, 0xb2, 0xc1, 0xe9, 0xe8,
- 0x5a, 0x0e, 0xe6, 0x48, 0xcd, 0x72, 0xeb, 0x72, 0x91, 0x0f, 0x0f, 0xad,
- 0x81, 0x22, 0xab, 0xc8, 0xce, 0xcb, 0x59, 0x79, 0xa7, 0x4f, 0x0c, 0x04,
- 0xb9, 0x12, 0xbb, 0xb8, 0xcc, 0x6a, 0x02, 0xfc, 0x42, 0x8f, 0xf9, 0x41,
- 0xa8, 0x39, 0x69, 0x3b, 0x04, 0xab, 0x31, 0x47, 0xf0, 0xca, 0xcc, 0x18,
- 0x59, 0x1e, 0x33, 0xac, 0x1b, 0xd9, 0x58, 0xe8, 0x75, 0xa0, 0x01, 0x89,
- 0x26, 0x92, 0x5f, 0x89, 0xe3, 0x45, 0xfe, 0x0d, 0x89, 0x2f, 0xfa, 0x41,
- 0xcd, 0x81, 0xaa, 0xae, 0x72, 0xf0, 0xf0, 0xd6, 0xd6, 0x03, 0x6c, 0xef,
- 0x62, 0x19, 0x2c, 0xfb, 0x3a, 0x75, 0x5f, 0x8b, 0x46, 0x1c, 0x33, 0xb4,
- 0x4d, 0xaf, 0x38, 0x66, 0xf0, 0xeb, 0x0f, 0x89, 0xe9, 0xf1, 0x80, 0xdc,
- 0x1c, 0xcb, 0xfa, 0x11, 0x67, 0xc4, 0x13, 0x0a, 0xfc, 0x8e, 0x75, 0xf4,
- 0x70, 0x40, 0xce, 0x9f, 0x80, 0xee, 0x2e, 0xbc, 0xf7, 0x9c, 0x2d, 0x47,
- 0xde, 0xc9, 0x1a, 0x71, 0x43, 0x17, 0x62, 0xca, 0x6f, 0xa5, 0x1f, 0xd3,
- 0x61, 0x72, 0x76, 0x34, 0x3a, 0xa7, 0x4f, 0x98, 0xad, 0x51, 0x5c, 0x9b,
- 0x5e, 0x9c, 0x8e, 0x3a, 0xcd, 0x19, 0x0b, 0x3d, 0x2b, 0xea, 0x16, 0xd4,
- 0x6b, 0xe5, 0x34, 0xab, 0x03, 0x50, 0x23, 0xe3, 0xd2, 0x59, 0x63, 0x91,
- 0x22, 0xa4, 0x45, 0x11, 0x1a, 0x0a, 0x9f, 0x26, 0x7c, 0xd4, 0x82, 0x0f,
- 0x2d, 0xcc, 0x86, 0x9f, 0x6e, 0x5b, 0x97, 0x42, 0x5f, 0xf7, 0x82, 0xf5,
- 0xf4, 0xd7, 0xcb, 0x6b, 0xd2, 0x92, 0x6b, 0xb5, 0x6d, 0xec, 0x17, 0xcc,
- 0x6c, 0x04, 0x17, 0xbc, 0x0e, 0xdb, 0x9c, 0x09, 0x3e, 0x36, 0x46, 0xad,
- 0x27, 0x10, 0x04, 0x2e, 0xf1, 0xa2, 0x74, 0xad, 0x92, 0x26, 0x0f, 0x0c,
- 0x56, 0x0e, 0xdf, 0xf8, 0x24, 0x33, 0x4a, 0xd2, 0x34, 0x72, 0x49, 0xf1,
- 0xa2, 0xa8, 0x62, 0x7f, 0x25, 0xb8, 0xab, 0x88, 0x9f, 0x02, 0x0d, 0x4d,
- 0x58, 0x89, 0xa0, 0x5d, 0x0f, 0x1f, 0x63, 0x4e, 0x4e, 0x59, 0x52, 0xe9,
- 0xd8, 0xa4, 0xa4, 0xf6, 0xec, 0xd9, 0xff, 0xba, 0x58, 0x9a, 0x89, 0x8f,
- 0xdc, 0x16, 0x74, 0xed, 0xd3, 0xdd, 0x47, 0x13, 0xb8, 0xce, 0x01, 0xf5,
- 0x74, 0xaf, 0xed, 0x80, 0xc2, 0x66, 0x33, 0x2a, 0x6a, 0x96, 0xbc, 0xa4,
- 0xff, 0x3e, 0x28, 0x95, 0x11, 0x75, 0xf6, 0xa5, 0x30, 0xde, 0x95, 0xb0,
- 0x05, 0xcb, 0xd1, 0x35, 0x3b, 0x0e, 0x01, 0xed, 0x21, 0x89, 0xbd, 0x7e,
- 0xf2, 0xfa, 0xf8, 0x02, 0xcb, 0x7f, 0xfc, 0xee, 0x6b, 0xf8, 0x84, 0xad,
- 0x6a, 0x3b, 0x45, 0x9b, 0x35, 0xdb, 0xba, 0x1c, 0xd3, 0x11, 0xf1, 0xdf,
- 0x9d, 0x6a, 0x12, 0x9f, 0xe4, 0xca, 0x47, 0xc4, 0x7f, 0xfa, 0xfb, 0x5d,
- 0x5c, 0x81, 0x8d, 0x74, 0xdc, 0x97, 0xa9, 0x13, 0xcf, 0xc1, 0xc7, 0xec,
- 0xde, 0xfd, 0x0d, 0xd3, 0xe9, 0xcd, 0xb1, 0x7b, 0xf8, 0xa5, 0x37, 0x33,
- 0x3f, 0x1e, 0x10, 0xaa, 0xc0, 0xa8, 0x4f, 0xd3, 0x9f, 0x7f, 0xdd, 0x55,
- 0x28, 0x6e, 0x9a, 0xa4, 0x7d, 0x27, 0x46, 0xbc, 0x01, 0x70, 0xc4, 0x68,
- 0xfc, 0x9e, 0xc3, 0x75, 0x2c, 0xd8, 0x05, 0x55, 0x4a, 0x80, 0x53, 0xda,
- 0xe9, 0x69, 0xc1, 0x0a, 0x11, 0x89, 0x68, 0x06, 0x6d, 0x00, 0xc4, 0xd1,
- 0x3d, 0x2e, 0x93, 0x72, 0x16, 0x5c, 0x72, 0x2d, 0x9b, 0x0a, 0xaa, 0xe6,
- 0xbe, 0x5c, 0x6b, 0xb0, 0x33, 0xe4, 0xf2, 0x61, 0xf5, 0xae, 0x7b, 0x0e,
- 0xac, 0xb2, 0x07, 0x3c, 0x94, 0x7f, 0x25, 0x26, 0xde, 0xcb, 0x08, 0x4f,
- 0xa1, 0x7b, 0xac, 0xa9, 0x0d, 0x65, 0x79, 0xb3, 0xa8, 0x66, 0x6a, 0x56,
- 0x57, 0x67, 0xd7, 0x2c, 0x3b, 0xb9, 0x42, 0xdc, 0x1e, 0x62, 0xbf, 0x3f,
- 0x2f, 0xb3, 0x91, 0x6f, 0x55, 0x2e, 0xaa, 0x23, 0xc3, 0xc8, 0xba, 0x87,
- 0x59, 0xa3, 0x84, 0xe2, 0x2a, 0x11, 0x73, 0x1e, 0xdb, 0x4a, 0xf7, 0x15,
- 0x6f, 0x3f, 0x32, 0x92, 0x7a, 0xde, 0x94, 0xf4, 0x62, 0x4b, 0xd1, 0x70,
- 0xc0, 0x42, 0xce, 0x4b, 0x7e, 0x4b, 0x53, 0xa7, 0x7b, 0xc7, 0x79, 0xde,
- 0xda, 0x3a, 0x59, 0x59, 0xd0, 0x9f, 0x05, 0x79, 0x6c, 0xfe, 0x25, 0xb2,
- 0x21, 0xa3, 0x7b, 0x91, 0x9c, 0xb7, 0x12, 0xcc, 0x81, 0xe6, 0x42, 0xc0,
- 0x25, 0x01, 0x73, 0x46, 0xb4, 0xf4, 0x98, 0xad, 0xa1, 0x5a, 0x87, 0x9a,
- 0x14, 0x9e, 0x9d, 0x11, 0xa8, 0xe1, 0xdd, 0x0d, 0x62, 0xe4, 0x77, 0x43,
- 0x61, 0x60, 0xde, 0xbb, 0xe4, 0x1c, 0xcc, 0x27, 0x1f, 0x81, 0xf6, 0x91,
- 0xab, 0xa9, 0x25, 0x3f, 0x04, 0x6b, 0xc3, 0x28, 0xb1, 0xc8, 0x12, 0xc0,
- 0xcc, 0x21, 0xaf, 0x25, 0xed, 0x49, 0xba, 0x96, 0xf3, 0x82, 0x95, 0xb5,
- 0x95, 0x06, 0xb0, 0xe9, 0xeb, 0x87, 0xd7, 0x27, 0x17, 0xc9, 0x96, 0x59,
- 0xd5, 0x71, 0x57, 0xb9, 0xd1, 0x7b, 0x7d, 0x27, 0x6b, 0x26, 0x3b, 0x8b,
- 0x8f, 0xf9, 0x8e, 0xb1, 0x83, 0xa6, 0xe3, 0x6d, 0xab, 0xdd, 0xe3, 0x73,
- 0xd8, 0x84, 0x6a, 0x33, 0xa9, 0xd1, 0x04, 0xab, 0xa9, 0x7b, 0x1a, 0x3c,
- 0x2b, 0x8a, 0x81, 0xe2, 0xce, 0x78, 0xc2, 0x34, 0xb1, 0x8b, 0x01, 0x20,
- 0x15, 0x8e, 0x68, 0x26, 0xe4, 0x1d, 0xcc, 0xd8, 0x71, 0x6a, 0xcc, 0xbf,
- 0xee, 0x59, 0x65, 0xc4, 0x92, 0xf8, 0x18, 0xd8, 0xb7, 0xa0, 0x30, 0x1b,
- 0xb9, 0x27, 0x9c, 0xb6, 0xd7, 0x27, 0x80, 0x14, 0x4d, 0xca, 0x82, 0xee,
- 0xa2, 0x29, 0x39, 0xa8, 0xba, 0xcd, 0xc1, 0x65, 0xd6, 0x1b, 0xee, 0xf4,
- 0x12, 0x0b, 0x09, 0x33, 0xb3, 0x0c, 0x54, 0xa3, 0xc3, 0xe0, 0x99, 0x2d,
- 0x76, 0xb5, 0xac, 0xd9, 0xe9, 0x4a, 0xf6, 0xbe, 0x5d, 0xaf, 0x61, 0x4c,
- 0xa0, 0x7a, 0xcb, 0x69, 0x95, 0x2d, 0xa3, 0x14, 0xe3, 0x5c, 0x59, 0x43,
- 0x72, 0x6c, 0x3b, 0x85, 0xa5, 0xea, 0xfd, 0xd4, 0x4b, 0x3c, 0x48, 0x51,
- 0xcb, 0x35, 0x96, 0xbb, 0xa0, 0xbf, 0x77, 0x05, 0x98, 0xab, 0xd8, 0x9e,
- 0xe0, 0x69, 0x36, 0xcb, 0xe7, 0x79, 0x03, 0x1d, 0xde, 0xeb, 0x42, 0xb0,
- 0x14, 0xed, 0x2e, 0xfd, 0x14, 0x76, 0x49, 0x61, 0x7a, 0x29, 0xfd, 0xda,
- 0x74, 0x09, 0xce, 0x1a, 0x46, 0x51, 0xc5, 0xcd, 0xb9, 0x76, 0x87, 0x2c,
- 0xd0, 0x6f, 0x4d, 0xac, 0xe7, 0xf7, 0xb1, 0x78, 0xdb, 0x47, 0xa6, 0x6e,
- 0x00, 0x27, 0xa2, 0x73, 0x26, 0x4e, 0x8c, 0x31, 0x5f, 0x0e, 0x7a, 0xc6,
- 0x52, 0x7d, 0x3c, 0x90, 0xdd, 0xe6, 0xf5, 0x1d, 0x15, 0x3c, 0x90, 0x3c,
- 0xea, 0xfe, 0x60, 0x33, 0xd4, 0x1c, 0x18, 0x98, 0x9d, 0x1f, 0xc5, 0xea,
- 0x84, 0x06, 0x04, 0x61, 0xc5, 0xee, 0x9f, 0xae, 0xbe, 0xab, 0xc2, 0x7e,
- 0x90, 0x15, 0x93, 0x72, 0xda, 0xb1, 0xcf, 0x68, 0x12, 0x3c, 0x21, 0x87,
- 0x1d, 0xcf, 0xf1, 0x13, 0xec, 0xf2, 0xb8, 0x63, 0x8d, 0x3c, 0x3a, 0xec,
- 0xed, 0xfb, 0x45, 0xfb, 0x3e, 0x66, 0xde, 0x63, 0xdb, 0xff, 0xaa, 0x5d,
- 0xff, 0x4f, 0xd3, 0x23, 0x3c, 0xf5, 0xeb, 0x11, 0x8a, 0xc4, 0x60, 0x92,
- 0x2f, 0x6e, 0xc8, 0xe7, 0xfe, 0x12, 0x61, 0x68, 0x72, 0x91, 0xf1, 0x0f,
- 0xe2, 0x0a, 0xc4, 0x48, 0xae, 0xbc, 0x5a, 0xfc, 0x04, 0xfa, 0xb6, 0x88,
- 0x97, 0x5c, 0x61, 0xd3, 0x6a, 0x8c, 0x09, 0xf4, 0x21, 0x0f, 0xac, 0x55,
- 0x0a, 0x44, 0xe8, 0xcb, 0x7c, 0xd3, 0xdb, 0xdb, 0x85, 0x51, 0x8e, 0xfa,
- 0xdb, 0xa1, 0x31, 0x19, 0xd2, 0x29, 0xe1, 0x98, 0xcc, 0x34, 0x21, 0xed,
- 0x02, 0x3f, 0xef, 0x34, 0x87, 0xce, 0x4b, 0x3a, 0x02, 0xdf, 0xba, 0x66,
- 0x46, 0xdf, 0x5f, 0x9c, 0x1e, 0x74, 0xe7, 0x09, 0x68, 0xd8, 0xfa, 0x60,
- 0x67, 0x07, 0xae, 0xb7, 0x9b, 0xf4, 0xd3, 0xa7, 0x61, 0x9d, 0xed, 0x4c,
- 0xcb, 0x49, 0xbd, 0x53, 0xd7, 0x33, 0x9d, 0x8d, 0x36, 0x5e, 0xfc, 0x77,
- 0xf0, 0x59, 0x94, 0xf3, 0x45, 0x05, 0x23, 0x7a, 0x50, 0xd7, 0x41, 0xa4,
- 0x76, 0x74, 0xa4, 0x71, 0xa0, 0xe3, 0x82, 0x31, 0x5f, 0x38, 0xe0, 0x83,
- 0x9c, 0x26, 0xe0, 0x9b, 0x44, 0x5f, 0xc6, 0xf4, 0xda, 0xd8, 0xa4, 0x8d,
- 0x92, 0xf6, 0x23, 0x32, 0x27, 0x95, 0x9d, 0xfa, 0x85, 0x6f, 0xb6, 0xd0,
- 0xdd, 0x51, 0xf2, 0x1f, 0x02, 0xae, 0xcc, 0x9b, 0xb5, 0x71, 0xe6, 0xe7,
- 0x1d, 0x35, 0xdf, 0x0e, 0x22, 0x1e, 0x8b, 0x51, 0x53, 0x2f, 0x4d, 0xdc,
- 0x93, 0xce, 0xee, 0xe9, 0x26, 0x34, 0x99, 0xdd, 0x7b, 0x5d, 0x56, 0xe6,
- 0xd4, 0xcc, 0xeb, 0x98, 0xad, 0x2f, 0x2e, 0xb9, 0x1a, 0x01, 0xd0, 0xa4,
- 0x26, 0x6f, 0x04, 0x3b, 0x1e, 0x96, 0x85, 0xd7, 0xba, 0x19, 0xc4, 0x04,
- 0x41, 0xf6, 0x61, 0xa2, 0x51, 0xad, 0x55, 0x7e, 0x46, 0x2f, 0x9e, 0x6b,
- 0xd1, 0x89, 0x5d, 0x8b, 0x71, 0x59, 0x38, 0x4f, 0x20, 0xa4, 0x91, 0xe9,
- 0x72, 0x3f, 0xd6, 0x3b, 0xac, 0x73, 0x95, 0xd1, 0xa3, 0x90, 0xe8, 0x55,
- 0x55, 0x7a, 0x62, 0x7c, 0xf0, 0x2d, 0xd4, 0x29, 0x23, 0x1b, 0xf2, 0x6b,
- 0x8d, 0x75, 0x74, 0x8f, 0xaf, 0x85, 0xfe, 0x37, 0x84, 0xaf, 0xd1, 0x48,
- 0x46, 0x45, 0x5b, 0x9f, 0xd5, 0x28, 0x85, 0x0f, 0xd4, 0x2c, 0xc5, 0x34,
- 0x8a, 0x21, 0xa8, 0x8b, 0xe0, 0x38, 0x10, 0xb4, 0xde, 0x7f, 0x85, 0x62,
- 0xdb, 0x89, 0x9e, 0x4f, 0xf7, 0x0d, 0x7f, 0x83, 0x22, 0xfd, 0x04, 0x6b,
- 0xd1, 0xd5, 0x6f, 0x00, 0x0a, 0xb1, 0xb6, 0x58, 0x2c, 0x37, 0xa2, 0x3b,
- 0x1e, 0x05, 0x88, 0x89, 0x12, 0x9a, 0x23, 0x19, 0x27, 0x05, 0xf8, 0xac,
- 0xb6, 0x8a, 0xbd, 0x97, 0x12, 0xe1, 0x39, 0xcc, 0xd1, 0x60, 0xd7, 0xc6,
- 0xe3, 0xdf, 0x33, 0x2a, 0x50, 0xf1, 0xb4, 0xd0, 0x02, 0x8c, 0x18, 0x6a,
- 0x32, 0xe0, 0xa2, 0x28, 0x07, 0x6b, 0x56, 0xba, 0xeb, 0xc5, 0xec, 0x3e,
- 0x23, 0x10, 0x81, 0x99, 0xef, 0xea, 0x1c, 0xa7, 0xe4, 0x27, 0xf7, 0x80,
- 0x3c, 0xec, 0xb7, 0x53, 0x35, 0x7f, 0x06, 0x95, 0x8a, 0x83, 0x15, 0x89,
- 0xe8, 0x8f, 0x49, 0x22, 0xcb, 0x17, 0x35, 0x86, 0x04, 0x3b, 0xc6, 0x70,
- 0xfc, 0x1c, 0xc9, 0x1f, 0x92, 0x9a, 0xc0, 0x50, 0x38, 0x75, 0xe2, 0xd4,
- 0x65, 0x5f, 0xa6, 0x6e, 0x46, 0xe1, 0x88, 0x4a, 0xfa, 0xd8, 0xdd, 0x51,
- 0x36, 0xed, 0xc0, 0x07, 0x63, 0xd1, 0xea, 0x58, 0x44, 0x59, 0x1d, 0x3a,
- 0x8e, 0xdd, 0x6c, 0x46, 0xf5, 0xb5, 0x00, 0x9e, 0x87, 0x9e, 0x54, 0x99,
- 0x7e, 0xa2, 0x28, 0xbb, 0xbd, 0x92, 0x7e, 0x0c, 0x42, 0xeb, 0xc5, 0x22,
- 0xd0, 0xbc, 0x0e, 0x28, 0x12, 0xcd, 0x2e, 0x73, 0xfc, 0xc6, 0xcb, 0xdc,
- 0x03, 0xb0, 0x59, 0x4a, 0x1b, 0x7c, 0xf3, 0x17, 0xb2, 0xfd, 0x9c, 0x6c,
- 0x97, 0xae, 0xc3, 0xa6, 0x98, 0xcc, 0xca, 0x5a, 0x1d, 0x8a, 0xb4, 0x4c,
- 0x9c, 0x06, 0x62, 0x0e, 0xc6, 0xf7, 0xf2, 0x03, 0x59, 0x03, 0xf9, 0x05,
- 0x37, 0x7b, 0x55, 0x92, 0x77, 0x31, 0xf4, 0x00, 0x8a, 0x12, 0xe6, 0x32,
- 0x57, 0xc8, 0x7d, 0x60, 0x15, 0xef, 0x83, 0xe4, 0xa7, 0x9f, 0xfa, 0x09,
- 0x69, 0x7f, 0x3f, 0x19, 0x9b, 0xf2, 0x27, 0xb3, 0xc9, 0x92, 0x9f, 0x2a,
- 0x11, 0x1c, 0x3f, 0xdd, 0x9a, 0x4f, 0x76, 0xe3, 0x45, 0xe4, 0x36, 0xa9,
- 0x67, 0xf0, 0x87, 0xb2, 0x42, 0x21, 0x90, 0x93, 0x7b, 0x8d, 0x10, 0x70,
- 0x8e, 0x0e, 0x9c, 0x17, 0xec, 0xf7, 0xb3, 0x2b, 0x0a, 0xe8, 0x4b, 0x68,
- 0x1f, 0x2f, 0xe7, 0x85, 0xa8, 0x61, 0xbc, 0x11, 0x71, 0xc4, 0x21, 0xf7,
- 0x37, 0xff, 0xb0, 0xe9, 0xf6, 0x4c, 0x5f, 0x7d, 0x56, 0x8d, 0xca, 0xd5,
- 0xc8, 0x71, 0xd2, 0x53, 0xaf, 0xe9, 0x2c, 0x88, 0xc6, 0x31, 0x22, 0xc4,
- 0x48, 0xce, 0x33, 0x72, 0x18, 0x31, 0x28, 0xb9, 0xb4, 0x50, 0x2e, 0x60,
- 0xb3, 0x17, 0x37, 0xf7, 0x35, 0x05, 0xcc, 0x62, 0xd2, 0xc6, 0x5d, 0xfd,
- 0xd4, 0xbb, 0x68, 0xb4, 0x71, 0xe4, 0xcc, 0x47, 0x3c, 0x00, 0xd5, 0xd2,
- 0x6c, 0x81, 0x96, 0x7c, 0x34, 0x7d, 0xd9, 0x1c, 0x6c, 0x22, 0x70, 0x04,
- 0xe7, 0xae, 0x88, 0xbf, 0x2a, 0xc4, 0x75, 0x69, 0x33, 0x1e, 0xee, 0x23,
- 0xf8, 0x64, 0xcb, 0xc0, 0xe6, 0x58, 0x94, 0x82, 0x4d, 0x5c, 0xb6, 0x15,
- 0xa5, 0x4b, 0x84, 0xdd, 0xef, 0x47, 0x4c, 0x29, 0xc1, 0x31, 0xdb, 0x77,
- 0x8d, 0x92, 0xe8, 0xbc, 0x9d, 0x83, 0x01, 0x92, 0x50, 0x17, 0x9c, 0x38,
- 0xca, 0x9b, 0x83, 0x2e, 0x56, 0x24, 0x1e, 0xd6, 0xe4, 0x81, 0x0b, 0xe4,
- 0xaa, 0xa2, 0x30, 0x1a, 0x9b, 0x33, 0x49, 0x67, 0x99, 0x92, 0x16, 0xef,
- 0x0a, 0x49, 0x3a, 0x1b, 0x95, 0x30, 0x39, 0x26, 0x88, 0x1c, 0x21, 0x4a,
- 0x29, 0x10, 0xe7, 0x50, 0xd7, 0xa5, 0xcb, 0x2e, 0x50, 0x78, 0xa8, 0x4f,
- 0xaf, 0x92, 0xde, 0x6a, 0xb5, 0xa7, 0xd7, 0x7d, 0xe3, 0x7b, 0x1b, 0x6a,
- 0x82, 0x6b, 0x4d, 0xdc, 0x96, 0xa6, 0x0f, 0x5b, 0x82, 0x5d, 0x18, 0xfc,
- 0x8d, 0x81, 0x49, 0x0c, 0x2f, 0xd6, 0x7b, 0x74, 0x3b, 0x61, 0x6c, 0x56,
- 0x1d, 0x04, 0x27, 0x2b, 0x2f, 0xb4, 0xed, 0x4d, 0xb0, 0x0b, 0x0e, 0xe7,
- 0x70, 0xe9, 0xe0, 0x8e, 0x62, 0x85, 0xd1, 0x7b, 0xba, 0x2b, 0x7f, 0xec,
- 0xdb, 0x84, 0x7f, 0xa4, 0xef, 0x89, 0xab, 0x45, 0xaf, 0x08, 0x3d, 0xdf,
- 0x46, 0x9f, 0x47, 0x22, 0xa7, 0x22, 0x2f, 0xa1, 0xff, 0x04, 0xb3, 0xb3,
- 0xb7, 0x2d, 0x1e, 0x05, 0xe4, 0x62, 0x02, 0x11, 0x27, 0x6e, 0x93, 0xde,
- 0x4d, 0xc9, 0xd1, 0xdb, 0xde, 0x01, 0x61, 0xc8, 0x19, 0x90, 0x26, 0x23,
- 0xb4, 0x41, 0xcc, 0xee, 0xc1, 0x42, 0x78, 0xfc, 0x9b, 0xb3, 0xb7, 0xc7,
- 0x6d, 0xf0, 0x13, 0x7e, 0x12, 0x73, 0x2b, 0x18, 0x69, 0xf5, 0xc6, 0x88,
- 0x18, 0xde, 0x41, 0x69, 0xa0, 0xba, 0x61, 0x7b, 0x99, 0x7e, 0x5d, 0x67,
- 0xcd, 0xe2, 0x6e, 0x99, 0x4f, 0xb7, 0xb6, 0x69, 0x7f, 0x10, 0xf2, 0x71,
- 0x00, 0xc0, 0x2d, 0x5b, 0x58, 0x75, 0xb2, 0xc5, 0xca, 0x78, 0x95, 0x35,
- 0xcb, 0xaa, 0x60, 0x4f, 0x50, 0x42, 0xdd, 0x0f, 0x43, 0x3a, 0x89, 0xdc,
- 0x6b, 0xbe, 0x0d, 0x24, 0x59, 0xd5, 0x1c, 0x38, 0xe6, 0x26, 0xb7, 0x49,
- 0x0a, 0x18, 0x39, 0x8a, 0xf8, 0x39, 0xd6, 0x9e, 0xc6, 0x12, 0xdc, 0x53,
- 0x98, 0x0b, 0x4d, 0x4f, 0x3c, 0x3c, 0x3f, 0x7f, 0x7d, 0x78, 0x79, 0x68,
- 0xc7, 0x86, 0x8b, 0x18, 0x92, 0x05, 0xea, 0xb0, 0x11, 0x49, 0xa4, 0x1d,
- 0xd1, 0x93, 0x9b, 0x7f, 0x7c, 0x3f, 0x3a, 0xbe, 0xe8, 0x2e, 0xec, 0xf9,
- 0xc5, 0x19, 0x65, 0xac, 0xff, 0xf1, 0xa7, 0x43, 0x8a, 0x14, 0x89, 0x9f,
- 0xfb, 0x75, 0xda, 0xa4, 0x9b, 0xc1, 0xa9, 0xde, 0x37, 0x7b, 0xed, 0x0c,
- 0xe8, 0x1d, 0xed, 0xe0, 0x95, 0xdc, 0x66, 0x30, 0xfa, 0x93, 0x0f, 0xb4,
- 0xa6, 0xd5, 0x44, 0xb1, 0x4f, 0xf8, 0xa8, 0x2e, 0x67, 0x3f, 0xf4, 0x68,
- 0x78, 0x03, 0x29, 0x9d, 0x24, 0xd3, 0xe8, 0xbd, 0xce, 0xd5, 0x2c, 0xc9,
- 0x3e, 0x19, 0xcb, 0xba, 0xd1, 0x4d, 0x8f, 0xfd, 0x45, 0x39, 0x45, 0xdd,
- 0x79, 0x71, 0xeb, 0xa3, 0x0b, 0xc4, 0x68, 0x29, 0xce, 0xed, 0x86, 0x1c,
- 0x40, 0x52, 0x9b, 0xd9, 0x6d, 0xc0, 0xa7, 0x0d, 0xb5, 0xb7, 0x62, 0x9c,
- 0x06, 0xce, 0x25, 0x76, 0x18, 0x22, 0xc5, 0x8d, 0xbb, 0x14, 0x4c, 0xc8,
- 0x1f, 0xcc, 0x79, 0x1c, 0x24, 0xc7, 0x82, 0xbd, 0xc6, 0xb0, 0xcd, 0x0f,
- 0x82, 0x87, 0x1a, 0x6b, 0x2b, 0x88, 0xb0, 0x8f, 0xcb, 0x0a, 0x2f, 0xed,
- 0xb3, 0xd7, 0x55, 0x9e, 0x39, 0xd1, 0xc2, 0x3c, 0x44, 0x9d, 0xa6, 0x29,
- 0x87, 0xa9, 0xd4, 0x8b, 0xc4, 0x99, 0x07, 0xe9, 0x35, 0xed, 0x2e, 0xf3,
- 0xa8, 0x51, 0xa2, 0x8d, 0x85, 0x44, 0xff, 0xda, 0xd9, 0x1b, 0xee, 0xf6,
- 0xc2, 0xce, 0xd3, 0x61, 0x41, 0x16, 0xad, 0xf5, 0x17, 0x93, 0x2c, 0x6c,
- 0xca, 0xf2, 0xc1, 0xfe, 0xb1, 0x08, 0x33, 0x7a, 0xe8, 0xc2, 0xb4, 0x1f,
- 0xed, 0xca, 0xe0, 0x2c, 0x80, 0x76, 0x11, 0x58, 0xaa, 0x52, 0xa1, 0x68,
- 0x64, 0x62, 0x51, 0xde, 0xd1, 0x48, 0xcc, 0x56, 0x9b, 0xcd, 0x5a, 0xe9,
- 0xce, 0xbd, 0xf8, 0x34, 0x17, 0x60, 0x16, 0xc8, 0xba, 0xb3, 0x1d, 0x0b,
- 0xc6, 0xc8, 0xe5, 0xe9, 0xeb, 0x71, 0x16, 0x65, 0x04, 0x83, 0xd1, 0xee,
- 0x02, 0xf7, 0x73, 0x91, 0x91, 0x81, 0xdc, 0x9b, 0xf9, 0xc1, 0xc6, 0x81,
- 0x46, 0x3c, 0x07, 0xd4, 0x0c, 0x69, 0x9f, 0x2f, 0x39, 0x73, 0x2a, 0x30,
- 0xdc, 0xdf, 0xa6, 0x9f, 0xf2, 0xf9, 0x72, 0x9e, 0xe0, 0x7b, 0xac, 0xd0,
- 0xca, 0x93, 0x7a, 0x31, 0x92, 0xff, 0x84, 0x83, 0xae, 0xb4, 0xa8, 0x9b,
- 0xb5, 0x67, 0xbf, 0x47, 0x2e, 0x19, 0x73, 0x29, 0xab, 0xd9, 0x29, 0xf0,
- 0xf5, 0x79, 0xde, 0xd4, 0x1d, 0xbb, 0xdf, 0xa8, 0x0a, 0x29, 0xc5, 0xd0,
- 0x34, 0x45, 0x8a, 0x2f, 0xf1, 0x88, 0x38, 0xe7, 0xd4, 0x3d, 0xd5, 0xe1,
- 0x3c, 0x94, 0x50, 0x56, 0xe5, 0xe5, 0xd4, 0x1e, 0x1b, 0xd2, 0x12, 0xf3,
- 0x62, 0x69, 0x26, 0x9a, 0x9a, 0xa3, 0x5b, 0x55, 0x7e, 0x13, 0x84, 0xf1,
- 0x00, 0x68, 0x1c, 0x01, 0xa7, 0xaa, 0xb8, 0x9f, 0xcf, 0x86, 0x4f, 0xf6,
- 0x87, 0xbb, 0xfd, 0x96, 0xf5, 0x2e, 0x19, 0x8e, 0xe6, 0x74, 0x4d, 0xf2,
- 0xb9, 0xcd, 0x7e, 0x18, 0xfe, 0xd3, 0xbc, 0x34, 0x94, 0xf7, 0x31, 0x98,
- 0xa7, 0x9f, 0xb0, 0x7c, 0xd1, 0x65, 0x2d, 0x93, 0x97, 0xdf, 0x9c, 0x8d,
- 0x2e, 0xf7, 0x0e, 0xce, 0xcf, 0x2e, 0xcc, 0x7f, 0xe9, 0xef, 0xfb, 0xf8,
- 0xfb, 0x7e, 0x60, 0x3d, 0xbe, 0x11, 0xd8, 0x92, 0xe2, 0xa4, 0xa1, 0xea,
- 0xe0, 0x16, 0x10, 0x2b, 0xc6, 0x6b, 0x88, 0xb0, 0xed, 0x24, 0x05, 0x75,
- 0xb1, 0x22, 0x3e, 0x33, 0xef, 0x53, 0x8a, 0x1c, 0x1d, 0xb6, 0xf7, 0x33,
- 0x30, 0x32, 0x79, 0xa3, 0xaa, 0x94, 0x64, 0x66, 0x69, 0xce, 0x57, 0xd7,
- 0xa3, 0xc7, 0x59, 0x35, 0x02, 0x8d, 0x56, 0x42, 0x13, 0xc0, 0x1d, 0xda,
- 0xbf, 0x9a, 0xcc, 0x8c, 0xa6, 0x9f, 0x51, 0x78, 0x74, 0x9a, 0x71, 0x36,
- 0x3d, 0xfd, 0x24, 0x66, 0x80, 0x08, 0xf2, 0x1a, 0x68, 0xd1, 0x61, 0xb7,
- 0x67, 0xd8, 0x95, 0x82, 0x8b, 0xa3, 0x34, 0x46, 0xd3, 0xcb, 0xbc, 0xbe,
- 0x51, 0xf4, 0x7f, 0xb7, 0x39, 0x80, 0x8d, 0x7c, 0x87, 0xd5, 0x49, 0xc3,
- 0x99, 0x5f, 0xef, 0xce, 0x2e, 0x93, 0xf4, 0xea, 0x4a, 0xd3, 0xd4, 0x00,
- 0x05, 0x25, 0x8d, 0x75, 0x07, 0x56, 0xbe, 0x3a, 0x9a, 0xeb, 0x50, 0xf2,
- 0xb1, 0x3e, 0x72, 0x79, 0x3a, 0xda, 0x21, 0x77, 0x15, 0xe3, 0x3a, 0x46,
- 0xef, 0x4e, 0xfa, 0x2d, 0x47, 0xa6, 0x1f, 0xcd, 0xdd, 0xa6, 0x9b, 0x52,
- 0xae, 0xd1, 0xee, 0xdc, 0x79, 0x77, 0xa1, 0x4d, 0x7f, 0x1e, 0x26, 0x3d,
- 0x2c, 0x68, 0x8f, 0x75, 0xcc, 0x1e, 0xd6, 0xb5, 0xc7, 0x58, 0x46, 0xc0,
- 0x40, 0xd0, 0x5f, 0xca, 0xd2, 0x0d, 0x50, 0x18, 0xf0, 0xf2, 0xf6, 0x91,
- 0x15, 0x4c, 0x4a, 0x47, 0x8f, 0x2c, 0x12, 0x1a, 0x18, 0x06, 0xd5, 0x93,
- 0x86, 0xf7, 0xb9, 0x61, 0xb4, 0x6b, 0xfe, 0x4e, 0xcd, 0x62, 0xd3, 0x8e,
- 0xb3, 0x18, 0xa6, 0x12, 0xdf, 0x71, 0x4d, 0xdb, 0xb6, 0x4d, 0xc7, 0xe0,
- 0x7c, 0xe5, 0xa7, 0x74, 0x73, 0x18, 0xe9, 0x42, 0x31, 0xb9, 0xfc, 0x9a,
- 0x22, 0x60, 0x5d, 0xd4, 0xbe, 0xeb, 0x48, 0xe0, 0x86, 0x22, 0x7d, 0xac,
- 0x6e, 0x7a, 0x9e, 0xcf, 0xa0, 0x09, 0x50, 0x91, 0x40, 0x67, 0x55, 0x6a,
- 0xcf, 0x68, 0x87, 0xea, 0x32, 0xbc, 0xf1, 0xad, 0x03, 0x7f, 0x9e, 0xd2,
- 0xad, 0x63, 0xfd, 0xdc, 0x0a, 0xb9, 0xd6, 0x83, 0x84, 0xa4, 0x6c, 0xca,
- 0x20, 0x04, 0x3a, 0x9f, 0xa6, 0x96, 0x9d, 0xe3, 0xdd, 0xe6, 0x98, 0xd2,
- 0xc3, 0x48, 0x84, 0x04, 0x48, 0x5b, 0xea, 0x40, 0xd2, 0xdb, 0xdb, 0xff,
- 0x6c, 0xb8, 0x6b, 0xfe, 0x1f, 0x2d, 0x8d, 0xa8, 0x8b, 0xcc, 0x60, 0xe0,
- 0x32, 0xd5, 0x05, 0x97, 0xdb, 0x75, 0x32, 0xeb, 0x1d, 0x54, 0x56, 0xd7,
- 0xbd, 0xe1, 0xa3, 0xef, 0x15, 0x5a, 0x4b, 0x7b, 0xa7, 0xa4, 0x53, 0xf9,
- 0x89, 0x1e, 0xf3, 0x6a, 0x39, 0x8b, 0x80, 0x55, 0x3c, 0xb7, 0x31, 0x29,
- 0x68, 0xb3, 0x5b, 0x71, 0x1a, 0x7f, 0x43, 0xe2, 0x89, 0xb3, 0x28, 0x86,
- 0xad, 0x50, 0xff, 0x8b, 0x96, 0x0f, 0xf0, 0x48, 0x0c, 0x37, 0xc8, 0xe6,
- 0x81, 0x39, 0x10, 0x2f, 0xcb, 0xab, 0xab, 0x3a, 0x6b, 0xba, 0x77, 0xd0,
- 0x91, 0x3c, 0xb2, 0x73, 0x01, 0x12, 0x1c, 0x0f, 0xe6, 0xdc, 0x4e, 0x12,
- 0x4f, 0xd2, 0xa6, 0x2d, 0xb8, 0xb8, 0xb9, 0x61, 0x04, 0xdc, 0xd9, 0x7e,
- 0xc2, 0x03, 0x67, 0x73, 0xae, 0x56, 0x90, 0x82, 0x8c, 0xf3, 0x2a, 0xc2,
- 0xb9, 0x7b, 0x2a, 0x3e, 0xe6, 0x8b, 0x05, 0xd9, 0x38, 0x60, 0xdc, 0xa0,
- 0xbd, 0x6b, 0xe3, 0x04, 0xe3, 0xcc, 0x6c, 0x54, 0x6c, 0x67, 0x45, 0xc0,
- 0x18, 0x25, 0x79, 0x62, 0xd1, 0xc3, 0xe3, 0xcc, 0x1c, 0xdb, 0x2c, 0xd4,
- 0xda, 0xc9, 0xb5, 0xe1, 0xe5, 0x59, 0x4b, 0x7a, 0xe8, 0x94, 0x72, 0xaa,
- 0x8b, 0x94, 0xc5, 0x0c, 0xdd, 0x2d, 0x2e, 0x03, 0x51, 0x52, 0x2f, 0x62,
- 0x40, 0x2c, 0x07, 0x8c, 0xb7, 0x2e, 0xb7, 0xd1, 0xc9, 0xff, 0x3c, 0x76,
- 0x59, 0xf1, 0x36, 0xed, 0x9c, 0x61, 0xc6, 0x31, 0xd0, 0x76, 0xd2, 0x1b,
- 0x1c, 0x25, 0x83, 0x1e, 0x3a, 0xe2, 0xa2, 0xa8, 0x65, 0x07, 0x04, 0x0b,
- 0xdb, 0x87, 0x54, 0x89, 0x04, 0xfa, 0xd0, 0x0e, 0xe7, 0xa1, 0x95, 0x81,
- 0xfe, 0x84, 0x25, 0xe4, 0xc9, 0xd6, 0x51, 0xe2, 0x94, 0x34, 0x92, 0xb5,
- 0xe0, 0xa3, 0x7d, 0x59, 0x61, 0xdc, 0xc9, 0x0b, 0x52, 0x1b, 0xa1, 0xc3,
- 0x04, 0x50, 0x58, 0xcd, 0x42, 0xe2, 0xf4, 0xdb, 0x65, 0xf3, 0x4f, 0x8c,
- 0x95, 0x54, 0xb4, 0x7f, 0xc1, 0xab, 0xe2, 0x6d, 0xea, 0x09, 0x6f, 0x6a,
- 0xe2, 0x73, 0x1a, 0xfc, 0xd5, 0xd8, 0xd9, 0x2f, 0xd5, 0x57, 0xb1, 0x22,
- 0x4f, 0xcd, 0xba, 0x35, 0x4a, 0x09, 0x8a, 0x60, 0x6f, 0xd8, 0x7c, 0x69,
- 0x9d, 0x6b, 0xf6, 0xa8, 0x00, 0xea, 0x23, 0x64, 0x51, 0x5d, 0x59, 0x7f,
- 0x85, 0xab, 0x2d, 0x75, 0x79, 0xb9, 0x53, 0x2f, 0xbd, 0x7f, 0x48, 0xc0,
- 0xe0, 0x19, 0xb7, 0x52, 0xa3, 0x19, 0x69, 0x45, 0xd8, 0x4d, 0x82, 0x6b,
- 0x37, 0x2f, 0x06, 0xf3, 0x6c, 0x4e, 0x00, 0x3e, 0x7e, 0xd0, 0x08, 0xc4,
- 0x92, 0xb4, 0x70, 0xdd, 0x8d, 0xbc, 0x3e, 0x6c, 0x88, 0x37, 0x12, 0xf8,
- 0x9e, 0x72, 0x82, 0x08, 0x7d, 0x33, 0x44, 0x34, 0x95, 0x85, 0xe0, 0x67,
- 0xc8, 0xc4, 0xb2, 0x5f, 0x87, 0xa3, 0xec, 0xa3, 0x51, 0xa1, 0x8b, 0x3e,
- 0xfd, 0x1c, 0xa9, 0x40, 0x3a, 0xfb, 0xd4, 0xd9, 0x26, 0x2b, 0x62, 0xf8,
- 0xf9, 0x96, 0xf7, 0x59, 0x9e, 0xf3, 0x7c, 0x29, 0xef, 0xb2, 0x46, 0xa2,
- 0xa2, 0xdc, 0x77, 0x09, 0xdf, 0x09, 0xac, 0xde, 0x74, 0xa2, 0xd3, 0x1c,
- 0xf8, 0x4b, 0xb2, 0xc6, 0xf9, 0x84, 0xd4, 0xb7, 0x94, 0x2a, 0x69, 0x03,
- 0x79, 0x3d, 0xfb, 0xe6, 0x1c, 0xf4, 0xd4, 0x05, 0xcb, 0xdd, 0x8f, 0x4b,
- 0x04, 0xed, 0x10, 0xb9, 0x7a, 0x9a, 0x69, 0x6c, 0x4f, 0x4a, 0xfe, 0x65,
- 0x90, 0xf2, 0x28, 0xe0, 0x72, 0xa3, 0x4b, 0x20, 0x46, 0x29, 0xae, 0x63,
- 0x8c, 0x41, 0x50, 0x26, 0xac, 0x3a, 0x74, 0x33, 0xa1, 0x5c, 0x4e, 0x0f,
- 0xc5, 0x87, 0xab, 0xa9, 0x3a, 0x47, 0xb4, 0xa3, 0x46, 0x0a, 0x8b, 0x69,
- 0x74, 0x97, 0x62, 0xab, 0xd9, 0x4f, 0x40, 0xdc, 0x84, 0x87, 0x4a, 0xc1,
- 0x3d, 0x83, 0xb1, 0xdb, 0xce, 0x2e, 0x9f, 0x3b, 0xea, 0x9a, 0x95, 0x87,
- 0x68, 0xcf, 0x9b, 0x8b, 0x65, 0x13, 0x92, 0x45, 0xf2, 0x7a, 0x90, 0x22,
- 0x6d, 0x27, 0x85, 0xa7, 0xf0, 0xee, 0xa6, 0x9c, 0xb1, 0x65, 0x1c, 0x44,
- 0x58, 0x34, 0xe1, 0xca, 0x68, 0x57, 0xd4, 0x0e, 0xa1, 0xd5, 0xe0, 0x58,
- 0xbe, 0x05, 0x10, 0xae, 0x15, 0x26, 0x31, 0x3a, 0x5e, 0x96, 0x12, 0xce,
- 0x5b, 0xa1, 0xa0, 0xb7, 0x61, 0x7a, 0x8a, 0x39, 0xe7, 0xe3, 0xb2, 0x96,
- 0xfd, 0x42, 0x49, 0x4d, 0x66, 0x8b, 0xa5, 0x15, 0xc4, 0xb2, 0x50, 0x36,
- 0x28, 0xc1, 0x94, 0x55, 0xcb, 0x44, 0x3e, 0x91, 0x2e, 0xd8, 0x45, 0xf1,
- 0xe6, 0x94, 0x0a, 0x68, 0xb6, 0x89, 0xd1, 0x01, 0xc8, 0x4d, 0x8b, 0xbd,
- 0x83, 0x46, 0x99, 0x90, 0xe1, 0x06, 0x74, 0x69, 0x92, 0x2f, 0x68, 0x4e,
- 0xe1, 0x4d, 0x4a, 0x56, 0x7b, 0xb3, 0x4c, 0x57, 0x4d, 0x5d, 0x1b, 0xb9,
- 0xf3, 0xa0, 0x78, 0x72, 0x1a, 0x4c, 0x24, 0x94, 0x80, 0x6d, 0xbb, 0x22,
- 0x6a, 0xe8, 0x2f, 0xe4, 0x4b, 0x3a, 0x67, 0x2b, 0xe4, 0xd1, 0x39, 0x98,
- 0x65, 0x6e, 0xda, 0xd4, 0x04, 0xc8, 0x82, 0x92, 0x6b, 0x44, 0x13, 0x0d,
- 0xb8, 0x29, 0xbd, 0xe5, 0x4f, 0x9a, 0x10, 0x58, 0xc7, 0x61, 0x37, 0xd3,
- 0x8d, 0xd9, 0xbd, 0x6b, 0xd1, 0xcb, 0x50, 0x52, 0xbc, 0xa2, 0xc7, 0xdb,
- 0x62, 0x3f, 0x91, 0x76, 0xb5, 0x9a, 0x91, 0x51, 0xbe, 0xf9, 0x9b, 0x07,
- 0xbd, 0x44, 0x29, 0xb5, 0xf8, 0x2e, 0x47, 0xbb, 0x0a, 0x8f, 0x87, 0x9e,
- 0x05, 0x3b, 0x55, 0x54, 0x47, 0x3e, 0xf6, 0xdd, 0xe6, 0x88, 0xa7, 0x71,
- 0xef, 0xd5, 0x77, 0x87, 0xa7, 0xef, 0x8f, 0xf7, 0xbe, 0x48, 0xe8, 0x5f,
- 0xfb, 0xfc, 0xaf, 0xfd, 0x5e, 0x74, 0x95, 0x8c, 0x70, 0xda, 0x7c, 0xb5,
- 0x99, 0xd4, 0xf7, 0xf3, 0x71, 0x39, 0xb3, 0xab, 0x24, 0x73, 0xa1, 0xa1,
- 0xb2, 0xbe, 0xdc, 0xde, 0x9a, 0x30, 0x27, 0x1e, 0xf2, 0xae, 0xa4, 0xae,
- 0x05, 0x48, 0xa3, 0x52, 0x06, 0x71, 0x3a, 0x3f, 0x73, 0xab, 0x41, 0x72,
- 0x9b, 0x0a, 0x2f, 0xc4, 0xeb, 0x2e, 0x57, 0x82, 0x9b, 0x98, 0x7f, 0x4a,
- 0x0f, 0x74, 0x9d, 0x44, 0xa5, 0x06, 0x5f, 0x2d, 0x8e, 0xf1, 0xcf, 0x93,
- 0x15, 0x81, 0xe0, 0x37, 0x72, 0x09, 0x60, 0x0e, 0xe5, 0x24, 0xe4, 0x77,
- 0x05, 0x2b, 0x44, 0x24, 0x39, 0xf7, 0xca, 0x5b, 0xb2, 0x49, 0x20, 0x69,
- 0x8b, 0xe3, 0x06, 0x7a, 0x34, 0x70, 0xf3, 0x95, 0xf3, 0xb1, 0x68, 0x2d,
- 0x5e, 0xbe, 0x9c, 0xd9, 0x8f, 0xa7, 0xb4, 0x1f, 0x67, 0xa5, 0x58, 0x27,
- 0x9a, 0x9f, 0x53, 0xb5, 0x58, 0x7a, 0x3c, 0x5e, 0x40, 0x4b, 0x67, 0x24,
- 0x7c, 0x40, 0xad, 0xa0, 0x1f, 0xbb, 0x99, 0xa3, 0x59, 0x3c, 0x9a, 0x0c,
- 0x45, 0xe0, 0xbd, 0xf2, 0xca, 0x49, 0x78, 0x1b, 0x1e, 0xf5, 0xaf, 0x41,
- 0xd9, 0x42, 0x04, 0x15, 0x9a, 0xa5, 0xc1, 0x50, 0x38, 0x15, 0x50, 0x92,
- 0x83, 0x29, 0xd0, 0x6e, 0x77, 0xa4, 0x59, 0xb1, 0xfb, 0x59, 0xb6, 0xad,
- 0xb1, 0x43, 0xbd, 0x7e, 0x76, 0xde, 0x96, 0x7f, 0x37, 0x33, 0x9e, 0xca,
- 0x47, 0x62, 0x77, 0x98, 0xdc, 0x49, 0x2b, 0x7b, 0xee, 0x8e, 0x3b, 0xa7,
- 0xcb, 0xf9, 0xa7, 0xb8, 0x65, 0xac, 0xa6, 0x98, 0x7c, 0xa3, 0x26, 0x01,
- 0x17, 0x18, 0x2c, 0x82, 0xdc, 0xb6, 0x36, 0xe3, 0xd2, 0xbb, 0xa2, 0x74,
- 0x4a, 0xcc, 0x1e, 0x2b, 0x79, 0xeb, 0xb9, 0xa5, 0x97, 0x6b, 0xa0, 0x2b,
- 0x52, 0xbb, 0x3a, 0xce, 0x8a, 0x8b, 0xe1, 0xf8, 0x53, 0x56, 0x4d, 0x28,
- 0xf1, 0x76, 0x62, 0x34, 0x45, 0xe8, 0x5e, 0x9c, 0x2c, 0xcc, 0xc4, 0x3d,
- 0xad, 0x7d, 0xa3, 0xe2, 0x0f, 0x26, 0xa9, 0xae, 0xff, 0xca, 0xb5, 0x07,
- 0xf6, 0x60, 0x62, 0xf6, 0xf0, 0xd0, 0x72, 0xa4, 0xe8, 0x85, 0xd5, 0x3e,
- 0xd7, 0x9a, 0xc8, 0x00, 0x0f, 0x7f, 0x00, 0x15, 0xc2, 0x0c, 0xeb, 0x8b,
- 0xde, 0x6a, 0xca, 0x76, 0x41, 0x5f, 0x98, 0xf1, 0xc2, 0xa1, 0x4b, 0x28,
- 0x61, 0x12, 0xb4, 0x01, 0xab, 0x71, 0x51, 0x76, 0x75, 0x90, 0xcd, 0x8c,
- 0x00, 0x46, 0x71, 0xaf, 0x64, 0x03, 0x5b, 0xb8, 0xc5, 0x58, 0x59, 0x53,
- 0x52, 0x1a, 0x84, 0x0b, 0xc3, 0xa4, 0xac, 0x59, 0x79, 0x47, 0x71, 0x91,
- 0x36, 0x45, 0xd4, 0xbc, 0x9c, 0xf2, 0x7e, 0x18, 0xdf, 0x5b, 0x7e, 0xd7,
- 0x01, 0xe9, 0x2e, 0xfc, 0xd9, 0xa1, 0x66, 0xe3, 0x46, 0x77, 0x80, 0x15,
- 0x07, 0x1d, 0xbc, 0x7b, 0xea, 0xb0, 0x0b, 0x0d, 0xfb, 0x77, 0xf9, 0xbe,
- 0x77, 0xfc, 0x0c, 0xb1, 0x8b, 0x06, 0x23, 0x1e, 0x97, 0xcd, 0x8d, 0xbd,
- 0x72, 0x30, 0x60, 0x72, 0x8f, 0x19, 0x4b, 0xb5, 0x81, 0x52, 0xae, 0x96,
- 0x59, 0x23, 0xb8, 0x36, 0xf1, 0xdf, 0x04, 0x21, 0xc0, 0x8f, 0xcc, 0x0e,
- 0x52, 0x36, 0xca, 0xfc, 0x26, 0xac, 0x48, 0x0d, 0xb2, 0xcc, 0xc9, 0x7f,
- 0x04, 0xa3, 0x14, 0x24, 0x34, 0xe6, 0xbb, 0x04, 0x16, 0xaa, 0x6b, 0x22,
- 0x1c, 0xa1, 0xa1, 0xa7, 0x41, 0xb2, 0x31, 0xa6, 0x9a, 0x00, 0x2f, 0x6e,
- 0x51, 0xb7, 0x98, 0x0e, 0xc0, 0x19, 0x72, 0x9c, 0x25, 0x4c, 0x6e, 0xf6,
- 0xe5, 0x58, 0xdf, 0xa9, 0xb7, 0xc9, 0xd8, 0x8e, 0x80, 0xc0, 0x5a, 0x5a,
- 0xe5, 0x8a, 0x43, 0xfb, 0x0f, 0x1b, 0x1a, 0x81, 0xe1, 0x55, 0xd5, 0xcc,
- 0xb2, 0x06, 0x9e, 0x3a, 0x8b, 0xc4, 0xc4, 0x94, 0x87, 0xc2, 0x2b, 0x75,
- 0x61, 0x31, 0xa8, 0xf9, 0xdd, 0x51, 0x2c, 0xa6, 0x50, 0xc5, 0xf4, 0x1d,
- 0x28, 0x2f, 0x1e, 0x5b, 0x52, 0x5d, 0xca, 0x89, 0x44, 0xf3, 0x24, 0x68,
- 0x9c, 0xa4, 0x89, 0xd1, 0x06, 0x74, 0x65, 0x80, 0x1f, 0xf7, 0x68, 0x69,
- 0xb6, 0xa2, 0xe9, 0xfa, 0xf2, 0xc1, 0xbc, 0x88, 0x9b, 0x71, 0x60, 0xf6,
- 0x7f, 0x1d, 0x8b, 0x1f, 0xea, 0xe5, 0x3a, 0x29, 0x8b, 0xbf, 0x2e, 0x8b,
- 0x49, 0x63, 0x31, 0x71, 0xd0, 0x49, 0xcb, 0xbe, 0x47, 0xda, 0x24, 0x01,
- 0x53, 0x0b, 0xa4, 0xe9, 0x6e, 0x7c, 0x7c, 0x48, 0xdc, 0x77, 0x94, 0x79,
- 0x44, 0x70, 0x61, 0xba, 0x76, 0x66, 0x5e, 0x8e, 0xd2, 0x4d, 0x6e, 0x56,
- 0xa8, 0x9a, 0xdc, 0x20, 0xab, 0x12, 0xee, 0x9d, 0x4c, 0x7d, 0x96, 0x2b,
- 0xe0, 0x3f, 0xdc, 0xac, 0x28, 0x4a, 0x39, 0x89, 0x24, 0xca, 0x9b, 0x2e,
- 0x0b, 0x15, 0xd4, 0xab, 0xfa, 0x19, 0xa2, 0xab, 0x6e, 0x68, 0xce, 0xb3,
- 0x59, 0x9d, 0xd9, 0x10, 0xbe, 0x7d, 0xc7, 0x99, 0x22, 0x30, 0x8b, 0x8b,
- 0x92, 0x63, 0x70, 0xe4, 0x0d, 0xca, 0xa3, 0xa7, 0x1c, 0x3d, 0x31, 0x2a,
- 0x88, 0x74, 0x86, 0x0c, 0x3d, 0xda, 0x27, 0xf7, 0x9a, 0x75, 0x2f, 0x2d,
- 0xe8, 0xae, 0xd3, 0xac, 0xfb, 0xe0, 0xf6, 0x29, 0xed, 0xbc, 0x49, 0x26,
- 0xbb, 0x4e, 0x55, 0xae, 0xa4, 0x9c, 0xbc, 0x55, 0xc8, 0xb9, 0x60, 0x7a,
- 0xc3, 0xfc, 0xcd, 0x14, 0x94, 0x1a, 0x0c, 0xae, 0x9a, 0xc5, 0x20, 0xba,
- 0x04, 0x58, 0xeb, 0xf6, 0x16, 0x98, 0x5d, 0x09, 0x6b, 0xc1, 0x5b, 0x25,
- 0x6c, 0xb9, 0x25, 0xd0, 0x78, 0x72, 0xfa, 0x86, 0x7d, 0xd0, 0x47, 0x17,
- 0xf4, 0xb7, 0xdc, 0x72, 0x36, 0x0c, 0x71, 0x28, 0x88, 0x90, 0x99, 0x23,
- 0xa8, 0x6f, 0xbf, 0xeb, 0x26, 0xfc, 0x6c, 0x9d, 0x8d, 0x76, 0x9e, 0xbc,
- 0xd8, 0x0d, 0x53, 0xcf, 0xb7, 0xe8, 0x1b, 0x8e, 0xcc, 0xe6, 0xb3, 0xe1,
- 0xd3, 0xdd, 0xe1, 0xee, 0x76, 0xa7, 0x37, 0x34, 0xdd, 0x6b, 0x92, 0xc9,
- 0x95, 0x82, 0xd3, 0x5e, 0x1c, 0x34, 0x05, 0x2e, 0x5f, 0x5b, 0x41, 0x9b,
- 0x7e, 0xda, 0xd2, 0x45, 0x76, 0x6b, 0xb6, 0x5a, 0xcc, 0x18, 0x4e, 0x4e,
- 0x73, 0x60, 0xd9, 0xcd, 0x7b, 0x74, 0x9b, 0xe9, 0xfd, 0x42, 0x79, 0x81,
- 0xed, 0x5c, 0x3d, 0x3c, 0x42, 0x17, 0x26, 0x03, 0x86, 0x23, 0x41, 0x90,
- 0xda, 0x74, 0xaa, 0x02, 0x38, 0x0e, 0xc1, 0xf6, 0xdf, 0xdd, 0x01, 0xe2,
- 0x39, 0xf4, 0xf6, 0x5e, 0x0c, 0x3f, 0xf3, 0xd7, 0x94, 0x34, 0xf1, 0x41,
- 0x5a, 0x4f, 0xf2, 0x7c, 0xad, 0x8d, 0xa1, 0xa8, 0xc3, 0xbf, 0x2e, 0x41,
- 0xcb, 0x62, 0xb6, 0x69, 0x9e, 0x72, 0x04, 0xd5, 0xb1, 0x59, 0x05, 0xcd,
- 0x92, 0x1a, 0x69, 0xb6, 0xd8, 0xba, 0x76, 0x25, 0x85, 0x89, 0x48, 0xb6,
- 0x85, 0x80, 0x0f, 0xee, 0xbc, 0x19, 0xce, 0x75, 0x47, 0x95, 0x32, 0x67,
- 0x81, 0x09, 0x5c, 0x16, 0x55, 0x98, 0x50, 0x42, 0xf8, 0x48, 0xa2, 0xf3,
- 0x34, 0x73, 0x5f, 0x97, 0x34, 0x4f, 0xb1, 0x49, 0x85, 0xd7, 0x00, 0x14,
- 0x66, 0xd6, 0xb8, 0xb1, 0x67, 0x5f, 0x00, 0x3a, 0x7f, 0xf6, 0x00, 0x35,
- 0x2d, 0x03, 0x25, 0x8d, 0x28, 0x83, 0xcc, 0xc0, 0x9a, 0x20, 0x6a, 0xcd,
- 0xf6, 0x13, 0x0d, 0x84, 0x29, 0x63, 0x12, 0xb8, 0x22, 0x18, 0xb9, 0x21,
- 0xcc, 0xc0, 0x44, 0xc8, 0x60, 0x67, 0x2b, 0x42, 0xb7, 0xd1, 0x37, 0xe3,
- 0x03, 0xbf, 0x13, 0x76, 0x50, 0x91, 0xdd, 0x91, 0x34, 0xae, 0x45, 0x9d,
- 0xa8, 0xaa, 0x9c, 0x9c, 0x39, 0x36, 0xe8, 0xcf, 0x2a, 0x19, 0x01, 0x21,
- 0xe9, 0x82, 0x9e, 0x46, 0xb2, 0x08, 0x27, 0x38, 0x9d, 0xb5, 0x25, 0xcc,
- 0x2a, 0xc0, 0x50, 0x44, 0x8c, 0x3b, 0x8f, 0xb3, 0x6a, 0x57, 0x6e, 0x3a,
- 0x30, 0x38, 0x3b, 0xe0, 0x45, 0x13, 0x71, 0xf6, 0x10, 0x78, 0x82, 0x3d,
- 0x23, 0xcc, 0x58, 0x82, 0xb9, 0x4e, 0x6b, 0x61, 0xfb, 0x1e, 0xf3, 0x6e,
- 0x5c, 0xb3, 0x75, 0xaa, 0xf4, 0xee, 0xe1, 0xfd, 0xe8, 0xed, 0x1a, 0x99,
- 0xe9, 0x19, 0x5c, 0x25, 0x1e, 0xc1, 0x1a, 0x7c, 0x04, 0x8a, 0xd7, 0x8b,
- 0xf4, 0x54, 0x88, 0x7d, 0x99, 0x55, 0xd7, 0x4c, 0x66, 0x23, 0xc6, 0x0d,
- 0xcb, 0xf5, 0x3f, 0xaf, 0x01, 0xe9, 0x3b, 0xa7, 0xa2, 0x1b, 0x45, 0xcb,
- 0x73, 0xde, 0x61, 0x69, 0xc2, 0xb0, 0xcc, 0x95, 0xc7, 0x28, 0xf7, 0x47,
- 0x1c, 0x0a, 0x37, 0xba, 0xbe, 0x07, 0x01, 0xe2, 0x05, 0x80, 0x63, 0xc8,
- 0x1b, 0xa6, 0xd0, 0x79, 0xc5, 0x90, 0x80, 0x4c, 0x67, 0x46, 0xdb, 0x0a,
- 0xe1, 0x5d, 0x4b, 0xd3, 0xb2, 0xc8, 0x2a, 0x92, 0x82, 0x40, 0x4d, 0x0f,
- 0x14, 0xec, 0x1a, 0xbb, 0x58, 0xcc, 0xe6, 0x3f, 0xfa, 0xfa, 0x04, 0xe8,
- 0x5f, 0x73, 0xe8, 0x0b, 0x49, 0x6d, 0xe5, 0xfe, 0x33, 0xad, 0xba, 0x35,
- 0xc2, 0xae, 0x73, 0x6b, 0x32, 0xa6, 0x49, 0x8b, 0x32, 0xad, 0xa3, 0x23,
- 0x27, 0xaa, 0x0c, 0x0b, 0xbe, 0x51, 0x74, 0x5a, 0x8a, 0x2c, 0x90, 0x42,
- 0xaa, 0x11, 0xc2, 0xd4, 0x41, 0xca, 0xa3, 0xf3, 0x85, 0xaf, 0x6b, 0x0a,
- 0x76, 0x5a, 0x4b, 0x08, 0x10, 0x8a, 0x45, 0x00, 0x37, 0x76, 0xfb, 0x95,
- 0x69, 0xea, 0xb3, 0x10, 0x3a, 0x25, 0x9f, 0x8f, 0xd7, 0x91, 0xc0, 0x9a,
- 0x74, 0xcc, 0x71, 0x3b, 0x75, 0x99, 0x86, 0xc3, 0xd1, 0x7d, 0x24, 0x2d,
- 0x90, 0x53, 0x26, 0xe6, 0xf9, 0x53, 0xb5, 0x84, 0x42, 0x02, 0xff, 0x01,
- 0x1c, 0x3c, 0xdd, 0x11, 0xe6, 0x7c, 0xd2, 0x2d, 0xa9, 0xc9, 0x24, 0x7e,
- 0x6b, 0x4a, 0xc4, 0x23, 0xc0, 0xc9, 0x78, 0x73, 0x64, 0xaf, 0xbc, 0xa2,
- 0x9b, 0xfd, 0xcf, 0xe2, 0xf0, 0x20, 0xe0, 0xb4, 0x1f, 0x04, 0x91, 0x4c,
- 0x22, 0x86, 0xd8, 0x09, 0x6b, 0x00, 0x4d, 0x43, 0xbc, 0x39, 0x0e, 0x93,
- 0x79, 0xb3, 0xc7, 0x3b, 0x8e, 0x78, 0x34, 0x6b, 0x2e, 0x55, 0xf0, 0x2f,
- 0xdd, 0xc9, 0x7b, 0xf5, 0xf0, 0xec, 0xfd, 0xd2, 0xe9, 0x5b, 0x3f, 0x7b,
- 0xcc, 0x47, 0xab, 0x58, 0xcb, 0x57, 0x9e, 0xa3, 0x07, 0x70, 0x01, 0xb6,
- 0x15, 0xac, 0xc3, 0xa7, 0x2d, 0x65, 0x3c, 0xa3, 0xe8, 0xd5, 0x6f, 0xb5,
- 0xea, 0xd8, 0x8c, 0xb0, 0x40, 0xa9, 0xf3, 0xf1, 0xe6, 0xd8, 0x5b, 0x89,
- 0xb5, 0xf7, 0x59, 0x93, 0x44, 0x67, 0x44, 0x0b, 0x64, 0xe8, 0x7d, 0x32,
- 0xfb, 0xbf, 0xe1, 0xcd, 0x3c, 0x86, 0x4f, 0x65, 0x10, 0x6f, 0x4e, 0x33,
- 0x66, 0x44, 0x69, 0x0c, 0xc6, 0xf7, 0x67, 0xbd, 0xa4, 0x1e, 0x1a, 0x5c,
- 0x0b, 0x7a, 0xc9, 0xf0, 0x14, 0x76, 0xd1, 0xc1, 0x4e, 0x69, 0x45, 0xe8,
- 0x22, 0x4e, 0x4c, 0x9b, 0xb6, 0x64, 0x59, 0x9c, 0x18, 0xf9, 0xaa, 0x37,
- 0xd8, 0x76, 0xbf, 0x3d, 0x67, 0xc4, 0x52, 0x83, 0xfb, 0x40, 0x16, 0x3a,
- 0xde, 0x5c, 0x0e, 0xc3, 0x54, 0x96, 0x8f, 0xa8, 0x66, 0xa3, 0xcb, 0xf7,
- 0xff, 0x67, 0x43, 0x64, 0xf7, 0x28, 0x76, 0x83, 0x94, 0xac, 0xb8, 0x66,
- 0xd6, 0x27, 0xd3, 0x2d, 0xc0, 0xb4, 0x93, 0x16, 0x29, 0x7c, 0x00, 0x1e,
- 0x80, 0xf1, 0xdd, 0x47, 0xcc, 0x6e, 0x86, 0xc8, 0x66, 0xce, 0x88, 0xf7,
- 0x57, 0xf6, 0xe6, 0x99, 0x0e, 0x68, 0x78, 0x03, 0xd9, 0xb5, 0x43, 0xec,
- 0xc3, 0x35, 0x9b, 0xd5, 0x6e, 0xce, 0xf8, 0xbe, 0x0c, 0x76, 0xe0, 0xea,
- 0xdb, 0x51, 0x09, 0xd2, 0xe4, 0x7a, 0x6f, 0x5d, 0x96, 0x7b, 0x9f, 0xb7,
- 0x2e, 0x4b, 0xf7, 0xce, 0xba, 0x6b, 0x72, 0x84, 0xb4, 0x8d, 0x76, 0x42,
- 0x33, 0x5e, 0x02, 0x94, 0x04, 0xe4, 0xc4, 0x21, 0x40, 0x86, 0x5e, 0xed,
- 0xea, 0x00, 0x82, 0x50, 0x71, 0xd8, 0x7f, 0xce, 0x4b, 0xa0, 0xc0, 0x8b,
- 0x28, 0xf3, 0xc9, 0xb8, 0x2a, 0xef, 0x6a, 0x68, 0x4f, 0x6a, 0x4f, 0xa5,
- 0x8c, 0xa3, 0xbc, 0x09, 0xa2, 0xf9, 0x66, 0x7a, 0x67, 0x96, 0xc8, 0xed,
- 0x9b, 0xcb, 0xb7, 0xa7, 0x4c, 0x56, 0xcb, 0x99, 0x6c, 0x94, 0xb6, 0x22,
- 0x7d, 0x5e, 0x8e, 0xe7, 0x66, 0xfd, 0x8d, 0x82, 0xd2, 0xb0, 0x34, 0x53,
- 0x01, 0x19, 0xa4, 0xdb, 0x21, 0x2a, 0x24, 0x41, 0xc5, 0x45, 0xcc, 0xd7,
- 0x2f, 0xae, 0x20, 0x17, 0x4d, 0x93, 0xc5, 0x45, 0xee, 0xd7, 0x6a, 0x80,
- 0xc9, 0xce, 0xa7, 0xc1, 0xdd, 0xdd, 0xdd, 0x80, 0x7a, 0xe7, 0x14, 0x13,
- 0x32, 0xd9, 0x8e, 0x18, 0x57, 0x01, 0x55, 0xea, 0x0d, 0x2d, 0x05, 0x3d,
- 0x12, 0x9c, 0x3e, 0x4f, 0x53, 0x43, 0x4d, 0x05, 0x70, 0x42, 0x5a, 0x87,
- 0x02, 0x29, 0x5e, 0x96, 0x50, 0x19, 0x64, 0x22, 0x69, 0x5b, 0xd9, 0xea,
- 0x8a, 0x34, 0xa7, 0x7c, 0x39, 0x6a, 0x64, 0x5f, 0xff, 0x22, 0x55, 0x84,
- 0x54, 0x22, 0x89, 0x49, 0x2c, 0x2b, 0xf2, 0x3f, 0xb1, 0x85, 0x11, 0x43,
- 0x6e, 0x8b, 0x4e, 0xa2, 0x7e, 0x7d, 0x1b, 0x1d, 0x6b, 0x59, 0x26, 0xca,
- 0x01, 0x4b, 0x6d, 0x7b, 0xc7, 0x37, 0xa2, 0x27, 0x32, 0x75, 0x07, 0xf0,
- 0xf8, 0x58, 0x4d, 0xb3, 0xd9, 0x4c, 0xeb, 0x28, 0x71, 0x90, 0xc2, 0x9f,
- 0x1b, 0x68, 0x78, 0x51, 0x1d, 0xdb, 0x11, 0x24, 0xd7, 0x8e, 0x13, 0x57,
- 0xcd, 0x3b, 0x30, 0x98, 0x80, 0xb3, 0x04, 0xa4, 0xb8, 0x65, 0xdb, 0x3d,
- 0x33, 0x08, 0x22, 0x88, 0xe2, 0xae, 0xe9, 0x7b, 0x91, 0x9a, 0x9c, 0x1c,
- 0x26, 0x7e, 0x7e, 0xbf, 0x23, 0xec, 0x9b, 0x67, 0xd5, 0x35, 0xfd, 0x44,
- 0xd9, 0xdc, 0xa2, 0x59, 0x23, 0x69, 0xe2, 0xd1, 0xd7, 0x24, 0xc9, 0xbf,
- 0x0e, 0xf8, 0x52, 0x85, 0x67, 0x65, 0x49, 0xb0, 0x56, 0x71, 0x01, 0x6f,
- 0x0e, 0xa6, 0x2c, 0x56, 0xa6, 0x69, 0x61, 0x66, 0xc2, 0x9c, 0xd8, 0x10,
- 0x62, 0x31, 0x9b, 0xbd, 0x9a, 0x95, 0xcb, 0xfa, 0x7e, 0x33, 0x11, 0x7e,
- 0x72, 0xa1, 0xf4, 0x6d, 0x38, 0x41, 0x13, 0x6b, 0x69, 0xd6, 0x77, 0x59,
- 0x7c, 0xd4, 0x7b, 0x91, 0xd0, 0xee, 0x35, 0xfb, 0x16, 0x3b, 0xcd, 0x6d,
- 0x7a, 0x1f, 0xfb, 0x57, 0xbf, 0xed, 0xe8, 0x2c, 0xc3, 0x13, 0xc9, 0x76,
- 0xde, 0xe3, 0x0c, 0x3d, 0x17, 0x45, 0x88, 0x59, 0x79, 0x49, 0x2b, 0xea,
- 0x63, 0x1b, 0xa4, 0x7b, 0x83, 0x19, 0xf4, 0xd4, 0x4b, 0xee, 0xc2, 0xff,
- 0x90, 0x37, 0x2b, 0x52, 0x18, 0x5c, 0xcd, 0x2f, 0x4e, 0x61, 0x70, 0x94,
- 0x42, 0x9c, 0xe2, 0x6d, 0xf9, 0xbc, 0xfd, 0x8c, 0xa9, 0x61, 0x72, 0x6e,
- 0xe6, 0x6b, 0x10, 0x44, 0x7e, 0xae, 0xbd, 0xe6, 0x52, 0x9f, 0xaf, 0x4c,
- 0xae, 0x35, 0x9b, 0x09, 0xcb, 0xf8, 0x64, 0x80, 0xce, 0x13, 0x6b, 0x4d,
- 0x06, 0x48, 0x0f, 0x36, 0x2d, 0x69, 0x67, 0x59, 0xeb, 0xd3, 0x7a, 0x8a,
- 0x89, 0x28, 0x95, 0x12, 0x9f, 0x29, 0x3a, 0xae, 0xc6, 0x34, 0xfb, 0xda,
- 0xd9, 0xcd, 0x19, 0x9c, 0x19, 0xef, 0xf4, 0xd2, 0x7c, 0x40, 0x08, 0x58,
- 0xd6, 0x54, 0xba, 0xc9, 0x3a, 0x46, 0x17, 0xe7, 0xee, 0x3a, 0xb1, 0x12,
- 0x0c, 0x96, 0x91, 0x89, 0x6b, 0x20, 0x4d, 0xfe, 0xd9, 0xf6, 0x6e, 0x1b,
- 0x67, 0x75, 0x75, 0xaf, 0xa0, 0xd5, 0xfe, 0x42, 0xc7, 0x3b, 0xe7, 0x44,
- 0x20, 0xbf, 0x7e, 0xa2, 0x50, 0x29, 0x69, 0x4d, 0x3c, 0x5d, 0xbe, 0xa9,
- 0x97, 0xcd, 0xb2, 0x6b, 0x1e, 0xd3, 0xcb, 0xd3, 0xe3, 0xef, 0x8e, 0x4f,
- 0x83, 0x0b, 0xec, 0xeb, 0xd1, 0x68, 0xe7, 0x63, 0x56, 0x8d, 0x51, 0x85,
- 0x89, 0x7c, 0xde, 0x09, 0x9e, 0xb3, 0x78, 0x1d, 0x4f, 0xaa, 0xdf, 0xb9,
- 0xe4, 0xf2, 0x84, 0x51, 0xbb, 0x81, 0xb1, 0x4f, 0x88, 0x4c, 0xfe, 0xa4,
- 0x30, 0xa6, 0x22, 0x7f, 0x44, 0x80, 0x61, 0xb8, 0xa5, 0x26, 0x55, 0x36,
- 0xe5, 0x2a, 0x45, 0x21, 0x24, 0xac, 0x20, 0x35, 0x3f, 0x49, 0x5e, 0x63,
- 0x29, 0x19, 0x16, 0x8c, 0xe8, 0x87, 0x1d, 0x44, 0xf0, 0xc6, 0xa2, 0x34,
- 0x57, 0xc8, 0x7d, 0xf2, 0x5a, 0xbe, 0x59, 0xb3, 0x73, 0x93, 0x66, 0x83,
- 0xb9, 0x67, 0xd8, 0x64, 0x38, 0xfb, 0x76, 0x70, 0x38, 0x1a, 0xbc, 0x3e,
- 0x3e, 0x3d, 0xfe, 0xfa, 0xf0, 0xf2, 0x58, 0x69, 0x41, 0xc9, 0xfd, 0xbf,
- 0x42, 0x19, 0x62, 0x79, 0xf7, 0xad, 0x4c, 0x0b, 0xc6, 0x4f, 0xb4, 0xb2,
- 0x4d, 0xce, 0x64, 0xcf, 0xca, 0x9e, 0xcb, 0xa5, 0xf4, 0xc8, 0x44, 0x11,
- 0x64, 0x68, 0xbc, 0x39, 0x73, 0xfa, 0x66, 0x73, 0xe9, 0x6a, 0x30, 0x82,
- 0x74, 0x76, 0x47, 0x65, 0x1f, 0xde, 0x17, 0x84, 0x8b, 0xce, 0x6d, 0x1a,
- 0x20, 0x8f, 0xde, 0x9b, 0x7c, 0x6f, 0x66, 0x5b, 0x0b, 0x0c, 0xfa, 0xcc,
- 0x15, 0xc6, 0xbb, 0xe6, 0xf0, 0x22, 0xf8, 0xf8, 0x1a, 0x4f, 0x76, 0x68,
- 0x3a, 0x87, 0x2e, 0x89, 0xb7, 0xb0, 0xbf, 0x8a, 0xa4, 0xd9, 0xd3, 0x06,
- 0xaa, 0x27, 0x37, 0xd9, 0x5c, 0x34, 0x4a, 0x0a, 0x38, 0x23, 0xbd, 0x93,
- 0xf3, 0xe5, 0x84, 0xd9, 0x80, 0x0f, 0xfa, 0x38, 0x83, 0x60, 0x46, 0x3c,
- 0x07, 0x9b, 0x37, 0x06, 0xdd, 0xbc, 0x23, 0xf2, 0x5e, 0x72, 0xd2, 0x13,
- 0x04, 0x03, 0x59, 0xa1, 0x43, 0xa0, 0xc5, 0x38, 0x4f, 0xa0, 0x68, 0x85,
- 0x7e, 0xad, 0xbc, 0xe4, 0xda, 0x24, 0xdd, 0xcb, 0xdf, 0xb2, 0x80, 0x7a,
- 0x3c, 0x7e, 0x14, 0xd9, 0xc1, 0x8f, 0x20, 0x30, 0x55, 0xf5, 0xa5, 0x4e,
- 0xfe, 0x4a, 0x0f, 0x27, 0xef, 0x27, 0xee, 0xbb, 0x24, 0xe4, 0x60, 0xb3,
- 0x46, 0x51, 0xb8, 0x51, 0xc1, 0x20, 0xb1, 0x76, 0xea, 0xae, 0xf6, 0x97,
- 0x6d, 0x34, 0xa5, 0x28, 0xe5, 0xa5, 0x4c, 0xe4, 0x2c, 0x0b, 0xaf, 0xef,
- 0x23, 0x05, 0x43, 0x8b, 0xf8, 0x97, 0x88, 0x56, 0xf5, 0xaf, 0x21, 0x3d,
- 0xb3, 0x4d, 0x9f, 0x1a, 0x64, 0x8b, 0x80, 0xf7, 0x72, 0xeb, 0x8d, 0x52,
- 0xd9, 0x5a, 0x3d, 0xcf, 0xaf, 0xe5, 0xe0, 0x11, 0xaf, 0x1f, 0x9f, 0x5f,
- 0x70, 0x41, 0xc5, 0x53, 0xfa, 0x8b, 0x04, 0x6d, 0xea, 0x18, 0x57, 0x8f,
- 0x50, 0x69, 0x13, 0xc6, 0x20, 0x83, 0xd7, 0xdf, 0xc6, 0x62, 0x15, 0x58,
- 0xc6, 0x70, 0x42, 0xe1, 0x2b, 0x95, 0x03, 0x11, 0xcb, 0x45, 0xf4, 0x0a,
- 0x00, 0x51, 0x4f, 0xa8, 0x0b, 0x42, 0x4f, 0x88, 0x4e, 0x30, 0x24, 0x52,
- 0x7d, 0xeb, 0x67, 0xf4, 0x4b, 0xd2, 0xfd, 0x14, 0x38, 0xb0, 0x62, 0x1a,
- 0x5b, 0x7c, 0xc2, 0xd4, 0x2c, 0xbd, 0x99, 0x54, 0x28, 0x17, 0x95, 0x9a,
- 0xae, 0x0c, 0x3b, 0x43, 0x05, 0xe1, 0x3f, 0x71, 0x83, 0x85, 0xae, 0x74,
- 0x94, 0x3a, 0x10, 0xbf, 0x98, 0xe0, 0x8c, 0x31, 0x60, 0x85, 0x4f, 0xf7,
- 0x25, 0x44, 0x9d, 0xda, 0x70, 0x25, 0x4a, 0x4d, 0x22, 0x76, 0x1d, 0x68,
- 0xdb, 0x82, 0x31, 0xe7, 0x31, 0x50, 0x66, 0xb4, 0x44, 0x5d, 0x59, 0x39,
- 0xbb, 0x92, 0xc8, 0x56, 0x0a, 0x3a, 0x48, 0x98, 0x19, 0x63, 0xd6, 0x26,
- 0x00, 0xd2, 0xba, 0x49, 0x8b, 0xc8, 0xa9, 0x33, 0x13, 0x6f, 0x6b, 0x2e,
- 0x60, 0x94, 0xb2, 0x6c, 0x11, 0x85, 0x9a, 0xf6, 0x46, 0x0b, 0xe3, 0x4b,
- 0x80, 0xf6, 0x4f, 0xa4, 0xb0, 0xe7, 0xe4, 0x12, 0x97, 0xae, 0xf0, 0xcc,
- 0x10, 0xf9, 0x87, 0xee, 0xb7, 0x32, 0xb6, 0xab, 0x44, 0xbc, 0x38, 0x47,
- 0x7d, 0x6b, 0x0b, 0xae, 0x70, 0x01, 0x67, 0x89, 0x45, 0xf4, 0xd4, 0xc8,
- 0x99, 0xf0, 0x88, 0xff, 0xa8, 0x86, 0x59, 0x3b, 0xa9, 0x02, 0xcb, 0x87,
- 0x7b, 0xbd, 0xe8, 0x02, 0x18, 0x32, 0x46, 0xd2, 0x9b, 0x6f, 0xa3, 0xbb,
- 0xe4, 0x95, 0xb1, 0xc1, 0x3c, 0xda, 0x3c, 0xc1, 0xf7, 0x5f, 0xa3, 0x73,
- 0xf4, 0x1d, 0xbc, 0x80, 0x93, 0x6f, 0xf4, 0x07, 0x2e, 0x81, 0x47, 0x88,
- 0x1d, 0xde, 0xca, 0xe3, 0xcc, 0x7c, 0x2f, 0xa7, 0x1a, 0x1b, 0x7e, 0x8d,
- 0x9a, 0x10, 0xb5, 0x5a, 0x9b, 0x0d, 0x48, 0xb7, 0x05, 0x29, 0x62, 0x24,
- 0x85, 0xe8, 0x5d, 0x0a, 0xc5, 0x67, 0x89, 0x5f, 0xa0, 0x06, 0x1b, 0x02,
- 0xda, 0xfb, 0x79, 0x5f, 0x42, 0x61, 0x00, 0xab, 0x05, 0x11, 0x65, 0x33,
- 0x81, 0x13, 0xcb, 0x11, 0xa2, 0x4f, 0xa6, 0xf5, 0x6d, 0xfc, 0x84, 0xd7,
- 0xb7, 0xd1, 0x13, 0xfe, 0x88, 0x73, 0xee, 0x6c, 0x9f, 0xe3, 0xf3, 0xd1,
- 0x77, 0xab, 0xd2, 0xfd, 0x99, 0x16, 0x9d, 0x8f, 0xb8, 0x1b, 0x1d, 0x6d,
- 0x7a, 0xff, 0x98, 0xaf, 0x3e, 0xe7, 0x51, 0x77, 0x7d, 0x70, 0xce, 0xcd,
- 0xf7, 0xe5, 0x70, 0x9f, 0x1f, 0x8e, 0xbe, 0xf3, 0x8e, 0xb5, 0xb7, 0x05,
- 0x70, 0x8e, 0x63, 0xd9, 0xc6, 0xa8, 0xbf, 0x53, 0x29, 0x39, 0x20, 0x35,
- 0x16, 0xdd, 0xef, 0xf5, 0xed, 0x63, 0xf6, 0xbb, 0xe9, 0x49, 0xb0, 0xdf,
- 0x83, 0x39, 0x5e, 0xb7, 0xdf, 0xfd, 0x85, 0x6a, 0x63, 0x20, 0xbd, 0xdd,
- 0x5e, 0x70, 0x95, 0xbe, 0x1b, 0x14, 0x7c, 0x8d, 0x6f, 0x73, 0x20, 0x61,
- 0x79, 0x6b, 0x87, 0x10, 0x31, 0xf4, 0xf3, 0x97, 0x6d, 0x74, 0xf3, 0x42,
- 0xb0, 0xd1, 0x75, 0x3d, 0xe3, 0x3b, 0x7d, 0xd5, 0x46, 0x57, 0x84, 0x68,
- 0xc6, 0x9b, 0xdc, 0xdf, 0xe3, 0xe1, 0xfe, 0xf6, 0x76, 0xad, 0x9f, 0xda,
- 0x1b, 0xce, 0x90, 0x02, 0x95, 0x6c, 0x9e, 0xba, 0x97, 0xa6, 0x1f, 0xa1,
- 0x85, 0xe8, 0x2b, 0x94, 0x0d, 0x09, 0x8e, 0xa1, 0x77, 0xdd, 0x12, 0x2a,
- 0xb4, 0xc0, 0xec, 0x95, 0xea, 0xd2, 0xb8, 0xc5, 0x71, 0x6d, 0xc3, 0x54,
- 0xf7, 0xb3, 0xc4, 0xaf, 0x82, 0x13, 0xd9, 0x22, 0x7f, 0xc9, 0xa2, 0xf9,
- 0xc6, 0x75, 0x46, 0x10, 0x01, 0xf0, 0x0e, 0xb5, 0xce, 0x69, 0x51, 0x0f,
- 0x5c, 0x15, 0xc5, 0x97, 0xf6, 0xaf, 0x81, 0x96, 0xfe, 0xfa, 0xdd, 0xa8,
- 0x73, 0x5c, 0xeb, 0x8c, 0x11, 0xf3, 0xd7, 0x38, 0x7a, 0xe6, 0xf7, 0x36,
- 0xcf, 0xa5, 0x76, 0x55, 0x4b, 0xa4, 0xc9, 0x20, 0x91, 0x99, 0x3e, 0x61,
- 0xb9, 0xe5, 0x9d, 0xe2, 0x93, 0x6a, 0xe1, 0x4f, 0xf8, 0xfb, 0xc8, 0xe7,
- 0xe2, 0xf5, 0x4e, 0x32, 0x7d, 0xc9, 0x93, 0x12, 0xa3, 0x79, 0x61, 0x21,
- 0x4b, 0xfd, 0xd4, 0x02, 0x6a, 0xc2, 0xba, 0x2a, 0xf4, 0x4e, 0xb6, 0xe0,
- 0x42, 0x91, 0x78, 0x85, 0x23, 0x63, 0x91, 0x99, 0x2d, 0xa1, 0x8d, 0x11,
- 0xc8, 0xce, 0xf6, 0x5a, 0x6d, 0x8a, 0xa7, 0x70, 0x71, 0xfb, 0x74, 0x40,
- 0x8f, 0xab, 0xf2, 0x24, 0x3f, 0x7c, 0x8e, 0x1f, 0x0e, 0xbb, 0x13, 0x1d,
- 0xd8, 0x9a, 0x52, 0xe5, 0xc8, 0x7a, 0x19, 0x97, 0xc5, 0x94, 0xf8, 0x9f,
- 0xa9, 0xdb, 0x5a, 0xb1, 0xf8, 0x2e, 0x75, 0xbc, 0xd5, 0x24, 0xc8, 0x85,
- 0x9d, 0xc5, 0xec, 0xa5, 0xee, 0xe4, 0xa6, 0x28, 0x5d, 0xec, 0x79, 0x14,
- 0x9f, 0x74, 0xc3, 0x6f, 0xad, 0x1e, 0xbf, 0x94, 0x61, 0xc6, 0x97, 0x9c,
- 0xd7, 0xdc, 0xb3, 0xe4, 0xc7, 0x39, 0x17, 0x5d, 0x78, 0x99, 0x2f, 0x06,
- 0xfa, 0x26, 0x0b, 0xe1, 0x79, 0xfa, 0x51, 0xae, 0xc6, 0xa7, 0xb4, 0x0c,
- 0x91, 0x41, 0x72, 0x51, 0x34, 0x3f, 0xb0, 0x43, 0xdb, 0xc6, 0xee, 0x1a,
- 0x51, 0x59, 0x1a, 0xcb, 0xd1, 0x06, 0xf3, 0x86, 0xbf, 0x11, 0x4b, 0x83,
- 0x51, 0xe0, 0xaa, 0xef, 0xb3, 0x50, 0xc8, 0x3b, 0x7a, 0x61, 0xdf, 0x7d,
- 0x70, 0xfd, 0xdc, 0x7e, 0x58, 0xb7, 0x7e, 0x3a, 0x67, 0xff, 0x3d, 0xd6,
- 0xef, 0xf9, 0xef, 0xb6, 0x7e, 0xcf, 0xff, 0x5b, 0xac, 0xdf, 0xf3, 0x7f,
- 0x7c, 0xfd, 0x9e, 0x76, 0xd7, 0xef, 0xf9, 0x7f, 0x97, 0xf5, 0xd3, 0x72,
- 0x1f, 0xba, 0x7a, 0x59, 0xb0, 0x7e, 0xe4, 0x09, 0xe1, 0x2b, 0x04, 0x04,
- 0x5f, 0xd0, 0x86, 0x68, 0xba, 0xf5, 0x4d, 0x0e, 0x3c, 0x08, 0xd6, 0x8c,
- 0x3d, 0xbb, 0x0a, 0x79, 0x44, 0xe6, 0x7d, 0x9c, 0xa7, 0x51, 0xb8, 0x93,
- 0x94, 0xf0, 0xec, 0xe4, 0x3c, 0xb1, 0x1d, 0xf0, 0x96, 0xc1, 0xd1, 0x0c,
- 0x41, 0xc9, 0x89, 0xba, 0x5c, 0x6b, 0xf2, 0xc3, 0x99, 0x09, 0xe0, 0x64,
- 0xb3, 0xda, 0xa5, 0x4a, 0xc6, 0xb8, 0x84, 0xcc, 0xe4, 0x1d, 0xbc, 0xa4,
- 0xf9, 0x1a, 0xf0, 0xe3, 0x5f, 0x46, 0xf3, 0x7f, 0x50, 0x55, 0xcd, 0x75,
- 0x29, 0xe6, 0x66, 0xf7, 0xa6, 0xee, 0xd1, 0xcb, 0xb6, 0xaa, 0xf0, 0x84,
- 0x2e, 0xe1, 0x64, 0xf0, 0xd0, 0x92, 0xbd, 0x86, 0x66, 0xb0, 0x9c, 0x2f,
- 0x24, 0x2f, 0xf0, 0x81, 0xbc, 0x28, 0xe8, 0x9f, 0xdb, 0xc9, 0xf7, 0xc8,
- 0x7a, 0x62, 0xcf, 0xaa, 0xe4, 0x0a, 0xd8, 0x92, 0xc0, 0x0a, 0xc4, 0xd6,
- 0xb0, 0xc5, 0x0a, 0x02, 0xa3, 0x28, 0x97, 0x4c, 0x27, 0xe7, 0x97, 0x41,
- 0xed, 0xb6, 0xc6, 0x6e, 0x56, 0xf8, 0x1a, 0x92, 0x60, 0xa2, 0x25, 0x8d,
- 0x97, 0x3f, 0x1a, 0xa5, 0x8d, 0xa4, 0x6b, 0x91, 0x13, 0x25, 0xa8, 0xd3,
- 0x4c, 0x03, 0x66, 0x5e, 0x37, 0x4d, 0x0d, 0x25, 0x5b, 0xc2, 0xab, 0x50,
- 0xab, 0xbd, 0x07, 0x33, 0x4b, 0x0c, 0x4a, 0xac, 0xaa, 0x0c, 0xec, 0x42,
- 0xc9, 0xb9, 0xb7, 0xa4, 0xa8, 0xc5, 0xad, 0x02, 0xe7, 0x41, 0x0f, 0xe3,
- 0x53, 0xa9, 0x0f, 0xc6, 0x61, 0x06, 0x8c, 0xc2, 0x38, 0x79, 0xc4, 0xff,
- 0x82, 0xfd, 0xbb, 0x02, 0xc4, 0xcd, 0x3a, 0x84, 0x6f, 0x87, 0x06, 0x6b,
- 0xee, 0x43, 0xc4, 0x87, 0x1b, 0xeb, 0xe0, 0x9b, 0x8c, 0x0b, 0xbc, 0xc9,
- 0xfc, 0x2c, 0x44, 0x4b, 0xe1, 0xc6, 0x0e, 0x61, 0x06, 0x1e, 0x99, 0xc1,
- 0x09, 0x8a, 0x2d, 0xa0, 0xa5, 0x47, 0xa2, 0xb1, 0xcc, 0x56, 0x4f, 0x88,
- 0x51, 0x96, 0x0c, 0x41, 0x22, 0x1e, 0xb7, 0x29, 0x53, 0x77, 0xfc, 0x13,
- 0xb3, 0xfe, 0x3c, 0x54, 0xa7, 0x2f, 0x92, 0xb2, 0x6b, 0x8e, 0x85, 0xae,
- 0x43, 0x10, 0xda, 0x64, 0x3f, 0xbf, 0x4c, 0x1c, 0x87, 0x67, 0x65, 0x17,
- 0x1f, 0x17, 0x4d, 0x55, 0x2e, 0xee, 0x93, 0xaf, 0x53, 0x1a, 0x16, 0xd4,
- 0xc2, 0x34, 0x9b, 0x07, 0x39, 0x1f, 0x5c, 0x3b, 0x4e, 0xb4, 0x34, 0xae,
- 0x23, 0xa7, 0x23, 0x84, 0x5e, 0xc9, 0xd3, 0x92, 0x50, 0xd1, 0xf7, 0x29,
- 0xf9, 0xf3, 0x34, 0x77, 0x0c, 0xb0, 0xc9, 0xd1, 0xe8, 0x34, 0x54, 0xa6,
- 0x95, 0xfe, 0x7e, 0x6d, 0x8e, 0x2f, 0x5a, 0x1b, 0xb4, 0x4f, 0x94, 0x19,
- 0x39, 0x37, 0xfe, 0x32, 0x7a, 0x98, 0x65, 0xdc, 0xd9, 0x4c, 0x33, 0xe1,
- 0x85, 0x38, 0x3c, 0x99, 0x54, 0xf7, 0x0b, 0x32, 0xd0, 0xf8, 0x65, 0x39,
- 0x7b, 0xd4, 0x3f, 0x26, 0x51, 0x5c, 0x9b, 0x46, 0xf8, 0x1e, 0x11, 0x32,
- 0x79, 0x15, 0x82, 0x98, 0x82, 0x99, 0x66, 0xba, 0x28, 0xb8, 0xaa, 0x82,
- 0x99, 0x64, 0xd6, 0x14, 0x04, 0x09, 0xae, 0x22, 0x47, 0xc0, 0x02, 0x86,
- 0x12, 0x1b, 0x1d, 0x2a, 0x65, 0xb8, 0x75, 0x90, 0x69, 0x49, 0x74, 0xbd,
- 0xf0, 0x68, 0x6f, 0xeb, 0xc5, 0x20, 0x6f, 0x74, 0x6a, 0x81, 0xaa, 0x08,
- 0xb6, 0x4c, 0xbb, 0x29, 0x65, 0x4c, 0x17, 0x01, 0x3b, 0x03, 0x87, 0xbc,
- 0xf7, 0x76, 0x77, 0x1f, 0xa4, 0xdd, 0x10, 0xf7, 0xaf, 0xb2, 0x6f, 0x60,
- 0x14, 0x54, 0xaa, 0x50, 0xa8, 0x37, 0x1a, 0xad, 0x03, 0xee, 0x88, 0x37,
- 0x90, 0x24, 0x9a, 0xe6, 0x92, 0x70, 0xd0, 0x25, 0x2a, 0x32, 0x9f, 0xb4,
- 0x24, 0x18, 0xee, 0x08, 0xb2, 0xac, 0x63, 0x76, 0x1a, 0xd0, 0x70, 0x18,
- 0x11, 0x76, 0x8c, 0x3e, 0xd6, 0x07, 0xad, 0x77, 0xa2, 0x05, 0xf2, 0xa8,
- 0x43, 0xf4, 0x92, 0x68, 0x2f, 0xc3, 0xe4, 0xab, 0x7b, 0x67, 0x38, 0x79,
- 0x45, 0xde, 0xd1, 0x2b, 0x76, 0xb5, 0x4a, 0x79, 0xe6, 0x28, 0xf1, 0xfc,
- 0x5a, 0x6a, 0x8d, 0x7f, 0xf1, 0x78, 0xa5, 0x8c, 0x00, 0x5a, 0xd4, 0x68,
- 0x15, 0x19, 0xfa, 0x71, 0x8f, 0x81, 0x1d, 0xad, 0xa5, 0x25, 0x74, 0xc3,
- 0xf6, 0x58, 0xf5, 0xf9, 0x52, 0x59, 0xcb, 0x87, 0xda, 0x26, 0x4a, 0x69,
- 0xa3, 0xf2, 0x3e, 0x6b, 0xab, 0x25, 0x94, 0xa9, 0x38, 0x40, 0x3e, 0x62,
- 0x37, 0x0b, 0x9b, 0x52, 0x18, 0x51, 0x17, 0xfb, 0x13, 0xa3, 0x34, 0x9c,
- 0x09, 0x4c, 0x04, 0x3d, 0x0c, 0x83, 0xd0, 0x5c, 0x89, 0x0e, 0xff, 0x63,
- 0x8c, 0x57, 0x4b, 0x4f, 0xba, 0x9f, 0x2c, 0x15, 0xa4, 0x46, 0xa9, 0x2d,
- 0xcd, 0xc6, 0x74, 0x98, 0x66, 0x2e, 0xcb, 0xa3, 0x9e, 0x1a, 0xe8, 0x64,
- 0x9c, 0x7c, 0x89, 0x70, 0x31, 0x54, 0x09, 0xd6, 0x3d, 0xde, 0x5f, 0x9c,
- 0xf6, 0x13, 0xa9, 0xad, 0x48, 0x80, 0x4f, 0xb3, 0xd2, 0x71, 0xdd, 0xc8,
- 0x51, 0x99, 0x33, 0x2f, 0x1d, 0x8f, 0xa5, 0x76, 0x0c, 0x4b, 0x24, 0xb6,
- 0xe1, 0xfc, 0x34, 0x4d, 0xd6, 0x8a, 0x90, 0x09, 0x5d, 0x52, 0xac, 0xb4,
- 0x91, 0x60, 0xa6, 0x07, 0x37, 0x91, 0x4a, 0x08, 0xf7, 0xa1, 0x76, 0xda,
- 0xd2, 0x1a, 0x69, 0xda, 0x3e, 0x27, 0x83, 0x92, 0xb3, 0x22, 0x92, 0x52,
- 0x2a, 0xa1, 0x48, 0xa2, 0x43, 0x4b, 0xb0, 0x3c, 0xc8, 0x29, 0x5d, 0x56,
- 0x5e, 0x40, 0xb2, 0x77, 0x93, 0x9b, 0x75, 0x2d, 0x7a, 0x4c, 0xb7, 0xb6,
- 0x1c, 0x33, 0x95, 0x5f, 0x83, 0x0f, 0xc7, 0xe0, 0xc1, 0x84, 0xaf, 0x73,
- 0xde, 0xb1, 0x78, 0xe1, 0xc4, 0x16, 0x08, 0xb6, 0x9f, 0xb4, 0x0e, 0x85,
- 0x2a, 0x9c, 0xdc, 0x35, 0x97, 0xcf, 0x1a, 0xe5, 0x7c, 0xe7, 0x9d, 0xe2,
- 0x92, 0x69, 0xe8, 0xf4, 0xa3, 0x86, 0x43, 0xdf, 0xe7, 0x51, 0x77, 0xde,
- 0x3e, 0xbf, 0x62, 0x3b, 0x4d, 0x74, 0x5c, 0x5d, 0xa9, 0x6c, 0x96, 0x7d,
- 0x84, 0x92, 0x53, 0xb0, 0x4e, 0xe9, 0x3d, 0xb2, 0x06, 0xec, 0xa7, 0xb1,
- 0xc3, 0x03, 0x5e, 0x25, 0x22, 0x19, 0x2b, 0xa1, 0x3b, 0xca, 0x5e, 0xa6,
- 0xc2, 0x35, 0x93, 0x2a, 0x5f, 0x34, 0x1c, 0xfe, 0x0d, 0xca, 0x6a, 0xc7,
- 0xd5, 0xb0, 0xeb, 0x59, 0x39, 0x4e, 0xf9, 0x9c, 0x58, 0xb0, 0x87, 0xba,
- 0x9d, 0x5a, 0x84, 0x9f, 0x28, 0x15, 0x6c, 0xb6, 0x67, 0x24, 0x51, 0xc7,
- 0x0c, 0x79, 0x70, 0x80, 0x7a, 0x97, 0x14, 0x8f, 0x5a, 0xf7, 0x41, 0xfb,
- 0x09, 0xe6, 0xd4, 0x1a, 0x5c, 0xf5, 0xe5, 0x04, 0x6b, 0xc6, 0x23, 0xb0,
- 0x32, 0xb5, 0x77, 0xae, 0x02, 0x55, 0x08, 0x99, 0xc9, 0xd3, 0x65, 0xd6,
- 0x86, 0xce, 0x6c, 0x4a, 0xb4, 0x4e, 0x8a, 0x9f, 0x00, 0xbe, 0x61, 0x6b,
- 0x6b, 0x4b, 0x54, 0x2c, 0x0a, 0x0b, 0x21, 0x7a, 0x4d, 0x5b, 0x7d, 0x5a,
- 0x6b, 0xc0, 0x16, 0x74, 0x33, 0xb9, 0xce, 0x29, 0x22, 0xd1, 0x9b, 0x2b,
- 0x66, 0xef, 0xaf, 0x82, 0x32, 0xa6, 0x57, 0xac, 0xa7, 0x01, 0xe7, 0xc9,
- 0x6b, 0xb2, 0x66, 0x66, 0x7c, 0xa6, 0xde, 0xfd, 0x96, 0x54, 0xb3, 0x9f,
- 0x8e, 0x5f, 0x51, 0x10, 0x6d, 0x5c, 0xf0, 0xdb, 0xcc, 0xe2, 0x16, 0x55,
- 0x11, 0xe6, 0xec, 0x95, 0x14, 0xf1, 0x5f, 0x70, 0xce, 0x69, 0xe1, 0x17,
- 0x96, 0x06, 0xf1, 0xcc, 0x1a, 0x3a, 0x29, 0x52, 0xd7, 0x18, 0x65, 0x5c,
- 0xb1, 0xe6, 0xd0, 0x42, 0xc5, 0x71, 0xab, 0x1b, 0x2a, 0x6b, 0x26, 0xde,
- 0x2f, 0xa7, 0x59, 0x3a, 0x8b, 0x51, 0x6d, 0x53, 0x87, 0xc9, 0xdb, 0xc8,
- 0xc2, 0x8d, 0x18, 0x4f, 0x0b, 0xf1, 0x5b, 0x0b, 0xee, 0x94, 0x61, 0x57,
- 0x85, 0x64, 0x75, 0x6a, 0x0f, 0x71, 0xaa, 0x22, 0x86, 0x0e, 0x11, 0xbe,
- 0xdf, 0x0a, 0xbf, 0x82, 0xb2, 0x04, 0x4b, 0xd4, 0xc9, 0x41, 0xe8, 0xa1,
- 0xff, 0xbf, 0x3d, 0xb5, 0x0f, 0x60, 0x07, 0x00, 0x23, 0xdc, 0x6d, 0x4e,
- 0x1c, 0x71, 0x9c, 0xd7, 0xc5, 0xe5, 0xd6, 0x05, 0xca, 0x4e, 0x1d, 0x63,
- 0xb8, 0x01, 0x89, 0xc9, 0x6d, 0x39, 0x87, 0x08, 0x77, 0x8b, 0xe4, 0x58,
- 0x84, 0x2b, 0x7d, 0x9b, 0x29, 0x54, 0x04, 0xf6, 0x05, 0x2f, 0x40, 0x63,
- 0xd3, 0xdd, 0xa8, 0x35, 0x91, 0x33, 0x2c, 0x64, 0xf6, 0xf7, 0x57, 0x14,
- 0x7f, 0x91, 0x8a, 0x8f, 0xb2, 0xc7, 0x70, 0xd8, 0xeb, 0xf4, 0xca, 0x16,
- 0x63, 0x15, 0x01, 0x5e, 0x4e, 0xcc, 0x14, 0x72, 0xa1, 0x68, 0xfc, 0xac,
- 0x88, 0xe4, 0xa4, 0xb0, 0xb8, 0x26, 0x29, 0x69, 0xaf, 0x5d, 0x3a, 0x08,
- 0x0a, 0x9f, 0xac, 0x67, 0xf9, 0xc2, 0xfa, 0x38, 0xfb, 0x44, 0xa0, 0xca,
- 0x30, 0x0e, 0x0a, 0xd0, 0xde, 0x85, 0x64, 0x81, 0x9d, 0xc2, 0x94, 0xc2,
- 0x2c, 0x39, 0x23, 0xf5, 0x7f, 0xab, 0xd3, 0xfe, 0xd3, 0xdd, 0x3d, 0x74,
- 0xf7, 0xe9, 0xee, 0x67, 0xdb, 0xed, 0xbb, 0x79, 0x56, 0x67, 0x03, 0xe0,
- 0x78, 0xe2, 0x3a, 0x2a, 0x57, 0x37, 0x71, 0x7e, 0x1e, 0xe8, 0xa3, 0xf4,
- 0x92, 0x80, 0x7f, 0xa6, 0xcb, 0x4a, 0x11, 0x71, 0x54, 0xf0, 0x86, 0x6c,
- 0xc6, 0xfa, 0x86, 0xe8, 0xcc, 0x82, 0xbb, 0xde, 0xbd, 0x03, 0x63, 0x0a,
- 0x2e, 0x74, 0x9e, 0x29, 0xb3, 0x7b, 0xe8, 0x5d, 0x5b, 0x28, 0x45, 0x26,
- 0x83, 0xc1, 0x45, 0x64, 0x31, 0x86, 0xd4, 0xb2, 0x3e, 0x87, 0x13, 0x27,
- 0x21, 0x70, 0x14, 0xa5, 0x5d, 0x3a, 0xcd, 0x4a, 0x9e, 0x37, 0x79, 0x91,
- 0xd7, 0x37, 0x28, 0xb9, 0x56, 0xd7, 0xe9, 0x75, 0x16, 0xa6, 0xa9, 0x1a,
- 0x91, 0x64, 0x0c, 0x27, 0x29, 0x8d, 0x0c, 0x62, 0x67, 0xc2, 0xe2, 0xf0,
- 0x79, 0x10, 0x18, 0xbf, 0x94, 0x65, 0x01, 0xdb, 0x90, 0x1b, 0xe6, 0x8a,
- 0xb2, 0xc6, 0xae, 0x58, 0xd0, 0xaa, 0x5a, 0x41, 0x54, 0xc0, 0x02, 0xc4,
- 0x33, 0x5c, 0x5a, 0x80, 0x6b, 0x0b, 0x04, 0x88, 0x3d, 0xf2, 0x23, 0x6c,
- 0xd1, 0xe2, 0x9e, 0x8d, 0x8c, 0x10, 0xda, 0x25, 0x2c, 0xd4, 0x2c, 0x05,
- 0x27, 0xad, 0xf9, 0x9b, 0xf9, 0xd9, 0x0f, 0x46, 0x23, 0x1d, 0xbe, 0xb0,
- 0x3f, 0xde, 0x7e, 0x5c, 0x71, 0xa1, 0xfd, 0x8e, 0x86, 0x46, 0xf0, 0x44,
- 0x71, 0x67, 0xc3, 0x60, 0x79, 0xc5, 0xff, 0x58, 0xe1, 0x84, 0x40, 0xd6,
- 0x58, 0x72, 0xf2, 0xf6, 0x90, 0xa0, 0x18, 0x23, 0x49, 0x9b, 0x68, 0x23,
- 0x19, 0x5b, 0x59, 0x36, 0xa8, 0xb4, 0x44, 0x0a, 0x6b, 0x94, 0x39, 0xcb,
- 0x92, 0x5d, 0x32, 0xa8, 0xaa, 0xc5, 0x65, 0xcc, 0x5c, 0xe2, 0x33, 0xaa,
- 0x29, 0x41, 0xa7, 0xc0, 0xc8, 0xc8, 0x53, 0xa9, 0xe2, 0x4d, 0x25, 0xc1,
- 0x23, 0xf9, 0x38, 0x9b, 0x2f, 0x3d, 0xde, 0x5e, 0x21, 0x36, 0x07, 0x3d,
- 0xe6, 0x17, 0x84, 0xd3, 0x24, 0xaa, 0x02, 0xfe, 0xa6, 0xac, 0x01, 0x43,
- 0x0e, 0xe3, 0xd1, 0x55, 0x85, 0x50, 0x09, 0xf7, 0x56, 0x1b, 0xc5, 0xc1,
- 0x45, 0xfc, 0x88, 0xd5, 0xb8, 0x33, 0x6e, 0xd5, 0xe9, 0x36, 0x03, 0x26,
- 0x1a, 0x82, 0x32, 0x33, 0x07, 0x86, 0x54, 0x3a, 0x74, 0x25, 0xaf, 0xb8,
- 0x4f, 0xdc, 0x19, 0xb8, 0xbb, 0x26, 0x93, 0x9c, 0x74, 0x17, 0x9c, 0x7c,
- 0xf3, 0xcb, 0xeb, 0xeb, 0x28, 0xd6, 0xc4, 0x4c, 0x01, 0x2d, 0x3c, 0x8d,
- 0xf9, 0x2a, 0x4b, 0x1b, 0x68, 0x1c, 0x74, 0xd3, 0xaf, 0xc6, 0x93, 0x3a,
- 0x0d, 0x3e, 0xf2, 0x8c, 0x37, 0x8a, 0x97, 0x3e, 0x6a, 0x3f, 0xbe, 0x0b,
- 0xb0, 0x09, 0x78, 0x0f, 0x10, 0x55, 0x1e, 0x7e, 0x66, 0xbd, 0x50, 0x57,
- 0xa9, 0xd9, 0x14, 0xf7, 0x7d, 0x2d, 0xbc, 0xde, 0x58, 0x09, 0x92, 0xcd,
- 0x97, 0xdd, 0x2d, 0x3e, 0x53, 0xb4, 0x22, 0x83, 0x7a, 0x89, 0x91, 0x9f,
- 0xf1, 0x9f, 0x09, 0x33, 0x58, 0x13, 0x9b, 0x97, 0xc5, 0x01, 0x27, 0xca,
- 0x4a, 0xef, 0xe0, 0xbd, 0x41, 0x81, 0x53, 0x0f, 0xec, 0x2b, 0xca, 0x8a,
- 0x5a, 0x82, 0xc0, 0x2b, 0x0b, 0x24, 0xdd, 0xf7, 0x0e, 0x1d, 0x09, 0x96,
- 0xf7, 0x32, 0xc4, 0xf2, 0xb2, 0x21, 0x61, 0x24, 0xd1, 0x0e, 0x0e, 0x09,
- 0x83, 0xac, 0x27, 0xc4, 0x10, 0x01, 0x21, 0x53, 0x26, 0x17, 0x6f, 0x8e,
- 0x92, 0xfd, 0x27, 0x9f, 0x7f, 0x3e, 0x8c, 0x12, 0x08, 0x72, 0x82, 0xa5,
- 0xd9, 0x84, 0x34, 0x53, 0x8e, 0x6d, 0xae, 0x6f, 0x69, 0x43, 0x51, 0xe9,
- 0x3d, 0x4b, 0x0b, 0xa6, 0xed, 0x9e, 0x13, 0x31, 0x08, 0x09, 0xc7, 0xe5,
- 0x2c, 0x34, 0xf2, 0x11, 0xbb, 0x9a, 0x93, 0x62, 0x21, 0x52, 0x0c, 0x0a,
- 0x16, 0x49, 0x8d, 0x79, 0xbe, 0x42, 0xa9, 0xcb, 0x04, 0x27, 0x65, 0xab,
- 0x7b, 0xc3, 0x05, 0xc0, 0xe0, 0x3d, 0x46, 0x42, 0x1a, 0xbd, 0x01, 0xb0,
- 0x5f, 0x0e, 0xbe, 0xf3, 0x74, 0x6c, 0x46, 0xd2, 0x29, 0x69, 0x7e, 0x36,
- 0x13, 0x0d, 0x9f, 0x8d, 0x33, 0x9b, 0x21, 0xcd, 0x85, 0x3b, 0x3a, 0x24,
- 0x41, 0x9c, 0xf4, 0x59, 0x50, 0xa6, 0x0c, 0x51, 0xc5, 0x9b, 0x0f, 0x74,
- 0x9a, 0x43, 0x8e, 0xe3, 0x75, 0xd6, 0x84, 0xd9, 0x1d, 0x1e, 0xcc, 0x72,
- 0x4d, 0xe3, 0x31, 0xcb, 0x48, 0x92, 0x53, 0x92, 0x97, 0xca, 0xe3, 0xaf,
- 0x35, 0x9c, 0x27, 0x60, 0x15, 0x63, 0x7a, 0xf5, 0x3f, 0x63, 0x35, 0x5e,
- 0xca, 0xd4, 0x4b, 0xb2, 0xd6, 0x9f, 0xa3, 0xcc, 0x41, 0x82, 0xf5, 0x04,
- 0x8d, 0x4d, 0xd3, 0x18, 0xc5, 0xda, 0xc9, 0x6e, 0x00, 0x6b, 0xc1, 0x58,
- 0x22, 0xd0, 0x4f, 0x2d, 0x26, 0x4e, 0x1b, 0x76, 0x16, 0xa3, 0xf4, 0x7b,
- 0x69, 0x1b, 0x95, 0x42, 0x01, 0x84, 0x6d, 0xa6, 0xae, 0xc4, 0x66, 0x42,
- 0x09, 0x80, 0x49, 0x3e, 0x98, 0xa7, 0x03, 0xbb, 0x87, 0xde, 0xf5, 0xe6,
- 0x29, 0x5c, 0x7b, 0x3f, 0x9e, 0x2a, 0x39, 0xf1, 0x3c, 0xc5, 0x0e, 0x13,
- 0xeb, 0x3b, 0xf7, 0x65, 0xa4, 0xd6, 0x69, 0xda, 0x75, 0x95, 0xd2, 0x50,
- 0x5d, 0x2e, 0x26, 0x76, 0xd6, 0x75, 0x99, 0x71, 0x2f, 0x91, 0x18, 0xaf,
- 0xb3, 0x4a, 0x1e, 0xcb, 0xa6, 0x5a, 0x4e, 0x48, 0xb5, 0x84, 0x69, 0x8e,
- 0x4f, 0x85, 0x3a, 0x2d, 0xc9, 0xf5, 0x7e, 0x7b, 0xc4, 0x28, 0xb9, 0x83,
- 0xf5, 0xc2, 0x2c, 0x0b, 0xcd, 0x96, 0x42, 0xd2, 0xa8, 0x6b, 0xaa, 0x83,
- 0xac, 0xe2, 0xf2, 0x4d, 0xe0, 0x77, 0x31, 0x3b, 0xee, 0xef, 0x12, 0xae,
- 0x11, 0x3f, 0x10, 0x31, 0xe3, 0x31, 0xf7, 0x10, 0xbc, 0x1d, 0x19, 0x11,
- 0x62, 0x27, 0xaf, 0xa9, 0x3e, 0x15, 0x6e, 0xf4, 0x48, 0xbe, 0xdb, 0x66,
- 0xdd, 0x82, 0xfc, 0xf2, 0xc5, 0x44, 0xfa, 0x5c, 0x95, 0x5d, 0x2f, 0xe9,
- 0xb2, 0xc3, 0x74, 0xd9, 0x0a, 0xe0, 0xfa, 0x44, 0xb2, 0xc8, 0x03, 0xf9,
- 0x41, 0x42, 0x40, 0x0c, 0x3d, 0xae, 0x3c, 0xb5, 0x2c, 0xcc, 0xac, 0x35,
- 0x4b, 0x0a, 0x67, 0xcd, 0xb8, 0x48, 0x88, 0x11, 0x63, 0x7f, 0x85, 0x1f,
- 0xb0, 0x94, 0x19, 0xe0, 0x3a, 0x6a, 0xd3, 0x58, 0xa6, 0x02, 0x15, 0x47,
- 0x42, 0x40, 0xda, 0xe8, 0xdd, 0xe0, 0x0a, 0xa2, 0xb0, 0x7e, 0xa3, 0x52,
- 0x00, 0xf5, 0x4b, 0xe0, 0x16, 0xfb, 0x82, 0xe2, 0x5d, 0x93, 0xcc, 0xf1,
- 0x23, 0x62, 0x56, 0x42, 0x4c, 0x5f, 0x01, 0x96, 0x31, 0x25, 0xdd, 0x53,
- 0x2c, 0x15, 0x5b, 0xb5, 0x50, 0xc0, 0x28, 0x2e, 0x47, 0xc3, 0xe4, 0xa4,
- 0x0f, 0x61, 0xef, 0xa0, 0x2a, 0xcb, 0x04, 0x2a, 0xaf, 0xc3, 0x42, 0x95,
- 0xb8, 0x07, 0x58, 0xb5, 0xfe, 0xab, 0xb5, 0x7a, 0x49, 0xf8, 0x45, 0x78,
- 0x50, 0x40, 0xc8, 0x78, 0xc0, 0x01, 0x7f, 0xaa, 0x25, 0x39, 0x17, 0x99,
- 0xa6, 0xf6, 0x87, 0x26, 0x8d, 0xb0, 0x96, 0xb8, 0x69, 0xa4, 0x27, 0xcd,
- 0xfb, 0xa6, 0x9c, 0xdd, 0x18, 0xf9, 0x86, 0x33, 0xf6, 0x21, 0xad, 0xf9,
- 0xa4, 0x58, 0x0e, 0x39, 0x2b, 0x46, 0x48, 0xab, 0xaa, 0x52, 0x23, 0x34,
- 0xff, 0xba, 0xb8, 0x5e, 0xc1, 0x56, 0xc6, 0x75, 0x27, 0x8c, 0xc1, 0x10,
- 0x56, 0xbb, 0xc1, 0x3e, 0x1c, 0xbc, 0x49, 0xa4, 0x3f, 0xaf, 0xfe, 0xdc,
- 0x6a, 0x4e, 0x49, 0xe1, 0x7d, 0xce, 0x63, 0x81, 0x2f, 0x4f, 0xae, 0xf3,
- 0x07, 0x26, 0x81, 0xf9, 0xc2, 0x2d, 0xb4, 0xb3, 0xbe, 0x29, 0x33, 0x59,
- 0xb9, 0x02, 0x76, 0x30, 0x0b, 0x0f, 0x96, 0x00, 0x31, 0x83, 0xcc, 0x29,
- 0xbd, 0xab, 0xbb, 0x8d, 0xab, 0xfd, 0x3f, 0xca, 0x9b, 0x82, 0xfe, 0x41,
- 0x5f, 0xa0, 0x0f, 0xbc, 0xda, 0xdb, 0x8b, 0xf6, 0x7c, 0x65, 0x7f, 0xb9,
- 0xc3, 0xda, 0x63, 0xba, 0x8f, 0x04, 0xac, 0xe7, 0x89, 0xb7, 0x96, 0xfd,
- 0x3f, 0x44, 0x2e, 0x51, 0xe8, 0x6f, 0xe3, 0xaa, 0xe5, 0x33, 0x94, 0x4e,
- 0xb6, 0xaf, 0x32, 0x10, 0x2a, 0x90, 0x8a, 0xec, 0xa9, 0x27, 0xf3, 0x52,
- 0x90, 0xf7, 0x5d, 0x55, 0x02, 0x0c, 0x16, 0xb4, 0x28, 0xab, 0x87, 0xdf,
- 0xa3, 0x48, 0xcd, 0xfd, 0xab, 0x97, 0x37, 0xcb, 0xeb, 0x0c, 0xc2, 0xb3,
- 0xf9, 0xd4, 0xf4, 0x1e, 0x35, 0x76, 0x72, 0x56, 0xb0, 0xb7, 0x82, 0x43,
- 0xc4, 0x8d, 0x17, 0x01, 0x67, 0x7a, 0x16, 0x5f, 0x8f, 0x60, 0xcf, 0x21,
- 0x99, 0x4b, 0x5a, 0xbe, 0xb5, 0x9b, 0x6f, 0xc1, 0x1a, 0x69, 0x9f, 0xa7,
- 0x4d, 0xd2, 0xd7, 0x5d, 0x12, 0xf2, 0x9a, 0x11, 0xdc, 0x65, 0xe3, 0x57,
- 0x7f, 0x26, 0x17, 0xd7, 0x27, 0xb0, 0x73, 0xb3, 0x6a, 0x4b, 0x93, 0xb7,
- 0x03, 0xb2, 0xee, 0xc4, 0x1b, 0xc4, 0x46, 0x20, 0x8e, 0x56, 0x37, 0xeb,
- 0xe5, 0x7f, 0x78, 0x4d, 0x5e, 0x95, 0xe5, 0xda, 0x16, 0xd5, 0x85, 0x83,
- 0x39, 0xf1, 0x80, 0x65, 0x0c, 0xb7, 0x72, 0xb9, 0x6d, 0xbc, 0x25, 0x70,
- 0xd9, 0xb4, 0xee, 0xcc, 0x58, 0xba, 0x31, 0x2a, 0x3c, 0xb3, 0xa9, 0xae,
- 0xd7, 0xce, 0xab, 0x3e, 0xa7, 0x57, 0x44, 0xeb, 0x31, 0xb8, 0x31, 0xf0,
- 0x81, 0xc4, 0x3e, 0xa0, 0xbf, 0x7e, 0x61, 0x5f, 0xa7, 0xff, 0x98, 0xf3,
- 0x0c, 0xbe, 0xdb, 0x35, 0xa3, 0x21, 0x84, 0xa6, 0xbe, 0xb3, 0xc3, 0xd5,
- 0x93, 0xb5, 0x50, 0xdd, 0x66, 0x9f, 0xb5, 0xed, 0x2f, 0x36, 0xe1, 0xcf,
- 0x55, 0xd8, 0x0f, 0x0a, 0xa1, 0x40, 0xca, 0x4d, 0xcb, 0x40, 0xb7, 0x25,
- 0x64, 0x1c, 0x57, 0x4a, 0x41, 0xef, 0x57, 0x74, 0x9c, 0x7a, 0xae, 0x5d,
- 0xff, 0xa9, 0x67, 0x3b, 0xff, 0x53, 0xcf, 0x75, 0xff, 0xa7, 0x9e, 0x1b,
- 0xc0, 0x4f, 0xbd, 0x5e, 0x02, 0x4a, 0xd6, 0x20, 0x78, 0xfe, 0xcb, 0x17,
- 0x7d, 0x93, 0xbf, 0xea, 0x3e, 0xea, 0x7d, 0xd3, 0xfb, 0x64, 0x6f, 0x73,
- 0xdd, 0xa4, 0xf9, 0x61, 0x22, 0x64, 0x29, 0x74, 0xe7, 0xd0, 0x08, 0xec,
- 0xd6, 0x34, 0xb9, 0x69, 0x21, 0x0b, 0x2d, 0xf0, 0x9a, 0x7b, 0x0f, 0xd0,
- 0x8c, 0xbb, 0xba, 0x2f, 0x1e, 0xa3, 0xb9, 0x65, 0x8a, 0xd3, 0x75, 0xd0,
- 0x9a, 0x81, 0x41, 0x21, 0x49, 0xfb, 0x7a, 0x70, 0x03, 0xfd, 0x0f, 0xf3,
- 0x05, 0x18, 0x01, 0x5c, 0x2b, 0x8d, 0x4f, 0x35, 0x78, 0x28, 0x04, 0xe1,
- 0x05, 0xf0, 0x6a, 0xc1, 0x01, 0x4c, 0xbe, 0x00, 0xaf, 0x38, 0xef, 0x83,
- 0xb7, 0x44, 0x80, 0x6b, 0x9e, 0xe7, 0xa8, 0xf7, 0x63, 0x46, 0x35, 0x63,
- 0x33, 0x75, 0x87, 0xee, 0x05, 0xe0, 0x10, 0x51, 0x85, 0xa7, 0x86, 0x9d,
- 0x2e, 0x16, 0xac, 0x54, 0xd2, 0xe1, 0x79, 0x58, 0xbd, 0xa5, 0x49, 0x1b,
- 0x9f, 0x95, 0x55, 0xfd, 0xaa, 0x67, 0x34, 0xa3, 0x2f, 0x92, 0xe4, 0xba,
- 0x32, 0x6a, 0xec, 0x17, 0xb4, 0xb5, 0x96, 0x66, 0xb1, 0xdc, 0x39, 0xfd,
- 0x34, 0x98, 0xdf, 0x9b, 0x7e, 0x6f, 0xfe, 0xa2, 0x9d, 0xe1, 0x89, 0xb4,
- 0x29, 0xe2, 0xe8, 0x46, 0x38, 0xce, 0x93, 0x2e, 0x88, 0x80, 0x8f, 0xae,
- 0x77, 0x28, 0xe5, 0xf7, 0xaf, 0x62, 0x8c, 0x55, 0xc1, 0x40, 0x3c, 0xc9,
- 0x0b, 0x7b, 0xed, 0xd5, 0xd9, 0xb7, 0x5f, 0x68, 0x03, 0x3f, 0xf5, 0x7e,
- 0x18, 0xf0, 0x4f, 0x91, 0x47, 0x79, 0x90, 0x9c, 0x7d, 0x4b, 0xbb, 0xfb,
- 0x97, 0x09, 0xb0, 0x75, 0x1f, 0xf8, 0x33, 0xff, 0x05, 0x3b, 0x7b, 0x5d,
- 0xb3, 0x97, 0x0e, 0x7c, 0xf0, 0x8a, 0x8a, 0x20, 0x22, 0xeb, 0x03, 0xa6,
- 0xf8, 0x62, 0x41, 0x79, 0x1c, 0x9a, 0x37, 0xd8, 0x70, 0xde, 0x20, 0x6b,
- 0x97, 0xe3, 0x92, 0xe1, 0xaa, 0x4d, 0x48, 0x3b, 0x0b, 0xda, 0x4b, 0xac,
- 0x2d, 0xe7, 0x31, 0x9b, 0x0d, 0x45, 0xde, 0x0b, 0xe8, 0xc4, 0x3a, 0xbb,
- 0x5c, 0x4c, 0x39, 0x9d, 0xb6, 0x4d, 0x9e, 0xe3, 0x08, 0xc5, 0xb8, 0xe3,
- 0x28, 0xe1, 0xbf, 0x41, 0x33, 0x03, 0x15, 0x0b, 0xd9, 0x59, 0x54, 0xab,
- 0x28, 0xad, 0x32, 0xad, 0x3f, 0x21, 0x95, 0xb1, 0xb8, 0x02, 0xd2, 0x17,
- 0xb1, 0x88, 0x80, 0x04, 0x2a, 0x05, 0x14, 0x7c, 0x55, 0xce, 0xa4, 0xfa,
- 0x67, 0x6d, 0x76, 0x3d, 0x2f, 0xb0, 0x2d, 0x46, 0x65, 0x74, 0x0e, 0x9a,
- 0x0a, 0x09, 0x58, 0xc8, 0x67, 0x23, 0x4a, 0x87, 0x04, 0x16, 0xd9, 0x21,
- 0x07, 0x82, 0x2b, 0xe1, 0xfd, 0xe1, 0x8d, 0xff, 0x05, 0x59, 0xfe, 0xe3,
- 0x6c, 0xca, 0x65, 0xa7, 0x25, 0x33, 0x6e, 0x20, 0x3e, 0xe2, 0x88, 0x1b,
- 0x27, 0xb1, 0xe7, 0x46, 0x0f, 0x0e, 0x23, 0x22, 0x34, 0x41, 0x8e, 0x08,
- 0x61, 0xbe, 0x21, 0xa5, 0x50, 0x40, 0xc5, 0x5a, 0x37, 0x82, 0xae, 0x97,
- 0xf8, 0x60, 0x6d, 0xd1, 0x79, 0x9a, 0xa1, 0xf0, 0xb4, 0x25, 0x7f, 0x10,
- 0x97, 0xb2, 0x57, 0x9b, 0x1e, 0xa3, 0x97, 0xc5, 0x1a, 0x06, 0x2f, 0xfc,
- 0x20, 0x90, 0x9d, 0xc1, 0xde, 0x81, 0x57, 0x03, 0x84, 0x7f, 0x16, 0x6f,
- 0xde, 0xe7, 0xc7, 0xd0, 0x58, 0x71, 0x2d, 0xd3, 0xbf, 0xa6, 0xfd, 0x7d,
- 0xdb, 0xfe, 0x46, 0x84, 0x92, 0x82, 0x49, 0x23, 0xe2, 0x9f, 0x25, 0xe6,
- 0x42, 0x45, 0x93, 0x89, 0x1b, 0xd5, 0x73, 0x68, 0x24, 0xec, 0x4b, 0x50,
- 0x67, 0x42, 0xdd, 0x6f, 0x71, 0x56, 0x44, 0x12, 0x80, 0x90, 0x1b, 0x32,
- 0x65, 0xb0, 0x32, 0x8f, 0xc4, 0x4c, 0x64, 0xd7, 0x52, 0x94, 0xea, 0xae,
- 0xbc, 0xb5, 0xca, 0x39, 0xf1, 0x29, 0x4e, 0x0f, 0x5c, 0xed, 0x38, 0xf8,
- 0x03, 0xd4, 0xef, 0xc1, 0xb6, 0x9d, 0x4b, 0x60, 0x0c, 0xd2, 0xcc, 0x5a,
- 0x2c, 0xa2, 0xc1, 0xa7, 0x8c, 0x30, 0x66, 0x5e, 0x1a, 0xd8, 0x29, 0x72,
- 0x16, 0xb6, 0x36, 0xc5, 0xb7, 0x42, 0x1f, 0xa2, 0x8a, 0x6b, 0x80, 0x2a,
- 0x61, 0xb8, 0x29, 0xa8, 0x04, 0x64, 0x06, 0x06, 0x11, 0xbd, 0xe3, 0x00,
- 0xc2, 0xdd, 0x9e, 0x0a, 0x66, 0x51, 0x01, 0x89, 0x8a, 0x9a, 0xcf, 0xa8,
- 0x00, 0xda, 0x66, 0x4e, 0x09, 0x6d, 0x65, 0x6f, 0x8a, 0xa5, 0x31, 0xa9,
- 0x4e, 0x6d, 0x71, 0x6f, 0x69, 0xb2, 0xf9, 0x6a, 0x7b, 0xd3, 0x0e, 0x6d,
- 0xb5, 0x69, 0xa4, 0xb6, 0x8c, 0x6e, 0x1b, 0x1b, 0x8d, 0xb4, 0xe5, 0x14,
- 0xe1, 0x60, 0x9a, 0x13, 0x10, 0x22, 0x1b, 0x60, 0x3d, 0xa3, 0x54, 0x58,
- 0xb5, 0xf2, 0x14, 0x90, 0x99, 0x55, 0xe0, 0x7c, 0x32, 0x11, 0x06, 0x6f,
- 0xf2, 0x74, 0x66, 0x7a, 0x48, 0x39, 0x69, 0xb7, 0x4a, 0xe3, 0x57, 0x1f,
- 0x78, 0x3a, 0x79, 0xe4, 0x80, 0x52, 0x44, 0x07, 0xfc, 0xe4, 0xe2, 0x19,
- 0xa9, 0xfd, 0x2a, 0x8b, 0xab, 0x2f, 0xb3, 0xcd, 0x57, 0x5b, 0x7c, 0x65,
- 0x39, 0xb7, 0x9a, 0xf7, 0xed, 0xcd, 0xe4, 0xa7, 0x78, 0x9e, 0x61, 0xc2,
- 0xef, 0x7a, 0x56, 0x82, 0x6c, 0xda, 0x87, 0xde, 0x48, 0x5e, 0x8e, 0xcb,
- 0xe9, 0xfd, 0x97, 0x88, 0x3f, 0xc9, 0x2b, 0x2f, 0x77, 0xf0, 0xa3, 0x8e,
- 0xd2, 0xbc, 0xaa, 0x21, 0xb4, 0x62, 0x96, 0x0a, 0x7f, 0xfe, 0x99, 0x1e,
- 0x57, 0x9b, 0x61, 0x33, 0x19, 0x0e, 0x8d, 0x18, 0xaa, 0xe7, 0x28, 0x77,
- 0xb3, 0xe6, 0x6a, 0x61, 0xe2, 0x2a, 0x57, 0xec, 0x40, 0xd8, 0x1c, 0xa4,
- 0xdc, 0x95, 0x1a, 0xdb, 0xe2, 0x8f, 0xe4, 0xdf, 0x56, 0xaf, 0x86, 0xc9,
- 0xa1, 0xc2, 0x66, 0x36, 0x22, 0x7c, 0x24, 0xe6, 0x51, 0xbe, 0x3f, 0xbc,
- 0x44, 0xdc, 0xcf, 0xc7, 0xb9, 0xf8, 0xdb, 0xa7, 0x65, 0x8b, 0x42, 0x2f,
- 0xe1, 0x84, 0x77, 0xba, 0xe2, 0xe3, 0xc2, 0xdb, 0xec, 0x99, 0x8a, 0xe3,
- 0x45, 0x2c, 0x22, 0xac, 0x19, 0x23, 0x9d, 0x1b, 0x1c, 0xcb, 0x37, 0x55,
- 0x9a, 0xf6, 0x93, 0xcf, 0xf4, 0x63, 0xdd, 0xeb, 0xb9, 0x80, 0x57, 0xe2,
- 0xaf, 0xe0, 0xef, 0xfc, 0x7c, 0x40, 0x4f, 0x79, 0xa5, 0x17, 0x6d, 0x02,
- 0xbc, 0x1b, 0x36, 0x42, 0x6f, 0x7d, 0xa9, 0x27, 0x38, 0x0d, 0x09, 0x0b,
- 0xf2, 0x82, 0x2b, 0xa2, 0xf0, 0xb5, 0x40, 0xa5, 0xc5, 0x9f, 0x3f, 0xe5,
- 0x51, 0xf2, 0x54, 0x89, 0xa7, 0xa6, 0xe5, 0x92, 0xe5, 0x0b, 0xa9, 0x0a,
- 0x23, 0x82, 0x76, 0x88, 0x9c, 0xf1, 0x49, 0x7a, 0x1a, 0x15, 0xda, 0x61,
- 0x5c, 0x27, 0x5d, 0xac, 0x46, 0xa7, 0xbc, 0x46, 0x01, 0xe5, 0xe4, 0xb3,
- 0xe7, 0x5e, 0xc7, 0x1f, 0xf0, 0x5d, 0xb8, 0xf3, 0x8e, 0x13, 0x28, 0x47,
- 0x5c, 0x46, 0xe4, 0x0d, 0x81, 0x8d, 0x77, 0xf3, 0xdd, 0xa0, 0x5f, 0xe4,
- 0xf8, 0x60, 0x7a, 0x26, 0x19, 0xa1, 0x75, 0x38, 0x3e, 0x74, 0x9e, 0xfc,
- 0xd3, 0xf0, 0x85, 0xee, 0x9e, 0xee, 0xa7, 0xd7, 0xee, 0x6e, 0xcf, 0x5a,
- 0xd2, 0xf7, 0xb9, 0x13, 0xbc, 0xc3, 0x1f, 0xde, 0xe0, 0x14, 0x54, 0xb8,
- 0x5a, 0x56, 0xb8, 0x88, 0xe4, 0x31, 0xd6, 0x17, 0x34, 0x7d, 0x44, 0x54,
- 0xf6, 0xb7, 0x87, 0xef, 0xde, 0x1f, 0x9e, 0x0e, 0x7f, 0x5d, 0x4d, 0xa7,
- 0xb5, 0xaf, 0x79, 0xf9, 0xa2, 0x1d, 0x2a, 0x94, 0x87, 0x13, 0xc9, 0x29,
- 0x5f, 0x87, 0x76, 0x0f, 0x41, 0x43, 0xe2, 0x4c, 0x28, 0x8c, 0xb9, 0x95,
- 0xc0, 0xb8, 0x87, 0xd9, 0x4c, 0x6b, 0x29, 0x70, 0xd6, 0xd3, 0xf7, 0xe9,
- 0xf5, 0x9e, 0x60, 0x8e, 0x6d, 0x92, 0x6e, 0x44, 0x7a, 0xda, 0xbc, 0x62,
- 0x8b, 0xb9, 0xd2, 0x42, 0xb0, 0x72, 0x79, 0xb5, 0xbc, 0x6d, 0xe5, 0xd5,
- 0x95, 0x17, 0xad, 0xe8, 0x46, 0xf5, 0x8e, 0x8e, 0x56, 0x67, 0x3b, 0xfe,
- 0x9e, 0x1c, 0x87, 0x1d, 0xec, 0x39, 0xa6, 0xd1, 0x89, 0xf2, 0x41, 0x53,
- 0x72, 0x26, 0xf0, 0x4b, 0xe9, 0x5b, 0x7c, 0x56, 0x99, 0xb0, 0xc3, 0x0b,
- 0x63, 0xab, 0x4e, 0x4b, 0x7d, 0xa2, 0x82, 0x76, 0x98, 0xae, 0xf3, 0xc3,
- 0xd1, 0xc8, 0x26, 0xe2, 0x0a, 0xc4, 0x27, 0xb0, 0xbd, 0x10, 0xe8, 0xa3,
- 0x68, 0xbd, 0x4e, 0x86, 0xa2, 0xc3, 0x2c, 0x8e, 0x13, 0x13, 0x68, 0x2c,
- 0xbc, 0xcb, 0xe5, 0xdc, 0x9c, 0x09, 0xa3, 0xdf, 0x4e, 0x09, 0x42, 0xc5,
- 0xe1, 0xd7, 0xee, 0xe6, 0xd2, 0x3a, 0xef, 0x0e, 0x03, 0x51, 0xe2, 0xbf,
- 0xa6, 0xd7, 0x23, 0x95, 0xd5, 0xa9, 0x06, 0xac, 0x3d, 0x66, 0xca, 0x7e,
- 0xd4, 0xd5, 0xd3, 0x1b, 0x9d, 0x5c, 0x1e, 0x27, 0x87, 0xef, 0x2f, 0xbf,
- 0xe9, 0xf1, 0x04, 0x77, 0x09, 0x08, 0xe0, 0xa6, 0xa7, 0x7a, 0x89, 0xb7,
- 0x52, 0xde, 0x80, 0xe6, 0x8e, 0x3d, 0x9a, 0x64, 0x1c, 0xc4, 0x14, 0x6e,
- 0xf7, 0xcd, 0xe1, 0x9a, 0x55, 0x7a, 0x36, 0x7c, 0xd6, 0x5d, 0xa5, 0xd5,
- 0x24, 0xb3, 0xa0, 0x1d, 0x95, 0x2a, 0xd9, 0x32, 0x77, 0xb2, 0xe3, 0x85,
- 0xce, 0x94, 0x60, 0x53, 0x3b, 0xae, 0x12, 0x01, 0x62, 0x6b, 0xa9, 0xd4,
- 0x9c, 0x0f, 0xef, 0x02, 0x4b, 0xaa, 0x66, 0x43, 0xe1, 0x20, 0x5c, 0xb5,
- 0xa4, 0x2b, 0xe2, 0xdd, 0xe5, 0x08, 0xa8, 0x59, 0xb1, 0xb4, 0x9a, 0xda,
- 0x84, 0xbc, 0x08, 0xe7, 0x80, 0xa2, 0xfc, 0xa8, 0xb8, 0x89, 0xd9, 0x02,
- 0x5a, 0xdb, 0xa0, 0x95, 0x28, 0xe9, 0x0a, 0x47, 0x6b, 0x74, 0xc3, 0x65,
- 0x5c, 0xc6, 0x29, 0x70, 0xe1, 0x34, 0x47, 0xcd, 0x03, 0xcb, 0xe5, 0xba,
- 0x16, 0xf7, 0x18, 0x67, 0x6d, 0xa5, 0x79, 0x15, 0x94, 0xc8, 0x4b, 0xfe,
- 0x33, 0xbe, 0xdf, 0xe9, 0x66, 0xad, 0xca, 0x19, 0xbb, 0x0b, 0xe5, 0x05,
- 0x46, 0x6f, 0x72, 0x8a, 0x04, 0x28, 0x74, 0x10, 0xb2, 0x41, 0xd4, 0x13,
- 0xd6, 0x08, 0x13, 0x80, 0x87, 0x05, 0x6c, 0xb6, 0x08, 0x9e, 0xa1, 0xbe,
- 0xd5, 0x4b, 0x84, 0x11, 0xd1, 0x5e, 0x24, 0xfb, 0x25, 0xa0, 0xe8, 0x8b,
- 0x91, 0x9c, 0x78, 0xa7, 0x37, 0x34, 0x90, 0x20, 0x8c, 0x27, 0x77, 0xd3,
- 0xb8, 0xb6, 0x85, 0x21, 0x00, 0x39, 0x66, 0xf3, 0x6c, 0x8e, 0xbe, 0x7f,
- 0xed, 0xd5, 0xac, 0x50, 0x68, 0x9a, 0xa2, 0xbb, 0xd9, 0xfe, 0x58, 0x45,
- 0xb4, 0xe7, 0xf1, 0x84, 0xa1, 0x58, 0x14, 0x45, 0x52, 0xa7, 0x59, 0xb6,
- 0xb0, 0x8c, 0xc4, 0xa8, 0x2b, 0x4a, 0xeb, 0x4e, 0x91, 0x53, 0x61, 0x83,
- 0x9e, 0x87, 0x8e, 0x24, 0x8b, 0xe3, 0x66, 0xc9, 0xe1, 0x28, 0x21, 0xa8,
- 0x08, 0x0f, 0xc5, 0x6d, 0xf7, 0x3e, 0x7b, 0xf2, 0xb9, 0xb9, 0x7c, 0xef,
- 0x41, 0x0f, 0xdc, 0x62, 0x22, 0x65, 0x06, 0xcf, 0xd5, 0x74, 0x67, 0x62,
- 0xc1, 0x28, 0xb0, 0x57, 0x32, 0xd9, 0x93, 0x9a, 0x6c, 0x06, 0xf8, 0xa3,
- 0x24, 0xaf, 0x34, 0x24, 0x02, 0x31, 0x93, 0xa8, 0x6e, 0x3f, 0xcc, 0x18,
- 0xd2, 0x5d, 0x69, 0xb6, 0x18, 0x19, 0x36, 0xf4, 0xf6, 0xb0, 0xd1, 0xe3,
- 0xa8, 0x2a, 0x51, 0x3f, 0xb9, 0x38, 0xbe, 0xbc, 0xe8, 0x27, 0xa3, 0xcb,
- 0xb3, 0x8b, 0x15, 0x1c, 0x75, 0x0d, 0x33, 0x24, 0xd0, 0x9c, 0x29, 0x44,
- 0x85, 0x4f, 0x65, 0x8b, 0xbc, 0x0a, 0x18, 0x68, 0x16, 0x3c, 0x75, 0x94,
- 0xef, 0xc8, 0xa3, 0x3d, 0xf2, 0x66, 0x0b, 0xdb, 0xc6, 0xdc, 0x0f, 0x6b,
- 0x07, 0xc6, 0xcb, 0xfe, 0x88, 0x1d, 0x42, 0x7b, 0x91, 0x86, 0x6b, 0xc5,
- 0x3c, 0x7a, 0x6b, 0x2c, 0x34, 0xf2, 0xf6, 0x3b, 0xf2, 0x69, 0xad, 0xf5,
- 0xba, 0x82, 0x9b, 0x90, 0x01, 0xb9, 0xb5, 0x03, 0x0d, 0x9b, 0x2d, 0xd7,
- 0xd3, 0x0c, 0xec, 0x9e, 0x39, 0x6e, 0xcc, 0xc5, 0x63, 0xd9, 0xc6, 0x1e,
- 0xd8, 0xbf, 0x46, 0xdf, 0xd9, 0xb6, 0x69, 0xa3, 0xa8, 0xd1, 0x51, 0xce,
- 0x33, 0xf6, 0xe9, 0xc3, 0xf3, 0xa3, 0xf2, 0x89, 0xeb, 0xa1, 0x81, 0xa2,
- 0x33, 0x46, 0x45, 0x60, 0x99, 0x94, 0x68, 0x95, 0x37, 0x6d, 0x32, 0xb7,
- 0xd6, 0x31, 0xe7, 0x75, 0xc9, 0x8c, 0x59, 0xda, 0x80, 0xa2, 0x6a, 0x53,
- 0x7b, 0xe5, 0x51, 0x2c, 0xb5, 0x85, 0xf7, 0x5e, 0x57, 0xc8, 0x50, 0x3e,
- 0x7c, 0x54, 0xb2, 0x10, 0x38, 0x45, 0xb3, 0x9a, 0x01, 0xad, 0x52, 0x54,
- 0x0d, 0x54, 0x09, 0xbf, 0x16, 0xdf, 0xb9, 0xe6, 0xb2, 0x4b, 0x41, 0x97,
- 0x40, 0x14, 0x40, 0x0c, 0xcc, 0x12, 0xb7, 0xb9, 0x65, 0xcd, 0x39, 0x28,
- 0xb3, 0xec, 0x4a, 0xdd, 0x4e, 0x72, 0x79, 0xd7, 0x20, 0x10, 0xd5, 0xcc,
- 0x2f, 0x4f, 0xd6, 0x25, 0x02, 0x58, 0x53, 0x40, 0xe7, 0x37, 0xa6, 0x2f,
- 0xa1, 0x42, 0xb2, 0x92, 0xd2, 0x0f, 0xb6, 0xbf, 0x02, 0xb0, 0x87, 0xa9,
- 0x9d, 0x39, 0x22, 0xb4, 0x21, 0xb4, 0x16, 0xee, 0xad, 0x69, 0x09, 0xb5,
- 0x9d, 0x06, 0x1d, 0x72, 0x9f, 0xc1, 0x65, 0x0c, 0x04, 0x81, 0xde, 0x34,
- 0xd2, 0x98, 0xb3, 0x3e, 0x26, 0x4d, 0x77, 0xa4, 0x48, 0xb0, 0x0f, 0x06,
- 0x7a, 0xee, 0x2f, 0x1b, 0x4b, 0x34, 0x18, 0x38, 0x4e, 0x10, 0x34, 0x9c,
- 0xe7, 0xce, 0xc9, 0xec, 0xea, 0x02, 0x10, 0x46, 0x81, 0x22, 0x9a, 0x27,
- 0xc5, 0x6c, 0x02, 0x5a, 0x5b, 0xba, 0x95, 0xa5, 0xaf, 0x33, 0x39, 0x5c,
- 0xc3, 0xf1, 0xe4, 0x27, 0xf5, 0xb7, 0xb6, 0xe4, 0x5e, 0x4b, 0xeb, 0x6b,
- 0x8f, 0x6e, 0x65, 0xc2, 0x28, 0x2b, 0x14, 0x17, 0xb4, 0x70, 0xb5, 0x2d,
- 0xc5, 0xa2, 0xbb, 0x2b, 0x2f, 0x72, 0xe2, 0x71, 0x29, 0xab, 0x1d, 0x4a,
- 0x51, 0x21, 0xf6, 0xb2, 0xc4, 0xdc, 0x90, 0x0a, 0x45, 0x5d, 0x51, 0xdd,
- 0xd4, 0xea, 0x89, 0xa6, 0xe9, 0x76, 0xad, 0x4a, 0xaf, 0xe8, 0x13, 0x5d,
- 0xa6, 0x92, 0xaf, 0x8f, 0xb9, 0x1d, 0x26, 0x31, 0x14, 0x3c, 0x73, 0xb6,
- 0x36, 0x80, 0x39, 0xb6, 0x35, 0x32, 0xad, 0xf2, 0xa7, 0x35, 0x01, 0xb0,
- 0xb0, 0xd0, 0xf8, 0x36, 0xeb, 0x95, 0x89, 0x75, 0x5a, 0x8e, 0x01, 0x6a,
- 0xbe, 0x99, 0x95, 0x3e, 0x23, 0x42, 0xda, 0x67, 0x13, 0x96, 0x43, 0xfb,
- 0x63, 0x75, 0xd6, 0x2c, 0x17, 0xe1, 0x3d, 0x7f, 0x72, 0xee, 0x9a, 0x14,
- 0xe2, 0x53, 0x9a, 0x6a, 0x14, 0xe7, 0x6e, 0xfc, 0x4e, 0x36, 0xe5, 0xd0,
- 0x2d, 0x80, 0xbb, 0xfa, 0x03, 0xf3, 0x9c, 0x14, 0x81, 0xe0, 0x76, 0x5f,
- 0x95, 0x40, 0xae, 0xbf, 0x1e, 0x1a, 0xe1, 0x6a, 0x94, 0x8b, 0xdd, 0x9e,
- 0x5f, 0xa7, 0x9d, 0x63, 0xea, 0xf6, 0x55, 0xd2, 0xa5, 0x5b, 0xbd, 0x0d,
- 0xcf, 0x8c, 0x66, 0xa2, 0x48, 0x06, 0x21, 0xad, 0xcf, 0x16, 0x15, 0x76,
- 0xc6, 0x19, 0xde, 0xde, 0x08, 0x87, 0x2e, 0x6d, 0xad, 0xe9, 0xd5, 0xde,
- 0x8b, 0xfd, 0xe1, 0xde, 0xf3, 0xcf, 0x87, 0x7b, 0x28, 0x09, 0xe9, 0xf5,
- 0x8e, 0x29, 0x99, 0xa9, 0x6a, 0xa1, 0xd7, 0x4e, 0xa4, 0x36, 0x66, 0xb2,
- 0x9a, 0xd7, 0x14, 0x1f, 0x98, 0xdf, 0x0f, 0xe9, 0xb1, 0x21, 0x57, 0xc2,
- 0x08, 0x3e, 0x31, 0x37, 0x4a, 0x4d, 0x5e, 0x04, 0x41, 0x8f, 0x81, 0xc3,
- 0x11, 0xe9, 0x65, 0xbf, 0xc8, 0x69, 0x17, 0x29, 0xd9, 0xa0, 0xeb, 0x14,
- 0x9f, 0xf5, 0xdc, 0x55, 0x25, 0xa0, 0xb3, 0x19, 0xef, 0x90, 0x8a, 0xf4,
- 0x89, 0x68, 0x91, 0x4e, 0xaa, 0xdb, 0xef, 0xff, 0x03, 0x16, 0x9f, 0x4a,
- 0xc8, 0xd7, 0xb9, 0xf3, 0x4f, 0x88, 0xdf, 0x42, 0x2c, 0x12, 0xc0, 0x2b,
- 0x40, 0xaf, 0xd3, 0x65, 0x68, 0x11, 0xc2, 0x0d, 0x16, 0x7e, 0x1d, 0x92,
- 0x13, 0xef, 0x8a, 0x39, 0xf6, 0x18, 0x95, 0x7c, 0xfc, 0x11, 0xda, 0xd4,
- 0x30, 0x79, 0x97, 0x44, 0x47, 0x5e, 0xc3, 0x75, 0xc5, 0xf2, 0x59, 0x9b,
- 0xa3, 0xd7, 0xfe, 0xf4, 0x27, 0x27, 0x8f, 0xb8, 0x42, 0x31, 0x13, 0xf0,
- 0x3f, 0xeb, 0x0b, 0x47, 0x21, 0x47, 0xb7, 0x98, 0x21, 0x3d, 0xe9, 0x1d,
- 0xfc, 0x08, 0x67, 0xf0, 0xcf, 0x83, 0x1f, 0xcd, 0xbf, 0x7f, 0xee, 0xd9,
- 0x0c, 0x43, 0x66, 0x45, 0x62, 0x1d, 0x79, 0xa3, 0x7d, 0x94, 0xfb, 0xed,
- 0x0a, 0x8f, 0xd0, 0x0a, 0x2e, 0x8f, 0xce, 0xf9, 0x20, 0x56, 0x1c, 0xe4,
- 0xc6, 0x48, 0x49, 0x10, 0x41, 0xad, 0x27, 0x09, 0xce, 0xfc, 0x88, 0x66,
- 0xa7, 0xd8, 0xb9, 0xd4, 0x42, 0x39, 0x6c, 0x56, 0xe2, 0xc5, 0xbe, 0xa3,
- 0x10, 0x24, 0xc5, 0xb1, 0xe2, 0xca, 0x23, 0x37, 0xa6, 0x2f, 0xe4, 0x3b,
- 0x40, 0x42, 0xb3, 0x11, 0xbf, 0xaa, 0x52, 0xf3, 0x0f, 0xb4, 0x39, 0x62,
- 0x58, 0xaa, 0xc9, 0x15, 0x7f, 0x67, 0xba, 0xd6, 0x17, 0x2e, 0x50, 0xce,
- 0x8b, 0x68, 0x84, 0xce, 0xce, 0x4c, 0x87, 0x99, 0x30, 0x25, 0x43, 0xad,
- 0xf2, 0xfa, 0x23, 0x8d, 0x50, 0x92, 0x7c, 0x12, 0x46, 0x08, 0x6d, 0x78,
- 0x3a, 0x37, 0x7a, 0x46, 0x41, 0x2f, 0x21, 0x0d, 0xb1, 0x99, 0x7b, 0xde,
- 0x14, 0xbb, 0x4b, 0x42, 0x17, 0x5f, 0x33, 0xe3, 0xa3, 0xc4, 0x47, 0xf2,
- 0x58, 0x95, 0xc5, 0xf9, 0xb8, 0x7c, 0x16, 0x01, 0xa5, 0xfe, 0x48, 0x93,
- 0x73, 0xa3, 0xef, 0xda, 0x6d, 0xe2, 0xd1, 0xe3, 0x24, 0x5b, 0xf4, 0x03,
- 0xba, 0x04, 0xb7, 0xbb, 0x97, 0x17, 0x95, 0x97, 0x48, 0x73, 0xdf, 0x3d,
- 0x63, 0xd6, 0x8d, 0x4e, 0x2c, 0x25, 0x4e, 0x54, 0xa6, 0x0f, 0x84, 0xcd,
- 0x93, 0xc4, 0x6e, 0xcd, 0x40, 0xa2, 0xd0, 0xae, 0x2a, 0x76, 0x1b, 0x51,
- 0x93, 0x41, 0x9c, 0xb4, 0x4e, 0x2b, 0x45, 0x1a, 0x25, 0x3b, 0x5f, 0x79,
- 0xe2, 0xe9, 0x4f, 0xc8, 0x6d, 0x4a, 0xce, 0xb9, 0x2b, 0x50, 0x70, 0x34,
- 0xb4, 0x6b, 0xd0, 0xf9, 0x79, 0x8c, 0xb0, 0xd4, 0xbb, 0x5b, 0xf7, 0x77,
- 0x43, 0x8f, 0x0a, 0x55, 0x51, 0xc5, 0x24, 0x0f, 0xf2, 0xc5, 0xc3, 0x84,
- 0x66, 0x4a, 0xb4, 0x44, 0x6b, 0xd9, 0x12, 0x30, 0xf6, 0xa2, 0xa9, 0x97,
- 0xd7, 0xd7, 0xa0, 0x54, 0x08, 0x41, 0x79, 0x4d, 0xed, 0xa5, 0x40, 0x0a,
- 0xc3, 0xbb, 0x91, 0xe9, 0xe8, 0xba, 0x4e, 0x87, 0x4b, 0x8c, 0x14, 0xd1,
- 0xe3, 0x78, 0x72, 0x57, 0xe6, 0xce, 0x52, 0x8e, 0x09, 0x1f, 0x74, 0xa7,
- 0xcf, 0x54, 0xd9, 0x60, 0x59, 0x67, 0x2d, 0x22, 0xe0, 0xd6, 0xd5, 0x11,
- 0x80, 0x7a, 0x3d, 0xd9, 0x58, 0xaf, 0x11, 0x83, 0x2b, 0xf2, 0x37, 0x44,
- 0x18, 0x92, 0xb3, 0x8d, 0xea, 0x5b, 0x30, 0xa1, 0x4b, 0x7e, 0x25, 0x4c,
- 0x6a, 0x4c, 0x85, 0x55, 0x59, 0x6a, 0x21, 0x9f, 0xf9, 0xa0, 0x7b, 0x7d,
- 0x5e, 0x61, 0x3e, 0xd6, 0x39, 0x08, 0x9c, 0x48, 0xf4, 0xd5, 0xa6, 0xa7,
- 0xc3, 0xfd, 0x60, 0x69, 0xeb, 0xd9, 0x60, 0x32, 0x99, 0x0c, 0xa0, 0x10,
- 0xbc, 0x64, 0x3d, 0x65, 0x47, 0xb4, 0x84, 0xb8, 0x06, 0x35, 0xca, 0x64,
- 0xbe, 0x8f, 0x8e, 0x8e, 0x44, 0xa1, 0xb9, 0xbc, 0xe9, 0x68, 0x16, 0x96,
- 0xf3, 0x47, 0xd4, 0xaa, 0x68, 0x46, 0x55, 0x7d, 0xb3, 0x6c, 0xa6, 0x28,
- 0x2e, 0x4a, 0x52, 0x43, 0xe5, 0xb0, 0x4d, 0x93, 0xed, 0x70, 0x33, 0x52,
- 0xa9, 0xe7, 0xbe, 0xc5, 0x23, 0x52, 0xe3, 0x41, 0x1e, 0xe1, 0x82, 0x6b,
- 0x42, 0xe0, 0x45, 0x69, 0xbb, 0x5b, 0xbd, 0x90, 0xfb, 0xea, 0xd3, 0x27,
- 0x69, 0x0f, 0xeb, 0x18, 0x86, 0x4d, 0x5b, 0xc1, 0x67, 0xd3, 0x5c, 0x10,
- 0xb1, 0xa9, 0x7c, 0xab, 0xdb, 0xf6, 0x03, 0xeb, 0x21, 0x53, 0xdd, 0x5e,
- 0x92, 0xe7, 0x2b, 0x97, 0x24, 0x2e, 0xa9, 0xc8, 0xc0, 0xc2, 0xcc, 0x27,
- 0x5b, 0x47, 0xa0, 0x76, 0x24, 0x0a, 0x67, 0x9c, 0x8a, 0xa3, 0x1b, 0xc2,
- 0x6e, 0xcd, 0xcc, 0x02, 0x99, 0x5e, 0xd7, 0x90, 0x03, 0x5c, 0x3b, 0x6d,
- 0x74, 0xba, 0x73, 0x79, 0x3a, 0x0a, 0xe0, 0xee, 0xf7, 0xe4, 0x3b, 0x86,
- 0x8f, 0xb8, 0xed, 0xf9, 0xe4, 0x29, 0x02, 0x59, 0x6e, 0x79, 0xd5, 0xde,
- 0xe1, 0xfc, 0x85, 0x28, 0x5f, 0xc6, 0xb2, 0xd0, 0x3c, 0x18, 0xe7, 0xbb,
- 0x2d, 0xb2, 0x02, 0x89, 0xe4, 0x74, 0x9f, 0xe3, 0x08, 0x00, 0x08, 0x5b,
- 0x27, 0xef, 0x0e, 0x2f, 0x29, 0xb9, 0xa5, 0x11, 0x6c, 0xc7, 0x55, 0x19,
- 0xa0, 0xcc, 0x95, 0x9b, 0xd3, 0xb2, 0x19, 0xa6, 0x13, 0x57, 0x1f, 0x42,
- 0x55, 0x76, 0x5e, 0xbe, 0x5a, 0x77, 0xde, 0xba, 0xe9, 0x37, 0x53, 0x2a,
- 0xf7, 0x43, 0x77, 0xcf, 0x77, 0x57, 0x63, 0x2f, 0xba, 0x1a, 0x3c, 0x01,
- 0xd1, 0x15, 0xb9, 0x10, 0x69, 0x2e, 0xd3, 0x6c, 0xb7, 0x2e, 0x9c, 0x98,
- 0xb3, 0xf2, 0x3a, 0x47, 0x72, 0x29, 0x2f, 0x55, 0x2b, 0xd6, 0x16, 0xf8,
- 0x4b, 0x79, 0x72, 0x28, 0x0d, 0x1b, 0xf7, 0x62, 0x3b, 0xad, 0x8a, 0x0f,
- 0x09, 0xdd, 0x15, 0x76, 0x52, 0x85, 0x18, 0x5c, 0x33, 0x20, 0xc3, 0x04,
- 0x43, 0x92, 0x31, 0xf9, 0xc4, 0x58, 0x0a, 0x13, 0x02, 0x7d, 0xbc, 0x41,
- 0x10, 0xa4, 0x05, 0xad, 0xcd, 0x5b, 0xc4, 0x68, 0xd6, 0x53, 0x4a, 0xe1,
- 0xfa, 0x68, 0x06, 0x90, 0x8c, 0x71, 0xad, 0x43, 0xfe, 0x79, 0xeb, 0xfa,
- 0xf8, 0x9a, 0x4c, 0xb3, 0xeb, 0xe0, 0xda, 0x65, 0xaf, 0x2e, 0xc3, 0xaf,
- 0x3b, 0xd5, 0x68, 0x5c, 0x05, 0x06, 0xf2, 0x11, 0x71, 0x64, 0xbd, 0x53,
- 0x67, 0x71, 0xda, 0x8f, 0xf2, 0x93, 0xf7, 0xbb, 0x94, 0xdf, 0x55, 0xc8,
- 0x0a, 0xdc, 0x62, 0x95, 0xb1, 0xa4, 0x20, 0x9d, 0xe6, 0xbe, 0x36, 0xf7,
- 0xbe, 0xe5, 0x93, 0xef, 0x90, 0xcf, 0xb4, 0xb8, 0xe6, 0x19, 0x89, 0x43,
- 0x11, 0xa7, 0x3b, 0xaa, 0xa4, 0x78, 0x17, 0xb7, 0x76, 0x58, 0xa1, 0xbd,
- 0x74, 0xec, 0xd4, 0x7c, 0x3c, 0x94, 0xc2, 0x5f, 0x45, 0xd6, 0xfb, 0x8b,
- 0x53, 0x1b, 0x96, 0xff, 0xf7, 0x4d, 0x57, 0x30, 0x65, 0xb8, 0x82, 0xab,
- 0x2d, 0x46, 0xe2, 0x8a, 0x48, 0x93, 0x84, 0x9a, 0x14, 0x48, 0xe1, 0x67,
- 0x9b, 0x44, 0xa0, 0xdc, 0x3a, 0xbe, 0xf5, 0x3d, 0xfa, 0xe6, 0xf8, 0xf0,
- 0xb5, 0xe5, 0x12, 0xf8, 0x05, 0x25, 0x85, 0xba, 0x2a, 0x3f, 0xdc, 0x24,
- 0x0e, 0x74, 0x51, 0x16, 0xd9, 0x2a, 0x17, 0x89, 0xba, 0xfd, 0xc6, 0x19,
- 0xd3, 0xe2, 0x2f, 0xc5, 0x63, 0x92, 0x62, 0x79, 0x74, 0xab, 0x62, 0xa3,
- 0x18, 0x7d, 0xad, 0xce, 0xa4, 0x48, 0xf0, 0x4a, 0x7a, 0xf8, 0x95, 0x4e,
- 0x12, 0x1f, 0x75, 0x20, 0xbe, 0x6b, 0xd2, 0x9a, 0x39, 0xb5, 0xca, 0xdb,
- 0xca, 0xd7, 0xd8, 0xca, 0xb3, 0x72, 0x5c, 0x5e, 0x5d, 0xad, 0x09, 0x02,
- 0x32, 0x49, 0x1f, 0x52, 0xa0, 0x78, 0xc7, 0xf4, 0x68, 0x1a, 0xe9, 0xbd,
- 0x31, 0x75, 0xdf, 0x2c, 0xaa, 0x39, 0x6e, 0x3d, 0xc9, 0x4b, 0x90, 0xda,
- 0xd6, 0xc1, 0xd5, 0xe3, 0xc5, 0x12, 0xee, 0x05, 0xd8, 0xaa, 0xe6, 0x1e,
- 0x72, 0xf3, 0xd9, 0x31, 0xa3, 0xf8, 0x20, 0xcb, 0x74, 0x6e, 0x66, 0xfd,
- 0x3f, 0xff, 0xeb, 0xc7, 0x9f, 0x23, 0x7c, 0xef, 0xc0, 0x81, 0xdd, 0x70,
- 0x66, 0xa1, 0x79, 0x7e, 0x2e, 0xdc, 0x2d, 0x96, 0x96, 0xdb, 0xd5, 0x98,
- 0x27, 0x15, 0x2c, 0x9b, 0x5d, 0x0d, 0x5d, 0xd5, 0x92, 0xf0, 0x62, 0xac,
- 0xdd, 0x07, 0x51, 0x6d, 0x8a, 0x52, 0xc1, 0x39, 0x7d, 0x97, 0x08, 0x94,
- 0x51, 0x36, 0xc5, 0xa1, 0xa5, 0x2d, 0xbd, 0xaa, 0xac, 0x44, 0x24, 0x95,
- 0x40, 0x2b, 0x4b, 0x74, 0xa3, 0xe7, 0xef, 0x2f, 0x4e, 0xac, 0xcf, 0xd3,
- 0x97, 0xcb, 0x37, 0x66, 0xa7, 0xde, 0x0f, 0xb2, 0xfb, 0x6c, 0x6c, 0x64,
- 0x44, 0xad, 0xec, 0x0f, 0x83, 0x79, 0x9d, 0xbc, 0x9c, 0x9b, 0x1d, 0x9e,
- 0xaf, 0xe0, 0xed, 0xf8, 0x86, 0x5e, 0x4b, 0x12, 0x7d, 0xcf, 0xd2, 0x48,
- 0x5e, 0x97, 0x95, 0x99, 0xa2, 0xb9, 0xe4, 0xe3, 0x4a, 0x52, 0x72, 0xdb,
- 0xab, 0x81, 0xfc, 0x92, 0xc0, 0x33, 0x40, 0x1c, 0x6c, 0x94, 0x54, 0xe5,
- 0x91, 0x79, 0x89, 0x62, 0x38, 0x5d, 0xa6, 0x33, 0xd2, 0xea, 0x8d, 0xb1,
- 0x0d, 0xfb, 0x9e, 0x5c, 0x84, 0xbc, 0xa3, 0x90, 0x56, 0x81, 0x57, 0xa2,
- 0x3c, 0x02, 0x36, 0x0b, 0x11, 0x56, 0x16, 0x49, 0x1d, 0x7f, 0x44, 0xb6,
- 0x0c, 0xa1, 0xff, 0x49, 0x29, 0x40, 0x1a, 0xce, 0xab, 0x74, 0x9f, 0x0f,
- 0xb4, 0x05, 0xad, 0x52, 0x9e, 0x46, 0xae, 0x15, 0x42, 0x53, 0x5f, 0x47,
- 0xf6, 0xe8, 0x26, 0x82, 0x43, 0x39, 0x4f, 0xa7, 0x36, 0x93, 0xde, 0x27,
- 0x9f, 0x43, 0x16, 0x62, 0x4a, 0x69, 0x91, 0xd9, 0x6c, 0x28, 0xa5, 0x71,
- 0x01, 0xa7, 0x72, 0xad, 0x42, 0xe6, 0x76, 0xe1, 0x23, 0x35, 0x21, 0x02,
- 0x38, 0x19, 0x56, 0x7c, 0xfb, 0xc8, 0x2b, 0x17, 0x27, 0x44, 0x34, 0xec,
- 0x0b, 0xb5, 0x04, 0x86, 0xae, 0x99, 0x15, 0x31, 0x21, 0xc0, 0x58, 0x8b,
- 0x7a, 0x4a, 0x4c, 0x45, 0x42, 0x2f, 0x03, 0x4c, 0x41, 0x22, 0x44, 0xd6,
- 0xfb, 0x58, 0xd6, 0xbb, 0xd3, 0x1c, 0x45, 0x5e, 0x92, 0xe7, 0xcf, 0x9e,
- 0x3d, 0x4b, 0x38, 0xf6, 0x92, 0xf4, 0x4e, 0x98, 0x7a, 0xfd, 0xe2, 0xf8,
- 0xe8, 0xec, 0xed, 0xdb, 0xe3, 0x77, 0xaf, 0x8f, 0x5f, 0xdb, 0x83, 0xa6,
- 0x63, 0xb1, 0xbb, 0x23, 0x18, 0x11, 0xe1, 0x03, 0xa7, 0xc9, 0xde, 0xb3,
- 0xdd, 0xc1, 0xfe, 0xb3, 0xdd, 0xc4, 0x6c, 0xc5, 0xd4, 0x66, 0xa9, 0xa5,
- 0xb3, 0x94, 0x3c, 0x02, 0x37, 0x4b, 0xa3, 0xa7, 0x11, 0x37, 0x64, 0x43,
- 0xac, 0x1b, 0x70, 0xc2, 0x92, 0x9f, 0xb8, 0xc8, 0x1a, 0x32, 0xa2, 0x03,
- 0x0d, 0x28, 0x9d, 0x0e, 0x51, 0x4b, 0x9b, 0x89, 0xbe, 0x5c, 0xf4, 0x52,
- 0xd4, 0x1f, 0x6c, 0xd0, 0xfd, 0x5d, 0xfa, 0xd4, 0x30, 0x79, 0x63, 0x34,
- 0x90, 0xab, 0xf2, 0x53, 0xc2, 0x7a, 0xa0, 0x51, 0x4b, 0xb3, 0x30, 0x6a,
- 0xd9, 0x7e, 0x9d, 0xde, 0x7e, 0xc2, 0x6f, 0xff, 0x13, 0xc3, 0xf5, 0xcf,
- 0x5e, 0xb4, 0xb4, 0x03, 0x0b, 0x8b, 0x88, 0xa6, 0x76, 0x92, 0x06, 0xf5,
- 0xe6, 0xe4, 0xf4, 0x78, 0x3b, 0x79, 0x93, 0x35, 0x92, 0x37, 0xa3, 0xa0,
- 0x55, 0xba, 0x47, 0xfe, 0x05, 0x77, 0xb7, 0xe5, 0x4b, 0x93, 0xdc, 0xd3,
- 0x68, 0x7d, 0x5d, 0x31, 0xa3, 0x71, 0x8b, 0x69, 0x12, 0x0e, 0x8f, 0x0b,
- 0xd3, 0x48, 0x31, 0x1f, 0x85, 0x2a, 0x69, 0x0c, 0x4d, 0xa0, 0x91, 0x11,
- 0x28, 0xa7, 0x32, 0x08, 0x0c, 0x3d, 0x3e, 0xad, 0xb2, 0xf0, 0x62, 0xd4,
- 0xd4, 0x69, 0x81, 0xd1, 0x6a, 0x88, 0x8d, 0x4b, 0xd9, 0x47, 0x23, 0x1d,
- 0xcc, 0x5f, 0x4a, 0xd9, 0x35, 0x40, 0xd6, 0xd2, 0x94, 0x72, 0x1d, 0x61,
- 0xd1, 0xa7, 0x71, 0x58, 0x69, 0xbc, 0xde, 0xc4, 0x7d, 0xa3, 0x13, 0x47,
- 0xd0, 0x06, 0xfe, 0x73, 0xe7, 0xcf, 0x51, 0x6a, 0x2b, 0x65, 0xaa, 0x47,
- 0x35, 0x45, 0x79, 0xc3, 0x8c, 0x58, 0xeb, 0xeb, 0xca, 0xf5, 0xa1, 0x0a,
- 0x0d, 0x2c, 0x6b, 0xc5, 0x68, 0x46, 0x34, 0x23, 0x38, 0x86, 0xd4, 0x92,
- 0xfa, 0x8b, 0x94, 0x44, 0xd1, 0x9b, 0x89, 0x52, 0x8b, 0x9d, 0xd8, 0xe2,
- 0xfa, 0x8d, 0x16, 0xb8, 0x9a, 0xc4, 0xaa, 0x0f, 0xf1, 0x71, 0x97, 0x62,
- 0x8d, 0x7c, 0x4d, 0x13, 0x00, 0x3c, 0x55, 0x04, 0xb8, 0xf6, 0x97, 0x1e,
- 0xbb, 0x11, 0x6e, 0x5a, 0xd8, 0xe9, 0x9c, 0x9a, 0x54, 0x47, 0xdd, 0xca,
- 0x92, 0x33, 0x25, 0xe1, 0x23, 0x14, 0x30, 0x64, 0x93, 0x9f, 0xc3, 0xaa,
- 0x4b, 0x52, 0x15, 0x38, 0x5d, 0x08, 0x50, 0xd2, 0x8a, 0xa9, 0xfc, 0x22,
- 0xd7, 0xb0, 0x7c, 0xdd, 0xdf, 0xdb, 0x5d, 0x6d, 0xd0, 0xff, 0x4c, 0xdb,
- 0xc6, 0x09, 0xf5, 0x10, 0x33, 0x77, 0xd0, 0x56, 0x50, 0x63, 0xba, 0xa9,
- 0xf2, 0xc9, 0xc7, 0x1c, 0xd9, 0x6d, 0x4b, 0xe8, 0x09, 0x69, 0xa1, 0x29,
- 0x3c, 0xdc, 0x4d, 0x4b, 0xe3, 0x6c, 0xb6, 0xdb, 0x10, 0x08, 0xf9, 0xb8,
- 0x5a, 0xc3, 0x84, 0x58, 0x64, 0x8f, 0x12, 0x3d, 0xa4, 0xf6, 0x67, 0x06,
- 0x90, 0xbc, 0x3d, 0x2d, 0xaa, 0x01, 0x50, 0x96, 0x1d, 0x94, 0x90, 0x08,
- 0x65, 0x6d, 0x86, 0x52, 0x9c, 0x70, 0x26, 0xdd, 0x09, 0x81, 0x15, 0x55,
- 0x90, 0x87, 0xd2, 0x35, 0x34, 0x56, 0xce, 0x9c, 0x50, 0xe6, 0xc0, 0x6d,
- 0xca, 0x90, 0x65, 0x7a, 0x8c, 0xda, 0x70, 0x9d, 0xdf, 0xc6, 0x22, 0xf9,
- 0x74, 0xb9, 0x48, 0xc7, 0xe6, 0x42, 0xa8, 0x20, 0x8a, 0x88, 0xe2, 0x58,
- 0x01, 0x2a, 0x70, 0x7e, 0x4f, 0x62, 0x99, 0xeb, 0x38, 0x3f, 0xed, 0x09,
- 0x9e, 0x91, 0x2e, 0x44, 0x74, 0x51, 0xc5, 0x81, 0xd9, 0xfe, 0x49, 0xef,
- 0x1b, 0x73, 0xa9, 0x1e, 0xf4, 0x2c, 0x61, 0xb2, 0x00, 0x6f, 0xb2, 0xce,
- 0xce, 0x91, 0x62, 0xa2, 0x83, 0x68, 0x89, 0x1f, 0x51, 0x09, 0x8d, 0x24,
- 0x95, 0xa7, 0x35, 0x87, 0x23, 0xc4, 0xc9, 0xda, 0x9c, 0x0a, 0x4e, 0x43,
- 0x0c, 0x09, 0xa1, 0xa9, 0x4b, 0x3f, 0x0c, 0x8e, 0xf0, 0xf1, 0xc1, 0x37,
- 0x68, 0xee, 0x8b, 0x9e, 0xf5, 0x25, 0x76, 0x7f, 0x65, 0x3a, 0xbe, 0x11,
- 0x83, 0x95, 0x38, 0xdb, 0xa7, 0x5e, 0x2a, 0xd0, 0x1f, 0x78, 0x05, 0xe9,
- 0xa0, 0x14, 0x68, 0x9f, 0x4e, 0x77, 0x74, 0xc1, 0x39, 0x4a, 0x1c, 0xd6,
- 0xb4, 0xb3, 0x61, 0xed, 0x45, 0x45, 0x41, 0x6a, 0xa3, 0x62, 0x4d, 0x07,
- 0xe5, 0xd5, 0x00, 0x90, 0xdb, 0x79, 0x5a, 0x7d, 0x24, 0xc4, 0x8b, 0x77,
- 0xea, 0x40, 0x3c, 0x01, 0x5a, 0xe0, 0xe9, 0x34, 0xa6, 0xf3, 0x71, 0x76,
- 0x1c, 0xdd, 0x67, 0xb2, 0xf1, 0x15, 0xbb, 0xcf, 0x0b, 0x79, 0x20, 0x3e,
- 0x5f, 0xbc, 0x6e, 0xcb, 0xc9, 0x10, 0xe7, 0xd3, 0xda, 0xea, 0x33, 0x7d,
- 0xd6, 0x0b, 0x31, 0x6a, 0x18, 0x06, 0x73, 0xf6, 0x13, 0xc2, 0xb3, 0xb9,
- 0x5c, 0x40, 0x17, 0x22, 0x82, 0xc6, 0xc0, 0xb0, 0xd7, 0xbc, 0x03, 0x04,
- 0xd6, 0xcd, 0xad, 0xf2, 0x6c, 0xb8, 0xdb, 0x0f, 0x62, 0xc1, 0x0d, 0x6c,
- 0xc8, 0xc2, 0x01, 0x51, 0xcc, 0xc3, 0x90, 0x91, 0x83, 0x58, 0xca, 0x66,
- 0xdd, 0xdc, 0x93, 0xbc, 0xb6, 0x19, 0x9a, 0xa0, 0x47, 0x76, 0x50, 0x7a,
- 0x07, 0x1d, 0xe1, 0xb2, 0xd9, 0x2c, 0x36, 0x39, 0x35, 0x33, 0xc6, 0x69,
- 0x29, 0xa8, 0xa0, 0x3f, 0x0f, 0xba, 0x15, 0x05, 0x6d, 0x61, 0x21, 0x3f,
- 0x21, 0xc0, 0x2b, 0x11, 0xb4, 0xd2, 0x89, 0x01, 0x9e, 0xec, 0x43, 0x2d,
- 0xc5, 0x31, 0x30, 0x93, 0x2a, 0xf5, 0x13, 0x07, 0x19, 0xfd, 0x90, 0x89,
- 0x20, 0x94, 0x28, 0xb2, 0x5e, 0x3d, 0x67, 0xcc, 0xff, 0xf9, 0x19, 0xcd,
- 0x98, 0x65, 0x0e, 0xd7, 0x0a, 0x19, 0xee, 0x7e, 0xc0, 0xb6, 0xf5, 0xce,
- 0x52, 0x77, 0xce, 0x48, 0xaa, 0x68, 0x01, 0x78, 0xf1, 0x89, 0xa1, 0x89,
- 0x95, 0x10, 0xd5, 0x15, 0xd8, 0x51, 0x1c, 0x9b, 0x37, 0xa4, 0x31, 0x0e,
- 0xde, 0x99, 0x65, 0x38, 0x48, 0xfe, 0xa3, 0xcc, 0x38, 0x0d, 0xf2, 0x81,
- 0x2c, 0xc8, 0xef, 0x0f, 0x2f, 0xde, 0x9d, 0xbc, 0xfb, 0xfa, 0xc0, 0xca,
- 0x38, 0x92, 0x77, 0x5e, 0x29, 0x8a, 0x8e, 0x43, 0x01, 0x91, 0x25, 0x3c,
- 0x92, 0x47, 0x8b, 0x41, 0x38, 0x6a, 0xef, 0x41, 0xc2, 0x12, 0x5a, 0x7c,
- 0x63, 0xe6, 0x37, 0xec, 0x77, 0x67, 0x53, 0x47, 0xf1, 0xf8, 0x92, 0x06,
- 0x88, 0xfb, 0xb2, 0x29, 0x03, 0xa3, 0x86, 0xfd, 0x14, 0xa7, 0xb4, 0x30,
- 0xb3, 0xb2, 0x55, 0x09, 0x86, 0x76, 0xe6, 0x0c, 0x7b, 0xa0, 0xf4, 0xb7,
- 0x41, 0xab, 0xa6, 0x4b, 0x88, 0x5e, 0x00, 0xa8, 0x95, 0x0d, 0x09, 0xbe,
- 0x2b, 0x5a, 0x25, 0x30, 0x98, 0xc6, 0xbe, 0xc6, 0xaa, 0xd5, 0x39, 0x0c,
- 0x59, 0x3b, 0x2b, 0x2b, 0x4c, 0x2e, 0x5c, 0x66, 0x4c, 0x7e, 0x9b, 0x2e,
- 0xf9, 0xc8, 0x30, 0xf5, 0x95, 0xfc, 0xd4, 0x61, 0xfd, 0xed, 0xf8, 0x1f,
- 0x8d, 0x98, 0x75, 0x90, 0x59, 0xd6, 0x15, 0x19, 0xee, 0xe8, 0x49, 0xad,
- 0x9d, 0x0a, 0xb7, 0x49, 0x94, 0xe2, 0x62, 0x96, 0xb9, 0x5c, 0x17, 0xab,
- 0xee, 0xdc, 0xb0, 0xba, 0x33, 0x5b, 0x04, 0x4c, 0x6e, 0xa8, 0x93, 0x4c,
- 0xbf, 0x51, 0xd8, 0x0c, 0x45, 0x46, 0x70, 0x09, 0xab, 0xca, 0xdb, 0xae,
- 0x77, 0xaf, 0x85, 0xd8, 0x58, 0xae, 0x87, 0x57, 0x2a, 0x51, 0x09, 0x65,
- 0x4c, 0x66, 0xe5, 0x67, 0x55, 0x98, 0xaf, 0x9b, 0x39, 0x5e, 0x2c, 0xc7,
- 0xf3, 0xe9, 0x33, 0x63, 0x63, 0x4e, 0x9f, 0x05, 0x7a, 0x16, 0x70, 0x89,
- 0xa3, 0x23, 0xa3, 0x6b, 0x11, 0x8e, 0x82, 0xae, 0x0c, 0x66, 0x53, 0x11,
- 0x23, 0x9d, 0xfe, 0xfa, 0x64, 0xdf, 0xf4, 0xf4, 0x53, 0xaa, 0xdc, 0x89,
- 0x46, 0x29, 0xbc, 0xce, 0x1b, 0x26, 0xdc, 0x5a, 0x41, 0x49, 0xe3, 0x63,
- 0xc1, 0x68, 0xc5, 0xf7, 0xf6, 0x3f, 0x4f, 0x08, 0xcb, 0xfe, 0xf6, 0xf5,
- 0xb3, 0x64, 0x72, 0x93, 0x4d, 0x3e, 0xd6, 0xcb, 0xb9, 0x4a, 0x64, 0x29,
- 0x06, 0x4f, 0xfd, 0x0c, 0x48, 0x5f, 0x4c, 0xc7, 0x67, 0xf9, 0x84, 0x12,
- 0xca, 0xfa, 0xad, 0xf0, 0xc7, 0x95, 0x86, 0x69, 0x3c, 0x0b, 0xc7, 0xde,
- 0x1c, 0x08, 0x4b, 0x33, 0x74, 0x23, 0xe2, 0x1a, 0x37, 0x73, 0x60, 0x3e,
- 0x5e, 0x73, 0xf9, 0xd8, 0xb5, 0x0e, 0xc1, 0xcf, 0x5a, 0x3e, 0xd5, 0x5d,
- 0x2c, 0xa5, 0x39, 0xdf, 0x7b, 0xc3, 0xdd, 0x55, 0x25, 0x91, 0x3d, 0xae,
- 0x27, 0x09, 0xde, 0xc2, 0x1e, 0x90, 0x0a, 0xd7, 0x89, 0x79, 0xd3, 0xd7,
- 0xc3, 0x38, 0x5a, 0x6b, 0x66, 0x72, 0x05, 0x82, 0xc8, 0xdc, 0x2b, 0x62,
- 0x79, 0x67, 0xd3, 0x56, 0x43, 0x8f, 0xc5, 0x72, 0x4b, 0x77, 0xf7, 0xc4,
- 0x83, 0x4c, 0xff, 0x6a, 0xf9, 0xec, 0xe5, 0xd7, 0x2b, 0xaa, 0x57, 0x63,
- 0x30, 0x6b, 0xc6, 0xb2, 0xb7, 0xb6, 0x1b, 0x5e, 0x3f, 0x30, 0x77, 0x6e,
- 0xf2, 0x6c, 0x71, 0x23, 0xee, 0x8f, 0xce, 0x79, 0x18, 0x52, 0x0b, 0x09,
- 0xba, 0xf1, 0x06, 0xc1, 0xf2, 0xcb, 0x6a, 0x40, 0x2a, 0xe1, 0x2c, 0x9b,
- 0x06, 0x57, 0x74, 0x6c, 0x31, 0x70, 0x8e, 0xf3, 0xba, 0x5e, 0x2a, 0xc7,
- 0x05, 0xb9, 0xa3, 0xc9, 0xe7, 0x8d, 0x21, 0x59, 0x11, 0x1a, 0x83, 0x1e,
- 0xd3, 0x13, 0x3b, 0xfb, 0x56, 0x03, 0xc4, 0x3f, 0x69, 0x4a, 0xdf, 0x2f,
- 0xae, 0xab, 0x14, 0x98, 0x98, 0x93, 0xc6, 0x63, 0x2a, 0x4f, 0xd0, 0xb9,
- 0x24, 0x59, 0xd5, 0x3b, 0x4e, 0xf2, 0xf5, 0x6b, 0xd8, 0x68, 0x8a, 0x59,
- 0xad, 0x9f, 0xaa, 0x29, 0x77, 0xcf, 0xd5, 0x18, 0xa2, 0x9f, 0x3a, 0x2e,
- 0xf7, 0x18, 0x29, 0x69, 0xdd, 0x08, 0xd8, 0x51, 0x1a, 0x68, 0x01, 0x82,
- 0x89, 0x6c, 0x99, 0x2f, 0x17, 0x5b, 0xf1, 0x89, 0x40, 0x30, 0x42, 0xa4,
- 0x13, 0x30, 0xbe, 0xf1, 0xe2, 0x8a, 0x96, 0xd0, 0x21, 0x24, 0x0b, 0x7c,
- 0xd7, 0xd1, 0xe5, 0x78, 0x34, 0xfd, 0x77, 0xc0, 0x3b, 0x94, 0xb3, 0x71,
- 0xaf, 0x29, 0x77, 0x3c, 0x9a, 0xe1, 0xe3, 0x36, 0xf7, 0x6e, 0x3f, 0xda,
- 0x3b, 0xda, 0x6e, 0xfe, 0xe6, 0x6f, 0x91, 0x78, 0xbd, 0x88, 0x6c, 0xae,
- 0x5f, 0x75, 0x16, 0xf6, 0xd7, 0x45, 0x70, 0x8c, 0x12, 0x9f, 0xce, 0x16,
- 0xc5, 0x50, 0xbf, 0xf0, 0xa8, 0xf9, 0xe9, 0x2e, 0xb3, 0x25, 0x4b, 0xff,
- 0x75, 0xf3, 0xd3, 0x9d, 0x1b, 0x5f, 0x96, 0xf9, 0xf3, 0xd3, 0x5d, 0xcb,
- 0xb5, 0x6c, 0xf9, 0x9c, 0x21, 0xab, 0x45, 0x7a, 0x07, 0x9c, 0xfa, 0x13,
- 0x45, 0xc4, 0xcb, 0x89, 0x54, 0x9a, 0xab, 0x7e, 0x72, 0xc2, 0x34, 0xae,
- 0x88, 0xc5, 0xca, 0xeb, 0xa7, 0x9c, 0x39, 0xc4, 0x57, 0xa8, 0x75, 0xa2,
- 0x47, 0x92, 0x0c, 0xf3, 0x09, 0x31, 0xc8, 0xcc, 0xee, 0xd5, 0x7d, 0x46,
- 0x3a, 0x9c, 0x65, 0x9e, 0x5f, 0x16, 0xb8, 0xb0, 0x0e, 0x17, 0x94, 0xfc,
- 0x63, 0x64, 0xd4, 0x27, 0x57, 0x92, 0x2f, 0x12, 0x41, 0x30, 0xb7, 0x7a,
- 0xc9, 0x38, 0x6a, 0xc5, 0x1b, 0x76, 0xbb, 0x83, 0xd6, 0x99, 0xe8, 0x69,
- 0x46, 0x08, 0xdb, 0x8a, 0x95, 0x98, 0x7d, 0x63, 0x39, 0x5e, 0x07, 0x34,
- 0xd2, 0xe3, 0xfb, 0x26, 0x02, 0x7e, 0xa7, 0x51, 0xd3, 0x2c, 0x6c, 0x31,
- 0xa1, 0x8c, 0xd9, 0x77, 0xcf, 0x87, 0xbb, 0xdb, 0x7d, 0xaa, 0x3e, 0xba,
- 0xc0, 0x0c, 0x10, 0x38, 0xd9, 0xde, 0xf5, 0x14, 0x55, 0xcc, 0xaf, 0xc9,
- 0x86, 0x82, 0xbd, 0x19, 0x89, 0x3d, 0x93, 0xbf, 0x45, 0x30, 0x1d, 0x8a,
- 0x98, 0x10, 0x62, 0xbd, 0x36, 0x81, 0x76, 0xde, 0x47, 0x91, 0x16, 0x78,
- 0x4b, 0xba, 0x7e, 0x32, 0xf1, 0xa1, 0xb8, 0x6a, 0xc3, 0x3e, 0x7b, 0xb3,
- 0x6a, 0x60, 0x0e, 0xfc, 0x2b, 0xb4, 0xe4, 0xf0, 0x63, 0x46, 0x7c, 0x2b,
- 0x8e, 0x01, 0x59, 0xd9, 0xe7, 0x61, 0x6d, 0xf3, 0x37, 0xc4, 0x28, 0x82,
- 0xd2, 0xa9, 0x12, 0x8f, 0xec, 0x16, 0xf2, 0x30, 0x31, 0xd9, 0x7b, 0xf7,
- 0xe4, 0x4e, 0xc1, 0x14, 0xcc, 0xba, 0x81, 0x23, 0xc5, 0x6c, 0x1d, 0x38,
- 0x25, 0xb2, 0x1c, 0x0e, 0x87, 0x91, 0x9c, 0xdd, 0xdb, 0x3c, 0xbb, 0x6b,
- 0x39, 0x87, 0xa4, 0x5f, 0x7d, 0x4b, 0x08, 0xcf, 0x36, 0xc9, 0x2d, 0xcd,
- 0x90, 0x69, 0x72, 0x5c, 0xda, 0x42, 0xb7, 0x6b, 0x0e, 0xb2, 0xff, 0xb4,
- 0x37, 0xcd, 0x1f, 0x79, 0x9a, 0xeb, 0x58, 0x16, 0x0c, 0x53, 0x40, 0x3a,
- 0xfe, 0xea, 0x3e, 0x29, 0xe8, 0xd5, 0x7d, 0x02, 0xa2, 0x72, 0xa7, 0xb8,
- 0x40, 0xae, 0x30, 0xee, 0x32, 0xaf, 0x99, 0x81, 0x31, 0x8f, 0x41, 0x81,
- 0x51, 0xff, 0x81, 0x3e, 0xd3, 0x3e, 0xf3, 0xe2, 0xb7, 0xb1, 0xd5, 0x97,
- 0xab, 0x72, 0x42, 0xa6, 0x11, 0x2e, 0x59, 0x25, 0x5e, 0x86, 0x65, 0x10,
- 0x89, 0xb3, 0xca, 0x8a, 0x78, 0x4c, 0xed, 0x5e, 0x54, 0xd0, 0xd1, 0xe7,
- 0x27, 0x3a, 0xc0, 0xa8, 0x6b, 0xdb, 0xae, 0xab, 0xef, 0x90, 0xf7, 0x47,
- 0x32, 0xbe, 0xd7, 0x1a, 0x26, 0xe2, 0x1d, 0x70, 0xcc, 0x92, 0x01, 0x07,
- 0xb2, 0xcd, 0xca, 0x71, 0xc4, 0x21, 0xce, 0xcf, 0xc2, 0x19, 0x3d, 0x18,
- 0x99, 0x34, 0x5e, 0xfb, 0xa4, 0xa0, 0x01, 0x41, 0xb6, 0x57, 0x6d, 0xda,
- 0x34, 0xcc, 0x35, 0x06, 0xa2, 0x4b, 0xcc, 0x26, 0x38, 0x27, 0xf6, 0x9a,
- 0xed, 0x5c, 0x2e, 0x29, 0xc6, 0x86, 0xb3, 0x2f, 0x79, 0x79, 0x92, 0x8a,
- 0xd7, 0xcd, 0xd7, 0xb6, 0xbc, 0x37, 0x34, 0xfb, 0xc3, 0x9b, 0xf4, 0xd3,
- 0xa7, 0x61, 0x9d, 0xed, 0x98, 0x5d, 0x5b, 0xef, 0xd4, 0xf5, 0x8c, 0x3e,
- 0x5a, 0x83, 0x62, 0x66, 0xf5, 0xf5, 0xc0, 0xf6, 0xab, 0xce, 0xaf, 0x08,
- 0xe3, 0x49, 0x4a, 0xaf, 0xb6, 0x84, 0xad, 0xab, 0x05, 0xc5, 0x84, 0xf8,
- 0x5d, 0x84, 0x14, 0x53, 0x6c, 0x02, 0x96, 0xed, 0x27, 0x18, 0xb1, 0x68,
- 0x70, 0x71, 0x68, 0xdb, 0x8e, 0xe3, 0x0e, 0x26, 0x52, 0xcd, 0x6a, 0x15,
- 0xa0, 0x55, 0xce, 0xaa, 0x87, 0x86, 0x32, 0x93, 0x62, 0x71, 0x9f, 0xe6,
- 0x7e, 0x70, 0xdc, 0x01, 0x5c, 0x74, 0x82, 0x2b, 0x24, 0x47, 0x78, 0x2d,
- 0x56, 0x19, 0xd2, 0xde, 0xd0, 0x08, 0x22, 0x7b, 0xe0, 0x78, 0x94, 0xee,
- 0xee, 0xee, 0x86, 0xeb, 0x2c, 0xe9, 0x7f, 0xd8, 0xdd, 0xdf, 0x6e, 0xee,
- 0xcc, 0xec, 0xda, 0xd3, 0xbc, 0x58, 0x7e, 0x4a, 0xbc, 0x34, 0x76, 0x5b,
- 0xfc, 0x40, 0x5d, 0xc5, 0xc9, 0x77, 0x17, 0x6f, 0x6c, 0xe5, 0x45, 0x4d,
- 0x1f, 0x26, 0x5f, 0x44, 0x1d, 0x7a, 0x4d, 0xb3, 0x9c, 0xc9, 0x05, 0x88,
- 0x1e, 0xf3, 0xe8, 0xf0, 0xfc, 0xc3, 0xbb, 0xe3, 0xcb, 0x0f, 0x17, 0x87,
- 0xdf, 0xd3, 0x14, 0x72, 0x38, 0xbf, 0x4a, 0x51, 0x81, 0xa5, 0x2a, 0x4b,
- 0x82, 0x69, 0xbe, 0x45, 0x41, 0x90, 0xbc, 0x40, 0x06, 0x79, 0xac, 0x46,
- 0x81, 0x23, 0xc6, 0x90, 0x7e, 0x9a, 0xbe, 0x1c, 0x24, 0xad, 0xf9, 0xfa,
- 0x68, 0x2c, 0x87, 0x6c, 0x36, 0x2c, 0xab, 0x6b, 0xda, 0x85, 0x3b, 0xaf,
- 0x45, 0x7e, 0x46, 0x9b, 0xdb, 0x91, 0x00, 0x0e, 0xf1, 0xac, 0xdc, 0x56,
- 0x57, 0x94, 0x94, 0xbd, 0xae, 0x6e, 0xb1, 0x5f, 0xce, 0xc7, 0xdb, 0x9a,
- 0x4f, 0x21, 0x00, 0x17, 0xb7, 0x4f, 0xd7, 0x18, 0x03, 0x4d, 0x4b, 0x7f,
- 0xa2, 0x03, 0x36, 0xbb, 0xe5, 0xad, 0x85, 0x28, 0x86, 0x1f, 0x96, 0xa3,
- 0x13, 0x4d, 0x2e, 0xb5, 0x7e, 0x24, 0xed, 0x13, 0xec, 0xc1, 0xa5, 0x4d,
- 0x92, 0x05, 0xac, 0x9f, 0xe2, 0x89, 0xeb, 0xeb, 0x10, 0xa9, 0x1e, 0xd4,
- 0x35, 0x3b, 0x5a, 0xd8, 0x36, 0x5f, 0x73, 0x7a, 0x1e, 0xea, 0x92, 0x54,
- 0xa1, 0xc8, 0x1b, 0xf3, 0x73, 0x19, 0xf3, 0xf3, 0x7f, 0x68, 0xcc, 0xcf,
- 0xff, 0x81, 0x31, 0x3f, 0xfd, 0xa7, 0x8f, 0xf9, 0xaf, 0x34, 0xe6, 0xbf,
- 0x2e, 0x8b, 0x8f, 0x03, 0xd3, 0x5f, 0xba, 0x85, 0xa5, 0xca, 0x4b, 0x1d,
- 0x57, 0x99, 0x5b, 0x85, 0x05, 0xc8, 0xd1, 0xe4, 0x51, 0x29, 0x7a, 0x45,
- 0x6b, 0x52, 0xc9, 0x53, 0xe3, 0xa0, 0xd3, 0xca, 0x52, 0xac, 0xea, 0x0c,
- 0x63, 0x40, 0x38, 0x25, 0x9b, 0x4d, 0xf3, 0x7a, 0x42, 0xf6, 0x0d, 0x39,
- 0x4c, 0x7a, 0xd2, 0x23, 0x6d, 0xba, 0xa7, 0x3c, 0xf3, 0x11, 0xfe, 0x3f,
- 0xaa, 0x86, 0x0b, 0xd3, 0x1a, 0xa7, 0xd2, 0xc6, 0x65, 0x5c, 0x29, 0xd0,
- 0x9c, 0x18, 0xb6, 0x88, 0xe7, 0x42, 0x1b, 0x65, 0x4f, 0x35, 0x79, 0x21,
- 0x43, 0x99, 0x71, 0x79, 0xbf, 0xa0, 0xe6, 0x4c, 0xbb, 0x95, 0xb9, 0x83,
- 0xa1, 0x35, 0x49, 0x95, 0x5a, 0xdb, 0xc1, 0xa4, 0xd3, 0x39, 0x71, 0xbd,
- 0xdd, 0x64, 0xf7, 0x9b, 0x81, 0xc2, 0x30, 0x99, 0x95, 0x24, 0x6f, 0x48,
- 0xaf, 0x5b, 0xa3, 0x89, 0x8c, 0x5d, 0x89, 0x1d, 0xbe, 0x2f, 0x3a, 0x35,
- 0x77, 0xfc, 0x7b, 0xe3, 0x63, 0x96, 0x2d, 0xd2, 0x19, 0x12, 0x8a, 0x29,
- 0x1a, 0xb7, 0xaa, 0x30, 0x48, 0x0b, 0x07, 0xa2, 0x30, 0x49, 0xbc, 0xd1,
- 0x89, 0xb3, 0x43, 0xd2, 0x69, 0xe9, 0x78, 0xc2, 0x07, 0x9b, 0xe9, 0x99,
- 0x06, 0x1c, 0x0b, 0xa2, 0x9f, 0xda, 0x80, 0x9c, 0xed, 0x05, 0x69, 0x27,
- 0x63, 0xc9, 0x6e, 0xb7, 0x9f, 0x50, 0xb2, 0x9c, 0xdc, 0x3c, 0x7c, 0x9b,
- 0x13, 0x00, 0xa1, 0xd3, 0x5c, 0xf7, 0x75, 0x10, 0x67, 0xb4, 0x38, 0xa2,
- 0x2d, 0xa7, 0x23, 0x05, 0x66, 0xe4, 0xfe, 0x23, 0x75, 0x03, 0x05, 0xb7,
- 0x82, 0x2d, 0xa5, 0x1c, 0x91, 0xac, 0xdd, 0x5e, 0x1e, 0x9d, 0x7f, 0xf8,
- 0xf6, 0xf8, 0xf8, 0xfc, 0xe4, 0xf5, 0xe9, 0xb1, 0x1c, 0x18, 0xfb, 0xa3,
- 0x77, 0x97, 0xdf, 0x9d, 0x6a, 0x5d, 0x1c, 0xdd, 0x8b, 0xc1, 0x86, 0x17,
- 0x82, 0x63, 0x16, 0xca, 0x7d, 0x94, 0xff, 0x28, 0x9a, 0xe4, 0xf0, 0xe4,
- 0x07, 0xa3, 0xb5, 0x9e, 0x0f, 0xde, 0xff, 0x10, 0xf0, 0xae, 0x7b, 0x78,
- 0xda, 0x95, 0x45, 0x69, 0xcd, 0x36, 0x84, 0xed, 0xe8, 0xc6, 0xbe, 0x0a,
- 0x5d, 0xf0, 0x1b, 0x5f, 0x83, 0x84, 0xd2, 0x2a, 0xac, 0xc2, 0xc0, 0x2f,
- 0x6a, 0x6d, 0x03, 0x2f, 0x80, 0xff, 0x7c, 0x57, 0xcb, 0xc6, 0xac, 0xf5,
- 0xa1, 0x7d, 0xde, 0xb6, 0x19, 0x3f, 0x66, 0xf7, 0x20, 0xaa, 0x4a, 0x5e,
- 0xd2, 0x7f, 0xe3, 0x65, 0x7d, 0xce, 0xab, 0xfc, 0x96, 0xf4, 0x3f, 0xf3,
- 0x2c, 0x07, 0x19, 0xe8, 0xd1, 0xa1, 0x2d, 0x72, 0x24, 0x81, 0x0e, 0x6a,
- 0x04, 0xb1, 0x50, 0x34, 0x0a, 0x8f, 0x46, 0x10, 0x2c, 0xcb, 0xa7, 0xec,
- 0xeb, 0xe0, 0xf6, 0xd0, 0xa0, 0x99, 0x9e, 0x61, 0xf2, 0xfa, 0xf8, 0xa2,
- 0x9f, 0x9c, 0x1f, 0xbf, 0x65, 0x54, 0xee, 0xf1, 0xbb, 0xaf, 0xb9, 0xee,
- 0x93, 0x96, 0xf3, 0x41, 0x6c, 0x2e, 0xc4, 0xa5, 0x78, 0x73, 0x62, 0xde,
- 0x05, 0x06, 0xa7, 0xae, 0xcd, 0xed, 0xfa, 0x3b, 0xd2, 0x06, 0xf0, 0xd8,
- 0x5e, 0x9a, 0xff, 0xc4, 0xa6, 0xca, 0xd8, 0x11, 0xdf, 0x44, 0xa6, 0x4b,
- 0x14, 0x33, 0x1b, 0xcd, 0x15, 0xa3, 0x80, 0x66, 0x83, 0x67, 0xcc, 0x4c,
- 0x48, 0x18, 0x57, 0xd4, 0x09, 0x82, 0xeb, 0x07, 0xcc, 0x09, 0x5c, 0x69,
- 0x4e, 0xa2, 0x42, 0x64, 0xc5, 0x9a, 0xcf, 0xf5, 0x69, 0x5f, 0x82, 0x73,
- 0xd5, 0x4d, 0x46, 0x2c, 0x27, 0xac, 0xca, 0x25, 0x69, 0xc2, 0xb9, 0xe3,
- 0x8d, 0x42, 0x35, 0xcd, 0xa7, 0x48, 0x3a, 0x35, 0xdf, 0x28, 0xab, 0x69,
- 0x84, 0x63, 0xf3, 0xb7, 0x9c, 0xb8, 0x6a, 0x9c, 0xbc, 0x9c, 0x99, 0x17,
- 0x67, 0x71, 0x30, 0xf8, 0x31, 0x97, 0x7f, 0xf8, 0xd6, 0x18, 0x74, 0x59,
- 0x55, 0xd6, 0xdd, 0x5a, 0x00, 0x52, 0xea, 0x95, 0x6d, 0x5e, 0x34, 0x23,
- 0x24, 0x77, 0x21, 0x20, 0x88, 0x74, 0x22, 0xb1, 0xb7, 0x82, 0x8c, 0xf1,
- 0x4d, 0xe0, 0x67, 0x37, 0xfb, 0xc9, 0x26, 0x15, 0x3c, 0xa0, 0x3f, 0x51,
- 0xfb, 0x95, 0xb8, 0xc9, 0xf3, 0x74, 0xb6, 0xd9, 0x0f, 0x8b, 0x38, 0x6f,
- 0xca, 0x76, 0xdd, 0x34, 0x3b, 0x9e, 0x5b, 0xa3, 0x25, 0x44, 0x2a, 0x9e,
- 0xf4, 0x43, 0x78, 0x02, 0x6b, 0x89, 0xa0, 0x23, 0x5b, 0x53, 0x68, 0x5b,
- 0xeb, 0x80, 0x98, 0xdf, 0x36, 0xd7, 0xce, 0xea, 0x5f, 0x85, 0x78, 0xf9,
- 0x8d, 0x65, 0x09, 0x2f, 0xc3, 0x2f, 0x2d, 0x08, 0xe8, 0x7c, 0x5c, 0x9d,
- 0xe6, 0x74, 0xb1, 0xfc, 0x75, 0xd6, 0xd7, 0xa3, 0xf5, 0xd1, 0x0e, 0x39,
- 0x6d, 0xc9, 0x1f, 0x12, 0xe8, 0x71, 0x09, 0x62, 0x3b, 0x65, 0xd5, 0x5d,
- 0xb2, 0x31, 0xfc, 0x9a, 0x46, 0x72, 0x09, 0x84, 0x40, 0x08, 0xd6, 0x41,
- 0xc0, 0x67, 0xad, 0xdd, 0x1e, 0xb0, 0x89, 0x75, 0x94, 0x88, 0xcd, 0x08,
- 0xac, 0xee, 0x5d, 0x45, 0xb4, 0x5d, 0x85, 0xa3, 0xff, 0x9b, 0x65, 0xab,
- 0xf8, 0x1d, 0x94, 0xd9, 0xcb, 0x2c, 0xd2, 0x4c, 0x8a, 0xed, 0x28, 0x88,
- 0xa1, 0xd2, 0x6e, 0x0d, 0x24, 0x00, 0xa4, 0x56, 0x1d, 0xbd, 0xf7, 0x2f,
- 0xff, 0xe0, 0xca, 0x49, 0x8d, 0x24, 0x26, 0x12, 0x8d, 0xa4, 0xf0, 0x3d,
- 0x9a, 0xc6, 0xa4, 0x03, 0x3c, 0x07, 0x84, 0x6d, 0x00, 0xc1, 0xf1, 0xd2,
- 0xc8, 0x88, 0x2c, 0xe0, 0x71, 0x68, 0xd7, 0xaa, 0x9b, 0x4b, 0x25, 0x32,
- 0x8f, 0xd0, 0x08, 0xef, 0xda, 0x42, 0x89, 0xbe, 0xcf, 0x75, 0x10, 0xa9,
- 0xb0, 0x0c, 0xf6, 0x6c, 0x97, 0x39, 0x84, 0x63, 0x0b, 0x8a, 0x1a, 0xcd,
- 0xbf, 0x57, 0x70, 0x15, 0x4f, 0x08, 0x39, 0x0c, 0x05, 0xb6, 0x03, 0xfd,
- 0x2f, 0x20, 0xc0, 0x65, 0x04, 0x1e, 0x88, 0xa8, 0xd1, 0x18, 0x81, 0x49,
- 0xa6, 0xec, 0xbd, 0xc2, 0x92, 0xd8, 0x7e, 0xa2, 0x76, 0x38, 0xf7, 0x8b,
- 0x19, 0x7c, 0xcd, 0x89, 0x0e, 0xf4, 0xb9, 0xb1, 0x69, 0xe2, 0x2e, 0x9f,
- 0x36, 0x37, 0xa0, 0x88, 0x87, 0xf2, 0x6a, 0x74, 0xd7, 0x5a, 0x72, 0xd5,
- 0xc8, 0x93, 0x98, 0xc7, 0x60, 0xd8, 0x51, 0x2f, 0x0b, 0xaf, 0x18, 0xe6,
- 0x34, 0x61, 0xe6, 0x06, 0x72, 0xa6, 0x60, 0x19, 0xe0, 0x78, 0xdc, 0xe1,
- 0xeb, 0xd8, 0x26, 0x2d, 0x1b, 0xab, 0x7f, 0x79, 0x45, 0xe4, 0xef, 0xa1,
- 0x1b, 0x55, 0xe1, 0xd2, 0x43, 0x7b, 0x44, 0xb8, 0x22, 0xc4, 0x47, 0x26,
- 0x68, 0xfd, 0x76, 0x53, 0x8b, 0x9d, 0x2d, 0x8b, 0xc6, 0xc7, 0x74, 0x9a,
- 0x13, 0xfa, 0x31, 0x9f, 0x95, 0x51, 0xbf, 0xa7, 0x11, 0x6d, 0x73, 0x7e,
- 0xfd, 0xed, 0xa6, 0x3a, 0xb3, 0x28, 0x97, 0xef, 0x3a, 0x95, 0x5f, 0x73,
- 0x1a, 0xef, 0xe6, 0x35, 0x3f, 0xf4, 0xb5, 0x3e, 0x14, 0xe6, 0x2a, 0x91,
- 0x6b, 0x95, 0x5d, 0xa9, 0x1a, 0x83, 0xaf, 0x0f, 0x08, 0x2f, 0xf8, 0x6d,
- 0x3f, 0x79, 0x32, 0xc7, 0xa2, 0xec, 0x7d, 0x1d, 0x45, 0x72, 0x33, 0xc6,
- 0x84, 0x54, 0x64, 0x8d, 0x0e, 0x0e, 0xfe, 0x42, 0x9a, 0x31, 0xe6, 0x8c,
- 0x77, 0xa6, 0x05, 0x27, 0x33, 0x00, 0xde, 0x95, 0x4e, 0xef, 0x5e, 0x60,
- 0xb4, 0x54, 0x0b, 0xd2, 0xe4, 0xa6, 0x99, 0xf2, 0x55, 0xce, 0xe1, 0x82,
- 0xa2, 0x08, 0xeb, 0x42, 0x12, 0x35, 0x69, 0xab, 0x0e, 0x2c, 0x03, 0x56,
- 0x3d, 0xa3, 0x07, 0x50, 0xb5, 0xa1, 0x0c, 0x00, 0x59, 0xb3, 0x05, 0xb4,
- 0x58, 0x5b, 0x58, 0xc5, 0xeb, 0x12, 0xa5, 0x5a, 0x4c, 0x12, 0x31, 0xc4,
- 0x7f, 0x47, 0x5d, 0x62, 0x86, 0xa0, 0x7e, 0x5e, 0x37, 0x03, 0xb2, 0x35,
- 0xa3, 0x8e, 0xfa, 0xf3, 0xb3, 0xf3, 0x27, 0xdb, 0x36, 0x63, 0x87, 0x73,
- 0x1d, 0x24, 0x63, 0xcf, 0x52, 0xd9, 0xd8, 0x64, 0x3e, 0xe5, 0x09, 0x04,
- 0x6c, 0x3c, 0xf4, 0x2d, 0x4e, 0x32, 0x25, 0x76, 0xc7, 0xf7, 0xe0, 0x95,
- 0x75, 0xe0, 0x78, 0xaf, 0x32, 0x8f, 0x3b, 0x96, 0x8e, 0xba, 0x67, 0x23,
- 0xcc, 0x78, 0x16, 0xab, 0x43, 0x12, 0x86, 0x07, 0x80, 0xa3, 0x27, 0x6d,
- 0x7a, 0x6b, 0x82, 0x3c, 0x76, 0x3a, 0xd9, 0x4e, 0xd2, 0xf4, 0xc2, 0xc0,
- 0x02, 0xfb, 0x76, 0x0f, 0xc2, 0x6b, 0xac, 0xe8, 0x7c, 0xbe, 0x6f, 0x6d,
- 0x10, 0x8d, 0x5c, 0x5a, 0xb4, 0x6d, 0x99, 0xdb, 0x6f, 0xb8, 0xb2, 0x38,
- 0xa9, 0x65, 0x58, 0x6e, 0xa9, 0xcd, 0x52, 0x44, 0x23, 0x4d, 0xde, 0x9d,
- 0x8e, 0x2e, 0x7d, 0x4f, 0x3f, 0x1c, 0xba, 0x01, 0x02, 0xaa, 0xcd, 0x39,
- 0xe2, 0xc5, 0x8b, 0x4f, 0x4f, 0x46, 0x97, 0xc3, 0x18, 0x77, 0xf0, 0x41,
- 0x32, 0x2a, 0xe7, 0x7e, 0x39, 0xd4, 0x5a, 0xca, 0x55, 0x82, 0xda, 0x81,
- 0xc3, 0x17, 0xea, 0xcd, 0xcf, 0x2b, 0xdf, 0xd7, 0x1f, 0xec, 0x54, 0xea,
- 0xe2, 0x17, 0x8c, 0x6e, 0x12, 0x64, 0x94, 0x3a, 0xf2, 0xeb, 0xe5, 0x78,
- 0xe0, 0x91, 0xfc, 0xb0, 0xbe, 0x83, 0x8a, 0x11, 0x66, 0xf7, 0x9a, 0x1b,
- 0xea, 0x63, 0x68, 0x08, 0x6c, 0xc9, 0x7e, 0xe2, 0x8d, 0x24, 0x04, 0x4d,
- 0x2d, 0x8f, 0xe4, 0x24, 0xc9, 0x40, 0xf9, 0x06, 0x5f, 0x00, 0x3d, 0xfd,
- 0xa8, 0x4d, 0x45, 0x13, 0xd1, 0x99, 0x47, 0x29, 0x31, 0xd4, 0x06, 0x3a,
- 0x52, 0x64, 0xc5, 0x63, 0x25, 0x59, 0x17, 0x4c, 0xf2, 0x76, 0x21, 0xf4,
- 0x93, 0x1a, 0x75, 0x6a, 0x0b, 0xb6, 0x75, 0x6a, 0x63, 0x7a, 0xc3, 0x2d,
- 0x60, 0x7b, 0xbd, 0x8a, 0x83, 0x2e, 0x9f, 0x32, 0x47, 0x53, 0xdd, 0x26,
- 0x69, 0xe2, 0x34, 0x3c, 0x12, 0x39, 0x4c, 0x46, 0x4f, 0xd6, 0xeb, 0x8a,
- 0x95, 0x64, 0xbf, 0x49, 0x0b, 0xd2, 0x32, 0xf8, 0x81, 0x71, 0x52, 0x08,
- 0x66, 0xf4, 0x63, 0xd4, 0x21, 0xb1, 0x9c, 0x77, 0x9b, 0x0e, 0x5c, 0x24,
- 0xef, 0x8d, 0x69, 0xdb, 0x4d, 0x1b, 0x97, 0x72, 0xe1, 0x32, 0x54, 0x42,
- 0xc3, 0xaa, 0xd0, 0xc4, 0x8a, 0x6c, 0x86, 0x95, 0x0e, 0x72, 0xf3, 0xfd,
- 0x84, 0x55, 0xd7, 0x2b, 0x02, 0x80, 0x56, 0x29, 0x83, 0x7b, 0x98, 0x1c,
- 0x31, 0x27, 0x52, 0x07, 0x5b, 0x58, 0x85, 0x26, 0x42, 0x8e, 0xeb, 0xc7,
- 0x68, 0x0a, 0xe5, 0xaa, 0x8c, 0x1c, 0x3f, 0x9f, 0x77, 0xaf, 0xcd, 0xbd,
- 0x05, 0x9a, 0x3d, 0x61, 0xca, 0x30, 0x17, 0xd2, 0x0e, 0x10, 0xf5, 0xd1,
- 0xe2, 0xdc, 0x69, 0xe2, 0x01, 0x27, 0x5a, 0xc9, 0xdf, 0x74, 0x88, 0x19,
- 0x89, 0xbf, 0xf5, 0xe6, 0xe2, 0xec, 0xed, 0xe0, 0xf2, 0x0c, 0x35, 0x58,
- 0x99, 0xf7, 0x3e, 0xa2, 0x71, 0x6a, 0x0d, 0x6d, 0xaf, 0x90, 0x6c, 0x1b,
- 0x75, 0xb2, 0x55, 0x6f, 0x6b, 0x9d, 0x57, 0x5c, 0x29, 0x0b, 0xbf, 0xf2,
- 0x76, 0x40, 0xa5, 0x5d, 0xb0, 0x2e, 0x02, 0x73, 0xd3, 0xec, 0xa6, 0x49,
- 0x4a, 0x2a, 0xa3, 0x8d, 0x37, 0xa0, 0x01, 0x15, 0xde, 0xe3, 0x65, 0x7d,
- 0x9f, 0x48, 0xc6, 0x43, 0xcd, 0x10, 0xa9, 0x26, 0x74, 0xe2, 0x2a, 0x93,
- 0x8c, 0x4d, 0xa3, 0x27, 0xde, 0x1d, 0x86, 0x83, 0x37, 0xa5, 0x39, 0xbf,
- 0x69, 0x55, 0x95, 0x77, 0x7a, 0x73, 0x21, 0x1b, 0xc9, 0x2c, 0xa4, 0xe9,
- 0x3a, 0x2d, 0x53, 0x75, 0xbf, 0x32, 0xe7, 0x58, 0xd8, 0x34, 0xb4, 0x9c,
- 0xe5, 0x5a, 0x05, 0xf0, 0x59, 0x3b, 0x0f, 0x54, 0x51, 0x63, 0x83, 0xa6,
- 0x5a, 0xd6, 0x61, 0x6d, 0x5c, 0x45, 0x67, 0x9c, 0x82, 0x5e, 0x88, 0x80,
- 0x66, 0xde, 0x3b, 0x7d, 0x61, 0xfc, 0xa1, 0xb4, 0x70, 0x54, 0x1e, 0x51,
- 0xff, 0x91, 0x25, 0xc1, 0xff, 0x53, 0x70, 0x86, 0x85, 0x08, 0x90, 0xd4,
- 0xfa, 0xd9, 0xcc, 0x01, 0xcd, 0x84, 0x4e, 0x8a, 0x4a, 0x66, 0xd3, 0xde,
- 0x56, 0x2c, 0x18, 0x68, 0x3e, 0x20, 0x0f, 0xe8, 0xa7, 0x81, 0x36, 0xa9,
- 0xb9, 0xfb, 0x39, 0x65, 0x4d, 0x4e, 0x97, 0x13, 0xac, 0x12, 0x05, 0x66,
- 0xa8, 0xde, 0xd4, 0x98, 0x59, 0xc5, 0x34, 0xf5, 0x90, 0x9a, 0x76, 0x10,
- 0x3b, 0xb6, 0xb3, 0xbb, 0x7a, 0x16, 0x3f, 0x65, 0xeb, 0x67, 0x90, 0x32,
- 0x49, 0x78, 0x8d, 0x8c, 0x15, 0xcb, 0x2a, 0x28, 0x40, 0x57, 0x5c, 0x95,
- 0xb6, 0x8a, 0x5f, 0x44, 0x60, 0x11, 0x7d, 0x2b, 0xf8, 0x2a, 0x05, 0x9f,
- 0x41, 0xb4, 0x4b, 0xb4, 0x7d, 0x11, 0x1b, 0xfd, 0x8a, 0x3c, 0x9b, 0x9d,
- 0x16, 0xb7, 0xd7, 0x78, 0x11, 0x97, 0x8a, 0xc8, 0xf4, 0x56, 0xaf, 0x85,
- 0xfb, 0x5b, 0xb1, 0x72, 0x27, 0x57, 0x7e, 0x99, 0x0c, 0x89, 0xa1, 0x7b,
- 0x73, 0x2e, 0x27, 0x1b, 0xa4, 0x40, 0xd7, 0x5c, 0x15, 0x97, 0x30, 0x73,
- 0xd3, 0x18, 0x20, 0x5f, 0x0b, 0x0c, 0x35, 0x89, 0x7e, 0x34, 0xd9, 0x22,
- 0x2f, 0xe0, 0xc4, 0x87, 0x30, 0x9f, 0xca, 0xaf, 0x14, 0x31, 0xc9, 0x44,
- 0x9f, 0x9d, 0xe6, 0x9e, 0xfc, 0xf0, 0x43, 0xd2, 0xae, 0x09, 0xb8, 0xdd,
- 0x96, 0x94, 0x01, 0x9a, 0x75, 0x5a, 0xfa, 0xdd, 0x0d, 0x00, 0xf9, 0xbc,
- 0xe7, 0x8c, 0x4a, 0x00, 0xe0, 0xdf, 0xd0, 0x26, 0x2f, 0x36, 0xa5, 0xb1,
- 0xff, 0x6e, 0x14, 0xa1, 0x8d, 0x30, 0xbb, 0x8b, 0xb3, 0x73, 0xb9, 0x9a,
- 0xc1, 0x49, 0x04, 0x8c, 0xc2, 0x79, 0x8d, 0x36, 0xb6, 0x2e, 0xb4, 0x15,
- 0x64, 0x4f, 0xb6, 0x27, 0xcc, 0xd5, 0x8e, 0xad, 0x6f, 0xc8, 0x0d, 0x8c,
- 0x0b, 0xe1, 0xc1, 0xba, 0x85, 0x9c, 0x90, 0x8a, 0x91, 0xe1, 0xd2, 0x67,
- 0x7a, 0x63, 0x82, 0x3a, 0x4d, 0xaa, 0x4c, 0xbc, 0x0d, 0xa2, 0x40, 0xc5,
- 0x18, 0xab, 0x28, 0x91, 0x7c, 0xc6, 0x30, 0xcd, 0x21, 0x56, 0x38, 0xf5,
- 0x4e, 0x8c, 0x23, 0x04, 0xea, 0xac, 0x19, 0xa3, 0x37, 0xc3, 0x42, 0xc9,
- 0x25, 0x69, 0x50, 0x94, 0x95, 0x09, 0x42, 0x93, 0x92, 0x83, 0x89, 0x52,
- 0xcd, 0x8e, 0xef, 0x9b, 0x3f, 0xe9, 0xb9, 0x1d, 0xb6, 0xc3, 0x16, 0xb4,
- 0x0b, 0x62, 0x91, 0x2a, 0x15, 0x26, 0x58, 0x18, 0x22, 0x9f, 0xa3, 0x14,
- 0x37, 0xad, 0x8f, 0x41, 0x1e, 0x3d, 0x8d, 0x65, 0xb2, 0x46, 0x8d, 0xe4,
- 0x48, 0x2e, 0x56, 0x1b, 0xb0, 0x20, 0xba, 0x23, 0xcb, 0x09, 0xdc, 0x24,
- 0x66, 0x2c, 0x73, 0x0a, 0x6c, 0x86, 0x81, 0x31, 0x4a, 0x07, 0x78, 0xac,
- 0x5e, 0x85, 0x0a, 0x70, 0xc1, 0x0d, 0xe1, 0xf1, 0xf6, 0x27, 0x4c, 0x7d,
- 0xdb, 0x36, 0x0f, 0x57, 0x00, 0xea, 0x42, 0x08, 0x4d, 0x59, 0xa0, 0xdd,
- 0xa3, 0xe5, 0x07, 0x78, 0x90, 0xf5, 0x6a, 0xfe, 0x7d, 0xfe, 0xfe, 0x72,
- 0xdb, 0x15, 0x3e, 0x96, 0xdd, 0xea, 0xa3, 0x5b, 0x25, 0xf1, 0x25, 0x2c,
- 0xe6, 0xc5, 0x89, 0xa6, 0x22, 0xa7, 0x04, 0xe1, 0x26, 0x07, 0x83, 0x9c,
- 0x2c, 0x4f, 0x76, 0xf7, 0x8c, 0x25, 0xb5, 0xbb, 0x8f, 0x0a, 0x88, 0x4f,
- 0x76, 0x9f, 0xd8, 0xd4, 0x3c, 0x7d, 0x2a, 0xb8, 0x16, 0x68, 0x63, 0xd3,
- 0x9b, 0x5c, 0x83, 0x4f, 0x30, 0xbd, 0x4f, 0x3e, 0x7d, 0xc2, 0xaf, 0xda,
- 0xc0, 0xcc, 0x81, 0xcd, 0x67, 0xb0, 0x5d, 0x8d, 0xdf, 0xfc, 0xde, 0x8c,
- 0x23, 0x00, 0xb3, 0x2c, 0x38, 0x77, 0x08, 0x35, 0x26, 0x29, 0x97, 0x75,
- 0xb8, 0xaa, 0x50, 0x4a, 0xd3, 0xa5, 0xec, 0xf0, 0x2b, 0xa5, 0x98, 0xbd,
- 0xd2, 0x4a, 0x82, 0xd6, 0xc4, 0xd8, 0x50, 0x38, 0xe3, 0x31, 0x81, 0x4a,
- 0x1b, 0x85, 0xe1, 0xc9, 0xee, 0x27, 0x5f, 0x31, 0x6e, 0x6d, 0x09, 0x73,
- 0xd9, 0x89, 0x48, 0x52, 0x14, 0x6e, 0xe8, 0x88, 0x20, 0xf9, 0x77, 0x40,
- 0xf1, 0x7c, 0x73, 0x28, 0x30, 0xc3, 0xfa, 0xd7, 0x7d, 0x89, 0xe9, 0xf3,
- 0xbf, 0x9e, 0xb4, 0xef, 0xca, 0xeb, 0xbc, 0x18, 0x68, 0x9b, 0x2f, 0xe5,
- 0x2f, 0x81, 0xbf, 0x12, 0xa5, 0xef, 0x48, 0x39, 0x06, 0x59, 0xf9, 0xb6,
- 0x75, 0xa1, 0xc0, 0xe8, 0xa3, 0x26, 0x6c, 0xb7, 0x44, 0x4d, 0x91, 0x9a,
- 0xa2, 0x22, 0xa2, 0xd7, 0x0a, 0x8f, 0xe1, 0xea, 0x8a, 0x16, 0x8e, 0x61,
- 0x84, 0x3f, 0x62, 0xbf, 0xe2, 0xc7, 0xc3, 0x6d, 0xc5, 0x42, 0x55, 0x8d,
- 0xa3, 0xe1, 0x3b, 0xb9, 0x1e, 0xb8, 0xbc, 0x3d, 0xcb, 0x51, 0xe9, 0x63,
- 0xa7, 0x37, 0xc9, 0x61, 0x83, 0x0a, 0x85, 0x92, 0x63, 0x13, 0x98, 0xa9,
- 0x34, 0x15, 0x7d, 0xb6, 0x53, 0xb9, 0xf6, 0x27, 0xb1, 0xb7, 0x2b, 0x20,
- 0xae, 0x35, 0x17, 0xec, 0xb2, 0x06, 0xf9, 0xa0, 0x44, 0xd4, 0x23, 0x77,
- 0x1a, 0x47, 0xd3, 0xc3, 0x79, 0x34, 0xe7, 0x90, 0xae, 0x56, 0xd2, 0xfb,
- 0xa5, 0x3c, 0xe1, 0xd3, 0x3e, 0xfe, 0xf6, 0x6c, 0xf7, 0xc5, 0xbe, 0xb8,
- 0x07, 0x4f, 0x8e, 0x2f, 0xdf, 0x74, 0x1d, 0x7a, 0x95, 0xd9, 0x4f, 0xfc,
- 0x5f, 0xaa, 0xd7, 0x7e, 0x63, 0x0c, 0x0c, 0xca, 0xe0, 0x1f, 0x10, 0x05,
- 0xf4, 0x60, 0x77, 0x37, 0x16, 0x60, 0xff, 0x1d, 0x53, 0x16, 0x9f, 0x3c,
- 0x6d, 0xc7, 0x5e, 0x48, 0xad, 0x1f, 0xd0, 0x7c, 0xaf, 0x26, 0x9a, 0xe3,
- 0xfd, 0xe5, 0x7c, 0x74, 0xa9, 0xf2, 0x52, 0x6a, 0xa4, 0xda, 0x0b, 0xac,
- 0x46, 0xd0, 0x11, 0xb1, 0xea, 0x03, 0x1d, 0xb7, 0xba, 0x80, 0x48, 0xb6,
- 0xd8, 0x8e, 0x68, 0xee, 0xb7, 0xd9, 0x77, 0x9d, 0x26, 0x52, 0x8c, 0x12,
- 0x42, 0x5e, 0xac, 0x88, 0x68, 0xce, 0x5d, 0x2d, 0x19, 0x07, 0x55, 0x46,
- 0x44, 0x20, 0xac, 0xf8, 0x49, 0x11, 0x87, 0x87, 0xc9, 0x4c, 0x30, 0x05,
- 0xd5, 0x64, 0x21, 0xf9, 0x27, 0xfc, 0x6f, 0xba, 0x8a, 0x5b, 0x40, 0xc7,
- 0xfd, 0x67, 0x91, 0x89, 0xc3, 0x85, 0xfd, 0x0b, 0x26, 0xae, 0x3d, 0x6f,
- 0x4e, 0x3d, 0x62, 0x37, 0x1e, 0x8c, 0x5e, 0x89, 0x16, 0x84, 0x24, 0x13,
- 0xb5, 0x56, 0x1a, 0xfc, 0xc5, 0x63, 0xa1, 0xe9, 0x1e, 0xae, 0x23, 0x45,
- 0x72, 0x6f, 0x3d, 0x30, 0x96, 0x91, 0x05, 0xbc, 0xb4, 0x47, 0xd2, 0x77,
- 0xc4, 0xdc, 0x74, 0x7f, 0xcc, 0xa5, 0xcc, 0x08, 0xfc, 0x0d, 0x88, 0x3c,
- 0x75, 0x93, 0x95, 0xb3, 0x45, 0x86, 0xa1, 0xfb, 0x01, 0x66, 0x6f, 0x73,
- 0x5b, 0x3b, 0x95, 0xb2, 0x0c, 0x35, 0x91, 0xc2, 0xdc, 0xa3, 0xf9, 0x82,
- 0x88, 0x02, 0xeb, 0xa8, 0xaf, 0xa5, 0x5d, 0x50, 0x18, 0x73, 0xa9, 0x7e,
- 0xd9, 0xbe, 0xdc, 0x64, 0xf2, 0xbe, 0xce, 0xb1, 0x85, 0xef, 0x84, 0xf9,
- 0x74, 0x64, 0xb2, 0xa3, 0x09, 0xbb, 0x54, 0xa5, 0x4b, 0xca, 0xe3, 0xb6,
- 0xcb, 0xb8, 0x02, 0xe0, 0xf7, 0xa2, 0xf0, 0xd8, 0x97, 0x18, 0x9a, 0xa6,
- 0xa4, 0x32, 0x5b, 0xdf, 0x5d, 0xbc, 0xf9, 0x8b, 0x4d, 0xe5, 0xdd, 0xee,
- 0xc7, 0xad, 0x61, 0xed, 0xaf, 0x17, 0x42, 0x72, 0xa0, 0x2d, 0x49, 0x20,
- 0x6d, 0x4d, 0xbc, 0xfb, 0x47, 0x88, 0xef, 0x65, 0xae, 0xbd, 0x64, 0x8b,
- 0xca, 0xbd, 0x9a, 0xa7, 0x46, 0x62, 0xd4, 0x3d, 0x19, 0x3e, 0x83, 0x57,
- 0xe4, 0xcd, 0xd1, 0xb3, 0x27, 0xfb, 0x7b, 0xc6, 0x6e, 0xdd, 0xea, 0x48,
- 0x8b, 0xed, 0x07, 0x87, 0xd9, 0x5e, 0xef, 0xec, 0xd3, 0x82, 0xf6, 0xde,
- 0xd6, 0xf1, 0x0f, 0xe7, 0xef, 0xbc, 0x01, 0xda, 0x15, 0x08, 0x72, 0x2b,
- 0xfd, 0x11, 0x72, 0x62, 0x93, 0x1d, 0xa3, 0xbb, 0x6d, 0x83, 0x2d, 0x25,
- 0x15, 0x14, 0x03, 0xc4, 0x78, 0xef, 0x4d, 0x95, 0x93, 0x9e, 0xdb, 0xa3,
- 0xf9, 0xe8, 0x9d, 0x96, 0xc5, 0xd4, 0xdc, 0xfe, 0x67, 0xc4, 0x1c, 0x93,
- 0xf5, 0x8c, 0x1a, 0xfb, 0xe0, 0xe8, 0x56, 0x1f, 0x93, 0xb7, 0x7d, 0x1c,
- 0x95, 0x22, 0x84, 0x22, 0xbc, 0xc5, 0x0f, 0xc1, 0xd7, 0x47, 0x79, 0xd1,
- 0x9c, 0x6f, 0xb2, 0x24, 0x3b, 0x87, 0x5c, 0xbc, 0x64, 0x9c, 0xb5, 0x4f,
- 0xdb, 0x27, 0x14, 0xbf, 0x82, 0xd7, 0xe7, 0x25, 0x9c, 0xda, 0xab, 0xe2,
- 0x21, 0x3c, 0x72, 0x8e, 0x86, 0xe0, 0xf1, 0x2d, 0x75, 0xec, 0x6f, 0x7b,
- 0x15, 0x46, 0xa1, 0xc1, 0x6b, 0xb8, 0x03, 0xaa, 0x7a, 0xac, 0x1c, 0x05,
- 0x1e, 0x75, 0x66, 0x45, 0xde, 0x06, 0x2f, 0xe3, 0x28, 0x22, 0x91, 0xb4,
- 0xdf, 0x26, 0xd5, 0x89, 0xf8, 0xc1, 0x11, 0xea, 0x45, 0xf5, 0x97, 0xb4,
- 0x68, 0x13, 0x90, 0xa1, 0xee, 0x3b, 0x6c, 0xa0, 0xec, 0x13, 0x4a, 0x7a,
- 0x19, 0x25, 0xf1, 0xf9, 0x93, 0xf0, 0x3e, 0xe2, 0xc1, 0x88, 0x6e, 0x57,
- 0xf9, 0x2a, 0x00, 0xdf, 0xd0, 0xa2, 0xf6, 0xf6, 0xbd, 0x40, 0x04, 0xc5,
- 0x21, 0x60, 0x48, 0x6d, 0x7e, 0xbb, 0x19, 0x8d, 0xc0, 0x71, 0x60, 0x82,
- 0xc7, 0x2a, 0x7e, 0x1d, 0x3a, 0x23, 0x08, 0x4e, 0x48, 0xb4, 0x01, 0xd1,
- 0x08, 0x6e, 0xe4, 0xed, 0x66, 0x62, 0x03, 0x12, 0x5d, 0x7b, 0xff, 0xc1,
- 0xf0, 0x44, 0xde, 0xc4, 0xe3, 0x11, 0x1c, 0x90, 0xe8, 0x1a, 0xa1, 0x36,
- 0x3c, 0xd1, 0xda, 0x7c, 0xcf, 0x3e, 0x8f, 0x6c, 0xbe, 0x77, 0x67, 0x97,
- 0xc7, 0x07, 0x82, 0x9f, 0x75, 0x89, 0xf4, 0x6a, 0x2b, 0x30, 0x86, 0x88,
- 0x6b, 0x8b, 0x72, 0x46, 0x09, 0x98, 0xc4, 0x78, 0xdd, 0xfb, 0x91, 0x23,
- 0x0f, 0x30, 0x2f, 0x9d, 0x12, 0xf6, 0xf6, 0x36, 0x1d, 0x98, 0x89, 0xa3,
- 0x6d, 0x43, 0x8a, 0xa0, 0xd8, 0x06, 0x1c, 0x98, 0x8c, 0x95, 0x4d, 0xe7,
- 0xd2, 0x22, 0x64, 0x43, 0x52, 0x3a, 0xab, 0x5c, 0xb9, 0xc1, 0x26, 0xe2,
- 0xbb, 0x0c, 0x36, 0x97, 0x26, 0x09, 0x52, 0x75, 0xaf, 0xb0, 0x24, 0x15,
- 0xa2, 0x74, 0x6f, 0xa4, 0xb0, 0x29, 0x2c, 0x12, 0x4b, 0xfe, 0xb4, 0xee,
- 0x8a, 0x73, 0xc1, 0xc4, 0xee, 0xa1, 0x12, 0xf3, 0x8c, 0xfc, 0x80, 0x2b,
- 0x88, 0x03, 0xc8, 0x11, 0x68, 0xa3, 0x8b, 0xba, 0x49, 0x48, 0xd5, 0x50,
- 0x3b, 0x8d, 0xcc, 0x4a, 0x6b, 0xa3, 0xd4, 0x52, 0xeb, 0x36, 0x0c, 0x61,
- 0xf3, 0x85, 0xd3, 0x71, 0x54, 0x39, 0x93, 0x5b, 0x15, 0x36, 0x60, 0x2c,
- 0x68, 0x6e, 0x25, 0x64, 0x09, 0x75, 0x21, 0xce, 0x0f, 0xe6, 0xe7, 0x26,
- 0x42, 0xdb, 0xec, 0x11, 0xa1, 0xd3, 0xb8, 0x5e, 0x56, 0xd3, 0xe5, 0xdc,
- 0x08, 0x2e, 0x1f, 0x2f, 0x0e, 0xc5, 0x0f, 0x36, 0x2d, 0xa7, 0x4b, 0x47,
- 0x62, 0x05, 0xcf, 0x76, 0x5b, 0xad, 0x0d, 0x31, 0xf2, 0x4e, 0xc4, 0x7b,
- 0xb0, 0x67, 0x93, 0xf8, 0x73, 0xa4, 0xc6, 0x09, 0xd1, 0xc8, 0xef, 0x17,
- 0x6c, 0x9a, 0xf7, 0x65, 0xa5, 0x18, 0x76, 0x46, 0xff, 0xfd, 0x32, 0x10,
- 0xa5, 0x1a, 0xfb, 0xa5, 0x47, 0x10, 0x9f, 0x10, 0x44, 0x11, 0x6b, 0x4b,
- 0xe4, 0x52, 0x63, 0x37, 0x20, 0x7d, 0xf0, 0xee, 0xa6, 0x9c, 0xf9, 0x41,
- 0xf0, 0xb0, 0x74, 0x2b, 0xe5, 0x28, 0x39, 0x76, 0x79, 0x2f, 0x3b, 0x44,
- 0x16, 0x86, 0xe6, 0x1d, 0x5e, 0xb7, 0x31, 0x65, 0xfe, 0x25, 0x7f, 0x2d,
- 0xc7, 0x82, 0x41, 0xa4, 0x1c, 0xa7, 0xeb, 0x28, 0x0f, 0x00, 0x68, 0xcf,
- 0xcc, 0x75, 0x65, 0xb6, 0xda, 0x74, 0xc9, 0xfe, 0x55, 0xea, 0x8f, 0xe0,
- 0x66, 0xb9, 0x1a, 0x21, 0x45, 0x3e, 0x92, 0xeb, 0x92, 0x2b, 0x12, 0x92,
- 0xc3, 0x86, 0x69, 0x54, 0xc3, 0x5c, 0xb6, 0xfd, 0x6e, 0xae, 0x77, 0x3a,
- 0x21, 0xa7, 0x88, 0x69, 0x5a, 0xf2, 0x2a, 0x99, 0x08, 0xc6, 0x81, 0x8b,
- 0xd3, 0x49, 0xb3, 0x94, 0x59, 0xef, 0xf6, 0xae, 0x54, 0x3f, 0xa9, 0x79,
- 0x17, 0x14, 0xa5, 0x20, 0x05, 0x9b, 0x98, 0xad, 0x97, 0x4e, 0xee, 0x55,
- 0x5f, 0x70, 0x97, 0xab, 0xf0, 0x0c, 0x39, 0x42, 0xd3, 0x60, 0xb0, 0xb6,
- 0x13, 0x14, 0xf4, 0xcc, 0xeb, 0x5f, 0xcf, 0x27, 0xfe, 0x78, 0x53, 0xc5,
- 0xaf, 0x0a, 0xc1, 0x9e, 0x67, 0xe5, 0x43, 0x6a, 0x9d, 0xf6, 0xac, 0x49,
- 0x69, 0x8e, 0x1f, 0x48, 0xe1, 0x6d, 0x39, 0x05, 0x38, 0x36, 0x08, 0x06,
- 0x69, 0x4a, 0x86, 0x40, 0x30, 0x5c, 0x11, 0x0f, 0xc4, 0xcc, 0x14, 0xaa,
- 0x12, 0x6f, 0xe5, 0x2b, 0x8a, 0x88, 0xd8, 0x82, 0xc4, 0xb2, 0xf9, 0x26,
- 0x6c, 0x6c, 0x3e, 0x4d, 0xb6, 0x60, 0x03, 0x7e, 0xfe, 0xec, 0xe9, 0x76,
- 0x1b, 0x31, 0xb6, 0x1d, 0x01, 0xee, 0xe2, 0xb4, 0x2d, 0x6b, 0x9b, 0xca,
- 0x32, 0xcf, 0xa9, 0x52, 0x13, 0x47, 0xe6, 0xc4, 0xb9, 0x99, 0x73, 0x61,
- 0x07, 0x72, 0xb3, 0xa3, 0x3a, 0x8a, 0x84, 0x40, 0x03, 0x18, 0x01, 0x4a,
- 0xf7, 0x65, 0xfc, 0xba, 0x2d, 0x9a, 0x6d, 0x05, 0xb8, 0x4b, 0xe3, 0x60,
- 0xda, 0x59, 0x28, 0x6a, 0xca, 0x3c, 0xbb, 0x4d, 0x58, 0xc9, 0xd8, 0x25,
- 0x8a, 0x99, 0x87, 0xa6, 0x2a, 0x4a, 0x0c, 0xd5, 0x07, 0x2d, 0xbd, 0x7b,
- 0x41, 0x5c, 0x23, 0xcc, 0x35, 0x2e, 0x37, 0x4f, 0x12, 0x63, 0x50, 0x34,
- 0x17, 0x22, 0x2e, 0x47, 0xdc, 0x65, 0x76, 0x22, 0xd1, 0x06, 0x33, 0x72,
- 0xd1, 0x56, 0xd1, 0x16, 0x04, 0x28, 0x25, 0xeb, 0x82, 0x1b, 0x32, 0xb8,
- 0x93, 0xe7, 0x5a, 0xbf, 0x80, 0xb5, 0x8f, 0xb2, 0x72, 0x75, 0xe3, 0x5d,
- 0x81, 0x62, 0xc1, 0x76, 0xae, 0x4a, 0xdb, 0x57, 0x57, 0x48, 0xaa, 0xe9,
- 0xc5, 0xad, 0x8e, 0xad, 0xcc, 0x45, 0xd0, 0xdd, 0xa6, 0x89, 0xfc, 0xdd,
- 0x14, 0x04, 0xfd, 0xbb, 0xdd, 0x95, 0x61, 0xf6, 0x11, 0x7f, 0xb5, 0x33,
- 0x0f, 0x2b, 0x7a, 0x0f, 0x63, 0x8a, 0x59, 0x77, 0xe0, 0x48, 0x19, 0x84,
- 0xec, 0x21, 0xc9, 0x16, 0x3a, 0xbc, 0xb3, 0xb3, 0xfd, 0x70, 0xa7, 0xe5,
- 0xc9, 0x87, 0x3a, 0x79, 0xce, 0xde, 0x0d, 0xe6, 0x3a, 0xb6, 0x54, 0x36,
- 0xae, 0x17, 0xf4, 0x55, 0x5a, 0x32, 0x26, 0x24, 0x66, 0x08, 0x68, 0x25,
- 0xba, 0x09, 0xe5, 0x93, 0x86, 0x77, 0x90, 0xc0, 0xd3, 0x30, 0xbc, 0xf6,
- 0xc8, 0xc5, 0xea, 0x65, 0x2a, 0x20, 0x11, 0x20, 0xc0, 0x47, 0x81, 0x9c,
- 0x25, 0x39, 0x34, 0xbb, 0x30, 0x54, 0x39, 0x5b, 0xc5, 0x70, 0xbd, 0xf1,
- 0xb1, 0xa5, 0xeb, 0x27, 0xb6, 0xe1, 0x68, 0xb4, 0xfc, 0xf2, 0x11, 0x1c,
- 0xbb, 0x3c, 0xaa, 0xc2, 0x48, 0x2a, 0x7b, 0x86, 0x44, 0x7d, 0xfc, 0xa0,
- 0x57, 0x9f, 0x35, 0x92, 0x93, 0x8c, 0xe3, 0xe0, 0xdc, 0x84, 0xdc, 0xa6,
- 0x91, 0xa9, 0x1f, 0xdd, 0xb8, 0x99, 0x28, 0x8f, 0x8b, 0x88, 0x5e, 0xb5,
- 0xb8, 0x9f, 0xd2, 0x2a, 0x74, 0xbd, 0xa3, 0x6f, 0x76, 0x7f, 0x73, 0xa5,
- 0x5c, 0xe4, 0xf1, 0x8f, 0xf9, 0xa7, 0xad, 0xe9, 0xec, 0xf3, 0x31, 0x45,
- 0x06, 0x7d, 0x4c, 0x5d, 0x47, 0x5d, 0x9f, 0x30, 0x4f, 0xd7, 0x4d, 0xa0,
- 0xcb, 0x53, 0xf6, 0x12, 0x91, 0x1f, 0x00, 0xe3, 0x75, 0x9d, 0x13, 0xe2,
- 0x6d, 0xd3, 0x46, 0xdb, 0xee, 0x86, 0xcf, 0xda, 0xee, 0x06, 0x9b, 0x73,
- 0x1c, 0x57, 0xd2, 0x18, 0x84, 0x59, 0x27, 0xef, 0xf4, 0xb1, 0x64, 0x6b,
- 0x74, 0xfe, 0xee, 0xf8, 0xeb, 0xb3, 0xed, 0x87, 0xdc, 0x94, 0xbe, 0xfc,
- 0xb7, 0x83, 0x02, 0x2a, 0xaf, 0x22, 0x54, 0x1f, 0xf7, 0x1d, 0xe6, 0xc9,
- 0xd7, 0xa3, 0xd1, 0xe0, 0xf0, 0xfc, 0x04, 0xb6, 0xc0, 0x68, 0x64, 0xfe,
- 0xb2, 0x8a, 0x24, 0x74, 0x28, 0x1c, 0xb5, 0x83, 0xef, 0xa0, 0xeb, 0xa9,
- 0xec, 0x87, 0xc9, 0x45, 0x9e, 0x40, 0xec, 0x46, 0xc6, 0xe5, 0xa1, 0xe2,
- 0x90, 0xa6, 0x6d, 0xd3, 0x07, 0xba, 0x56, 0xcf, 0xf9, 0xc9, 0x0e, 0xbe,
- 0x45, 0xa8, 0x59, 0x0c, 0x28, 0xee, 0x41, 0x58, 0x86, 0x15, 0x98, 0x48,
- 0xeb, 0x01, 0xd2, 0x14, 0x02, 0x5a, 0x71, 0xbb, 0xc6, 0xfc, 0xa3, 0xeb,
- 0x84, 0x82, 0x76, 0x12, 0xb5, 0x5b, 0x91, 0x26, 0x01, 0xc2, 0x0a, 0x42,
- 0xc2, 0xa7, 0x4d, 0x16, 0x73, 0xc0, 0xc1, 0x4e, 0x63, 0x6a, 0x1d, 0x2a,
- 0xa8, 0x3b, 0x12, 0x93, 0xab, 0xeb, 0x17, 0xd9, 0x1c, 0x2c, 0x93, 0x83,
- 0x4d, 0x00, 0x75, 0x8a, 0x72, 0x79, 0x7d, 0x13, 0xba, 0x20, 0xa4, 0x98,
- 0x82, 0xc6, 0x5f, 0x45, 0x93, 0xc2, 0x7e, 0x32, 0xbd, 0x0c, 0xb6, 0x20,
- 0x5e, 0x54, 0xbd, 0xa7, 0xca, 0x28, 0x42, 0xc4, 0xea, 0x0d, 0x03, 0x80,
- 0xa6, 0xff, 0x14, 0x6a, 0xce, 0x35, 0x1a, 0xc8, 0x98, 0xa3, 0xa7, 0xf0,
- 0xa4, 0x15, 0xcd, 0x6c, 0x2e, 0x7f, 0x4d, 0x8b, 0x7b, 0x78, 0x4c, 0xc5,
- 0x85, 0x8f, 0x5c, 0x3d, 0xbb, 0xa7, 0xdb, 0x1b, 0xbd, 0xa9, 0x26, 0x5c,
- 0xe8, 0xfa, 0xa5, 0x96, 0xd6, 0x5e, 0x97, 0x64, 0x81, 0x02, 0xab, 0x5a,
- 0xaa, 0x3e, 0x19, 0x14, 0x7d, 0x6d, 0xa3, 0x6f, 0x2c, 0x62, 0x89, 0x95,
- 0xa5, 0x8d, 0x60, 0xda, 0x64, 0x17, 0xc4, 0x44, 0x11, 0x97, 0x83, 0xda,
- 0x32, 0xe6, 0x43, 0x39, 0x5b, 0x36, 0x12, 0x80, 0x24, 0xdf, 0x28, 0x25,
- 0x43, 0x6c, 0x5b, 0x30, 0x11, 0x9a, 0x76, 0x40, 0xd4, 0xe4, 0x28, 0xc4,
- 0x6c, 0xbb, 0x0a, 0x5a, 0x43, 0x17, 0x6b, 0xe1, 0x60, 0xa2, 0xb8, 0x28,
- 0x68, 0x62, 0xbd, 0x86, 0x16, 0x40, 0x27, 0xdd, 0x96, 0xf1, 0x3a, 0xae,
- 0xb4, 0x7e, 0xba, 0x4e, 0xad, 0xe9, 0x51, 0x1f, 0x3b, 0x49, 0x6e, 0xbf,
- 0x6a, 0x5f, 0x47, 0x6d, 0x8c, 0x33, 0xbf, 0x84, 0xdb, 0x44, 0xf1, 0x02,
- 0x63, 0x3a, 0x26, 0xe3, 0x7b, 0xfb, 0x2d, 0xfe, 0x4c, 0x0a, 0x44, 0x8f,
- 0x55, 0x84, 0x1f, 0x4b, 0x9c, 0xe1, 0x96, 0x63, 0xb8, 0x0e, 0x91, 0xd2,
- 0xfe, 0x52, 0xa7, 0xe9, 0xef, 0x32, 0xa0, 0xcf, 0xe2, 0x6b, 0xcc, 0x2a,
- 0xbe, 0xc7, 0x96, 0x21, 0x60, 0x48, 0xac, 0xe9, 0x10, 0x0f, 0x05, 0x1b,
- 0x98, 0xa2, 0xe9, 0x76, 0x54, 0xaa, 0x1e, 0x91, 0xcb, 0x2d, 0xe5, 0x82,
- 0x4f, 0x7c, 0x42, 0xbd, 0xcf, 0xd8, 0xb4, 0x8d, 0x72, 0x7d, 0x4d, 0x36,
- 0xb7, 0x38, 0xc3, 0x47, 0x4c, 0x88, 0x1b, 0xbf, 0xfb, 0x61, 0x60, 0xd9,
- 0x61, 0x30, 0x4c, 0xbd, 0x51, 0x23, 0x98, 0xe4, 0x0d, 0xcc, 0x6c, 0xd7,
- 0x0f, 0xf2, 0x17, 0xf3, 0x91, 0xef, 0xf3, 0xc2, 0xe8, 0x86, 0xf5, 0xb6,
- 0xaf, 0x28, 0x85, 0x67, 0xb7, 0xda, 0xa4, 0xa2, 0x63, 0x46, 0xec, 0x38,
- 0xbc, 0x1e, 0x69, 0xce, 0x1c, 0xb5, 0x51, 0x2f, 0x68, 0xe2, 0xa2, 0xca,
- 0xb6, 0xf4, 0xd6, 0xfd, 0x22, 0xc8, 0x75, 0xe0, 0xf4, 0x2f, 0x16, 0x25,
- 0x57, 0x92, 0x9c, 0x6f, 0x3a, 0x42, 0x85, 0x54, 0x5c, 0x98, 0x1f, 0x57,
- 0x07, 0x93, 0x15, 0x38, 0xaf, 0x57, 0x56, 0x44, 0xea, 0xc9, 0x42, 0xb2,
- 0x75, 0xc3, 0x58, 0x34, 0xbb, 0x18, 0xe3, 0xd6, 0x33, 0x33, 0xb2, 0x66,
- 0xb1, 0xb5, 0xb7, 0xcd, 0xec, 0xaa, 0x52, 0xd1, 0xd3, 0x2b, 0xbb, 0x15,
- 0x3a, 0x72, 0x08, 0x62, 0x98, 0xe0, 0x88, 0xaa, 0xc3, 0x0b, 0x40, 0x7f,
- 0x54, 0xce, 0x22, 0xbf, 0x2e, 0xb4, 0x8a, 0xb4, 0x11, 0x65, 0x41, 0x10,
- 0x8b, 0x9a, 0xce, 0xd6, 0xf5, 0x2c, 0x03, 0xfa, 0xb3, 0x20, 0x5e, 0x38,
- 0x64, 0xa1, 0x51, 0xe8, 0xc5, 0x7a, 0xc5, 0xa5, 0x4c, 0x85, 0xa4, 0xa9,
- 0x9a, 0x99, 0x9b, 0x4d, 0x07, 0x24, 0x40, 0xae, 0xab, 0xd2, 0x5c, 0x91,
- 0x55, 0x84, 0x3d, 0x4b, 0x4c, 0x0a, 0xa8, 0xfa, 0x59, 0x71, 0x9b, 0x57,
- 0x65, 0x01, 0x86, 0xb2, 0xdb, 0xb4, 0xca, 0x11, 0xee, 0xef, 0x7d, 0x73,
- 0xf6, 0xf6, 0xb8, 0xe7, 0xbb, 0x45, 0xae, 0x72, 0xf1, 0xa5, 0xdf, 0x84,
- 0xe4, 0x9e, 0x76, 0x35, 0x23, 0x7e, 0x43, 0x73, 0xa7, 0x1b, 0x25, 0x87,
- 0x96, 0xf5, 0x56, 0x4e, 0x12, 0xa9, 0xf5, 0x5e, 0xa1, 0x72, 0xc2, 0x01,
- 0xc8, 0xe5, 0x4c, 0x60, 0x25, 0xb2, 0xf1, 0x74, 0x83, 0x85, 0x48, 0x1c,
- 0xf8, 0x11, 0xac, 0x81, 0x08, 0x76, 0xf6, 0xd2, 0x2f, 0x40, 0x93, 0x78,
- 0x45, 0x6a, 0x48, 0xd3, 0xe7, 0x0d, 0xb0, 0xaa, 0x06, 0xe9, 0xe6, 0xfc,
- 0x9e, 0x0c, 0x9b, 0xcd, 0x76, 0x31, 0xd2, 0xcd, 0x9a, 0x8c, 0xf1, 0x66,
- 0x53, 0xa7, 0x17, 0xa8, 0x51, 0x27, 0x01, 0xc2, 0x9a, 0x80, 0x2b, 0x3e,
- 0xcd, 0xbb, 0x9a, 0x3f, 0xe1, 0x5a, 0xe7, 0xc6, 0xdd, 0xe9, 0x3b, 0xe0,
- 0xd3, 0x17, 0x54, 0x97, 0x0e, 0xb9, 0x4a, 0x52, 0x97, 0xcc, 0xd3, 0xae,
- 0x28, 0xd8, 0x46, 0x14, 0x10, 0xf7, 0x71, 0xe8, 0x58, 0x34, 0x9f, 0x2f,
- 0x27, 0xc2, 0x1a, 0xe3, 0x62, 0xab, 0x82, 0xa9, 0x14, 0xea, 0x01, 0xbe,
- 0xa5, 0x78, 0x29, 0x0a, 0xef, 0x7e, 0xa6, 0x26, 0x57, 0xd0, 0x95, 0xf5,
- 0x99, 0x93, 0x4e, 0x39, 0x9b, 0x72, 0xa3, 0x1c, 0xdc, 0x15, 0x89, 0x03,
- 0x58, 0xea, 0xa7, 0xfa, 0xe2, 0x84, 0x51, 0x37, 0x71, 0xa0, 0x8c, 0xb2,
- 0x31, 0xec, 0x40, 0x29, 0x76, 0xc9, 0x98, 0xc6, 0x8f, 0x89, 0xe0, 0x2c,
- 0xc3, 0x8f, 0x92, 0xe1, 0x85, 0x4a, 0xf2, 0x41, 0x3f, 0x91, 0xf9, 0xd4,
- 0x43, 0x47, 0x61, 0xe8, 0x86, 0x31, 0x3a, 0x6c, 0xd9, 0xd8, 0x9b, 0xab,
- 0x98, 0xf2, 0xc5, 0x48, 0xdc, 0xd8, 0xc2, 0xd4, 0x19, 0x33, 0xb1, 0xf5,
- 0x48, 0x9a, 0xc1, 0x09, 0xc7, 0x6f, 0xbd, 0xac, 0x6e, 0x91, 0xa4, 0x28,
- 0xb5, 0x21, 0x98, 0x5d, 0xc3, 0xae, 0xc9, 0x4a, 0xcc, 0x04, 0xab, 0x55,
- 0x7e, 0x17, 0x09, 0xc5, 0x59, 0x2d, 0xa5, 0xb6, 0xc0, 0xd7, 0xd2, 0x0f,
- 0xe9, 0x9f, 0x1a, 0x3c, 0x96, 0xb2, 0x22, 0x00, 0xec, 0x97, 0x35, 0xa8,
- 0xf7, 0x9a, 0x2a, 0x9d, 0xb8, 0xbf, 0x0c, 0xd2, 0x7a, 0x92, 0xe7, 0x5a,
- 0x6d, 0x80, 0xe2, 0x84, 0x19, 0x41, 0x63, 0xa3, 0x84, 0x26, 0xd6, 0x6b,
- 0xaf, 0x24, 0xdf, 0x53, 0x26, 0x9a, 0x16, 0xec, 0x09, 0x97, 0x62, 0x06,
- 0x92, 0x25, 0x2f, 0xbc, 0x28, 0x72, 0xb4, 0x00, 0x83, 0x52, 0x9c, 0xad,
- 0xb0, 0x6f, 0x8d, 0x09, 0xbe, 0xe7, 0xdb, 0xe0, 0x3a, 0x05, 0x03, 0xaa,
- 0x0f, 0x56, 0x37, 0xb8, 0x45, 0xcd, 0x33, 0xfb, 0xc3, 0x35, 0x15, 0x96,
- 0xfd, 0x48, 0xd0, 0xf3, 0x8e, 0x85, 0xc2, 0xf4, 0x3c, 0x31, 0xfb, 0x84,
- 0xea, 0x83, 0x6a, 0x5d, 0x26, 0x5e, 0x82, 0xc3, 0xd3, 0xf3, 0x77, 0x09,
- 0x68, 0x91, 0xc0, 0xc0, 0x5a, 0xc0, 0x4f, 0x26, 0x3f, 0x86, 0xae, 0x0c,
- 0x83, 0x39, 0xc4, 0x7d, 0xda, 0x5a, 0x6d, 0x57, 0x11, 0x0b, 0x8b, 0x61,
- 0x6e, 0x05, 0x58, 0x41, 0xd4, 0x7e, 0x11, 0xed, 0x4f, 0x6d, 0x8c, 0xee,
- 0x70, 0xcc, 0xf7, 0xbc, 0xcf, 0x42, 0xd2, 0x8e, 0xef, 0x5d, 0x52, 0x12,
- 0xbf, 0xdd, 0xe5, 0x95, 0x22, 0xb4, 0x0c, 0x54, 0xd7, 0x40, 0xa8, 0x37,
- 0x99, 0xe5, 0x9e, 0x12, 0xe3, 0xce, 0x72, 0xa9, 0x89, 0x67, 0x49, 0xd0,
- 0x1a, 0x60, 0x1a, 0xd0, 0x84, 0xe6, 0xfa, 0x01, 0xd6, 0xa3, 0x62, 0x51,
- 0x04, 0xf9, 0xe7, 0x76, 0xbe, 0xa3, 0xa6, 0x68, 0x00, 0x39, 0x7e, 0x54,
- 0x92, 0x18, 0xad, 0xc7, 0x70, 0xcd, 0x12, 0xbf, 0xeb, 0xf3, 0x67, 0xc7,
- 0x4b, 0x92, 0x11, 0xdd, 0xe2, 0xf2, 0xbc, 0xbe, 0xac, 0x3b, 0xf1, 0x13,
- 0xf4, 0x3d, 0x71, 0x84, 0x31, 0xf1, 0x0d, 0x31, 0x72, 0x65, 0xe9, 0x9c,
- 0x0a, 0xf1, 0x68, 0xda, 0x00, 0xb9, 0x7f, 0x09, 0xdc, 0xd9, 0x9d, 0xca,
- 0x65, 0x2a, 0x52, 0xcb, 0x29, 0x0d, 0x9d, 0x54, 0x02, 0xfe, 0x06, 0xa0,
- 0x6c, 0xdc, 0xb8, 0xb4, 0x9e, 0xc4, 0x32, 0xc4, 0x5a, 0x62, 0x44, 0x23,
- 0x38, 0x5a, 0x9d, 0x8a, 0xd9, 0x47, 0xb9, 0x11, 0x5b, 0xa8, 0x92, 0x6a,
- 0x2b, 0xdc, 0x2c, 0x8b, 0x8f, 0xa6, 0x0b, 0x61, 0x06, 0xab, 0x02, 0x7f,
- 0x73, 0x94, 0x12, 0x4e, 0x99, 0x37, 0x57, 0xb2, 0xd1, 0xa5, 0x0c, 0xbc,
- 0x51, 0xf8, 0x6e, 0xe1, 0xcc, 0x13, 0x1e, 0xd0, 0x96, 0x0d, 0x16, 0xeb,
- 0xdd, 0xd4, 0x16, 0x2e, 0x4b, 0x1b, 0x37, 0x81, 0x51, 0x70, 0xbb, 0x5b,
- 0x69, 0xa9, 0x12, 0xca, 0x96, 0xc9, 0xb5, 0x87, 0xac, 0x62, 0x5d, 0x4e,
- 0x59, 0x7f, 0xc8, 0x49, 0x23, 0x96, 0x48, 0x20, 0x10, 0x97, 0x35, 0xe7,
- 0x84, 0xc9, 0xb2, 0x82, 0x6e, 0xc3, 0xab, 0x8d, 0x10, 0xe9, 0x49, 0x3b,
- 0x9d, 0x7a, 0xdd, 0x3e, 0x10, 0xaf, 0xad, 0x4b, 0xbd, 0x16, 0x40, 0x4a,
- 0x6d, 0x69, 0x7f, 0x51, 0xc0, 0xac, 0x55, 0x38, 0x29, 0x22, 0xb9, 0x5c,
- 0x62, 0x57, 0x56, 0xd8, 0xc6, 0xe7, 0x74, 0x52, 0x45, 0x1e, 0xfc, 0x13,
- 0x67, 0xc9, 0x8d, 0xc5, 0x9b, 0x28, 0xfb, 0xc3, 0xce, 0x24, 0x15, 0x2b,
- 0xe5, 0xa1, 0x5f, 0xa6, 0xee, 0x9d, 0x91, 0x3e, 0x24, 0x0a, 0x3d, 0x49,
- 0xf8, 0xae, 0x2b, 0x07, 0x75, 0xa4, 0x5d, 0xb7, 0xd7, 0x55, 0xf2, 0x48,
- 0x41, 0xd8, 0x96, 0x64, 0xef, 0x48, 0xee, 0x99, 0xff, 0x74, 0x9b, 0x7b,
- 0xb4, 0x0c, 0x84, 0x92, 0x62, 0x0d, 0x78, 0x65, 0xf7, 0x5b, 0xe1, 0xe1,
- 0xfa, 0xf5, 0x42, 0xd0, 0x02, 0x5a, 0xad, 0xb4, 0x8b, 0xc9, 0xc1, 0xa2,
- 0x25, 0x06, 0x15, 0x21, 0xf4, 0xfb, 0x08, 0x41, 0xfa, 0x9e, 0x74, 0x39,
- 0x9f, 0x46, 0xd3, 0xee, 0x75, 0x69, 0xa5, 0x6e, 0x99, 0x9c, 0x01, 0x5a,
- 0x0b, 0xe5, 0xfb, 0x38, 0x79, 0x6d, 0xf6, 0x18, 0xa9, 0xac, 0xe4, 0xb9,
- 0xfd, 0xea, 0x3e, 0x59, 0xb1, 0xb8, 0x00, 0x35, 0xdb, 0xf8, 0x2e, 0xec,
- 0x7c, 0xaa, 0x06, 0xed, 0x93, 0x31, 0x11, 0x3b, 0x9b, 0x57, 0xa7, 0x43,
- 0x82, 0xef, 0x42, 0x64, 0x1f, 0xf7, 0x4b, 0x90, 0x4a, 0x89, 0xd4, 0xdb,
- 0x9b, 0xa5, 0x19, 0x2d, 0xad, 0x34, 0x17, 0x34, 0xb0, 0x55, 0xe9, 0xab,
- 0x0c, 0x80, 0x45, 0xea, 0xb0, 0xd7, 0xe3, 0x80, 0x5d, 0x8c, 0x7d, 0xd9,
- 0x75, 0x66, 0x0e, 0x22, 0x67, 0x0e, 0x8d, 0xab, 0xf2, 0x63, 0xc6, 0x9b,
- 0x0e, 0x26, 0x06, 0xe8, 0x72, 0x54, 0x91, 0xe2, 0xd0, 0x63, 0x3e, 0x9b,
- 0x5a, 0x00, 0x63, 0x44, 0x9f, 0xa5, 0x22, 0x4a, 0x92, 0x67, 0xef, 0xa4,
- 0x61, 0xee, 0xd2, 0xdc, 0x95, 0x0e, 0x9a, 0x97, 0x6b, 0x42, 0xec, 0x5c,
- 0xf1, 0x93, 0x2f, 0x5b, 0xc0, 0x55, 0x8d, 0x8e, 0x1d, 0xfb, 0xd6, 0xb9,
- 0xb7, 0x70, 0xcd, 0xd5, 0x27, 0xdf, 0xae, 0xba, 0x7f, 0xf2, 0x23, 0x4b,
- 0xfa, 0xf8, 0xd2, 0x48, 0x66, 0x2f, 0xc1, 0x13, 0x96, 0xbc, 0x34, 0x9b,
- 0x8a, 0x7d, 0x62, 0x14, 0xd4, 0xea, 0xba, 0xbb, 0x50, 0xde, 0x6b, 0xa0,
- 0xa6, 0xc7, 0x94, 0x33, 0x09, 0x13, 0xb6, 0xdc, 0x48, 0x17, 0xe7, 0x34,
- 0x87, 0xa9, 0x2b, 0xbb, 0x27, 0x4c, 0xcc, 0xe0, 0x18, 0x30, 0x1b, 0x26,
- 0x3c, 0xe4, 0xce, 0x8f, 0xc3, 0x16, 0x28, 0x94, 0x70, 0x5a, 0x1d, 0x10,
- 0xad, 0xe4, 0x5e, 0xf5, 0xf4, 0x7f, 0x23, 0x50, 0xb0, 0x51, 0x6a, 0x1b,
- 0x42, 0x84, 0xf1, 0x97, 0x02, 0xb5, 0x93, 0x8b, 0xdd, 0xd8, 0xac, 0x11,
- 0x26, 0x83, 0xb0, 0x44, 0x22, 0x54, 0x70, 0xc2, 0xbf, 0x13, 0x98, 0x24,
- 0x3a, 0x39, 0x26, 0xab, 0x25, 0x62, 0x11, 0x2a, 0x6d, 0x02, 0xc6, 0x98,
- 0x0b, 0xbb, 0x2c, 0x43, 0xb7, 0xc4, 0xbc, 0x4e, 0x15, 0x96, 0xa5, 0x84,
- 0x84, 0x96, 0xdf, 0x2c, 0x72, 0xea, 0xa9, 0x47, 0xc2, 0x92, 0x57, 0x4a,
- 0x10, 0x4e, 0x7f, 0x64, 0xcb, 0xdc, 0xb4, 0xf4, 0x70, 0x58, 0x28, 0x6c,
- 0xb8, 0x46, 0x78, 0x93, 0xd1, 0x9b, 0xc4, 0x3d, 0xd4, 0xf7, 0xfe, 0x7e,
- 0xf0, 0xf9, 0xae, 0x66, 0xbc, 0x53, 0xb4, 0xcb, 0x7f, 0x06, 0x75, 0x89,
- 0x22, 0x7a, 0x04, 0x3d, 0x67, 0x7e, 0x6a, 0x1f, 0x0d, 0x65, 0xa0, 0x16,
- 0x12, 0x7d, 0xf6, 0x84, 0x82, 0xde, 0x6d, 0xda, 0x21, 0xe7, 0x56, 0x6a,
- 0x56, 0x78, 0x11, 0xea, 0x18, 0xf2, 0x73, 0xea, 0x5d, 0x3d, 0xb2, 0x18,
- 0x8c, 0x5b, 0xaf, 0xa8, 0x74, 0x2e, 0x78, 0xcc, 0x22, 0xfe, 0x08, 0x7a,
- 0x2d, 0xe2, 0xc4, 0x60, 0x30, 0x9b, 0x6c, 0x37, 0x5b, 0xa8, 0x08, 0xc5,
- 0x34, 0x78, 0x6b, 0x63, 0x1d, 0xcd, 0x81, 0xe9, 0x81, 0x0b, 0xdf, 0x16,
- 0xe1, 0xce, 0xd7, 0x66, 0xac, 0xed, 0xbd, 0x18, 0x3e, 0x6d, 0x9d, 0x93,
- 0x66, 0x36, 0x1f, 0xdc, 0x8d, 0x1f, 0x88, 0x7d, 0x5c, 0x9e, 0xbe, 0x4d,
- 0xe6, 0x4b, 0x94, 0x02, 0x16, 0xea, 0xd6, 0xfb, 0x59, 0xa6, 0x6e, 0x68,
- 0x72, 0xef, 0xb0, 0xbb, 0xf0, 0x06, 0x66, 0x67, 0x88, 0xe7, 0x8e, 0x38,
- 0xf9, 0x6d, 0x06, 0xa9, 0x58, 0xfd, 0xc2, 0x52, 0x96, 0x50, 0x8b, 0x70,
- 0x67, 0x53, 0x06, 0xf8, 0x2c, 0x8f, 0xa6, 0xf9, 0x28, 0xca, 0x36, 0xfb,
- 0x94, 0x4d, 0x96, 0x08, 0x54, 0x93, 0x82, 0x48, 0xb4, 0x3f, 0xeb, 0x1d,
- 0xe8, 0x9e, 0xd3, 0x5c, 0xdc, 0xe4, 0xe6, 0x07, 0xdd, 0xc9, 0x70, 0x55,
- 0x3d, 0x64, 0xf0, 0x3c, 0xfa, 0xc0, 0x7d, 0xc6, 0xb0, 0x28, 0xfc, 0xae,
- 0xfd, 0xab, 0x20, 0x56, 0x0c, 0x70, 0x3f, 0x5d, 0x88, 0x66, 0x3f, 0xe5,
- 0xd7, 0x05, 0x2b, 0x01, 0x6f, 0xf3, 0x49, 0x55, 0xd6, 0xe5, 0x15, 0xa3,
- 0xd6, 0x3c, 0xed, 0xe0, 0xe4, 0x64, 0x94, 0xdc, 0x65, 0x63, 0xcd, 0x92,
- 0x1d, 0x86, 0xce, 0x64, 0x96, 0x22, 0x14, 0x20, 0xa9, 0xf2, 0xac, 0xa1,
- 0x59, 0xd3, 0x90, 0x28, 0x11, 0xfb, 0xa0, 0x00, 0xf7, 0x20, 0x2b, 0xae,
- 0x8d, 0xb9, 0x0a, 0x25, 0x9e, 0x4a, 0x4f, 0xcd, 0x70, 0x35, 0x2d, 0xb2,
- 0x32, 0x12, 0x18, 0xe7, 0x0e, 0xe8, 0xb5, 0x22, 0xb5, 0xcf, 0xe8, 0x0e,
- 0x1f, 0xa7, 0x52, 0x7c, 0x85, 0xfd, 0x03, 0x46, 0xec, 0x90, 0x9a, 0x22,
- 0x8e, 0xcb, 0x8f, 0xe4, 0x32, 0x0b, 0x32, 0x57, 0xb4, 0x8c, 0x7c, 0xbb,
- 0x82, 0x06, 0xaa, 0x50, 0x4d, 0xcb, 0x0a, 0x68, 0x24, 0xaf, 0x30, 0x02,
- 0x95, 0xa6, 0x5a, 0x56, 0xe4, 0x33, 0x06, 0xe7, 0x64, 0x28, 0x4f, 0xef,
- 0x6e, 0x4a, 0x2e, 0x23, 0x83, 0x69, 0xa6, 0xab, 0x09, 0x39, 0xb7, 0x9c,
- 0xe4, 0x23, 0xbc, 0xdb, 0x90, 0x0a, 0xee, 0xbe, 0xf1, 0x17, 0x2a, 0xca,
- 0x4f, 0x27, 0xeb, 0xe1, 0x52, 0x4c, 0xc5, 0x3d, 0xf3, 0x3a, 0xbf, 0x5e,
- 0x55, 0x7e, 0x0d, 0xae, 0x23, 0xad, 0x68, 0xcd, 0x8a, 0x23, 0xf7, 0x48,
- 0x2e, 0xcd, 0x8a, 0x4f, 0x69, 0x50, 0x54, 0xb0, 0x09, 0xd3, 0xa2, 0xf8,
- 0xbe, 0x8b, 0xed, 0xbe, 0x5f, 0x84, 0x60, 0x91, 0xb4, 0x69, 0x41, 0x52,
- 0x56, 0xb5, 0x72, 0xac, 0x3c, 0x3e, 0xa6, 0x64, 0xd5, 0x3f, 0xaf, 0x2f,
- 0xf6, 0x08, 0x44, 0x63, 0xb0, 0x4e, 0xcb, 0x0b, 0x08, 0x29, 0x1e, 0xd2,
- 0xf9, 0xe2, 0x1e, 0x7b, 0x0d, 0x69, 0x45, 0x80, 0x29, 0x5e, 0x54, 0x76,
- 0x6a, 0x6b, 0x0f, 0xd3, 0xfa, 0xb4, 0x63, 0x5e, 0xfe, 0xd9, 0x2d, 0xe9,
- 0x07, 0xfb, 0x83, 0x71, 0x96, 0x52, 0xa5, 0x86, 0x97, 0x0d, 0x69, 0x4c,
- 0xf1, 0x34, 0x15, 0x4e, 0xcd, 0x88, 0x24, 0xaa, 0x7c, 0xc5, 0xef, 0x5e,
- 0x42, 0xd9, 0xa2, 0xb5, 0x3d, 0x3b, 0x7c, 0x7f, 0xf9, 0x4d, 0xb2, 0x3f,
- 0xdc, 0x7d, 0x54, 0x9a, 0x0a, 0x24, 0x42, 0xab, 0x0d, 0x57, 0x69, 0x96,
- 0x6e, 0xd2, 0xbf, 0x2e, 0x8b, 0x36, 0x0b, 0x7c, 0xcc, 0x4b, 0x2f, 0x0a,
- 0x94, 0xde, 0xbf, 0x14, 0x97, 0xe8, 0xe2, 0xac, 0xfd, 0x52, 0x21, 0x83,
- 0x01, 0xac, 0xb8, 0xea, 0xa1, 0x80, 0x66, 0x1d, 0xe5, 0xeb, 0x68, 0x75,
- 0x56, 0xe8, 0x84, 0x14, 0xb1, 0x8d, 0x7a, 0x0c, 0xe4, 0xe7, 0xe7, 0x43,
- 0x65, 0xab, 0xc7, 0x41, 0x91, 0xbd, 0x78, 0x73, 0xd4, 0x69, 0xee, 0xf9,
- 0x67, 0xcf, 0x76, 0x7f, 0x47, 0xac, 0x5e, 0x49, 0x0e, 0x12, 0x71, 0x24,
- 0x44, 0x69, 0x74, 0xbe, 0xaf, 0x28, 0x8d, 0x55, 0x5d, 0x0d, 0xa5, 0x3c,
- 0xe4, 0x67, 0xda, 0xd7, 0xcd, 0x94, 0x70, 0x5b, 0x5a, 0xd4, 0x86, 0x51,
- 0x19, 0x34, 0xa2, 0xff, 0xfc, 0xaf, 0x30, 0xcb, 0xf6, 0xc7, 0x9f, 0x11,
- 0x17, 0x40, 0x69, 0x2c, 0x0b, 0xf9, 0x57, 0x29, 0x53, 0xbb, 0xfb, 0x98,
- 0xce, 0xf3, 0xe6, 0x1f, 0x36, 0x13, 0x5b, 0xbb, 0x02, 0x69, 0x59, 0x41,
- 0xac, 0x5a, 0xc1, 0x9d, 0x4a, 0x57, 0x2c, 0xbd, 0xd3, 0x65, 0xad, 0xa4,
- 0xac, 0xb8, 0x55, 0x09, 0x74, 0x16, 0xa4, 0xa6, 0xc3, 0x74, 0x55, 0x01,
- 0x1a, 0x2d, 0xc3, 0x20, 0x25, 0x0d, 0xd4, 0x61, 0x4e, 0x6e, 0x72, 0x06,
- 0x59, 0x61, 0x04, 0xa4, 0x8c, 0x22, 0x99, 0x39, 0x2f, 0x56, 0x38, 0x30,
- 0x05, 0x4a, 0xf4, 0x9f, 0x66, 0x05, 0xfa, 0xcd, 0x5d, 0xf9, 0x5f, 0x6d,
- 0x67, 0xa6, 0x51, 0x31, 0xa8, 0xbf, 0x1f, 0xfe, 0xb0, 0x47, 0xe9, 0x41,
- 0xbd, 0x6e, 0x13, 0x8c, 0xf4, 0xb7, 0xab, 0x6a, 0x35, 0xa4, 0x75, 0x94,
- 0xaa, 0xfa, 0x41, 0x4a, 0x3e, 0xee, 0x93, 0xda, 0xf8, 0x5f, 0x43, 0xfa,
- 0xef, 0x8f, 0x7b, 0x83, 0x67, 0x3f, 0xdb, 0x8f, 0xfe, 0x61, 0xef, 0xc3,
- 0x1f, 0xf6, 0x7b, 0xb1, 0xec, 0x2f, 0xc7, 0x05, 0xe0, 0x41, 0x15, 0x49,
- 0xa3, 0x2d, 0xee, 0x25, 0x65, 0x43, 0x42, 0x8d, 0xae, 0x64, 0x16, 0x4a,
- 0x3b, 0x46, 0x08, 0x93, 0xc8, 0x75, 0x35, 0x64, 0x8f, 0xb1, 0x53, 0x55,
- 0xb5, 0x6c, 0x96, 0x0a, 0x87, 0xbb, 0x92, 0xdf, 0x57, 0xc6, 0x04, 0x3a,
- 0x21, 0x92, 0x4c, 0x10, 0x08, 0xc3, 0x22, 0x6b, 0x6f, 0x0f, 0xa2, 0x4f,
- 0x51, 0xce, 0x8d, 0x70, 0x36, 0x04, 0x20, 0x65, 0x2e, 0xb4, 0x34, 0xe9,
- 0x4c, 0xfa, 0x78, 0x6c, 0x7f, 0x52, 0x64, 0x41, 0x56, 0x96, 0xa6, 0x70,
- 0xb2, 0xf9, 0xa6, 0xe2, 0xa0, 0x6c, 0x45, 0x00, 0xf8, 0x82, 0xe0, 0x91,
- 0xdb, 0xfa, 0xb3, 0x38, 0xd2, 0x01, 0x06, 0xe9, 0xaf, 0x60, 0x0e, 0xf3,
- 0x10, 0x37, 0x7c, 0xad, 0x98, 0x06, 0x73, 0x57, 0x8d, 0x9b, 0x7f, 0x26,
- 0x41, 0x18, 0x4a, 0xf8, 0x47, 0xcd, 0xa6, 0x32, 0x22, 0xcb, 0xd2, 0x31,
- 0x55, 0xb4, 0x6a, 0x55, 0x07, 0x99, 0xa0, 0x1c, 0x64, 0x0d, 0x83, 0x56,
- 0xd9, 0xa7, 0xd2, 0x7a, 0xc5, 0x84, 0xf8, 0x53, 0xe1, 0x4d, 0x82, 0x4c,
- 0x14, 0x26, 0x67, 0x7d, 0x31, 0x9f, 0x01, 0xa1, 0x48, 0x9b, 0x6c, 0xe0,
- 0xa5, 0xc8, 0x22, 0x23, 0x17, 0x3f, 0xd5, 0x94, 0xc1, 0x09, 0x57, 0x0a,
- 0x41, 0x80, 0x6f, 0x10, 0x44, 0x25, 0xe9, 0x8a, 0x9a, 0xde, 0x1b, 0x69,
- 0xc8, 0x6c, 0x9c, 0x43, 0x9b, 0x08, 0xa1, 0x3e, 0x02, 0x91, 0x36, 0x66,
- 0xab, 0x6d, 0x0e, 0x36, 0x93, 0x2d, 0x6b, 0xd9, 0x4d, 0xd3, 0xfa, 0x66,
- 0x3b, 0xe6, 0x88, 0x74, 0xbe, 0x3f, 0x27, 0xa8, 0xc6, 0xe2, 0x7a, 0xa0,
- 0x3b, 0x93, 0x25, 0xd4, 0xba, 0xeb, 0xfa, 0x0c, 0xf1, 0x15, 0xc6, 0x0b,
- 0x0e, 0x3c, 0x90, 0x4b, 0xeb, 0x67, 0x03, 0xb8, 0x37, 0xf0, 0xf3, 0x64,
- 0xf0, 0x1f, 0xe1, 0xbd, 0x20, 0x8f, 0x32, 0xe4, 0x6b, 0xc0, 0x19, 0x51,
- 0xee, 0x22, 0xa5, 0x68, 0x5e, 0xf2, 0x72, 0x71, 0x53, 0x19, 0xf5, 0x2f,
- 0x4c, 0xbc, 0x1a, 0x7d, 0x93, 0x30, 0x03, 0xa2, 0x79, 0x8a, 0x9f, 0xb1,
- 0xbb, 0x63, 0xe1, 0x58, 0xfe, 0x7e, 0x47, 0xd2, 0x3c, 0x42, 0x93, 0x0c,
- 0xd2, 0x7a, 0x10, 0xa8, 0x3a, 0x14, 0x54, 0xf4, 0x6b, 0x69, 0x90, 0xe6,
- 0x49, 0x06, 0x09, 0x21, 0x19, 0x29, 0xb6, 0x56, 0x4c, 0x50, 0x37, 0x36,
- 0xd9, 0x19, 0x0e, 0x77, 0x48, 0x66, 0xed, 0x98, 0x3f, 0xc4, 0x9c, 0x01,
- 0xee, 0xb6, 0x5b, 0xfe, 0xc6, 0xec, 0x72, 0xfa, 0x16, 0xf9, 0x80, 0xa4,
- 0x5a, 0x9c, 0x73, 0x98, 0xd7, 0x7f, 0x5b, 0x02, 0x8b, 0x5a, 0x19, 0x75,
- 0xb2, 0xe2, 0xbc, 0xde, 0x79, 0xe7, 0x92, 0x0c, 0x8a, 0xce, 0xb0, 0x73,
- 0xbd, 0x16, 0xfe, 0x88, 0xe6, 0xa6, 0x93, 0x6f, 0xc6, 0x60, 0x72, 0x60,
- 0x84, 0xf3, 0x46, 0xa9, 0xbb, 0x90, 0x52, 0x9d, 0xae, 0x35, 0xe8, 0x9e,
- 0xee, 0xb7, 0x1d, 0x1f, 0x8b, 0xbc, 0x30, 0x26, 0x86, 0x51, 0x8e, 0x41,
- 0xcb, 0x48, 0x58, 0xbc, 0x30, 0xa1, 0x87, 0xbd, 0x69, 0x61, 0xf9, 0x11,
- 0x97, 0x4e, 0xeb, 0x14, 0x0e, 0xaf, 0xbe, 0x0d, 0x47, 0xf3, 0xb7, 0x82,
- 0xcb, 0x92, 0x3f, 0xb2, 0x4d, 0x4d, 0x78, 0x68, 0xdd, 0x45, 0x66, 0x8b,
- 0x24, 0x08, 0x05, 0x4c, 0xca, 0x50, 0x20, 0x68, 0xef, 0x02, 0x62, 0x8e,
- 0xb9, 0x3d, 0xac, 0xd3, 0xc1, 0x1e, 0x28, 0xaf, 0x0b, 0x66, 0xcc, 0xc4,
- 0x6c, 0x69, 0x66, 0xfe, 0xf5, 0xf1, 0x85, 0x68, 0x28, 0xc8, 0x12, 0x77,
- 0x05, 0x12, 0x03, 0x2a, 0x55, 0x58, 0x32, 0xcf, 0x9f, 0xda, 0x52, 0xb8,
- 0xf5, 0x4d, 0xba, 0xff, 0xec, 0xb9, 0x74, 0x5b, 0x29, 0xb4, 0x60, 0x28,
- 0x6d, 0xf2, 0xaf, 0x76, 0x76, 0x38, 0x6c, 0x4e, 0xd6, 0x69, 0x20, 0x17,
- 0x52, 0xa9, 0xe7, 0xbb, 0xf9, 0xc5, 0x66, 0x14, 0x30, 0x67, 0x7d, 0xb7,
- 0x5a, 0xa6, 0x0f, 0xb1, 0x38, 0x70, 0x53, 0xfa, 0x94, 0xfa, 0x7d, 0xdf,
- 0x6d, 0xcb, 0x5c, 0x08, 0xe9, 0x1a, 0xa6, 0x79, 0xa1, 0x9c, 0x90, 0x6a,
- 0x3c, 0x89, 0xe6, 0xa6, 0x0e, 0x93, 0x43, 0x7f, 0x76, 0x00, 0x40, 0x43,
- 0x71, 0xc8, 0x49, 0xc8, 0x6b, 0xa2, 0xf0, 0x37, 0x5a, 0x10, 0xaf, 0x65,
- 0x01, 0x81, 0x9a, 0x4d, 0x07, 0xb2, 0x3f, 0xda, 0x79, 0x1a, 0x78, 0x61,
- 0x9f, 0x0c, 0x16, 0x73, 0x39, 0x0e, 0xd2, 0x44, 0xe4, 0x9b, 0x0a, 0x90,
- 0x62, 0x93, 0xde, 0x83, 0x09, 0xba, 0xe3, 0x62, 0x6e, 0x83, 0x8a, 0x03,
- 0x40, 0xde, 0x04, 0xc4, 0xf9, 0x78, 0x95, 0x4e, 0x85, 0x48, 0x70, 0xcc,
- 0xba, 0xe4, 0xcc, 0xc5, 0x64, 0xd6, 0x96, 0x62, 0x3f, 0xc1, 0x39, 0x30,
- 0x5b, 0x61, 0x87, 0xf6, 0x81, 0x58, 0x1b, 0x01, 0xf5, 0x3d, 0x39, 0x99,
- 0x5f, 0x0c, 0x77, 0x0f, 0x92, 0xb3, 0x45, 0x56, 0x98, 0xf9, 0xef, 0x27,
- 0x5f, 0x17, 0x4b, 0x5a, 0x0f, 0x1a, 0xf4, 0xd7, 0xa3, 0x6f, 0x83, 0x6c,
- 0x2b, 0x7a, 0xe3, 0xe9, 0x13, 0x7a, 0xe3, 0xdd, 0x88, 0x9f, 0xba, 0x2b,
- 0x67, 0x57, 0x54, 0x9a, 0xfd, 0xe8, 0x3e, 0x35, 0x7f, 0xc4, 0x1e, 0xff,
- 0x8c, 0x1e, 0x37, 0x1b, 0x6f, 0xda, 0x04, 0x65, 0x70, 0x13, 0xa9, 0xe1,
- 0x72, 0x90, 0x9c, 0x97, 0xb3, 0xb4, 0x82, 0xa7, 0x9a, 0x37, 0xdf, 0x9a,
- 0x1e, 0x3f, 0x7d, 0x1a, 0xe9, 0x71, 0x7f, 0x45, 0x87, 0x86, 0xff, 0x78,
- 0x8f, 0xce, 0xe0, 0xfb, 0xa3, 0xbf, 0x8d, 0xd3, 0xc9, 0x47, 0xec, 0x44,
- 0xa0, 0xda, 0x2d, 0xd7, 0xec, 0xef, 0x29, 0xcd, 0x99, 0x8a, 0xe0, 0x31,
- 0x25, 0x6d, 0x2a, 0xf0, 0xb1, 0x35, 0xc8, 0x71, 0xff, 0x6c, 0xff, 0xc9,
- 0xde, 0xce, 0xf3, 0xe1, 0xd3, 0xe1, 0xbe, 0x45, 0x99, 0x99, 0x8d, 0x75,
- 0x4b, 0x05, 0x14, 0x28, 0xa2, 0xbf, 0xaa, 0xfe, 0x5c, 0x5e, 0x98, 0x76,
- 0x28, 0xf8, 0x6f, 0x7f, 0x02, 0xcf, 0x91, 0xc3, 0x97, 0xa4, 0xc4, 0x3c,
- 0xe1, 0xe7, 0x2a, 0x0d, 0x23, 0xf5, 0xc3, 0x88, 0xc0, 0x01, 0xf5, 0x8d,
- 0xc5, 0xdb, 0x41, 0xc5, 0x4e, 0x01, 0xfc, 0x1c, 0xe7, 0xc6, 0x6a, 0x6e,
- 0xca, 0x25, 0xdc, 0xea, 0xe4, 0xc3, 0x51, 0xc6, 0x6d, 0x28, 0x49, 0x18,
- 0x07, 0x1d, 0xb1, 0x88, 0x73, 0x8c, 0x3b, 0x0f, 0x2c, 0xef, 0xb8, 0x55,
- 0x45, 0x98, 0xbc, 0xb1, 0xa8, 0x43, 0xce, 0x95, 0x2e, 0x8c, 0x31, 0x53,
- 0x4c, 0x48, 0x13, 0xf9, 0xc6, 0xd8, 0x1a, 0xb7, 0x70, 0x1c, 0x07, 0x75,
- 0xd6, 0xa4, 0xd0, 0x05, 0xa9, 0xc8, 0xd6, 0xf5, 0xaf, 0x48, 0x07, 0x4c,
- 0x23, 0x3c, 0xbc, 0xf2, 0x03, 0xce, 0xa0, 0x60, 0x1f, 0x08, 0xc6, 0x3d,
- 0x08, 0xd3, 0x7e, 0xbd, 0x02, 0x7b, 0x6e, 0xc5, 0x85, 0x50, 0x9a, 0xf2,
- 0x97, 0xd8, 0xc5, 0xed, 0xb0, 0xc2, 0x7e, 0x26, 0x5a, 0xcc, 0x05, 0xf3,
- 0x80, 0x3f, 0x42, 0x18, 0x29, 0xda, 0x94, 0x14, 0xfc, 0xaf, 0x4e, 0xcd,
- 0x3f, 0xbd, 0x05, 0x83, 0x3c, 0xa6, 0x4e, 0x59, 0x34, 0x6d, 0xf3, 0x57,
- 0xef, 0xb2, 0x27, 0xbf, 0xfd, 0x2e, 0xdb, 0x7f, 0xec, 0x2e, 0x73, 0x9b,
- 0x8c, 0xce, 0xd9, 0x9a, 0x2d, 0x46, 0x7b, 0x4c, 0x2b, 0x22, 0xc7, 0x77,
- 0x99, 0xbf, 0xcd, 0x60, 0xa6, 0xc6, 0x36, 0x5a, 0x6b, 0x9f, 0xd9, 0x6d,
- 0xb6, 0x62, 0x97, 0x31, 0x6f, 0x15, 0xef, 0xb1, 0xf5, 0x5b, 0x8c, 0xf7,
- 0x18, 0x57, 0xad, 0x5d, 0xb3, 0xcb, 0xda, 0x6e, 0xf8, 0xf5, 0xfb, 0xcc,
- 0x6d, 0x87, 0x47, 0xef, 0x32, 0x2d, 0x68, 0xc2, 0x52, 0x67, 0xc5, 0x16,
- 0x6b, 0xed, 0xb1, 0x35, 0x95, 0xdf, 0xf6, 0x5e, 0xc4, 0x76, 0xd9, 0x93,
- 0x5f, 0xbd, 0xcb, 0x9e, 0xfe, 0xf6, 0xbb, 0xec, 0xc9, 0xff, 0x93, 0x65,
- 0xff, 0xed, 0x64, 0xd9, 0xde, 0x2f, 0x93, 0x65, 0xfb, 0x9d, 0xc0, 0xa6,
- 0x51, 0x57, 0xd9, 0xdb, 0xfc, 0xa3, 0x7a, 0xfd, 0x0f, 0x76, 0x76, 0x7e,
- 0x86, 0xf3, 0xe4, 0x80, 0xee, 0xeb, 0x9f, 0x83, 0x32, 0x9e, 0x59, 0x27,
- 0xd3, 0x72, 0x74, 0x76, 0xf4, 0xed, 0x48, 0x5c, 0xd6, 0xa2, 0x75, 0xa9,
- 0x56, 0x06, 0x4e, 0x3e, 0xd0, 0xa8, 0x4a, 0xc9, 0xad, 0x40, 0xd7, 0xe7,
- 0x52, 0x7f, 0xc9, 0xe0, 0x53, 0xdf, 0x3a, 0x8f, 0x29, 0xc7, 0xbf, 0x50,
- 0x9c, 0x23, 0x13, 0xbe, 0x71, 0x7e, 0x31, 0xbc, 0x05, 0xd2, 0x74, 0x2d,
- 0x11, 0x9f, 0xee, 0x74, 0x79, 0x7d, 0x11, 0x8f, 0x46, 0xe1, 0x5e, 0xd9,
- 0x6a, 0x6e, 0x2a, 0xa4, 0x76, 0xe0, 0xb1, 0x6d, 0x4b, 0x0e, 0xf6, 0x40,
- 0xef, 0xa4, 0x57, 0xdf, 0x80, 0x16, 0x77, 0x51, 0x65, 0x2b, 0xaa, 0xe7,
- 0x5e, 0xde, 0x78, 0xbf, 0x55, 0x17, 0x5a, 0x8c, 0xdb, 0x42, 0x48, 0xde,
- 0xbc, 0xf9, 0xa6, 0xf7, 0x82, 0x7c, 0xf4, 0xfc, 0x13, 0xe3, 0x4b, 0x2d,
- 0xc1, 0xca, 0x0c, 0x35, 0x32, 0x51, 0xf2, 0x41, 0x3e, 0x62, 0xdb, 0xa8,
- 0x35, 0x93, 0x87, 0xea, 0x36, 0xd4, 0x4f, 0x4d, 0x93, 0x01, 0x6c, 0x14,
- 0xbf, 0x48, 0xe9, 0x37, 0xf2, 0x8f, 0x67, 0xf4, 0x61, 0xc4, 0x5a, 0xf9,
- 0x9f, 0x37, 0xf8, 0x37, 0xe3, 0x0a, 0x98, 0x49, 0xca, 0x5b, 0xe7, 0x49,
- 0x74, 0xa2, 0xf5, 0x60, 0xb2, 0xdf, 0x81, 0x19, 0x0e, 0xde, 0x95, 0x01,
- 0x43, 0x12, 0xc6, 0xec, 0x6a, 0x99, 0x44, 0xd8, 0xf3, 0xbd, 0x63, 0x8d,
- 0x96, 0x9f, 0xae, 0x48, 0x8e, 0xc9, 0x12, 0x9f, 0x6e, 0x52, 0xb9, 0x03,
- 0xfc, 0x5a, 0x4f, 0x2e, 0x58, 0x2a, 0x4b, 0xd0, 0x67, 0xee, 0xd1, 0x10,
- 0xe3, 0x4b, 0x75, 0x0c, 0xa4, 0xe7, 0x7b, 0xbb, 0x9f, 0x87, 0xde, 0xe6,
- 0xf7, 0x9a, 0xd2, 0xe6, 0x18, 0x17, 0x01, 0x88, 0x00, 0xbc, 0x7c, 0xec,
- 0x32, 0x39, 0x62, 0x1f, 0x8d, 0xe4, 0xbd, 0x91, 0x03, 0x80, 0x52, 0x8e,
- 0x4b, 0xb1, 0x0d, 0x51, 0x3e, 0xab, 0x5b, 0x86, 0x9e, 0x53, 0x79, 0x6b,
- 0x48, 0x49, 0xa1, 0x0b, 0x96, 0xb0, 0x7e, 0x20, 0x2d, 0x50, 0x31, 0x58,
- 0x82, 0x4d, 0x7f, 0x76, 0xe4, 0x5d, 0x7f, 0x7c, 0xba, 0x4b, 0x6b, 0xaa,
- 0x8d, 0xa4, 0x5c, 0x8e, 0x9d, 0xf7, 0xdc, 0x1f, 0x9f, 0xa4, 0xc3, 0x7f,
- 0x22, 0x1b, 0xd3, 0xb3, 0xb6, 0x2b, 0xe1, 0x0f, 0x7d, 0x3e, 0xe1, 0xd7,
- 0x44, 0x19, 0x33, 0x18, 0xa7, 0x55, 0x24, 0x85, 0x42, 0x6e, 0x02, 0x65,
- 0x1a, 0x51, 0x9a, 0x0e, 0x7d, 0x0b, 0x94, 0x17, 0xc0, 0xd6, 0x72, 0xf9,
- 0x2d, 0xfb, 0xf3, 0x24, 0x6c, 0xce, 0x73, 0xd5, 0xfb, 0xd5, 0x41, 0xfb,
- 0x01, 0x41, 0x56, 0x3a, 0xeb, 0x53, 0x14, 0x2f, 0x42, 0xa3, 0xc4, 0xca,
- 0x43, 0xeb, 0x23, 0x44, 0x75, 0x75, 0xe7, 0xb9, 0x12, 0x98, 0xa7, 0xfe,
- 0x0a, 0x4e, 0x7b, 0x8b, 0xbf, 0x30, 0xbf, 0xa7, 0x68, 0x6c, 0xec, 0x36,
- 0xab, 0x27, 0x55, 0x26, 0xc1, 0x11, 0x22, 0x3b, 0x44, 0xe4, 0x95, 0x98,
- 0x02, 0xcd, 0x4d, 0x76, 0x9d, 0x69, 0xf2, 0xa4, 0x1d, 0xb7, 0x12, 0x64,
- 0x80, 0x15, 0x63, 0x18, 0x01, 0x25, 0x7b, 0xa0, 0x23, 0x5b, 0xaf, 0x95,
- 0x26, 0x88, 0x69, 0x34, 0xe8, 0x75, 0x4d, 0x65, 0xb5, 0x14, 0x8b, 0x0b,
- 0x2a, 0x3b, 0x56, 0xdf, 0xe4, 0xdd, 0xfa, 0xcc, 0x5b, 0x83, 0x57, 0xe5,
- 0xab, 0xc1, 0xb6, 0x6c, 0xf2, 0xf2, 0xd6, 0xd8, 0xee, 0x64, 0xbf, 0xa1,
- 0xab, 0x14, 0xa9, 0xbd, 0x81, 0xa7, 0x49, 0x2e, 0x34, 0xa4, 0x61, 0x10,
- 0x7a, 0x12, 0xb7, 0x3b, 0x62, 0x03, 0x41, 0x3d, 0x0c, 0xee, 0x58, 0x45,
- 0x41, 0x5a, 0x91, 0x78, 0xe4, 0x95, 0x32, 0x73, 0x75, 0xc5, 0xd8, 0x2e,
- 0xe4, 0x75, 0x52, 0x04, 0x5b, 0x38, 0x95, 0xd9, 0x1d, 0x5e, 0x2e, 0xda,
- 0xb7, 0x13, 0xa5, 0x08, 0xab, 0x74, 0x78, 0xa9, 0x82, 0xe5, 0xcb, 0x07,
- 0x13, 0x00, 0xac, 0x08, 0xba, 0x12, 0x5f, 0x0e, 0x1d, 0x3f, 0x24, 0x84,
- 0x30, 0x17, 0xf3, 0xe4, 0x26, 0x9b, 0x4b, 0xdd, 0x90, 0x5f, 0x58, 0x05,
- 0xbd, 0xd3, 0x27, 0x86, 0xc6, 0x5d, 0x35, 0x8b, 0xe1, 0xbc, 0xfc, 0xbb,
- 0x99, 0xe3, 0x94, 0x0a, 0x91, 0x05, 0x87, 0x82, 0xb8, 0xe5, 0x0a, 0x5e,
- 0x14, 0x48, 0xdc, 0x65, 0x61, 0xcd, 0x61, 0x27, 0xc4, 0x95, 0x35, 0x1b,
- 0x69, 0xef, 0xc9, 0x91, 0xe9, 0xf1, 0xf1, 0x87, 0xf7, 0xef, 0x46, 0xef,
- 0xcf, 0xbb, 0x67, 0xff, 0xfc, 0xec, 0xe2, 0xf2, 0xf8, 0xf5, 0x87, 0xf3,
- 0x8b, 0xb3, 0xcb, 0xb3, 0xa3, 0xb3, 0xd3, 0x64, 0x6b, 0x6f, 0x7b, 0x6d,
- 0x9a, 0x97, 0x75, 0xc4, 0x78, 0xb4, 0x81, 0xda, 0x7f, 0x96, 0x5a, 0xb6,
- 0x0b, 0x5b, 0x34, 0x9e, 0xb0, 0xb5, 0xef, 0x65, 0x6f, 0xb5, 0x88, 0x98,
- 0xe1, 0x8f, 0xc1, 0xf5, 0x06, 0xb9, 0x9e, 0x26, 0xd7, 0x4b, 0x3a, 0x26,
- 0x36, 0xce, 0xcf, 0xf2, 0x1a, 0x94, 0x99, 0x81, 0x22, 0xa6, 0xa1, 0x46,
- 0x2f, 0x43, 0x68, 0xad, 0x57, 0xf2, 0x59, 0x57, 0x6b, 0xa1, 0x35, 0x80,
- 0x32, 0xea, 0x76, 0x45, 0x1d, 0xdf, 0x16, 0x76, 0x5f, 0x30, 0xab, 0x08,
- 0x38, 0xa9, 0xed, 0x2b, 0x60, 0xec, 0x97, 0xe8, 0x0f, 0xf2, 0x6a, 0x59,
- 0xbd, 0x1d, 0x26, 0xe7, 0x61, 0x71, 0x1d, 0x79, 0x63, 0x9a, 0x15, 0x52,
- 0xe1, 0x51, 0xfa, 0x81, 0xd8, 0x1f, 0x4d, 0xaf, 0xc4, 0xa2, 0xcd, 0x03,
- 0xf4, 0x5b, 0x6f, 0xae, 0x86, 0x50, 0xe4, 0x02, 0xc7, 0x39, 0xbf, 0x7d,
- 0x85, 0xf2, 0x82, 0x77, 0x5e, 0x9f, 0xa8, 0x3d, 0x52, 0xcb, 0x40, 0x0a,
- 0x18, 0x91, 0xb1, 0xc7, 0x1a, 0x57, 0xe2, 0x1c, 0x1f, 0x9c, 0x49, 0x68,
- 0x30, 0xca, 0x35, 0x33, 0xf2, 0xc7, 0xf2, 0xc0, 0x46, 0xe6, 0x49, 0x24,
- 0x1f, 0x7f, 0x9f, 0xd6, 0xbe, 0xcf, 0x1b, 0x5a, 0x02, 0x6a, 0x6b, 0x12,
- 0x0c, 0x1c, 0x67, 0x8b, 0xef, 0x99, 0x43, 0x87, 0x28, 0x5e, 0xe0, 0x46,
- 0xe3, 0x75, 0x45, 0x13, 0x3d, 0xcd, 0xed, 0xd2, 0x9d, 0x5c, 0xdc, 0x36,
- 0x9a, 0x7f, 0x2f, 0x85, 0x3a, 0x85, 0x85, 0x98, 0xf8, 0x3b, 0x8c, 0x86,
- 0x7f, 0x20, 0x18, 0x2b, 0x06, 0x1d, 0x25, 0x9c, 0xbd, 0xcf, 0x61, 0x89,
- 0xd1, 0xd1, 0x79, 0x8c, 0x3f, 0xc2, 0xa5, 0xf3, 0xb3, 0xc0, 0xd5, 0x6a,
- 0xb4, 0xbb, 0xc3, 0xdd, 0x64, 0xf4, 0xf6, 0x2b, 0xa1, 0x53, 0xfc, 0x6a,
- 0xc4, 0xe4, 0xd4, 0xa4, 0x64, 0xeb, 0x1b, 0xc3, 0x38, 0x65, 0x15, 0x84,
- 0x07, 0x29, 0x32, 0x74, 0x86, 0xff, 0x84, 0xbf, 0x29, 0xce, 0x99, 0x7f,
- 0xee, 0x46, 0x8d, 0x03, 0xa0, 0xe3, 0xee, 0x47, 0x73, 0xe0, 0x39, 0xee,
- 0x43, 0x95, 0x58, 0xa3, 0xe3, 0x1e, 0xae, 0x27, 0xef, 0xda, 0x0f, 0xce,
- 0xc3, 0x23, 0x4f, 0xc2, 0x63, 0x8e, 0x82, 0xa8, 0x34, 0x2a, 0xc4, 0xbb,
- 0xd3, 0x71, 0xde, 0xda, 0xaa, 0x19, 0xa5, 0xfa, 0xc0, 0x8d, 0x3d, 0xcb,
- 0xae, 0xa0, 0xc3, 0x21, 0x05, 0xaf, 0x8f, 0x5f, 0x22, 0x66, 0x67, 0x71,
- 0x59, 0xb2, 0x14, 0x91, 0xc5, 0x42, 0x6e, 0x94, 0x53, 0x8a, 0x95, 0xf4,
- 0xad, 0x3b, 0x07, 0x7f, 0x42, 0xdd, 0x4f, 0x66, 0xbc, 0xcd, 0x6b, 0x8f,
- 0xbc, 0x01, 0x44, 0x8b, 0xb9, 0xc6, 0xe5, 0xbc, 0xb3, 0x34, 0xa3, 0xa4,
- 0xbe, 0x7b, 0xce, 0x07, 0x0c, 0x92, 0x17, 0xa0, 0x48, 0x4d, 0xc9, 0x30,
- 0x70, 0x08, 0x54, 0x2f, 0x73, 0xa5, 0x28, 0x1d, 0x8d, 0x97, 0x68, 0x46,
- 0xa1, 0x6c, 0x1c, 0x24, 0xc9, 0xeb, 0xac, 0xb8, 0x6f, 0x77, 0xa8, 0x0f,
- 0x12, 0x8e, 0x5b, 0xf6, 0xaf, 0xb3, 0xab, 0x9c, 0x83, 0x84, 0x0a, 0x08,
- 0x75, 0x5d, 0x0c, 0xbb, 0xd4, 0xee, 0x73, 0x4c, 0x02, 0xbc, 0xb2, 0xd3,
- 0xa0, 0xa9, 0xe0, 0xfe, 0x64, 0x6c, 0x81, 0xef, 0x41, 0xc3, 0x8a, 0xf8,
- 0xe4, 0x63, 0xa6, 0x01, 0x3c, 0x76, 0xb0, 0x8f, 0xea, 0xe5, 0xf8, 0xaf,
- 0xa8, 0x0d, 0x4d, 0xd6, 0xc0, 0x2c, 0x85, 0xc3, 0x85, 0x27, 0x42, 0x29,
- 0xfe, 0xc8, 0xdd, 0x63, 0x9e, 0xe2, 0x48, 0x58, 0xe8, 0xf5, 0xa6, 0xda,
- 0x30, 0x88, 0x78, 0x2a, 0x6d, 0x77, 0x7b, 0x17, 0xa0, 0x4f, 0xeb, 0xb2,
- 0xac, 0x0e, 0x36, 0x56, 0x08, 0xcb, 0xc1, 0x15, 0x49, 0x27, 0x46, 0x71,
- 0x75, 0xae, 0x31, 0x9e, 0x4d, 0x46, 0x0e, 0x5a, 0x1c, 0x2b, 0x3d, 0xbe,
- 0xb2, 0x2d, 0x95, 0x79, 0x75, 0xff, 0x4f, 0xf4, 0x47, 0x38, 0x8a, 0x56,
- 0xdc, 0x87, 0xe6, 0x59, 0x4f, 0x3b, 0x3d, 0x0e, 0xf1, 0x81, 0xd7, 0x57,
- 0x7d, 0xe0, 0x95, 0x13, 0xa8, 0xeb, 0xdb, 0x86, 0xec, 0x79, 0xcc, 0x07,
- 0xde, 0x17, 0x4a, 0x90, 0xa6, 0xfb, 0x7b, 0x61, 0x59, 0xdb, 0xef, 0xd2,
- 0xaa, 0x00, 0x50, 0xdd, 0xb7, 0x29, 0x88, 0x56, 0x63, 0x21, 0x25, 0x1d,
- 0xd2, 0x2b, 0x82, 0xf8, 0x56, 0x99, 0xa3, 0x98, 0x25, 0x9f, 0x0a, 0x93,
- 0xe7, 0x08, 0x6f, 0xb5, 0x22, 0x4e, 0x17, 0x65, 0xc3, 0x0c, 0xda, 0x84,
- 0x09, 0x26, 0x9d, 0xa1, 0x22, 0xd7, 0x8d, 0x37, 0xc9, 0xaa, 0x6c, 0x52,
- 0x6b, 0x76, 0x37, 0xc1, 0xc3, 0xb1, 0x5c, 0x94, 0x85, 0x4b, 0x28, 0x90,
- 0x68, 0xae, 0x27, 0x67, 0xe4, 0x8b, 0x8c, 0xec, 0x82, 0xd7, 0xc9, 0x12,
- 0x6d, 0xdf, 0x96, 0x39, 0xc1, 0xb3, 0x36, 0xec, 0x95, 0x60, 0xf4, 0x20,
- 0xb7, 0x4b, 0x2e, 0xc3, 0x22, 0x10, 0x30, 0x55, 0x2c, 0x9e, 0x46, 0x6c,
- 0x15, 0x72, 0x30, 0x01, 0xee, 0x04, 0xd7, 0x81, 0x97, 0x45, 0xc4, 0xe7,
- 0x5b, 0x9b, 0x03, 0xe8, 0x22, 0x65, 0xfe, 0x36, 0xb3, 0x27, 0x8b, 0xb4,
- 0xd1, 0x03, 0xe3, 0x49, 0x44, 0xea, 0x1e, 0xc8, 0x15, 0x0a, 0xb2, 0x1f,
- 0x26, 0x96, 0xd9, 0xa8, 0x4b, 0x92, 0xdd, 0xae, 0x6e, 0x6c, 0x6f, 0x55,
- 0x0b, 0x0e, 0x75, 0x0a, 0xe3, 0xf0, 0x01, 0x31, 0xfe, 0xe9, 0x5e, 0xd1,
- 0x68, 0xeb, 0x95, 0x99, 0x05, 0x52, 0x85, 0xcd, 0x3c, 0xe7, 0x0d, 0x56,
- 0xac, 0x83, 0x87, 0x55, 0x98, 0xa8, 0x94, 0xd6, 0x98, 0x2f, 0xbb, 0x47,
- 0xbe, 0xd0, 0xf0, 0x9f, 0x05, 0xff, 0x30, 0x5b, 0x14, 0xf4, 0x08, 0xf1,
- 0x78, 0x70, 0xd5, 0x00, 0xd8, 0xbb, 0x5a, 0x4a, 0x81, 0x5c, 0x39, 0x08,
- 0x08, 0xc6, 0xfd, 0x88, 0x3b, 0x96, 0x27, 0xc6, 0x6c, 0x98, 0x62, 0x3a,
- 0x30, 0x42, 0x60, 0xb1, 0xc6, 0x73, 0xfa, 0xa9, 0xaf, 0x83, 0x6e, 0xe1,
- 0x68, 0x7d, 0x66, 0x0a, 0xfe, 0x09, 0xa3, 0xf5, 0x64, 0xee, 0x42, 0x1c,
- 0xba, 0x51, 0x09, 0x9e, 0xc4, 0x66, 0x32, 0x86, 0x07, 0x0c, 0x6d, 0x85,
- 0x95, 0xb5, 0x04, 0x12, 0x9e, 0x3f, 0x9e, 0x40, 0x9d, 0xb0, 0x55, 0xd8,
- 0x29, 0x9e, 0x3e, 0x99, 0xb9, 0xf7, 0x9c, 0xa7, 0x85, 0x36, 0x91, 0x80,
- 0x5b, 0x08, 0x02, 0xdb, 0xfb, 0x16, 0x1b, 0x45, 0xc1, 0x3c, 0x82, 0xba,
- 0x89, 0x69, 0xe9, 0xf9, 0x39, 0xb9, 0x96, 0xac, 0xa8, 0x0b, 0x3a, 0xa9,
- 0x7c, 0xdf, 0x11, 0xbf, 0x0a, 0xe4, 0x24, 0x3e, 0x44, 0x1d, 0xcb, 0xd7,
- 0x92, 0x22, 0xac, 0x58, 0x8c, 0x18, 0x1f, 0xc8, 0xb4, 0x03, 0x6e, 0xd5,
- 0x9f, 0x73, 0x11, 0xef, 0x38, 0xa2, 0x6e, 0x24, 0xe7, 0x4d, 0x4b, 0x7d,
- 0x43, 0x4e, 0x2b, 0x9c, 0xd1, 0x73, 0xb4, 0x71, 0x6d, 0xa3, 0x4f, 0xcd,
- 0x63, 0x60, 0xa6, 0x93, 0x94, 0xc9, 0x40, 0x04, 0xb3, 0x22, 0x0d, 0xbb,
- 0x7f, 0xba, 0xdf, 0x9a, 0xd1, 0xc5, 0x84, 0x34, 0xad, 0xd5, 0x6a, 0x8f,
- 0x45, 0xfb, 0x2b, 0x2f, 0xcd, 0x89, 0x5e, 0x37, 0x28, 0x3c, 0xf4, 0x6b,
- 0x06, 0xd5, 0x2a, 0x8b, 0x2e, 0x63, 0x90, 0x3e, 0x77, 0x56, 0x84, 0x3f,
- 0xb2, 0x36, 0x8a, 0xb0, 0x62, 0x08, 0xa6, 0xcd, 0x35, 0x55, 0x48, 0xbd,
- 0x61, 0xd8, 0x07, 0x7f, 0xe9, 0x48, 0x1e, 0x9e, 0x46, 0x6c, 0x0d, 0xfa,
- 0xef, 0x8f, 0x07, 0x70, 0xa9, 0x4d, 0x7f, 0x5e, 0xd9, 0x8f, 0xe3, 0xbe,
- 0xf4, 0xe5, 0x77, 0xe8, 0x46, 0xbe, 0xb8, 0x21, 0x7f, 0xc9, 0xcb, 0x58,
- 0x02, 0x8f, 0x37, 0x11, 0xf2, 0xd8, 0x6f, 0xff, 0xfd, 0x6a, 0xe6, 0x38,
- 0x73, 0xd6, 0x7c, 0x5f, 0x1e, 0xfb, 0xcd, 0xbf, 0xcf, 0x67, 0x77, 0xfd,
- 0xe5, 0x62, 0xa5, 0xe2, 0x6b, 0x41, 0x49, 0xb7, 0x25, 0x8e, 0xbb, 0x55,
- 0x7e, 0x85, 0x50, 0x14, 0xe0, 0x75, 0x28, 0x15, 0xe5, 0x5b, 0xd1, 0xea,
- 0x0e, 0xbe, 0x58, 0xfc, 0x4d, 0x24, 0x18, 0x44, 0x73, 0x38, 0x39, 0x52,
- 0x6e, 0xe5, 0x25, 0xff, 0xb9, 0xf3, 0xe7, 0xd8, 0x1a, 0xd9, 0x84, 0x0e,
- 0xba, 0x06, 0xb5, 0x40, 0x0b, 0x6a, 0x7e, 0x30, 0x07, 0x81, 0xa8, 0xbc,
- 0xb6, 0x5a, 0x05, 0x4d, 0x96, 0xc2, 0x50, 0xe8, 0xd5, 0x58, 0x55, 0x18,
- 0x99, 0x21, 0xc5, 0xa2, 0x5a, 0xee, 0x6e, 0x0b, 0x42, 0x22, 0xc5, 0x23,
- 0xf3, 0x3e, 0x58, 0x5b, 0xc2, 0x97, 0x58, 0x60, 0xd6, 0xaf, 0xae, 0xe9,
- 0x18, 0x51, 0xbf, 0xe9, 0x4b, 0x55, 0x16, 0xd3, 0x1c, 0x6d, 0x2b, 0x41,
- 0x62, 0xea, 0x7e, 0xc2, 0x72, 0x86, 0xcc, 0x31, 0x8c, 0xb2, 0x27, 0xdd,
- 0x74, 0xc6, 0x98, 0xdf, 0xe4, 0xe8, 0xec, 0xdd, 0xbb, 0xe3, 0xa3, 0x6e,
- 0xa4, 0xd0, 0x65, 0x35, 0xc0, 0x43, 0x2b, 0xaa, 0x7e, 0x50, 0x15, 0x10,
- 0x5f, 0x67, 0xba, 0x77, 0x1b, 0x7e, 0xe1, 0x1e, 0xa0, 0x66, 0x10, 0x67,
- 0xe2, 0xe0, 0xd7, 0x92, 0xd2, 0x23, 0x94, 0xa0, 0xbc, 0x03, 0x22, 0x39,
- 0x63, 0xc1, 0x7e, 0x70, 0xde, 0x08, 0xb8, 0xa5, 0xa8, 0x64, 0x24, 0x6b,
- 0xa0, 0x30, 0x31, 0xb5, 0x07, 0x5c, 0x39, 0x71, 0x3a, 0xdd, 0x11, 0x4c,
- 0xb4, 0xd4, 0x3c, 0x0f, 0x8d, 0x19, 0xbb, 0x97, 0x99, 0x42, 0x8c, 0x52,
- 0x4f, 0x06, 0xe5, 0x15, 0x17, 0x28, 0x9d, 0xa7, 0xd5, 0x47, 0x8a, 0x34,
- 0x7a, 0x49, 0x28, 0x48, 0x43, 0x04, 0xa1, 0xf1, 0x74, 0x1a, 0xcb, 0x6f,
- 0x4f, 0xe1, 0xf2, 0xf5, 0x20, 0xf7, 0xd2, 0x21, 0xa9, 0xe8, 0x77, 0xa0,
- 0xd9, 0x81, 0xf4, 0x7a, 0x91, 0xdd, 0xd1, 0x67, 0x98, 0xd6, 0x83, 0xf2,
- 0xd4, 0xc3, 0x0a, 0x01, 0xcc, 0x4a, 0xcd, 0x1e, 0xfa, 0x7b, 0xc9, 0x8f,
- 0xa7, 0xb5, 0x9a, 0x33, 0x03, 0x3f, 0x78, 0x7e, 0xa9, 0xac, 0x15, 0x67,
- 0x96, 0x04, 0x73, 0xf5, 0x8d, 0xb2, 0xfe, 0x79, 0x00, 0x3d, 0xae, 0xf2,
- 0xd3, 0x26, 0x22, 0x73, 0x9c, 0x3c, 0xe3, 0xcc, 0x67, 0xf0, 0x5b, 0x15,
- 0x4d, 0xc6, 0x7c, 0x63, 0x21, 0xc8, 0x5e, 0x91, 0xea, 0x09, 0xf2, 0xba,
- 0x2e, 0x6e, 0xba, 0x22, 0x8e, 0x36, 0x22, 0xf2, 0x6d, 0x18, 0xce, 0x10,
- 0x62, 0xcf, 0xba, 0x1c, 0xb2, 0xe0, 0x3e, 0x85, 0xc3, 0x91, 0x78, 0xd5,
- 0xae, 0x01, 0xa1, 0x67, 0x28, 0x3c, 0x8e, 0x6b, 0xa0, 0xe8, 0x02, 0xd5,
- 0x8a, 0x0c, 0xb3, 0xbe, 0x56, 0xd2, 0xa6, 0xfd, 0x6a, 0x26, 0x98, 0x96,
- 0x42, 0xa6, 0x5f, 0x59, 0x52, 0xd8, 0xa1, 0x2f, 0x47, 0x38, 0x2f, 0x16,
- 0xcb, 0x26, 0x08, 0xcb, 0x11, 0x67, 0x14, 0x33, 0x05, 0xfc, 0x79, 0x10,
- 0xd6, 0x58, 0x4a, 0xa7, 0xfe, 0xaa, 0x42, 0x84, 0xc3, 0xfa, 0xaf, 0x1b,
- 0x23, 0x00, 0xd6, 0x7a, 0x69, 0x7d, 0x9b, 0xc6, 0x19, 0x35, 0x82, 0x3f,
- 0xe7, 0x38, 0xaa, 0xdb, 0xae, 0x3b, 0x70, 0x2f, 0x74, 0x77, 0x83, 0x7d,
- 0x4b, 0x85, 0xc4, 0x3a, 0x56, 0x10, 0xf0, 0x16, 0x76, 0xe4, 0x9f, 0xb1,
- 0x73, 0xc8, 0xfb, 0x94, 0xad, 0xba, 0x96, 0x3e, 0x32, 0x11, 0x25, 0x3f,
- 0xf4, 0xdb, 0xdf, 0x4d, 0xeb, 0x6b, 0xa5, 0xbb, 0xcb, 0xd1, 0x3e, 0xf7,
- 0x7b, 0xf4, 0x20, 0x5a, 0x7c, 0xbc, 0xf5, 0xed, 0xc7, 0x7f, 0x36, 0x20,
- 0xd0, 0x7b, 0xc0, 0x2f, 0xe7, 0x6e, 0xde, 0x07, 0xf9, 0x21, 0x21, 0x75,
- 0x03, 0xa8, 0xab, 0x77, 0x27, 0xaf, 0xbd, 0x85, 0x1d, 0x21, 0x80, 0x7f,
- 0x11, 0x47, 0xc2, 0xdf, 0xb1, 0x8e, 0x48, 0x38, 0xe7, 0x71, 0x97, 0xf2,
- 0x83, 0x97, 0x70, 0x2b, 0x9d, 0xb4, 0x8b, 0xb4, 0xb2, 0xd9, 0x64, 0x8f,
- 0x9f, 0xb8, 0x30, 0x85, 0xf2, 0x1f, 0x53, 0x58, 0x90, 0xc2, 0xd6, 0x52,
- 0x57, 0xf0, 0x89, 0xd6, 0x24, 0x3c, 0xe6, 0x5e, 0x0a, 0xa6, 0xc4, 0xad,
- 0x41, 0x44, 0x5b, 0x09, 0x67, 0x61, 0x1d, 0x90, 0xde, 0x6d, 0x4f, 0x3c,
- 0xf5, 0x9b, 0x1f, 0x8b, 0xff, 0x3e, 0x28, 0x70, 0xcf, 0x33, 0x11, 0x81,
- 0x81, 0xff, 0x3f, 0x14, 0xf8, 0xff, 0x43, 0x81, 0xff, 0xc3, 0x28, 0xf0,
- 0xdf, 0x12, 0x8f, 0x8c, 0xd3, 0x43, 0xeb, 0x91, 0x4f, 0x24, 0xc1, 0xe6,
- 0xe5, 0x4a, 0x9e, 0x54, 0xab, 0x6d, 0x05, 0x1c, 0x73, 0x5e, 0xdc, 0x56,
- 0xda, 0x62, 0xb5, 0xc6, 0xaa, 0xef, 0x01, 0xeb, 0x91, 0x6c, 0x96, 0x08,
- 0xa2, 0xcc, 0x8f, 0xaa, 0x3e, 0x89, 0x9d, 0xf5, 0xba, 0x9e, 0x0d, 0xd0,
- 0x03, 0x4a, 0x7e, 0x0d, 0x2c, 0x45, 0x27, 0x69, 0x3a, 0xcf, 0xfd, 0xf6,
- 0x42, 0xa7, 0x99, 0xd5, 0x24, 0x09, 0x1f, 0xa3, 0x10, 0xf8, 0x8f, 0xfe,
- 0x1e, 0xfd, 0xb0, 0x10, 0xa0, 0x97, 0x8c, 0xef, 0x59, 0xdb, 0x13, 0xfb,
- 0xf0, 0xef, 0xd1, 0x13, 0xa4, 0xd4, 0x46, 0xf7, 0x50, 0xab, 0x0f, 0x78,
- 0xec, 0xf7, 0xf8, 0xfe, 0xed, 0xde, 0xaa, 0xcf, 0xa2, 0x00, 0x20, 0x9e,
- 0xf8, 0x0d, 0x3f, 0xfc, 0xde, 0x9a, 0xf4, 0x9c, 0x7e, 0xfc, 0x92, 0xfe,
- 0x7b, 0xa0, 0x33, 0xbc, 0xae, 0xb2, 0x50, 0xab, 0x5a, 0x54, 0xab, 0x6a,
- 0xae, 0x96, 0x35, 0x16, 0x0c, 0xdd, 0xfa, 0x04, 0xff, 0xd5, 0x19, 0xfc,
- 0xec, 0x0f, 0x4f, 0x94, 0xce, 0x95, 0xa9, 0xb6, 0x07, 0x4a, 0x04, 0xc5,
- 0x94, 0x07, 0xcc, 0x42, 0x41, 0x1d, 0x30, 0x66, 0x1d, 0xb3, 0xa2, 0x74,
- 0x59, 0x70, 0xac, 0x12, 0x60, 0x7a, 0x14, 0xd3, 0x5d, 0xd8, 0x5a, 0xe1,
- 0x4f, 0x32, 0xaf, 0x6c, 0x2b, 0x31, 0x2d, 0x40, 0x56, 0xcc, 0x98, 0x30,
- 0x6d, 0xe5, 0x04, 0x40, 0x60, 0x83, 0x65, 0xc0, 0x67, 0x0f, 0x19, 0xb3,
- 0xd3, 0x21, 0x28, 0x09, 0x22, 0x31, 0x6f, 0xbd, 0x33, 0x3d, 0x30, 0x99,
- 0x27, 0x22, 0x0f, 0x92, 0xde, 0xe0, 0x7d, 0x72, 0xd0, 0xfb, 0x1d, 0x25,
- 0xa9, 0xe7, 0xda, 0xf9, 0xd5, 0x40, 0xd5, 0x75, 0xb0, 0x4d, 0x0f, 0xba,
- 0x27, 0x6a, 0xc5, 0x43, 0x78, 0xcd, 0x2b, 0xe2, 0xce, 0x4d, 0xde, 0x75,
- 0x17, 0x20, 0x82, 0x7d, 0x24, 0x7c, 0x07, 0xc3, 0x29, 0xec, 0xe8, 0x1a,
- 0xe4, 0x8d, 0x22, 0xfd, 0xde, 0x0f, 0xb8, 0xbc, 0x0f, 0x2a, 0x91, 0x3a,
- 0x3c, 0x67, 0x0b, 0xc1, 0xe9, 0x00, 0x9c, 0x04, 0x18, 0x70, 0xf0, 0x4d,
- 0x80, 0x98, 0xd9, 0xef, 0x84, 0xd2, 0xed, 0x81, 0x3b, 0x07, 0x4c, 0xa3,
- 0xab, 0xc1, 0x9b, 0x46, 0x89, 0xf3, 0x02, 0x60, 0x8e, 0x16, 0x8c, 0xbc,
- 0x16, 0xf1, 0xd0, 0x0b, 0xf6, 0x21, 0x78, 0xa2, 0x3f, 0x0b, 0x0a, 0x3e,
- 0xf9, 0x47, 0x5f, 0x9b, 0xba, 0xcd, 0x53, 0x8e, 0x69, 0xf2, 0x34, 0xca,
- 0x87, 0x78, 0x3e, 0xb5, 0xe4, 0xea, 0x5a, 0xe7, 0x36, 0x33, 0x29, 0x44,
- 0xf2, 0xaf, 0xde, 0x8d, 0x46, 0x21, 0x86, 0xb3, 0x30, 0xf7, 0x7d, 0x79,
- 0x5d, 0xe4, 0x7f, 0x07, 0xeb, 0x00, 0xc5, 0x05, 0xba, 0xd0, 0xab, 0x16,
- 0x8c, 0x56, 0xe3, 0x5c, 0xc4, 0xad, 0x43, 0xd1, 0xc7, 0xee, 0x6a, 0x08,
- 0x82, 0x04, 0x42, 0x8a, 0x60, 0x10, 0xc4, 0x4d, 0x22, 0xf3, 0xc8, 0xf5,
- 0xb5, 0xb9, 0xd2, 0x82, 0x20, 0x55, 0x75, 0x74, 0xf2, 0xe1, 0x60, 0x71,
- 0x75, 0x57, 0x08, 0x54, 0xf1, 0xbf, 0x01, 0xe6, 0x35, 0xce, 0xac, 0x91,
- 0x7d, 0xca, 0x6b, 0x28, 0x89, 0xbe, 0xc4, 0xf0, 0x12, 0xf3, 0x95, 0xba,
- 0x33, 0xac, 0xd5, 0x74, 0xe3, 0xa0, 0xca, 0x2c, 0x78, 0x1f, 0xc5, 0x60,
- 0x64, 0x1a, 0x6a, 0x62, 0x14, 0xfd, 0x11, 0xf2, 0x22, 0xeb, 0x3a, 0x7c,
- 0x04, 0x6b, 0x11, 0xf9, 0xc6, 0x94, 0x78, 0x56, 0x5c, 0x54, 0x60, 0x64,
- 0xe7, 0x62, 0x7f, 0x19, 0x53, 0x0d, 0x51, 0xa7, 0xdc, 0x91, 0xe4, 0x03,
- 0x1b, 0xad, 0x17, 0xb6, 0x20, 0x4e, 0x7f, 0xd2, 0x67, 0x51, 0xd5, 0x4f,
- 0x52, 0x2c, 0x32, 0x94, 0xdd, 0x45, 0x03, 0x54, 0x85, 0x06, 0xa9, 0x00,
- 0xea, 0x0d, 0x33, 0xbf, 0xa6, 0xec, 0x02, 0xdd, 0x15, 0xdd, 0xad, 0xa5,
- 0x34, 0xc0, 0x5e, 0x17, 0x39, 0xf4, 0x2a, 0x6e, 0x33, 0x5b, 0xdf, 0xc6,
- 0x51, 0x7d, 0x23, 0xab, 0x57, 0x8a, 0xa2, 0x87, 0x74, 0x83, 0x3a, 0x4d,
- 0xcd, 0xd2, 0x28, 0xc7, 0x44, 0x0e, 0xc8, 0xd8, 0x77, 0xbb, 0x57, 0xfa,
- 0x24, 0x7d, 0x58, 0xe4, 0x8a, 0xf1, 0x3b, 0x58, 0xa8, 0x94, 0xed, 0x0e,
- 0xf6, 0x5e, 0x1a, 0x59, 0x51, 0x1c, 0xfa, 0xff, 0x0e, 0xa8, 0xb4, 0xbb,
- 0x29, 0xe8, 0xd6, 0x09, 0xef, 0x09, 0x40, 0x0d, 0xc8, 0xc8, 0x61, 0x6c,
- 0xc1, 0x5d, 0x6a, 0x19, 0xea, 0xa3, 0x4a, 0x7a, 0xfc, 0x30, 0xf5, 0xdb,
- 0xe8, 0xb0, 0x2c, 0x90, 0x91, 0x5b, 0x22, 0x35, 0xb6, 0x57, 0x10, 0x38,
- 0x64, 0x94, 0xa8, 0x39, 0xcd, 0x84, 0x7c, 0xe5, 0x4f, 0x8e, 0x21, 0xfe,
- 0xf7, 0x36, 0x73, 0xf6, 0x8c, 0x6c, 0x7e, 0xe9, 0xdd, 0xc7, 0x5f, 0x3e,
- 0x78, 0x21, 0xe3, 0x9c, 0xd1, 0x6b, 0x8e, 0xdc, 0xcc, 0x93, 0x77, 0x8e,
- 0xe5, 0xa4, 0x8e, 0x31, 0xb2, 0xd9, 0x66, 0x44, 0xd8, 0x59, 0xf1, 0x46,
- 0x58, 0x13, 0x7a, 0x7f, 0x85, 0x80, 0xcb, 0x94, 0xed, 0x48, 0x09, 0xb4,
- 0x8d, 0x44, 0x1f, 0x67, 0xcd, 0x5d, 0x96, 0x09, 0x9f, 0x9d, 0x4e, 0xa4,
- 0x27, 0x05, 0x64, 0x8a, 0x56, 0x06, 0x91, 0xfb, 0x1c, 0xa4, 0x27, 0x81,
- 0xc2, 0x14, 0x8d, 0xb6, 0x2e, 0xb5, 0xc6, 0x4a, 0x82, 0xd3, 0x97, 0xc4,
- 0x4a, 0x3e, 0xb8, 0xb8, 0x4f, 0x6b, 0x6e, 0x14, 0xe2, 0xd6, 0x02, 0xb4,
- 0x2b, 0x1c, 0x40, 0x1e, 0xf4, 0xdd, 0x66, 0xf6, 0x18, 0xcb, 0xb1, 0x8d,
- 0x3a, 0x14, 0x6c, 0x52, 0x0e, 0x77, 0x47, 0x97, 0xdf, 0xd3, 0xb4, 0xda,
- 0x6e, 0x77, 0xac, 0x3d, 0x6e, 0xc7, 0x48, 0xce, 0x97, 0x36, 0xa4, 0xb7,
- 0x28, 0xbc, 0xd5, 0x3c, 0x15, 0x12, 0xe6, 0x61, 0xf9, 0x61, 0xe7, 0x61,
- 0xf5, 0xb1, 0xd0, 0x61, 0xd2, 0x38, 0xe7, 0x19, 0xe1, 0x8b, 0xe4, 0xb8,
- 0xe6, 0x4a, 0x61, 0x40, 0x1f, 0x1b, 0x20, 0x18, 0xe5, 0x64, 0x25, 0xb3,
- 0x25, 0x99, 0xaf, 0x04, 0xee, 0x7f, 0xf3, 0xd5, 0x74, 0x61, 0x3e, 0x44,
- 0xce, 0x7d, 0xb0, 0x14, 0x4e, 0x3d, 0x89, 0xc7, 0x79, 0x3f, 0xb2, 0x20,
- 0xba, 0x56, 0xae, 0x92, 0x7a, 0x08, 0x55, 0x0c, 0xb8, 0x4b, 0x35, 0xd9,
- 0x88, 0xe5, 0x92, 0xc0, 0x5c, 0xc5, 0x1f, 0xa1, 0x21, 0x2c, 0x71, 0x94,
- 0xd2, 0xae, 0x8c, 0x13, 0xf9, 0x08, 0xdf, 0x55, 0x21, 0x69, 0x4d, 0x1d,
- 0x81, 0x1d, 0xd6, 0xe2, 0xbd, 0x64, 0x42, 0x2c, 0x64, 0x25, 0xf0, 0xf7,
- 0x5d, 0x4c, 0x4e, 0xf0, 0x37, 0x5a, 0x80, 0x89, 0x5d, 0x9f, 0xd4, 0xbe,
- 0x94, 0x53, 0x8c, 0x18, 0x0d, 0xc2, 0x1e, 0xa2, 0xaf, 0x08, 0x89, 0xa6,
- 0x7c, 0xc0, 0x56, 0xaa, 0x5b, 0x15, 0x53, 0x88, 0xc5, 0x5f, 0x5b, 0xc2,
- 0x41, 0xbc, 0x86, 0x11, 0xaf, 0xfa, 0xd6, 0x88, 0xca, 0x12, 0x8c, 0x8e,
- 0xce, 0xb7, 0x93, 0xf3, 0x8e, 0x43, 0x10, 0xd0, 0x7c, 0xba, 0xb3, 0x7d,
- 0x71, 0x2f, 0xa5, 0x81, 0x98, 0x23, 0x6d, 0xb5, 0xf3, 0x48, 0x99, 0x29,
- 0x2d, 0x1b, 0x20, 0x82, 0x36, 0xbf, 0xb9, 0xfc, 0xeb, 0x8c, 0xe5, 0x10,
- 0x74, 0x20, 0xcc, 0x10, 0x20, 0x7e, 0x2a, 0x5f, 0x1a, 0x18, 0xb3, 0xae,
- 0xa4, 0x84, 0x13, 0xae, 0xc5, 0x21, 0xee, 0x34, 0x75, 0x83, 0xcd, 0x02,
- 0x98, 0x12, 0x1c, 0x6f, 0x16, 0x37, 0xea, 0x71, 0xa1, 0x48, 0x55, 0xac,
- 0x9a, 0x6f, 0xbf, 0x4e, 0x31, 0x25, 0x1a, 0xc5, 0x75, 0x56, 0x84, 0xfc,
- 0xf7, 0xf8, 0x28, 0xe9, 0x0b, 0xb2, 0x81, 0xa7, 0xc3, 0x2e, 0xff, 0xaa,
- 0xe7, 0xf0, 0x93, 0xce, 0xf9, 0x85, 0xa6, 0x56, 0x70, 0xb4, 0xe1, 0x6c,
- 0x8f, 0x91, 0x06, 0xf3, 0x91, 0x44, 0xef, 0x35, 0xb9, 0x58, 0x1b, 0x5c,
- 0xa5, 0x8b, 0x7b, 0x9a, 0x0e, 0xf3, 0x60, 0x5d, 0xdf, 0xec, 0x1b, 0x01,
- 0xb5, 0x3f, 0xfc, 0x1c, 0x96, 0x90, 0xd1, 0x09, 0x22, 0x84, 0x8e, 0x1c,
- 0xf7, 0x95, 0xe2, 0x79, 0x9d, 0xd6, 0x44, 0xd9, 0x1f, 0x3a, 0xfb, 0x62,
- 0xf0, 0x3f, 0x68, 0xa7, 0xfd, 0x6d, 0x19, 0x7a, 0xde, 0xb7, 0xb0, 0xa1,
- 0xde, 0x70, 0x39, 0x54, 0xa2, 0xe4, 0xa7, 0x18, 0xe1, 0x38, 0x6f, 0xc0,
- 0xac, 0xac, 0xfc, 0x41, 0xed, 0x63, 0xf9, 0x86, 0x53, 0xff, 0x12, 0xbc,
- 0x16, 0xcd, 0x18, 0x35, 0xaa, 0xfe, 0xff, 0xa0, 0x6f, 0x69, 0x03, 0x0c,
- 0x7b, 0x46, 0x1c, 0xf3, 0xab, 0xe3, 0x37, 0x67, 0x17, 0xc7, 0xed, 0xac,
- 0x9d, 0x06, 0xb5, 0x60, 0x10, 0xa6, 0xeb, 0xf6, 0x0e, 0xb4, 0x48, 0x9c,
- 0x58, 0xca, 0x01, 0xc6, 0x9c, 0x40, 0x96, 0xc9, 0xf9, 0xf7, 0xaf, 0x6d,
- 0xe7, 0x48, 0x13, 0x29, 0xb8, 0x53, 0xae, 0xc2, 0xb7, 0xcc, 0x73, 0x57,
- 0x83, 0x20, 0x65, 0x63, 0x7b, 0x48, 0xe2, 0x80, 0x43, 0x90, 0xda, 0x3d,
- 0x84, 0x47, 0x39, 0xac, 0xcd, 0x1f, 0x4b, 0x99, 0x85, 0xb7, 0xae, 0x29,
- 0x29, 0xd5, 0x36, 0x1b, 0xa8, 0xd7, 0x50, 0x30, 0x40, 0x3e, 0x23, 0x36,
- 0x2f, 0x51, 0x0f, 0x11, 0x1b, 0xd1, 0x30, 0xb1, 0x1f, 0x71, 0x5f, 0xe1,
- 0x72, 0xd6, 0x50, 0x5f, 0xf0, 0x95, 0x58, 0x1c, 0x9e, 0x2a, 0xf1, 0xb2,
- 0xf7, 0x92, 0x2f, 0x55, 0x62, 0x91, 0x47, 0xdd, 0x50, 0x2d, 0x83, 0xd2,
- 0x67, 0xaa, 0x28, 0x71, 0xd4, 0xfa, 0xf3, 0x18, 0x89, 0x6d, 0x99, 0xcf,
- 0x6e, 0xd5, 0xdb, 0x7d, 0xaf, 0xa7, 0x76, 0xda, 0xa4, 0xc3, 0x9b, 0x7f,
- 0xda, 0x4c, 0x04, 0xce, 0x0d, 0x81, 0xc7, 0x57, 0xfd, 0x8a, 0xf2, 0x67,
- 0xae, 0x1a, 0xce, 0xf6, 0x43, 0xd8, 0x0b, 0x1d, 0xf4, 0x6a, 0x1b, 0x4d,
- 0x93, 0x8b, 0x25, 0x22, 0xcf, 0x95, 0xe9, 0x28, 0x4a, 0xca, 0xd5, 0x3c,
- 0xca, 0xc2, 0x82, 0x47, 0xb5, 0xad, 0x7e, 0x24, 0x81, 0x95, 0x1c, 0x3f,
- 0x95, 0x5f, 0xb4, 0x44, 0x45, 0x0e, 0xbc, 0xdd, 0xca, 0x7b, 0xce, 0xe5,
- 0xd2, 0xb4, 0xf4, 0xc8, 0x7d, 0xd1, 0xd0, 0x69, 0x85, 0x60, 0x09, 0x26,
- 0xad, 0xc2, 0x85, 0xc4, 0xfb, 0xc9, 0x6d, 0xdf, 0x1a, 0xa9, 0xe2, 0x2f,
- 0x9e, 0xbd, 0x20, 0x35, 0x02, 0x10, 0x03, 0x29, 0x11, 0x23, 0x34, 0xa1,
- 0x08, 0x7e, 0x84, 0x04, 0x9a, 0x9d, 0x01, 0x68, 0x61, 0xcf, 0x71, 0x86,
- 0x92, 0xb5, 0x25, 0x4e, 0x90, 0x63, 0x1a, 0x7d, 0x64, 0xac, 0xbb, 0x8d,
- 0xdf, 0x1d, 0xb2, 0x7a, 0x62, 0x56, 0x21, 0xfd, 0x28, 0xf9, 0xc3, 0xa4,
- 0xa9, 0xac, 0x3a, 0x9a, 0x7d, 0xbb, 0x6d, 0x35, 0x12, 0xc0, 0xdb, 0xc1,
- 0x32, 0xab, 0x1b, 0xd1, 0x9d, 0x55, 0x79, 0xfd, 0x31, 0xd9, 0xfa, 0xb7,
- 0x6d, 0x5b, 0x11, 0x38, 0x82, 0x94, 0x24, 0xd7, 0x64, 0x5e, 0x2c, 0xb3,
- 0x56, 0xb5, 0x68, 0x6d, 0xed, 0x0a, 0x15, 0x8c, 0x88, 0x8f, 0x32, 0x96,
- 0xf4, 0x42, 0x05, 0x3b, 0x17, 0x41, 0x81, 0x09, 0xc9, 0x57, 0x96, 0x5d,
- 0x10, 0xde, 0x9a, 0x58, 0x11, 0x50, 0xaf, 0x8a, 0x97, 0x50, 0xd5, 0xa7,
- 0x61, 0xf2, 0xbe, 0x80, 0x76, 0x23, 0x7b, 0x53, 0xee, 0x92, 0xbc, 0x30,
- 0x03, 0x31, 0x63, 0x35, 0xb7, 0x49, 0x44, 0x50, 0xfd, 0xad, 0x2d, 0x9f,
- 0x44, 0x90, 0x76, 0xc2, 0x1f, 0x38, 0xd9, 0x5a, 0x83, 0xc5, 0x8a, 0xb6,
- 0xe4, 0x4d, 0x58, 0x92, 0x89, 0xab, 0xc9, 0x48, 0xe5, 0x72, 0xb4, 0x4d,
- 0x01, 0xae, 0x6c, 0x36, 0x1b, 0x30, 0x55, 0x2f, 0x11, 0x97, 0x92, 0x9d,
- 0xc1, 0xe9, 0x84, 0x00, 0xa8, 0xf8, 0x36, 0x58, 0x70, 0xfb, 0x20, 0x2b,
- 0x12, 0xb4, 0x78, 0x4a, 0x27, 0x20, 0xa8, 0x56, 0x24, 0x27, 0x50, 0xb1,
- 0xf7, 0xd9, 0xcc, 0x31, 0xc4, 0xf0, 0xe4, 0xf0, 0x90, 0x56, 0xd5, 0x4f,
- 0x09, 0xb9, 0xef, 0x26, 0x37, 0xd7, 0xd5, 0x82, 0x0b, 0x39, 0xc5, 0xaa,
- 0x4c, 0xf9, 0x06, 0x00, 0x3f, 0xaa, 0xab, 0x5b, 0x67, 0x0d, 0x77, 0x86,
- 0xdf, 0x3d, 0x79, 0xdd, 0x2a, 0x0a, 0x4b, 0x53, 0x11, 0xa9, 0x6f, 0xe2,
- 0x79, 0x38, 0xa4, 0xc6, 0x9b, 0x39, 0xb1, 0xee, 0x6e, 0xb1, 0x4d, 0x39,
- 0x6b, 0x67, 0xac, 0x0c, 0xab, 0xf8, 0x5d, 0xbc, 0x39, 0x69, 0x85, 0xb5,
- 0x59, 0x6e, 0x43, 0x1b, 0xc6, 0x56, 0xd1, 0x92, 0xc5, 0xb4, 0x19, 0xa8,
- 0x30, 0xb9, 0x7e, 0x26, 0x04, 0x41, 0xdd, 0xcc, 0xcb, 0x29, 0xe5, 0x6c,
- 0x64, 0x0f, 0xcf, 0xc5, 0xbc, 0x9c, 0x7a, 0x07, 0x47, 0x12, 0x5e, 0x6a,
- 0xcb, 0xdb, 0x37, 0xcb, 0xb8, 0x9d, 0x31, 0x85, 0x08, 0x79, 0x66, 0xe2,
- 0xcd, 0xb9, 0xa1, 0x6a, 0x61, 0x35, 0x79, 0xd3, 0x1f, 0x42, 0x91, 0x94,
- 0x93, 0xc6, 0x1b, 0x01, 0x3d, 0x10, 0x6f, 0x8e, 0x85, 0x6f, 0x64, 0x64,
- 0x94, 0x00, 0x01, 0xe3, 0x76, 0xfd, 0xc8, 0xf8, 0xc1, 0x60, 0x91, 0xcd,
- 0x0f, 0x1d, 0xc1, 0x61, 0x6b, 0x85, 0x57, 0x8f, 0x2c, 0xb6, 0xc2, 0xe8,
- 0x41, 0x77, 0x81, 0xb9, 0xb8, 0x28, 0x88, 0x57, 0xe9, 0xf1, 0x41, 0xbc,
- 0x39, 0xbb, 0xc2, 0xc2, 0xa8, 0xba, 0x66, 0x81, 0xe5, 0x2b, 0xc1, 0x2c,
- 0xcc, 0x8c, 0x88, 0x34, 0x5a, 0xf0, 0x24, 0xfb, 0xc0, 0x15, 0x0e, 0xa9,
- 0x4e, 0x7d, 0xf3, 0x61, 0xfd, 0x84, 0xcc, 0x24, 0xef, 0xf8, 0x7e, 0x8e,
- 0xca, 0xa8, 0x56, 0x58, 0x08, 0x89, 0x61, 0x2a, 0x79, 0xb8, 0x46, 0x09,
- 0xc4, 0xef, 0xa3, 0xb5, 0x19, 0x74, 0xdb, 0xbb, 0xef, 0x25, 0xb6, 0x42,
- 0xfc, 0xa2, 0xcc, 0x0b, 0xcb, 0xf9, 0xc0, 0x32, 0xc6, 0xeb, 0x62, 0x12,
- 0xe3, 0xbc, 0x58, 0x17, 0x68, 0x99, 0x7f, 0xa4, 0x14, 0x0a, 0xab, 0x28,
- 0x7c, 0x88, 0x50, 0xd0, 0xfb, 0xfb, 0x98, 0x1f, 0x77, 0xfb, 0x98, 0x47,
- 0xa5, 0xdb, 0xd8, 0x15, 0xd1, 0x7b, 0x78, 0xb5, 0xdb, 0x9f, 0xb4, 0x67,
- 0xb2, 0xdb, 0xbf, 0xc5, 0xdd, 0xd4, 0x7a, 0x85, 0xcc, 0x5f, 0xf5, 0xc3,
- 0x7a, 0xff, 0x03, 0xbb, 0xa8, 0x35, 0x2a, 0x09, 0xa1, 0xc0, 0x8d, 0x5d,
- 0x29, 0xd1, 0xea, 0x8a, 0xa9, 0x00, 0xff, 0x6a, 0xa0, 0x25, 0x05, 0x1f,
- 0xaf, 0x50, 0x6e, 0x53, 0x26, 0x58, 0x96, 0x63, 0xf5, 0xe4, 0xc8, 0xd3,
- 0xae, 0x8b, 0x2c, 0xdf, 0xfd, 0x7a, 0xda, 0xe1, 0x04, 0xad, 0x16, 0x78,
- 0xf2, 0xd5, 0xce, 0x81, 0x98, 0x66, 0xe4, 0x24, 0x96, 0xad, 0x40, 0x88,
- 0x0c, 0x6e, 0x48, 0xe5, 0xde, 0xba, 0x8d, 0xb4, 0x72, 0x8e, 0xab, 0xf9,
- 0x03, 0x87, 0xdc, 0x3c, 0xe0, 0x46, 0xc5, 0x59, 0xeb, 0x76, 0x54, 0xc1,
- 0xc9, 0x94, 0x63, 0xbc, 0x62, 0xe6, 0x57, 0xf5, 0xa0, 0xb5, 0x0b, 0xd7,
- 0xf5, 0x84, 0x1e, 0x8c, 0x75, 0xc6, 0x4d, 0x2d, 0xd2, 0xe2, 0xee, 0x3d,
- 0x49, 0x19, 0x6f, 0x4e, 0xba, 0xeb, 0xde, 0x93, 0xe9, 0xe9, 0x7b, 0x8e,
- 0x54, 0x66, 0xac, 0x37, 0xc6, 0x65, 0xb8, 0x37, 0xf4, 0x80, 0xff, 0x22,
- 0x01, 0x41, 0x56, 0xfc, 0xac, 0xf0, 0xed, 0x76, 0xfa, 0xa2, 0xb9, 0x7b,
- 0xd7, 0x80, 0xd5, 0xbd, 0x68, 0xab, 0x5d, 0x70, 0xae, 0x7f, 0x88, 0x50,
- 0x21, 0x00, 0x37, 0x00, 0xa2, 0xa1, 0xe0, 0x89, 0x28, 0xb2, 0x20, 0xeb,
- 0x99, 0x12, 0x95, 0x7c, 0x88, 0x8c, 0xe5, 0x4f, 0x32, 0x2a, 0x03, 0x93,
- 0x0a, 0x8e, 0x01, 0x51, 0x43, 0xb4, 0xba, 0x62, 0x9d, 0x89, 0x2d, 0xa1,
- 0x8f, 0x27, 0xcc, 0x4e, 0x1f, 0x56, 0x95, 0xec, 0x80, 0x63, 0xea, 0x61,
- 0xc0, 0xea, 0x9a, 0x5d, 0x4f, 0xfd, 0x12, 0xad, 0xde, 0xf0, 0xab, 0x3e,
- 0x4f, 0xc1, 0xb5, 0x19, 0x3c, 0xfe, 0x88, 0xc2, 0xc0, 0x59, 0xb1, 0x86,
- 0xba, 0x42, 0xe9, 0xc8, 0xdb, 0xc9, 0x45, 0x46, 0x79, 0x8f, 0xb7, 0x24,
- 0x4d, 0xc7, 0xf7, 0xe6, 0xe0, 0x73, 0x0b, 0x5b, 0xf9, 0x30, 0x13, 0xd8,
- 0x2f, 0xa9, 0x48, 0x44, 0xfc, 0x1c, 0xe8, 0x34, 0x66, 0x6b, 0x6c, 0xb3,
- 0xc1, 0x9f, 0x72, 0x8d, 0x9e, 0xbd, 0xe1, 0x5e, 0x9f, 0x2b, 0x75, 0x56,
- 0xaa, 0x2e, 0xaa, 0x8d, 0x41, 0x3f, 0x49, 0x2d, 0xe3, 0x2c, 0x7d, 0xb9,
- 0xeb, 0x8d, 0xb8, 0xa0, 0xef, 0xd6, 0xa1, 0x8f, 0x1a, 0x7e, 0x6e, 0x67,
- 0xd6, 0xdc, 0xa5, 0xf7, 0xa1, 0xa2, 0xbe, 0x3b, 0x78, 0xfa, 0xe2, 0x45,
- 0xeb, 0x46, 0xaf, 0x3d, 0xba, 0xde, 0x67, 0xbb, 0xbb, 0x18, 0x5a, 0x90,
- 0xf5, 0x68, 0x7e, 0x31, 0x78, 0x81, 0x17, 0xdb, 0xaf, 0xd5, 0x99, 0x59,
- 0x82, 0xe9, 0xea, 0xf7, 0x06, 0xf4, 0x9b, 0xc8, 0xe7, 0xe0, 0x75, 0x59,
- 0xf9, 0xd6, 0x0b, 0xfa, 0x5c, 0xe4, 0x2d, 0x3c, 0xcc, 0xf3, 0x58, 0x5e,
- 0x5d, 0x91, 0xbf, 0x8b, 0x9e, 0x54, 0x16, 0x8b, 0xbb, 0xb4, 0x9a, 0x86,
- 0xc3, 0xdd, 0xed, 0x0f, 0xf6, 0x56, 0x0d, 0x17, 0x7c, 0xc3, 0x80, 0xb7,
- 0xd0, 0x72, 0x92, 0x39, 0x69, 0x0c, 0x09, 0x4e, 0x01, 0xe8, 0x36, 0xb4,
- 0x67, 0x7a, 0xb4, 0xf7, 0xe2, 0x45, 0x9f, 0x7a, 0xf6, 0xec, 0xc5, 0x8b,
- 0x95, 0x29, 0x9f, 0xde, 0x67, 0xee, 0x4a, 0xe7, 0xa4, 0xa2, 0xd7, 0xdd,
- 0x9e, 0xa9, 0xc9, 0x5e, 0x89, 0x7f, 0x87, 0x7e, 0x93, 0xbc, 0x4a, 0xde,
- 0x9d, 0x5d, 0x1e, 0x7b, 0xfe, 0x1b, 0xe7, 0x9f, 0xf5, 0x31, 0x60, 0x08,
- 0x08, 0x2f, 0x50, 0x33, 0x06, 0xf6, 0xb1, 0x31, 0xb6, 0x42, 0x94, 0x03,
- 0xe0, 0xe8, 0xea, 0x39, 0xfc, 0x97, 0xee, 0xe7, 0xce, 0x0a, 0x14, 0x86,
- 0xb9, 0xce, 0x1b, 0x9f, 0xe1, 0x64, 0xcb, 0x2c, 0xf6, 0x36, 0xfc, 0x20,
- 0xb7, 0xe9, 0x2c, 0xb7, 0x91, 0x9d, 0xcd, 0x9a, 0xd0, 0xdb, 0x0c, 0x74,
- 0xa3, 0x7f, 0x94, 0x8b, 0xcd, 0x00, 0x40, 0x9d, 0xcd, 0xc8, 0x79, 0x20,
- 0x37, 0x21, 0xbf, 0x30, 0xc0, 0x93, 0x72, 0x5a, 0x60, 0xd0, 0x72, 0x61,
- 0xda, 0x14, 0xde, 0x65, 0xff, 0xe3, 0x91, 0xe0, 0x0e, 0x9c, 0x5e, 0xc0,
- 0x6d, 0x6a, 0xea, 0x05, 0x35, 0xe3, 0x43, 0xe1, 0x36, 0x6b, 0xe7, 0x18,
- 0xb5, 0x3e, 0xbc, 0x22, 0x0e, 0x78, 0x40, 0x44, 0x61, 0x9a, 0x2d, 0x14,
- 0x32, 0x56, 0xb4, 0xdb, 0x31, 0x7b, 0xf9, 0x2a, 0xbf, 0x5e, 0x56, 0x71,
- 0x70, 0x15, 0x8c, 0x73, 0xc9, 0x04, 0x50, 0x72, 0xea, 0xf4, 0x2e, 0xd5,
- 0x0c, 0x04, 0x10, 0x8a, 0xeb, 0xe1, 0x56, 0x43, 0x59, 0x11, 0xff, 0xc4,
- 0x1c, 0x1e, 0xf8, 0xc5, 0x28, 0x47, 0xc3, 0xe8, 0x31, 0xe4, 0x47, 0x10,
- 0x64, 0x89, 0x30, 0x64, 0xa7, 0x8d, 0x4b, 0xbb, 0x50, 0x4f, 0xbb, 0x59,
- 0xec, 0xeb, 0x8c, 0xf3, 0x2f, 0x78, 0x0a, 0xba, 0x51, 0xbc, 0x72, 0xb9,
- 0x39, 0x73, 0x81, 0x04, 0x7a, 0x16, 0x3e, 0x99, 0x9b, 0xd2, 0x63, 0xa3,
- 0x0f, 0xd3, 0xb2, 0x49, 0xf2, 0x30, 0xcd, 0x02, 0xfe, 0xca, 0x8b, 0x64,
- 0x9e, 0xbf, 0x2b, 0x66, 0x65, 0x3a, 0xad, 0xa5, 0x62, 0xb6, 0xc4, 0xf7,
- 0x31, 0x59, 0x4c, 0xcf, 0x23, 0x4b, 0x1b, 0x30, 0x17, 0xd3, 0x4a, 0xf3,
- 0x1a, 0x27, 0x5b, 0x5a, 0xdd, 0x59, 0x77, 0xa8, 0xe7, 0x26, 0x61, 0x29,
- 0x45, 0x3b, 0x85, 0x93, 0xe0, 0xa9, 0x08, 0x6f, 0x68, 0xf8, 0xd2, 0x7e,
- 0xe7, 0xd5, 0xb2, 0x74, 0xea, 0xa8, 0xce, 0x46, 0x97, 0x24, 0x75, 0x57,
- 0x2f, 0xe4, 0xd1, 0xc9, 0xff, 0x3c, 0xfe, 0x3d, 0x43, 0x60, 0x55, 0x7a,
- 0x67, 0x53, 0x83, 0xa4, 0xd0, 0xbd, 0x84, 0xa6, 0x6c, 0x2e, 0x7a, 0x3a,
- 0x13, 0x2b, 0x9e, 0xaa, 0x59, 0xe3, 0xf6, 0x40, 0x8c, 0x53, 0x8a, 0x2f,
- 0x9a, 0x8d, 0x15, 0xee, 0x6d, 0x4a, 0xe0, 0xa9, 0x9c, 0x67, 0x11, 0x58,
- 0x53, 0xe4, 0x74, 0x60, 0x3d, 0x6c, 0xa8, 0xc4, 0x95, 0xd2, 0x9e, 0x73,
- 0x81, 0x7a, 0x14, 0x5b, 0x0c, 0x8a, 0x85, 0x14, 0xa0, 0x10, 0xa3, 0x6e,
- 0x99, 0xde, 0x3e, 0x50, 0xfd, 0xca, 0xcf, 0xa6, 0x45, 0xc1, 0xd4, 0x2a,
- 0xa3, 0x68, 0x59, 0x95, 0xbc, 0x7c, 0x7f, 0x71, 0xba, 0x22, 0x25, 0x6a,
- 0x84, 0x55, 0xa0, 0xe9, 0xea, 0x5d, 0x64, 0xe0, 0xfe, 0xa9, 0x92, 0xf3,
- 0xf4, 0x3a, 0xeb, 0xf9, 0x74, 0x4b, 0xaa, 0x2e, 0x62, 0x02, 0xc4, 0x09,
- 0x11, 0xf3, 0x14, 0xf9, 0xfc, 0xee, 0x24, 0xc6, 0x5d, 0x94, 0xda, 0xcf,
- 0x63, 0xba, 0x9a, 0xa5, 0x32, 0x7b, 0xcb, 0x0a, 0x65, 0xdc, 0xbf, 0x8f,
- 0x16, 0x49, 0xb1, 0x69, 0x2d, 0x1d, 0x42, 0x46, 0x1f, 0x57, 0x95, 0x2e,
- 0x68, 0x17, 0x25, 0xbd, 0x2f, 0xc8, 0x53, 0xdf, 0xd3, 0x6e, 0x0e, 0xb2,
- 0x18, 0xe1, 0x39, 0x4f, 0x05, 0xc5, 0xa9, 0x7d, 0x97, 0x52, 0xc7, 0xc7,
- 0xcf, 0xc1, 0x16, 0x8e, 0x73, 0x65, 0x44, 0x86, 0x58, 0xc7, 0xca, 0x03,
- 0x73, 0x8a, 0x71, 0xde, 0x68, 0xcd, 0x07, 0x30, 0x5c, 0x9d, 0x4a, 0xff,
- 0x0e, 0x24, 0x28, 0xc3, 0xda, 0x90, 0x76, 0xad, 0x05, 0x54, 0x8a, 0x0d,
- 0x36, 0x9d, 0x51, 0xe5, 0x05, 0xeb, 0xca, 0xa2, 0x31, 0x4e, 0x4b, 0x62,
- 0xeb, 0xa7, 0x2e, 0xa5, 0x85, 0xf5, 0x3b, 0xb7, 0x56, 0xf6, 0x77, 0xa7,
- 0x06, 0x73, 0x81, 0xa2, 0xc3, 0xbe, 0x94, 0x13, 0x19, 0x98, 0xdd, 0x51,
- 0x48, 0xb6, 0xab, 0xb7, 0xac, 0xde, 0xde, 0xfb, 0x8f, 0x7e, 0x94, 0x61,
- 0x7e, 0x05, 0x2b, 0xa6, 0xd7, 0xdd, 0x06, 0x38, 0x74, 0x2c, 0xe1, 0x59,
- 0xbf, 0x43, 0x72, 0xef, 0x92, 0xe2, 0xe4, 0xba, 0x8c, 0xfa, 0x16, 0x07,
- 0x1e, 0x5e, 0x3d, 0x39, 0xe2, 0xfc, 0xac, 0xc1, 0xeb, 0xdc, 0xdc, 0x23,
- 0x35, 0x13, 0x8d, 0xb0, 0x63, 0x80, 0x13, 0x8c, 0xdc, 0x61, 0x0c, 0xcb,
- 0x18, 0x69, 0x3c, 0x05, 0x48, 0x3a, 0xfb, 0x8a, 0x0d, 0xee, 0x98, 0x3d,
- 0x11, 0x9f, 0x7b, 0x87, 0xe4, 0xb6, 0x1a, 0x43, 0xea, 0x5c, 0x16, 0x52,
- 0x72, 0x58, 0x20, 0xef, 0x92, 0xb4, 0x45, 0x38, 0x9c, 0xc8, 0xfc, 0x28,
- 0xfd, 0x07, 0x43, 0x79, 0xea, 0xc4, 0xf2, 0x72, 0x48, 0xc1, 0x8f, 0xc0,
- 0xe0, 0xb4, 0xd5, 0x56, 0x19, 0x7d, 0xd2, 0xf5, 0x03, 0x9b, 0x4e, 0xd9,
- 0x9a, 0x0b, 0x1c, 0x65, 0x61, 0xd2, 0x2a, 0x4e, 0x40, 0x9b, 0x98, 0x66,
- 0x87, 0x9d, 0x21, 0x68, 0xbd, 0x88, 0x15, 0x28, 0xc3, 0xd6, 0xc0, 0x9a,
- 0x1b, 0x8d, 0xc5, 0xcb, 0x42, 0x51, 0x14, 0xa1, 0x28, 0x85, 0xc7, 0x21,
- 0x16, 0xd3, 0x07, 0x9c, 0x88, 0x1e, 0xf1, 0xef, 0x42, 0x46, 0x90, 0x24,
- 0x7f, 0x1c, 0x38, 0xbe, 0xfe, 0xad, 0xfb, 0xcc, 0x68, 0xd9, 0x0e, 0x85,
- 0x02, 0x63, 0x2a, 0x92, 0xe1, 0x95, 0x70, 0x25, 0xba, 0xba, 0x05, 0x3e,
- 0x87, 0x21, 0xe2, 0xc5, 0x20, 0x79, 0xd2, 0x8d, 0x26, 0x40, 0x7c, 0xd7,
- 0xcb, 0x22, 0xfb, 0x44, 0x1c, 0xac, 0xab, 0x9b, 0x0b, 0x15, 0xed, 0xef,
- 0x0f, 0x2f, 0xde, 0x9d, 0xbc, 0xfb, 0xfa, 0x80, 0x72, 0x49, 0xb3, 0x6a,
- 0x42, 0x65, 0x53, 0x93, 0xbf, 0x2e, 0xa7, 0xf9, 0x84, 0x65, 0x85, 0xd4,
- 0xa3, 0x6c, 0xc1, 0xdf, 0x33, 0x71, 0xb3, 0x1a, 0xf1, 0x12, 0xc8, 0x77,
- 0x01, 0xa2, 0x12, 0x7a, 0xbf, 0x2a, 0xaf, 0x97, 0x76, 0xea, 0x27, 0x50,
- 0x47, 0x10, 0x2c, 0x40, 0x20, 0x95, 0x24, 0x12, 0x6f, 0x5a, 0xe2, 0xa1,
- 0x31, 0xca, 0xc2, 0xeb, 0xd3, 0xd3, 0x08, 0xf9, 0x25, 0x6a, 0xb9, 0x2a,
- 0xb1, 0x3e, 0x43, 0x98, 0xd0, 0x90, 0xd9, 0xfe, 0x75, 0x3e, 0x9e, 0xc1,
- 0x26, 0x23, 0x05, 0x80, 0xe4, 0x4d, 0x4b, 0xee, 0x19, 0xf3, 0xd5, 0x74,
- 0xa5, 0xbb, 0xc8, 0xc0, 0xc8, 0x02, 0xad, 0x88, 0x15, 0xce, 0xab, 0x29,
- 0xec, 0x21, 0x23, 0x26, 0xcb, 0xab, 0x86, 0x54, 0xa4, 0xd6, 0x6d, 0xda,
- 0xae, 0x3e, 0xb1, 0x2e, 0x92, 0x70, 0xc3, 0x96, 0x8e, 0x0f, 0x89, 0x90,
- 0xd8, 0x25, 0xa8, 0xdf, 0xcc, 0x7e, 0x64, 0xdd, 0x10, 0x65, 0x4b, 0xa2,
- 0x61, 0xb4, 0x69, 0x96, 0xda, 0x52, 0xac, 0x35, 0xc9, 0xcb, 0x50, 0x60,
- 0xdc, 0x65, 0x95, 0x18, 0xa0, 0x36, 0x51, 0xd0, 0x88, 0xbb, 0x61, 0x32,
- 0x2a, 0xcd, 0xf3, 0xa1, 0x96, 0x65, 0xab, 0x7b, 0xb5, 0x4a, 0x05, 0xa3,
- 0x3f, 0x0e, 0xe8, 0x85, 0xba, 0x27, 0x88, 0xce, 0xb5, 0xc7, 0x1b, 0xa9,
- 0x2d, 0x4a, 0xfb, 0x7f, 0x9c, 0x59, 0xa5, 0x82, 0xbe, 0x80, 0x08, 0x10,
- 0xed, 0x90, 0xde, 0xc0, 0x08, 0xd4, 0x1e, 0x6a, 0x36, 0x51, 0xc5, 0x53,
- 0xaf, 0xa5, 0x07, 0xea, 0xf6, 0xf9, 0x30, 0xeb, 0xee, 0x80, 0xa3, 0xd5,
- 0x90, 0xbc, 0x2a, 0x23, 0xa9, 0xd8, 0x9e, 0x9e, 0xff, 0x54, 0x8a, 0xd2,
- 0xd8, 0xb0, 0x2a, 0x7e, 0x75, 0x97, 0x91, 0x96, 0x19, 0x84, 0xca, 0xcf,
- 0x98, 0xb3, 0x48, 0x1e, 0xf2, 0xb3, 0x61, 0xfd, 0x97, 0xe5, 0xc2, 0xe9,
- 0x3b, 0x07, 0x43, 0x8e, 0xc4, 0xa2, 0x26, 0x88, 0x4a, 0x5d, 0x0d, 0xb7,
- 0xa3, 0x40, 0x1f, 0xee, 0x83, 0x32, 0x1f, 0x1a, 0xfd, 0x7a, 0xfa, 0xa0,
- 0xe0, 0xd3, 0x82, 0x4e, 0xdd, 0x5b, 0x1a, 0x0b, 0x6a, 0x3d, 0x4b, 0xda,
- 0x54, 0xea, 0x60, 0x44, 0x4d, 0xe2, 0x07, 0x35, 0x25, 0x56, 0x8a, 0xe4,
- 0xe3, 0x48, 0x73, 0x92, 0xd0, 0x21, 0x31, 0xab, 0x95, 0x42, 0x58, 0xe2,
- 0x37, 0x79, 0x71, 0x5b, 0xe2, 0x37, 0x12, 0x73, 0x0a, 0x12, 0xe4, 0x7d,
- 0xaa, 0xb9, 0xd8, 0x44, 0xf8, 0xb3, 0xaa, 0x4e, 0x1a, 0x45, 0xc1, 0x9b,
- 0xb1, 0x20, 0xa7, 0xa8, 0x95, 0xe4, 0xe3, 0xf2, 0x7a, 0xba, 0x5b, 0x81,
- 0x0f, 0x13, 0x6d, 0xde, 0x7e, 0xa2, 0xe5, 0x6b, 0xcd, 0x8b, 0xb3, 0x3a,
- 0x13, 0x96, 0x35, 0xce, 0xfa, 0xd1, 0x0b, 0x47, 0xee, 0x9b, 0xdc, 0xfa,
- 0x7f, 0x56, 0xdf, 0x24, 0xb6, 0x94, 0x96, 0x9d, 0x6b, 0x67, 0xc3, 0x52,
- 0xa4, 0x59, 0x8a, 0xd2, 0x23, 0x1d, 0xa6, 0x2c, 0x25, 0xa9, 0x6c, 0x95,
- 0xb0, 0x4d, 0xa0, 0xd4, 0x20, 0xed, 0x7d, 0x85, 0x06, 0x61, 0x49, 0x82,
- 0x5c, 0x24, 0x32, 0x40, 0x1c, 0xfb, 0x94, 0x62, 0x2d, 0x3a, 0xbf, 0xf6,
- 0xdd, 0xc6, 0xfd, 0xb1, 0x97, 0x73, 0x62, 0x0b, 0xe9, 0xc4, 0x60, 0x0e,
- 0x7c, 0x75, 0xc7, 0xa7, 0x47, 0xa0, 0x9e, 0xfe, 0xa4, 0x44, 0x2f, 0x3b,
- 0x06, 0x7f, 0x42, 0x82, 0x58, 0x13, 0x02, 0x55, 0x7f, 0xc4, 0x02, 0xf2,
- 0x10, 0x34, 0x27, 0x58, 0x0e, 0x12, 0x20, 0x7f, 0xdc, 0xdf, 0x5d, 0x25,
- 0xe4, 0xa9, 0x21, 0xcd, 0x63, 0xa3, 0xd3, 0x58, 0x5b, 0x1b, 0x0c, 0xd7,
- 0xa0, 0xcb, 0x2d, 0xa7, 0x3b, 0x64, 0xb9, 0x20, 0x5f, 0xdd, 0x80, 0xf6,
- 0x4b, 0x5a, 0xaf, 0x9a, 0xff, 0xb8, 0x65, 0xfc, 0x6b, 0xeb, 0x6c, 0xad,
- 0x28, 0xb3, 0xe5, 0xe4, 0xd7, 0x85, 0xb7, 0xc6, 0xd4, 0x50, 0x0c, 0xf1,
- 0xa6, 0xb2, 0x44, 0x7d, 0x25, 0x9e, 0xda, 0xee, 0x74, 0x06, 0xd8, 0xf6,
- 0xa8, 0xa7, 0x24, 0x87, 0x93, 0x5a, 0x0b, 0x4d, 0xd8, 0x74, 0xbe, 0xe0,
- 0xdb, 0x93, 0xfd, 0x90, 0x7c, 0xbc, 0x04, 0x99, 0xa3, 0xa7, 0x40, 0x41,
- 0x2d, 0x16, 0xb8, 0xcb, 0x5f, 0x0c, 0x37, 0xad, 0x27, 0x4a, 0xd9, 0x24,
- 0x4f, 0x05, 0x41, 0x8a, 0x29, 0xa1, 0x6f, 0xb5, 0xaf, 0x46, 0x80, 0xd3,
- 0x06, 0x51, 0x9f, 0x7f, 0x94, 0x1d, 0x5e, 0x00, 0xed, 0x3e, 0x7f, 0x74,
- 0x8f, 0xdf, 0xee, 0x25, 0x5b, 0x24, 0x57, 0xb7, 0xad, 0xf6, 0x1a, 0xc6,
- 0xfb, 0x95, 0xb8, 0x9c, 0xed, 0x98, 0x94, 0xef, 0xc8, 0x2e, 0x9e, 0x97,
- 0x34, 0x58, 0x63, 0xe9, 0x55, 0x46, 0x03, 0x58, 0xce, 0xd2, 0x0a, 0x90,
- 0xbd, 0xec, 0x6a, 0x39, 0x8b, 0x99, 0x3a, 0x74, 0xba, 0x25, 0x48, 0x94,
- 0xd7, 0xf5, 0x52, 0x0c, 0x41, 0xcb, 0x1c, 0xe0, 0x68, 0x6c, 0x67, 0xa6,
- 0x3f, 0xf8, 0x74, 0x3d, 0x23, 0x14, 0xca, 0x4a, 0x05, 0x85, 0x79, 0x68,
- 0x59, 0xf5, 0xb5, 0x55, 0xc9, 0xd8, 0x96, 0x92, 0x2b, 0xe5, 0x9a, 0x3a,
- 0xa5, 0x15, 0x98, 0x68, 0x12, 0xfa, 0xb8, 0xad, 0x3a, 0xcd, 0xf5, 0xce,
- 0xce, 0x2f, 0x4f, 0xce, 0xde, 0x8d, 0x92, 0x7f, 0xeb, 0xad, 0x4d, 0x50,
- 0x6a, 0x53, 0x91, 0xfe, 0xd0, 0x77, 0x6b, 0x92, 0xbc, 0x14, 0x6f, 0xc3,
- 0x2a, 0xfb, 0xd8, 0x53, 0xe3, 0x27, 0xe6, 0xfe, 0x36, 0x12, 0x56, 0xdf,
- 0x14, 0x0e, 0x27, 0x59, 0xad, 0x4e, 0xbe, 0x72, 0xa0, 0x2f, 0xd3, 0xac,
- 0xb4, 0x31, 0x8c, 0x36, 0x9a, 0x7f, 0xd9, 0x42, 0xd8, 0x76, 0x9a, 0x8f,
- 0xcb, 0x60, 0x91, 0x7d, 0x2d, 0x74, 0xa9, 0xbc, 0x80, 0x29, 0xbe, 0x83,
- 0x62, 0xca, 0x56, 0xf4, 0x96, 0x54, 0x92, 0x14, 0x55, 0xab, 0x8e, 0xa0,
- 0x09, 0xbf, 0x3e, 0xbe, 0x24, 0x57, 0xcd, 0x05, 0x8c, 0x21, 0xdb, 0x41,
- 0x38, 0xbc, 0x44, 0xf5, 0x49, 0xad, 0x7a, 0x26, 0xd4, 0xaf, 0x5c, 0x87,
- 0xfa, 0xd3, 0x62, 0x96, 0x16, 0xd1, 0x24, 0x2c, 0xa3, 0xd3, 0x52, 0x69,
- 0xed, 0xd2, 0x91, 0x3c, 0xaa, 0x07, 0xc5, 0xab, 0x5f, 0xc0, 0xec, 0x2b,
- 0xe7, 0xef, 0x2f, 0xc5, 0x5b, 0xf5, 0xfa, 0xf8, 0xf4, 0xf8, 0xf2, 0xb8,
- 0x6b, 0xbd, 0x8f, 0x99, 0xb4, 0x0e, 0xd9, 0x37, 0x4d, 0x36, 0xb9, 0x29,
- 0xca, 0x59, 0x79, 0x9d, 0x4b, 0x75, 0xc1, 0xe4, 0xfb, 0x6c, 0xfc, 0xfa,
- 0xf0, 0x3b, 0xd2, 0x28, 0xc8, 0xf3, 0x74, 0x7e, 0x71, 0x76, 0xfe, 0xe6,
- 0xe4, 0xdd, 0xeb, 0x7e, 0x72, 0x74, 0x76, 0xfe, 0x97, 0x7e, 0xf2, 0xf6,
- 0xec, 0xbb, 0xe3, 0x08, 0xea, 0x9a, 0x08, 0xa5, 0x23, 0xd5, 0xcd, 0xa5,
- 0xca, 0x97, 0x33, 0xbe, 0x0b, 0x0e, 0x5c, 0x78, 0xd7, 0xc8, 0x21, 0xd0,
- 0x23, 0x54, 0x06, 0x97, 0xcf, 0x9a, 0x99, 0x3a, 0x23, 0x3f, 0xbe, 0x39,
- 0x3e, 0x7c, 0xdd, 0x0f, 0x28, 0x7f, 0xa9, 0x22, 0x81, 0xf9, 0x18, 0x8d,
- 0xcf, 0x0e, 0x1a, 0x44, 0xb1, 0x6c, 0x7f, 0x40, 0x47, 0xe0, 0x50, 0x17,
- 0x9f, 0x58, 0xb3, 0x61, 0x91, 0x8a, 0x3b, 0x5d, 0x85, 0xa0, 0x10, 0xee,
- 0xea, 0x95, 0xf5, 0x3c, 0xbd, 0x4c, 0x10, 0x52, 0xd7, 0x54, 0xd1, 0x66,
- 0x49, 0x20, 0xac, 0x2c, 0x09, 0xc0, 0xfe, 0xb2, 0x37, 0xb4, 0x1a, 0x65,
- 0x8c, 0xe5, 0x46, 0xba, 0xdc, 0x4f, 0x5a, 0x29, 0xc1, 0x10, 0x49, 0xec,
- 0x83, 0x4c, 0xa5, 0x1e, 0x1a, 0x0a, 0x47, 0x10, 0x0c, 0x68, 0xc4, 0xcc,
- 0xb8, 0x42, 0x08, 0x19, 0x4f, 0x6f, 0x50, 0x35, 0x5b, 0xf8, 0x87, 0x85,
- 0xa1, 0x85, 0xe6, 0xcf, 0x7d, 0x50, 0x0b, 0x2f, 0xfc, 0xc0, 0x13, 0x1b,
- 0xc5, 0x5d, 0x73, 0x7d, 0xa2, 0x2b, 0xb3, 0x35, 0x33, 0x06, 0x58, 0xf1,
- 0x52, 0x59, 0xf7, 0x40, 0x32, 0x38, 0x51, 0xe7, 0xc4, 0x3a, 0x35, 0xcb,
- 0x32, 0xb1, 0x89, 0x83, 0x86, 0x79, 0x61, 0xd4, 0x77, 0xd5, 0x16, 0x15,
- 0xbe, 0xa7, 0x84, 0x06, 0x1a, 0xd1, 0xfa, 0x75, 0x99, 0x95, 0xb6, 0x44,
- 0x06, 0xed, 0xcd, 0x0a, 0xe7, 0x20, 0x06, 0x3e, 0x2d, 0x73, 0xcd, 0x06,
- 0x34, 0x3e, 0x78, 0xd2, 0x88, 0x93, 0x42, 0x7c, 0xa3, 0x09, 0x05, 0xe1,
- 0x06, 0x6c, 0x51, 0xfb, 0x28, 0x61, 0x95, 0xa0, 0xa2, 0xa1, 0x4a, 0x1f,
- 0xe2, 0x45, 0xa8, 0x5d, 0x81, 0x3a, 0xdf, 0xa7, 0xf7, 0x64, 0xf7, 0x93,
- 0xf3, 0xb6, 0x93, 0x4e, 0x51, 0x27, 0x03, 0xe1, 0xdf, 0x9d, 0x9b, 0x8b,
- 0x30, 0xf4, 0x33, 0x6d, 0xbd, 0x59, 0x21, 0x1c, 0x7d, 0xff, 0xad, 0x2c,
- 0x86, 0x27, 0xa6, 0x4e, 0x4f, 0xcc, 0x91, 0x88, 0x90, 0x60, 0x4c, 0x4b,
- 0x54, 0x2a, 0x05, 0x34, 0x01, 0xda, 0x15, 0x66, 0xdf, 0xb4, 0x15, 0x7e,
- 0x98, 0x2a, 0xf7, 0x46, 0xbf, 0x8c, 0x92, 0xbe, 0x0f, 0x7c, 0x3a, 0x58,
- 0xb3, 0x8b, 0xe3, 0xcb, 0x8b, 0x61, 0xb2, 0xe5, 0xf3, 0x3b, 0x3e, 0x1f,
- 0xee, 0x86, 0xe1, 0x1b, 0xaa, 0x1a, 0x1c, 0xfd, 0x2a, 0xca, 0x09, 0xaf,
- 0xf8, 0x2a, 0xe4, 0x03, 0x7d, 0x37, 0xc4, 0x1d, 0x7b, 0x9c, 0x2e, 0xbb,
- 0xb1, 0xef, 0xf9, 0x95, 0x89, 0x5b, 0xdf, 0xa3, 0x5f, 0xac, 0x19, 0xe5,
- 0x37, 0xc7, 0xa7, 0xe7, 0xe1, 0x28, 0xbf, 0xbb, 0x78, 0xf3, 0x97, 0xf6,
- 0x28, 0x9f, 0x3c, 0x8d, 0x7c, 0xf5, 0xb7, 0x74, 0xad, 0x67, 0x75, 0x39,
- 0x33, 0x4a, 0x0b, 0x92, 0x4b, 0x90, 0x5b, 0x72, 0x60, 0xae, 0x01, 0xc2,
- 0xa6, 0xff, 0xd8, 0x97, 0xbf, 0xfc, 0x3c, 0x1c, 0x0e, 0xbf, 0x0c, 0x49,
- 0x8a, 0xe1, 0xa9, 0xb1, 0xc3, 0x95, 0x67, 0xc5, 0x0e, 0x77, 0x86, 0x38,
- 0xa7, 0xf3, 0xf0, 0xa5, 0xc1, 0x99, 0x27, 0x8b, 0x34, 0x0f, 0x9c, 0xd2,
- 0xef, 0x55, 0x0f, 0xca, 0x29, 0x47, 0xc7, 0xba, 0x8d, 0x55, 0xa7, 0x53,
- 0xfe, 0x1f, 0x3e, 0xb2, 0x5b, 0xf5, 0x36, 0xab, 0x5d, 0x2b, 0x43, 0xfd,
- 0xda, 0x19, 0x64, 0x4d, 0x51, 0x99, 0x75, 0xb1, 0x79, 0xdc, 0x8d, 0x5b,
- 0xe8, 0x0d, 0x22, 0xe3, 0x9f, 0xba, 0x97, 0xc2, 0x4b, 0x77, 0x2c, 0x37,
- 0xf4, 0x10, 0x9e, 0x4a, 0x04, 0xd8, 0x61, 0x86, 0xe1, 0x76, 0x41, 0x99,
- 0xca, 0xac, 0x99, 0xec, 0xd0, 0x40, 0xeb, 0x96, 0x22, 0xb8, 0xc2, 0x07,
- 0x56, 0x16, 0x2d, 0xfc, 0x23, 0xdd, 0x14, 0xec, 0x82, 0xf6, 0x33, 0x11,
- 0x5d, 0x6d, 0x13, 0x76, 0x29, 0x49, 0xba, 0x0e, 0x75, 0x23, 0x12, 0x8b,
- 0x6f, 0x51, 0x80, 0x4c, 0xbc, 0xec, 0x48, 0xd0, 0x25, 0x95, 0x11, 0x91,
- 0xe8, 0x32, 0xe8, 0x22, 0x1e, 0x16, 0x48, 0x68, 0xdd, 0x4d, 0x96, 0x6d,
- 0xb8, 0x7d, 0x2d, 0xa8, 0xaf, 0xce, 0x5f, 0xf8, 0x98, 0xb7, 0x97, 0x74,
- 0x6d, 0xf4, 0x80, 0xa9, 0x83, 0xd5, 0x9e, 0x5f, 0xa0, 0x3e, 0xfd, 0x8a,
- 0x2c, 0x30, 0xd6, 0x7f, 0xb5, 0x65, 0x12, 0xf2, 0x6d, 0xca, 0xf7, 0xf6,
- 0x68, 0xd4, 0x13, 0x3f, 0x78, 0x1a, 0x46, 0x13, 0xf2, 0xc5, 0xed, 0x53,
- 0xb8, 0x6f, 0x9e, 0xf7, 0xf9, 0x5f, 0xcf, 0x99, 0x02, 0xad, 0x69, 0xc7,
- 0x16, 0x58, 0x8b, 0x67, 0x9d, 0xf7, 0xe4, 0x5c, 0xb3, 0x4e, 0x03, 0xa2,
- 0x72, 0x09, 0xc3, 0x49, 0x7e, 0xbb, 0xe9, 0xa5, 0xe6, 0x91, 0x99, 0x77,
- 0xb4, 0xb7, 0x24, 0x10, 0xcd, 0xc9, 0xfd, 0x71, 0x5c, 0x51, 0x81, 0xbe,
- 0xa6, 0xfe, 0x79, 0x5d, 0x82, 0xaf, 0xd1, 0x78, 0x3f, 0x1b, 0x86, 0x89,
- 0x54, 0x23, 0x9f, 0xe0, 0xd7, 0x7d, 0xc9, 0x82, 0x79, 0xdd, 0xe7, 0x08,
- 0x0b, 0x8f, 0xd8, 0x15, 0x41, 0x5f, 0xd6, 0x7f, 0xe8, 0xc5, 0x70, 0xf7,
- 0xf1, 0xb0, 0x61, 0x67, 0x34, 0x92, 0x43, 0x6a, 0x8a, 0x30, 0x98, 0xf9,
- 0x91, 0x9c, 0x66, 0x46, 0x38, 0x85, 0x07, 0x45, 0x0e, 0xd3, 0x5a, 0x72,
- 0xf5, 0xbd, 0xe1, 0x93, 0xb6, 0xfc, 0x31, 0x3d, 0x47, 0x1a, 0x4c, 0x65,
- 0x8c, 0x9a, 0x70, 0x77, 0x53, 0xb5, 0xa2, 0xb6, 0xa7, 0x40, 0x8e, 0x31,
- 0xc5, 0xf4, 0xf8, 0xc7, 0x46, 0x64, 0x28, 0xee, 0x25, 0x39, 0xa6, 0x5c,
- 0x9d, 0x8b, 0xe3, 0x37, 0xef, 0x47, 0xc7, 0xaf, 0x41, 0x07, 0x17, 0xab,
- 0x9c, 0x91, 0xd3, 0x06, 0x64, 0x9f, 0x7a, 0x53, 0xb2, 0x26, 0x24, 0x1d,
- 0x69, 0x97, 0x9b, 0xe2, 0xea, 0x5a, 0x35, 0xe7, 0x9d, 0x1a, 0x8b, 0x2e,
- 0xcc, 0xad, 0x60, 0xdd, 0x43, 0xde, 0xfd, 0x05, 0x8c, 0x0f, 0x3c, 0xea,
- 0x69, 0x46, 0x85, 0x58, 0x5e, 0x32, 0x86, 0x23, 0xa0, 0xfc, 0x79, 0x6b,
- 0xeb, 0xf9, 0x90, 0x95, 0x96, 0x65, 0x0b, 0xe5, 0x8d, 0x4b, 0xe7, 0xe5,
- 0xb2, 0x60, 0xa7, 0x9e, 0x59, 0x21, 0xf5, 0x63, 0xc1, 0x6f, 0x8a, 0x76,
- 0x59, 0xe1, 0x48, 0x57, 0xd4, 0x0c, 0x81, 0xbb, 0x82, 0x80, 0xd3, 0x9a,
- 0x7c, 0x4f, 0xe2, 0xda, 0x4d, 0x8b, 0xcc, 0x4b, 0xb2, 0x45, 0x41, 0x33,
- 0x5f, 0x2d, 0x5d, 0x51, 0x54, 0x08, 0x75, 0x4c, 0x8c, 0x4a, 0xcf, 0x7d,
- 0x49, 0x67, 0xd7, 0x65, 0x65, 0x1a, 0x9d, 0xdb, 0xac, 0xbf, 0x0a, 0x98,
- 0x9d, 0x7a, 0xbb, 0x5b, 0xc8, 0x2b, 0x90, 0x89, 0xb3, 0x7b, 0x8e, 0xdf,
- 0x66, 0x9c, 0x0d, 0x4d, 0xe7, 0x99, 0xa7, 0x09, 0x66, 0x3e, 0x45, 0xb6,
- 0x58, 0x04, 0x8f, 0x24, 0x7f, 0x19, 0x73, 0xc1, 0x33, 0x18, 0x6e, 0xc4,
- 0xbf, 0x67, 0x55, 0xd9, 0x75, 0x44, 0xa8, 0xba, 0xa9, 0x3d, 0xf7, 0x3b,
- 0xfe, 0xcf, 0xac, 0xdc, 0xb3, 0xb7, 0x1f, 0x3b, 0x01, 0xf3, 0xf4, 0x13,
- 0x9c, 0x2b, 0x2b, 0xb7, 0xc3, 0x25, 0x3b, 0x43, 0x00, 0x71, 0xa3, 0x07,
- 0x25, 0x77, 0x93, 0xea, 0x58, 0x34, 0x89, 0x9f, 0xe2, 0xc1, 0xd0, 0x1a,
- 0xbb, 0xdc, 0xe2, 0x7f, 0x09, 0x30, 0x4c, 0xbc, 0x2e, 0xb6, 0xd7, 0xf0,
- 0x70, 0xa5, 0x34, 0x4c, 0x32, 0x3d, 0xb6, 0xb8, 0x88, 0x08, 0x3e, 0xb7,
- 0x4d, 0x3f, 0x9e, 0x95, 0x14, 0x5f, 0x63, 0xff, 0x11, 0xbe, 0x1e, 0x12,
- 0x4a, 0x91, 0x62, 0x5b, 0xd1, 0x2e, 0x54, 0x43, 0x8c, 0xbd, 0x99, 0xa8,
- 0x86, 0x80, 0x84, 0xa8, 0x7c, 0x22, 0xbe, 0x7a, 0xad, 0xc4, 0x83, 0x51,
- 0xf0, 0x9b, 0x81, 0x20, 0xd1, 0x76, 0x32, 0x6e, 0xa0, 0xdf, 0xa6, 0xfd,
- 0x94, 0x4e, 0x23, 0xdf, 0x90, 0x33, 0x12, 0x50, 0x35, 0x47, 0xd3, 0xcd,
- 0x23, 0x36, 0x3d, 0x1b, 0x47, 0xe4, 0x23, 0x43, 0xfe, 0x0e, 0x8d, 0x07,
- 0xd6, 0x51, 0x5a, 0xf8, 0x9d, 0xc5, 0x0a, 0x98, 0x46, 0xf2, 0x72, 0x8a,
- 0xcc, 0x1f, 0x2e, 0xe5, 0x90, 0x86, 0x4c, 0x05, 0xc4, 0xd7, 0x21, 0xbd,
- 0xd9, 0x24, 0x1f, 0xdb, 0xa7, 0x7c, 0xbe, 0x9c, 0xe3, 0xf5, 0xbe, 0xd8,
- 0x0d, 0x73, 0xd8, 0x0d, 0xba, 0xac, 0x43, 0x84, 0x68, 0x1b, 0x3e, 0xc2,
- 0xdd, 0xbd, 0x6f, 0x03, 0xa6, 0xd8, 0xb6, 0x0d, 0x23, 0x56, 0xe8, 0x2d,
- 0x26, 0x81, 0xc7, 0x42, 0xfd, 0x1f, 0xdf, 0xa1, 0xc9, 0x4b, 0xa3, 0x83,
- 0x7c, 0x19, 0x49, 0xd0, 0x89, 0x89, 0x8f, 0xbc, 0x16, 0xa8, 0x6e, 0x36,
- 0xf5, 0xcc, 0x1f, 0xde, 0x71, 0xa4, 0x3b, 0xf0, 0x32, 0xad, 0x94, 0x51,
- 0x7d, 0xeb, 0xb4, 0xe5, 0x4f, 0x63, 0xa0, 0xce, 0x6d, 0xc9, 0x17, 0x93,
- 0x6c, 0x79, 0x5a, 0x39, 0xe1, 0xc6, 0x0f, 0xee, 0x6b, 0x11, 0x15, 0x2d,
- 0x15, 0xca, 0x7c, 0x7e, 0x57, 0x30, 0x1d, 0x62, 0x93, 0x91, 0xb7, 0x57,
- 0x66, 0x59, 0x5d, 0x30, 0x6d, 0x36, 0xfb, 0xb6, 0xc8, 0x23, 0x51, 0xd6,
- 0xb9, 0x45, 0x98, 0x89, 0x80, 0x29, 0x68, 0x0e, 0xcc, 0x84, 0xc8, 0xda,
- 0xf5, 0x13, 0x4d, 0xaf, 0x49, 0x92, 0xa7, 0x9f, 0x3e, 0x85, 0x97, 0xa5,
- 0x33, 0xe3, 0x98, 0x0f, 0x8d, 0x6d, 0xbc, 0x67, 0x9f, 0x3a, 0x36, 0xde,
- 0x30, 0xce, 0x5a, 0xc6, 0x57, 0x03, 0x49, 0xc7, 0x71, 0xc9, 0x91, 0x23,
- 0x9e, 0xad, 0x34, 0x32, 0x8f, 0x2c, 0x14, 0xee, 0xd2, 0xbc, 0x89, 0x64,
- 0x1e, 0x09, 0x88, 0xd0, 0xd6, 0xf4, 0xd3, 0xd8, 0x1e, 0x2a, 0x53, 0x19,
- 0x35, 0x95, 0xe6, 0x50, 0x27, 0x48, 0x1b, 0x34, 0xf3, 0xb6, 0xe4, 0x98,
- 0x41, 0x30, 0x4f, 0xf4, 0x15, 0x9e, 0x76, 0x3a, 0x4d, 0xe6, 0xaa, 0xca,
- 0x51, 0x26, 0x9d, 0xcf, 0x74, 0x9d, 0xec, 0x99, 0xe9, 0xcf, 0x8b, 0x25,
- 0x21, 0x09, 0x3d, 0xc6, 0x50, 0x4b, 0xde, 0x12, 0x99, 0xf6, 0x19, 0x30,
- 0xaa, 0x9a, 0x45, 0x4e, 0x07, 0xaf, 0xf6, 0x62, 0x5a, 0x7c, 0x3c, 0x50,
- 0x33, 0xc7, 0xfa, 0x23, 0xfc, 0x0b, 0x36, 0xa2, 0xdf, 0xda, 0xea, 0x35,
- 0x7a, 0xa5, 0x66, 0x9f, 0xcc, 0x6c, 0x73, 0x51, 0x06, 0x77, 0xa3, 0xb9,
- 0xdb, 0x6c, 0xe8, 0x11, 0xa4, 0x47, 0x00, 0x2b, 0x2d, 0xf9, 0x6d, 0x0b,
- 0xc0, 0x40, 0xc4, 0x95, 0x8d, 0x9c, 0x45, 0x4e, 0x62, 0x96, 0x18, 0xe7,
- 0x7f, 0x83, 0x33, 0x5d, 0xa7, 0xf5, 0x6c, 0x90, 0x77, 0xc5, 0xf8, 0x31,
- 0x60, 0x70, 0x16, 0xc2, 0x62, 0x77, 0xa1, 0x69, 0x62, 0x74, 0x38, 0x3a,
- 0xed, 0xd0, 0x27, 0xad, 0x65, 0x40, 0xdd, 0x6b, 0x6b, 0x3c, 0x8f, 0xa4,
- 0x69, 0xd3, 0xb8, 0x45, 0x2b, 0x35, 0x79, 0x1d, 0x43, 0x1b, 0xd3, 0x66,
- 0xae, 0xaa, 0xe2, 0x54, 0x1f, 0xe0, 0xe3, 0x8e, 0x0c, 0x32, 0xe8, 0x0a,
- 0xb3, 0x00, 0x21, 0xd9, 0x80, 0xcb, 0x6d, 0x25, 0x31, 0x32, 0x19, 0x3c,
- 0xb3, 0x23, 0xc8, 0x95, 0x87, 0xc2, 0xbf, 0xcc, 0xfc, 0xa6, 0x23, 0x1f,
- 0x91, 0xe1, 0x41, 0xe5, 0xe8, 0x06, 0x31, 0xd2, 0x1b, 0x1b, 0x3c, 0x11,
- 0x55, 0xb2, 0xc6, 0xd3, 0x84, 0x62, 0x69, 0xfa, 0x7c, 0x61, 0x59, 0x41,
- 0x45, 0x6d, 0x38, 0x30, 0x08, 0x71, 0x10, 0x87, 0x8c, 0xc5, 0x1c, 0x1f,
- 0xbc, 0xe2, 0x8a, 0x5f, 0xda, 0x03, 0xaf, 0xcd, 0xae, 0x80, 0xcc, 0x67,
- 0x82, 0x82, 0xfb, 0xdb, 0x32, 0xcf, 0x1a, 0xe4, 0x0b, 0x0d, 0x93, 0xd7,
- 0x8c, 0x66, 0x92, 0xb2, 0x59, 0x5c, 0x9e, 0x0f, 0x35, 0xfc, 0x18, 0x1b,
- 0x2d, 0x0a, 0xa2, 0xe9, 0x40, 0x10, 0xba, 0x31, 0x1d, 0xa2, 0x93, 0x08,
- 0xd5, 0xd5, 0x9c, 0xaa, 0x23, 0xea, 0xf6, 0xdc, 0x9c, 0x74, 0x18, 0x9b,
- 0xd8, 0xa9, 0x46, 0xb9, 0x23, 0x10, 0x8b, 0xc4, 0xba, 0x15, 0x84, 0x0e,
- 0x9c, 0x65, 0xfd, 0x31, 0x34, 0x6c, 0xfb, 0xad, 0x62, 0x29, 0x30, 0xf4,
- 0xc4, 0x06, 0x68, 0xa8, 0xd6, 0x4e, 0x91, 0xce, 0x76, 0xea, 0x66, 0x4a,
- 0xd2, 0x6f, 0x59, 0xcc, 0xa8, 0x9f, 0xd4, 0x92, 0x16, 0x86, 0xea, 0xce,
- 0x4d, 0x13, 0xa3, 0x56, 0xe1, 0x15, 0x6a, 0x2d, 0x11, 0x3b, 0x5b, 0xad,
- 0xd1, 0x21, 0x19, 0x37, 0x1e, 0xf8, 0xc9, 0x42, 0x0f, 0x42, 0x0a, 0x1d,
- 0x7f, 0xb6, 0xc8, 0xe0, 0xe5, 0xf1, 0x62, 0x2e, 0x5b, 0xeb, 0xb6, 0x2e,
- 0xd3, 0xff, 0x96, 0xd6, 0xcb, 0x6c, 0xb4, 0x71, 0x59, 0x2b, 0x7b, 0xa9,
- 0x19, 0xa4, 0x79, 0xbd, 0x75, 0x9e, 0x40, 0x58, 0xf5, 0x0b, 0x39, 0x41,
- 0xb8, 0xfc, 0xa7, 0xc7, 0x08, 0xd2, 0x74, 0xbc, 0x0e, 0x3e, 0xff, 0x51,
- 0x58, 0x33, 0xf5, 0x17, 0xd3, 0x81, 0xf8, 0xbc, 0x8b, 0x8e, 0xf1, 0x88,
- 0x0c, 0x49, 0x0b, 0xda, 0x13, 0x1c, 0x4e, 0x8b, 0x19, 0x83, 0xf5, 0xcc,
- 0xfb, 0x48, 0x21, 0x2b, 0xb3, 0x99, 0x96, 0x92, 0xe2, 0x3f, 0x99, 0x19,
- 0x61, 0x1f, 0xb1, 0x35, 0xb5, 0x8e, 0x19, 0x91, 0x66, 0xf5, 0xbb, 0xe2,
- 0xb4, 0x5e, 0x92, 0xea, 0x31, 0x5b, 0xd2, 0x97, 0x99, 0x6f, 0xca, 0xf2,
- 0x1d, 0x69, 0x66, 0x72, 0x94, 0x23, 0xcc, 0x12, 0x16, 0xd1, 0x19, 0xf5,
- 0xe8, 0xd2, 0x96, 0x5a, 0xf2, 0x50, 0x99, 0xc4, 0xba, 0x8c, 0x32, 0xc3,
- 0x15, 0xbd, 0x23, 0x83, 0xb0, 0xef, 0x57, 0x08, 0xf6, 0xad, 0x6f, 0xca,
- 0xc3, 0xd0, 0xee, 0xb4, 0xab, 0xee, 0xc6, 0x38, 0xa0, 0x6c, 0x34, 0xb3,
- 0xd5, 0x33, 0xbd, 0x3b, 0x34, 0x55, 0x17, 0xc0, 0x68, 0x29, 0x08, 0xec,
- 0x2a, 0x01, 0x77, 0x07, 0xfb, 0xa8, 0xb2, 0xc0, 0x2b, 0x0b, 0x01, 0x87,
- 0xf4, 0x20, 0xb1, 0xc2, 0xc0, 0xbe, 0x3b, 0xdb, 0x1c, 0x08, 0xbf, 0x0c,
- 0xf0, 0x3f, 0xf3, 0x3e, 0x7c, 0xd6, 0xae, 0x69, 0x23, 0x04, 0x70, 0xbf,
- 0xea, 0x40, 0xa5, 0x8f, 0x3b, 0x51, 0x2b, 0xe0, 0xf0, 0xff, 0x77, 0x9e,
- 0xa8, 0x34, 0x79, 0xdc, 0x99, 0x4a, 0xbb, 0x87, 0x2a, 0x52, 0xca, 0x79,
- 0x65, 0x8f, 0x7f, 0xc3, 0x53, 0xc6, 0xc7, 0xec, 0x17, 0x9d, 0x33, 0xdd,
- 0x14, 0xff, 0x37, 0x9f, 0xb2, 0xcf, 0x3b, 0x5a, 0x20, 0xd8, 0x14, 0x1f,
- 0x59, 0x3a, 0x8a, 0x30, 0xcc, 0xa4, 0x6b, 0xed, 0x58, 0xe2, 0xb3, 0x38,
- 0xf3, 0x38, 0x33, 0xe8, 0x44, 0xc2, 0xf8, 0xc0, 0xd2, 0x61, 0x3e, 0x9e,
- 0x59, 0x99, 0xa7, 0x99, 0xc1, 0x6b, 0x1b, 0x0e, 0xfd, 0x53, 0xca, 0x3c,
- 0x8a, 0x84, 0x4b, 0x5b, 0x6d, 0x4c, 0x35, 0x08, 0x1d, 0xd7, 0xb5, 0xb9,
- 0xdb, 0x17, 0x39, 0x6b, 0x0c, 0x46, 0x7b, 0xa1, 0xc2, 0x17, 0x5f, 0x8f,
- 0x46, 0x83, 0xc3, 0xf3, 0x93, 0xee, 0xc9, 0x6b, 0x7f, 0x4f, 0x2b, 0x73,
- 0x3f, 0x5b, 0x59, 0x49, 0x6a, 0x35, 0x46, 0xa2, 0xfd, 0x6d, 0xa3, 0xea,
- 0x76, 0x27, 0xf6, 0xb0, 0x6e, 0x81, 0x00, 0xa5, 0x43, 0x3e, 0x8d, 0xb1,
- 0xf0, 0x6f, 0x72, 0x22, 0x1f, 0x67, 0x95, 0x83, 0x16, 0x0c, 0x4f, 0x04,
- 0x90, 0x49, 0x10, 0x65, 0x80, 0xe2, 0x22, 0xd9, 0x7b, 0xf1, 0x7c, 0xcf,
- 0x1c, 0x8c, 0x7b, 0xe6, 0x89, 0x93, 0xf7, 0x9f, 0x0e, 0x9f, 0xec, 0x3c,
- 0x1d, 0x3e, 0x25, 0xb9, 0xe6, 0x82, 0x18, 0xd2, 0xbe, 0x91, 0x77, 0x11,
- 0xc8, 0x00, 0x75, 0xeb, 0xdd, 0xf1, 0x51, 0xc2, 0xb8, 0x32, 0x90, 0x86,
- 0x25, 0xc8, 0x72, 0xa1, 0x94, 0x19, 0x59, 0x11, 0x84, 0xb5, 0x49, 0x94,
- 0x0e, 0x2d, 0xd1, 0xd8, 0x22, 0xc2, 0x49, 0x1d, 0x99, 0x0e, 0x4b, 0xf9,
- 0x8c, 0xc4, 0xf2, 0xc2, 0xf6, 0x84, 0x24, 0x1e, 0x1b, 0x16, 0x32, 0x33,
- 0x8b, 0x48, 0x55, 0x5a, 0x7f, 0x4e, 0x1e, 0x49, 0xfc, 0x4c, 0x05, 0x54,
- 0x57, 0xaf, 0x8f, 0x1a, 0x30, 0x2b, 0x4c, 0x20, 0xe7, 0x9e, 0x0c, 0x2c,
- 0x1d, 0x91, 0x88, 0x8a, 0x8b, 0x23, 0x17, 0xcb, 0x64, 0x6e, 0x8d, 0x92,
- 0xab, 0xbf, 0x4d, 0x8b, 0xe1, 0x2f, 0xb5, 0xa8, 0x22, 0x2a, 0x71, 0xdb,
- 0x70, 0xe2, 0xbe, 0x8b, 0xa8, 0x16, 0x83, 0x69, 0xd5, 0x88, 0xd8, 0x48,
- 0xea, 0xfa, 0x02, 0xb0, 0x01, 0xe8, 0x34, 0xb3, 0x09, 0xe5, 0x35, 0x64,
- 0x5b, 0x5f, 0xd7, 0x78, 0x24, 0x77, 0xc0, 0x7d, 0x6b, 0xa7, 0xca, 0xd2,
- 0x99, 0xbc, 0x28, 0xc6, 0x1b, 0x7c, 0x6f, 0xc1, 0x2f, 0xaf, 0x50, 0xe3,
- 0xa5, 0x0e, 0x98, 0x96, 0xee, 0x80, 0xf7, 0xb3, 0x44, 0x63, 0xfc, 0xb4,
- 0x05, 0x50, 0x78, 0x5c, 0xea, 0x95, 0xb9, 0x50, 0xf2, 0x45, 0x3a, 0x4b,
- 0x1e, 0x01, 0xfd, 0x5d, 0xbd, 0xf8, 0x0f, 0x4a, 0x3c, 0x3d, 0x9b, 0x31,
- 0x39, 0x67, 0x73, 0x6d, 0xe1, 0x59, 0x21, 0x30, 0x7e, 0xf7, 0xd2, 0x63,
- 0x09, 0xd2, 0x92, 0x74, 0x2b, 0x1a, 0xa4, 0xec, 0x66, 0x11, 0x68, 0x8e,
- 0x74, 0xa5, 0x1b, 0xd9, 0x36, 0xb6, 0xa4, 0x52, 0x9b, 0x4d, 0xca, 0xf9,
- 0xc2, 0x05, 0x0c, 0xb4, 0x51, 0xc9, 0x4a, 0x23, 0x3c, 0x52, 0x5b, 0x0c,
- 0xc6, 0xc4, 0x3b, 0xd7, 0x62, 0x9e, 0x3c, 0x42, 0xf8, 0xfe, 0x16, 0xc2,
- 0x90, 0x94, 0x38, 0xf6, 0x34, 0x3c, 0xa0, 0xce, 0x05, 0xb5, 0x13, 0xfc,
- 0xeb, 0x22, 0xd9, 0x42, 0x7c, 0x36, 0xf3, 0xb9, 0xe8, 0x34, 0x5e, 0x1e,
- 0xfa, 0xa9, 0x10, 0x1a, 0xa3, 0x8f, 0x6e, 0x3f, 0x68, 0x5a, 0x59, 0xc5,
- 0x2f, 0x61, 0xa0, 0x27, 0x54, 0xbf, 0x90, 0xe4, 0xe6, 0xff, 0x06, 0x45,
- 0xf0, 0x59, 0x62, 0xd7, 0xea, 0x31, 0xfa, 0x20, 0x33, 0x31, 0x73, 0xd1,
- 0xcf, 0x80, 0x64, 0xc8, 0x19, 0x5d, 0xff, 0x4f, 0x1f, 0xfc, 0xff, 0x25,
- 0x7d, 0xf0, 0x57, 0x9f, 0x52, 0x25, 0x97, 0x1c, 0x28, 0xf4, 0xd0, 0x9e,
- 0x4d, 0x77, 0x1a, 0x63, 0x78, 0xe0, 0xd9, 0xfd, 0xe3, 0x8f, 0xa8, 0x77,
- 0x42, 0x93, 0x70, 0x2b, 0xfc, 0xdf, 0x71, 0x44, 0x1f, 0x75, 0x32, 0xff,
- 0x9f, 0xf7, 0xe3, 0xbf, 0xdb, 0x39, 0x5c, 0xad, 0x0d, 0x6e, 0x99, 0x4d,
- 0x76, 0x47, 0xa5, 0x0e, 0xb8, 0xd8, 0x08, 0x2c, 0xed, 0x6d, 0xa7, 0xf9,
- 0x50, 0xb2, 0x0c, 0xcf, 0xdd, 0xc9, 0xf9, 0x77, 0xcf, 0xfb, 0x08, 0x61,
- 0x8d, 0xba, 0x51, 0xcb, 0x2a, 0x39, 0x7d, 0x7d, 0x78, 0xfe, 0x0b, 0x4e,
- 0xfb, 0x5f, 0xe0, 0x87, 0x5e, 0x64, 0xd9, 0x74, 0xc0, 0x11, 0x92, 0x97,
- 0xf8, 0x47, 0x24, 0xa6, 0x98, 0xda, 0x04, 0x78, 0x6c, 0x5b, 0x0a, 0x9c,
- 0x84, 0xb1, 0x5a, 0xbc, 0x6c, 0xd4, 0x94, 0x42, 0x68, 0x29, 0x16, 0xa8,
- 0xca, 0x13, 0x78, 0x59, 0xca, 0x62, 0xba, 0xcd, 0xb9, 0x38, 0xf8, 0x32,
- 0xb6, 0x8a, 0x84, 0xd8, 0xe9, 0x78, 0x5f, 0x13, 0x75, 0x95, 0xe5, 0xff,
- 0xf3, 0x9e, 0x51, 0x4a, 0xd7, 0x28, 0xe2, 0xe3, 0xde, 0x0d, 0x85, 0x83,
- 0x3b, 0x4c, 0x31, 0xf5, 0x64, 0x97, 0x0b, 0xdb, 0x23, 0x17, 0xf8, 0x77,
- 0x4c, 0x88, 0xef, 0x7e, 0x7e, 0x15, 0x66, 0x60, 0xed, 0x54, 0xfa, 0x2b,
- 0xd1, 0x9a, 0x41, 0x8a, 0x05, 0x4e, 0x97, 0x55, 0x58, 0xc8, 0x2b, 0xf5,
- 0xe7, 0x87, 0xa3, 0xe4, 0xdc, 0x5f, 0xfb, 0x89, 0xf6, 0x6c, 0x9a, 0xcf,
- 0x7b, 0x2f, 0x04, 0x36, 0x35, 0xe7, 0x8c, 0x74, 0xea, 0x2f, 0xfb, 0xbd,
- 0x92, 0x48, 0x23, 0xf1, 0xe9, 0xab, 0x7f, 0xdf, 0x01, 0x7e, 0xff, 0x12,
- 0x82, 0xbd, 0xbc, 0x77, 0xd7, 0x23, 0x9d, 0xca, 0xa2, 0xa9, 0x88, 0x4a,
- 0x59, 0xe3, 0xa4, 0xca, 0x4b, 0xbd, 0xac, 0xfd, 0x6a, 0x8c, 0x49, 0xca,
- 0xa5, 0xcd, 0x31, 0x6b, 0x21, 0xa3, 0x21, 0x9f, 0xef, 0x24, 0x6b, 0x26,
- 0x43, 0xb7, 0xb6, 0xe0, 0x19, 0xa3, 0xaa, 0xe7, 0x46, 0xc9, 0xd5, 0xc2,
- 0x90, 0x66, 0x8e, 0xaa, 0x7b, 0xe1, 0xc4, 0x59, 0xe1, 0xad, 0xd0, 0x60,
- 0xff, 0x0a, 0xfc, 0xf3, 0x6f, 0x88, 0xf7, 0x5c, 0x5f, 0x80, 0x28, 0xcc,
- 0xf1, 0x56, 0xf3, 0xc4, 0x8a, 0x85, 0x14, 0xc5, 0xc7, 0x69, 0x2f, 0x50,
- 0x9d, 0xc2, 0xbc, 0xb9, 0x27, 0x9a, 0x80, 0x3b, 0x49, 0x56, 0xe9, 0xca,
- 0xfb, 0xd1, 0xe9, 0x13, 0xc6, 0x7e, 0x5e, 0x9e, 0x8e, 0x7c, 0xbe, 0xed,
- 0x1a, 0xa5, 0x2b, 0x91, 0x9f, 0xf4, 0xd5, 0xf1, 0xe1, 0xe8, 0x72, 0x18,
- 0x19, 0x63, 0x88, 0x0a, 0x71, 0x09, 0x8b, 0xc4, 0x3d, 0x34, 0x4b, 0xef,
- 0x89, 0xe2, 0x4e, 0xb2, 0x9e, 0xa8, 0x6f, 0xdc, 0x35, 0x6d, 0x9b, 0xcc,
- 0x5c, 0x46, 0x66, 0x03, 0x57, 0x14, 0x52, 0x53, 0x99, 0xb9, 0x1b, 0xe7,
- 0x33, 0x1a, 0x81, 0xe9, 0x96, 0x31, 0x86, 0xe6, 0x82, 0x66, 0x46, 0x12,
- 0x6d, 0x39, 0x23, 0x38, 0x19, 0x7d, 0xa7, 0xed, 0x89, 0x20, 0x0e, 0x4d,
- 0xc9, 0x2c, 0x5e, 0x9d, 0x27, 0x68, 0xb4, 0x8c, 0xb2, 0xce, 0x84, 0xa7,
- 0x8c, 0xda, 0xd0, 0xb9, 0xea, 0x63, 0x32, 0x6c, 0x1a, 0x01, 0x53, 0x90,
- 0x10, 0xcb, 0x42, 0x98, 0x84, 0x95, 0xd6, 0x1f, 0x15, 0x8d, 0x8e, 0xca,
- 0x5e, 0x84, 0x9c, 0x59, 0x0b, 0xac, 0xeb, 0x5a, 0x42, 0x66, 0xa1, 0x91,
- 0xb2, 0x4a, 0xa9, 0x0b, 0x5d, 0xdb, 0xee, 0xfb, 0x9c, 0x48, 0x7f, 0xb7,
- 0x3b, 0x5a, 0x4a, 0x7b, 0xc5, 0x35, 0x44, 0xee, 0x57, 0x1e, 0xa3, 0xd6,
- 0xe2, 0xa5, 0x7c, 0x92, 0xc9, 0x4d, 0x66, 0x6e, 0x91, 0xa1, 0x97, 0x78,
- 0xfd, 0xe8, 0x09, 0xd9, 0x08, 0x18, 0xba, 0x22, 0xd3, 0xf3, 0x8b, 0x27,
- 0xe4, 0xe9, 0xd3, 0x70, 0x42, 0xaa, 0xec, 0x6f, 0xd3, 0x18, 0xa9, 0x31,
- 0xc0, 0xe1, 0xc0, 0xa5, 0x33, 0x9e, 0xfb, 0x82, 0x99, 0x99, 0xa9, 0xab,
- 0x3b, 0x54, 0x02, 0x85, 0xbe, 0xcb, 0x98, 0x5d, 0xe5, 0xbb, 0x22, 0x03,
- 0x9b, 0x42, 0x90, 0x61, 0x45, 0xd4, 0x46, 0x12, 0xa6, 0xdd, 0xb3, 0x0a,
- 0x78, 0xea, 0x66, 0xeb, 0x0b, 0xca, 0x53, 0x3e, 0xb2, 0x56, 0x64, 0x11,
- 0xb4, 0x13, 0x85, 0x34, 0x28, 0xff, 0xcb, 0x9e, 0x9d, 0xc1, 0xe0, 0xaa,
- 0x59, 0xd8, 0x81, 0xad, 0xdd, 0x1d, 0xbb, 0xc1, 0x64, 0xac, 0x18, 0xfa,
- 0x65, 0x75, 0xef, 0x2a, 0x0b, 0xea, 0xf8, 0x3d, 0x90, 0xb1, 0x37, 0x05,
- 0x01, 0xa4, 0x8c, 0xaa, 0x74, 0x30, 0x62, 0x14, 0xd4, 0x42, 0x52, 0xc9,
- 0xf4, 0xb1, 0x13, 0x11, 0x0a, 0x0f, 0x4c, 0x4b, 0xab, 0xb8, 0xa3, 0x8e,
- 0x57, 0x44, 0xb8, 0x86, 0x47, 0x65, 0x06, 0xb8, 0x9b, 0x0c, 0x32, 0x1e,
- 0x84, 0xe4, 0xbf, 0xc6, 0x94, 0xbf, 0xcd, 0x66, 0xc8, 0xbf, 0xcc, 0x8a,
- 0x49, 0x75, 0xbf, 0xf0, 0x59, 0xb8, 0xa7, 0x0f, 0x68, 0xf0, 0x0f, 0xac,
- 0x40, 0x0b, 0xb4, 0xbf, 0x67, 0x64, 0xdd, 0x76, 0xa8, 0x7f, 0xa5, 0xb6,
- 0x62, 0x34, 0x33, 0x06, 0xd2, 0x25, 0xdc, 0xf8, 0x48, 0x66, 0x32, 0x62,
- 0xdc, 0xa5, 0x27, 0x3c, 0x77, 0x92, 0xfc, 0xd3, 0x55, 0xcd, 0xaf, 0x96,
- 0x20, 0x2e, 0xb2, 0x50, 0xe5, 0x47, 0xaf, 0xfd, 0x7e, 0x9f, 0x67, 0xec,
- 0x76, 0x3f, 0xc8, 0x65, 0x80, 0x48, 0x78, 0x43, 0x6e, 0x9a, 0x4e, 0xbd,
- 0x72, 0x3a, 0xb2, 0x5a, 0xd2, 0x68, 0x9f, 0xfd, 0x51, 0x7e, 0xcd, 0x44,
- 0x56, 0xb3, 0x03, 0x7c, 0x13, 0x12, 0x37, 0xf9, 0xb4, 0x73, 0x02, 0xdd,
- 0xc8, 0x48, 0x56, 0x06, 0x6f, 0xa9, 0x67, 0x69, 0xbc, 0xcc, 0x67, 0x8d,
- 0x97, 0x97, 0x68, 0x9e, 0xbe, 0xdd, 0x5f, 0xc9, 0x29, 0x3d, 0x94, 0xdf,
- 0x23, 0xcb, 0x74, 0x4a, 0xd5, 0x0b, 0x1c, 0xe1, 0x5d, 0x62, 0x2b, 0xe7,
- 0x02, 0xbc, 0x48, 0xfe, 0xe9, 0xe7, 0x7b, 0x9f, 0x3d, 0xdf, 0x8e, 0x06,
- 0xda, 0x79, 0x3b, 0x51, 0xd6, 0x51, 0xd3, 0x2c, 0x28, 0x7b, 0x4e, 0x36,
- 0x12, 0xfd, 0x73, 0x7f, 0xe8, 0xcf, 0x51, 0x58, 0x94, 0x20, 0x20, 0xfe,
- 0x99, 0xd2, 0x96, 0xa0, 0x69, 0x50, 0xe2, 0x76, 0xda, 0x2a, 0x3c, 0xb0,
- 0xa6, 0xb4, 0xa7, 0x1c, 0x5b, 0x39, 0x34, 0x0a, 0x83, 0x62, 0x95, 0x30,
- 0x12, 0x07, 0x4f, 0xb4, 0x03, 0x4f, 0xb8, 0x67, 0x5e, 0xfd, 0x37, 0xee,
- 0x29, 0xfe, 0x3e, 0x6c, 0xff, 0xcb, 0x0f, 0x68, 0xba, 0x06, 0x7e, 0xdd,
- 0x2a, 0x3f, 0xf9, 0xbd, 0x57, 0xf9, 0xc9, 0x03, 0xab, 0xfc, 0xe4, 0xb1,
- 0xab, 0xfc, 0xd9, 0xb3, 0xe7, 0x9f, 0xff, 0xba, 0x55, 0xf6, 0x26, 0xf9,
- 0xff, 0xcc, 0x2a, 0x7b, 0xdb, 0xec, 0xd7, 0xad, 0xb2, 0x00, 0x43, 0x02,
- 0x41, 0x2c, 0xa5, 0x32, 0x80, 0xe2, 0xa3, 0x64, 0x77, 0x86, 0x5d, 0xf2,
- 0xc3, 0x6a, 0x82, 0xb6, 0x19, 0x85, 0x6d, 0x9d, 0x2c, 0xa3, 0x88, 0x45,
- 0xcc, 0x6c, 0x97, 0xfb, 0x0f, 0x0d, 0x77, 0x31, 0xa3, 0x6a, 0x4b, 0x9b,
- 0x83, 0x4d, 0x75, 0x91, 0x68, 0x66, 0x93, 0x12, 0xd7, 0xf0, 0xd7, 0xcc,
- 0x62, 0xff, 0x13, 0x89, 0x8f, 0x42, 0xdc, 0x8c, 0x87, 0x7c, 0x6a, 0x4d,
- 0xda, 0x8a, 0xea, 0x1b, 0x31, 0x6c, 0x56, 0x50, 0xef, 0xc5, 0xf6, 0x98,
- 0x19, 0x82, 0x22, 0x85, 0x4d, 0x68, 0xf1, 0x09, 0x99, 0x1c, 0xa4, 0xce,
- 0x21, 0x79, 0x5a, 0xb0, 0x4f, 0x91, 0xba, 0x28, 0x82, 0xb5, 0xb3, 0xf5,
- 0xc5, 0xd7, 0x23, 0xe6, 0x09, 0x73, 0xda, 0x78, 0xf5, 0xe5, 0xc4, 0x2c,
- 0x7a, 0x4d, 0xdd, 0x9d, 0x2e, 0xe7, 0x0b, 0x25, 0xf1, 0xa2, 0xe4, 0x86,
- 0x1c, 0x08, 0x27, 0xcd, 0xe2, 0x8d, 0x96, 0xf0, 0x25, 0xff, 0x92, 0xcd,
- 0x75, 0x48, 0x18, 0xb1, 0xe4, 0x15, 0x59, 0xd3, 0xf2, 0x25, 0x9a, 0x94,
- 0xce, 0xa3, 0x00, 0xae, 0x8b, 0xf9, 0x83, 0xba, 0xb7, 0x2d, 0x9b, 0x4e,
- 0xa6, 0xe3, 0xd3, 0x6c, 0xbc, 0xbc, 0xd6, 0x4c, 0x58, 0x5b, 0x29, 0xaa,
- 0xbd, 0x58, 0x48, 0xc0, 0x20, 0x76, 0x8c, 0x4c, 0x0b, 0x03, 0x87, 0xa4,
- 0x00, 0x0d, 0x95, 0x49, 0x9b, 0xac, 0xc3, 0x4d, 0x05, 0x43, 0xc7, 0x1e,
- 0xc8, 0xfb, 0xde, 0xd0, 0xf1, 0x93, 0xd6, 0x8a, 0x46, 0x4a, 0xda, 0xf8,
- 0x5b, 0xa5, 0x99, 0x2c, 0x06, 0x57, 0x29, 0xd1, 0xea, 0x05, 0xa9, 0x90,
- 0x82, 0x95, 0x14, 0x17, 0xde, 0xe5, 0xd1, 0x79, 0xf2, 0x26, 0x95, 0x82,
- 0x1a, 0xc9, 0x96, 0x11, 0x4c, 0x9f, 0x3d, 0xdd, 0x7b, 0xb2, 0xbd, 0x56,
- 0x41, 0x6d, 0xd3, 0xc4, 0xe0, 0x5b, 0x45, 0x19, 0xc3, 0xac, 0x5e, 0x2e,
- 0xab, 0x42, 0xd3, 0xc6, 0xcc, 0x87, 0x3e, 0xbc, 0x3b, 0x7b, 0x7d, 0x7c,
- 0x7a, 0xf8, 0x17, 0x9b, 0xea, 0x4c, 0x73, 0xa0, 0x69, 0x72, 0x1f, 0x8c,
- 0x59, 0x77, 0xff, 0xc1, 0xd8, 0xc9, 0xe6, 0x97, 0x5b, 0x4f, 0xb6, 0x91,
- 0xb8, 0x13, 0x54, 0x57, 0xbb, 0xce, 0xda, 0x19, 0xe2, 0x0c, 0x20, 0x5e,
- 0x43, 0x74, 0xc2, 0x9e, 0x3b, 0x72, 0xdd, 0xed, 0x0e, 0x8d, 0xd4, 0x12,
- 0x44, 0x22, 0xd3, 0x7e, 0xbb, 0x4d, 0xea, 0x31, 0xf8, 0xa7, 0x42, 0x88,
- 0x24, 0xc9, 0xbe, 0x01, 0x69, 0xd7, 0x62, 0x96, 0x4f, 0x72, 0x52, 0xe3,
- 0x6b, 0xb3, 0x6f, 0x09, 0x71, 0x4d, 0x01, 0xea, 0xab, 0x36, 0xa1, 0x1a,
- 0x52, 0xcd, 0x80, 0x58, 0x5e, 0xeb, 0x65, 0x6a, 0x8b, 0xc4, 0x06, 0x32,
- 0x34, 0x9b, 0x15, 0x59, 0x33, 0x90, 0x6e, 0xbd, 0x34, 0x7f, 0xbe, 0xba,
- 0x4d, 0x67, 0x41, 0x12, 0x23, 0x15, 0x27, 0xd3, 0x9d, 0x69, 0x71, 0x85,
- 0xf4, 0xa6, 0x57, 0x2f, 0x60, 0x64, 0x89, 0xf3, 0xf5, 0x49, 0x73, 0x54,
- 0x02, 0x7e, 0xfc, 0xcb, 0xcb, 0xbf, 0x9c, 0x1f, 0xbf, 0x7a, 0x49, 0xa8,
- 0xc4, 0x2f, 0x09, 0x77, 0x5e, 0xb7, 0x40, 0x8a, 0x09, 0xd5, 0xce, 0x0d,
- 0xc6, 0xf0, 0xc3, 0xeb, 0x93, 0xd1, 0xf9, 0xe9, 0xd9, 0xd1, 0xab, 0x97,
- 0x3f, 0x90, 0xb1, 0x65, 0x64, 0xea, 0xbd, 0xf7, 0xae, 0xfd, 0x99, 0xe5,
- 0x00, 0x0f, 0xd3, 0xe0, 0x8f, 0xbf, 0xff, 0x70, 0xfc, 0xee, 0xbb, 0x57,
- 0x2f, 0x6f, 0xd3, 0xaa, 0x4f, 0xe3, 0xe3, 0xb7, 0x57, 0x54, 0xfe, 0x6b,
- 0x6d, 0x35, 0xd2, 0x5a, 0xc7, 0xb3, 0x8f, 0x75, 0xfe, 0xf7, 0x2c, 0x31,
- 0xaf, 0xcf, 0x96, 0x21, 0x05, 0xef, 0xa5, 0x14, 0x7a, 0x31, 0x97, 0x1a,
- 0xd9, 0x09, 0x5f, 0x9d, 0x7e, 0x4b, 0x34, 0x8f, 0xd6, 0x83, 0x38, 0xe7,
- 0xca, 0x22, 0xc9, 0x97, 0xcf, 0xf6, 0xf6, 0xb7, 0x5d, 0xd9, 0x3c, 0xd0,
- 0xc4, 0x9a, 0x1e, 0x7f, 0x0c, 0x72, 0x26, 0xfe, 0x2e, 0xd9, 0x1f, 0xae,
- 0xb6, 0x43, 0xc3, 0xa6, 0x86, 0x25, 0x65, 0x50, 0x77, 0x0c, 0xf2, 0xbb,
- 0x01, 0x0c, 0xa5, 0xaa, 0x83, 0x15, 0xe8, 0x72, 0x02, 0x57, 0xd4, 0xe5,
- 0x1b, 0x8f, 0x99, 0xe1, 0x2b, 0xb7, 0xf1, 0x4c, 0x77, 0xc4, 0x9d, 0xb5,
- 0xf6, 0xda, 0xf8, 0x1d, 0x83, 0x1c, 0x5d, 0x5b, 0x0b, 0x93, 0x6d, 0x4c,
- 0x71, 0xd9, 0x3f, 0xf1, 0x79, 0xf6, 0x82, 0xc1, 0xc8, 0xfe, 0x28, 0x99,
- 0x53, 0x0c, 0xa3, 0xd4, 0x8d, 0xa7, 0x09, 0xb0, 0x6b, 0x2d, 0xc5, 0x7c,
- 0x4e, 0x09, 0x83, 0x84, 0xd4, 0x67, 0xaf, 0x87, 0xe7, 0xd3, 0x98, 0x65,
- 0xd7, 0xe9, 0xe4, 0x3e, 0xb1, 0xdc, 0xa8, 0x96, 0xd7, 0x23, 0x92, 0xb1,
- 0x9f, 0xa4, 0x13, 0x32, 0x72, 0x66, 0xd9, 0x94, 0xa8, 0x94, 0xc8, 0xac,
- 0x62, 0x02, 0x00, 0x4a, 0xd3, 0x52, 0x87, 0x48, 0xab, 0x77, 0x52, 0x5b,
- 0x64, 0x75, 0x7e, 0x8b, 0x2d, 0x82, 0xd6, 0xde, 0x7d, 0xb4, 0x6d, 0x50,
- 0xd7, 0x73, 0xed, 0x9c, 0x3e, 0x6d, 0xbb, 0x92, 0xff, 0x8e, 0x43, 0x4e,
- 0xec, 0x31, 0xf0, 0x56, 0xbe, 0xa4, 0xbf, 0xc6, 0x39, 0xa4, 0xdf, 0xa8,
- 0x39, 0xcf, 0x65, 0x5b, 0x99, 0xaf, 0x9b, 0x86, 0x6d, 0x69, 0xbf, 0xa4,
- 0x26, 0x03, 0x31, 0x11, 0x37, 0xea, 0x1b, 0x5d, 0xcd, 0xcd, 0xc4, 0xbe,
- 0x61, 0x14, 0x1d, 0x36, 0x8f, 0x6b, 0x29, 0x97, 0x55, 0x4d, 0xda, 0xb4,
- 0xac, 0x30, 0x76, 0x81, 0xa4, 0x20, 0x8a, 0xd1, 0xbf, 0xa4, 0x86, 0x48,
- 0x22, 0x92, 0x4a, 0x62, 0x26, 0xea, 0x4b, 0x8d, 0x86, 0xa0, 0x6c, 0x47,
- 0x29, 0x84, 0x41, 0x78, 0x88, 0xa9, 0x0f, 0xea, 0x08, 0x5d, 0x8b, 0x2b,
- 0x07, 0x4f, 0x82, 0x93, 0x91, 0x0b, 0x14, 0x69, 0xb2, 0x94, 0xa8, 0xa6,
- 0x93, 0xb5, 0x2a, 0x6b, 0x94, 0x01, 0x05, 0xeb, 0xd5, 0x11, 0x26, 0xc6,
- 0xea, 0x1d, 0x6a, 0xb6, 0xce, 0xb5, 0xa5, 0xda, 0xe4, 0x71, 0x29, 0x48,
- 0x0a, 0x5d, 0x32, 0x82, 0x80, 0x86, 0xb2, 0xad, 0xa4, 0x56, 0x51, 0x32,
- 0x73, 0xab, 0x5b, 0xb2, 0x5a, 0x6e, 0xaf, 0x2a, 0xd3, 0x32, 0x35, 0x42,
- 0xd7, 0x94, 0xb9, 0xa5, 0x70, 0x2f, 0x71, 0x22, 0x71, 0x67, 0x4a, 0x82,
- 0x8c, 0x90, 0x86, 0x11, 0xee, 0xdd, 0x4b, 0x8a, 0x28, 0x71, 0x15, 0x55,
- 0xee, 0xbf, 0xdf, 0xaa, 0xb8, 0xb4, 0x35, 0x70, 0xb5, 0x6a, 0xf2, 0xc6,
- 0xaa, 0x6d, 0x11, 0x9a, 0x88, 0xc4, 0xf2, 0xf6, 0x5a, 0xbe, 0x21, 0x76,
- 0x0b, 0x4a, 0x28, 0x22, 0x93, 0x4d, 0x41, 0x5f, 0xdb, 0xe1, 0xdc, 0x2f,
- 0x95, 0x42, 0x79, 0x98, 0x7a, 0x1a, 0xb4, 0x55, 0x64, 0x77, 0x7e, 0x5b,
- 0x4e, 0x1f, 0xb7, 0xed, 0xfd, 0x9e, 0x8e, 0x60, 0x63, 0x4c, 0x50, 0xd2,
- 0x4a, 0xf2, 0xf2, 0xbb, 0xe3, 0x8b, 0xd1, 0xc9, 0xd9, 0xbb, 0x2f, 0xa3,
- 0x76, 0xa2, 0xfc, 0xd2, 0x56, 0x32, 0xd2, 0x4c, 0x37, 0x57, 0x4e, 0x86,
- 0xdc, 0x43, 0xea, 0x84, 0x30, 0x47, 0x36, 0xa1, 0xe4, 0x1e, 0x7a, 0xa4,
- 0xbb, 0x05, 0x6a, 0x69, 0x03, 0xee, 0xcf, 0xb4, 0xba, 0xc6, 0x5c, 0x98,
- 0xfd, 0x05, 0x9b, 0x06, 0xb5, 0x42, 0xd5, 0xd8, 0xb1, 0x7f, 0xdd, 0x0f,
- 0xc6, 0x1f, 0x87, 0xaa, 0x78, 0x91, 0xe2, 0xe5, 0x82, 0xf3, 0xa0, 0x28,
- 0xb9, 0x9e, 0xb9, 0x38, 0xfc, 0xfe, 0x05, 0xa4, 0xe2, 0xe6, 0xc3, 0xad,
- 0x17, 0xcd, 0xc3, 0xb7, 0x7b, 0x5e, 0xf6, 0x86, 0x7d, 0x6e, 0x2f, 0xf6,
- 0xdc, 0x5e, 0xf8, 0xdc, 0x7e, 0xec, 0xb9, 0xfd, 0xf0, 0xb9, 0x27, 0xb1,
- 0xe7, 0xbc, 0x04, 0x1d, 0xcf, 0xe5, 0xa5, 0x33, 0xb4, 0xce, 0x22, 0xf4,
- 0xd6, 0xb3, 0x65, 0xc9, 0x6e, 0x78, 0x26, 0xdc, 0x2f, 0x32, 0x61, 0x7d,
- 0x88, 0x4d, 0xc7, 0x8f, 0x6a, 0x3e, 0x44, 0x88, 0x1d, 0x52, 0x69, 0x8c,
- 0xe0, 0x35, 0xff, 0xfd, 0x32, 0x4c, 0xbb, 0xc3, 0xac, 0x87, 0xc5, 0xd6,
- 0x49, 0x0b, 0x42, 0x5a, 0x08, 0x57, 0xf7, 0xd5, 0xe0, 0x8f, 0xad, 0x23,
- 0xc6, 0x5b, 0x2a, 0x7e, 0x7d, 0xc0, 0xac, 0xea, 0x8d, 0x2e, 0xce, 0x7b,
- 0x7d, 0x71, 0x47, 0x9a, 0x6f, 0x0c, 0xcc, 0xbf, 0x13, 0x68, 0xdb, 0x44,
- 0x91, 0xff, 0xec, 0xe9, 0x36, 0x07, 0x12, 0xd0, 0xc9, 0xa5, 0xd4, 0xcd,
- 0x0d, 0xc2, 0x44, 0xe6, 0x77, 0x0e, 0x7b, 0x54, 0xb5, 0x4a, 0x59, 0x18,
- 0x2d, 0xb8, 0x3d, 0x40, 0x86, 0x04, 0xf4, 0xa5, 0x4e, 0xfc, 0xea, 0xcb,
- 0xcd, 0x71, 0x36, 0x51, 0xb9, 0x64, 0xea, 0xe5, 0xb0, 0xe3, 0xc0, 0x2d,
- 0xab, 0x8f, 0xc2, 0xe6, 0x2d, 0x4e, 0x50, 0xac, 0x47, 0x50, 0x65, 0xb1,
- 0xb5, 0x3e, 0x6d, 0xd7, 0x89, 0x37, 0x62, 0x99, 0xab, 0xbe, 0xd8, 0x72,
- 0xc9, 0xaa, 0x52, 0x82, 0x52, 0xdd, 0x8f, 0x8e, 0x94, 0x14, 0xf3, 0x46,
- 0x43, 0xda, 0x8e, 0x34, 0xf3, 0x40, 0xbe, 0xfe, 0xd3, 0xce, 0xea, 0xeb,
- 0xe4, 0x45, 0x96, 0xdd, 0xd5, 0x28, 0xc6, 0x12, 0x41, 0xb3, 0x53, 0x2a,
- 0x2d, 0x94, 0x12, 0x6f, 0xef, 0x08, 0xa1, 0xba, 0x59, 0x99, 0x6e, 0xa2,
- 0xf9, 0xf5, 0xde, 0x8a, 0x0c, 0xd5, 0x37, 0x2f, 0xae, 0x1a, 0x6f, 0xa9,
- 0x1d, 0x9f, 0xf5, 0xc3, 0x03, 0xf2, 0xc7, 0x83, 0xb7, 0xa3, 0x78, 0x4c,
- 0x1a, 0x92, 0xe2, 0xd5, 0x1e, 0x35, 0x20, 0x47, 0x52, 0xb4, 0x72, 0x48,
- 0xca, 0x95, 0xdd, 0x1e, 0x94, 0x1b, 0x95, 0x37, 0x2c, 0xb7, 0x4b, 0x69,
- 0x68, 0xc1, 0xd6, 0x7b, 0xd4, 0x40, 0x5b, 0x23, 0x25, 0x39, 0x12, 0xa8,
- 0x9f, 0xa7, 0xa3, 0x6d, 0xf5, 0x06, 0xfa, 0xce, 0x40, 0x4f, 0x6e, 0x42,
- 0x4e, 0x3e, 0x0e, 0x84, 0x28, 0xee, 0x40, 0x7a, 0x59, 0xe9, 0xc7, 0xd7,
- 0xe4, 0x08, 0x86, 0x92, 0x85, 0x64, 0x5b, 0xb4, 0x87, 0x6d, 0x87, 0x65,
- 0xbc, 0x93, 0x7b, 0x2d, 0x44, 0xb8, 0x22, 0xc0, 0x7f, 0xfb, 0x1e, 0xee,
- 0xff, 0xba, 0x39, 0xdc, 0xff, 0xe7, 0xcd, 0xe1, 0x93, 0x5f, 0x3d, 0x87,
- 0x4f, 0x7e, 0x9b, 0x39, 0x74, 0xf5, 0x4f, 0xe9, 0x21, 0x6a, 0x36, 0x6f,
- 0xd7, 0x32, 0x10, 0x3d, 0xc0, 0xfc, 0x73, 0x4c, 0x31, 0x7d, 0xf2, 0xa0,
- 0x98, 0x07, 0x29, 0xf5, 0x36, 0x43, 0x25, 0xc8, 0xce, 0x80, 0x1b, 0xcb,
- 0x18, 0x60, 0x59, 0x9b, 0xc9, 0xd5, 0x88, 0xc4, 0x7e, 0x30, 0x68, 0x92,
- 0x20, 0xff, 0xaa, 0x24, 0xf5, 0xd8, 0xc8, 0xbb, 0x7e, 0xf2, 0x6e, 0x34,
- 0xe2, 0x58, 0xeb, 0x08, 0xde, 0xe2, 0xae, 0xbd, 0x44, 0x86, 0x26, 0x2e,
- 0xbb, 0x2d, 0xd2, 0xa2, 0xce, 0x4c, 0x0f, 0xa1, 0x76, 0xc0, 0x02, 0xe0,
- 0xf7, 0xe6, 0xe9, 0x84, 0x7e, 0xbc, 0x3b, 0xdc, 0x7b, 0x62, 0x7f, 0xb3,
- 0xfd, 0x0b, 0x28, 0x3e, 0x9c, 0x2b, 0x37, 0xaa, 0x57, 0x85, 0xd8, 0xdf,
- 0xf6, 0x32, 0x7c, 0x5a, 0xe1, 0x7e, 0x7f, 0xc4, 0x52, 0x70, 0xa0, 0x89,
- 0x53, 0xd2, 0x3b, 0x87, 0xb8, 0x9f, 0x88, 0x7e, 0x15, 0xd3, 0xad, 0x1e,
- 0xe3, 0x31, 0xf7, 0x1c, 0xd4, 0xff, 0x67, 0x3c, 0xe6, 0x71, 0xfd, 0xa7,
- 0xf5, 0xaf, 0x56, 0x9a, 0x73, 0x53, 0x0d, 0xb4, 0xae, 0x43, 0x9c, 0x36,
- 0xd2, 0x99, 0x86, 0x04, 0x72, 0x06, 0xa5, 0xce, 0x94, 0xf7, 0x07, 0xc5,
- 0x10, 0x8f, 0xe5, 0x5d, 0xe7, 0x9d, 0xe5, 0xc8, 0xf4, 0xca, 0xea, 0x9d,
- 0x36, 0x65, 0x5c, 0x93, 0x76, 0x79, 0x94, 0x35, 0x6f, 0xaa, 0x65, 0xa1,
- 0x1f, 0x11, 0xd4, 0x0b, 0xd8, 0x35, 0xc1, 0x5d, 0x11, 0x2c, 0xeb, 0x24,
- 0x63, 0x5e, 0x83, 0xfc, 0x21, 0x21, 0xff, 0xbc, 0x3d, 0xde, 0x74, 0x92,
- 0x0d, 0xd2, 0x7a, 0x92, 0xe7, 0x71, 0x53, 0x8c, 0xbd, 0x96, 0xa8, 0x83,
- 0x90, 0x5c, 0x2d, 0x29, 0xd2, 0x88, 0x57, 0x4c, 0x5f, 0x96, 0xf3, 0x85,
- 0x16, 0x8b, 0xcc, 0x0b, 0xc9, 0xfa, 0xa7, 0x4e, 0x97, 0xcb, 0xe6, 0xba,
- 0x54, 0x8f, 0x4c, 0x3f, 0xb0, 0xec, 0xc8, 0xb1, 0xca, 0x94, 0x88, 0xf5,
- 0xa4, 0xca, 0x17, 0x20, 0xbe, 0xf2, 0x2a, 0x52, 0xf4, 0x6d, 0xd1, 0x46,
- 0x98, 0x4a, 0xe2, 0xfd, 0xe6, 0x1a, 0x86, 0xef, 0x83, 0x3c, 0xeb, 0xde,
- 0xa0, 0x47, 0x76, 0xa9, 0xa5, 0xf1, 0x37, 0xef, 0x12, 0x63, 0xa1, 0xe7,
- 0x72, 0xe6, 0x9a, 0xb8, 0xab, 0xc3, 0x0b, 0xea, 0x87, 0x32, 0x5b, 0xe8,
- 0x5e, 0x49, 0xf1, 0xc0, 0x54, 0xac, 0xfe, 0x65, 0xd2, 0xf1, 0x66, 0x19,
- 0xd1, 0x20, 0x26, 0xa5, 0xe4, 0x9e, 0xdc, 0x64, 0x9f, 0x38, 0x45, 0x26,
- 0xd4, 0x16, 0x59, 0x64, 0xdd, 0x68, 0xfa, 0xc8, 0xe1, 0xe8, 0xe8, 0xe4,
- 0xa4, 0x95, 0x4e, 0x43, 0xd3, 0xc6, 0x5c, 0x5a, 0x9c, 0xf3, 0x5c, 0x13,
- 0xad, 0x18, 0x52, 0xa5, 0xd1, 0xdd, 0x18, 0x49, 0xf1, 0x3c, 0xbf, 0xbe,
- 0x81, 0xeb, 0x2c, 0x4b, 0xeb, 0x5c, 0xcb, 0x08, 0xa5, 0x1c, 0xbc, 0x5e,
- 0x16, 0xa6, 0x9b, 0xb0, 0x92, 0x6e, 0x96, 0xc6, 0x24, 0xfe, 0xfd, 0x29,
- 0x02, 0x5a, 0x54, 0x94, 0x16, 0xa4, 0x2a, 0xb3, 0xc5, 0xe7, 0xca, 0x77,
- 0xd5, 0x87, 0x7b, 0x2d, 0xc2, 0x08, 0x7c, 0x5e, 0x49, 0xcd, 0x18, 0x70,
- 0x83, 0xc0, 0x61, 0xc2, 0xac, 0xbe, 0x54, 0xd9, 0x94, 0x68, 0x8a, 0xb8,
- 0x71, 0x33, 0x5c, 0x0d, 0x00, 0x80, 0x2d, 0xd3, 0x7a, 0x07, 0xbb, 0x46,
- 0x1f, 0xfb, 0x41, 0xd7, 0xe6, 0x01, 0xec, 0x75, 0xaf, 0x41, 0x7c, 0x61,
- 0xed, 0x09, 0x48, 0x79, 0xff, 0xf3, 0x93, 0xfe, 0xee, 0x77, 0xdb, 0x9f,
- 0xb9, 0x65, 0xec, 0x01, 0xf8, 0xef, 0x79, 0x02, 0x04, 0x22, 0xdd, 0xfb,
- 0x63, 0x6f, 0x05, 0x67, 0xf4, 0x23, 0xda, 0x69, 0x25, 0x97, 0xff, 0x73,
- 0x77, 0x5a, 0x24, 0xdb, 0xdd, 0x13, 0x62, 0xfe, 0x9a, 0x2e, 0x8b, 0xfc,
- 0x13, 0xb0, 0xaa, 0x46, 0x5f, 0x78, 0x49, 0x6c, 0xc9, 0x2b, 0x98, 0x80,
- 0x8f, 0x58, 0x77, 0x49, 0x14, 0x79, 0x8b, 0x51, 0xbc, 0x37, 0x2f, 0x27,
- 0xd3, 0x72, 0x4e, 0x71, 0x4b, 0x6e, 0xa3, 0xef, 0xd3, 0x31, 0x42, 0xac,
- 0x47, 0xe2, 0x9e, 0x45, 0xd6, 0x90, 0xe5, 0xb6, 0xd6, 0x35, 0xd9, 0x76,
- 0xf7, 0x5e, 0xa2, 0xfc, 0xca, 0x82, 0xe0, 0x90, 0x6b, 0xca, 0xfb, 0x61,
- 0x32, 0x1c, 0xfc, 0xb0, 0xed, 0xff, 0xf1, 0x38, 0xab, 0xb5, 0xa0, 0xb0,
- 0xb2, 0x60, 0x83, 0x0c, 0x3a, 0x1a, 0xa2, 0xb5, 0xc4, 0xe5, 0x8e, 0xf6,
- 0x3f, 0xef, 0x3a, 0x96, 0x40, 0x2c, 0xef, 0xfc, 0xef, 0x52, 0x94, 0x67,
- 0x2d, 0x69, 0x36, 0x13, 0x9d, 0xbb, 0x72, 0x68, 0xad, 0xf2, 0x08, 0x60,
- 0x9a, 0xc9, 0x67, 0xb4, 0xf9, 0x77, 0x34, 0x3e, 0x35, 0x0b, 0x51, 0x85,
- 0x5e, 0x8d, 0x46, 0x96, 0x75, 0x84, 0x61, 0x87, 0x97, 0x9a, 0xfe, 0x0d,
- 0x96, 0x08, 0x55, 0x22, 0xda, 0xa3, 0xe0, 0x7a, 0x32, 0xd1, 0xda, 0xe7,
- 0x1c, 0x40, 0xb8, 0xa1, 0x52, 0x8c, 0xda, 0xaf, 0x8a, 0x37, 0x62, 0xbb,
- 0xd8, 0xa6, 0xc6, 0x24, 0x3c, 0x96, 0xfe, 0x48, 0x39, 0x66, 0x51, 0xc2,
- 0x44, 0x77, 0x62, 0xe2, 0x30, 0x4a, 0x20, 0x20, 0xde, 0x62, 0xc2, 0x1f,
- 0xd8, 0xca, 0x6f, 0xbc, 0xb0, 0x5e, 0x09, 0xf1, 0x20, 0xb4, 0x45, 0xe4,
- 0x1b, 0x43, 0x1f, 0x0f, 0x8a, 0x53, 0x53, 0x16, 0x0a, 0x43, 0xdf, 0x32,
- 0x8a, 0xb8, 0x96, 0xd7, 0xa6, 0x16, 0x89, 0x73, 0xd8, 0xd5, 0x59, 0x0f,
- 0xd8, 0x73, 0x57, 0x9d, 0x26, 0x9b, 0x16, 0xe1, 0x26, 0x8a, 0x44, 0xc7,
- 0x56, 0xaa, 0xec, 0x54, 0xe4, 0xeb, 0xdc, 0x56, 0xe5, 0xd2, 0x1c, 0xf1,
- 0xbc, 0xf0, 0xf7, 0x7b, 0x1a, 0xf5, 0x6e, 0xb3, 0x50, 0x4a, 0x0e, 0x85,
- 0xc3, 0x32, 0x23, 0x17, 0x4d, 0xe7, 0x1b, 0x43, 0x23, 0x65, 0xb6, 0x52,
- 0xcb, 0x81, 0x25, 0x30, 0xe0, 0xed, 0x80, 0x02, 0xf9, 0x5e, 0x2a, 0xd8,
- 0xbb, 0x9c, 0x0d, 0x9f, 0x6c, 0x95, 0xba, 0xda, 0xe9, 0x1a, 0x10, 0x63,
- 0x88, 0x1c, 0x85, 0x27, 0x11, 0xe9, 0x97, 0x30, 0x95, 0x40, 0x3c, 0x8e,
- 0xeb, 0x92, 0xd9, 0xcb, 0xb5, 0x66, 0xa3, 0x04, 0xd5, 0x85, 0x06, 0x8c,
- 0xdb, 0x84, 0xc7, 0x68, 0x9c, 0x85, 0xcd, 0xf1, 0x22, 0x46, 0x26, 0xf5,
- 0x2f, 0xb6, 0x5e, 0x95, 0x66, 0x20, 0x90, 0x54, 0x0b, 0x8f, 0xb4, 0xad,
- 0x53, 0x42, 0xb4, 0xe7, 0x8e, 0xce, 0x73, 0x25, 0x11, 0xf4, 0x30, 0x39,
- 0xa6, 0xa7, 0xc3, 0x86, 0xfe, 0x24, 0xc4, 0xe9, 0xb9, 0x5f, 0x86, 0x88,
- 0x4b, 0x7a, 0x86, 0x3b, 0x4b, 0xf6, 0x1e, 0x5f, 0x4a, 0x34, 0x1b, 0x48,
- 0x5f, 0x1c, 0x0a, 0xcd, 0x3e, 0x29, 0xee, 0xaa, 0x6d, 0x26, 0xbd, 0xeb,
- 0x59, 0x39, 0x1e, 0x9b, 0x91, 0xf7, 0x54, 0x4f, 0x31, 0xdf, 0x0e, 0x1c,
- 0x61, 0x7e, 0x4f, 0xd4, 0x23, 0xdb, 0x87, 0xe5, 0xc0, 0xe8, 0x4b, 0xea,
- 0x85, 0x2b, 0xe1, 0xa5, 0x9f, 0x57, 0x16, 0xca, 0xc8, 0x4d, 0x03, 0x4e,
- 0xc8, 0xc4, 0x6e, 0x41, 0x1a, 0x9b, 0x07, 0xe6, 0x94, 0x64, 0x0d, 0xfa,
- 0xa9, 0x76, 0x2f, 0xe1, 0x8a, 0xe7, 0x2b, 0x80, 0x40, 0x2d, 0x0e, 0xfc,
- 0xbe, 0x16, 0x41, 0xc9, 0xc3, 0xea, 0xe4, 0x3c, 0x05, 0xed, 0x01, 0xf5,
- 0xfe, 0x93, 0xfe, 0xd8, 0xeb, 0xd3, 0x7f, 0xf7, 0xff, 0xab, 0x97, 0x90,
- 0x09, 0x73, 0xb0, 0xb3, 0x73, 0x77, 0x77, 0x37, 0x14, 0x82, 0xe7, 0xa1,
- 0x59, 0xb2, 0x8d, 0x30, 0xab, 0x81, 0x58, 0x66, 0x56, 0x7c, 0xe0, 0x32,
- 0xe9, 0xe5, 0xf3, 0xeb, 0x1f, 0xf7, 0x06, 0x7b, 0xbb, 0xbb, 0xbb, 0x3f,
- 0x0f, 0x17, 0x34, 0xbf, 0x57, 0x68, 0xd6, 0xfc, 0xd7, 0x6f, 0x76, 0x87,
- 0x7b, 0xb2, 0x13, 0x25, 0xee, 0xe2, 0xdf, 0xa9, 0x69, 0x5d, 0x30, 0x53,
- 0x30, 0xef, 0xe4, 0x03, 0x4f, 0xc8, 0x70, 0x20, 0x20, 0x5d, 0x97, 0x23,
- 0xc8, 0xe8, 0x0f, 0xf2, 0x7e, 0x3e, 0x7b, 0xb2, 0xbf, 0x9f, 0xb0, 0xca,
- 0xc1, 0xd0, 0x7b, 0x8e, 0x46, 0x51, 0xd6, 0xa5, 0x54, 0x38, 0xe4, 0xdb,
- 0x6c, 0x42, 0xf4, 0x33, 0x15, 0x97, 0x4f, 0x0b, 0x4a, 0x69, 0x29, 0xc8,
- 0x83, 0xed, 0xdf, 0xdc, 0x5c, 0xe5, 0xe5, 0xf4, 0xde, 0xb5, 0x6a, 0xb6,
- 0x78, 0x45, 0xa2, 0x95, 0xab, 0x10, 0x79, 0xd5, 0xb8, 0x53, 0x71, 0x29,
- 0x04, 0xa9, 0x12, 0x52, 0x75, 0x03, 0xf7, 0x1c, 0x58, 0xce, 0x8a, 0x52,
- 0xea, 0xec, 0x21, 0xf4, 0x72, 0xb5, 0xac, 0x84, 0x5e, 0x1d, 0xb1, 0xaa,
- 0xbb, 0xf4, 0xbe, 0x75, 0xdd, 0x9b, 0x19, 0x7f, 0x69, 0xfe, 0xb3, 0xaa,
- 0x32, 0x2e, 0x29, 0x97, 0xb4, 0x97, 0x38, 0xdb, 0x3e, 0x6b, 0x26, 0x37,
- 0x5d, 0xc4, 0x0c, 0x64, 0xb8, 0xe9, 0xed, 0x8d, 0x19, 0xd0, 0xbd, 0xad,
- 0xe8, 0x18, 0x2d, 0x3e, 0xe3, 0x72, 0x8e, 0x4c, 0x93, 0x44, 0x30, 0x8c,
- 0xfa, 0x33, 0x5c, 0x8f, 0x92, 0xc5, 0xe2, 0x8a, 0x22, 0x62, 0xb6, 0xfe,
- 0x11, 0xbe, 0x97, 0xd7, 0x9a, 0x12, 0x35, 0xb9, 0xc9, 0xe6, 0x22, 0x33,
- 0xb7, 0x14, 0xf4, 0xd2, 0x93, 0x3d, 0xd8, 0x8b, 0x04, 0xf0, 0x7a, 0x57,
- 0xfa, 0x2b, 0x33, 0x92, 0x6d, 0x49, 0x2a, 0xb2, 0x17, 0x9d, 0x70, 0xb0,
- 0x5f, 0x2f, 0xc9, 0x74, 0x1c, 0xa7, 0x72, 0xa3, 0x68, 0x9e, 0xdb, 0x0a,
- 0xcc, 0x96, 0x11, 0x8a, 0x59, 0x85, 0x6b, 0xac, 0x5e, 0x8e, 0x07, 0xa2,
- 0xfb, 0xa0, 0x47, 0x88, 0x0f, 0xd2, 0x69, 0x7d, 0x7d, 0x72, 0x74, 0xc9,
- 0xe9, 0x3d, 0xe6, 0xbf, 0x84, 0x04, 0x36, 0x7f, 0x50, 0x56, 0x4f, 0xc8,
- 0x90, 0x7f, 0xfe, 0x84, 0xa3, 0xc0, 0xd8, 0xac, 0xd6, 0x1d, 0x9e, 0x3a,
- 0xa4, 0x44, 0x4b, 0xf9, 0xeb, 0x7b, 0x54, 0xcb, 0x11, 0xc2, 0xfa, 0x96,
- 0x9e, 0x68, 0xb3, 0xc2, 0x9e, 0x3e, 0x1b, 0xee, 0xf2, 0x10, 0x5d, 0x01,
- 0x3e, 0x45, 0xa1, 0xc3, 0x5b, 0x54, 0x0b, 0x9f, 0x5f, 0xba, 0x82, 0x8b,
- 0x54, 0xbb, 0xd2, 0x4f, 0x98, 0xbe, 0x92, 0xd3, 0x44, 0xf5, 0xb7, 0x1e,
- 0xe0, 0xe5, 0x01, 0xa8, 0xaf, 0xde, 0x5e, 0x02, 0xf3, 0xba, 0xef, 0x52,
- 0x0f, 0x82, 0x1a, 0x52, 0x11, 0xc8, 0x10, 0xc2, 0xb1, 0x54, 0x00, 0xd9,
- 0x13, 0x82, 0x88, 0xeb, 0x3b, 0xba, 0xfb, 0x92, 0x6e, 0x01, 0xb9, 0xb1,
- 0x04, 0x57, 0x8e, 0x22, 0x51, 0xae, 0xca, 0x4a, 0x4c, 0x43, 0x09, 0x6a,
- 0x09, 0x0c, 0xbe, 0x92, 0x42, 0x7f, 0xac, 0x29, 0xc7, 0x60, 0xed, 0x58,
- 0xcb, 0x6d, 0x0b, 0x55, 0x12, 0xf3, 0xd5, 0xea, 0x9d, 0x43, 0x78, 0x04,
- 0x79, 0xf5, 0x9b, 0x4e, 0x59, 0xc8, 0x00, 0x3d, 0x8d, 0xec, 0x6d, 0x2f,
- 0x77, 0x21, 0xe5, 0x0a, 0x8d, 0xb4, 0x05, 0x60, 0xeb, 0xb1, 0x7b, 0xaa,
- 0xf7, 0x05, 0xf9, 0xb3, 0x5f, 0x1d, 0xda, 0xf0, 0x47, 0x9c, 0xa6, 0x01,
- 0x0a, 0x55, 0xcd, 0xf2, 0xad, 0x6d, 0xce, 0x88, 0x4c, 0x23, 0xb9, 0x9f,
- 0x7d, 0x62, 0x46, 0x32, 0xac, 0xdc, 0x5d, 0x5e, 0x3c, 0xd9, 0x4f, 0xea,
- 0x7b, 0xa3, 0x43, 0xcc, 0xfd, 0x49, 0xe8, 0x56, 0x3b, 0x8c, 0xfa, 0xf1,
- 0x5b, 0x25, 0x42, 0x58, 0x74, 0xbd, 0xa7, 0x57, 0x0e, 0xf1, 0x8a, 0x14,
- 0x14, 0x50, 0xc8, 0xc5, 0x23, 0x4a, 0x68, 0x96, 0x2a, 0xc4, 0xc6, 0xb3,
- 0xb4, 0xf8, 0x58, 0x5b, 0x45, 0x1b, 0x0d, 0xf5, 0xa9, 0x30, 0x15, 0x27,
- 0xc9, 0xb8, 0x1f, 0xca, 0xf4, 0xf0, 0xc5, 0xd8, 0x69, 0xee, 0x6f, 0x4b,
- 0xa8, 0xf6, 0xf3, 0xb4, 0x42, 0xfe, 0xc4, 0x2f, 0x28, 0xd0, 0x19, 0x9d,
- 0x5b, 0x57, 0xb0, 0xf3, 0xf7, 0x8b, 0x1e, 0x2f, 0x75, 0xd6, 0x8d, 0x84,
- 0x36, 0xff, 0x3d, 0xd0, 0x48, 0xc5, 0xba, 0x2a, 0xe6, 0x78, 0xdc, 0xd6,
- 0x56, 0xb4, 0xb1, 0x0d, 0xbf, 0x5a, 0x16, 0x6b, 0x73, 0x2e, 0xa6, 0x12,
- 0x4b, 0x34, 0x19, 0x26, 0x67, 0xce, 0x78, 0x2c, 0xfa, 0x60, 0xf7, 0x6b,
- 0xaa, 0x89, 0x98, 0x8e, 0xf8, 0xfb, 0x40, 0x0b, 0xdf, 0xc6, 0x66, 0x80,
- 0x35, 0x1a, 0x54, 0xd1, 0xbd, 0x77, 0x7a, 0x9e, 0x77, 0x9d, 0x71, 0x59,
- 0x26, 0x27, 0x7b, 0x8d, 0x14, 0xa1, 0xfa, 0x45, 0xa0, 0xe0, 0x08, 0x80,
- 0x74, 0x3c, 0x88, 0x28, 0x8f, 0x79, 0x7c, 0xbc, 0xb5, 0x84, 0x1c, 0x67,
- 0xe6, 0xfe, 0xa3, 0x62, 0x4f, 0xa5, 0xd6, 0xf5, 0xe0, 0x64, 0x53, 0xca,
- 0x62, 0x2f, 0x8b, 0x7e, 0xc0, 0x53, 0x81, 0x20, 0x9f, 0xb8, 0x98, 0x08,
- 0xc4, 0x31, 0x97, 0x42, 0x81, 0xb6, 0xda, 0x58, 0xca, 0x6f, 0xea, 0x56,
- 0x74, 0x1f, 0x7f, 0xa0, 0xa2, 0x19, 0x53, 0xae, 0xeb, 0x62, 0x98, 0x6d,
- 0xd7, 0xe7, 0x9c, 0x84, 0x38, 0xe7, 0x28, 0x1f, 0xfd, 0x6f, 0x8d, 0xb5,
- 0x9e, 0x55, 0x65, 0x9d, 0x7c, 0xf7, 0x4c, 0x91, 0x15, 0x52, 0x1e, 0x51,
- 0xee, 0x26, 0xab, 0x97, 0xdf, 0xbb, 0x92, 0xcd, 0x51, 0xb7, 0x89, 0xa6,
- 0x76, 0xeb, 0xeb, 0xfe, 0x25, 0xd5, 0x1d, 0x09, 0xd9, 0xeb, 0x46, 0x5e,
- 0xa2, 0x30, 0x6d, 0x70, 0x7d, 0xb6, 0x2b, 0x9a, 0x99, 0x0b, 0x97, 0x14,
- 0x1d, 0xf2, 0xef, 0x18, 0x15, 0x7e, 0xdc, 0xa4, 0x48, 0xa0, 0x48, 0x5c,
- 0xc7, 0x93, 0xcb, 0x9c, 0x5c, 0x00, 0x43, 0xbb, 0x23, 0xa2, 0x58, 0x5d,
- 0x29, 0x95, 0xe9, 0xf8, 0x30, 0x3b, 0xd1, 0x3e, 0xd2, 0x2b, 0xea, 0x1b,
- 0xba, 0x9a, 0xe9, 0xc6, 0x80, 0xe1, 0x17, 0x67, 0x6a, 0x15, 0x5a, 0xd2,
- 0x77, 0x97, 0xa7, 0x6f, 0x25, 0xe6, 0xed, 0xd6, 0x27, 0xa8, 0x22, 0x2f,
- 0x5b, 0x33, 0x8d, 0x51, 0xd0, 0x7a, 0x93, 0xa1, 0x60, 0x7a, 0xce, 0xbf,
- 0xa4, 0x69, 0xeb, 0x4b, 0x64, 0xb9, 0x12, 0x90, 0xb6, 0x9a, 0x68, 0x32,
- 0xa9, 0x11, 0xef, 0x26, 0x81, 0x93, 0x6a, 0xf8, 0x09, 0x60, 0x3e, 0x1b,
- 0x41, 0x63, 0xb6, 0xa4, 0x57, 0x02, 0x25, 0xdc, 0xd7, 0x65, 0xe7, 0xc8,
- 0xf8, 0x0b, 0x46, 0xdb, 0x90, 0x39, 0x70, 0x93, 0xd7, 0xe5, 0x5d, 0x31,
- 0x38, 0xa5, 0x6c, 0x9b, 0xe4, 0xb4, 0xbc, 0x36, 0x53, 0xf5, 0x2e, 0x6a,
- 0xc9, 0xbf, 0x3f, 0x7f, 0x97, 0x6c, 0x91, 0x24, 0x4e, 0xce, 0x2d, 0xc3,
- 0x0a, 0x3d, 0xb9, 0x2d, 0x4a, 0xa7, 0x11, 0x87, 0x6f, 0x5c, 0x6f, 0xfa,
- 0xc9, 0xf1, 0x0f, 0x87, 0x6f, 0xcf, 0x4f, 0x8f, 0x7f, 0x5a, 0x11, 0xda,
- 0xa7, 0x1f, 0xff, 0xd9, 0xd3, 0xc2, 0xe1, 0xb5, 0xa7, 0x28, 0x96, 0xe9,
- 0xc7, 0xfd, 0x6a, 0x59, 0xc0, 0xc7, 0x47, 0xb7, 0xe0, 0x68, 0x74, 0x7e,
- 0x32, 0x50, 0x76, 0x14, 0xae, 0x9a, 0x93, 0x17, 0xa4, 0x32, 0xe3, 0x14,
- 0x0b, 0x71, 0xf1, 0xb7, 0x61, 0x80, 0x42, 0x4f, 0x44, 0x3f, 0x79, 0xa7,
- 0x6c, 0xa3, 0x7d, 0xac, 0x38, 0xdd, 0xf1, 0xaf, 0xf3, 0x6b, 0x04, 0x19,
- 0x3a, 0x4c, 0x27, 0x5a, 0x63, 0x9c, 0x36, 0x41, 0xc0, 0x3c, 0x44, 0x9e,
- 0x48, 0x1b, 0xa8, 0xab, 0xb3, 0x19, 0xbb, 0xb4, 0x56, 0xca, 0x51, 0xc0,
- 0xaf, 0xb0, 0x8c, 0x04, 0xfe, 0x0c, 0xc2, 0x27, 0x02, 0x06, 0x25, 0x2d,
- 0x8a, 0xd7, 0x4f, 0xf4, 0x54, 0xde, 0x23, 0x2c, 0x3b, 0xe4, 0x92, 0xb1,
- 0xc2, 0xe1, 0xc0, 0xd8, 0xe9, 0xcb, 0xe4, 0xa0, 0xf7, 0x3b, 0x5e, 0x24,
- 0xbe, 0xf7, 0x2f, 0xc2, 0x7f, 0x2f, 0x51, 0x14, 0x75, 0x0f, 0x72, 0x56,
- 0x32, 0x2b, 0xb7, 0xea, 0x81, 0x61, 0xff, 0xa7, 0x39, 0xea, 0x82, 0x0a,
- 0x01, 0xde, 0xfc, 0x3a, 0x92, 0xbc, 0x5c, 0x40, 0x2e, 0x65, 0x5c, 0xdf,
- 0xcb, 0xa8, 0x2d, 0x54, 0xd4, 0x56, 0xfc, 0xba, 0x66, 0x0c, 0x3d, 0xc4,
- 0xab, 0x44, 0xa5, 0x2e, 0xa7, 0x3d, 0x2a, 0xf4, 0x0a, 0xaf, 0x34, 0xea,
- 0xac, 0x87, 0xcd, 0x61, 0xae, 0x36, 0xbf, 0xdc, 0x94, 0x40, 0x5b, 0x4f,
- 0x6e, 0x64, 0xd2, 0x68, 0x7a, 0xac, 0xd2, 0x10, 0x53, 0x18, 0xf5, 0xde,
- 0x9c, 0xf8, 0xcd, 0x97, 0x9b, 0x89, 0x3c, 0xa8, 0x4f, 0x76, 0x05, 0x0e,
- 0xde, 0x93, 0xb0, 0x8f, 0xf2, 0x8c, 0xc9, 0xea, 0x0b, 0x5c, 0xec, 0x26,
- 0x9f, 0x4e, 0x33, 0xf1, 0x94, 0x50, 0xf1, 0x12, 0x66, 0x34, 0xe2, 0xc0,
- 0x52, 0xf7, 0x62, 0x6a, 0xf5, 0x5c, 0xfa, 0xfa, 0x6f, 0xda, 0x57, 0xaf,
- 0xcc, 0x17, 0xb9, 0xa9, 0x5d, 0xc1, 0x8d, 0x31, 0x97, 0x89, 0x8a, 0x2d,
- 0x37, 0xed, 0x52, 0xc4, 0x42, 0x60, 0x2e, 0x41, 0x37, 0x52, 0x6b, 0xb1,
- 0x95, 0x11, 0xd0, 0xef, 0x00, 0xee, 0x11, 0xeb, 0x08, 0x5d, 0x5a, 0xbc,
- 0x82, 0xd8, 0x3c, 0xa6, 0xe5, 0xcd, 0x8a, 0x08, 0xd9, 0xb9, 0x0a, 0x27,
- 0x95, 0x26, 0x59, 0x75, 0x52, 0xd5, 0xdd, 0xe7, 0x76, 0x1e, 0xa7, 0xcf,
- 0x29, 0xec, 0x91, 0x6c, 0x31, 0x3c, 0x98, 0x15, 0x70, 0xfc, 0x8a, 0xb6,
- 0xdf, 0x0f, 0x73, 0xb7, 0xb9, 0x58, 0x04, 0x8b, 0x65, 0x0d, 0x16, 0xb8,
- 0x24, 0x04, 0x89, 0x9f, 0x29, 0x6a, 0x31, 0xe6, 0x7a, 0xf3, 0x53, 0x4b,
- 0xda, 0xa5, 0x44, 0xc4, 0xbd, 0x09, 0x42, 0xdd, 0xd5, 0xc9, 0x0a, 0x9d,
- 0x9c, 0x8c, 0xe1, 0x6a, 0xbe, 0x10, 0xdb, 0xbf, 0x38, 0x96, 0x29, 0xea,
- 0x2a, 0xff, 0x4e, 0x4e, 0x55, 0x04, 0x3b, 0xf9, 0x5a, 0x82, 0x29, 0xad,
- 0xaa, 0xf1, 0x8c, 0xff, 0x67, 0x3f, 0x52, 0xa1, 0xac, 0xfb, 0x63, 0x3d,
- 0x7a, 0x88, 0x1e, 0xe7, 0xf0, 0xf8, 0xd6, 0xc3, 0x78, 0x25, 0x58, 0xa8,
- 0x2e, 0xd8, 0x74, 0x7a, 0xb1, 0xb3, 0xd7, 0x15, 0x11, 0x16, 0x6d, 0xa2,
- 0xbc, 0x92, 0xf3, 0xa0, 0x6d, 0x47, 0xc2, 0x6d, 0xb8, 0x3d, 0x9e, 0xd8,
- 0xf2, 0xc5, 0xe6, 0xc9, 0x2a, 0xad, 0xb8, 0x82, 0x5c, 0xf1, 0x51, 0x01,
- 0x41, 0xd4, 0x72, 0xf6, 0x29, 0x9b, 0x2c, 0x9b, 0x36, 0xae, 0xdd, 0xeb,
- 0x93, 0xd0, 0x18, 0xa0, 0x4b, 0x5b, 0x38, 0x08, 0x62, 0xa1, 0xf4, 0xce,
- 0x35, 0x05, 0xfd, 0xa0, 0xb7, 0x2d, 0x91, 0x3d, 0x8e, 0xfa, 0xd8, 0xdc,
- 0xf4, 0x58, 0xcc, 0x4e, 0xbb, 0x5c, 0x65, 0xec, 0x60, 0x73, 0x01, 0xec,
- 0xe8, 0xe7, 0xb9, 0x04, 0x73, 0xe4, 0xeb, 0x6f, 0xd8, 0x1b, 0xe3, 0x7d,
- 0xdc, 0x16, 0xed, 0x11, 0x47, 0x4d, 0x1d, 0x1c, 0xe5, 0xe0, 0xcb, 0xa8,
- 0xa0, 0x67, 0x04, 0x94, 0xad, 0x7d, 0xa9, 0xaf, 0xea, 0xe4, 0x07, 0x0e,
- 0xb2, 0x93, 0xf3, 0xdb, 0xe7, 0xe2, 0xdf, 0x24, 0x7d, 0x83, 0x6e, 0x3c,
- 0xfc, 0xc8, 0x4a, 0xfc, 0x60, 0x14, 0x1f, 0xab, 0xf1, 0x53, 0xf3, 0xc7,
- 0xb7, 0xf4, 0xc7, 0x15, 0x1b, 0x89, 0x42, 0x21, 0xc3, 0x9e, 0xb9, 0x70,
- 0x6b, 0x8f, 0x4e, 0xf5, 0x0f, 0x59, 0x70, 0xe0, 0x96, 0x29, 0xfb, 0x80,
- 0xf8, 0x66, 0x5c, 0xe6, 0x3f, 0xf4, 0x5f, 0x6d, 0xa6, 0xcf, 0x19, 0x41,
- 0x61, 0xe0, 0x4a, 0xfe, 0x07, 0x7e, 0x94, 0x3e, 0xf8, 0x47, 0xfa, 0xf0,
- 0x42, 0x8c, 0xb8, 0xda, 0x59, 0x19, 0x4b, 0x0a, 0x31, 0x53, 0xf5, 0x77,
- 0x8a, 0xcd, 0x68, 0xc1, 0xec, 0x04, 0x05, 0x5c, 0xe7, 0x16, 0x05, 0x0c,
- 0xcb, 0xc8, 0x06, 0xf9, 0xd9, 0x61, 0x49, 0x07, 0x8d, 0xe5, 0x59, 0xbe,
- 0xa2, 0x0b, 0xab, 0x87, 0x8c, 0xdb, 0x5d, 0xfe, 0x08, 0x19, 0xd6, 0x56,
- 0xbf, 0xf7, 0x1a, 0x29, 0x51, 0x62, 0xe8, 0x49, 0x69, 0x12, 0x52, 0xd8,
- 0x74, 0xa9, 0x19, 0x23, 0x81, 0xb5, 0xc1, 0xa3, 0x56, 0x3a, 0xb0, 0x5a,
- 0xb2, 0xa2, 0x9f, 0x73, 0x54, 0x43, 0x00, 0xcb, 0x34, 0xc4, 0xc2, 0x47,
- 0x1b, 0xc1, 0x9c, 0x67, 0x73, 0x0a, 0x87, 0xd8, 0x9b, 0x91, 0x39, 0x2b,
- 0x48, 0xb3, 0xa2, 0xcf, 0x0d, 0xe2, 0xcd, 0x4d, 0x49, 0x7b, 0xa3, 0x5b,
- 0x96, 0x71, 0x3b, 0xff, 0x12, 0x44, 0xc0, 0xea, 0xfb, 0x62, 0x72, 0xf3,
- 0xfa, 0xdd, 0x28, 0xfe, 0x7a, 0x77, 0x70, 0x78, 0xda, 0x68, 0x21, 0xb4,
- 0x17, 0x98, 0x94, 0x4f, 0xd8, 0x9a, 0xc8, 0xe4, 0x3d, 0xf4, 0x7e, 0x1b,
- 0x6f, 0xae, 0xfd, 0x8a, 0x75, 0x0e, 0x91, 0x66, 0xc1, 0x52, 0x5c, 0x14,
- 0x4f, 0x78, 0xe2, 0x07, 0x29, 0x9d, 0x05, 0x76, 0xad, 0xc4, 0x9b, 0x6b,
- 0x6e, 0x28, 0x84, 0x80, 0x1a, 0x9e, 0x68, 0xb1, 0xf2, 0x90, 0x47, 0xdd,
- 0x7d, 0x0d, 0x82, 0x79, 0xfd, 0xe3, 0x97, 0x2c, 0xf3, 0x29, 0x95, 0x81,
- 0x8d, 0x04, 0x9c, 0x82, 0x19, 0xb2, 0x6e, 0x7b, 0x17, 0x10, 0x34, 0x5b,
- 0x75, 0x46, 0xaf, 0xf3, 0x2e, 0xed, 0xcb, 0x66, 0xc5, 0x8f, 0xaa, 0x55,
- 0x43, 0x32, 0x73, 0xb2, 0xff, 0xf5, 0x57, 0xe1, 0xed, 0xf9, 0xfa, 0xdd,
- 0x8a, 0xcf, 0xd1, 0x6f, 0x06, 0x9a, 0x22, 0x20, 0x1a, 0x81, 0xa7, 0xd0,
- 0x87, 0x73, 0x11, 0x27, 0x33, 0x6d, 0xff, 0xf2, 0x21, 0x29, 0x61, 0x9e,
- 0x90, 0x3f, 0xd6, 0x3e, 0x28, 0x10, 0xd5, 0xf8, 0xa7, 0x18, 0xf5, 0xcb,
- 0xd0, 0xae, 0xe4, 0x82, 0x23, 0x7b, 0xe7, 0xa2, 0x08, 0x6f, 0xaf, 0x5b,
- 0xa3, 0x78, 0x73, 0x24, 0xdf, 0x62, 0x04, 0x0c, 0x24, 0x16, 0xf6, 0xf9,
- 0x8f, 0x9d, 0x7d, 0x0b, 0x58, 0xb2, 0x59, 0x1e, 0x38, 0xa6, 0xe6, 0x06,
- 0x0f, 0x15, 0x84, 0x22, 0xff, 0x34, 0x42, 0x8c, 0x79, 0xc5, 0x6e, 0x46,
- 0x30, 0x9a, 0xa3, 0xd0, 0xb6, 0x73, 0xd4, 0x4f, 0xd5, 0xc4, 0xa2, 0x3d,
- 0x19, 0x71, 0xce, 0xe2, 0x43, 0x9b, 0x29, 0x8f, 0x60, 0xac, 0xd6, 0xb1,
- 0x4c, 0xbd, 0x35, 0x4a, 0x12, 0x5d, 0xae, 0x8f, 0xde, 0xa4, 0xfa, 0x42,
- 0xb2, 0x35, 0x36, 0xd7, 0xb5, 0x97, 0x30, 0xce, 0x2a, 0xf6, 0x53, 0xc6,
- 0x63, 0xc7, 0x9b, 0x7b, 0xf6, 0xf9, 0xb3, 0xa7, 0xdb, 0xdb, 0x0e, 0xb6,
- 0xcc, 0x90, 0x89, 0x31, 0xa9, 0x39, 0xf3, 0x9c, 0x24, 0x17, 0x07, 0x1f,
- 0xcc, 0x14, 0xdf, 0x40, 0x30, 0x58, 0x2f, 0x4c, 0xbc, 0x39, 0xba, 0xc7,
- 0xf4, 0x3d, 0x5a, 0x44, 0x32, 0xc1, 0x21, 0xd0, 0xad, 0x21, 0x4c, 0x97,
- 0x4d, 0xc6, 0x0f, 0x58, 0x37, 0xfc, 0x4a, 0xa9, 0x80, 0xb8, 0x91, 0xf3,
- 0x43, 0x71, 0xc1, 0x70, 0xd8, 0x49, 0x7a, 0xd3, 0x86, 0x08, 0xc0, 0x73,
- 0xbe, 0xf6, 0xf0, 0x07, 0x18, 0xa3, 0x6e, 0xb4, 0x42, 0xdc, 0xf9, 0x72,
- 0x3c, 0x33, 0x77, 0xd0, 0x88, 0x4a, 0x9f, 0x7e, 0x4a, 0x4e, 0xf3, 0xba,
- 0x11, 0x61, 0x9c, 0x16, 0x16, 0x34, 0xb7, 0xea, 0xce, 0xc1, 0xb8, 0xdb,
- 0x1b, 0x4d, 0x3c, 0x88, 0x5e, 0x52, 0x16, 0x6b, 0x6d, 0x49, 0x6f, 0xc1,
- 0x1f, 0xa2, 0x22, 0xab, 0x83, 0x55, 0x03, 0xfb, 0x94, 0xd5, 0x9e, 0x19,
- 0x37, 0xb8, 0x23, 0x05, 0x11, 0x89, 0xe1, 0xe4, 0x88, 0x4e, 0x5e, 0xb2,
- 0x2a, 0x18, 0xad, 0x40, 0xc6, 0x45, 0x72, 0x24, 0x15, 0xd1, 0x57, 0x1a,
- 0xa1, 0x7e, 0xc3, 0x65, 0x9b, 0x5e, 0x51, 0xe2, 0x14, 0x23, 0xe8, 0x66,
- 0x19, 0x8a, 0xff, 0x92, 0x20, 0x0b, 0xe0, 0xcf, 0x0c, 0x4e, 0xcc, 0xc4,
- 0xb8, 0x17, 0x27, 0x85, 0x38, 0x5f, 0x01, 0x8c, 0x4a, 0x91, 0xea, 0xcf,
- 0xee, 0x1a, 0x4e, 0x31, 0x67, 0x2f, 0xb0, 0x59, 0xe4, 0x4f, 0xc1, 0xe1,
- 0x15, 0x3c, 0x24, 0x55, 0xa5, 0x73, 0xfe, 0x79, 0x4d, 0x76, 0xac, 0x5b,
- 0x5f, 0x0a, 0x7c, 0x2c, 0x91, 0xca, 0x70, 0x33, 0x33, 0x19, 0x64, 0xbc,
- 0xf6, 0xb8, 0x47, 0x3d, 0xa4, 0x76, 0x29, 0x3f, 0x1e, 0xa0, 0x33, 0xaa,
- 0xde, 0x4f, 0xc5, 0x61, 0xc7, 0x6d, 0x4b, 0xde, 0x53, 0x1a, 0x2b, 0xd6,
- 0xae, 0x4e, 0xf1, 0x3f, 0x2b, 0x0c, 0xa7, 0x97, 0x48, 0x35, 0x50, 0x98,
- 0xf7, 0x0a, 0xff, 0xb4, 0x6d, 0x4a, 0x93, 0x91, 0x7c, 0x47, 0x8e, 0x68,
- 0xa3, 0xfe, 0x22, 0xad, 0x9a, 0x69, 0x72, 0xd0, 0x8b, 0x6a, 0x9e, 0x76,
- 0x02, 0x88, 0x82, 0x0f, 0x76, 0x68, 0xcb, 0x3e, 0xd3, 0x4f, 0x38, 0x92,
- 0x11, 0x02, 0xe0, 0x36, 0x79, 0xb3, 0x0c, 0xa5, 0xe3, 0x58, 0xdd, 0xa2,
- 0xc8, 0x0f, 0xc5, 0x7d, 0x4a, 0x8b, 0xe1, 0x92, 0x38, 0x61, 0x8f, 0x11,
- 0x56, 0xa9, 0x01, 0x6b, 0xa1, 0x1e, 0x66, 0x4a, 0x7b, 0x9b, 0x95, 0x77,
- 0x01, 0x86, 0x97, 0x4c, 0x01, 0xdb, 0xbb, 0x76, 0xe2, 0x85, 0x79, 0xfb,
- 0x8f, 0xff, 0xa9, 0xbf, 0xfc, 0x40, 0x33, 0xf5, 0x5f, 0x3a, 0x53, 0x1a,
- 0xda, 0x4f, 0x83, 0x24, 0x45, 0x18, 0xc1, 0xc9, 0x1f, 0x31, 0x2b, 0x7f,
- 0x25, 0x48, 0x0a, 0x4f, 0x8d, 0xe9, 0xf2, 0x1c, 0x0d, 0xfe, 0x71, 0x68,
- 0x15, 0x5e, 0x69, 0x24, 0xa5, 0x9c, 0x2b, 0x68, 0xe5, 0xe3, 0xfb, 0xc0,
- 0x77, 0x44, 0xdb, 0xf0, 0xa7, 0xa2, 0x0f, 0x06, 0x40, 0x63, 0x7b, 0xa5,
- 0x28, 0xd0, 0x4b, 0x35, 0xac, 0x78, 0x15, 0x7f, 0xaa, 0x24, 0xe3, 0xdf,
- 0x18, 0x1d, 0xa6, 0xe7, 0x64, 0x91, 0xf1, 0xcf, 0x43, 0x0b, 0x80, 0xd0,
- 0x32, 0x07, 0x58, 0x8d, 0x3f, 0x0e, 0xea, 0xfb, 0xf9, 0xb8, 0x9c, 0xc9,
- 0x5e, 0xa7, 0xf1, 0x9a, 0x3e, 0xeb, 0xcf, 0x78, 0x61, 0x10, 0xd9, 0x18,
- 0x78, 0x19, 0xbb, 0xfd, 0x28, 0x4b, 0x31, 0x1b, 0x29, 0xe5, 0x64, 0x82,
- 0xec, 0x19, 0xc0, 0xb8, 0xa9, 0x6a, 0xed, 0x1f, 0x13, 0x86, 0xe3, 0xb0,
- 0x3a, 0xb4, 0x84, 0xd7, 0xea, 0xce, 0xb9, 0x6a, 0x57, 0x66, 0xac, 0x3c,
- 0xb0, 0x79, 0xac, 0xc4, 0x8b, 0x66, 0x3b, 0xd3, 0x21, 0x35, 0x1d, 0xfd,
- 0x80, 0x14, 0x19, 0x7e, 0xf5, 0x88, 0x7f, 0x34, 0xb8, 0xa4, 0x1f, 0x09,
- 0xe6, 0x40, 0x73, 0xeb, 0xc8, 0x9f, 0xa1, 0xd9, 0x6f, 0x54, 0x87, 0xed,
- 0x2a, 0x2e, 0xa5, 0xda, 0x60, 0x26, 0x14, 0xb3, 0x2c, 0xc2, 0xfb, 0x4a,
- 0x8f, 0xd2, 0x07, 0xa6, 0x18, 0x30, 0x26, 0xff, 0xfa, 0xd6, 0x60, 0xa1,
- 0x12, 0x64, 0x61, 0x8e, 0x74, 0x45, 0x0b, 0x88, 0xf3, 0x93, 0x91, 0x99,
- 0x21, 0x83, 0xa3, 0x4f, 0xc3, 0x87, 0x9a, 0x63, 0x54, 0x0f, 0x9c, 0x21,
- 0x02, 0x95, 0x20, 0xe7, 0x93, 0xc7, 0x96, 0xdc, 0x94, 0xb3, 0x29, 0xe3,
- 0x33, 0xa8, 0xdd, 0x07, 0xc6, 0x5a, 0x32, 0x12, 0xd7, 0x93, 0x16, 0x91,
- 0x78, 0xa0, 0xe0, 0xa0, 0x28, 0x74, 0xb8, 0xbe, 0x39, 0x17, 0x57, 0x14,
- 0xef, 0xfe, 0x09, 0xca, 0xd3, 0x95, 0x8c, 0xd7, 0x42, 0x3f, 0x91, 0x80,
- 0x30, 0x27, 0x9f, 0x66, 0x24, 0x76, 0x94, 0xc4, 0x44, 0x2c, 0xc2, 0x4e,
- 0xff, 0xd1, 0x77, 0xdd, 0x61, 0xcf, 0xcf, 0xc0, 0x0b, 0x4b, 0x6a, 0xcd,
- 0xe2, 0xf5, 0xcd, 0xad, 0x2e, 0xdb, 0x7c, 0xd5, 0x2c, 0x3e, 0xa0, 0x86,
- 0xe9, 0x07, 0xc2, 0xf5, 0x61, 0xcd, 0xd4, 0xe7, 0x8e, 0x1f, 0x60, 0x6a,
- 0x39, 0x9f, 0x6f, 0xb9, 0xa0, 0x76, 0xb0, 0xc5, 0x67, 0x25, 0x9b, 0x33,
- 0x0f, 0x0d, 0x43, 0x22, 0x7a, 0x02, 0x01, 0xf3, 0xf3, 0xc6, 0xb7, 0xda,
- 0x15, 0x41, 0x9e, 0x06, 0x1d, 0xa3, 0x88, 0xfd, 0x07, 0x84, 0xfa, 0xec,
- 0x66, 0x32, 0x97, 0x4d, 0x56, 0xe5, 0x13, 0xbf, 0x3c, 0x16, 0x1e, 0xc0,
- 0x7e, 0x62, 0x96, 0x28, 0x8a, 0xfd, 0x45, 0x09, 0xf1, 0x3a, 0xff, 0x83,
- 0x77, 0x94, 0x8b, 0x81, 0x91, 0xd3, 0x4f, 0xe1, 0x61, 0x08, 0xb4, 0x9b,
- 0x6e, 0x12, 0x0e, 0xc1, 0x0f, 0xd6, 0x9e, 0x3c, 0x30, 0x4e, 0x30, 0x6e,
- 0xee, 0x27, 0x02, 0x44, 0xcf, 0xd3, 0xda, 0xf6, 0x90, 0x87, 0x60, 0xeb,
- 0xc3, 0x42, 0x37, 0xbc, 0x09, 0x48, 0x0d, 0x93, 0x48, 0x4c, 0x85, 0x23,
- 0x31, 0x57, 0xe5, 0x70, 0xc5, 0xcc, 0x30, 0xd4, 0xb2, 0x3b, 0x33, 0xed,
- 0x09, 0x91, 0x19, 0x71, 0x35, 0xec, 0x23, 0x18, 0xc1, 0xa4, 0x8b, 0x7f,
- 0x57, 0x36, 0x94, 0x64, 0x4b, 0x2e, 0x58, 0xa1, 0x4c, 0xd9, 0xb6, 0x87,
- 0x86, 0xdd, 0xa3, 0x42, 0xa0, 0xf2, 0x50, 0x73, 0x10, 0x44, 0x9d, 0x05,
- 0xdf, 0x5f, 0xb5, 0xe0, 0xaa, 0xd3, 0x8a, 0xf4, 0xa0, 0x9f, 0x25, 0x56,
- 0xd1, 0x15, 0x60, 0x14, 0x06, 0x66, 0x65, 0xd0, 0xec, 0x3e, 0x89, 0x92,
- 0xae, 0x76, 0xfe, 0xe7, 0x7f, 0xfe, 0x59, 0xac, 0x9e, 0x38, 0x90, 0x97,
- 0x1f, 0xf2, 0x85, 0x2f, 0xbc, 0x4e, 0xce, 0xbd, 0xe2, 0xd4, 0x24, 0xf3,
- 0x79, 0x0e, 0x81, 0xd1, 0xa4, 0x43, 0xa1, 0xe2, 0x96, 0x8e, 0xf9, 0x43,
- 0xd3, 0x30, 0x41, 0xe2, 0x25, 0x1b, 0xce, 0x1e, 0x2f, 0xdb, 0x40, 0x55,
- 0x24, 0x31, 0xa3, 0x4f, 0xce, 0x6f, 0x9f, 0x46, 0x40, 0x2a, 0x49, 0xc4,
- 0xab, 0xd4, 0x2a, 0xc9, 0xfe, 0x62, 0xe5, 0x90, 0xb8, 0x9e, 0xb1, 0x0e,
- 0x49, 0x3a, 0xef, 0x93, 0x2f, 0x7b, 0x83, 0x68, 0xf7, 0x73, 0x7d, 0x1f,
- 0xbc, 0x41, 0x3c, 0xd8, 0x13, 0xf3, 0xa5, 0x0f, 0x8e, 0xb8, 0x33, 0x79,
- 0x67, 0x3f, 0x6c, 0xb4, 0x02, 0xc7, 0xe8, 0x89, 0xa2, 0xa2, 0xb9, 0x56,
- 0x1a, 0x9c, 0xa0, 0xaa, 0x65, 0x54, 0x9f, 0x4d, 0x22, 0xea, 0x6d, 0x67,
- 0x7f, 0x3d, 0x89, 0xf6, 0x41, 0x0b, 0x94, 0xd5, 0xb6, 0x0f, 0x58, 0x56,
- 0xef, 0xc7, 0xb2, 0xc5, 0xe8, 0x1e, 0xbc, 0x2a, 0xa5, 0x70, 0xe0, 0x63,
- 0x04, 0xca, 0xaa, 0x7d, 0x1e, 0xf6, 0x03, 0x67, 0xe9, 0x43, 0x5d, 0xcf,
- 0x68, 0xb3, 0xe7, 0x57, 0xf7, 0xa6, 0x53, 0xf5, 0xca, 0xcc, 0x6a, 0xff,
- 0x2e, 0xe5, 0xe7, 0x74, 0xb9, 0x3c, 0xcb, 0x72, 0xb3, 0x86, 0xf3, 0x6f,
- 0x91, 0x51, 0x6d, 0x66, 0xe6, 0x8c, 0x7c, 0x60, 0xc6, 0x40, 0x29, 0x89,
- 0xcf, 0xbb, 0x88, 0x98, 0x88, 0x0c, 0xab, 0x39, 0x0c, 0xa9, 0x5a, 0xa7,
- 0x98, 0x4c, 0x0f, 0x0c, 0xbe, 0xd5, 0x12, 0x35, 0xe2, 0xc2, 0xc0, 0xed,
- 0x09, 0xa1, 0x54, 0xad, 0x60, 0x42, 0x74, 0xf6, 0x3f, 0x40, 0xaa, 0x70,
- 0xe0, 0x56, 0x2b, 0x72, 0xda, 0xba, 0xb3, 0xa9, 0x6c, 0x0f, 0x0d, 0xbe,
- 0x0e, 0x4e, 0xe9, 0x5a, 0x9c, 0x45, 0x38, 0x31, 0x93, 0x10, 0xb9, 0x20,
- 0x45, 0x10, 0x00, 0x61, 0x75, 0x6b, 0xbd, 0x45, 0xe0, 0x16, 0x30, 0x4d,
- 0xa1, 0x86, 0x24, 0x7e, 0xb1, 0xd2, 0x17, 0xe9, 0xc8, 0x9f, 0x9a, 0x6d,
- 0xc1, 0xec, 0xa8, 0xce, 0x26, 0xf5, 0xf5, 0x88, 0xb7, 0x09, 0xf2, 0x21,
- 0x9d, 0x10, 0x59, 0xb8, 0x40, 0xe4, 0xd2, 0x87, 0xb6, 0x8d, 0x10, 0x86,
- 0x71, 0x15, 0x0d, 0x58, 0x3b, 0xd7, 0xa0, 0xb5, 0x28, 0x3b, 0x5b, 0xc9,
- 0xdc, 0x2f, 0x91, 0x99, 0xa3, 0x7b, 0xd5, 0x0a, 0xad, 0x4b, 0x1f, 0xaf,
- 0xee, 0x15, 0x46, 0xff, 0xc7, 0x0f, 0x78, 0x54, 0x4a, 0x95, 0x55, 0x47,
- 0x0e, 0x3d, 0x74, 0x47, 0x46, 0x45, 0x83, 0x8c, 0x41, 0xa5, 0x94, 0x3f,
- 0x86, 0x7f, 0xb2, 0x90, 0x12, 0xe4, 0xa0, 0x7f, 0xe4, 0x68, 0x09, 0xe5,
- 0xc7, 0x5b, 0xb5, 0x23, 0xd7, 0xa3, 0x44, 0xa3, 0xa9, 0x8b, 0x5b, 0x6c,
- 0x27, 0x31, 0x9e, 0x91, 0xae, 0x46, 0x67, 0x76, 0xb0, 0x7f, 0x69, 0x21,
- 0x6e, 0xfb, 0xe0, 0xd9, 0x20, 0xa2, 0x96, 0x0f, 0x96, 0xe4, 0x99, 0x23,
- 0x1c, 0xa8, 0x6c, 0xea, 0x4a, 0x91, 0x33, 0xe5, 0x0e, 0x9f, 0x5f, 0x12,
- 0x5b, 0xfa, 0x74, 0xc4, 0x99, 0x85, 0xd6, 0x24, 0x5e, 0x9a, 0xac, 0x6b,
- 0x4d, 0x53, 0xac, 0x6c, 0x53, 0x88, 0x39, 0x3e, 0x70, 0xd2, 0x88, 0x39,
- 0x2d, 0xfa, 0x45, 0xcb, 0xcf, 0xf6, 0xa8, 0xfe, 0xc3, 0x74, 0x56, 0x8d,
- 0x65, 0xfd, 0x17, 0x7d, 0x11, 0x11, 0xff, 0xb4, 0x42, 0xa7, 0x1f, 0xf7,
- 0xe9, 0x95, 0xf0, 0x74, 0xf0, 0x5b, 0xbb, 0x75, 0xa0, 0xb6, 0x52, 0x8a,
- 0xb8, 0x5f, 0x7b, 0x0c, 0xdc, 0xcc, 0x8a, 0xee, 0x6c, 0x1b, 0x23, 0x3b,
- 0xeb, 0x65, 0xc5, 0x75, 0x67, 0x1f, 0x56, 0xf7, 0xd4, 0x83, 0x63, 0xdb,
- 0x23, 0x6a, 0xa5, 0x36, 0x35, 0xf8, 0x8a, 0x5e, 0xd9, 0x21, 0xfa, 0xbd,
- 0x92, 0x1f, 0x76, 0xfb, 0xe4, 0x3a, 0xf5, 0x0b, 0x7b, 0xc5, 0xed, 0x3d,
- 0xa6, 0x4f, 0xbf, 0xfc, 0x5e, 0xeb, 0x5c, 0x6c, 0xdd, 0xab, 0xac, 0x75,
- 0x57, 0x3d, 0x46, 0xd8, 0x3f, 0x70, 0x95, 0xb5, 0x6e, 0xab, 0x87, 0xcf,
- 0xec, 0xaa, 0xab, 0x6c, 0x2f, 0x26, 0x42, 0x48, 0x3e, 0x7c, 0x48, 0x17,
- 0x0b, 0x11, 0x3b, 0x8f, 0x18, 0x3b, 0x93, 0xd7, 0x60, 0xbb, 0x0b, 0x95,
- 0x3c, 0xd7, 0x4b, 0x37, 0x7b, 0xb5, 0xfc, 0xc8, 0x1e, 0x2e, 0xc6, 0x32,
- 0xa6, 0xd5, 0x03, 0xcd, 0x71, 0xb9, 0x67, 0x99, 0xc1, 0x9d, 0xd1, 0xe8,
- 0x9b, 0x9d, 0xac, 0x99, 0x58, 0x09, 0xb8, 0xe3, 0x20, 0x53, 0x52, 0x56,
- 0xf5, 0x41, 0x85, 0x06, 0x32, 0x18, 0xd5, 0x3c, 0x68, 0x1e, 0xac, 0x8b,
- 0xf1, 0xb1, 0xd3, 0xd0, 0xb6, 0x50, 0x7e, 0x97, 0x81, 0x12, 0xf5, 0x9f,
- 0xfd, 0x8c, 0x8c, 0xca, 0xdd, 0x80, 0xe8, 0x3a, 0xdd, 0xf2, 0xeb, 0x9b,
- 0x13, 0xdb, 0xa6, 0x3d, 0xc6, 0xe8, 0x88, 0xc8, 0xec, 0x26, 0xb4, 0xc4,
- 0x72, 0xf1, 0x7f, 0x68, 0x61, 0x61, 0xf7, 0x73, 0xe0, 0x0c, 0xe8, 0x92,
- 0x87, 0xbb, 0xbc, 0x20, 0x1b, 0x97, 0xcd, 0xd8, 0x87, 0xfb, 0xcc, 0x5d,
- 0xe6, 0x82, 0x72, 0xdd, 0x0e, 0x8b, 0xb3, 0x95, 0xcb, 0xc1, 0x3c, 0xb6,
- 0xcf, 0x2e, 0x85, 0x49, 0x3b, 0x81, 0x3e, 0xc3, 0x65, 0x68, 0x4b, 0xa7,
- 0x8f, 0xb3, 0xeb, 0xbc, 0x78, 0x94, 0xef, 0x47, 0xf1, 0x0d, 0xe9, 0x8c,
- 0xeb, 0x51, 0xda, 0x46, 0x25, 0x8b, 0x8b, 0x43, 0x18, 0x94, 0xb9, 0xff,
- 0xa0, 0x98, 0x48, 0x85, 0x7a, 0x90, 0x44, 0x85, 0xe7, 0x10, 0x9d, 0xa8,
- 0xc7, 0x82, 0x40, 0x10, 0xf9, 0x64, 0x49, 0x29, 0xcc, 0x91, 0xe2, 0x74,
- 0x81, 0x97, 0xc3, 0x28, 0x01, 0x9c, 0xba, 0x70, 0x4b, 0x31, 0xcd, 0x15,
- 0x6b, 0x61, 0x75, 0xbd, 0x15, 0x93, 0x4d, 0x95, 0xcb, 0xb1, 0x37, 0xa4,
- 0x08, 0xbc, 0x3e, 0xff, 0xa0, 0x98, 0x32, 0x22, 0x6e, 0x51, 0x7b, 0xe9,
- 0xb0, 0xd8, 0x26, 0xbc, 0x51, 0xfb, 0x7a, 0x3e, 0xfa, 0xc9, 0xa3, 0xb7,
- 0x02, 0x53, 0x90, 0xc9, 0xd4, 0x0a, 0x8f, 0x9a, 0x22, 0x65, 0x29, 0x50,
- 0xc9, 0xbf, 0x4c, 0x27, 0x96, 0x9d, 0xfb, 0xa1, 0xde, 0xa5, 0x5c, 0x94,
- 0xa2, 0x33, 0x0b, 0x2e, 0xb7, 0xdb, 0xde, 0x32, 0x80, 0x96, 0x3c, 0x4a,
- 0xc4, 0xe7, 0x42, 0x0b, 0xa3, 0x29, 0x51, 0x89, 0x3f, 0x5b, 0x14, 0xbf,
- 0x12, 0x19, 0xf5, 0x08, 0xad, 0x34, 0x6a, 0xa4, 0xa1, 0xab, 0xe8, 0xf9,
- 0xe3, 0x8f, 0xcf, 0xef, 0x72, 0xe4, 0x19, 0xe1, 0x43, 0x8a, 0x4a, 0xf4,
- 0xe8, 0x3c, 0xda, 0x40, 0xae, 0xb0, 0x02, 0x0c, 0x66, 0x70, 0x40, 0xa1,
- 0x8e, 0x88, 0x60, 0x3f, 0xfb, 0xac, 0x2e, 0x1f, 0xd6, 0x0c, 0x38, 0xb9,
- 0x9c, 0xc5, 0x81, 0x40, 0x8e, 0x89, 0x70, 0x54, 0x59, 0x6c, 0x8d, 0x8a,
- 0x4c, 0xa7, 0xa7, 0xc9, 0x1e, 0x75, 0xd3, 0xd0, 0xf5, 0x1f, 0x3f, 0x33,
- 0xac, 0xb1, 0xb9, 0x19, 0xc6, 0x3f, 0xc3, 0xa3, 0xa3, 0x49, 0xac, 0x0c,
- 0x7b, 0x02, 0x42, 0xf1, 0x31, 0xdb, 0x88, 0xbc, 0x61, 0x91, 0xd3, 0x0a,
- 0x2e, 0x57, 0x55, 0xd5, 0x9d, 0x21, 0xe0, 0xdc, 0x8c, 0x94, 0xf2, 0x04,
- 0xda, 0x42, 0x32, 0xf8, 0xd5, 0x2f, 0x0d, 0xd3, 0x84, 0xb4, 0x8c, 0xc1,
- 0x43, 0xbe, 0x58, 0xb8, 0xad, 0xc9, 0x6f, 0x0d, 0x08, 0xde, 0x2d, 0xc6,
- 0x35, 0x9b, 0xda, 0xa0, 0x94, 0x18, 0xaa, 0x4a, 0x3e, 0x7a, 0xb0, 0xbe,
- 0x39, 0xe5, 0x2c, 0xfe, 0x1d, 0x09, 0xeb, 0x3e, 0xa5, 0xe6, 0x14, 0xc4,
- 0xe0, 0xd5, 0x75, 0x8a, 0x7b, 0x48, 0x8b, 0xca, 0x97, 0x42, 0x6b, 0xd8,
- 0x2e, 0x7f, 0xc5, 0xb5, 0x2d, 0x1c, 0xa0, 0xd6, 0xec, 0xff, 0x32, 0xc8,
- 0xdb, 0x21, 0x5d, 0x0f, 0x51, 0x47, 0xf6, 0xc7, 0x1b, 0x4b, 0x2b, 0x95,
- 0x14, 0xbc, 0xc2, 0x48, 0x85, 0x86, 0x1d, 0xd0, 0x9c, 0x2e, 0x69, 0xfa,
- 0x92, 0x8f, 0x97, 0x0d, 0x05, 0x1a, 0x1d, 0x9f, 0x59, 0x04, 0x94, 0x2e,
- 0x59, 0x40, 0xf8, 0x9a, 0x4d, 0x67, 0xfc, 0x34, 0xbd, 0x1e, 0x96, 0x55,
- 0x4e, 0x37, 0x0e, 0x70, 0x70, 0xda, 0x18, 0xed, 0xfc, 0x3e, 0x24, 0x0a,
- 0xd9, 0x14, 0xb1, 0xe6, 0x34, 0xf4, 0xc2, 0x64, 0x6a, 0x49, 0xd8, 0xf4,
- 0x1c, 0xfb, 0x95, 0x7e, 0x67, 0x5b, 0xd5, 0x5a, 0x67, 0xb1, 0x08, 0x25,
- 0x27, 0xd4, 0xb8, 0xca, 0x4f, 0x8a, 0x18, 0xb0, 0xa3, 0x75, 0x03, 0xa5,
- 0xc8, 0x98, 0xd9, 0x78, 0x15, 0x92, 0x43, 0x43, 0x0f, 0x45, 0x5e, 0xd7,
- 0x4b, 0x2c, 0xd8, 0x9b, 0x93, 0xd3, 0x63, 0x0b, 0x0a, 0xfa, 0xdf, 0x3b,
- 0x43, 0x9a, 0xf2, 0x6a, 0x12, 0x40, 0xa0, 0x38, 0x29, 0xcb, 0xcb, 0xb0,
- 0x93, 0xac, 0xad, 0x6f, 0xfb, 0x5c, 0x26, 0x07, 0x3f, 0x6e, 0xa5, 0x6c,
- 0x1d, 0xbf, 0xfb, 0xee, 0xe4, 0xe2, 0xec, 0xdd, 0xdb, 0xe3, 0x77, 0xd6,
- 0xdb, 0x4b, 0x87, 0x22, 0xc6, 0x75, 0x5b, 0x87, 0x21, 0xdf, 0x9c, 0xe2,
- 0x05, 0x44, 0xb8, 0x88, 0xfa, 0x5e, 0x44, 0xb5, 0xb1, 0x58, 0xc8, 0xbf,
- 0x86, 0x7e, 0x73, 0xde, 0x43, 0xea, 0xf1, 0xa5, 0x40, 0xfc, 0x82, 0xcc,
- 0xfd, 0x29, 0x05, 0xde, 0x86, 0xec, 0x23, 0xb6, 0x85, 0xc6, 0x88, 0x6e,
- 0xf7, 0xd3, 0x24, 0x93, 0x32, 0xab, 0x54, 0x54, 0x6a, 0xc3, 0x4e, 0x09,
- 0x87, 0x89, 0x5c, 0x30, 0xad, 0xd5, 0x09, 0xb7, 0xb9, 0xdf, 0xd7, 0x82,
- 0xd5, 0x4a, 0xa2, 0xa3, 0x61, 0x00, 0xb8, 0x5f, 0x85, 0xf2, 0x26, 0xad,
- 0x9d, 0x7b, 0x5e, 0xb8, 0xb6, 0xdd, 0x0d, 0xe8, 0x12, 0x6e, 0xfd, 0x9a,
- 0x68, 0xdd, 0xb8, 0x9f, 0x37, 0x8a, 0x1f, 0xd5, 0x87, 0x70, 0xb0, 0xb3,
- 0xf3, 0x33, 0x8a, 0xf1, 0x7d, 0x29, 0xd5, 0xf8, 0x42, 0x42, 0xb4, 0xda,
- 0xeb, 0x86, 0xcb, 0xb8, 0xd0, 0x14, 0x1e, 0xda, 0xb7, 0x76, 0x3a, 0xe1,
- 0x1c, 0xfc, 0x70, 0x7e, 0x71, 0xf6, 0xc3, 0x5f, 0x7e, 0xe3, 0x4f, 0x78,
- 0x58, 0x9d, 0x1f, 0x09, 0xc2, 0xa6, 0x8d, 0xff, 0xfc, 0x9b, 0x7f, 0xad,
- 0xdd, 0x7c, 0xdf, 0x2b, 0x19, 0x1b, 0xad, 0x17, 0xcc, 0x6c, 0xe9, 0x79,
- 0xad, 0xf1, 0x0a, 0xf9, 0x81, 0xb3, 0x7d, 0x2d, 0x8c, 0x06, 0x97, 0x5c,
- 0xdd, 0xde, 0xa0, 0x5d, 0x37, 0x1d, 0xd8, 0x1e, 0x90, 0x9e, 0xe7, 0x00,
- 0x90, 0x7d, 0xc9, 0xd3, 0xa4, 0x44, 0xcc, 0x3e, 0x12, 0xfc, 0x00, 0xe7,
- 0xb3, 0xf3, 0x71, 0x78, 0x7a, 0xfa, 0x9b, 0x4e, 0x02, 0x0a, 0x9a, 0xb9,
- 0xb1, 0x0c, 0xac, 0x8e, 0xaa, 0x0c, 0xf6, 0xeb, 0x79, 0xe9, 0xde, 0x9d,
- 0x49, 0x6f, 0x5e, 0x42, 0x3d, 0x1e, 0xd4, 0x99, 0x51, 0x6a, 0xa9, 0x86,
- 0x74, 0x32, 0x23, 0x44, 0x8c, 0xb1, 0xb6, 0xa9, 0x63, 0x41, 0xe5, 0x32,
- 0xfc, 0x12, 0x5e, 0x71, 0x5b, 0xc8, 0x51, 0xf4, 0x64, 0xce, 0x26, 0x02,
- 0xdc, 0xbb, 0xb4, 0x14, 0x1f, 0x5c, 0x54, 0x91, 0xcb, 0x6b, 0x5e, 0x45,
- 0xaa, 0xb6, 0xe1, 0x52, 0xa0, 0x6b, 0xb6, 0xca, 0xeb, 0x8f, 0x80, 0xc2,
- 0xd3, 0xc1, 0x84, 0xb2, 0xab, 0xb9, 0xb0, 0xa4, 0xeb, 0xa2, 0x2b, 0xf1,
- 0xe4, 0xd0, 0xe8, 0xb9, 0x94, 0xe4, 0x54, 0x5b, 0xc7, 0x51, 0xb7, 0x05,
- 0x4d, 0x4b, 0x06, 0xba, 0x60, 0xf2, 0xec, 0x86, 0xfe, 0x12, 0xa5, 0x44,
- 0xd0, 0x08, 0xab, 0xc8, 0xf6, 0x04, 0xe7, 0x15, 0x97, 0x9d, 0x34, 0x62,
- 0xc3, 0xab, 0x52, 0x3e, 0x26, 0x32, 0xdb, 0x3a, 0xc1, 0xaf, 0x58, 0xf1,
- 0xf4, 0xb3, 0xd0, 0xf5, 0xba, 0x1b, 0x7c, 0x92, 0xe3, 0x6e, 0x36, 0x02,
- 0xcf, 0x92, 0x9f, 0x01, 0x1f, 0xc6, 0xbf, 0xcc, 0x63, 0xb1, 0xc6, 0x52,
- 0xb8, 0x20, 0x04, 0xd9, 0xdd, 0x10, 0x14, 0xb1, 0xc1, 0xf5, 0xc6, 0xcf,
- 0xce, 0xa2, 0xb5, 0x9c, 0x7e, 0x9f, 0xde, 0x91, 0x13, 0x94, 0xc9, 0x0f,
- 0xfc, 0xf6, 0x56, 0xf5, 0xcf, 0xf1, 0xc0, 0x64, 0xb1, 0x20, 0x48, 0x14,
- 0x09, 0xd1, 0xd9, 0x7f, 0xb2, 0x01, 0x99, 0x08, 0x81, 0x01, 0xfc, 0xe3,
- 0xcc, 0x4b, 0x62, 0x73, 0x91, 0xcf, 0xe4, 0xa4, 0x8b, 0x59, 0x14, 0xff,
- 0x37, 0x5d, 0xa0, 0x8c, 0x90, 0x63, 0x30, 0xb6, 0x05, 0x49, 0x6b, 0x95,
- 0x74, 0x49, 0xaa, 0xa6, 0x76, 0x39, 0xa9, 0x5c, 0x82, 0x0c, 0x41, 0x26,
- 0xee, 0x64, 0x56, 0x42, 0xc0, 0x8f, 0x09, 0xe4, 0x9b, 0x61, 0xc3, 0xf2,
- 0x11, 0x33, 0xff, 0xbd, 0x3c, 0x3b, 0x3a, 0x3b, 0x35, 0x7f, 0x39, 0x7e,
- 0x73, 0xf2, 0x83, 0xbb, 0x85, 0x39, 0xc3, 0xba, 0x85, 0xe7, 0x77, 0x25,
- 0x42, 0xed, 0xb1, 0x67, 0x24, 0x56, 0x8c, 0xba, 0xa3, 0x43, 0x3d, 0xe7,
- 0xc9, 0x15, 0x29, 0xf4, 0xd9, 0x2a, 0xda, 0x29, 0xec, 0x21, 0xa4, 0xb5,
- 0x72, 0xcb, 0x16, 0xfb, 0xed, 0xa6, 0x9a, 0x52, 0x3a, 0x7c, 0xb1, 0x22,
- 0xe0, 0x39, 0x9f, 0x2d, 0x24, 0xf1, 0x8f, 0x93, 0x74, 0xae, 0xac, 0x6c,
- 0x09, 0xa9, 0xc6, 0x2f, 0x50, 0xd8, 0x21, 0xbe, 0xf6, 0x48, 0x06, 0x8d,
- 0x46, 0xe9, 0x0f, 0x52, 0x95, 0x4b, 0x63, 0xb0, 0x64, 0x90, 0x42, 0x20,
- 0x2f, 0xa0, 0x55, 0xf5, 0xd3, 0xd4, 0x3b, 0xfb, 0x02, 0x09, 0x05, 0xb6,
- 0xc5, 0xf6, 0x98, 0x64, 0x02, 0x04, 0xd1, 0x84, 0xe8, 0x3f, 0x2a, 0xad,
- 0x1f, 0xb4, 0xee, 0x59, 0x33, 0x53, 0xd1, 0xec, 0x26, 0xce, 0xaa, 0xa0,
- 0x3f, 0xc0, 0xc6, 0x0d, 0x4f, 0xb2, 0xc8, 0x31, 0xbf, 0x16, 0x3c, 0xcb,
- 0x60, 0x09, 0x01, 0xf0, 0x07, 0x43, 0x7a, 0xe5, 0x56, 0xf8, 0x99, 0x3e,
- 0x5a, 0xaf, 0xf9, 0xaa, 0x0e, 0xdf, 0x7e, 0x36, 0x80, 0x87, 0x72, 0x51,
- 0xd0, 0x75, 0x4d, 0x90, 0xee, 0xf5, 0xb7, 0x65, 0x7e, 0x9b, 0x22, 0x09,
- 0x86, 0xca, 0xd8, 0x4a, 0x25, 0xd1, 0x4e, 0x1b, 0xe9, 0xaf, 0x6a, 0x24,
- 0x6d, 0xb7, 0xf2, 0xec, 0xd7, 0x34, 0xf2, 0xac, 0xd3, 0xc6, 0xcd, 0xaf,
- 0x6a, 0xc4, 0x56, 0x13, 0x37, 0x2a, 0xe8, 0x0f, 0x27, 0x97, 0xc9, 0xd1,
- 0xd9, 0x6b, 0x77, 0xb4, 0x2e, 0x2d, 0xcc, 0x34, 0x4d, 0xc6, 0xcb, 0xc2,
- 0xec, 0x3e, 0x22, 0x6b, 0x47, 0x05, 0x32, 0xa8, 0xe9, 0x00, 0x9f, 0x26,
- 0x00, 0x44, 0xd4, 0x4a, 0xdd, 0x72, 0x93, 0xe5, 0xf8, 0x51, 0xc5, 0x28,
- 0x07, 0x9f, 0x9c, 0x50, 0x1e, 0x9f, 0x13, 0x4d, 0xc7, 0xb5, 0x65, 0x83,
- 0xc5, 0xa1, 0x24, 0xb6, 0xa6, 0xb4, 0xd2, 0x1c, 0xb8, 0x71, 0x4a, 0x7c,
- 0x1c, 0x05, 0x67, 0x72, 0x19, 0x23, 0xa4, 0xcd, 0x90, 0xb9, 0xe1, 0x67,
- 0xfa, 0xfa, 0x44, 0x99, 0x46, 0x55, 0xcd, 0x1b, 0xe9, 0x4d, 0x0b, 0xd9,
- 0xb5, 0xa7, 0xc8, 0xe4, 0xd6, 0x46, 0x97, 0x1a, 0x18, 0xb8, 0x01, 0x09,
- 0x85, 0x3a, 0xd5, 0x24, 0x1e, 0xa9, 0xfa, 0x62, 0xed, 0x05, 0x2e, 0x90,
- 0x17, 0x5c, 0x4e, 0xb6, 0x09, 0xfb, 0x9d, 0x7d, 0xfe, 0xe3, 0x4d, 0x8a,
- 0x7a, 0xf2, 0x46, 0x6c, 0x08, 0xce, 0x27, 0xff, 0xbb, 0xa7, 0x0f, 0x3f,
- 0xb1, 0xea, 0x8f, 0x19, 0xf9, 0x0c, 0x55, 0xd7, 0xa6, 0x7c, 0x22, 0xea,
- 0xfb, 0xa2, 0x49, 0x3f, 0xc1, 0xfe, 0x25, 0x73, 0x45, 0x18, 0x49, 0xdc,
- 0x9b, 0x4f, 0x45, 0x09, 0x4a, 0x2c, 0xef, 0x09, 0xc0, 0x34, 0x9a, 0x56,
- 0xe5, 0x41, 0x37, 0xc4, 0x4f, 0x60, 0x7a, 0xa0, 0x49, 0x9d, 0x88, 0x35,
- 0x65, 0x35, 0xd5, 0x82, 0xdb, 0x88, 0x86, 0xd5, 0xed, 0x67, 0x35, 0x3d,
- 0xb4, 0xac, 0x04, 0x06, 0xe2, 0xca, 0x99, 0x38, 0xc2, 0x0a, 0xaa, 0xe0,
- 0xce, 0x93, 0x36, 0x88, 0x72, 0xff, 0x23, 0x99, 0x16, 0x79, 0x63, 0x92,
- 0x79, 0x25, 0x9a, 0xfe, 0xb4, 0xc4, 0x4c, 0xf6, 0x81, 0x6b, 0xa4, 0xca,
- 0x94, 0xe6, 0x17, 0xf7, 0x5c, 0x47, 0x25, 0x2d, 0x90, 0x20, 0xd5, 0xc5,
- 0x69, 0xea, 0xc2, 0x48, 0xfe, 0x88, 0x4b, 0xd5, 0x78, 0xc6, 0x7f, 0x1c,
- 0xa9, 0xc6, 0xa4, 0x05, 0xb2, 0xb5, 0x04, 0x32, 0xbc, 0x19, 0x52, 0xd8,
- 0x40, 0x34, 0x0e, 0xbe, 0xee, 0x26, 0x7c, 0x23, 0xa1, 0x10, 0xc4, 0x38,
- 0xe4, 0xa6, 0xac, 0x3b, 0xfe, 0xc5, 0xe7, 0x2b, 0xbe, 0xc3, 0xe4, 0x24,
- 0x97, 0x96, 0x26, 0xa5, 0xeb, 0xcd, 0xa7, 0xf6, 0xc3, 0xd6, 0x3e, 0xeb,
- 0x6e, 0x11, 0x75, 0xae, 0x13, 0x87, 0x5d, 0xe9, 0xc7, 0xd8, 0x3e, 0x17,
- 0x2f, 0x40, 0x46, 0xd9, 0x56, 0xa2, 0xb6, 0x56, 0xd9, 0x62, 0x26, 0xe2,
- 0x53, 0x7e, 0x82, 0x50, 0x1e, 0xec, 0x78, 0xcc, 0xf3, 0x44, 0x7b, 0x69,
- 0x14, 0x51, 0xdf, 0x08, 0x7b, 0x21, 0x9f, 0x25, 0xde, 0x0c, 0x56, 0x25,
- 0x08, 0x9f, 0x5e, 0xe4, 0x76, 0xeb, 0x49, 0xd1, 0x42, 0xfc, 0x88, 0xb0,
- 0x67, 0x48, 0x47, 0xd7, 0x7f, 0xcb, 0x1b, 0x01, 0x69, 0x53, 0xc7, 0x8d,
- 0x4b, 0xa3, 0x5d, 0x56, 0x9c, 0x6d, 0xe8, 0x88, 0xca, 0x80, 0xeb, 0x4d,
- 0x8b, 0x86, 0x87, 0x4b, 0x78, 0x60, 0x22, 0xb3, 0x49, 0xde, 0x86, 0x80,
- 0x9e, 0xf2, 0x8a, 0xaa, 0x6b, 0x71, 0xd2, 0x30, 0xc1, 0xc6, 0x78, 0x7e,
- 0x6e, 0xd2, 0xe2, 0x3a, 0x63, 0x25, 0xd7, 0x35, 0x8a, 0xbd, 0xae, 0x17,
- 0xa3, 0x39, 0xf6, 0x70, 0xaf, 0xac, 0x4c, 0x9b, 0x77, 0xf3, 0xb0, 0xb7,
- 0x6b, 0xe7, 0x81, 0x06, 0x45, 0xd4, 0x07, 0x58, 0x09, 0x2a, 0xf0, 0x41,
- 0x2e, 0x83, 0xbb, 0x14, 0xe2, 0xc4, 0xd6, 0xc4, 0x74, 0xe6, 0x82, 0x0d,
- 0x82, 0x50, 0x32, 0x4d, 0x08, 0x62, 0x45, 0x0a, 0x3a, 0xe1, 0x12, 0x48,
- 0x33, 0x60, 0x14, 0x1e, 0xe7, 0x65, 0xc9, 0xe5, 0xd5, 0x87, 0x29, 0x0d,
- 0x01, 0x68, 0xe1, 0x6a, 0x58, 0x3b, 0x82, 0xf4, 0x6f, 0xc4, 0xc2, 0x82,
- 0xcc, 0xc0, 0xe2, 0x45, 0xd7, 0x09, 0xbc, 0xcf, 0x9c, 0x9f, 0xde, 0x78,
- 0xf6, 0xec, 0x78, 0xee, 0xb0, 0x51, 0xce, 0x0f, 0x47, 0x23, 0xdd, 0x26,
- 0x47, 0xe1, 0x8e, 0x10, 0xe0, 0x0f, 0xe5, 0xe0, 0x2b, 0x35, 0x49, 0x44,
- 0x75, 0x94, 0x46, 0x3a, 0x41, 0xdf, 0x3d, 0x16, 0x6f, 0xaf, 0x59, 0x46,
- 0x43, 0xaf, 0x90, 0xf1, 0xf2, 0xbe, 0xd2, 0x11, 0xdf, 0xad, 0x9f, 0xc9,
- 0x78, 0xb1, 0x61, 0x4c, 0x2b, 0xe6, 0x19, 0x59, 0x94, 0x2a, 0xee, 0xc9,
- 0x0b, 0x6b, 0x04, 0x50, 0xbb, 0x84, 0xe5, 0xde, 0x93, 0x70, 0xd0, 0xdf,
- 0xf1, 0xa8, 0xfa, 0xff, 0xd0, 0xa0, 0xbf, 0x8b, 0x0c, 0xfa, 0xa9, 0x3b,
- 0x38, 0xfc, 0xb1, 0x64, 0x7f, 0xff, 0x33, 0x05, 0xc8, 0x33, 0xe1, 0xff,
- 0x2c, 0x71, 0x1f, 0xf4, 0xbe, 0x68, 0x9e, 0x1b, 0x08, 0xf7, 0x67, 0x16,
- 0x58, 0x91, 0xf6, 0xf0, 0x7a, 0x9f, 0x7a, 0x66, 0x3f, 0x65, 0x54, 0xf1,
- 0x4d, 0x94, 0xef, 0x16, 0x29, 0x13, 0x08, 0x1f, 0x65, 0x47, 0x22, 0x0c,
- 0xca, 0x1d, 0xe1, 0x59, 0x56, 0xc6, 0xf3, 0xb5, 0x17, 0xde, 0x77, 0x9e,
- 0x5b, 0x07, 0xc6, 0xce, 0x3e, 0xef, 0x49, 0x4a, 0x08, 0x97, 0x3a, 0xc1,
- 0xd8, 0x99, 0xd3, 0xac, 0x31, 0x6b, 0xe2, 0x1c, 0x6f, 0x9c, 0x2c, 0x74,
- 0x55, 0xa5, 0x60, 0x0e, 0x45, 0x71, 0xe2, 0xe1, 0x0a, 0x6e, 0x5a, 0x36,
- 0x5f, 0x52, 0xea, 0x7d, 0x41, 0x66, 0x03, 0xd4, 0x02, 0x71, 0x58, 0x91,
- 0x07, 0x14, 0x95, 0xa0, 0xaf, 0xac, 0x93, 0x54, 0xab, 0x13, 0xf7, 0x83,
- 0x19, 0xe2, 0x41, 0xf2, 0x91, 0x11, 0x95, 0x21, 0x4e, 0x73, 0xb4, 0xf7,
- 0x99, 0x5b, 0x22, 0xb7, 0x0e, 0xe4, 0x53, 0x12, 0x76, 0x83, 0xa1, 0x27,
- 0xbd, 0xad, 0x3c, 0x51, 0x7f, 0xbc, 0x90, 0xda, 0x07, 0xfb, 0x52, 0x5e,
- 0x75, 0x5f, 0x61, 0x79, 0x7c, 0x4e, 0xe2, 0x4e, 0xf8, 0x23, 0x87, 0xc9,
- 0x19, 0x3c, 0x60, 0x2d, 0xce, 0xdc, 0x2b, 0xde, 0xfc, 0x2e, 0xdf, 0xad,
- 0xbd, 0x75, 0x5f, 0xb8, 0x35, 0xd6, 0x2e, 0x29, 0x1c, 0x61, 0x47, 0xc5,
- 0xac, 0xbd, 0x52, 0xd4, 0xd3, 0x9b, 0x25, 0x17, 0xc7, 0x97, 0x17, 0x40,
- 0x53, 0x41, 0x04, 0x04, 0x85, 0x15, 0xd2, 0x6a, 0xdb, 0xf2, 0x2c, 0x8a,
- 0x40, 0x73, 0x4a, 0x89, 0x13, 0x11, 0x4c, 0xc6, 0x63, 0x57, 0x9c, 0xff,
- 0xa9, 0xef, 0x71, 0x3e, 0x80, 0x59, 0x73, 0x9e, 0x72, 0x17, 0x4b, 0x69,
- 0xd3, 0x04, 0xed, 0xef, 0x3b, 0x5c, 0x08, 0x17, 0x5b, 0xe3, 0x9b, 0xd4,
- 0x22, 0x7d, 0x87, 0x16, 0x72, 0xa0, 0xf8, 0x78, 0xa5, 0xc7, 0xa6, 0xe7,
- 0x18, 0x2d, 0x1b, 0x04, 0x8c, 0xed, 0xc7, 0x45, 0x0b, 0x90, 0x4e, 0xd8,
- 0x8c, 0x68, 0x7c, 0xce, 0x53, 0x37, 0x85, 0xfb, 0xd0, 0xe8, 0x44, 0xbb,
- 0xbb, 0x11, 0x2c, 0x67, 0x3a, 0x36, 0x62, 0x55, 0x54, 0x3b, 0xc9, 0x73,
- 0xc0, 0x5b, 0xec, 0xb1, 0x84, 0xae, 0x59, 0x93, 0xe1, 0x31, 0xb8, 0x22,
- 0x17, 0x22, 0xcd, 0x98, 0x33, 0x32, 0xec, 0x40, 0x59, 0xca, 0x7c, 0x8f,
- 0xbc, 0x0b, 0x9d, 0xb4, 0x8e, 0x78, 0xe1, 0xa4, 0x0c, 0xad, 0xe6, 0x95,
- 0x7a, 0xdc, 0xa2, 0xe2, 0x7b, 0x0e, 0x7a, 0x16, 0x48, 0xf0, 0xfd, 0x67,
- 0xe1, 0x8e, 0x18, 0x5d, 0x9e, 0x5d, 0xc8, 0x0e, 0x0b, 0x2f, 0x67, 0xb6,
- 0x1c, 0xf1, 0x88, 0x23, 0x8a, 0xe8, 0x47, 0xaa, 0x89, 0xdb, 0xd4, 0x66,
- 0xcb, 0xc9, 0xe7, 0x7d, 0x95, 0x65, 0xc0, 0x05, 0x25, 0xe7, 0xc8, 0xd0,
- 0xbe, 0x93, 0x64, 0x66, 0xe5, 0x9f, 0xd4, 0x93, 0xe9, 0xbd, 0xc4, 0x07,
- 0xed, 0x8c, 0x4f, 0x30, 0x27, 0xde, 0xd2, 0x3e, 0x92, 0x14, 0x5c, 0xe2,
- 0xaf, 0x14, 0x80, 0xa2, 0xad, 0x3b, 0xd4, 0xdd, 0x8b, 0x7c, 0x88, 0xce,
- 0x2c, 0xc3, 0xa8, 0x0a, 0x79, 0xdd, 0x34, 0x9e, 0x91, 0x8c, 0x0a, 0x58,
- 0x24, 0x2d, 0x98, 0x85, 0x53, 0xe0, 0x26, 0x29, 0x85, 0x85, 0xba, 0xab,
- 0x3d, 0x31, 0xaa, 0xb2, 0x72, 0x0e, 0xca, 0xe5, 0xa9, 0xb6, 0x83, 0x53,
- 0xbb, 0xdd, 0xcd, 0x7f, 0x7e, 0x76, 0x71, 0x69, 0xef, 0x7d, 0xfa, 0x2c,
- 0x7e, 0xd0, 0x39, 0x3f, 0xc4, 0xf2, 0x2f, 0x79, 0x29, 0x72, 0xbb, 0xa1,
- 0xae, 0xd8, 0x46, 0x34, 0x7f, 0x5a, 0x16, 0x05, 0xed, 0x68, 0x43, 0x44,
- 0x86, 0x43, 0xac, 0xb0, 0x53, 0xa6, 0xe1, 0x48, 0x1d, 0xda, 0x5d, 0x7c,
- 0xd8, 0x74, 0xe1, 0xc4, 0x6b, 0x49, 0x39, 0x25, 0xf7, 0xc9, 0x5e, 0xb8,
- 0x3b, 0xc8, 0xa8, 0xbe, 0x38, 0xa6, 0xba, 0xf2, 0x97, 0x37, 0xfc, 0xb7,
- 0xa0, 0xef, 0x9c, 0xd9, 0x28, 0x3f, 0x0c, 0xdd, 0x6a, 0x76, 0x77, 0x50,
- 0x5c, 0xd0, 0x98, 0x1f, 0x68, 0xdf, 0xe6, 0xe7, 0x7a, 0x73, 0xf6, 0xc4,
- 0xc3, 0x80, 0x41, 0x6c, 0xca, 0x5e, 0x01, 0x56, 0x16, 0x3f, 0xe8, 0xc9,
- 0x57, 0x7a, 0x46, 0x39, 0xe3, 0x23, 0xd1, 0x62, 0x14, 0x7e, 0xf2, 0xd4,
- 0xb5, 0xb0, 0xa0, 0xfb, 0x4a, 0x1a, 0x38, 0xd1, 0xd2, 0x5d, 0xf4, 0xc3,
- 0x81, 0x6e, 0x17, 0x5c, 0x19, 0xbc, 0x31, 0xf8, 0x39, 0xd7, 0xce, 0x33,
- 0x9b, 0x87, 0xaf, 0x0a, 0x83, 0xd7, 0x15, 0xfa, 0xb1, 0x82, 0x6f, 0xa0,
- 0x73, 0x74, 0xb6, 0xdd, 0x13, 0xde, 0xed, 0x5f, 0xa5, 0xc8, 0xd5, 0x11,
- 0x30, 0x19, 0x8f, 0xdd, 0xbb, 0x5b, 0x49, 0xe5, 0xca, 0x8b, 0x65, 0x06,
- 0x4d, 0x2d, 0xad, 0x66, 0x44, 0x5f, 0x6e, 0x04, 0x09, 0xcc, 0x45, 0x7a,
- 0x2b, 0x90, 0xba, 0xa5, 0xcf, 0x9f, 0xf1, 0x44, 0x6e, 0xa1, 0x93, 0xd3,
- 0x63, 0xb7, 0x54, 0x4c, 0x7d, 0x8e, 0x83, 0xec, 0x34, 0x7e, 0x2a, 0xb7,
- 0x69, 0xaf, 0x8a, 0x61, 0x72, 0x4e, 0x75, 0x14, 0xa1, 0x39, 0xd5, 0xff,
- 0xee, 0x5a, 0xe3, 0x83, 0x02, 0x0f, 0xb8, 0xb9, 0x3c, 0x91, 0xad, 0x99,
- 0x17, 0x66, 0x65, 0xf1, 0x13, 0xfa, 0xab, 0x47, 0xd3, 0x1b, 0x0c, 0xf7,
- 0x85, 0x7b, 0xb9, 0x36, 0x23, 0x31, 0x76, 0x7b, 0xf7, 0x91, 0xa7, 0xb2,
- 0xaf, 0x8c, 0x51, 0xcf, 0x35, 0xbb, 0x55, 0x34, 0xd3, 0x79, 0xd6, 0xa2,
- 0xe1, 0xdc, 0xc2, 0x95, 0x3e, 0xd3, 0x12, 0xe1, 0x5e, 0x53, 0x7c, 0x21,
- 0x1c, 0x8e, 0x6d, 0xe1, 0x0b, 0x02, 0x6f, 0x92, 0x3a, 0x67, 0xda, 0x2a,
- 0x48, 0xda, 0xce, 0x2c, 0x02, 0xda, 0x8f, 0xc1, 0x62, 0x6a, 0x2d, 0xdd,
- 0x4d, 0x77, 0x72, 0x3b, 0x45, 0x21, 0x9f, 0xf2, 0x4e, 0xb4, 0xdb, 0xc6,
- 0xde, 0x61, 0xad, 0xde, 0x09, 0x6a, 0x54, 0x68, 0xbb, 0xc8, 0x8b, 0x40,
- 0xfe, 0x78, 0x73, 0xc3, 0xfb, 0x26, 0xc0, 0xd3, 0x67, 0xae, 0xa9, 0x2b,
- 0x70, 0x8f, 0xa8, 0x6c, 0x3f, 0x6c, 0xc9, 0x1f, 0xcb, 0x8c, 0x9e, 0xdb,
- 0x27, 0xd9, 0x72, 0xe4, 0xd4, 0xd9, 0xc8, 0x91, 0xf2, 0xbe, 0xc1, 0x9b,
- 0xe1, 0xb2, 0x24, 0xf2, 0x94, 0xe2, 0xde, 0x21, 0xa2, 0xa5, 0x90, 0x20,
- 0xfb, 0xd1, 0xb8, 0xf6, 0x82, 0xfc, 0x46, 0x58, 0xd9, 0x6e, 0xc4, 0x5b,
- 0x43, 0xb5, 0xc8, 0x02, 0xca, 0xdd, 0xe5, 0x5c, 0x90, 0x95, 0xde, 0x97,
- 0x3e, 0x17, 0xd7, 0x06, 0x57, 0x6d, 0xb7, 0xce, 0x00, 0x5f, 0x90, 0x96,
- 0x96, 0x68, 0x43, 0x43, 0xe9, 0x46, 0x3c, 0x12, 0xe6, 0xaf, 0xb6, 0xf4,
- 0xd2, 0x11, 0xee, 0x37, 0xba, 0x8c, 0x45, 0xe5, 0xd5, 0x30, 0x73, 0xa9,
- 0xa9, 0x91, 0x12, 0xa5, 0x97, 0xc7, 0xf8, 0x57, 0x4a, 0xf0, 0x10, 0x71,
- 0x94, 0x57, 0xd9, 0x5f, 0xa1, 0x4e, 0x0e, 0xf9, 0xc2, 0xe1, 0x2c, 0x27,
- 0x1e, 0x65, 0xb1, 0x4c, 0x3d, 0x9b, 0xfe, 0xe9, 0x0b, 0xf1, 0x5b, 0x89,
- 0x5f, 0x44, 0x2b, 0x96, 0x76, 0xc3, 0x7b, 0xcf, 0xf6, 0xac, 0xef, 0x92,
- 0x70, 0x8c, 0x82, 0xce, 0xf7, 0xd1, 0x8c, 0x46, 0xb8, 0x8d, 0x46, 0xdf,
- 0x24, 0x6f, 0x5f, 0x3f, 0x23, 0x48, 0xcd, 0x75, 0x56, 0x2d, 0x8c, 0xd5,
- 0xe2, 0x0c, 0xf3, 0xb3, 0x6f, 0xbd, 0xc6, 0xf6, 0x1d, 0xfa, 0x41, 0x81,
- 0x16, 0x22, 0xcc, 0xc4, 0x6a, 0x30, 0x4b, 0x48, 0xe9, 0xa0, 0xd7, 0x7d,
- 0x49, 0xed, 0x56, 0x1a, 0x32, 0xaf, 0x74, 0x77, 0xc0, 0x71, 0xd5, 0x11,
- 0x60, 0xcf, 0x9e, 0x38, 0x01, 0x56, 0xdd, 0x2f, 0xa8, 0x58, 0x40, 0x71,
- 0x4d, 0xc6, 0x41, 0xe4, 0x44, 0x3d, 0x63, 0xa1, 0x79, 0xc4, 0xe7, 0x9e,
- 0x14, 0xd9, 0xf0, 0x35, 0x28, 0xe9, 0x70, 0xa0, 0x7a, 0xef, 0x3d, 0xf3,
- 0x7d, 0x0b, 0xc4, 0xf7, 0x08, 0xa8, 0x12, 0xb3, 0xbc, 0x43, 0x4b, 0xf1,
- 0x9e, 0x7d, 0x6e, 0x9f, 0x25, 0x47, 0x52, 0x5e, 0x78, 0x55, 0x39, 0x56,
- 0xbc, 0x21, 0x0a, 0xb0, 0x9a, 0x09, 0xaa, 0x9a, 0xb1, 0xce, 0xe3, 0xcd,
- 0xbd, 0xf7, 0xca, 0x8b, 0xb6, 0xeb, 0x04, 0x94, 0xd8, 0x76, 0x63, 0x62,
- 0x50, 0xf9, 0xe2, 0xc6, 0x3f, 0x9c, 0xcf, 0xf9, 0x96, 0x3e, 0xef, 0x82,
- 0x53, 0x55, 0x06, 0x66, 0x3e, 0x01, 0x82, 0x1e, 0x75, 0xde, 0xfa, 0x47,
- 0x87, 0xc9, 0xaa, 0xd4, 0x0c, 0xec, 0x75, 0xef, 0x23, 0x7b, 0x72, 0x66,
- 0xa8, 0x94, 0xde, 0x75, 0x91, 0xff, 0x3d, 0xf3, 0xd0, 0x58, 0x5a, 0x51,
- 0xc5, 0x7b, 0x7c, 0x5f, 0x04, 0xc6, 0x6d, 0x3a, 0xcb, 0x45, 0x28, 0x52,
- 0xf0, 0xd2, 0x3d, 0xf0, 0x44, 0x76, 0x2d, 0x97, 0x0f, 0x64, 0xec, 0x01,
- 0x95, 0xff, 0xa4, 0xd0, 0x79, 0xd6, 0x02, 0x3b, 0x3f, 0x7f, 0x2a, 0x7a,
- 0x97, 0xea, 0xc6, 0x74, 0xf3, 0xd2, 0x44, 0xcc, 0xc0, 0x27, 0xd7, 0x15,
- 0xd3, 0xcf, 0xe5, 0xda, 0x93, 0xa5, 0x94, 0xea, 0x8f, 0xa9, 0xab, 0x4f,
- 0x43, 0x7f, 0xbd, 0xcb, 0x0b, 0x01, 0x20, 0x07, 0xaf, 0x3f, 0x5f, 0xe1,
- 0x8f, 0xac, 0xf9, 0xce, 0x3c, 0xc6, 0x5e, 0xf2, 0x9e, 0xff, 0xcc, 0xcb,
- 0x2a, 0x05, 0xfb, 0x31, 0xd3, 0xf1, 0x59, 0x22, 0xb6, 0xbe, 0xe7, 0x84,
- 0xb0, 0x67, 0x89, 0x1d, 0x29, 0x52, 0x34, 0x3c, 0x42, 0x95, 0x7c, 0x65,
- 0x3f, 0x3f, 0x2b, 0x49, 0x9a, 0x7a, 0xdf, 0xe3, 0x2d, 0xf5, 0x06, 0x0c,
- 0xec, 0xce, 0x38, 0x28, 0x5a, 0xf5, 0x6f, 0xdd, 0xd3, 0x2f, 0x64, 0x6f,
- 0xe8, 0x7d, 0x69, 0x4d, 0xd6, 0x55, 0x6f, 0x7c, 0xb6, 0xeb, 0x2b, 0xac,
- 0x53, 0x0a, 0x8f, 0x72, 0x72, 0xf3, 0xca, 0x17, 0x78, 0x67, 0x9c, 0xcc,
- 0xa8, 0x9a, 0xec, 0x4c, 0x4b, 0xc0, 0x2a, 0x19, 0x9b, 0x7b, 0x6c, 0xbf,
- 0x25, 0x74, 0x2f, 0x7d, 0xf5, 0x29, 0x39, 0x79, 0xed, 0x3d, 0xf8, 0xc4,
- 0x0d, 0x30, 0x9d, 0x91, 0x36, 0x70, 0xcf, 0xde, 0xaa, 0x5a, 0x4a, 0xe3,
- 0x7a, 0x8f, 0xf2, 0xce, 0x78, 0x57, 0x32, 0x69, 0x10, 0xa6, 0x3f, 0x78,
- 0x86, 0xb7, 0xc3, 0xd1, 0x8d, 0xb9, 0xd5, 0x26, 0x0d, 0x50, 0x99, 0x85,
- 0xc6, 0xbc, 0xba, 0x6b, 0xff, 0xd9, 0xf3, 0x35, 0xcf, 0xca, 0xa5, 0x59,
- 0xdb, 0xab, 0xde, 0x7b, 0xef, 0xb3, 0xf0, 0x98, 0xab, 0x49, 0xa0, 0xd8,
- 0x71, 0x73, 0xd4, 0xe8, 0xa4, 0x25, 0x5b, 0x94, 0xbf, 0xfa, 0xef, 0xea,
- 0x1e, 0xac, 0x88, 0x0e, 0xad, 0xfe, 0x77, 0xbf, 0xbf, 0x9f, 0xfb, 0x99,
- 0x55, 0xec, 0x1b, 0xac, 0x32, 0x44, 0x0f, 0x26, 0x2d, 0xfe, 0x73, 0x87,
- 0xd1, 0xc1, 0xec, 0x78, 0x2d, 0xf0, 0x9a, 0x1b, 0x3d, 0x62, 0x59, 0x38,
- 0xc9, 0xc1, 0x86, 0xa0, 0xa4, 0x8b, 0x4f, 0x7d, 0xe6, 0x3c, 0x92, 0xf9,
- 0xe2, 0x87, 0xf2, 0x3c, 0xa9, 0xbb, 0x9d, 0x63, 0x50, 0xdf, 0x2c, 0xd9,
- 0xec, 0xb6, 0x23, 0x72, 0x6e, 0x36, 0xef, 0xb5, 0x7d, 0x27, 0xbd, 0xd0,
- 0x37, 0xa8, 0x8d, 0x47, 0xa6, 0xb7, 0x6c, 0x97, 0x5b, 0x46, 0x6c, 0x78,
- 0xe1, 0xef, 0xaa, 0x92, 0xfe, 0xaa, 0xc4, 0x09, 0x5b, 0xe9, 0x0a, 0x70,
- 0xa4, 0xe0, 0xb9, 0xbd, 0xcf, 0x88, 0x6a, 0x43, 0x10, 0x23, 0xb3, 0x4a,
- 0x37, 0xd9, 0xe4, 0xa3, 0x1e, 0x19, 0x69, 0xc4, 0xa1, 0xc0, 0xbd, 0xb7,
- 0x9e, 0xda, 0xa9, 0x85, 0x49, 0x73, 0x71, 0xdc, 0xb5, 0x02, 0xdc, 0xa3,
- 0xbc, 0x6b, 0x2e, 0x2e, 0x47, 0xe7, 0x07, 0xd4, 0x67, 0x8e, 0x23, 0x9a,
- 0x03, 0x71, 0x34, 0xca, 0xfe, 0x26, 0xc9, 0x3f, 0xb5, 0x7b, 0xfa, 0xf9,
- 0x8a, 0xa7, 0x47, 0xe2, 0xde, 0x3b, 0x99, 0x92, 0xf8, 0x35, 0xeb, 0xe0,
- 0xbf, 0xf4, 0x99, 0x60, 0x2a, 0xd5, 0xcf, 0xcf, 0x5e, 0x30, 0xea, 0x19,
- 0xa4, 0x21, 0x45, 0x9c, 0xdd, 0xc3, 0x9f, 0x3b, 0x9b, 0xe6, 0x66, 0x59,
- 0x7c, 0xb4, 0xfa, 0xa2, 0xd0, 0x80, 0xe9, 0x02, 0xbb, 0x17, 0x5e, 0xe8,
- 0xd1, 0xf0, 0xbc, 0xa1, 0x16, 0x77, 0xd4, 0x17, 0x2f, 0x85, 0x16, 0xc3,
- 0xe5, 0x18, 0xa8, 0x91, 0xaf, 0x4b, 0x6f, 0x0e, 0x5e, 0xec, 0xda, 0xeb,
- 0x57, 0x18, 0x45, 0x3e, 0x66, 0xf7, 0x6e, 0xd7, 0x31, 0x4e, 0xc2, 0xa8,
- 0x8b, 0x79, 0x41, 0x4e, 0x08, 0xf7, 0x88, 0x6b, 0x60, 0xaf, 0x75, 0x09,
- 0x74, 0xd5, 0x8d, 0xba, 0x49, 0x9b, 0xa5, 0x77, 0xc5, 0xbc, 0xe0, 0xbd,
- 0x33, 0xa2, 0x50, 0xe4, 0x5c, 0xf6, 0x6b, 0x5e, 0xa8, 0xcf, 0xad, 0xe3,
- 0x48, 0xd3, 0x97, 0x7e, 0xf8, 0x81, 0xef, 0x91, 0x52, 0x79, 0x5d, 0x24,
- 0x96, 0x65, 0xeb, 0x99, 0x18, 0xa1, 0xcb, 0xaa, 0x07, 0x1d, 0x61, 0x04,
- 0x80, 0xaa, 0x6c, 0x96, 0x11, 0x53, 0x22, 0xdb, 0x41, 0x38, 0x3c, 0x83,
- 0xc0, 0xa6, 0x44, 0x49, 0x2f, 0x8e, 0xe1, 0x12, 0x78, 0x12, 0x0e, 0xd0,
- 0x82, 0xfc, 0x6f, 0xe2, 0x0c, 0x33, 0x3d, 0x38, 0x7c, 0x7f, 0xf9, 0xcd,
- 0xd9, 0xc5, 0x28, 0xd9, 0xa1, 0x94, 0xe3, 0xcb, 0x8b, 0x93, 0xaf, 0xde,
- 0x5f, 0x9a, 0x7f, 0x6a, 0x4b, 0xaf, 0xd3, 0x22, 0x37, 0xb7, 0xd3, 0xa8,
- 0xc9, 0x0a, 0xb3, 0x57, 0xae, 0xb5, 0xec, 0x08, 0xc8, 0x94, 0xe8, 0x3e,
- 0x2e, 0x2b, 0x2e, 0x3d, 0x05, 0xc6, 0x87, 0x9b, 0x52, 0x16, 0x1c, 0x08,
- 0x03, 0xf8, 0xb1, 0x09, 0x63, 0x57, 0x3a, 0xdb, 0x39, 0x6f, 0xa7, 0x91,
- 0x27, 0x0a, 0x9b, 0x49, 0x2e, 0xbf, 0x39, 0x7c, 0xf7, 0xed, 0x48, 0x29,
- 0xe9, 0xbf, 0xff, 0xfe, 0xfb, 0x6e, 0xc4, 0x17, 0x3a, 0xec, 0x4d, 0xfa,
- 0xe9, 0xd3, 0xb0, 0xce, 0x36, 0x36, 0x46, 0xc7, 0xc7, 0xc9, 0xe1, 0xe9,
- 0xe8, 0x6c, 0xc3, 0x25, 0xda, 0x6f, 0xed, 0x6d, 0x1b, 0x25, 0xed, 0x3a,
- 0x6b, 0xcc, 0x5f, 0x36, 0x36, 0x4e, 0x0f, 0x2f, 0xc9, 0x3a, 0x96, 0x3a,
- 0xbf, 0x34, 0xcf, 0xc4, 0x99, 0x91, 0xce, 0xee, 0x88, 0x23, 0xf0, 0x2a,
- 0x07, 0x92, 0xfd, 0xae, 0x16, 0xb0, 0xaf, 0xd0, 0x66, 0xb2, 0xce, 0xcf,
- 0x68, 0xb7, 0x3b, 0x22, 0x32, 0x11, 0x34, 0x1a, 0x21, 0x6d, 0xcd, 0x98,
- 0x14, 0xd9, 0xb0, 0x91, 0x38, 0x0f, 0x19, 0xf3, 0x2c, 0x64, 0x63, 0xae,
- 0xf1, 0xdc, 0x67, 0x58, 0x29, 0xe0, 0x85, 0x1e, 0xb9, 0xc4, 0x8a, 0x21,
- 0x9c, 0x10, 0xe7, 0x6b, 0xf2, 0x7e, 0x74, 0xf8, 0xf5, 0x31, 0x3d, 0xfb,
- 0x75, 0xd6, 0xb8, 0xa9, 0x85, 0x77, 0x0d, 0x5f, 0x79, 0x97, 0x35, 0xf5,
- 0x24, 0x5d, 0x64, 0x9b, 0xd4, 0xa7, 0xf1, 0x40, 0xea, 0x29, 0xb8, 0xc6,
- 0xd9, 0x74, 0x70, 0x45, 0x20, 0x0a, 0x79, 0x1e, 0xe5, 0x1a, 0xfc, 0x76,
- 0x2f, 0x8e, 0x0f, 0x5f, 0xbf, 0x3d, 0xd6, 0x4a, 0xe1, 0xcc, 0xb7, 0x6a,
- 0x1a, 0xbd, 0xa1, 0x0a, 0xea, 0x2e, 0xba, 0x42, 0xaa, 0xc4, 0xd2, 0xb4,
- 0x61, 0x7e, 0x43, 0xd5, 0xcc, 0xe3, 0x9f, 0x73, 0xb5, 0x21, 0xf0, 0xec,
- 0xf0, 0x2a, 0xdf, 0xe1, 0xd6, 0xf5, 0x7b, 0xa9, 0x9d, 0x13, 0x1e, 0x44,
- 0xaa, 0xda, 0x35, 0xbb, 0x3f, 0xe0, 0x37, 0xf9, 0x7c, 0x77, 0x77, 0x77,
- 0xcd, 0x38, 0x60, 0x7e, 0xc8, 0x25, 0x6d, 0x86, 0x72, 0x40, 0x8f, 0xef,
- 0xb8, 0xf6, 0x5d, 0x8f, 0x69, 0xbf, 0x61, 0xdd, 0xae, 0xc8, 0x7a, 0xc7,
- 0xd5, 0x9e, 0x37, 0x59, 0xbc, 0xcb, 0x93, 0xb2, 0xb4, 0x2b, 0xd0, 0x9a,
- 0x1c, 0xd4, 0x70, 0xce, 0x1b, 0x8f, 0xce, 0x51, 0x3b, 0x6e, 0xcc, 0x25,
- 0x50, 0x88, 0x55, 0xf7, 0xdd, 0x26, 0xe9, 0x37, 0x80, 0x14, 0x4d, 0x9a,
- 0x61, 0x59, 0x5d, 0xef, 0xcc, 0x0f, 0xa0, 0x01, 0x99, 0x87, 0xde, 0x10,
- 0x84, 0x39, 0x31, 0x9a, 0xb4, 0xa5, 0x07, 0xa9, 0x69, 0x62, 0x4b, 0x73,
- 0xf5, 0x3d, 0xa2, 0x5f, 0xbf, 0x60, 0x16, 0x98, 0xd9, 0xe9, 0x4a, 0x47,
- 0xae, 0xb5, 0x12, 0x23, 0x1f, 0xa1, 0xfd, 0x07, 0xe7, 0xe4, 0xd0, 0xc8,
- 0x02, 0xf3, 0x15, 0xa2, 0x18, 0xc3, 0x16, 0x31, 0x7f, 0xad, 0x08, 0x6c,
- 0xd3, 0x7c, 0x82, 0x98, 0x96, 0x62, 0xb0, 0x9c, 0x0d, 0x4a, 0xd1, 0xff,
- 0x85, 0xd1, 0xb4, 0x8c, 0x01, 0x95, 0x32, 0xc3, 0xc4, 0x88, 0xaa, 0x59,
- 0x68, 0xf1, 0x74, 0x8b, 0xd4, 0xa4, 0x86, 0xbb, 0xdf, 0x1c, 0x0c, 0xb0,
- 0x7f, 0x6a, 0xbb, 0x5b, 0x1e, 0xf1, 0x71, 0x6f, 0x50, 0x3c, 0xfb, 0x85,
- 0xdc, 0xea, 0xde, 0xde, 0x19, 0x99, 0x5e, 0x04, 0xdf, 0x5a, 0xba, 0x72,
- 0xb6, 0x35, 0x7f, 0xce, 0x2f, 0x5a, 0x62, 0x56, 0x63, 0x07, 0x30, 0xde,
- 0x47, 0x7f, 0xe3, 0xe8, 0xdc, 0x56, 0x03, 0x30, 0x63, 0xbf, 0xa5, 0xc1,
- 0xd3, 0x8d, 0x60, 0xee, 0x76, 0xba, 0x32, 0x54, 0x25, 0x06, 0x7e, 0x12,
- 0xd6, 0x2d, 0x0a, 0x12, 0xf9, 0xe6, 0xc9, 0x9a, 0x1e, 0x1e, 0x98, 0xa9,
- 0xa1, 0x1b, 0xe8, 0x7f, 0xef, 0x0c, 0xeb, 0xfa, 0x66, 0x27, 0x9f, 0x7e,
- 0xa8, 0xea, 0x34, 0xf9, 0x69, 0xa3, 0x93, 0x2d, 0xdb, 0x1d, 0xc4, 0xff,
- 0xc6, 0x0c, 0xfe, 0xa2, 0x99, 0x5a, 0x3d, 0x8a, 0xdf, 0x63, 0x04, 0x83,
- 0x01, 0xb5, 0xaa, 0x5f, 0xfa, 0x60, 0x1e, 0xf8, 0x60, 0x49, 0x9c, 0x7f,
- 0xc5, 0xe8, 0x22, 0xa2, 0xd0, 0x0c, 0x92, 0xd9, 0x3d, 0x8d, 0x6c, 0x89,
- 0x6f, 0x74, 0xad, 0x44, 0xf2, 0xe3, 0xfe, 0xee, 0xee, 0xde, 0xc1, 0xde,
- 0xe7, 0x2f, 0x76, 0x0f, 0xf6, 0xf6, 0xf6, 0xf6, 0x0f, 0xf6, 0x0e, 0x0e,
- 0xf6, 0x77, 0x7f, 0xde, 0xe9, 0xad, 0x9a, 0xba, 0xb7, 0x5f, 0xad, 0x68,
- 0xd0, 0x8c, 0xba, 0xc7, 0xd4, 0x81, 0x3f, 0xd9, 0xd1, 0x63, 0x54, 0xd3,
- 0x5e, 0x52, 0xcf, 0xc7, 0x84, 0xd9, 0xe3, 0xc3, 0xe9, 0x0f, 0xa6, 0x36,
- 0x8a, 0x77, 0xe6, 0x0d, 0xe8, 0xf5, 0xd9, 0xf7, 0xef, 0x4e, 0xcf, 0x0e,
- 0x5f, 0x27, 0x97, 0x67, 0xc9, 0x21, 0xdc, 0x84, 0x11, 0x39, 0x09, 0xfa,
- 0x4f, 0x82, 0xbc, 0x73, 0x89, 0x16, 0xaf, 0x54, 0x99, 0xf8, 0xb4, 0x2c,
- 0x40, 0x15, 0x9d, 0xe8, 0xf6, 0xb3, 0x84, 0x19, 0x48, 0x2d, 0x0d, 0x6f,
- 0x9a, 0xf9, 0xc3, 0x37, 0xc2, 0x63, 0xbe, 0xdc, 0x67, 0x18, 0x87, 0xb3,
- 0xf4, 0xd1, 0x1d, 0x3d, 0xf9, 0x40, 0x0e, 0xd9, 0x02, 0xa1, 0x02, 0x81,
- 0x50, 0x79, 0x97, 0x6c, 0x31, 0xb6, 0xcb, 0x55, 0xd8, 0xe2, 0xca, 0x6d,
- 0x1d, 0x60, 0xb0, 0xad, 0x81, 0x24, 0x18, 0x1b, 0xa8, 0x3b, 0xa4, 0xc3,
- 0x6e, 0x07, 0x03, 0x3c, 0x5b, 0x39, 0x24, 0x73, 0x99, 0x67, 0x9f, 0x30,
- 0xea, 0xb6, 0xec, 0x65, 0x6e, 0x49, 0x37, 0x3a, 0x10, 0x68, 0xa9, 0xef,
- 0x22, 0xaf, 0xb4, 0xcb, 0x80, 0x40, 0x46, 0x3e, 0x47, 0xdf, 0x51, 0x91,
- 0xec, 0x3e, 0x41, 0xbf, 0xf1, 0xef, 0xf1, 0x1d, 0x9b, 0x51, 0xcc, 0x1d,
- 0x78, 0x3f, 0x3a, 0x79, 0xf7, 0x35, 0xa2, 0xe8, 0xdf, 0x9f, 0x5d, 0xbc,
- 0x1e, 0x99, 0x66, 0x8d, 0xbc, 0x42, 0xe3, 0x97, 0x25, 0x49, 0x42, 0xe9,
- 0x15, 0x9f, 0x4b, 0xfa, 0xf4, 0x9f, 0x78, 0x3b, 0xf5, 0x2d, 0xe8, 0x12,
- 0xdd, 0xf4, 0xec, 0x23, 0x2a, 0x0f, 0x15, 0xbf, 0x35, 0xbc, 0xdd, 0xf8,
- 0xe7, 0x79, 0x3a, 0xb9, 0x21, 0x83, 0x9e, 0x37, 0x2b, 0xe0, 0xd0, 0x3b,
- 0x94, 0xae, 0xb3, 0x43, 0x76, 0xda, 0x4e, 0x53, 0x62, 0x3b, 0xa2, 0x95,
- 0xb2, 0xb2, 0x90, 0xc6, 0xd6, 0x8c, 0xd0, 0x5e, 0xbf, 0x9a, 0xa5, 0xd7,
- 0xf8, 0x60, 0x78, 0x0c, 0xbc, 0x8f, 0xc9, 0xe7, 0x1f, 0xfb, 0x49, 0xba,
- 0x36, 0xd0, 0xde, 0x09, 0x36, 0x00, 0x92, 0xac, 0x50, 0xf3, 0xea, 0x4a,
- 0x8b, 0xb4, 0x90, 0x02, 0x89, 0x02, 0x7c, 0x04, 0x07, 0x23, 0x14, 0x6a,
- 0xb7, 0x78, 0x11, 0x8a, 0xcc, 0x32, 0x93, 0xba, 0x51, 0xbf, 0x1d, 0x56,
- 0x5b, 0x8a, 0xc7, 0xa0, 0x25, 0x4f, 0x27, 0xaf, 0x1d, 0x74, 0xdc, 0x15,
- 0x6c, 0xe6, 0x29, 0xa7, 0xce, 0x10, 0xbe, 0x93, 0x53, 0x1f, 0x08, 0xe2,
- 0x29, 0x1a, 0x6d, 0x8f, 0xca, 0x13, 0x10, 0xd8, 0xa9, 0x87, 0x2b, 0xae,
- 0xc5, 0xfb, 0xe6, 0x28, 0x4a, 0x8c, 0xb2, 0x5f, 0x4c, 0x53, 0x2a, 0x77,
- 0xc1, 0x50, 0x07, 0x21, 0x53, 0x31, 0xd6, 0x17, 0xa7, 0x95, 0xf4, 0x14,
- 0x32, 0xc5, 0xad, 0xe4, 0x35, 0x53, 0xd2, 0xd8, 0xea, 0x32, 0x74, 0x79,
- 0xd1, 0xd7, 0xd9, 0x4f, 0x8a, 0x59, 0xb7, 0xf7, 0xa4, 0xf3, 0x74, 0xd2,
- 0x1d, 0x67, 0xf4, 0x71, 0x23, 0xc0, 0x79, 0xe7, 0x68, 0x7c, 0xdd, 0x95,
- 0x7d, 0x6d, 0x4d, 0x9b, 0x52, 0x1f, 0x73, 0x73, 0x24, 0x99, 0x9d, 0xd7,
- 0xd6, 0xce, 0xe0, 0x06, 0x60, 0x6b, 0xf6, 0x16, 0xb0, 0x30, 0x78, 0xaf,
- 0x76, 0x9e, 0xab, 0xfb, 0xe1, 0x4d, 0x1b, 0x63, 0x4c, 0xdd, 0x7b, 0x66,
- 0x8d, 0xa8, 0xa9, 0xbc, 0xa9, 0xb3, 0xd9, 0x15, 0x99, 0x5b, 0xf6, 0x0a,
- 0xe1, 0xc2, 0xd7, 0xae, 0x00, 0x8a, 0xf0, 0xbb, 0x2f, 0x0b, 0x63, 0xa9,
- 0xa4, 0x82, 0x01, 0x62, 0x59, 0x72, 0x0d, 0xb1, 0xce, 0xcf, 0x61, 0x4b,
- 0xb6, 0x64, 0x08, 0xc7, 0x4f, 0xbf, 0x60, 0x90, 0x9f, 0x6d, 0xae, 0x25,
- 0x3a, 0xbc, 0x4c, 0x10, 0xbe, 0x75, 0x74, 0xee, 0x68, 0xb6, 0xee, 0x17,
- 0x84, 0x58, 0x26, 0x40, 0x88, 0x57, 0x12, 0x52, 0xb9, 0x93, 0x41, 0x62,
- 0x9e, 0x7d, 0x22, 0x22, 0x61, 0x19, 0x9b, 0xb3, 0x09, 0xad, 0x56, 0x2f,
- 0xe3, 0xa5, 0xd6, 0xf0, 0x73, 0xc8, 0x42, 0x9a, 0x6d, 0xd3, 0x6f, 0xb0,
- 0xd3, 0x4b, 0xba, 0x04, 0xab, 0x81, 0x6a, 0x49, 0xda, 0x3a, 0xa4, 0xa4,
- 0x31, 0x99, 0x5b, 0x98, 0x49, 0xbe, 0x6d, 0x65, 0x70, 0xc4, 0x69, 0x53,
- 0xb6, 0x37, 0xa1, 0x04, 0x7b, 0x1f, 0xa6, 0xad, 0x04, 0xba, 0xbb, 0x56,
- 0x6a, 0x4f, 0x6b, 0x94, 0xcb, 0xb1, 0x5b, 0x58, 0xda, 0x23, 0xc0, 0xf5,
- 0x52, 0x93, 0x47, 0x61, 0x99, 0x3c, 0xad, 0x23, 0xe1, 0xcd, 0x9e, 0x30,
- 0xbe, 0x18, 0x81, 0x82, 0xbc, 0xb4, 0x65, 0x6d, 0x77, 0x8e, 0x99, 0xad,
- 0x8f, 0x72, 0x21, 0x6e, 0x20, 0x43, 0x21, 0x14, 0x37, 0x22, 0x79, 0x57,
- 0xcb, 0x9b, 0x87, 0x45, 0x4d, 0xd8, 0x25, 0x35, 0xfd, 0x66, 0xf7, 0x2c,
- 0x0d, 0xf2, 0x62, 0xbd, 0xd0, 0x91, 0x4e, 0x3c, 0xea, 0xc3, 0x18, 0x2b,
- 0xe8, 0xc4, 0x6b, 0x8e, 0xc2, 0x38, 0xe4, 0x2a, 0x83, 0x3e, 0x40, 0xc2,
- 0xd1, 0x21, 0xd4, 0x55, 0x1f, 0xa6, 0x9d, 0x47, 0x1c, 0x78, 0x06, 0xab,
- 0x1c, 0x24, 0x5f, 0xa5, 0x75, 0x3e, 0xe9, 0x4b, 0xc5, 0x0b, 0xa9, 0x80,
- 0x41, 0x6f, 0xd8, 0xaa, 0x18, 0xc9, 0x16, 0x73, 0x29, 0x6f, 0x0f, 0x93,
- 0xef, 0xb5, 0x86, 0x89, 0x31, 0x22, 0x91, 0x4a, 0x4e, 0xa1, 0x83, 0x0d,
- 0xe6, 0xb7, 0x61, 0xc4, 0x09, 0xcd, 0x87, 0xec, 0x4f, 0xf1, 0xe5, 0x83,
- 0x01, 0x1d, 0x1f, 0x71, 0xf4, 0x8e, 0x58, 0xd5, 0xb4, 0xfe, 0x68, 0x03,
- 0x67, 0x58, 0x2b, 0x11, 0x45, 0x5c, 0x01, 0x8d, 0xb9, 0x82, 0x61, 0xe4,
- 0x0b, 0xbc, 0x06, 0x61, 0xb5, 0xc2, 0x2b, 0x60, 0x6e, 0xeb, 0x0f, 0xc1,
- 0x59, 0x5b, 0x5b, 0x58, 0x96, 0x2d, 0xf1, 0x86, 0x9d, 0x69, 0x45, 0xd4,
- 0x60, 0x60, 0x26, 0x8c, 0xa6, 0x46, 0x04, 0xe8, 0xd9, 0xe5, 0xf1, 0xbf,
- 0x24, 0x87, 0xdd, 0x38, 0x3b, 0xb8, 0x5b, 0x44, 0x0c, 0x4b, 0x39, 0x60,
- 0xbb, 0xc1, 0xd0, 0x77, 0x86, 0xb1, 0x32, 0xe9, 0x69, 0x8a, 0xe5, 0xdf,
- 0x90, 0xec, 0x67, 0xe7, 0x51, 0xae, 0x4b, 0xc9, 0x7d, 0x41, 0xb5, 0x44,
- 0x5b, 0x57, 0x0f, 0x11, 0x08, 0x8f, 0xec, 0x91, 0x01, 0xfe, 0x79, 0x0a,
- 0x3d, 0xb6, 0xfc, 0x64, 0x0e, 0x36, 0x6a, 0x19, 0x42, 0x80, 0x22, 0x03,
- 0x42, 0x2a, 0x45, 0x12, 0x3e, 0x1d, 0x98, 0xf3, 0x46, 0x08, 0xf7, 0xa5,
- 0xaa, 0x99, 0x57, 0xe2, 0xc7, 0xb6, 0x40, 0xbb, 0xff, 0x03, 0x1d, 0xb9,
- 0x0f, 0x7a, 0xb1, 0xc8, 0x15, 0xc8, 0x7d, 0xb9, 0x62, 0x3b, 0xa8, 0xbd,
- 0x65, 0xf5, 0xd8, 0xf1, 0x6d, 0x76, 0xae, 0x10, 0x56, 0x2c, 0x04, 0x5d,
- 0x01, 0x80, 0x98, 0x20, 0xc0, 0x8e, 0x3b, 0x55, 0xa5, 0xa6, 0x7f, 0x31,
- 0x81, 0x50, 0x94, 0xee, 0x08, 0x2e, 0x86, 0x2d, 0x84, 0xa2, 0x9c, 0xe7,
- 0x60, 0x5a, 0x6d, 0xa7, 0x52, 0x81, 0x87, 0x18, 0xb3, 0x4a, 0xbd, 0x18,
- 0x9d, 0x1d, 0x7d, 0x3b, 0x6a, 0xa5, 0x32, 0xd5, 0x5c, 0x2d, 0x27, 0xd1,
- 0xb2, 0x50, 0x9d, 0x0d, 0x6d, 0xa4, 0xe1, 0x49, 0xd3, 0x11, 0x4f, 0x96,
- 0xaa, 0xd3, 0xc3, 0x37, 0xbf, 0x51, 0x70, 0xbe, 0x36, 0x4b, 0xd5, 0x53,
- 0x26, 0x99, 0xc7, 0x34, 0x5c, 0x94, 0x1b, 0xde, 0xcd, 0xc7, 0xfb, 0xa7,
- 0xac, 0x55, 0x26, 0x32, 0x0f, 0x2d, 0x97, 0xac, 0x18, 0x67, 0x4c, 0x24,
- 0x65, 0x76, 0x09, 0xaf, 0x22, 0xf5, 0x0f, 0x27, 0x90, 0x77, 0xe6, 0x1c,
- 0x9b, 0x7b, 0xc3, 0xed, 0x6e, 0xba, 0x83, 0x56, 0x8d, 0x93, 0xea, 0x23,
- 0xd0, 0x76, 0x53, 0xf7, 0x3a, 0xab, 0x4e, 0x28, 0x2e, 0x29, 0x75, 0x61,
- 0x48, 0xb7, 0xd2, 0x5e, 0xd3, 0xea, 0x40, 0xb3, 0x2d, 0xac, 0x9e, 0xa5,
- 0x8b, 0x5e, 0x78, 0x19, 0x08, 0x90, 0x29, 0xd3, 0x64, 0x7e, 0x2f, 0xb9,
- 0x48, 0xa2, 0x1b, 0x10, 0xef, 0x0a, 0xbc, 0x12, 0x9f, 0x7f, 0x1e, 0xe8,
- 0x82, 0x9f, 0xec, 0xd3, 0x07, 0xe6, 0xd7, 0x9e, 0xf7, 0x63, 0x46, 0x98,
- 0x14, 0xf2, 0x36, 0x40, 0x0f, 0xb5, 0x2e, 0x90, 0x88, 0x85, 0xe1, 0x55,
- 0x5d, 0xe3, 0x2f, 0xda, 0x30, 0x4e, 0xb0, 0xcb, 0xfa, 0x4e, 0xee, 0x6f,
- 0xb0, 0x79, 0xcd, 0x1d, 0x4d, 0x6b, 0xc6, 0x36, 0xad, 0x30, 0xcc, 0x54,
- 0x4c, 0x76, 0x7b, 0xeb, 0x69, 0xcd, 0x46, 0x73, 0x1f, 0xd2, 0xa5, 0x4a,
- 0x46, 0xc0, 0xa8, 0x94, 0x86, 0x69, 0x92, 0xa5, 0x33, 0x76, 0x77, 0x74,
- 0xf6, 0x91, 0x2d, 0x77, 0xe6, 0x64, 0xc4, 0xfb, 0xd5, 0xdd, 0x79, 0xff,
- 0x6b, 0xba, 0x73, 0x98, 0xac, 0x4d, 0xa3, 0xc3, 0x04, 0xb1, 0xc4, 0xaf,
- 0x25, 0x10, 0x3b, 0x2d, 0xb1, 0xab, 0x55, 0xef, 0xe1, 0x39, 0x42, 0xbd,
- 0xa1, 0x0e, 0x23, 0x72, 0xe8, 0x98, 0x28, 0x4a, 0x7e, 0x1a, 0x46, 0x0d,
- 0xb5, 0xdf, 0xd7, 0xae, 0x3c, 0xb6, 0xbb, 0x52, 0x24, 0xd3, 0xe6, 0xca,
- 0xba, 0xef, 0x61, 0xc3, 0x4b, 0x9e, 0xdb, 0xde, 0x70, 0xd7, 0xd7, 0xaf,
- 0x6c, 0xc2, 0x6a, 0x85, 0x7c, 0xb8, 0x06, 0x29, 0x74, 0x4e, 0x45, 0x59,
- 0x4a, 0x4d, 0xc9, 0x9d, 0xce, 0x6b, 0xf2, 0xb3, 0x3d, 0x66, 0xae, 0x30,
- 0x27, 0x49, 0x98, 0x21, 0x29, 0x85, 0x39, 0x9b, 0x2f, 0x38, 0xb1, 0x2f,
- 0x52, 0x2b, 0x17, 0xe7, 0xe8, 0xa9, 0x3b, 0x52, 0xcf, 0xec, 0x72, 0x4b,
- 0x1f, 0x39, 0x1f, 0x45, 0x0a, 0xcc, 0x71, 0x4a, 0x08, 0x94, 0x4f, 0xad,
- 0xe5, 0xd2, 0xac, 0x4c, 0x42, 0x3e, 0x6a, 0xb3, 0xfb, 0xd3, 0x7e, 0xc6,
- 0x65, 0x6b, 0x2b, 0x9f, 0x0a, 0xa3, 0xbb, 0x20, 0x99, 0xa9, 0x55, 0xc2,
- 0x7c, 0x47, 0x24, 0x0d, 0xd8, 0x41, 0x32, 0x94, 0x8c, 0xa3, 0x73, 0xcd,
- 0x8e, 0x6e, 0x24, 0xef, 0x08, 0x0f, 0xb2, 0x0b, 0xd5, 0x59, 0xf5, 0xcc,
- 0xb4, 0x3b, 0xcb, 0x4d, 0x87, 0x36, 0x41, 0x95, 0xa4, 0x95, 0xb0, 0x44,
- 0x16, 0xea, 0x16, 0xb6, 0xa4, 0x25, 0xed, 0x22, 0x53, 0x21, 0x57, 0x6a,
- 0x57, 0xe8, 0xf2, 0x35, 0xd0, 0x4f, 0x06, 0xff, 0x43, 0x66, 0x86, 0xd4,
- 0x73, 0x82, 0x99, 0x81, 0xd5, 0x6a, 0xe1, 0x31, 0x9b, 0x08, 0xb2, 0x15,
- 0x02, 0x9f, 0x30, 0xa4, 0x3a, 0x0e, 0xaf, 0xfa, 0x39, 0x27, 0xe8, 0x41,
- 0xfe, 0xe9, 0xd8, 0xf3, 0xac, 0x5b, 0xfd, 0x4b, 0x44, 0x05, 0x37, 0xb7,
- 0xe1, 0xaa, 0xe4, 0x02, 0x56, 0x18, 0x74, 0xd8, 0x5e, 0x64, 0x5f, 0x11,
- 0x79, 0xf5, 0x51, 0x99, 0xfa, 0xd3, 0xaa, 0xb6, 0xdc, 0x86, 0xf6, 0x94,
- 0x37, 0xbf, 0x75, 0x65, 0x70, 0x4d, 0x81, 0x81, 0x79, 0x61, 0xf0, 0x5e,
- 0xdc, 0x19, 0x7f, 0xe6, 0x2f, 0x0c, 0x49, 0x9e, 0xc9, 0x17, 0xce, 0xa9,
- 0x2d, 0xfb, 0xc0, 0x81, 0xbc, 0x44, 0x85, 0x08, 0x7a, 0xe2, 0xc9, 0x69,
- 0xcf, 0x0a, 0x3f, 0xaf, 0x85, 0x0a, 0x3a, 0xf5, 0x8a, 0x71, 0xc8, 0xf8,
- 0xaf, 0xfc, 0xae, 0x18, 0x8f, 0xf7, 0xd4, 0xc4, 0x90, 0x33, 0x36, 0xc4,
- 0xf7, 0xb2, 0xbf, 0xb7, 0xc3, 0x9d, 0xd1, 0x32, 0xc3, 0xd0, 0xeb, 0x64,
- 0x4b, 0x3a, 0xcc, 0x08, 0x0e, 0x02, 0x2a, 0x82, 0xb9, 0x81, 0x53, 0x7e,
- 0x09, 0x61, 0x7d, 0xe6, 0x02, 0xba, 0x46, 0x30, 0x8e, 0xae, 0x26, 0x73,
- 0xd7, 0x82, 0x8e, 0x50, 0x52, 0xcd, 0x89, 0x5c, 0xc8, 0x2e, 0x50, 0xdf,
- 0xaa, 0x7c, 0x66, 0x2b, 0x0d, 0x6e, 0x7d, 0xab, 0x29, 0xa3, 0x88, 0x4a,
- 0x8a, 0x9a, 0xc0, 0x77, 0x36, 0xc7, 0x39, 0xaf, 0x15, 0x59, 0x61, 0x76,
- 0xf4, 0xc5, 0xe1, 0xbb, 0xaf, 0x8f, 0xa1, 0x09, 0x40, 0xb6, 0xd3, 0x01,
- 0xcd, 0x69, 0xb7, 0x4f, 0x97, 0x5c, 0x4e, 0xd4, 0xcc, 0x18, 0x60, 0x72,
- 0x66, 0xb5, 0xdf, 0x5b, 0xca, 0x6a, 0xb0, 0x70, 0x63, 0xf3, 0x62, 0xb9,
- 0x05, 0xfc, 0xb6, 0x91, 0xa8, 0x47, 0x15, 0x1a, 0x04, 0xa0, 0xd2, 0x15,
- 0xbb, 0x5f, 0xeb, 0xe5, 0x78, 0x81, 0x32, 0x3b, 0xb0, 0xcf, 0x9c, 0x98,
- 0x51, 0x3f, 0xcb, 0xb0, 0x7d, 0x16, 0x37, 0x34, 0x35, 0xca, 0xda, 0xf4,
- 0x15, 0x6c, 0xfa, 0xa1, 0xef, 0x55, 0x63, 0xd2, 0x93, 0xbd, 0xdd, 0x5d,
- 0x47, 0x47, 0x97, 0xda, 0x06, 0x03, 0x69, 0x59, 0x25, 0xbb, 0x83, 0x17,
- 0x2f, 0x56, 0x09, 0x42, 0xdb, 0x28, 0x68, 0x2e, 0x9e, 0x3d, 0xba, 0xcd,
- 0x01, 0x3d, 0xba, 0xaa, 0xcd, 0x88, 0x45, 0x83, 0xe2, 0x81, 0x02, 0x3c,
- 0xac, 0xad, 0xd6, 0x22, 0x1e, 0x1e, 0x8e, 0xd6, 0x20, 0x0e, 0x56, 0x58,
- 0xb3, 0x86, 0xa6, 0x72, 0xc3, 0x55, 0xf5, 0x03, 0x2d, 0x8c, 0x3a, 0x83,
- 0x16, 0x84, 0x3d, 0xcc, 0x6d, 0xc8, 0xf7, 0x51, 0x13, 0xe3, 0x19, 0xf0,
- 0x2b, 0xa6, 0xe8, 0x2a, 0x1c, 0x8d, 0xaa, 0x04, 0xef, 0xcf, 0xc9, 0xff,
- 0x77, 0xf2, 0xee, 0x6b, 0x76, 0x87, 0x18, 0xdb, 0x1e, 0xbe, 0xf4, 0x9d,
- 0x8e, 0xa5, 0xff, 0x9e, 0x79, 0xe5, 0x08, 0x79, 0x0a, 0xac, 0x07, 0x97,
- 0x22, 0xc8, 0x0b, 0xa9, 0x3e, 0xee, 0x4a, 0x29, 0xc6, 0x7d, 0x95, 0x97,
- 0xc9, 0xc0, 0x53, 0x4e, 0x84, 0x54, 0x8e, 0x34, 0x93, 0xf9, 0xbd, 0x5a,
- 0x46, 0xf2, 0x05, 0xb4, 0xae, 0x91, 0x19, 0xdb, 0x2c, 0xdb, 0xb9, 0x6c,
- 0x9e, 0x63, 0x07, 0x05, 0xba, 0x49, 0xe4, 0x93, 0xfc, 0x19, 0x9c, 0xef,
- 0x8e, 0x26, 0xf2, 0xb8, 0xae, 0xb4, 0x5c, 0x9d, 0x6d, 0x46, 0x6b, 0xd2,
- 0xac, 0xfa, 0xea, 0xfb, 0xe9, 0xba, 0x21, 0xb9, 0x52, 0xa0, 0x2f, 0xd5,
- 0x69, 0xb5, 0x41, 0x94, 0x5f, 0x96, 0xff, 0x78, 0x3f, 0xd7, 0xf4, 0x90,
- 0x0e, 0x2a, 0xdd, 0x54, 0xc5, 0xd4, 0xf9, 0x34, 0xa4, 0xc7, 0xd1, 0x40,
- 0xc8, 0x25, 0xbf, 0xcf, 0x9f, 0x4e, 0xe3, 0x9f, 0xe3, 0xf7, 0x75, 0x6a,
- 0x22, 0x07, 0x80, 0x54, 0x5a, 0xa1, 0x1d, 0xb4, 0xe4, 0x00, 0x6a, 0xcb,
- 0x90, 0x16, 0x0e, 0xc9, 0x91, 0xb7, 0xd5, 0x92, 0x8d, 0x44, 0x78, 0x48,
- 0xc0, 0x49, 0x48, 0x7b, 0x08, 0xd4, 0x37, 0xb8, 0xbc, 0x3e, 0xe6, 0x42,
- 0xb0, 0xbc, 0x2c, 0x8a, 0x8c, 0x8c, 0x54, 0x30, 0x0c, 0xe4, 0x6c, 0x2f,
- 0xf4, 0xed, 0x29, 0xaa, 0x96, 0x52, 0xae, 0x1b, 0x60, 0x06, 0xd3, 0xf9,
- 0xb4, 0xbe, 0x41, 0x81, 0x3a, 0xeb, 0x8a, 0x0a, 0xd5, 0x2b, 0x7c, 0x9e,
- 0xdb, 0x25, 0x7d, 0x8a, 0x95, 0x29, 0x28, 0xd7, 0xad, 0xa9, 0x68, 0xcf,
- 0xc0, 0xc6, 0x06, 0x39, 0xe1, 0x77, 0xc8, 0x15, 0x3f, 0x0a, 0x27, 0x50,
- 0x7d, 0xe9, 0x6b, 0xfd, 0xf1, 0x2e, 0xc6, 0xf0, 0x80, 0x67, 0xde, 0xf3,
- 0x9e, 0x3c, 0xf6, 0xc4, 0xb1, 0xfe, 0x1e, 0x89, 0x2b, 0xe2, 0xd0, 0x79,
- 0x82, 0x2c, 0xba, 0xd5, 0xdb, 0xde, 0x34, 0xdf, 0x16, 0x80, 0xd3, 0x07,
- 0x96, 0x19, 0x2a, 0xa2, 0x74, 0x96, 0x8b, 0xd3, 0xd4, 0xce, 0xdf, 0x5f,
- 0x0a, 0x51, 0x98, 0x8a, 0x77, 0xbf, 0x4c, 0x94, 0x5f, 0x13, 0x16, 0xd2,
- 0x8c, 0x74, 0x0b, 0x36, 0x7f, 0x11, 0xeb, 0xe6, 0xcc, 0x4b, 0x7c, 0x13,
- 0x23, 0xe4, 0x0e, 0xf6, 0x6d, 0x96, 0xcd, 0xf9, 0xd9, 0xe8, 0x92, 0xdc,
- 0x08, 0xb8, 0xfa, 0xd4, 0x1e, 0xfd, 0xee, 0xf8, 0xe2, 0xab, 0xb3, 0xd1,
- 0xb1, 0x59, 0x8f, 0xd7, 0xc7, 0x5f, 0xbd, 0x27, 0xa9, 0x45, 0xbb, 0x83,
- 0x5d, 0xcf, 0x94, 0x81, 0x23, 0xfe, 0x2f, 0xaa, 0xd8, 0x8b, 0x34, 0x3c,
- 0x6c, 0x53, 0xd6, 0x83, 0xfa, 0x36, 0x93, 0x5d, 0x54, 0x3c, 0xae, 0x39,
- 0x3b, 0xcb, 0xd8, 0x57, 0x99, 0x23, 0x5f, 0x21, 0xbf, 0xd2, 0x1d, 0x46,
- 0xd0, 0x40, 0xaa, 0x50, 0x09, 0xf3, 0x52, 0x8e, 0x12, 0x53, 0xa4, 0xd7,
- 0x07, 0xce, 0xa9, 0x79, 0xcb, 0x9e, 0x69, 0x39, 0x7c, 0xae, 0xae, 0x26,
- 0xb8, 0xa2, 0xb0, 0x79, 0x8f, 0xac, 0x1e, 0x2d, 0x7c, 0x49, 0xb3, 0x92,
- 0x6f, 0x4d, 0x94, 0x82, 0xa4, 0xb6, 0x71, 0x8f, 0xe7, 0x0d, 0xae, 0x70,
- 0x36, 0x28, 0xa4, 0x2a, 0x65, 0xcd, 0x9b, 0x9b, 0x4b, 0xf0, 0x12, 0x54,
- 0x2d, 0xf3, 0x0a, 0x92, 0xd6, 0xd0, 0x86, 0x67, 0x72, 0x6b, 0x4b, 0x3c,
- 0x9c, 0x71, 0xc1, 0xc2, 0xd1, 0xb6, 0x25, 0x46, 0xf0, 0x1d, 0xc6, 0x29,
- 0xf4, 0xf3, 0x5c, 0xd6, 0x31, 0x53, 0xb6, 0x62, 0x9a, 0x79, 0xbf, 0xc6,
- 0x0e, 0x6f, 0x9d, 0xdb, 0xd5, 0xa2, 0xe7, 0x92, 0x47, 0x0a, 0xb2, 0x0d,
- 0x28, 0x02, 0x92, 0xfa, 0x84, 0x7e, 0x77, 0xaa, 0xd5, 0x38, 0x05, 0x85,
- 0xcf, 0x2e, 0xa5, 0x1e, 0x78, 0x26, 0xe4, 0xea, 0x42, 0x90, 0xaa, 0xcd,
- 0x4a, 0x80, 0xc9, 0x25, 0x1e, 0xb1, 0x70, 0x15, 0xd4, 0x1e, 0x2d, 0x29,
- 0x42, 0x02, 0xbc, 0xf9, 0xc2, 0xf3, 0xce, 0xad, 0xe3, 0xbf, 0x38, 0xa3,
- 0x5e, 0xe0, 0x64, 0x63, 0x63, 0xe3, 0xf5, 0xf1, 0xe5, 0xe1, 0xc9, 0xe9,
- 0xf1, 0xeb, 0xe4, 0xe4, 0xdd, 0x9b, 0xb3, 0x8b, 0xb7, 0x87, 0x97, 0x02,
- 0xc7, 0x78, 0x6d, 0x3d, 0x72, 0xae, 0x84, 0x9e, 0xd4, 0x89, 0xf2, 0xbc,
- 0x75, 0xd8, 0xc2, 0x66, 0x15, 0xcd, 0x64, 0x20, 0xc8, 0xcf, 0xd3, 0x90,
- 0xb5, 0xe6, 0x60, 0x43, 0x4b, 0x06, 0xb9, 0x92, 0x83, 0xa4, 0x17, 0xec,
- 0xd8, 0xd8, 0xfb, 0x50, 0xa7, 0x53, 0xdd, 0x68, 0x60, 0x93, 0x5e, 0xdb,
- 0x94, 0xad, 0x20, 0xcb, 0x77, 0x22, 0x2d, 0xa7, 0xd0, 0x59, 0xd0, 0x9e,
- 0x1c, 0x9c, 0xec, 0x70, 0xad, 0x72, 0xaf, 0x1e, 0x85, 0xd6, 0x12, 0x02,
- 0xe3, 0x0a, 0xb5, 0xe3, 0x91, 0x23, 0x5d, 0x95, 0x40, 0x95, 0xf8, 0x6d,
- 0x5a, 0xca, 0x1f, 0xac, 0xa8, 0xd1, 0x02, 0x18, 0xc6, 0xc3, 0x15, 0xfb,
- 0xbc, 0xf5, 0xcd, 0xb9, 0xa2, 0xcf, 0x8c, 0x90, 0x4a, 0x00, 0x07, 0x11,
- 0x81, 0x55, 0x6d, 0x56, 0xca, 0x9e, 0x75, 0x50, 0x6a, 0x59, 0x81, 0xad,
- 0xd1, 0x39, 0xe1, 0x21, 0xf6, 0x9b, 0xda, 0xb2, 0xf1, 0x7a, 0xa3, 0x31,
- 0x0d, 0x4e, 0x84, 0x14, 0x9b, 0xe6, 0x62, 0x7b, 0x03, 0x6c, 0x1d, 0x77,
- 0x85, 0x12, 0x12, 0x5a, 0xb4, 0xa9, 0xb3, 0xf8, 0xf3, 0x1d, 0xaf, 0xaa,
- 0x27, 0x4e, 0x9b, 0x3b, 0xb7, 0x4a, 0x62, 0x3e, 0x78, 0x6d, 0x1e, 0x9a,
- 0x2e, 0xe7, 0x8b, 0x76, 0x21, 0x77, 0xf6, 0xe5, 0xe9, 0x12, 0xb2, 0xd2,
- 0x06, 0xe5, 0x03, 0x8e, 0x9f, 0x37, 0x32, 0x07, 0x3c, 0x0e, 0xec, 0xef,
- 0x46, 0x43, 0x81, 0xa0, 0x0e, 0xb1, 0xd1, 0xbb, 0x6e, 0x69, 0xd6, 0xb6,
- 0xe6, 0x82, 0x09, 0x19, 0xd9, 0x67, 0xbb, 0xb5, 0x5c, 0x53, 0x87, 0x35,
- 0xc2, 0xfc, 0x6f, 0x29, 0xb5, 0x1b, 0x6d, 0x59, 0x69, 0x50, 0xae, 0x8a,
- 0x30, 0xf8, 0xd8, 0x1a, 0x94, 0xff, 0x62, 0x1b, 0xd2, 0xe3, 0x4b, 0x7a,
- 0xfd, 0xb4, 0xa3, 0x31, 0xeb, 0xf6, 0x40, 0xa4, 0xb8, 0x91, 0x27, 0xf7,
- 0x5a, 0xc5, 0x84, 0xf8, 0x32, 0x01, 0x37, 0x22, 0x67, 0x29, 0x38, 0x0f,
- 0x44, 0x52, 0x22, 0x20, 0xa6, 0xdb, 0x77, 0x89, 0xd2, 0x1c, 0xe5, 0x47,
- 0xb2, 0xe5, 0xb5, 0x24, 0xaf, 0x97, 0xae, 0xc7, 0x28, 0x32, 0xa1, 0x31,
- 0x84, 0xd0, 0x2b, 0x36, 0x34, 0xb3, 0x58, 0x5f, 0x52, 0xbc, 0x23, 0xa4,
- 0xff, 0x16, 0xcd, 0x15, 0x48, 0x1a, 0x51, 0x56, 0x25, 0x4b, 0x6b, 0x18,
- 0x54, 0x48, 0xda, 0xe1, 0x3b, 0xc3, 0xba, 0x61, 0x1d, 0x21, 0x9f, 0x57,
- 0xa3, 0x10, 0x22, 0x7a, 0x9a, 0xbc, 0xa4, 0x67, 0x89, 0xf0, 0xc8, 0x92,
- 0xfb, 0x00, 0xa4, 0x6f, 0x5b, 0xd1, 0x00, 0x87, 0x69, 0x06, 0x48, 0x6b,
- 0x81, 0x9e, 0x9e, 0xd3, 0x03, 0xa9, 0x6a, 0xf8, 0x3d, 0x57, 0x4e, 0xaa,
- 0xb7, 0xb8, 0x31, 0xdf, 0xe8, 0x25, 0xd7, 0x64, 0x23, 0x8d, 0x4d, 0xd7,
- 0x03, 0x01, 0x3a, 0xe5, 0xc7, 0x5f, 0x5d, 0xa4, 0x57, 0x69, 0x36, 0xfb,
- 0xe3, 0xfe, 0xee, 0x28, 0xbd, 0x5e, 0xce, 0xd2, 0x7f, 0xc5, 0x8b, 0xaf,
- 0x9e, 0x3c, 0xd9, 0xdf, 0xfd, 0xec, 0xf3, 0xdd, 0x5e, 0x17, 0x7d, 0xe0,
- 0xb8, 0x4b, 0x80, 0xb0, 0x01, 0xdf, 0x0e, 0xc9, 0x5d, 0x7c, 0x67, 0x38,
- 0xb9, 0xce, 0x61, 0xd4, 0x91, 0xa2, 0x24, 0x73, 0x90, 0xb2, 0x35, 0x09,
- 0x31, 0x29, 0x95, 0x5e, 0xcd, 0x8d, 0x6b, 0xf6, 0xf5, 0x1f, 0xf6, 0x0e,
- 0x58, 0x94, 0x81, 0xa5, 0x0f, 0xf7, 0x04, 0xcd, 0xc5, 0xcb, 0xbc, 0x30,
- 0x37, 0xd0, 0x97, 0x49, 0x93, 0x5e, 0xdb, 0xbd, 0x2a, 0x4c, 0x0c, 0x9c,
- 0x72, 0x61, 0xe3, 0x9b, 0x57, 0xb4, 0xc9, 0x05, 0x16, 0x7d, 0x22, 0xb5,
- 0xdd, 0x36, 0xc9, 0xfb, 0xd1, 0x63, 0xf7, 0x47, 0x0f, 0x1d, 0xe0, 0xd3,
- 0x0d, 0xc1, 0x33, 0xd5, 0x4e, 0x0d, 0xf1, 0x77, 0x90, 0x7c, 0xa4, 0xcc,
- 0xcb, 0xd8, 0x5b, 0x70, 0x5a, 0xbd, 0xad, 0xf3, 0xc5, 0x7e, 0xb2, 0xbc,
- 0xd5, 0x85, 0xd4, 0x61, 0x31, 0x93, 0x97, 0xea, 0xd0, 0xd9, 0xfb, 0xf2,
- 0x15, 0xd6, 0x6e, 0xef, 0xcb, 0x7f, 0xb5, 0x3f, 0xdb, 0x97, 0x9f, 0xed,
- 0x7f, 0xf9, 0xaf, 0xc3, 0x21, 0xfa, 0x47, 0x8b, 0xb9, 0xa9, 0xbf, 0xde,
- 0x14, 0xe6, 0xa0, 0x54, 0x4e, 0x1b, 0xff, 0x8b, 0x2c, 0x6c, 0xae, 0x07,
- 0x8b, 0x65, 0xe9, 0xe9, 0x97, 0xfd, 0x09, 0x51, 0x36, 0x25, 0x2b, 0x62,
- 0xf2, 0xda, 0x66, 0xbd, 0x03, 0x28, 0x15, 0x99, 0x1f, 0x1b, 0xb2, 0x40,
- 0x3b, 0x82, 0x78, 0xc4, 0xcb, 0xff, 0x46, 0x9b, 0xea, 0xdf, 0x36, 0x12,
- 0x09, 0x44, 0x2e, 0xb2, 0xca, 0xa8, 0xc1, 0x14, 0x9b, 0xd0, 0x1d, 0xc6,
- 0xfc, 0x52, 0x4c, 0x4f, 0x4d, 0x2d, 0x53, 0x56, 0x07, 0x5d, 0x57, 0x5e,
- 0xa5, 0xab, 0x3f, 0x49, 0x71, 0x60, 0x9b, 0x0e, 0xa3, 0xcf, 0x70, 0x06,
- 0x8c, 0x51, 0x07, 0x1a, 0x3a, 0xc8, 0x78, 0xf6, 0x8f, 0x3f, 0xfc, 0x20,
- 0xba, 0x8f, 0xf9, 0x8b, 0xf4, 0xfc, 0xc6, 0x88, 0x8d, 0xa9, 0x91, 0x44,
- 0x73, 0x94, 0xce, 0x91, 0xf2, 0x64, 0x72, 0x3b, 0x5f, 0xc9, 0x48, 0xb9,
- 0x11, 0xb3, 0xb4, 0x87, 0xa3, 0xa3, 0x93, 0x13, 0x80, 0x3b, 0x31, 0xa9,
- 0xc7, 0x2c, 0x71, 0xb0, 0x8d, 0xb6, 0x80, 0xc6, 0x70, 0x08, 0x42, 0x7f,
- 0x97, 0xd2, 0xda, 0x61, 0xd9, 0xb1, 0x51, 0x4d, 0x63, 0x6a, 0x2b, 0xcb,
- 0x52, 0x62, 0x7b, 0xb1, 0x42, 0xf2, 0xaa, 0xc7, 0x0f, 0x5e, 0xe7, 0x3d,
- 0x89, 0x37, 0xf1, 0x4f, 0x7a, 0x8e, 0x8b, 0x8c, 0xd7, 0x03, 0x8b, 0xf6,
- 0x8a, 0xb5, 0x9c, 0xfc, 0xef, 0xd9, 0xab, 0xbd, 0xdd, 0xf8, 0x13, 0x08,
- 0xb0, 0x12, 0xf5, 0xe2, 0x2b, 0x17, 0xbb, 0x5b, 0xf7, 0x7c, 0x3e, 0xe5,
- 0xa7, 0xa5, 0xb0, 0x37, 0xaa, 0xac, 0xbd, 0xea, 0x8d, 0xe9, 0x32, 0xa4,
- 0xff, 0xbf, 0xa2, 0x1f, 0x08, 0x2e, 0xc9, 0xb3, 0xf5, 0x72, 0x3c, 0xcf,
- 0x5b, 0x1d, 0xde, 0xa1, 0x01, 0x7e, 0x49, 0x03, 0xfe, 0x3e, 0xb3, 0xbb,
- 0x23, 0x23, 0x2d, 0x8c, 0xd5, 0xb4, 0xcd, 0xab, 0xb2, 0x1c, 0xa7, 0xd5,
- 0xa6, 0x44, 0x5e, 0xb4, 0x9f, 0x9b, 0x7b, 0xfb, 0x4f, 0x9e, 0x3e, 0xdb,
- 0x1c, 0x8a, 0x4a, 0x85, 0xd3, 0xdc, 0xf8, 0x3c, 0x24, 0xdc, 0x84, 0x65,
- 0xd0, 0x60, 0x10, 0x35, 0x32, 0xf7, 0x63, 0x71, 0x50, 0x12, 0x38, 0xf4,
- 0xb9, 0x57, 0xfc, 0xb5, 0x7f, 0xa5, 0xef, 0xbc, 0xc2, 0x27, 0xfe, 0x35,
- 0x9f, 0xbe, 0xb2, 0x23, 0xfc, 0x57, 0x1a, 0xcb, 0x2b, 0x19, 0x84, 0x59,
- 0x57, 0xcd, 0x2e, 0xac, 0xb7, 0x37, 0xa2, 0x22, 0x28, 0xba, 0xb8, 0xba,
- 0x88, 0x1b, 0x18, 0x34, 0xc0, 0x06, 0x83, 0x29, 0x07, 0x2a, 0xa0, 0x58,
- 0xba, 0xdc, 0xba, 0x9d, 0x4f, 0x03, 0xd3, 0xca, 0x80, 0x5a, 0x19, 0x38,
- 0xd9, 0x0a, 0xc6, 0xcc, 0x01, 0x2d, 0x44, 0x5f, 0x92, 0x2b, 0x67, 0x70,
- 0x88, 0xc8, 0xad, 0x5d, 0x96, 0x88, 0xd7, 0x1f, 0x7d, 0x7d, 0xb2, 0x29,
- 0x18, 0x19, 0xb6, 0xe8, 0xfa, 0x31, 0x57, 0xb2, 0x45, 0x03, 0x4e, 0xd2,
- 0x05, 0x9d, 0xfe, 0x8d, 0x44, 0xa8, 0x81, 0x53, 0x82, 0x7c, 0xd0, 0x77,
- 0x39, 0x0f, 0xda, 0x7c, 0x4c, 0x2e, 0x88, 0x19, 0x39, 0xa7, 0x2b, 0x26,
- 0xf3, 0xf4, 0x9a, 0x31, 0xf3, 0x52, 0x0b, 0xf6, 0x03, 0xe1, 0x99, 0x85,
- 0x4d, 0xa4, 0x1c, 0xbc, 0xb1, 0xf1, 0x49, 0x9b, 0xb8, 0x27, 0x8f, 0x9a,
- 0x5f, 0xb1, 0x3c, 0x51, 0x11, 0xd1, 0x1b, 0x6a, 0xe9, 0x76, 0xde, 0x09,
- 0xbe, 0xf4, 0x40, 0x32, 0xff, 0x38, 0x93, 0xf4, 0x4b, 0xf6, 0x70, 0xb0,
- 0x0e, 0x47, 0xf2, 0xf3, 0xa5, 0xad, 0x58, 0xf8, 0x65, 0x02, 0x7a, 0x6f,
- 0x7e, 0x4b, 0x42, 0x84, 0xe2, 0x2b, 0x62, 0xf7, 0x2a, 0x5e, 0x12, 0x4d,
- 0xde, 0x46, 0xab, 0x3c, 0xe0, 0x8c, 0xdc, 0xe1, 0x42, 0x5b, 0x8a, 0x81,
- 0x8e, 0xef, 0xc5, 0x2f, 0x40, 0x2d, 0x6c, 0x7e, 0x81, 0x43, 0xf0, 0x92,
- 0x96, 0x01, 0xbf, 0xfe, 0x72, 0x73, 0xc3, 0x96, 0xec, 0xb2, 0x4a, 0x76,
- 0x27, 0xd6, 0xcb, 0x1b, 0xd4, 0x1f, 0x8f, 0xc7, 0x97, 0xc0, 0x8a, 0x13,
- 0xb1, 0xb3, 0xa0, 0x2e, 0x87, 0x51, 0x7c, 0x66, 0x94, 0x71, 0xdf, 0xf2,
- 0x25, 0x73, 0xe3, 0x19, 0x65, 0x2d, 0x90, 0xa2, 0xb7, 0x49, 0xc0, 0x52,
- 0xbc, 0xb7, 0x69, 0x39, 0x6a, 0xe1, 0xde, 0x84, 0xc0, 0xab, 0x32, 0xad,
- 0xc3, 0xbb, 0x21, 0x5c, 0x68, 0x4e, 0xf1, 0xf6, 0x07, 0x56, 0x7b, 0xf7,
- 0xbc, 0x4b, 0x5f, 0x64, 0xca, 0xa2, 0xe0, 0x88, 0xbc, 0xa1, 0xbc, 0x60,
- 0xf9, 0xe8, 0x2b, 0x9a, 0xee, 0xbd, 0xe1, 0x75, 0x7e, 0xc5, 0x93, 0x61,
- 0x44, 0xe4, 0x75, 0xb6, 0x63, 0xfe, 0xd9, 0x37, 0x3f, 0xdf, 0x27, 0x05,
- 0x8a, 0xfe, 0xf2, 0x04, 0xd0, 0x29, 0xff, 0x9a, 0xf6, 0xce, 0x86, 0x3d,
- 0x17, 0xf4, 0x97, 0xdc, 0x5e, 0xcf, 0x12, 0x80, 0x91, 0x5e, 0x62, 0x9b,
- 0xd3, 0x00, 0x91, 0x34, 0xa7, 0x5a, 0xa1, 0x8f, 0xff, 0x20, 0x9b, 0x88,
- 0xac, 0xc7, 0x25, 0x65, 0xab, 0x58, 0x9c, 0x87, 0x60, 0x1e, 0x44, 0xa7,
- 0x26, 0x15, 0x39, 0x17, 0x4f, 0x0a, 0x65, 0xf7, 0xe0, 0x66, 0xcd, 0xee,
- 0xb6, 0xfb, 0x3e, 0x28, 0xd6, 0x88, 0xf7, 0x5b, 0xca, 0x95, 0x27, 0x42,
- 0x11, 0xab, 0x7e, 0xe2, 0xf3, 0x5b, 0x52, 0xde, 0xd2, 0x4b, 0x21, 0xc6,
- 0x32, 0xe7, 0xdd, 0x15, 0x6c, 0x97, 0x88, 0x64, 0xcc, 0x5d, 0x5e, 0x37,
- 0xdb, 0xf4, 0x99, 0x6c, 0xc6, 0xb4, 0x69, 0x52, 0x1b, 0x56, 0xbf, 0xaa,
- 0x84, 0x69, 0xf8, 0xd0, 0xa6, 0x7f, 0xf6, 0xcb, 0x49, 0x93, 0x19, 0xb3,
- 0x14, 0xc9, 0x06, 0x2c, 0xe7, 0x8e, 0xe7, 0x4c, 0x0d, 0x8d, 0x2d, 0x3c,
- 0x1b, 0xf0, 0xed, 0x29, 0xda, 0xcb, 0xe0, 0xcd, 0x30, 0x39, 0x05, 0xb8,
- 0xbb, 0x4e, 0x99, 0x9e, 0x47, 0x6f, 0x58, 0xdd, 0x0d, 0x66, 0xeb, 0xd4,
- 0x4a, 0xd9, 0x49, 0xef, 0x11, 0xd1, 0x85, 0x6e, 0x29, 0x14, 0x7b, 0x74,
- 0xf6, 0x21, 0xeb, 0x17, 0xa2, 0x8f, 0xf4, 0xe1, 0xb6, 0xb6, 0xcf, 0xc1,
- 0x3d, 0xcf, 0x2e, 0x3a, 0xa4, 0x75, 0xd9, 0x0d, 0xeb, 0x35, 0xc2, 0xf8,
- 0x2a, 0xd1, 0x15, 0x3d, 0xb1, 0x6e, 0x0f, 0x01, 0xa3, 0x1f, 0x33, 0xf6,
- 0x8f, 0x10, 0xdf, 0x02, 0x71, 0x04, 0x21, 0x7c, 0x6b, 0x5a, 0xc3, 0x2e,
- 0xa3, 0xc2, 0x9d, 0xb4, 0x8d, 0x7a, 0x30, 0xf1, 0x66, 0x99, 0xb5, 0x83,
- 0x79, 0xad, 0x4a, 0x8b, 0x0c, 0x87, 0xdb, 0x84, 0xd5, 0x0d, 0x17, 0x59,
- 0xa3, 0x4e, 0x52, 0xbf, 0xd2, 0x5b, 0xf3, 0x17, 0xf2, 0x1c, 0x8e, 0x2b,
- 0xb3, 0xea, 0x59, 0xc5, 0x57, 0x03, 0xc3, 0x79, 0xbc, 0x2a, 0xa6, 0xdf,
- 0x5c, 0xbe, 0x3d, 0x4d, 0x94, 0xe6, 0xe8, 0xca, 0x69, 0x75, 0x0a, 0xa2,
- 0xc4, 0x10, 0xc5, 0x89, 0xc1, 0xfa, 0x90, 0x3c, 0xc5, 0xb7, 0x1c, 0xcf,
- 0x2d, 0xe5, 0xbf, 0x27, 0x34, 0x39, 0xad, 0x23, 0xeb, 0x3d, 0xc1, 0xaf,
- 0xd2, 0x3e, 0x32, 0xdb, 0x64, 0x93, 0xa6, 0x60, 0xb3, 0x9f, 0x6c, 0x52,
- 0x57, 0xe9, 0x17, 0x9b, 0x98, 0x4f, 0xfc, 0xd8, 0x9b, 0xbe, 0xcd, 0x61,
- 0xe4, 0x14, 0xd2, 0x33, 0xaf, 0xfe, 0xdc, 0x9a, 0x25, 0xfc, 0x5c, 0x9b,
- 0x7a, 0xc5, 0xa9, 0x1d, 0x81, 0x7a, 0xac, 0xef, 0x7a, 0xed, 0xbf, 0x3a,
- 0x32, 0xad, 0x70, 0x95, 0x54, 0x87, 0x48, 0x9d, 0xd8, 0x9f, 0xe5, 0x48,
- 0x85, 0x0d, 0x1a, 0x7a, 0xf8, 0x14, 0x5f, 0xaa, 0x28, 0xb2, 0x68, 0x4d,
- 0x96, 0x6e, 0xbc, 0x05, 0x54, 0xf2, 0x9a, 0xd5, 0xcc, 0xd9, 0x44, 0xbb,
- 0x2b, 0xe1, 0x10, 0x80, 0xcc, 0xd9, 0x1b, 0x22, 0x37, 0xd2, 0x71, 0xd4,
- 0xdb, 0x06, 0xac, 0x9d, 0xdd, 0xc3, 0x84, 0xf6, 0x2c, 0x80, 0x56, 0xad,
- 0x6f, 0x9d, 0xe5, 0x98, 0xec, 0x5a, 0xe4, 0x13, 0xca, 0xae, 0x31, 0xa2,
- 0x6b, 0x5a, 0x5e, 0x93, 0xe4, 0xea, 0x9b, 0x83, 0x46, 0x7f, 0x02, 0x3b,
- 0xbc, 0x2f, 0x1f, 0xe5, 0x0e, 0xe3, 0xac, 0x70, 0xa8, 0x45, 0xff, 0xbd,
- 0x02, 0x4d, 0xfa, 0x86, 0xbc, 0x96, 0x13, 0x69, 0xdb, 0x36, 0xcd, 0xeb,
+ 0x6b, 0x7b, 0xdc, 0x46, 0x92, 0x26, 0x80, 0x7e, 0xe7, 0xaf, 0x40, 0xb3,
+ 0x4f, 0x0f, 0xc9, 0xee, 0xaa, 0xe2, 0x45, 0x17, 0x4b, 0xb4, 0xe4, 0x31,
+ 0x4d, 0x51, 0x36, 0xc7, 0x94, 0xc8, 0x65, 0x51, 0xb6, 0x7b, 0x6d, 0x3f,
+ 0x7a, 0x50, 0x55, 0x20, 0x89, 0x56, 0x15, 0x50, 0x0d, 0xa0, 0x78, 0xe9,
+ 0xd9, 0xd9, 0xdf, 0x7e, 0x32, 0xde, 0x88, 0xc8, 0x4c, 0x20, 0xb3, 0x8a,
+ 0xb4, 0xdb, 0xee, 0x9d, 0x73, 0x76, 0x67, 0xb7, 0x2d, 0x89, 0x04, 0x12,
+ 0x79, 0x8d, 0x8c, 0xcb, 0x1b, 0x6f, 0x24, 0xc9, 0x43, 0xff, 0xf7, 0x11,
+ 0xff, 0xfb, 0x68, 0xfe, 0xcf, 0xfc, 0xb9, 0x96, 0x24, 0x67, 0x55, 0xf9,
+ 0xb7, 0x6c, 0xdc, 0xc4, 0x9f, 0xfd, 0xf8, 0xf1, 0x7f, 0x25, 0xfc, 0xff,
+ 0xcc, 0x3b, 0x3f, 0x99, 0x3f, 0xd7, 0x56, 0xb6, 0xbd, 0x9d, 0xb8, 0x17,
+ 0xfe, 0xd7, 0xc7, 0xad, 0xe4, 0xa1, 0x17, 0xfe, 0x57, 0xb2, 0x89, 0x17,
+ 0x3e, 0xca, 0x17, 0x5e, 0xd1, 0xdf, 0x3f, 0x7e, 0x5c, 0xfd, 0x91, 0x9f,
+ 0xa8, 0x57, 0xf4, 0x9f, 0x6d, 0x7a, 0xef, 0xa7, 0x8f, 0xf4, 0x57, 0xf3,
+ 0x93, 0xb5, 0xb5, 0xf7, 0x07, 0xef, 0x8e, 0xf4, 0xd5, 0xf1, 0xa2, 0x9a,
+ 0x26, 0xfd, 0xa4, 0xa9, 0xd2, 0xa2, 0xbe, 0xcc, 0xaa, 0x24, 0x4d, 0x3e,
+ 0x9c, 0x9f, 0xac, 0xad, 0x0d, 0xff, 0xfa, 0xfe, 0xf4, 0x6c, 0x78, 0x3c,
+ 0x6c, 0x3d, 0xf6, 0x63, 0x39, 0x6f, 0xf2, 0xb2, 0xa8, 0x4d, 0xf7, 0xcd,
+ 0x43, 0xf5, 0xcf, 0x6b, 0x6b, 0x6f, 0x8e, 0x86, 0x87, 0xe7, 0xc7, 0x67,
+ 0x17, 0xc7, 0xa7, 0xef, 0x5b, 0x4f, 0x26, 0x79, 0x9d, 0x98, 0xa6, 0x9a,
+ 0xb2, 0x9c, 0x9a, 0xff, 0xb8, 0xd6, 0x27, 0x69, 0x93, 0x26, 0x97, 0x55,
+ 0x39, 0x4b, 0xca, 0x8a, 0x7e, 0x91, 0x26, 0x75, 0x56, 0xdd, 0x64, 0x55,
+ 0x2f, 0x59, 0xd4, 0x79, 0x71, 0x95, 0x94, 0x45, 0x96, 0x94, 0x97, 0x49,
+ 0x73, 0x9d, 0x69, 0x73, 0xf5, 0x62, 0x3e, 0x2f, 0xab, 0x26, 0x9b, 0x24,
+ 0xf3, 0xaa, 0x6c, 0xca, 0x71, 0x39, 0xad, 0x93, 0xcd, 0x37, 0xc7, 0x87,
+ 0x17, 0xbd, 0xe4, 0xed, 0xf1, 0xc9, 0x91, 0xf9, 0xef, 0xc5, 0x19, 0xfe,
+ 0x33, 0xec, 0x25, 0x5f, 0x9f, 0x9e, 0x7d, 0x73, 0x74, 0xde, 0x4b, 0xbe,
+ 0xb9, 0xa0, 0x9f, 0xd1, 0x7f, 0xcd, 0x0f, 0x93, 0xe3, 0x77, 0x07, 0x67,
+ 0x3d, 0x6d, 0x8e, 0xfe, 0x41, 0x3f, 0x3c, 0x79, 0x63, 0x7e, 0xc8, 0x7f,
+ 0xd0, 0x3f, 0xcf, 0x4e, 0xcf, 0x9e, 0xc8, 0x1f, 0xf4, 0xcf, 0xf3, 0x8b,
+ 0x77, 0xe6, 0xb7, 0xe7, 0x17, 0x43, 0xf3, 0xdf, 0xe1, 0x21, 0xfd, 0x07,
+ 0x5f, 0x19, 0xbe, 0xfb, 0x0a, 0xff, 0x19, 0xda, 0xe6, 0x86, 0xef, 0xf8,
+ 0xe7, 0xf8, 0xd2, 0xc5, 0xd1, 0xc9, 0xfb, 0xa3, 0x8b, 0x24, 0x2d, 0x26,
+ 0xc9, 0x85, 0x79, 0x7e, 0x6b, 0x90, 0x5c, 0x5c, 0x67, 0xc9, 0xb8, 0x9c,
+ 0xcd, 0xe8, 0x47, 0x66, 0x46, 0x26, 0x59, 0x9d, 0x5f, 0x15, 0x66, 0x28,
+ 0x66, 0xe4, 0xb7, 0x65, 0xf5, 0x29, 0x49, 0x6e, 0xf3, 0xe6, 0xba, 0x5c,
+ 0x34, 0xda, 0xdc, 0xc2, 0xcc, 0x46, 0x92, 0x17, 0x4d, 0x56, 0xa5, 0x63,
+ 0x9a, 0xe9, 0xc1, 0x5a, 0x6b, 0x56, 0xcb, 0x4b, 0x33, 0x87, 0xb5, 0x99,
+ 0xb4, 0xd1, 0xa2, 0x9e, 0x96, 0xe9, 0x84, 0xa6, 0xca, 0xbc, 0x72, 0xb9,
+ 0x30, 0x93, 0x5c, 0xe5, 0xe3, 0x4f, 0x75, 0x32, 0xcd, 0x3f, 0x65, 0x34,
+ 0x51, 0x77, 0xf7, 0x3a, 0x71, 0x3d, 0x6e, 0x34, 0x5d, 0x98, 0x39, 0x2d,
+ 0xfa, 0xda, 0x5c, 0x93, 0x8f, 0x53, 0xfa, 0x00, 0x66, 0x2e, 0x59, 0xcc,
+ 0xa9, 0x35, 0x9e, 0xb1, 0x64, 0x5e, 0xd6, 0xe6, 0xa5, 0xe1, 0xf0, 0xc4,
+ 0xf4, 0xbc, 0x28, 0x32, 0xf4, 0xa3, 0xee, 0x99, 0x7f, 0x94, 0x9f, 0xf2,
+ 0xcc, 0xfc, 0xe5, 0x32, 0x9f, 0x66, 0x09, 0xaf, 0xa8, 0x6d, 0x8e, 0x96,
+ 0x36, 0xa9, 0xb2, 0x7a, 0x31, 0xcb, 0xcc, 0xec, 0xbd, 0xcb, 0x9a, 0x74,
+ 0x9a, 0x17, 0x9f, 0xcc, 0x5f, 0x69, 0xe0, 0xb3, 0xb2, 0xca, 0x06, 0xc9,
+ 0x41, 0x9d, 0xdc, 0x97, 0x0b, 0x33, 0xe0, 0xe9, 0xd4, 0xac, 0x79, 0x96,
+ 0x8c, 0xb2, 0x69, 0x79, 0xdb, 0xa3, 0x95, 0x4e, 0x8a, 0xc5, 0x6c, 0x64,
+ 0x1a, 0x28, 0x2f, 0x5d, 0x73, 0x69, 0xb3, 0x30, 0xcd, 0xf1, 0xd3, 0xb3,
+ 0xd4, 0x8c, 0xc9, 0xbc, 0x5b, 0x25, 0xd7, 0x99, 0x19, 0x73, 0x3d, 0xcf,
+ 0x8b, 0x3f, 0xb4, 0xe7, 0xc5, 0x4c, 0xed, 0xbc, 0xbc, 0xcd, 0x2a, 0x33,
+ 0xb3, 0xa3, 0xfb, 0xc4, 0x4c, 0xc2, 0x88, 0x37, 0xe1, 0xa5, 0xd9, 0x64,
+ 0x49, 0x6a, 0x9a, 0xb0, 0x1b, 0xb0, 0x5f, 0x65, 0xd3, 0x94, 0x36, 0x93,
+ 0xfd, 0xc6, 0xc0, 0x2c, 0x62, 0x66, 0x77, 0x9b, 0xbc, 0xba, 0xf9, 0x64,
+ 0x0b, 0x2f, 0x4f, 0xcc, 0x48, 0xf2, 0x69, 0x6d, 0x96, 0x81, 0x0e, 0x85,
+ 0x3c, 0x43, 0x8b, 0x4a, 0xfb, 0xdf, 0xec, 0xcd, 0xfb, 0xa2, 0x49, 0xef,
+ 0xf0, 0x79, 0xd9, 0x9b, 0xfd, 0x49, 0x36, 0xcf, 0x8a, 0x49, 0x56, 0x34,
+ 0x83, 0xe4, 0xaf, 0xe5, 0x62, 0xc3, 0x7c, 0xfb, 0x32, 0x37, 0x73, 0x90,
+ 0x4a, 0x53, 0xe6, 0xcb, 0x66, 0x13, 0x8c, 0xab, 0x7c, 0xee, 0x2d, 0x45,
+ 0x59, 0x98, 0x35, 0x4f, 0xce, 0xdf, 0x1e, 0x26, 0x4f, 0x5e, 0xbe, 0x78,
+ 0xee, 0xd6, 0xdc, 0x34, 0x90, 0x8c, 0xd3, 0xc2, 0x8c, 0x38, 0x1b, 0xe7,
+ 0x97, 0xf7, 0xc9, 0x6c, 0x31, 0x6d, 0xf2, 0xb9, 0x99, 0x7d, 0x3a, 0x7c,
+ 0x74, 0x80, 0xe6, 0x69, 0xd5, 0xd4, 0xb4, 0x09, 0xf0, 0x03, 0x8c, 0xfd,
+ 0xb6, 0xca, 0x1b, 0x3a, 0x48, 0xf8, 0x9d, 0xe9, 0x61, 0xd6, 0xd4, 0xda,
+ 0x1c, 0xed, 0x35, 0xf3, 0x9d, 0x91, 0xd9, 0x5b, 0x66, 0x6a, 0xd3, 0xda,
+ 0x7c, 0x74, 0x7f, 0xcd, 0x49, 0x90, 0xeb, 0xa6, 0x99, 0xef, 0x6f, 0x6f,
+ 0xd7, 0x79, 0x93, 0x0d, 0xfe, 0xd3, 0x9c, 0xc3, 0x5e, 0x73, 0x5b, 0xf6,
+ 0x9a, 0xeb, 0x2a, 0xcb, 0xfe, 0x6b, 0x60, 0xf6, 0xb0, 0x7d, 0xd2, 0x7c,
+ 0xf7, 0x5e, 0x3a, 0x76, 0x95, 0x35, 0xe6, 0x0b, 0x7f, 0x5f, 0x64, 0x05,
+ 0xb5, 0x68, 0xfa, 0x91, 0x4e, 0xe7, 0xd7, 0xa9, 0x59, 0xce, 0xcc, 0xec,
+ 0x46, 0x3a, 0xd9, 0x66, 0xc3, 0x50, 0xaf, 0xf8, 0x6c, 0xff, 0xf8, 0x73,
+ 0xf8, 0xd1, 0x4b, 0x7c, 0xd3, 0xfc, 0x77, 0x90, 0xdd, 0xa5, 0x33, 0x33,
+ 0x36, 0xfa, 0xd4, 0x36, 0x6d, 0xb1, 0x1f, 0x77, 0xfb, 0xbb, 0x3b, 0x3b,
+ 0x3f, 0x0f, 0x9a, 0xbb, 0xe6, 0x71, 0xcf, 0xef, 0xec, 0xb8, 0x37, 0xe8,
+ 0xd1, 0x4d, 0x1a, 0x6f, 0x32, 0x35, 0x5b, 0x86, 0x3e, 0xfe, 0x8f, 0xac,
+ 0x2a, 0xeb, 0xad, 0xc7, 0xb5, 0x94, 0xf6, 0xff, 0xd1, 0xfe, 0xee, 0xfb,
+ 0xac, 0xc6, 0x9e, 0x71, 0x63, 0x4d, 0xd2, 0xca, 0xec, 0xdb, 0xb2, 0x71,
+ 0xe2, 0xa9, 0x67, 0x0e, 0x65, 0x63, 0x67, 0xc6, 0x9c, 0x39, 0xf3, 0xb4,
+ 0x11, 0x6c, 0xe9, 0x94, 0x64, 0x5a, 0x9d, 0x14, 0xd9, 0x9d, 0x3d, 0xe5,
+ 0xe6, 0xf4, 0x67, 0xe9, 0xf8, 0x3a, 0x29, 0xcd, 0xe6, 0xaf, 0x22, 0x4b,
+ 0xe0, 0x77, 0x28, 0xad, 0xc6, 0xd7, 0xf9, 0x8d, 0x99, 0x8d, 0x97, 0x2f,
+ 0x9f, 0xf7, 0xcd, 0x7f, 0x5e, 0xfe, 0xbc, 0x7d, 0x53, 0x4e, 0xcd, 0xe4,
+ 0x3c, 0xfd, 0x79, 0x9b, 0x96, 0xf8, 0x3f, 0xd3, 0xde, 0xa8, 0x37, 0xfe,
+ 0xaf, 0xc1, 0x75, 0x33, 0x9b, 0x2e, 0xdd, 0x38, 0x69, 0x61, 0xfe, 0x37,
+ 0x2b, 0x17, 0x45, 0x63, 0x37, 0x8b, 0xd9, 0x73, 0x8d, 0x27, 0x9c, 0xcc,
+ 0x71, 0x35, 0x67, 0x94, 0xb6, 0x36, 0xed, 0x21, 0x3a, 0x75, 0xe6, 0x80,
+ 0xba, 0xe3, 0xd8, 0x8c, 0xaf, 0x69, 0xfc, 0x66, 0xf7, 0xa4, 0x32, 0x09,
+ 0x4d, 0x9e, 0xd2, 0xc9, 0x34, 0x02, 0x82, 0x04, 0x16, 0xda, 0xe2, 0xaf,
+ 0xe5, 0xe6, 0xc1, 0xb2, 0x9a, 0x64, 0xd5, 0xa0, 0xdb, 0x0d, 0x7b, 0x64,
+ 0xbd, 0x6f, 0x26, 0x7a, 0xa3, 0xd0, 0x0f, 0xd0, 0xb1, 0x59, 0x7e, 0x67,
+ 0x5a, 0x80, 0xc0, 0x2c, 0xd0, 0x71, 0x6e, 0x2d, 0xa1, 0x1e, 0xe3, 0x33,
+ 0xfa, 0xbe, 0x3b, 0xb2, 0xa6, 0xeb, 0xad, 0xa1, 0xe3, 0xa3, 0x6e, 0xf0,
+ 0x89, 0x59, 0xbc, 0xb9, 0x79, 0x6b, 0x41, 0x72, 0x15, 0xc7, 0x9a, 0x9a,
+ 0x31, 0x02, 0xe1, 0xca, 0xac, 0x8b, 0x59, 0x0b, 0xda, 0xc5, 0xb4, 0x54,
+ 0xf7, 0xc9, 0x7b, 0xb3, 0x61, 0x58, 0x18, 0x79, 0x9b, 0x7d, 0x9a, 0x35,
+ 0xcd, 0x83, 0xcb, 0xe4, 0x76, 0xec, 0xfe, 0x6e, 0xb0, 0x69, 0x97, 0x3d,
+ 0x6f, 0xf6, 0xd9, 0xfe, 0x5e, 0xfb, 0xe1, 0xef, 0x8d, 0x90, 0x76, 0xc7,
+ 0xc5, 0x7c, 0xfd, 0x3f, 0xff, 0xcb, 0xdb, 0x75, 0xb7, 0xf4, 0xdb, 0xbc,
+ 0xb8, 0x29, 0x3f, 0x99, 0x29, 0xc2, 0x2d, 0x9a, 0xb6, 0x67, 0x93, 0xe4,
+ 0xd0, 0x6c, 0xde, 0xd8, 0xeb, 0x89, 0xb6, 0xa3, 0xf9, 0xd1, 0x28, 0x1d,
+ 0x4d, 0xef, 0x93, 0xeb, 0xf4, 0x26, 0xa3, 0xf1, 0xce, 0xcd, 0x3e, 0xa5,
+ 0x19, 0x30, 0xd7, 0xc6, 0x14, 0x72, 0x4c, 0x04, 0xc3, 0xa4, 0x5c, 0x8c,
+ 0x8c, 0x70, 0xf9, 0xfb, 0xa2, 0x6c, 0x78, 0x62, 0xd2, 0x9b, 0x32, 0x9f,
+ 0xb4, 0xee, 0xe2, 0xeb, 0x8c, 0x04, 0x1a, 0x7d, 0x18, 0x97, 0x94, 0x11,
+ 0xa8, 0xd4, 0x53, 0x1c, 0xb4, 0xbc, 0xa1, 0xeb, 0xce, 0x88, 0xc2, 0x74,
+ 0x5a, 0x97, 0x49, 0x72, 0x55, 0xd2, 0x29, 0x81, 0x00, 0xc6, 0x36, 0x37,
+ 0x8b, 0x72, 0x9d, 0xd2, 0xad, 0x66, 0x2e, 0x30, 0x7b, 0x0e, 0xaa, 0x0c,
+ 0xb2, 0x18, 0x2b, 0x95, 0x4e, 0x7b, 0x7c, 0x7b, 0xd1, 0x3b, 0x32, 0x55,
+ 0xc9, 0xc6, 0xbf, 0x6d, 0xf4, 0x92, 0x8d, 0x7f, 0xdf, 0xc0, 0x7e, 0xd8,
+ 0xf8, 0xf3, 0x86, 0x5b, 0x67, 0xa3, 0x8c, 0xdd, 0xe4, 0x93, 0x8c, 0xb7,
+ 0xc4, 0xf1, 0xd9, 0xcd, 0xf3, 0xe4, 0x1f, 0xa4, 0x3b, 0x18, 0x59, 0x9b,
+ 0xdd, 0xe9, 0x86, 0xd4, 0xb1, 0x99, 0xb7, 0x13, 0x23, 0x74, 0xd3, 0x39,
+ 0x29, 0x11, 0x59, 0x35, 0x36, 0xbb, 0x37, 0xbd, 0x32, 0xfb, 0xd5, 0xdc,
+ 0xc5, 0xda, 0x1c, 0xb5, 0x4f, 0xaf, 0xf0, 0xb0, 0x8c, 0x80, 0x4c, 0x8a,
+ 0x74, 0x66, 0x4e, 0xc4, 0x09, 0xf5, 0x28, 0x2f, 0xc2, 0xc5, 0xfc, 0xf1,
+ 0x32, 0x7b, 0xb1, 0xb3, 0xbf, 0xff, 0xe4, 0x4f, 0x7b, 0xcf, 0xb2, 0xe6,
+ 0x7a, 0xe7, 0xe7, 0x6d, 0xfb, 0xc8, 0xf1, 0x25, 0xa6, 0x5d, 0xb7, 0x9f,
+ 0x76, 0xc2, 0xdc, 0xf2, 0xf6, 0x96, 0x30, 0xef, 0x9b, 0xbf, 0x67, 0x97,
+ 0xf9, 0x5d, 0x4f, 0xf5, 0x25, 0x3e, 0x73, 0xa9, 0xd9, 0x6a, 0x66, 0xfd,
+ 0x48, 0x44, 0x68, 0x73, 0x57, 0x8b, 0xac, 0x36, 0x33, 0x79, 0x7b, 0x9d,
+ 0x36, 0x89, 0x6d, 0x80, 0x57, 0x76, 0x96, 0x5f, 0x5d, 0x37, 0xc9, 0x6d,
+ 0x4a, 0x97, 0xcd, 0x71, 0xc3, 0x4d, 0xd0, 0x2d, 0x6f, 0xae, 0x98, 0xcb,
+ 0xd4, 0xdc, 0x15, 0xb4, 0x86, 0xb8, 0xd2, 0x47, 0x4e, 0xc3, 0x68, 0xcc,
+ 0x36, 0xe7, 0x05, 0x71, 0xea, 0xd4, 0x28, 0xad, 0xe9, 0xd0, 0x16, 0x46,
+ 0x38, 0x34, 0x46, 0x47, 0x58, 0xd0, 0xbf, 0xae, 0x8d, 0x16, 0x80, 0x39,
+ 0x90, 0x8e, 0xe2, 0xa2, 0x7c, 0x4b, 0xcb, 0x49, 0x6b, 0x63, 0x2f, 0x2f,
+ 0xb3, 0x48, 0x3d, 0x59, 0x66, 0xfb, 0x46, 0x6d, 0x0e, 0x9c, 0x91, 0x4c,
+ 0x76, 0x67, 0xac, 0x93, 0x90, 0x5d, 0xe7, 0x71, 0xa2, 0x8f, 0x69, 0x4d,
+ 0x8a, 0x02, 0xab, 0x03, 0xa6, 0xf3, 0xde, 0x60, 0xcd, 0xa4, 0xa5, 0x9f,
+ 0x48, 0x25, 0xe9, 0x28, 0x3e, 0x78, 0x6d, 0x52, 0x9a, 0x4d, 0x66, 0x7a,
+ 0x6b, 0x84, 0x31, 0x8d, 0x8c, 0x44, 0x2c, 0x66, 0x05, 0x9b, 0xdc, 0xb4,
+ 0x49, 0x3f, 0xcc, 0x1b, 0xba, 0x63, 0xa0, 0xc3, 0x9a, 0xfe, 0x9a, 0x49,
+ 0x81, 0x22, 0x6a, 0x04, 0xb5, 0x37, 0x7e, 0x5c, 0x8f, 0xe6, 0xd9, 0xe4,
+ 0xc6, 0x68, 0x29, 0x46, 0x21, 0xcd, 0xec, 0x5b, 0xb8, 0xcf, 0xc7, 0xa4,
+ 0x1b, 0x4d, 0xcd, 0x79, 0x19, 0x97, 0x55, 0x45, 0xfa, 0x3e, 0xad, 0xe0,
+ 0x88, 0x85, 0xe8, 0x2c, 0x33, 0x6a, 0x84, 0x3f, 0x9d, 0x39, 0x5d, 0x68,
+ 0x46, 0xbe, 0x18, 0xbd, 0x04, 0x12, 0xc4, 0xe8, 0x0f, 0x90, 0xf9, 0x18,
+ 0x38, 0x7a, 0x47, 0x6d, 0x8f, 0xc7, 0xd9, 0xbc, 0xa9, 0x63, 0x63, 0xd2,
+ 0x05, 0x37, 0xdd, 0xa9, 0x32, 0x9a, 0x79, 0x5f, 0xe9, 0xc2, 0xbc, 0xda,
+ 0x4b, 0x1f, 0x7a, 0x97, 0xea, 0x31, 0x46, 0x0f, 0xab, 0xed, 0xac, 0x35,
+ 0xd8, 0x1b, 0x46, 0x8c, 0x61, 0xce, 0x67, 0xd4, 0x51, 0x7a, 0xb8, 0xe6,
+ 0x93, 0x0a, 0xd1, 0x4c, 0x0b, 0xc9, 0x9a, 0x36, 0x7f, 0x97, 0xae, 0x2e,
+ 0x33, 0x9f, 0xb6, 0x71, 0xf3, 0x55, 0xbb, 0xa6, 0xf4, 0x79, 0x52, 0xf1,
+ 0xcd, 0x4d, 0x3e, 0xa9, 0xaf, 0x8d, 0xf2, 0x55, 0xcb, 0xc9, 0xce, 0x67,
+ 0x66, 0xcf, 0xdc, 0xd0, 0xfa, 0xce, 0xb3, 0x6c, 0x32, 0x48, 0x4e, 0x2f,
+ 0x49, 0xaa, 0x56, 0xa6, 0xd3, 0x0d, 0x7e, 0x4d, 0xb7, 0x8a, 0x99, 0xb7,
+ 0x09, 0x94, 0x78, 0x7b, 0xb4, 0xb8, 0x2b, 0xde, 0xed, 0x00, 0x49, 0x9e,
+ 0x9a, 0x9f, 0x98, 0xde, 0x4e, 0xdb, 0x57, 0x10, 0xce, 0xa1, 0x91, 0xde,
+ 0xd4, 0xbd, 0x51, 0x96, 0x60, 0x27, 0x8e, 0xb2, 0xe6, 0x36, 0xcb, 0x6c,
+ 0x73, 0x75, 0x66, 0xae, 0x3d, 0x5a, 0x34, 0xd6, 0xfc, 0x20, 0x0c, 0x69,
+ 0x6a, 0xcf, 0xce, 0x4f, 0xbf, 0x3e, 0x3f, 0x1a, 0x0e, 0x93, 0x77, 0x47,
+ 0x17, 0x47, 0xe7, 0xad, 0x99, 0x2e, 0xca, 0x6a, 0x86, 0x15, 0x9d, 0xe4,
+ 0xf5, 0x7c, 0x9a, 0xde, 0xd3, 0x52, 0x9b, 0x91, 0x5c, 0x55, 0x74, 0xb2,
+ 0x66, 0x19, 0xdd, 0x0a, 0x93, 0x05, 0x24, 0x99, 0xb9, 0x8e, 0xcc, 0xf2,
+ 0x89, 0xc6, 0x4b, 0xc2, 0x04, 0x6a, 0x72, 0x71, 0xe5, 0x66, 0xda, 0x48,
+ 0x1c, 0xb9, 0x49, 0xe9, 0x2a, 0xb5, 0xeb, 0x41, 0xaa, 0x27, 0x8c, 0x9b,
+ 0x9e, 0xfb, 0x19, 0x4f, 0x13, 0x5f, 0x6d, 0x66, 0xcf, 0xe6, 0x33, 0x08,
+ 0x3b, 0xf3, 0xa7, 0xd3, 0x36, 0xb3, 0x4b, 0xa3, 0x6a, 0x9b, 0xdb, 0x95,
+ 0x2d, 0x85, 0x6e, 0x9f, 0xb4, 0xb7, 0x56, 0x3f, 0x36, 0xdb, 0x90, 0x44,
+ 0x33, 0x35, 0xc8, 0x5d, 0xe1, 0x2f, 0x58, 0x21, 0x66, 0x74, 0x12, 0x92,
+ 0x7d, 0xf2, 0xd8, 0x9c, 0xba, 0x90, 0x99, 0x95, 0x9d, 0x70, 0xf3, 0xf5,
+ 0xe2, 0x12, 0x07, 0x39, 0xd9, 0x34, 0x9a, 0xf9, 0x3b, 0x63, 0x2d, 0x19,
+ 0x8b, 0xa5, 0x97, 0x9c, 0x6d, 0xe1, 0xbd, 0xdd, 0x9d, 0xbd, 0xa7, 0x2c,
+ 0x08, 0x06, 0xda, 0xdc, 0x5b, 0x4f, 0x10, 0xef, 0x7e, 0xa2, 0xe5, 0xe5,
+ 0x87, 0xa8, 0xf1, 0x41, 0xb2, 0xfb, 0x8e, 0x7f, 0xf2, 0xf4, 0xc5, 0xb3,
+ 0xcf, 0x9e, 0xcb, 0x0f, 0xdb, 0x1b, 0xdc, 0xf6, 0x1f, 0xbb, 0x03, 0x96,
+ 0x1f, 0x99, 0x82, 0xa6, 0x27, 0x66, 0x74, 0xb3, 0xbc, 0x30, 0xc7, 0xc4,
+ 0x1c, 0x2b, 0x91, 0x55, 0xb4, 0x9f, 0x4d, 0xe7, 0x2f, 0x59, 0xb2, 0xc9,
+ 0xba, 0xb6, 0x4d, 0x4a, 0xf3, 0xb2, 0xd9, 0xb2, 0x46, 0x96, 0xdb, 0x45,
+ 0x62, 0x35, 0xa1, 0xa1, 0x8e, 0xa4, 0x23, 0x12, 0xb0, 0x64, 0x57, 0x19,
+ 0x05, 0x38, 0x8b, 0x7e, 0xcd, 0xde, 0x8a, 0xe6, 0x0d, 0xd3, 0x37, 0x73,
+ 0x27, 0xd2, 0x35, 0x17, 0xce, 0xbb, 0x11, 0x05, 0x90, 0x90, 0xb7, 0x79,
+ 0x0d, 0xd1, 0x70, 0x5b, 0x2e, 0xa6, 0xc6, 0x8a, 0xa1, 0x07, 0x16, 0x73,
+ 0xbc, 0x60, 0x3e, 0x35, 0x77, 0x32, 0xc0, 0x68, 0x2c, 0xb4, 0x77, 0xba,
+ 0xad, 0x98, 0xae, 0x99, 0x7f, 0xce, 0xcd, 0x56, 0xe2, 0xee, 0x0c, 0xba,
+ 0x37, 0x04, 0x64, 0x5f, 0xb0, 0x13, 0xe9, 0xcc, 0x43, 0x68, 0x9f, 0x9d,
+ 0x0e, 0x2f, 0x48, 0x03, 0x38, 0xfb, 0x70, 0x61, 0x1a, 0x32, 0x2a, 0x40,
+ 0xdd, 0x98, 0x4d, 0x49, 0x2f, 0x16, 0x19, 0x4c, 0x48, 0x6d, 0xce, 0xec,
+ 0xbd, 0x1c, 0x82, 0x0a, 0x6a, 0x8d, 0x7e, 0x92, 0xfb, 0xc8, 0x36, 0x36,
+ 0x1d, 0x41, 0xb5, 0xb0, 0xf9, 0x0e, 0xb7, 0xef, 0x24, 0x9b, 0x5f, 0x6c,
+ 0x99, 0x3d, 0xdb, 0x2f, 0xed, 0xec, 0xf4, 0xfb, 0xf2, 0xaa, 0xf9, 0x76,
+ 0x9d, 0xcf, 0xf2, 0x69, 0x5a, 0x79, 0x5d, 0x67, 0x89, 0x4a, 0xe7, 0xd3,
+ 0xca, 0x95, 0xb1, 0xd9, 0x35, 0xe8, 0xb6, 0x33, 0x25, 0x69, 0x0e, 0x21,
+ 0x95, 0xdc, 0x52, 0x4d, 0x48, 0x21, 0x80, 0xc6, 0x3c, 0xcf, 0xed, 0xd4,
+ 0xd1, 0x9a, 0x91, 0xb8, 0x6a, 0x4d, 0x54, 0x77, 0xdd, 0x82, 0x89, 0xa3,
+ 0x1b, 0x09, 0x9e, 0x0a, 0x3b, 0x75, 0xc9, 0xfa, 0x28, 0xad, 0xd6, 0x13,
+ 0x2b, 0x8b, 0xf9, 0x6c, 0xd2, 0x09, 0xa9, 0xb2, 0xab, 0x85, 0x19, 0x41,
+ 0xc2, 0xb3, 0x4b, 0x23, 0xfd, 0xa3, 0x37, 0x52, 0x6d, 0xa0, 0x3f, 0xa2,
+ 0x47, 0xf2, 0x9a, 0xcd, 0xcc, 0x4b, 0x63, 0xb7, 0xd0, 0xa1, 0x51, 0xfd,
+ 0x15, 0x1a, 0x8d, 0xec, 0x98, 0xc8, 0x86, 0xf1, 0xf4, 0x5a, 0x73, 0x54,
+ 0x9a, 0xcc, 0x08, 0x1a, 0x88, 0x7f, 0x7a, 0xb2, 0x6f, 0x96, 0xac, 0xdf,
+ 0xaf, 0xcd, 0xfc, 0x93, 0xee, 0x3d, 0x17, 0x9b, 0xfe, 0x14, 0x0e, 0x13,
+ 0xeb, 0x5b, 0x39, 0x15, 0x1d, 0x18, 0xd7, 0x26, 0xbf, 0x0b, 0x11, 0x6a,
+ 0x14, 0xd5, 0x5b, 0xf3, 0xe1, 0xd4, 0x2c, 0x99, 0x39, 0x70, 0xef, 0x68,
+ 0xa2, 0xd8, 0x37, 0x92, 0x58, 0xb5, 0x19, 0x3b, 0x23, 0xa7, 0x73, 0x9f,
+ 0x3a, 0x5d, 0x66, 0x32, 0xc9, 0xe9, 0xb7, 0xe6, 0x7c, 0x99, 0x1b, 0x6e,
+ 0x91, 0xc1, 0xf6, 0x90, 0x49, 0x9d, 0xb9, 0xc9, 0x84, 0x19, 0x5b, 0x5f,
+ 0x97, 0x64, 0x26, 0xae, 0xb3, 0x2c, 0xee, 0xd3, 0xb7, 0xd6, 0x71, 0x9f,
+ 0xcf, 0x12, 0xfd, 0x96, 0x7c, 0xca, 0x8c, 0x63, 0xe2, 0xeb, 0x66, 0x3d,
+ 0x73, 0xd1, 0xdc, 0x7b, 0x46, 0x02, 0x64, 0x35, 0xf7, 0xbd, 0xb2, 0x0a,
+ 0x8f, 0xb9, 0x52, 0xe7, 0xa4, 0x4c, 0x89, 0x0c, 0xc7, 0x65, 0x88, 0x23,
+ 0x5b, 0x73, 0xd7, 0x7a, 0x66, 0x6e, 0xe9, 0xc9, 0xab, 0x6b, 0x7d, 0xd4,
+ 0xbb, 0x58, 0x53, 0x33, 0x38, 0xba, 0x1c, 0xc8, 0x9e, 0x9e, 0xa8, 0xdc,
+ 0x2f, 0x2b, 0x16, 0x66, 0xd3, 0xd2, 0xec, 0xe5, 0x75, 0x56, 0x59, 0xa5,
+ 0xdb, 0xd4, 0x6b, 0xea, 0x25, 0xcd, 0x38, 0xfb, 0x99, 0x4a, 0xbb, 0x36,
+ 0xb6, 0xd3, 0x32, 0x5f, 0xf5, 0x83, 0x5d, 0x73, 0x13, 0x35, 0xc4, 0x1c,
+ 0x99, 0xab, 0xb3, 0xa6, 0x7d, 0xac, 0x33, 0x8f, 0xed, 0x6d, 0xae, 0xba,
+ 0x8d, 0x86, 0xcf, 0x23, 0x6c, 0xac, 0xce, 0xcc, 0xd7, 0xd8, 0x3e, 0x72,
+ 0x91, 0xd9, 0x91, 0x99, 0x11, 0x4d, 0xf2, 0x14, 0xfb, 0x84, 0x97, 0x06,
+ 0xca, 0x88, 0xb3, 0x08, 0x23, 0x7a, 0xf0, 0x7d, 0xd7, 0xa0, 0x9b, 0x4e,
+ 0xfd, 0x2b, 0x49, 0xfb, 0xd4, 0x3f, 0x35, 0x63, 0x3f, 0xc1, 0x38, 0xfa,
+ 0x37, 0x09, 0x1d, 0x3f, 0x63, 0x36, 0xd0, 0x59, 0xec, 0x9f, 0x9e, 0xdc,
+ 0x78, 0xc7, 0x88, 0x2c, 0xf7, 0x82, 0xf4, 0x94, 0x1e, 0xbc, 0x23, 0xa3,
+ 0xb2, 0x34, 0x66, 0xb2, 0x1b, 0x1a, 0xdd, 0x07, 0x59, 0x41, 0xbb, 0x5d,
+ 0x56, 0xd4, 0x88, 0x84, 0xb9, 0x95, 0xb7, 0xf7, 0xc6, 0x5c, 0x4a, 0xaf,
+ 0xd2, 0xdc, 0xee, 0x37, 0x39, 0x19, 0x93, 0x44, 0x1f, 0x2e, 0x4a, 0x79,
+ 0x9e, 0x96, 0x8a, 0x54, 0x20, 0x91, 0x5b, 0x8b, 0x9a, 0x8f, 0x8f, 0x19,
+ 0x95, 0x91, 0x3c, 0x90, 0x1d, 0xd2, 0x2e, 0xa9, 0x8d, 0xda, 0xdc, 0x08,
+ 0x8a, 0x32, 0xe9, 0x9c, 0x10, 0xbe, 0xd0, 0x20, 0x4d, 0x8b, 0xeb, 0x83,
+ 0xe4, 0x9b, 0xf2, 0x36, 0x83, 0xaf, 0x10, 0xfa, 0x7d, 0x4e, 0xde, 0x2e,
+ 0xa3, 0x0a, 0xde, 0x66, 0xc9, 0xcc, 0xa8, 0x9e, 0x66, 0x36, 0xa1, 0x7d,
+ 0xe0, 0x67, 0x9e, 0x79, 0x68, 0x76, 0xf8, 0x2d, 0xcf, 0x92, 0x1d, 0x85,
+ 0x5d, 0xca, 0x4b, 0x3e, 0x12, 0xc9, 0x26, 0xd4, 0x9b, 0x31, 0xcd, 0xd6,
+ 0xbc, 0x71, 0xa3, 0xb0, 0x13, 0x72, 0x9b, 0xd6, 0xde, 0xe1, 0xca, 0x60,
+ 0x9a, 0x26, 0x9f, 0x0d, 0x76, 0x5f, 0x0e, 0x76, 0x06, 0x64, 0x8a, 0x64,
+ 0x37, 0x79, 0xb9, 0xa8, 0x69, 0x3d, 0xa9, 0x27, 0xde, 0xe9, 0x24, 0x9f,
+ 0x14, 0x2d, 0xef, 0xd5, 0xd5, 0x94, 0x15, 0x9f, 0xed, 0xf2, 0xf2, 0x32,
+ 0xf1, 0x94, 0xa3, 0x2a, 0x9b, 0xb3, 0x0d, 0x44, 0x73, 0x23, 0x07, 0x8e,
+ 0x85, 0x6a, 0x68, 0x24, 0x0f, 0x9c, 0xfb, 0xa2, 0xdf, 0x4f, 0x47, 0x75,
+ 0x43, 0xe6, 0x54, 0x7f, 0x51, 0xe4, 0x77, 0xfd, 0xba, 0x1c, 0x7f, 0x32,
+ 0xcb, 0xf2, 0x6a, 0x9e, 0x36, 0xd7, 0x5f, 0x74, 0x9c, 0xc2, 0x9b, 0x74,
+ 0x9b, 0x6c, 0x25, 0xc9, 0x21, 0x2b, 0x96, 0x34, 0x17, 0x15, 0x9f, 0x38,
+ 0xb3, 0x9e, 0xd2, 0x4a, 0xf2, 0xc1, 0xb4, 0x62, 0x76, 0xf3, 0xcc, 0x2c,
+ 0x6b, 0xc2, 0x8d, 0xf5, 0x54, 0x98, 0x76, 0x9a, 0x83, 0xcb, 0x91, 0x2e,
+ 0x12, 0x78, 0xee, 0xcc, 0xe1, 0x29, 0xab, 0x4f, 0x03, 0xf2, 0x91, 0x18,
+ 0xab, 0x71, 0x9f, 0x36, 0x74, 0x63, 0xc4, 0x58, 0xc3, 0xf3, 0x5e, 0x8b,
+ 0x10, 0xa6, 0x6e, 0xb1, 0x4c, 0x76, 0x52, 0x4a, 0xe7, 0x53, 0x7b, 0x20,
+ 0x9f, 0x4d, 0xd4, 0xde, 0x90, 0xad, 0xb7, 0xf1, 0xa5, 0xb1, 0x00, 0xaf,
+ 0x79, 0xe1, 0xd1, 0x18, 0x8f, 0xd1, 0xec, 0xd1, 0x2b, 0x63, 0x43, 0x14,
+ 0x4d, 0xa7, 0x39, 0xf3, 0x55, 0xba, 0xac, 0xe9, 0x9e, 0x61, 0x73, 0x17,
+ 0xdb, 0x44, 0x7c, 0x40, 0xd6, 0x02, 0x1d, 0xac, 0x75, 0x5e, 0x3b, 0xd0,
+ 0x55, 0xfd, 0x6c, 0xf0, 0xec, 0x89, 0x59, 0x54, 0x7f, 0xa2, 0x8b, 0x7b,
+ 0xf2, 0x9d, 0xc6, 0x27, 0xf5, 0xc2, 0xdc, 0xa5, 0x35, 0xab, 0x27, 0xe6,
+ 0x0c, 0x5f, 0xe6, 0x57, 0x8b, 0x2a, 0xe3, 0x4b, 0x0d, 0xee, 0x56, 0xf5,
+ 0xb2, 0xd2, 0x3d, 0x71, 0x5d, 0xc2, 0x39, 0x69, 0xe4, 0x4b, 0x36, 0xbd,
+ 0xec, 0x75, 0x67, 0x81, 0x34, 0x3a, 0xda, 0x02, 0x18, 0x22, 0x36, 0x91,
+ 0xd1, 0xdc, 0xd0, 0x58, 0x91, 0xc9, 0xbd, 0x3e, 0x33, 0x13, 0x9c, 0x90,
+ 0x77, 0x2e, 0x19, 0x4f, 0xd3, 0x7c, 0x06, 0x73, 0x47, 0xbc, 0x4f, 0x83,
+ 0x4e, 0x73, 0x17, 0xa2, 0x8e, 0x43, 0x13, 0x1f, 0x91, 0x35, 0x50, 0xd5,
+ 0x24, 0xac, 0x68, 0x12, 0x52, 0x55, 0x26, 0x58, 0xd7, 0xbe, 0xce, 0xc6,
+ 0x9f, 0x74, 0x35, 0xf5, 0x16, 0xee, 0x77, 0x9a, 0x23, 0xb7, 0x2b, 0x4c,
+ 0x0e, 0xf3, 0xd4, 0xc2, 0xac, 0xe9, 0xbc, 0xac, 0xeb, 0x9c, 0x3c, 0x0a,
+ 0xa4, 0x21, 0x2f, 0xc6, 0x50, 0x9c, 0xc9, 0xc4, 0xbe, 0x33, 0x2b, 0xa9,
+ 0x5b, 0x22, 0x31, 0x7b, 0xac, 0x98, 0xf4, 0x9b, 0x2a, 0x9f, 0x2f, 0xeb,
+ 0x1d, 0x5f, 0x19, 0xed, 0x3b, 0xbb, 0x16, 0x23, 0x06, 0xf6, 0x01, 0x5b,
+ 0x0c, 0xe3, 0xa4, 0x33, 0x9b, 0x9d, 0xe6, 0x78, 0x6e, 0x7b, 0x64, 0x22,
+ 0xe7, 0x46, 0x84, 0xb2, 0xfe, 0x08, 0x0f, 0x90, 0xd1, 0x16, 0xe5, 0x2c,
+ 0x1b, 0xc5, 0x36, 0x1f, 0xe3, 0x5e, 0xc8, 0xaf, 0x32, 0x72, 0x6f, 0x9b,
+ 0xe3, 0xdd, 0x4c, 0xcd, 0x6d, 0xe1, 0x09, 0x0a, 0xbb, 0xe2, 0x45, 0x76,
+ 0x55, 0x36, 0x24, 0xa0, 0x83, 0x6d, 0xf2, 0x01, 0x1b, 0xdf, 0xee, 0x09,
+ 0xd5, 0x84, 0xfc, 0x6b, 0x2a, 0x67, 0x15, 0xc5, 0x7c, 0x9a, 0x35, 0x21,
+ 0x31, 0xc2, 0xea, 0xc6, 0xec, 0xc0, 0xee, 0xaa, 0x9b, 0xd6, 0xc6, 0x19,
+ 0xd4, 0x51, 0xdc, 0xa5, 0x7a, 0x95, 0xab, 0x0e, 0x34, 0x22, 0x93, 0x8d,
+ 0xcc, 0xe3, 0xdb, 0x7c, 0x9c, 0xa9, 0x87, 0x42, 0xdc, 0x76, 0xd3, 0x3c,
+ 0xdc, 0xfb, 0xb3, 0x45, 0x0d, 0xab, 0x89, 0xd5, 0x14, 0x32, 0x28, 0x6f,
+ 0x73, 0x52, 0x63, 0x8e, 0x2f, 0xe5, 0xac, 0xd2, 0x2d, 0xca, 0xe7, 0x23,
+ 0xad, 0x72, 0x58, 0xcf, 0xa6, 0x39, 0xe9, 0xa7, 0x67, 0xe4, 0xa8, 0xdd,
+ 0xe6, 0xfa, 0x8d, 0xf7, 0x45, 0xb3, 0x73, 0x1a, 0x1d, 0x0c, 0xc9, 0xcb,
+ 0x34, 0x9f, 0x46, 0xe6, 0x09, 0x0a, 0xaa, 0xb1, 0x48, 0xaf, 0xb3, 0x4a,
+ 0xd6, 0x60, 0x41, 0x93, 0x4e, 0xa1, 0x88, 0xe0, 0xe9, 0x61, 0x96, 0xb1,
+ 0x8a, 0x05, 0x7d, 0xec, 0xee, 0xde, 0x4e, 0x2f, 0xee, 0x31, 0x5e, 0x3b,
+ 0xf9, 0x3b, 0x2f, 0x9f, 0x77, 0x3c, 0x53, 0x6a, 0x35, 0x9d, 0x93, 0xcf,
+ 0xbd, 0x7b, 0x42, 0x49, 0x1b, 0xa5, 0xb0, 0xcd, 0x96, 0x3a, 0xd5, 0x32,
+ 0x71, 0x29, 0xda, 0x70, 0x07, 0x84, 0x03, 0x45, 0x17, 0xe4, 0x08, 0x73,
+ 0x3b, 0xa2, 0x29, 0x75, 0x9a, 0x33, 0xaa, 0x19, 0xf9, 0x09, 0x61, 0x84,
+ 0xb7, 0x76, 0xac, 0x31, 0x88, 0x2b, 0xeb, 0x74, 0x27, 0x27, 0x18, 0xcd,
+ 0xb7, 0xea, 0x9e, 0x38, 0xb3, 0x78, 0xa9, 0xd3, 0x1c, 0x69, 0xc3, 0xa4,
+ 0x3a, 0x98, 0x43, 0x93, 0xd3, 0x7e, 0xc4, 0x26, 0x50, 0xbf, 0xab, 0xd9,
+ 0xbe, 0xec, 0x19, 0x53, 0xb9, 0xca, 0xca, 0x06, 0xba, 0x7b, 0x39, 0x4d,
+ 0xaf, 0xcc, 0xbe, 0xeb, 0x34, 0x97, 0x5f, 0x19, 0x1b, 0x97, 0xa3, 0x1f,
+ 0x75, 0x69, 0x6e, 0x0f, 0x1a, 0xb7, 0xd8, 0xfb, 0xc6, 0xdc, 0x33, 0xdb,
+ 0x6c, 0xba, 0x80, 0x04, 0x3c, 0x35, 0x03, 0x1c, 0x0e, 0xbf, 0xd9, 0xf2,
+ 0x05, 0x1c, 0xe6, 0xf7, 0x31, 0xe2, 0x0d, 0xf2, 0x09, 0xa6, 0x49, 0xf2,
+ 0x15, 0xd6, 0xa4, 0x2b, 0xe5, 0x78, 0xa5, 0x23, 0x93, 0xa7, 0x13, 0x41,
+ 0x2e, 0xa2, 0x81, 0x08, 0x00, 0x48, 0x00, 0x4c, 0x93, 0x7a, 0xab, 0x78,
+ 0x87, 0x93, 0x17, 0x81, 0xaf, 0x69, 0xf3, 0xb7, 0x45, 0xbd, 0x20, 0xc3,
+ 0xbd, 0xd3, 0xdc, 0xdc, 0x08, 0xb2, 0xc6, 0x18, 0x6f, 0x46, 0x22, 0x2d,
+ 0x0a, 0xfa, 0xd3, 0x6a, 0x17, 0x39, 0xf4, 0x5c, 0x5a, 0x92, 0x8a, 0x9c,
+ 0x83, 0x64, 0x21, 0xd8, 0xbb, 0xd9, 0x88, 0x16, 0x69, 0xb9, 0xbb, 0xb4,
+ 0x70, 0x9f, 0x50, 0xa4, 0x04, 0x62, 0x67, 0x92, 0x53, 0x94, 0x8d, 0x0e,
+ 0xde, 0x12, 0x29, 0xbe, 0x59, 0x2f, 0x8c, 0x9c, 0x21, 0xad, 0x8a, 0x85,
+ 0x48, 0x20, 0x40, 0x54, 0xc8, 0x18, 0x05, 0xce, 0x93, 0x26, 0x5b, 0xbf,
+ 0xf5, 0x31, 0xc1, 0xc2, 0xf9, 0x2b, 0x39, 0x36, 0xfa, 0xac, 0xd1, 0x54,
+ 0x5f, 0xd1, 0x7e, 0x0b, 0xb4, 0x80, 0x8b, 0x93, 0x61, 0x6c, 0x41, 0xdb,
+ 0x8e, 0x7b, 0x7a, 0x9f, 0x44, 0x2e, 0xf9, 0x57, 0xd8, 0xdf, 0x54, 0x92,
+ 0xb6, 0xe4, 0x39, 0xef, 0x7d, 0x47, 0xc8, 0x3c, 0x23, 0x2f, 0x3f, 0x1b,
+ 0x12, 0x1c, 0x15, 0x24, 0x31, 0x66, 0xd4, 0xa8, 0x86, 0xd4, 0x08, 0xeb,
+ 0x5b, 0x3a, 0x3c, 0xf0, 0xdb, 0x85, 0x33, 0xa9, 0xbb, 0x41, 0xbc, 0xdf,
+ 0x6f, 0xd6, 0x5b, 0x56, 0x92, 0x99, 0x56, 0xce, 0x8e, 0xde, 0x41, 0xb1,
+ 0x4f, 0xcd, 0xc6, 0x79, 0xaf, 0x7e, 0x1c, 0x0d, 0xfa, 0x8d, 0x16, 0xf9,
+ 0xb4, 0xe5, 0x2c, 0x75, 0xb6, 0x08, 0x22, 0x6e, 0xbc, 0xaf, 0xd0, 0x35,
+ 0x76, 0xfb, 0xe7, 0xf0, 0x9b, 0x75, 0x77, 0x59, 0x73, 0x3f, 0x17, 0x97,
+ 0xdf, 0xa2, 0x6e, 0x59, 0xd6, 0x7a, 0x3b, 0x4f, 0x1b, 0x28, 0x1f, 0xa4,
+ 0xf0, 0x7b, 0x6d, 0x06, 0x2b, 0x84, 0x6e, 0xd1, 0x65, 0x70, 0x55, 0xe4,
+ 0xff, 0x10, 0xdf, 0x42, 0x56, 0xdc, 0xe4, 0x55, 0x59, 0x90, 0xaa, 0x62,
+ 0x6c, 0x82, 0x2a, 0x87, 0x70, 0x26, 0x75, 0xd7, 0x88, 0x8f, 0x8d, 0xc3,
+ 0x0f, 0xe7, 0x27, 0x1f, 0x0f, 0x0f, 0x3e, 0x7e, 0xf5, 0xe1, 0xfd, 0x9b,
+ 0x93, 0xa3, 0x8d, 0xee, 0xa1, 0xbe, 0x64, 0xb1, 0x40, 0x07, 0xa5, 0x26,
+ 0x85, 0x0c, 0x27, 0xc4, 0x74, 0x91, 0x5b, 0xbe, 0xca, 0x6f, 0x8c, 0x58,
+ 0x83, 0x6a, 0x05, 0xe7, 0x25, 0xfe, 0x06, 0x73, 0x5f, 0x26, 0xbc, 0xd3,
+ 0xdc, 0xc8, 0xdc, 0xc7, 0xa6, 0xd3, 0x7c, 0xfa, 0x64, 0xf0, 0x7a, 0x52,
+ 0xc4, 0x9c, 0xd1, 0x0e, 0x06, 0x23, 0xa3, 0x25, 0xa6, 0xcb, 0x84, 0x54,
+ 0x3a, 0x4f, 0x7b, 0xf6, 0xfc, 0x98, 0x8b, 0xc6, 0x28, 0x8f, 0xea, 0x39,
+ 0x35, 0xd6, 0x59, 0xf9, 0x49, 0xc3, 0xaf, 0x46, 0xf3, 0x3c, 0x88, 0x2c,
+ 0x77, 0xcd, 0xeb, 0xc2, 0x53, 0xb1, 0x41, 0x2d, 0x99, 0xfd, 0xdb, 0x97,
+ 0x4e, 0x8e, 0xab, 0xc6, 0xa8, 0x7d, 0x59, 0x8e, 0x83, 0xa1, 0xe1, 0x25,
+ 0x52, 0x8b, 0xe1, 0xb5, 0xe8, 0xea, 0x27, 0xc6, 0x28, 0xbc, 0xa7, 0x39,
+ 0xa0, 0x46, 0x06, 0xd9, 0x5d, 0x86, 0x93, 0x27, 0x6f, 0x1d, 0x2e, 0x2a,
+ 0x9c, 0xe5, 0xef, 0x8d, 0x4e, 0x42, 0x12, 0xf0, 0x0d, 0xdc, 0x1e, 0xe6,
+ 0x05, 0x7d, 0xc8, 0x5c, 0x36, 0xdd, 0x8b, 0xaf, 0x9c, 0x52, 0xc0, 0x29,
+ 0x85, 0x89, 0x09, 0x87, 0xc0, 0xd9, 0xc1, 0xc5, 0x37, 0xc1, 0x9c, 0x90,
+ 0x98, 0x77, 0x58, 0x07, 0xd9, 0x8a, 0x30, 0x8c, 0xea, 0x46, 0x0e, 0xc8,
+ 0xfb, 0xe1, 0x30, 0x41, 0x24, 0x7d, 0x9a, 0x8f, 0xaa, 0x94, 0xbe, 0x49,
+ 0x3f, 0xa6, 0x9f, 0x9a, 0x6d, 0xdd, 0x69, 0xee, 0xec, 0xdb, 0xc3, 0xe1,
+ 0x1f, 0x77, 0x77, 0x8d, 0xf2, 0x37, 0x59, 0x98, 0x79, 0xd9, 0x34, 0xaf,
+ 0x14, 0xb5, 0x39, 0x99, 0xb3, 0x41, 0x5d, 0x6e, 0xe1, 0xf2, 0x86, 0xc6,
+ 0x87, 0xeb, 0x21, 0xbd, 0x31, 0xb7, 0x2e, 0x76, 0x12, 0xcf, 0x31, 0xed,
+ 0xe7, 0xae, 0x9a, 0xce, 0x0b, 0xac, 0x40, 0x03, 0x23, 0x31, 0xcc, 0xbd,
+ 0x3d, 0xbd, 0x0f, 0x46, 0xb1, 0x99, 0x9f, 0x0e, 0x25, 0x4c, 0x9f, 0x8e,
+ 0xcd, 0x5f, 0xc9, 0x86, 0xda, 0xa2, 0xb1, 0xb5, 0xcf, 0x98, 0x8e, 0x6b,
+ 0xc8, 0x5a, 0xe9, 0x05, 0xb9, 0x38, 0x81, 0x2e, 0x08, 0xe5, 0x42, 0xd1,
+ 0x3d, 0x5e, 0x0e, 0xc1, 0x81, 0xce, 0x8e, 0xd2, 0xf1, 0xa7, 0xdb, 0xb4,
+ 0x9a, 0xb0, 0xc3, 0xc4, 0xec, 0x99, 0x51, 0x3e, 0xcd, 0x9b, 0x7b, 0xbe,
+ 0x3d, 0xba, 0xa3, 0xe0, 0xd0, 0x11, 0x4d, 0xa1, 0x39, 0x49, 0x57, 0xc6,
+ 0x16, 0x22, 0x2d, 0x94, 0x2c, 0x44, 0x73, 0x30, 0x3c, 0x5d, 0x1f, 0xaa,
+ 0x52, 0x63, 0x55, 0x1d, 0xfb, 0xed, 0x4e, 0x73, 0x70, 0x3f, 0xd1, 0x49,
+ 0x42, 0x37, 0xdd, 0xee, 0x55, 0x41, 0xe8, 0x8b, 0x29, 0xdd, 0x40, 0x49,
+ 0x7d, 0x6f, 0x6e, 0xfb, 0x59, 0x12, 0x51, 0x15, 0x01, 0xac, 0x48, 0xbe,
+ 0xcd, 0xee, 0x8d, 0x61, 0x91, 0x17, 0x4e, 0x56, 0xb2, 0x8f, 0x28, 0x23,
+ 0x4b, 0x95, 0x75, 0xd2, 0x5c, 0xfd, 0x8c, 0x99, 0xb8, 0x8a, 0xf9, 0x26,
+ 0x09, 0x2d, 0x2b, 0x7e, 0x5f, 0xf5, 0x71, 0x6a, 0x62, 0xa3, 0x6e, 0x09,
+ 0x65, 0x7c, 0x29, 0x5c, 0xc4, 0xa1, 0xf9, 0xb9, 0xb1, 0xee, 0xa6, 0xdb,
+ 0xdf, 0xe7, 0x05, 0x4d, 0x16, 0xaf, 0xe2, 0xc5, 0xb2, 0x75, 0xe0, 0x85,
+ 0x90, 0x67, 0x93, 0xbc, 0x7b, 0x21, 0x7e, 0x2f, 0x27, 0x3d, 0xf9, 0x0c,
+ 0x01, 0xd0, 0x84, 0x10, 0x13, 0x72, 0x3f, 0x29, 0xb4, 0xe2, 0xb3, 0xc1,
+ 0xf3, 0x1d, 0x04, 0x47, 0xe9, 0x57, 0x83, 0xce, 0x97, 0xba, 0x6a, 0x6e,
+ 0x6b, 0xfd, 0xed, 0xf2, 0x47, 0x56, 0x3f, 0xba, 0xe0, 0x9f, 0x77, 0xc5,
+ 0xa2, 0x68, 0x5f, 0xec, 0xf7, 0xf5, 0x75, 0x6f, 0xb9, 0xd2, 0xa4, 0xfb,
+ 0x1b, 0x46, 0x79, 0x2d, 0x2b, 0x58, 0xd5, 0x55, 0x69, 0x16, 0x5e, 0xa6,
+ 0xb1, 0x2b, 0x3c, 0x78, 0xb1, 0x37, 0x69, 0xbe, 0xad, 0x70, 0x37, 0xdd,
+ 0xe4, 0xc9, 0xd9, 0x8a, 0x9d, 0xfa, 0x40, 0x47, 0x81, 0x77, 0x8a, 0x63,
+ 0xfd, 0xe4, 0xdd, 0xaf, 0xf9, 0x98, 0x4f, 0xd3, 0xba, 0x81, 0xf9, 0x86,
+ 0x2d, 0x26, 0x4e, 0xa0, 0xf6, 0x75, 0x0d, 0x91, 0xfd, 0xca, 0xc8, 0xb4,
+ 0x7f, 0xfe, 0xb6, 0x66, 0xc9, 0x08, 0x49, 0x18, 0x5e, 0x60, 0xb2, 0x2d,
+ 0x5b, 0xb7, 0xf6, 0x3b, 0xbd, 0x9e, 0xa9, 0x13, 0xd6, 0x51, 0x35, 0xe7,
+ 0xb0, 0x2a, 0x6b, 0x92, 0xec, 0x71, 0x0b, 0x2d, 0x03, 0x72, 0x9a, 0x88,
+ 0x63, 0x66, 0x7f, 0x3d, 0xd9, 0xcc, 0x06, 0x57, 0xa6, 0xbd, 0x75, 0x6a,
+ 0x67, 0x77, 0x9f, 0xfe, 0xbb, 0x87, 0xff, 0x3e, 0x59, 0x57, 0x00, 0x94,
+ 0x7f, 0xaa, 0xe8, 0x6a, 0xef, 0x5e, 0x4c, 0x12, 0xb5, 0xa0, 0xab, 0x5e,
+ 0xee, 0x7a, 0xb9, 0xeb, 0xe8, 0x0a, 0x8c, 0xcb, 0x21, 0x56, 0x64, 0x4f,
+ 0x7a, 0x11, 0x65, 0xd3, 0x4d, 0x04, 0xd4, 0x08, 0xb8, 0x01, 0x46, 0xe4,
+ 0xe1, 0x33, 0x63, 0x1b, 0x1b, 0x65, 0x11, 0xce, 0x16, 0x8e, 0x01, 0x02,
+ 0x4d, 0xf0, 0xb1, 0xca, 0xae, 0xd3, 0xda, 0xec, 0xbd, 0x45, 0x83, 0xad,
+ 0x18, 0xd9, 0xbd, 0xd3, 0xdc, 0x7a, 0xb7, 0xe4, 0xc3, 0x03, 0x6b, 0x0b,
+ 0xca, 0x2a, 0xb2, 0x9f, 0x78, 0x5a, 0xde, 0xea, 0x13, 0x7d, 0x41, 0x24,
+ 0xc5, 0x74, 0x04, 0xb3, 0x9a, 0x00, 0x35, 0xd1, 0x63, 0x7e, 0xbc, 0x6f,
+ 0x46, 0x8a, 0x25, 0xc1, 0xa5, 0xcc, 0xe6, 0xbf, 0x34, 0x33, 0x46, 0x46,
+ 0xde, 0x14, 0xeb, 0x46, 0xe6, 0x2c, 0x7a, 0x1d, 0x28, 0x9b, 0xa2, 0xf4,
+ 0xe5, 0x97, 0xe2, 0xe3, 0x92, 0x7f, 0xe3, 0x72, 0x15, 0x55, 0xac, 0xe6,
+ 0x98, 0x60, 0x57, 0x0f, 0x7b, 0x78, 0x6b, 0xab, 0xac, 0xb4, 0x27, 0x43,
+ 0x06, 0xcb, 0x6e, 0x65, 0xdd, 0xd7, 0x62, 0x7c, 0xc4, 0x7c, 0x1a, 0xa6,
+ 0x57, 0x7c, 0x4c, 0x7f, 0xfd, 0x21, 0x31, 0x3d, 0xee, 0x93, 0x47, 0x69,
+ 0x51, 0x3f, 0xe2, 0x8c, 0x78, 0xf2, 0x97, 0xdf, 0xb1, 0x3e, 0x35, 0x8e,
+ 0x7d, 0xfa, 0x13, 0xd0, 0xdd, 0x85, 0xf7, 0x9e, 0x5f, 0xeb, 0xd0, 0x3b,
+ 0x59, 0x43, 0x6e, 0xe8, 0x5c, 0xbc, 0x26, 0x9b, 0xe9, 0xa7, 0x74, 0x90,
+ 0x9c, 0x1e, 0x0e, 0xcf, 0xe8, 0x13, 0x66, 0x6b, 0x14, 0x57, 0xa6, 0x17,
+ 0x27, 0xc3, 0x4e, 0x73, 0xd9, 0x5d, 0x93, 0x15, 0x75, 0x0b, 0xc2, 0xb7,
+ 0x74, 0x9a, 0xd5, 0xd7, 0xaa, 0x20, 0x04, 0xe9, 0xac, 0x31, 0xfe, 0x11,
+ 0x3d, 0xa4, 0x60, 0x18, 0x45, 0xaa, 0x13, 0x3e, 0x6a, 0xc1, 0x87, 0xe6,
+ 0x66, 0xc3, 0x4f, 0xb6, 0xac, 0xf7, 0xa6, 0xa7, 0x7b, 0xc1, 0x06, 0x55,
+ 0xea, 0xc5, 0x15, 0x19, 0x24, 0xb5, 0x9a, 0x91, 0xf6, 0x0b, 0x66, 0x36,
+ 0x02, 0x5d, 0x4a, 0x87, 0x6d, 0xce, 0x04, 0x1f, 0x1b, 0x63, 0x41, 0x11,
+ 0xde, 0x04, 0xfa, 0x52, 0x51, 0xba, 0x56, 0xc9, 0x68, 0x02, 0xb6, 0x2e,
+ 0x47, 0x18, 0x62, 0x9c, 0x19, 0x7d, 0x74, 0x12, 0xd1, 0x07, 0x78, 0x51,
+ 0xd4, 0x86, 0xba, 0x14, 0x3c, 0x5d, 0xc4, 0x25, 0x84, 0x86, 0xc6, 0xac,
+ 0xaf, 0xd1, 0xae, 0x87, 0x3b, 0x37, 0x27, 0xff, 0x37, 0x69, 0xcf, 0x6c,
+ 0xbd, 0x53, 0x7b, 0xf6, 0xec, 0x7f, 0x5d, 0x2c, 0xcc, 0xc4, 0x47, 0x2e,
+ 0x66, 0xd2, 0xb0, 0xe8, 0x9e, 0xa1, 0x09, 0x5c, 0xe5, 0xeb, 0x7b, 0xba,
+ 0xdb, 0xf6, 0xf5, 0x61, 0xb3, 0x19, 0x6b, 0x20, 0x4b, 0x5e, 0xd1, 0x7f,
+ 0x1f, 0x94, 0xca, 0x08, 0xf0, 0xfb, 0x52, 0x18, 0xef, 0x4a, 0x84, 0x88,
+ 0xe5, 0xe8, 0x8a, 0x1d, 0x07, 0xec, 0xc0, 0x80, 0xc4, 0x5e, 0x2f, 0x79,
+ 0x73, 0x74, 0x8e, 0xe5, 0x3f, 0x7a, 0xff, 0x35, 0xdc, 0xef, 0xd6, 0x8a,
+ 0x98, 0xa0, 0xcd, 0x9a, 0xdd, 0x0a, 0x1c, 0x3e, 0x13, 0xf1, 0xdf, 0x9d,
+ 0x6a, 0x12, 0x9f, 0x14, 0x35, 0x01, 0xb8, 0x62, 0xf2, 0xfb, 0x5d, 0x5c,
+ 0x81, 0x39, 0x7a, 0xd4, 0x93, 0xa9, 0x13, 0x27, 0xcd, 0xa7, 0xec, 0xde,
+ 0xfd, 0x0d, 0xd3, 0xe9, 0xcd, 0xb1, 0x7b, 0xf8, 0x95, 0x37, 0x33, 0x3f,
+ 0xee, 0x13, 0x80, 0xc3, 0x68, 0xaa, 0x93, 0x9f, 0x7f, 0xdd, 0x55, 0x28,
+ 0x1e, 0xb1, 0xa4, 0x7d, 0x27, 0x46, 0x1c, 0x2f, 0xf0, 0x79, 0x29, 0x54,
+ 0x82, 0x23, 0xa3, 0x2c, 0xd8, 0x05, 0x2d, 0x4c, 0x40, 0x62, 0xda, 0xe9,
+ 0x69, 0xc1, 0xaa, 0x08, 0x89, 0x68, 0xc6, 0xc7, 0x00, 0x2f, 0x13, 0x68,
+ 0x0f, 0xe5, 0x34, 0xb8, 0xe4, 0x5a, 0xe6, 0x2b, 0xb4, 0xfa, 0x3d, 0xb9,
+ 0xd6, 0x60, 0xd2, 0xc9, 0xe5, 0xc3, 0x9a, 0x74, 0xf7, 0x1c, 0x58, 0xbd,
+ 0x9a, 0x35, 0x2f, 0xef, 0x4a, 0x4c, 0xbc, 0x97, 0x11, 0x09, 0x44, 0xf7,
+ 0x58, 0x47, 0x1a, 0xc8, 0xf2, 0x66, 0x51, 0x23, 0xc0, 0xac, 0xae, 0xce,
+ 0xae, 0x59, 0x76, 0xf2, 0x3a, 0xb9, 0x3d, 0xc4, 0x21, 0x16, 0x5e, 0x66,
+ 0x23, 0xdf, 0xaa, 0x5c, 0xb4, 0x34, 0x86, 0x07, 0x76, 0x0f, 0xb3, 0x06,
+ 0x64, 0xc5, 0x2b, 0x25, 0x9e, 0x13, 0x6c, 0x2b, 0xdd, 0x57, 0xbc, 0xfd,
+ 0xc8, 0x1e, 0x5d, 0xf7, 0xa6, 0x64, 0x3d, 0xb6, 0x14, 0x0d, 0xc7, 0x86,
+ 0xe4, 0xbc, 0xe4, 0x37, 0x34, 0x75, 0xba, 0x77, 0x9c, 0x93, 0xb3, 0xad,
+ 0xfe, 0x96, 0x05, 0xfd, 0x59, 0x90, 0x73, 0xec, 0x0f, 0x91, 0x0d, 0x19,
+ 0xdd, 0x8b, 0xe4, 0x27, 0x97, 0xb8, 0x19, 0x34, 0x17, 0xc2, 0x88, 0x09,
+ 0x48, 0x37, 0x62, 0x10, 0xc5, 0xcc, 0x3a, 0xd5, 0x3a, 0xd4, 0x7a, 0xf3,
+ 0x4c, 0xba, 0xc0, 0xe2, 0x09, 0xd4, 0x4b, 0xf3, 0x5b, 0x8a, 0xb8, 0xf3,
+ 0xde, 0x25, 0x3f, 0x6c, 0x3e, 0xfe, 0x04, 0x60, 0x95, 0x5c, 0x4d, 0x2d,
+ 0xf9, 0x21, 0xb0, 0x26, 0x06, 0xe4, 0x45, 0x96, 0x00, 0x16, 0x25, 0x39,
+ 0x88, 0x69, 0x4f, 0xd2, 0xb5, 0x9c, 0x17, 0xac, 0xac, 0x2d, 0xf5, 0x35,
+ 0x98, 0xbe, 0x7e, 0x7c, 0x73, 0x7c, 0x9e, 0x6c, 0x92, 0xee, 0xdd, 0x55,
+ 0x6e, 0xf4, 0x5e, 0xdf, 0xce, 0x9a, 0xf1, 0xf6, 0xfc, 0x53, 0xbe, 0x6d,
+ 0x4c, 0xce, 0xc9, 0x68, 0xcb, 0x1a, 0x52, 0xf8, 0x1c, 0x36, 0xa1, 0x9a,
+ 0xa7, 0x6a, 0x9f, 0xc2, 0x40, 0xed, 0x9e, 0x06, 0xcf, 0x60, 0xe5, 0x04,
+ 0x00, 0x67, 0xa7, 0x62, 0x9a, 0xd8, 0x9b, 0x03, 0x3c, 0x10, 0x07, 0x8f,
+ 0x13, 0x72, 0xc4, 0x66, 0xec, 0xa3, 0x36, 0x96, 0x76, 0xf7, 0xac, 0x32,
+ 0x38, 0x4c, 0xdc, 0x39, 0xec, 0xc6, 0x51, 0x44, 0x93, 0xdc, 0x13, 0x4e,
+ 0xdb, 0xeb, 0x11, 0x16, 0x8d, 0x26, 0x65, 0x4e, 0x77, 0xd1, 0x84, 0x7c,
+ 0x81, 0xdd, 0xe6, 0x60, 0x61, 0xac, 0x0f, 0xb6, 0xd7, 0x13, 0x8b, 0xbe,
+ 0x33, 0xb3, 0xcc, 0xf0, 0x52, 0x0b, 0x77, 0x34, 0x5b, 0xec, 0x72, 0x51,
+ 0xb3, 0x7f, 0x9b, 0x5c, 0x2b, 0x76, 0xbd, 0x06, 0x31, 0x81, 0xea, 0x2d,
+ 0xa7, 0x55, 0xb6, 0x8c, 0x52, 0x8c, 0x73, 0x65, 0x6d, 0xf6, 0x91, 0xed,
+ 0x14, 0x96, 0x6a, 0xfd, 0xa7, 0xf5, 0xc4, 0x43, 0x6f, 0xb5, 0xbc, 0x90,
+ 0xb9, 0xc3, 0x57, 0x78, 0x57, 0x80, 0xb9, 0x8a, 0xed, 0x09, 0x9e, 0x64,
+ 0xd3, 0x7c, 0x96, 0xc3, 0xea, 0xf2, 0xbb, 0x10, 0x2c, 0x45, 0xbb, 0x4b,
+ 0x3f, 0x85, 0x5d, 0x52, 0x44, 0x64, 0x4a, 0xbf, 0x36, 0x5d, 0x82, 0x5f,
+ 0x8c, 0x01, 0x6b, 0x71, 0xcb, 0xb9, 0xdd, 0x21, 0x8b, 0xa9, 0x5c, 0x11,
+ 0x56, 0xfb, 0x7d, 0x9c, 0x0b, 0xed, 0x23, 0x53, 0x37, 0x40, 0x6e, 0xd1,
+ 0x39, 0x13, 0x7f, 0xd1, 0x88, 0x2f, 0x07, 0x3d, 0x63, 0xe9, 0x2a, 0xcb,
+ 0x6f, 0x5b, 0x05, 0x0f, 0x24, 0x8f, 0x7a, 0x9a, 0xd8, 0xe2, 0x37, 0x07,
+ 0x06, 0x16, 0xfe, 0x27, 0x31, 0xf0, 0xa1, 0x01, 0x41, 0x58, 0xb1, 0xa7,
+ 0xad, 0xab, 0xef, 0xaa, 0xb0, 0xef, 0x67, 0xc5, 0xb8, 0x9c, 0x74, 0xec,
+ 0x33, 0x9a, 0x04, 0x4f, 0xc8, 0x61, 0xc7, 0x73, 0xa8, 0x0a, 0xbb, 0x3c,
+ 0xee, 0xc3, 0x24, 0xe7, 0x19, 0x3b, 0x56, 0x7f, 0xd1, 0xbe, 0x8f, 0x79,
+ 0x52, 0xb0, 0xed, 0x7f, 0xd5, 0xae, 0x7f, 0x9c, 0xaf, 0xe1, 0x30, 0x10,
+ 0xd6, 0xb5, 0xbd, 0x07, 0xbd, 0x6b, 0x3a, 0x90, 0x40, 0xa9, 0x46, 0x87,
+ 0x8d, 0x1e, 0x4b, 0x90, 0x1a, 0xc4, 0x11, 0xe0, 0xc5, 0x6c, 0x2f, 0x32,
+ 0x72, 0x48, 0x36, 0x4f, 0x38, 0x52, 0x95, 0x9c, 0xbd, 0xfd, 0x41, 0x8e,
+ 0xc9, 0x32, 0x5f, 0xc3, 0xe7, 0x16, 0x33, 0x61, 0x34, 0x48, 0xc2, 0x6f,
+ 0xe4, 0x82, 0x85, 0x12, 0xaf, 0x00, 0xc7, 0x44, 0x8d, 0xa4, 0xf3, 0x10,
+ 0xe3, 0x66, 0xca, 0xbb, 0xb3, 0xf6, 0x4a, 0x9e, 0x9e, 0x96, 0xac, 0xbf,
+ 0x7e, 0xf1, 0x93, 0xfc, 0x84, 0xe6, 0xc6, 0xfc, 0xa3, 0xb9, 0x5e, 0xcc,
+ 0x46, 0x66, 0x5d, 0x8b, 0xe6, 0x8b, 0x75, 0x8e, 0xb9, 0x5d, 0xca, 0xb4,
+ 0xae, 0x54, 0xae, 0xdb, 0x1b, 0xad, 0x35, 0x69, 0x68, 0xbe, 0xd7, 0x46,
+ 0xda, 0xac, 0xb3, 0x17, 0x33, 0x68, 0xee, 0x83, 0xd9, 0x9e, 0x3f, 0xbd,
+ 0xfb, 0xeb, 0x4f, 0x2f, 0x9f, 0x3c, 0x4d, 0x3f, 0x4b, 0xc7, 0xcf, 0x2f,
+ 0x5f, 0xa4, 0xcf, 0x26, 0xcf, 0x3e, 0x7b, 0xb9, 0xf7, 0xe2, 0x59, 0xfa,
+ 0xd9, 0xd3, 0xcb, 0xf4, 0xf9, 0x6e, 0xb6, 0xfb, 0xf2, 0x72, 0xef, 0xc9,
+ 0x64, 0x72, 0x99, 0xbd, 0x98, 0x7c, 0x96, 0xae, 0x0f, 0xa0, 0x6b, 0x6b,
+ 0x97, 0x43, 0x7d, 0x54, 0xe2, 0x2d, 0xa6, 0xf7, 0xc3, 0x6f, 0x0e, 0xfa,
+ 0xbb, 0xc9, 0x75, 0x76, 0xa7, 0x07, 0x8c, 0x3d, 0x59, 0x16, 0x88, 0x92,
+ 0x89, 0xd1, 0xbe, 0x5c, 0xbd, 0xd5, 0xdc, 0x19, 0x02, 0x12, 0x92, 0x61,
+ 0x0c, 0xad, 0x87, 0x27, 0x4f, 0x67, 0x93, 0xa1, 0x26, 0x76, 0xcd, 0xf6,
+ 0xd5, 0x5b, 0x4b, 0xe3, 0xea, 0x1e, 0xfe, 0x13, 0xf3, 0xce, 0xf4, 0x5d,
+ 0x3a, 0x36, 0x17, 0xa3, 0x99, 0x11, 0x79, 0x70, 0x68, 0xec, 0x98, 0x7c,
+ 0x6c, 0xfe, 0x2d, 0x7f, 0x21, 0xef, 0xa0, 0xd7, 0xc6, 0xd7, 0x55, 0xb9,
+ 0x98, 0x9f, 0x95, 0xd3, 0x7c, 0x7c, 0xbf, 0xaa, 0x39, 0xff, 0xb1, 0xd6,
+ 0x2f, 0x8e, 0x08, 0x0d, 0x3e, 0xa7, 0x58, 0xe9, 0xbf, 0x50, 0x9d, 0xf6,
+ 0xac, 0x90, 0x47, 0xe8, 0xd3, 0xfd, 0x71, 0x3e, 0xbf, 0xa6, 0x28, 0xdf,
+ 0x2b, 0x00, 0x5f, 0xc8, 0x29, 0xcf, 0x3f, 0x88, 0xeb, 0xd1, 0x43, 0x39,
+ 0x8a, 0xb5, 0xac, 0xa7, 0xbe, 0x2d, 0xb7, 0x6c, 0xae, 0x59, 0x21, 0xea,
+ 0x93, 0x10, 0xb0, 0x55, 0x1e, 0x38, 0x6d, 0xdc, 0x87, 0xf8, 0x98, 0xab,
+ 0x86, 0xc5, 0x96, 0xaa, 0xfc, 0x6a, 0x60, 0xac, 0x66, 0x8a, 0x93, 0x2e,
+ 0xe6, 0x0c, 0xfa, 0x85, 0x5b, 0x8f, 0x7f, 0xd7, 0x69, 0x0e, 0x9d, 0x97,
+ 0x1d, 0xc3, 0xca, 0xa7, 0x99, 0xd1, 0x0f, 0xe7, 0x27, 0xfb, 0xdd, 0x79,
+ 0x02, 0xfe, 0xbe, 0xde, 0xdf, 0xde, 0x86, 0xb3, 0xff, 0x3a, 0xbd, 0xbb,
+ 0x1b, 0xd4, 0xd9, 0xf6, 0xa4, 0x1c, 0xd7, 0xdb, 0x75, 0x3d, 0xd5, 0xd9,
+ 0x68, 0xa7, 0xc3, 0xfc, 0x0e, 0xae, 0xbb, 0x72, 0x06, 0x69, 0x95, 0x4d,
+ 0xfa, 0x75, 0x1d, 0x60, 0x43, 0x86, 0x87, 0x1a, 0x79, 0x3e, 0x2a, 0x18,
+ 0x65, 0x8a, 0x7b, 0xae, 0x6f, 0x66, 0x77, 0x38, 0xfc, 0x26, 0xd1, 0x97,
+ 0x31, 0xbd, 0x16, 0x0d, 0x61, 0x71, 0x19, 0xbd, 0xc8, 0xd5, 0x9b, 0x8a,
+ 0xc0, 0xfe, 0xdc, 0xb7, 0xde, 0x49, 0x85, 0x2a, 0xf9, 0x0f, 0x81, 0x73,
+ 0xe7, 0xcd, 0x4a, 0x64, 0xcb, 0xf3, 0x8e, 0xb5, 0x6b, 0x07, 0x11, 0x8f,
+ 0xfe, 0xaa, 0xc7, 0x23, 0x4d, 0xdc, 0x93, 0xce, 0xfc, 0xef, 0xe6, 0x6b,
+ 0x9a, 0xdd, 0x7b, 0x55, 0x56, 0xe6, 0xf2, 0x98, 0xd5, 0x31, 0x97, 0x97,
+ 0x9e, 0xf2, 0x5a, 0x5d, 0x7b, 0x35, 0xf9, 0xe5, 0xd8, 0x05, 0xb7, 0x28,
+ 0xbc, 0x0f, 0x98, 0xa5, 0x04, 0xb0, 0x67, 0x60, 0x17, 0x2c, 0x1e, 0xd9,
+ 0xd0, 0xe5, 0xeb, 0x38, 0x4d, 0xc4, 0x6b, 0x92, 0x40, 0x9e, 0x17, 0x9e,
+ 0xcb, 0x1b, 0x97, 0xb2, 0xe9, 0x72, 0x2f, 0xd6, 0x3b, 0xac, 0x73, 0x95,
+ 0xe1, 0xa2, 0x20, 0x45, 0xa2, 0xaa, 0x4a, 0x4f, 0x9b, 0xe9, 0x7f, 0x0b,
+ 0xab, 0xc2, 0x5c, 0x91, 0xf9, 0x95, 0x46, 0x57, 0xbb, 0xc7, 0x57, 0xb6,
+ 0x3f, 0x5d, 0x30, 0x0d, 0x30, 0x7d, 0x92, 0x26, 0x49, 0x57, 0x82, 0x39,
+ 0x02, 0x8c, 0x2f, 0x10, 0xcc, 0x12, 0x63, 0x42, 0x5a, 0xd9, 0xa1, 0xc1,
+ 0x71, 0x20, 0x2c, 0xbc, 0x7b, 0x9c, 0xb0, 0x34, 0x7a, 0x38, 0xd1, 0xbc,
+ 0xd8, 0xad, 0x6e, 0x77, 0x26, 0xa4, 0x93, 0xc1, 0x44, 0x34, 0xcf, 0x74,
+ 0x2f, 0x59, 0xc0, 0xd0, 0xac, 0x4b, 0x22, 0x96, 0xfa, 0xd5, 0x1d, 0x8f,
+ 0x42, 0x52, 0x75, 0x7a, 0x73, 0x24, 0x1b, 0xa6, 0xc0, 0xbb, 0xc6, 0x2e,
+ 0xf6, 0xd2, 0x8b, 0xd1, 0x51, 0x83, 0x81, 0xcf, 0x9e, 0x33, 0x8e, 0x80,
+ 0x43, 0x56, 0x04, 0x3f, 0x94, 0x61, 0x23, 0x86, 0xcc, 0xad, 0x47, 0x48,
+ 0x4c, 0x4a, 0x31, 0x9d, 0x96, 0x4e, 0xcb, 0x32, 0xbb, 0xcf, 0x08, 0x44,
+ 0x64, 0xe9, 0x0c, 0x02, 0xe1, 0xcd, 0x58, 0x7d, 0x46, 0x1d, 0x70, 0xce,
+ 0x09, 0x5f, 0xe1, 0x6a, 0xf1, 0x4e, 0x61, 0x5d, 0x70, 0x88, 0xd4, 0x09,
+ 0x35, 0x5a, 0xbf, 0x98, 0x4f, 0x40, 0xd0, 0xaa, 0x9c, 0x00, 0x94, 0x23,
+ 0xb5, 0x4d, 0x92, 0xa1, 0x18, 0x7c, 0xab, 0xbe, 0xcc, 0xba, 0xec, 0x49,
+ 0x53, 0x53, 0x0a, 0x80, 0x56, 0xd2, 0xc7, 0xee, 0x8e, 0xb2, 0x89, 0x4e,
+ 0x3e, 0xfc, 0x93, 0xd6, 0xc7, 0x62, 0x58, 0xeb, 0x30, 0x54, 0xe5, 0x26,
+ 0x33, 0x66, 0xb6, 0x04, 0x78, 0x60, 0x74, 0xa4, 0xca, 0xf4, 0x0b, 0x45,
+ 0xd9, 0xed, 0x94, 0xf6, 0xa3, 0x1f, 0x1a, 0xf1, 0x16, 0xf3, 0xea, 0x75,
+ 0x40, 0xb1, 0xaf, 0x76, 0x95, 0xe3, 0x37, 0x5e, 0xe6, 0x1e, 0x80, 0xe9,
+ 0x5e, 0xda, 0x70, 0xbf, 0xbf, 0x90, 0xed, 0xe7, 0x64, 0xb7, 0x74, 0xfd,
+ 0x96, 0xc5, 0x78, 0x5a, 0x2a, 0x66, 0xd8, 0xbc, 0xcf, 0x69, 0x67, 0x03,
+ 0x8a, 0x3e, 0xb1, 0xf1, 0x2b, 0x2b, 0x20, 0xbf, 0xe8, 0x89, 0xac, 0xb8,
+ 0x54, 0x5d, 0xa2, 0xdb, 0x1c, 0xdb, 0x22, 0xdd, 0x14, 0x4d, 0x67, 0x82,
+ 0xee, 0x27, 0xc9, 0x4f, 0x3f, 0xf5, 0x12, 0x32, 0x84, 0x7e, 0x6a, 0xcc,
+ 0xff, 0xcc, 0x46, 0xfb, 0x89, 0x51, 0xfa, 0x3f, 0xdd, 0x0c, 0x92, 0x6e,
+ 0x84, 0x9a, 0xbc, 0x87, 0xf5, 0x94, 0xc2, 0x02, 0xac, 0x56, 0xb7, 0xbd,
+ 0x2e, 0x9c, 0x12, 0x08, 0x07, 0x1e, 0xfb, 0xbe, 0x7d, 0xd4, 0x0f, 0x14,
+ 0xcb, 0xd0, 0x4d, 0xb4, 0x98, 0x15, 0x62, 0x8d, 0xf0, 0x3e, 0xc4, 0x11,
+ 0x87, 0xdc, 0xdf, 0xf8, 0xe3, 0x86, 0xdb, 0x33, 0x3d, 0x75, 0xdd, 0x36,
+ 0x2a, 0x57, 0x23, 0xc7, 0x49, 0x0f, 0xbe, 0x26, 0xd0, 0x21, 0xfe, 0xcf,
+ 0x71, 0x30, 0x23, 0x37, 0x4f, 0xc9, 0x6f, 0xca, 0x69, 0x10, 0xa5, 0x05,
+ 0x8f, 0x22, 0x1b, 0x64, 0x7e, 0x7d, 0x5f, 0x53, 0x88, 0x3e, 0x26, 0x6d,
+ 0xc2, 0x53, 0x32, 0x58, 0x2a, 0xe4, 0x1a, 0x45, 0x7c, 0xc0, 0xc6, 0xa2,
+ 0x5d, 0xd0, 0x12, 0x91, 0xa6, 0x3b, 0x1b, 0xfd, 0x0d, 0x1b, 0xe5, 0x10,
+ 0x58, 0x44, 0x80, 0x24, 0x55, 0x89, 0xe0, 0x21, 0xcd, 0x82, 0x4f, 0x7a,
+ 0xe8, 0xa7, 0xd2, 0xc7, 0xb6, 0xb9, 0xe4, 0x4e, 0xca, 0xce, 0xd2, 0x50,
+ 0xad, 0x7c, 0x5f, 0xe4, 0x4c, 0xc4, 0xa3, 0x00, 0x0c, 0x1c, 0xc2, 0xe8,
+ 0xda, 0x00, 0xcc, 0x5d, 0xe7, 0xf8, 0xef, 0xf7, 0x91, 0x67, 0x3f, 0xe7,
+ 0xdc, 0x78, 0xda, 0x1d, 0x08, 0x2f, 0xdf, 0x53, 0x26, 0xc4, 0x3c, 0x00,
+ 0x22, 0x29, 0xee, 0x4b, 0x93, 0x0d, 0xe9, 0x20, 0x53, 0x42, 0xf6, 0x6d,
+ 0x21, 0x09, 0xb5, 0xc3, 0x12, 0x66, 0xf7, 0x18, 0x81, 0x6a, 0x41, 0x45,
+ 0x48, 0x4e, 0x45, 0xc4, 0xe4, 0xa3, 0xcb, 0x2e, 0x50, 0x78, 0xa8, 0x3f,
+ 0xaf, 0x93, 0xf5, 0xe5, 0x6a, 0xcf, 0x7a, 0xf7, 0x0d, 0xc0, 0xdd, 0x9c,
+ 0x0f, 0x4b, 0xf2, 0x45, 0xd1, 0x91, 0x4d, 0xc1, 0x4b, 0xf5, 0xff, 0xce,
+ 0x60, 0x48, 0x4e, 0x69, 0x90, 0xab, 0x74, 0x8b, 0xd1, 0xa0, 0x75, 0x00,
+ 0x87, 0xa8, 0x3c, 0x30, 0x8d, 0xb7, 0x3f, 0x1c, 0x1c, 0x25, 0x87, 0x67,
+ 0x13, 0xb7, 0x14, 0xdf, 0x6a, 0xde, 0xd3, 0x5d, 0xf9, 0x63, 0xdf, 0x26,
+ 0xc4, 0x35, 0x7d, 0x4f, 0x3c, 0x8e, 0x7a, 0x45, 0x58, 0x5b, 0x61, 0x3e,
+ 0x45, 0x9e, 0xba, 0x62, 0xbd, 0xa1, 0xff, 0x04, 0xb3, 0xb3, 0xbb, 0x65,
+ 0xb3, 0x83, 0x90, 0x6c, 0xce, 0x30, 0x5c, 0x51, 0x09, 0xd6, 0xaf, 0x4b,
+ 0x86, 0x8c, 0xac, 0xef, 0x53, 0xe2, 0x0a, 0xa3, 0x60, 0x79, 0x8c, 0x9a,
+ 0x06, 0xdc, 0x69, 0x0e, 0x80, 0x9c, 0x6f, 0x4e, 0xdf, 0x1d, 0xb5, 0xe1,
+ 0x96, 0xf8, 0x49, 0xcc, 0xbb, 0x66, 0xe4, 0xd5, 0x5b, 0x23, 0x5f, 0x78,
+ 0x0f, 0xa4, 0x81, 0xea, 0xc6, 0x7b, 0xcb, 0x74, 0xeb, 0x2a, 0x6b, 0xe6,
+ 0xb7, 0x8b, 0x7c, 0xb2, 0xb9, 0x45, 0x7b, 0x84, 0xc0, 0xd6, 0x7d, 0x60,
+ 0xfc, 0xd9, 0x00, 0xac, 0x93, 0x4d, 0xd6, 0xc6, 0xab, 0xac, 0x59, 0x54,
+ 0x05, 0x7b, 0x44, 0xa9, 0xef, 0x61, 0x64, 0x53, 0xae, 0x34, 0xdf, 0x13,
+ 0x20, 0x9c, 0x11, 0x8c, 0x54, 0xe1, 0x06, 0xb7, 0x48, 0x08, 0x68, 0x1c,
+ 0x1c, 0x0b, 0x8f, 0xb1, 0x04, 0xf7, 0x94, 0x3f, 0x13, 0xc9, 0xc1, 0xd9,
+ 0xd9, 0x9b, 0x83, 0x8b, 0x03, 0x3b, 0x36, 0x5c, 0xc4, 0x90, 0x2c, 0x50,
+ 0x87, 0x8d, 0x48, 0x22, 0xed, 0x88, 0x9e, 0xdc, 0xf8, 0xd3, 0x87, 0xe1,
+ 0xd1, 0x79, 0x77, 0x61, 0xcf, 0xce, 0x4f, 0x89, 0x90, 0xe3, 0x4f, 0x3f,
+ 0x1d, 0x50, 0xc0, 0x54, 0xc2, 0x3d, 0x6f, 0xd2, 0x26, 0xdd, 0x08, 0x4e,
+ 0xf5, 0xde, 0x16, 0xf5, 0xef, 0xd6, 0xf6, 0xef, 0x52, 0x2e, 0x33, 0x98,
+ 0xf4, 0xc9, 0x47, 0x5a, 0xd0, 0x6a, 0xac, 0x58, 0x4b, 0x3b, 0x1b, 0x98,
+ 0x00, 0x40, 0x25, 0x97, 0x0f, 0xa4, 0x74, 0x92, 0x4c, 0xf1, 0x42, 0x3a,
+ 0x59, 0x53, 0x63, 0x4f, 0x67, 0xe3, 0x45, 0xa3, 0x5b, 0x1e, 0xfb, 0x8b,
+ 0xb2, 0x18, 0xbb, 0xf3, 0x12, 0x2c, 0x8f, 0xf3, 0x92, 0xb3, 0x14, 0x40,
+ 0x12, 0xad, 0xd9, 0x68, 0xc0, 0xc3, 0x0e, 0xa4, 0xb7, 0x2c, 0xc5, 0x62,
+ 0xf1, 0xe8, 0x8c, 0xfd, 0xe6, 0x48, 0xaa, 0xe5, 0x2e, 0x05, 0x13, 0xf2,
+ 0x47, 0x73, 0x1a, 0xfb, 0xc9, 0x91, 0x64, 0x7b, 0x60, 0xe0, 0xe6, 0x07,
+ 0xc1, 0x43, 0x8d, 0xb5, 0x15, 0x44, 0xd8, 0xc7, 0x65, 0x85, 0x97, 0x68,
+ 0xbe, 0xde, 0x55, 0x9e, 0x39, 0xb5, 0xcb, 0x3c, 0x44, 0xdd, 0xa6, 0x49,
+ 0x87, 0xa9, 0xb4, 0x1e, 0x41, 0xb6, 0xf4, 0xd3, 0x2b, 0xda, 0x5e, 0xe6,
+ 0x51, 0xa3, 0x45, 0x1b, 0x0b, 0x89, 0xfe, 0xb5, 0xbd, 0x3b, 0xd8, 0x59,
+ 0x0f, 0x3b, 0x4f, 0x87, 0x05, 0x24, 0x01, 0x36, 0x6c, 0x42, 0xd2, 0xb0,
+ 0x29, 0xcb, 0x07, 0xfb, 0xc7, 0x22, 0xcc, 0xe8, 0xa1, 0x73, 0xd3, 0x7e,
+ 0xb4, 0x2b, 0xfd, 0xd3, 0x00, 0x4c, 0x4a, 0xf0, 0xcc, 0x4a, 0x85, 0xa2,
+ 0x91, 0x89, 0x45, 0x79, 0x4b, 0x23, 0x31, 0x5b, 0x6d, 0x3a, 0x6d, 0xb1,
+ 0x39, 0xac, 0xc7, 0xa7, 0xb9, 0x00, 0x71, 0x4a, 0xd6, 0x9d, 0xed, 0x68,
+ 0x4c, 0x52, 0x95, 0x4c, 0x5f, 0x93, 0xb3, 0xc8, 0x46, 0x98, 0x8c, 0x76,
+ 0x27, 0xf8, 0xc9, 0xb4, 0x46, 0xca, 0x05, 0x72, 0x6f, 0xea, 0xc7, 0xdc,
+ 0xfb, 0x1a, 0xf8, 0xef, 0x53, 0x23, 0xa4, 0x7d, 0xbe, 0xe2, 0x5c, 0xcd,
+ 0xc0, 0x70, 0x7f, 0x97, 0xde, 0xe5, 0xb3, 0xc5, 0x0c, 0x1f, 0xa3, 0xbd,
+ 0x2d, 0x8f, 0x89, 0xc3, 0x18, 0x2e, 0x44, 0x06, 0x1e, 0x60, 0x93, 0x6f,
+ 0xd4, 0x89, 0x67, 0xbe, 0xc7, 0x2e, 0x19, 0x73, 0x25, 0x0f, 0xdc, 0xf0,
+ 0x0a, 0xc0, 0xf5, 0xc8, 0xa3, 0x5c, 0x77, 0x4c, 0x7f, 0xa3, 0x2d, 0xa4,
+ 0x14, 0x4d, 0xae, 0x4b, 0x0b, 0xc3, 0x88, 0x88, 0x73, 0x4e, 0x16, 0x16,
+ 0x1d, 0xce, 0x83, 0x25, 0x66, 0x55, 0x5e, 0x4e, 0xec, 0xb9, 0x21, 0x25,
+ 0x31, 0x2f, 0x16, 0x66, 0x9e, 0xa9, 0x2d, 0xba, 0x52, 0x15, 0xef, 0x1c,
+ 0x44, 0xb3, 0x01, 0xa1, 0x1e, 0x02, 0x19, 0xaf, 0x48, 0xc3, 0xcf, 0x06,
+ 0x4f, 0xf6, 0x06, 0x3b, 0xbd, 0x96, 0xf5, 0x2e, 0x39, 0xd5, 0xe6, 0x74,
+ 0x8d, 0xf3, 0x99, 0xcd, 0xb7, 0x1a, 0xfc, 0xcb, 0xbc, 0x34, 0x94, 0x69,
+ 0xd6, 0x9f, 0xa5, 0x77, 0x58, 0xbe, 0xe8, 0xb2, 0x96, 0xc9, 0xab, 0x6f,
+ 0x4e, 0x87, 0x17, 0xbb, 0xfb, 0x67, 0xa7, 0xe7, 0xe6, 0xbf, 0xf4, 0xf7,
+ 0x3d, 0xfc, 0x7d, 0x2f, 0xb0, 0x1e, 0xdf, 0x0a, 0x50, 0x52, 0x33, 0x33,
+ 0xa0, 0xa1, 0x40, 0xa3, 0xe1, 0xd9, 0x4c, 0xbc, 0x86, 0xc8, 0x5f, 0x0a,
+ 0x31, 0x38, 0xb6, 0xf9, 0x3c, 0xdd, 0x25, 0xf6, 0x3e, 0xa5, 0x68, 0x29,
+ 0x75, 0x34, 0xf8, 0x68, 0xb0, 0xbc, 0x51, 0x6d, 0x4a, 0x72, 0x41, 0x35,
+ 0xcb, 0xb4, 0xeb, 0xa2, 0xe5, 0x3c, 0x3e, 0x49, 0xc6, 0x50, 0xbe, 0x26,
+ 0xa0, 0x7e, 0xda, 0xbf, 0x1a, 0x4f, 0x8d, 0xa6, 0x9f, 0x11, 0x4a, 0x60,
+ 0x92, 0x31, 0x57, 0x08, 0xfd, 0x24, 0x66, 0x80, 0x98, 0xe3, 0x27, 0xe8,
+ 0xf4, 0x2e, 0x76, 0x8c, 0x77, 0xa4, 0xe0, 0x70, 0x29, 0x6d, 0xda, 0xf4,
+ 0x31, 0xaf, 0xaf, 0x65, 0x3a, 0x8a, 0xac, 0xe9, 0x36, 0xc7, 0x3c, 0x4a,
+ 0xbe, 0xc7, 0x0a, 0x49, 0xaa, 0x48, 0x37, 0x7d, 0x7f, 0x7a, 0x91, 0xa4,
+ 0x97, 0x97, 0x9a, 0x1b, 0x4b, 0xf0, 0x73, 0xd2, 0x58, 0xb7, 0xe7, 0x7c,
+ 0x93, 0x21, 0xfc, 0x18, 0x4a, 0x3e, 0xd6, 0x47, 0x2e, 0x4e, 0x86, 0xdb,
+ 0xe4, 0xaf, 0x62, 0x78, 0xd3, 0xf0, 0xfd, 0x71, 0xaf, 0xe5, 0x91, 0xf6,
+ 0x41, 0x0d, 0x5b, 0x74, 0x53, 0xc6, 0x15, 0x8a, 0xd4, 0xbb, 0x0b, 0x1d,
+ 0xe3, 0x02, 0xc1, 0xa5, 0xb0, 0xa4, 0xeb, 0xe2, 0x0c, 0x59, 0xc7, 0xd2,
+ 0xae, 0x27, 0x1a, 0x16, 0x83, 0xfd, 0x3b, 0x9b, 0x87, 0x60, 0x24, 0xf8,
+ 0x62, 0x7b, 0xe0, 0x21, 0x20, 0xa5, 0x63, 0x9d, 0x6c, 0x12, 0x1a, 0x16,
+ 0x86, 0xb4, 0x3e, 0xe0, 0x66, 0xf7, 0xd6, 0xd1, 0x2a, 0x1a, 0x35, 0x7f,
+ 0xa7, 0x36, 0xb1, 0x69, 0x47, 0x59, 0x0c, 0xc5, 0xcd, 0x1f, 0xf2, 0x1a,
+ 0x4f, 0x6c, 0xf3, 0xa6, 0x63, 0x36, 0x29, 0x49, 0x77, 0x07, 0x09, 0x98,
+ 0xb2, 0xca, 0xaf, 0x28, 0x10, 0xdc, 0xcd, 0x13, 0x72, 0x1d, 0x09, 0xdc,
+ 0x50, 0xa4, 0x8c, 0xd5, 0xcd, 0xba, 0xe7, 0x32, 0x68, 0x02, 0x1c, 0x36,
+ 0x10, 0x81, 0x95, 0xda, 0x33, 0xda, 0x1d, 0x92, 0x3f, 0x4d, 0x44, 0x8f,
+ 0x67, 0x65, 0xcf, 0x8c, 0x8e, 0xee, 0x1d, 0x17, 0xf1, 0xd1, 0x3c, 0x0f,
+ 0x3d, 0x4b, 0x60, 0x82, 0x38, 0x6e, 0x54, 0x80, 0x73, 0x8c, 0xa8, 0xdb,
+ 0x1c, 0x33, 0x16, 0x19, 0x89, 0xa0, 0xd0, 0xfe, 0xf5, 0xdd, 0xbd, 0xcf,
+ 0x06, 0x3b, 0xe6, 0xff, 0x99, 0x45, 0x11, 0xfd, 0x88, 0xf9, 0x52, 0x98,
+ 0xe6, 0x82, 0x3f, 0xc5, 0x4f, 0x27, 0x69, 0x77, 0x0f, 0xd9, 0x0b, 0xae,
+ 0xac, 0xae, 0xd6, 0xe3, 0x58, 0x17, 0x19, 0x74, 0xeb, 0x56, 0xa1, 0xb5,
+ 0xb4, 0x37, 0x4a, 0x3a, 0x91, 0x9f, 0xe8, 0x31, 0xaf, 0x16, 0xd3, 0x08,
+ 0x66, 0xcb, 0x73, 0x1b, 0x93, 0x82, 0x36, 0xbd, 0x11, 0xa7, 0xf1, 0x37,
+ 0x24, 0x9e, 0x38, 0x6f, 0x6b, 0xd0, 0x42, 0xbc, 0xbc, 0x6c, 0xf9, 0x00,
+ 0x0f, 0xc5, 0x6a, 0x83, 0x70, 0xee, 0x9b, 0xf3, 0xf0, 0xaa, 0xbc, 0xbc,
+ 0xac, 0xb3, 0xa6, 0x7b, 0x07, 0x1d, 0xca, 0x23, 0xdb, 0xe7, 0xe0, 0xf8,
+ 0xe2, 0xb0, 0x8d, 0xa4, 0x56, 0x24, 0x6d, 0x66, 0x8a, 0x44, 0x20, 0x46,
+ 0x2c, 0xb9, 0xb8, 0xb9, 0x41, 0x04, 0x4e, 0xee, 0xff, 0x5e, 0x51, 0x00,
+ 0x9c, 0x18, 0xaa, 0x7c, 0x07, 0x48, 0xaf, 0x61, 0x2a, 0x03, 0xb9, 0xec,
+ 0xba, 0xc4, 0x44, 0x7a, 0x2a, 0x3e, 0xe5, 0xf3, 0x39, 0x59, 0x38, 0x4c,
+ 0xf2, 0x83, 0x9d, 0x6b, 0x03, 0x66, 0xa3, 0xcc, 0x6c, 0x55, 0xec, 0x66,
+ 0x85, 0x82, 0x19, 0x3d, 0x79, 0x2c, 0xd7, 0xfe, 0x28, 0x33, 0xc7, 0x36,
+ 0x0b, 0xb5, 0x76, 0xea, 0x8f, 0xc7, 0xec, 0x20, 0x09, 0xe9, 0x13, 0x62,
+ 0x71, 0x28, 0x52, 0x95, 0x32, 0x97, 0x5e, 0xce, 0xb3, 0x24, 0x7b, 0xc5,
+ 0xf0, 0x88, 0x2e, 0x15, 0xc7, 0xba, 0xdc, 0x86, 0xc7, 0xff, 0xf3, 0xc8,
+ 0xf1, 0x70, 0x58, 0xa2, 0x0b, 0x4e, 0x6c, 0x88, 0xa5, 0x89, 0x98, 0x3d,
+ 0xd5, 0x3f, 0x34, 0xeb, 0x85, 0x18, 0x93, 0x07, 0x27, 0x28, 0x3b, 0xc0,
+ 0x7b, 0x98, 0x3e, 0xa4, 0x4c, 0x40, 0x21, 0xda, 0xa6, 0xd4, 0xd7, 0xe0,
+ 0x76, 0x60, 0x9a, 0x36, 0x76, 0x25, 0xca, 0x18, 0x71, 0x40, 0x1a, 0xc9,
+ 0x92, 0xf2, 0xb3, 0x0b, 0x44, 0x5f, 0xdc, 0xce, 0x0b, 0xd2, 0x1a, 0x59,
+ 0x87, 0x09, 0xc0, 0xf7, 0x9a, 0xf7, 0xc8, 0x09, 0xff, 0x8b, 0xe6, 0x5f,
+ 0x18, 0x2b, 0xa9, 0x68, 0xff, 0x82, 0xc9, 0xc9, 0xdb, 0xd4, 0x63, 0xde,
+ 0xd4, 0x44, 0x57, 0xd7, 0xff, 0x9b, 0x31, 0xb4, 0x5f, 0xa9, 0xa7, 0x62,
+ 0x59, 0x66, 0xac, 0xfa, 0x35, 0x08, 0x2c, 0x0f, 0x3b, 0x0c, 0x7b, 0xc3,
+ 0x52, 0x34, 0xe8, 0x54, 0xb3, 0x4b, 0x25, 0x85, 0x3a, 0x03, 0x2e, 0xbc,
+ 0xae, 0xac, 0xbf, 0x04, 0xef, 0x83, 0xe5, 0x01, 0xf0, 0x72, 0xe5, 0x06,
+ 0x14, 0x95, 0x9a, 0x72, 0x0b, 0x35, 0xa3, 0xe6, 0xa4, 0x0d, 0xb5, 0x1b,
+ 0xf2, 0xe0, 0xda, 0xcd, 0x8b, 0xfe, 0x2c, 0x9b, 0x01, 0xd0, 0xcb, 0xcf,
+ 0x22, 0x78, 0x46, 0xc4, 0x45, 0xb2, 0x1d, 0x79, 0x89, 0xd8, 0x12, 0x6f,
+ 0x04, 0x00, 0x02, 0xcd, 0x16, 0x9f, 0x0d, 0x63, 0x8f, 0x65, 0xc1, 0x6e,
+ 0x47, 0xf8, 0x0a, 0xf9, 0xe3, 0xe4, 0x22, 0xfb, 0x64, 0xd4, 0xe7, 0xa2,
+ 0x47, 0x3f, 0x45, 0xe2, 0xa1, 0x97, 0x85, 0x46, 0xdd, 0x6d, 0x32, 0x0e,
+ 0x52, 0x64, 0x11, 0x75, 0xd6, 0x7b, 0x56, 0x1e, 0xf5, 0x3c, 0x29, 0xef,
+ 0xb3, 0x46, 0xe0, 0x01, 0xdc, 0x79, 0xcd, 0xc2, 0x41, 0x26, 0xcf, 0xf1,
+ 0x65, 0xa7, 0x39, 0x30, 0x26, 0x65, 0x8d, 0xf3, 0x09, 0x41, 0xc0, 0x32,
+ 0x41, 0x24, 0xd3, 0xc4, 0x90, 0xdb, 0xb3, 0x67, 0x8e, 0xc1, 0xba, 0xba,
+ 0x60, 0x79, 0x04, 0xb2, 0x51, 0x22, 0x8e, 0x19, 0xea, 0x0e, 0x79, 0x8a,
+ 0x9a, 0x49, 0x6c, 0x4f, 0xb2, 0xfa, 0xab, 0x07, 0x52, 0xd8, 0xb3, 0x64,
+ 0x83, 0x72, 0x46, 0x8b, 0xd1, 0x26, 0x10, 0xad, 0x77, 0x5f, 0x13, 0xb4,
+ 0x15, 0x36, 0x7a, 0x37, 0xf7, 0xd2, 0x65, 0x11, 0x12, 0x4c, 0xa2, 0x9a,
+ 0xa8, 0x73, 0x44, 0x3b, 0x6a, 0xa4, 0xb0, 0x98, 0x46, 0xb7, 0x29, 0x76,
+ 0x9a, 0x6d, 0x3f, 0x8f, 0x68, 0x21, 0x1e, 0xc6, 0xad, 0x3f, 0x72, 0xdb,
+ 0xd9, 0x31, 0x48, 0x44, 0x5d, 0xb3, 0xf2, 0x10, 0xed, 0x79, 0x73, 0xb1,
+ 0x6c, 0x40, 0xb2, 0x48, 0x26, 0x21, 0x48, 0x19, 0xec, 0xa4, 0xf0, 0x14,
+ 0xde, 0x5e, 0x97, 0x53, 0xb6, 0x8c, 0x83, 0x08, 0x8b, 0x4d, 0xf1, 0x04,
+ 0xbf, 0x01, 0x61, 0x36, 0xe1, 0x58, 0xbe, 0x01, 0x1c, 0xb4, 0x15, 0x25,
+ 0x31, 0x2a, 0x5e, 0x96, 0x52, 0x62, 0x89, 0x00, 0xa2, 0x93, 0xfe, 0x4d,
+ 0x98, 0x10, 0x67, 0xce, 0xf9, 0xa8, 0xac, 0xed, 0x7e, 0xa1, 0x44, 0x4a,
+ 0xba, 0x41, 0x6e, 0xd3, 0x0a, 0x82, 0x59, 0x88, 0x62, 0x94, 0x43, 0xcf,
+ 0xc7, 0x85, 0x91, 0x36, 0xd8, 0x05, 0xb3, 0xe7, 0x94, 0x7c, 0x6c, 0xb6,
+ 0x89, 0xd1, 0x01, 0xc8, 0x4d, 0x8b, 0xbd, 0x43, 0x4d, 0x0a, 0x05, 0xcc,
+ 0x35, 0xd8, 0x20, 0x25, 0x43, 0xd9, 0x9c, 0xc3, 0x6b, 0xba, 0xd6, 0xf3,
+ 0x66, 0x91, 0x36, 0x8f, 0x43, 0xe3, 0x2e, 0x93, 0x4d, 0x2c, 0x9c, 0x7c,
+ 0x30, 0x43, 0x24, 0x94, 0x80, 0x6d, 0xbb, 0x24, 0x6a, 0xe8, 0x2f, 0xe4,
+ 0x2b, 0x3a, 0x6b, 0x4b, 0xe4, 0xd1, 0x19, 0xb8, 0xac, 0xae, 0xdb, 0x64,
+ 0x28, 0xc8, 0xbb, 0x94, 0x6b, 0x44, 0x53, 0x9b, 0xb8, 0x29, 0xbd, 0xe5,
+ 0x8f, 0x23, 0xf1, 0x7c, 0xc4, 0xbf, 0x4c, 0x2f, 0xa6, 0xf7, 0xae, 0x41,
+ 0x2f, 0x25, 0x52, 0x51, 0xbb, 0x1e, 0x51, 0x94, 0xfd, 0x42, 0x92, 0x76,
+ 0xb5, 0x9a, 0xa1, 0x51, 0xbe, 0xf9, 0x9b, 0xfb, 0xeb, 0xca, 0xbb, 0x67,
+ 0x89, 0x44, 0x44, 0x78, 0x48, 0x4e, 0x8e, 0xc5, 0xf4, 0x8b, 0xcf, 0x9e,
+ 0x4e, 0x7d, 0xb7, 0x39, 0x22, 0xa1, 0xdd, 0x7d, 0xfd, 0xdd, 0xc1, 0xc9,
+ 0x87, 0xa3, 0xdd, 0xcf, 0x13, 0xfa, 0xd7, 0x1e, 0xff, 0x6b, 0x6f, 0x3d,
+ 0xb6, 0x4a, 0x46, 0x3e, 0x6d, 0xbc, 0xde, 0x48, 0xea, 0xfb, 0xd9, 0xa8,
+ 0x9c, 0xda, 0x75, 0x92, 0xa9, 0xd0, 0x50, 0x59, 0x4f, 0x2e, 0x6f, 0x9b,
+ 0xa1, 0x2b, 0x1e, 0xf2, 0xae, 0xa4, 0xae, 0x05, 0x4f, 0xa6, 0x52, 0x06,
+ 0x31, 0x3a, 0x3f, 0x57, 0xb4, 0x41, 0x3a, 0xad, 0x8a, 0x2e, 0x89, 0xd6,
+ 0x2d, 0xc3, 0xf8, 0xe1, 0x2e, 0xd2, 0xf3, 0x5c, 0x47, 0x04, 0x86, 0x64,
+ 0xa6, 0xf3, 0xee, 0x87, 0x4f, 0x5c, 0x9c, 0x96, 0x2c, 0x2b, 0x02, 0xc1,
+ 0x6f, 0xc4, 0x12, 0xce, 0x92, 0xe5, 0x5c, 0xd5, 0x16, 0x48, 0x95, 0xa7,
+ 0xb9, 0x25, 0x6a, 0xae, 0x7b, 0xc9, 0x35, 0xdf, 0xa8, 0x32, 0x2b, 0x76,
+ 0x31, 0xf4, 0x20, 0xf6, 0x30, 0x1b, 0x89, 0xd6, 0xe2, 0xf1, 0xd2, 0x9c,
+ 0xd0, 0x66, 0x54, 0x1c, 0x86, 0x4d, 0x07, 0xac, 0x90, 0x34, 0xef, 0x3c,
+ 0x19, 0x89, 0x47, 0x7b, 0x6a, 0x09, 0xd4, 0x84, 0x81, 0xcc, 0x63, 0x64,
+ 0x84, 0xab, 0x4d, 0x1c, 0xcd, 0x0e, 0x96, 0xe6, 0xe4, 0x38, 0x61, 0xdc,
+ 0x49, 0xb5, 0x23, 0x64, 0x49, 0x57, 0x70, 0x1a, 0xb5, 0xb2, 0x4e, 0x36,
+ 0x8d, 0x5c, 0xdf, 0xea, 0x79, 0xb1, 0x58, 0x5d, 0x40, 0x71, 0x49, 0x34,
+ 0x36, 0x6a, 0xba, 0x24, 0x4e, 0x70, 0x71, 0xdd, 0xba, 0x61, 0x54, 0xd7,
+ 0xd3, 0x1c, 0x56, 0x8e, 0xc1, 0xca, 0x95, 0xc1, 0xcd, 0xf0, 0x46, 0x25,
+ 0x68, 0xde, 0x34, 0x0d, 0xe6, 0x8c, 0xb3, 0x9c, 0x85, 0xf7, 0x80, 0x22,
+ 0xfa, 0x76, 0xeb, 0x9b, 0xef, 0xdf, 0x4f, 0xb3, 0x2d, 0x35, 0x0a, 0xf4,
+ 0x96, 0xdb, 0x7e, 0x57, 0xfe, 0xc3, 0xf4, 0x3b, 0x95, 0x8f, 0xc4, 0x2e,
+ 0x4b, 0xb9, 0xfb, 0x96, 0xf6, 0xdc, 0x09, 0x16, 0xce, 0x04, 0xf6, 0xc5,
+ 0x45, 0xcb, 0x2e, 0x46, 0xa0, 0x97, 0x14, 0x32, 0xe0, 0x70, 0x83, 0xd5,
+ 0x16, 0xb5, 0x22, 0xb8, 0x9a, 0x45, 0x90, 0x20, 0xb2, 0x93, 0x5c, 0x94,
+ 0x02, 0xc5, 0xb1, 0x5b, 0x4c, 0xee, 0x9b, 0xae, 0xec, 0xee, 0x2a, 0x53,
+ 0x4b, 0x6e, 0xa0, 0xa3, 0xbb, 0xac, 0x1a, 0x13, 0xa7, 0xc0, 0xd8, 0x28,
+ 0xa4, 0x10, 0xa4, 0x97, 0xe2, 0x9a, 0xa2, 0x20, 0x9c, 0xcd, 0xb7, 0xf1,
+ 0x3d, 0x6a, 0xb8, 0x77, 0x75, 0xa7, 0x2d, 0xdd, 0x64, 0x00, 0x39, 0x8c,
+ 0xcd, 0xc6, 0x18, 0x58, 0xfa, 0x27, 0xbd, 0x19, 0xdb, 0x02, 0x44, 0x13,
+ 0x87, 0x10, 0x4a, 0x08, 0x40, 0x66, 0x98, 0x61, 0x7d, 0xd1, 0x5b, 0x4d,
+ 0xd9, 0x2e, 0xe8, 0x0b, 0x93, 0xf9, 0xb8, 0xc8, 0x10, 0xe5, 0x82, 0x83,
+ 0x11, 0x65, 0x39, 0x0e, 0xd1, 0xae, 0x0e, 0x88, 0x1a, 0x10, 0x29, 0x29,
+ 0xee, 0x95, 0x47, 0x65, 0x13, 0xf7, 0x25, 0x6b, 0x85, 0xca, 0xb7, 0x05,
+ 0x95, 0x2b, 0xcc, 0x37, 0x9d, 0x96, 0xb7, 0x14, 0x7f, 0x69, 0xb3, 0xdf,
+ 0xcd, 0xca, 0x09, 0xef, 0x87, 0xd1, 0xbd, 0xe5, 0xc9, 0xee, 0x93, 0x92,
+ 0xc4, 0x9f, 0x1d, 0x68, 0xc8, 0x31, 0xba, 0x03, 0x34, 0x7d, 0xae, 0x9b,
+ 0x5f, 0x92, 0xba, 0xec, 0x92, 0x86, 0x1d, 0xc9, 0xac, 0x58, 0x38, 0xea,
+ 0x99, 0xd8, 0x8d, 0x86, 0x11, 0x8f, 0x4a, 0xe2, 0x34, 0x94, 0xbb, 0x0d,
+ 0x03, 0x26, 0x3f, 0x9c, 0x31, 0x8b, 0x1b, 0x68, 0xff, 0x6a, 0xff, 0x35,
+ 0x82, 0x23, 0x15, 0x47, 0x51, 0x10, 0x6b, 0xfc, 0xc4, 0xc4, 0x47, 0x65,
+ 0xa3, 0xa4, 0x96, 0x42, 0xf8, 0xd6, 0x20, 0x89, 0x8f, 0x94, 0x4d, 0x58,
+ 0xbf, 0xe0, 0xd7, 0x32, 0xdf, 0x25, 0x54, 0x52, 0x5d, 0x13, 0x97, 0x12,
+ 0x0d, 0x3d, 0x0d, 0x78, 0x14, 0x30, 0xd5, 0x84, 0xac, 0x71, 0x8b, 0xba,
+ 0xc9, 0x4c, 0x27, 0xe8, 0x85, 0x48, 0x13, 0x22, 0x40, 0x80, 0xc1, 0x3e,
+ 0xd2, 0x77, 0xea, 0x2d, 0xf2, 0x63, 0x44, 0x40, 0x97, 0x2d, 0xe5, 0x75,
+ 0xc9, 0xa1, 0xfd, 0xa7, 0x2d, 0x9a, 0xc0, 0xc2, 0xab, 0x6a, 0x26, 0x90,
+ 0x04, 0x05, 0xa7, 0x45, 0x3e, 0x63, 0xca, 0x43, 0xe1, 0x95, 0xba, 0xf8,
+ 0x1b, 0x4c, 0x8a, 0xee, 0x28, 0xe6, 0x13, 0xe8, 0x7c, 0xfa, 0x0e, 0xb4,
+ 0x24, 0x8f, 0x08, 0xae, 0x2e, 0xe5, 0x44, 0xa2, 0x79, 0x12, 0x34, 0x4e,
+ 0xd2, 0xc4, 0x18, 0x51, 0xba, 0x32, 0xc0, 0x0f, 0xb0, 0xb4, 0x78, 0x8a,
+ 0xd8, 0x87, 0x33, 0xf3, 0xe5, 0x83, 0x79, 0x11, 0x57, 0x70, 0xdf, 0xec,
+ 0xff, 0x3a, 0x16, 0xa8, 0xd4, 0x6b, 0xdc, 0x48, 0xf9, 0xbf, 0x2d, 0x8a,
+ 0x71, 0xe7, 0x9a, 0x2a, 0x7b, 0x1e, 0x1f, 0x9d, 0x44, 0x65, 0xed, 0x2d,
+ 0xd1, 0xdd, 0xf8, 0xf8, 0x90, 0x70, 0x9d, 0x50, 0xa6, 0x1f, 0xc1, 0xf3,
+ 0xe9, 0x8a, 0x9b, 0x7a, 0x39, 0x81, 0xd7, 0xb9, 0x59, 0xa1, 0x6a, 0x7c,
+ 0x8d, 0x84, 0x71, 0xf8, 0x91, 0x32, 0x75, 0x8e, 0xc6, 0x71, 0x46, 0xd2,
+ 0xac, 0x68, 0x64, 0x39, 0x89, 0x24, 0xa2, 0x84, 0x28, 0x0b, 0x15, 0xd4,
+ 0xcb, 0xfa, 0x19, 0xc2, 0xb8, 0xae, 0x69, 0xce, 0xb3, 0x69, 0x9d, 0x59,
+ 0xf4, 0x87, 0x7d, 0xc7, 0xdd, 0x95, 0xb0, 0xc0, 0x0b, 0xf8, 0x64, 0x39,
+ 0x07, 0x24, 0x8f, 0x9e, 0x72, 0xf4, 0xc4, 0x28, 0x3b, 0xd2, 0x19, 0x32,
+ 0x2a, 0x69, 0x9f, 0xdc, 0x2b, 0xa1, 0x88, 0xb4, 0xa0, 0xbb, 0x4e, 0x09,
+ 0x45, 0x82, 0xdb, 0xa7, 0xb4, 0xf3, 0x26, 0x24, 0x1d, 0x3a, 0x55, 0xb9,
+ 0xf2, 0x0d, 0xf3, 0x56, 0x21, 0x2f, 0x86, 0xe9, 0x0d, 0xf3, 0xe0, 0x53,
+ 0xfc, 0xab, 0xdf, 0xbf, 0x6c, 0xe6, 0xfd, 0xe8, 0x12, 0x60, 0xad, 0xdb,
+ 0x5b, 0x60, 0x7a, 0x29, 0x84, 0x2c, 0xef, 0x94, 0x8b, 0xea, 0x86, 0x92,
+ 0x34, 0x92, 0x93, 0xb7, 0xec, 0xc5, 0x3b, 0x3c, 0xa7, 0xbf, 0xe5, 0x96,
+ 0x8e, 0x66, 0x80, 0x43, 0x41, 0xc4, 0xf6, 0x9c, 0xab, 0xfc, 0xee, 0xbb,
+ 0x6e, 0x82, 0xdd, 0xe6, 0xe9, 0x70, 0xfb, 0xc9, 0xcb, 0x9d, 0xad, 0x08,
+ 0x40, 0xd9, 0x7c, 0xc3, 0xf1, 0x74, 0x7d, 0x36, 0x78, 0xba, 0x33, 0xd8,
+ 0xd9, 0xea, 0xf4, 0x86, 0xa6, 0x7b, 0x05, 0x4f, 0x86, 0xb2, 0x0b, 0xdb,
+ 0x8b, 0x03, 0xa0, 0x63, 0x4b, 0x45, 0xa1, 0x20, 0x69, 0x3f, 0x4d, 0xf0,
+ 0x3c, 0xbb, 0x31, 0x5b, 0x2d, 0x66, 0x75, 0x27, 0x27, 0x79, 0x2d, 0x56,
+ 0x0d, 0xdd, 0x66, 0x7a, 0xbf, 0x50, 0x1e, 0x6e, 0x1b, 0xfa, 0x8b, 0x47,
+ 0xe8, 0xc2, 0x64, 0xac, 0x43, 0x24, 0xda, 0x52, 0x9b, 0x4e, 0x55, 0x40,
+ 0xe1, 0x21, 0xa6, 0xff, 0xbb, 0x7b, 0x5a, 0x3c, 0xcf, 0xe1, 0xee, 0xcb,
+ 0xc1, 0x67, 0xfe, 0x9a, 0x92, 0xbe, 0xdf, 0x4f, 0xeb, 0x71, 0x9e, 0xaf,
+ 0x34, 0x66, 0x14, 0xde, 0xf8, 0xb7, 0x05, 0x18, 0xa7, 0xcc, 0x36, 0xcd,
+ 0x53, 0x0e, 0xd5, 0x3a, 0xa2, 0xbe, 0xa0, 0x59, 0xd2, 0x57, 0xcd, 0x16,
+ 0x5b, 0xd5, 0xae, 0x18, 0xf0, 0x54, 0xac, 0x40, 0xb8, 0x45, 0xad, 0x86,
+ 0x59, 0x77, 0x55, 0x29, 0x73, 0x16, 0x98, 0x9b, 0x6a, 0x5e, 0x85, 0x09,
+ 0x5c, 0x04, 0xc4, 0x04, 0xbc, 0x39, 0x6d, 0xea, 0x92, 0xe6, 0x29, 0x36,
+ 0xa9, 0x70, 0x4f, 0x80, 0x9d, 0xd1, 0x9a, 0x51, 0xf6, 0xec, 0x0b, 0x18,
+ 0xe8, 0x4b, 0x0f, 0xb9, 0xd3, 0x32, 0x83, 0xd2, 0x88, 0x32, 0xc8, 0xe4,
+ 0xd2, 0x09, 0xc2, 0xe3, 0x9c, 0x2a, 0x43, 0x03, 0x11, 0x8a, 0x75, 0xf8,
+ 0x3c, 0x18, 0x23, 0x22, 0x04, 0xeb, 0xc4, 0x35, 0x63, 0x67, 0x2b, 0xc2,
+ 0x24, 0xd4, 0x33, 0xe3, 0x03, 0x75, 0x1d, 0x76, 0x50, 0x91, 0xdd, 0x92,
+ 0x34, 0xae, 0x45, 0x9d, 0xa8, 0xaa, 0x9c, 0x9c, 0x46, 0x16, 0x5c, 0xc0,
+ 0x2a, 0x19, 0xc1, 0x2d, 0xe9, 0x82, 0x9e, 0x44, 0xb2, 0x76, 0xc7, 0x38,
+ 0x9d, 0xb5, 0x05, 0x68, 0x17, 0x20, 0x5f, 0x23, 0x32, 0xb1, 0x68, 0xb6,
+ 0x54, 0x5b, 0xad, 0xb3, 0xc4, 0x5e, 0x91, 0x4d, 0x07, 0x26, 0x7c, 0x87,
+ 0xf0, 0x68, 0x22, 0x5e, 0x25, 0x82, 0x68, 0xb0, 0xff, 0x85, 0xc9, 0x98,
+ 0x30, 0xd7, 0x69, 0x2d, 0x55, 0x13, 0x46, 0xbc, 0x1b, 0x57, 0x6c, 0x9d,
+ 0x2a, 0xbd, 0x7d, 0x78, 0x3f, 0x7a, 0xbb, 0x46, 0x66, 0x7a, 0x0a, 0x9f,
+ 0x8c, 0xc7, 0x1d, 0x49, 0x8e, 0x08, 0x0b, 0x0c, 0x8c, 0xf4, 0x54, 0x38,
+ 0xcb, 0x99, 0x30, 0xdc, 0x4c, 0x66, 0x23, 0x86, 0x14, 0xcb, 0xf5, 0x2f,
+ 0x57, 0x24, 0xc5, 0x38, 0xef, 0xa5, 0x1b, 0x45, 0xcb, 0x45, 0xdf, 0x21,
+ 0xa0, 0xc3, 0xb0, 0xcc, 0x95, 0xc7, 0x59, 0x25, 0x8f, 0x38, 0x14, 0x6e,
+ 0x74, 0x3d, 0xbb, 0x91, 0x44, 0xf9, 0x67, 0x0f, 0x94, 0x37, 0x4c, 0x61,
+ 0x2a, 0x8c, 0x41, 0x0e, 0xd9, 0x21, 0x4f, 0xdb, 0x0a, 0x44, 0x22, 0x96,
+ 0x81, 0x6a, 0x9e, 0x55, 0x24, 0x05, 0x01, 0xcf, 0xee, 0x2b, 0xaa, 0x36,
+ 0x76, 0xb1, 0x98, 0xcd, 0x7f, 0xf8, 0xf5, 0x31, 0x60, 0xc6, 0xe6, 0xd0,
+ 0x17, 0x92, 0x4a, 0xce, 0xfd, 0xe7, 0xf2, 0x14, 0xd6, 0x08, 0xbb, 0xca,
+ 0x2d, 0x7b, 0x54, 0x9a, 0xb4, 0xd8, 0x20, 0x3b, 0x3a, 0x72, 0xa2, 0xca,
+ 0xb0, 0x00, 0x29, 0x45, 0xa7, 0x15, 0x13, 0xd1, 0x86, 0x22, 0x53, 0x87,
+ 0x5d, 0x8f, 0xce, 0x17, 0xbe, 0xae, 0x94, 0x07, 0x69, 0x2d, 0xd1, 0x46,
+ 0x28, 0x16, 0x01, 0xae, 0xd9, 0xed, 0x57, 0x2e, 0xf7, 0x91, 0x85, 0x18,
+ 0x2d, 0xf9, 0x7c, 0xbc, 0x1a, 0x0f, 0xd6, 0xc4, 0x15, 0x32, 0xc1, 0x47,
+ 0xec, 0xd4, 0x65, 0xbe, 0x85, 0xcb, 0x49, 0x42, 0xe4, 0xfd, 0x89, 0xb9,
+ 0x18, 0x55, 0x2d, 0x21, 0x7f, 0xec, 0x7f, 0x90, 0x34, 0xc5, 0x1d, 0x61,
+ 0xce, 0x27, 0xdd, 0x92, 0x9a, 0xbc, 0xe5, 0xb7, 0xa6, 0x1c, 0x63, 0x82,
+ 0xd0, 0x8c, 0x37, 0x47, 0xf6, 0xca, 0x6b, 0xba, 0xd9, 0xbf, 0x14, 0xd7,
+ 0x8a, 0x39, 0xaa, 0x4a, 0xde, 0xcb, 0x26, 0x24, 0x67, 0xee, 0xb1, 0xd7,
+ 0x42, 0x08, 0x51, 0x68, 0x1a, 0xe2, 0xcd, 0x71, 0x34, 0xce, 0x9b, 0x3d,
+ 0xde, 0x71, 0x44, 0x11, 0x5c, 0x73, 0xc9, 0x97, 0x3f, 0x74, 0x27, 0xef,
+ 0xf5, 0xc3, 0xb3, 0xf7, 0x4b, 0xa7, 0x6f, 0xf5, 0xec, 0x31, 0xd5, 0xb6,
+ 0xa2, 0x3a, 0x5f, 0x7b, 0x2e, 0x25, 0x00, 0x13, 0xd8, 0x56, 0xb0, 0xae,
+ 0xa5, 0xb6, 0x94, 0xf1, 0x8c, 0xa2, 0xd7, 0xbf, 0xd5, 0xaa, 0x63, 0x33,
+ 0xc2, 0x02, 0xa5, 0xce, 0xc7, 0x9b, 0xe3, 0xf8, 0x17, 0xd6, 0xde, 0x27,
+ 0x84, 0x13, 0x9d, 0x11, 0x2d, 0xc0, 0xc9, 0x62, 0xf6, 0x7f, 0xc3, 0x9b,
+ 0x79, 0x04, 0x48, 0x62, 0x3f, 0xde, 0x9c, 0x66, 0xa8, 0x89, 0xd2, 0x18,
+ 0x8c, 0xef, 0x4b, 0xbd, 0xa4, 0x1e, 0x1a, 0x5c, 0xcb, 0x9b, 0x05, 0x14,
+ 0x8c, 0x38, 0x02, 0x2d, 0x1a, 0xca, 0x62, 0x18, 0x22, 0xde, 0x52, 0x9b,
+ 0x26, 0x68, 0x09, 0xea, 0xb8, 0xe2, 0x87, 0xde, 0x60, 0x5b, 0xbd, 0xf6,
+ 0x9c, 0x11, 0x01, 0x17, 0xee, 0x03, 0x59, 0xe8, 0x78, 0x73, 0x39, 0x0c,
+ 0x53, 0x59, 0x3e, 0x62, 0xd1, 0x8e, 0x2e, 0xdf, 0xff, 0x9f, 0x0d, 0x91,
+ 0xbd, 0xb0, 0x1c, 0x96, 0xe6, 0xd2, 0x3f, 0x57, 0x4c, 0x68, 0x67, 0xba,
+ 0x05, 0x40, 0x78, 0xd2, 0xaa, 0x77, 0x11, 0xa0, 0x14, 0x60, 0x7c, 0xf7,
+ 0x10, 0x1c, 0x9c, 0x22, 0x82, 0x9a, 0x33, 0x2b, 0xef, 0x6b, 0x7b, 0xf3,
+ 0x4c, 0xfa, 0x34, 0xbc, 0xbe, 0xec, 0xda, 0x01, 0xf6, 0xe1, 0x8a, 0xcd,
+ 0x6a, 0x37, 0x67, 0x7c, 0x5f, 0x06, 0x3b, 0x70, 0xf9, 0xed, 0xa8, 0xdc,
+ 0x8f, 0x72, 0xbd, 0xb7, 0x2e, 0xcb, 0xdd, 0x17, 0xad, 0xcb, 0xd2, 0xbd,
+ 0xb3, 0xea, 0x9a, 0x1c, 0x66, 0x8c, 0x9f, 0xf2, 0x7d, 0x6e, 0x78, 0x09,
+ 0x98, 0x15, 0xf0, 0xae, 0x87, 0x48, 0x1c, 0x7a, 0xb5, 0xab, 0x03, 0x08,
+ 0x14, 0xc6, 0x79, 0xba, 0xd9, 0x11, 0x4a, 0x11, 0x1e, 0x51, 0xe6, 0x93,
+ 0x51, 0x55, 0xde, 0xd6, 0xd0, 0x9e, 0xd4, 0x9e, 0x4a, 0x19, 0xb1, 0x79,
+ 0x1d, 0xc0, 0x06, 0xcc, 0xf4, 0x4e, 0x2d, 0x47, 0xe5, 0x37, 0x17, 0xef,
+ 0x4e, 0x98, 0x87, 0x9b, 0x33, 0x47, 0x29, 0x39, 0x46, 0xfa, 0xbc, 0x18,
+ 0xcd, 0xcc, 0xfa, 0x1b, 0x05, 0xa5, 0x61, 0x69, 0xa6, 0x02, 0x32, 0x48,
+ 0x6f, 0x45, 0xf8, 0x49, 0x82, 0x97, 0xf3, 0x58, 0x50, 0x41, 0x5c, 0x41,
+ 0x2e, 0x68, 0x27, 0x8b, 0x8b, 0x24, 0xb3, 0xe5, 0x48, 0x96, 0xed, 0xbb,
+ 0xfe, 0xed, 0xed, 0x6d, 0x9f, 0x7a, 0xe7, 0x14, 0x13, 0x32, 0xd9, 0x0e,
+ 0x19, 0xc0, 0x01, 0x55, 0xea, 0x2d, 0x2d, 0x05, 0x3d, 0x12, 0x9c, 0x3e,
+ 0x4f, 0x53, 0x43, 0xb9, 0x18, 0xd0, 0xdd, 0x5a, 0x87, 0x02, 0x29, 0x5e,
+ 0x96, 0x2b, 0x1e, 0xe4, 0x3d, 0x69, 0x5b, 0xd9, 0xea, 0x8a, 0x34, 0xa7,
+ 0x7c, 0x39, 0xd6, 0x77, 0x5f, 0xff, 0x22, 0x55, 0x84, 0x54, 0x22, 0x89,
+ 0x7e, 0x2c, 0x2a, 0xf2, 0x3f, 0xb1, 0x85, 0xd1, 0x8b, 0x40, 0xc4, 0x45,
+ 0x27, 0x51, 0x07, 0xb4, 0x0d, 0xc3, 0xb5, 0x2c, 0x13, 0xa5, 0xb7, 0xa6,
+ 0xb6, 0xbd, 0xe3, 0x1b, 0xd1, 0x13, 0x99, 0x2a, 0x07, 0xc0, 0x7f, 0xac,
+ 0xa6, 0xd9, 0x6c, 0xa6, 0x75, 0x54, 0x6f, 0x49, 0xe1, 0xcf, 0x0d, 0x34,
+ 0xbc, 0xa8, 0x8e, 0xed, 0xb8, 0xdf, 0x6b, 0x47, 0xf7, 0xad, 0xe6, 0x1d,
+ 0x18, 0x83, 0xc0, 0x11, 0x04, 0xbe, 0xef, 0xb2, 0xed, 0x9e, 0xe9, 0x07,
+ 0xa1, 0x4a, 0x71, 0xd7, 0xf4, 0xbc, 0x98, 0x50, 0x4e, 0x0e, 0x13, 0x3f,
+ 0xb6, 0xe5, 0xa2, 0xc0, 0xb3, 0xac, 0xba, 0x62, 0xd4, 0x3c, 0x13, 0x55,
+ 0x46, 0xb3, 0xea, 0xd3, 0xc4, 0xa3, 0x8b, 0x4a, 0x92, 0x7f, 0xeb, 0xf3,
+ 0xa5, 0x0a, 0xcf, 0xca, 0x82, 0x02, 0x18, 0xe2, 0x02, 0xde, 0xe8, 0x4f,
+ 0x58, 0xac, 0x4c, 0xd2, 0xc2, 0xcc, 0x84, 0x39, 0xb1, 0x21, 0x96, 0x63,
+ 0x3a, 0x7d, 0x3d, 0x2d, 0x17, 0xf5, 0xfd, 0x46, 0x22, 0xa5, 0x17, 0x84,
+ 0xad, 0xbc, 0x11, 0xdc, 0x09, 0x00, 0x38, 0xe3, 0xeb, 0x45, 0xf1, 0x49,
+ 0xef, 0x45, 0x02, 0xd6, 0xd7, 0xec, 0x5b, 0xec, 0x34, 0xb7, 0xe1, 0x7d,
+ 0xec, 0xdf, 0xfc, 0xb6, 0xa3, 0xb3, 0x0c, 0x4f, 0x24, 0xdb, 0x79, 0x8f,
+ 0x33, 0xf4, 0x5c, 0x14, 0x21, 0x66, 0xe5, 0x25, 0xad, 0xf0, 0x92, 0x6d,
+ 0x90, 0xee, 0x0d, 0x26, 0x07, 0x55, 0x2f, 0xb9, 0x83, 0x19, 0x40, 0xde,
+ 0x2c, 0xc9, 0x95, 0x70, 0xb5, 0x13, 0x39, 0x06, 0xe2, 0x28, 0xbc, 0x98,
+ 0x52, 0xc1, 0x96, 0x2a, 0xf0, 0x33, 0xb3, 0x06, 0xc9, 0x99, 0x99, 0xaf,
+ 0x7e, 0x10, 0x62, 0xba, 0xf2, 0x9a, 0x4b, 0x7d, 0x2a, 0x46, 0xb9, 0xd6,
+ 0x6c, 0xe6, 0x39, 0x80, 0xd0, 0x8c, 0x6e, 0x4f, 0xac, 0x35, 0x19, 0x40,
+ 0x4a, 0xd8, 0xb4, 0x44, 0xbe, 0x84, 0x5a, 0x9f, 0xd6, 0x53, 0x4c, 0x1c,
+ 0xd0, 0x44, 0x34, 0x40, 0x61, 0x78, 0x35, 0xa6, 0xd9, 0xd7, 0xce, 0x6e,
+ 0xce, 0xe0, 0xcc, 0x78, 0xa7, 0x97, 0xe6, 0x03, 0x42, 0xc0, 0x12, 0x42,
+ 0xd3, 0x4d, 0xd6, 0x31, 0xba, 0x38, 0x57, 0xde, 0x89, 0x95, 0x38, 0x61,
+ 0xdc, 0x2a, 0xec, 0x94, 0x7f, 0xb6, 0xbd, 0xdb, 0xc6, 0x59, 0x5d, 0xdd,
+ 0x2b, 0x68, 0xb9, 0xbf, 0xd0, 0x51, 0x6a, 0x3a, 0x11, 0xc8, 0xaf, 0x1f,
+ 0x2b, 0x26, 0x4b, 0x5a, 0x13, 0x4f, 0x97, 0x6f, 0xea, 0x65, 0xd3, 0xec,
+ 0x8a, 0xc7, 0xf4, 0xea, 0xe4, 0xe8, 0xbb, 0xa3, 0x93, 0xe0, 0x02, 0xfb,
+ 0x7a, 0x38, 0xdc, 0xfe, 0x94, 0x55, 0x23, 0x54, 0xb3, 0x23, 0x9f, 0x77,
+ 0x82, 0xe7, 0x2c, 0x2c, 0xc8, 0x93, 0xea, 0xb7, 0x8e, 0xcc, 0x41, 0x10,
+ 0xc2, 0x81, 0xb1, 0x4f, 0xd0, 0x4f, 0xfe, 0xa4, 0x90, 0x41, 0x23, 0x57,
+ 0x45, 0x10, 0x68, 0xb8, 0xa5, 0xc6, 0x55, 0x36, 0xe1, 0x62, 0x6f, 0x21,
+ 0xf6, 0xac, 0x20, 0x35, 0x3f, 0x49, 0xde, 0x60, 0x29, 0x19, 0x82, 0x8c,
+ 0xe8, 0x87, 0x1d, 0x44, 0xf0, 0xc6, 0x1c, 0x39, 0xd6, 0xc9, 0x1b, 0xf9,
+ 0xa6, 0x24, 0x2c, 0xd2, 0x6c, 0x30, 0xd7, 0x13, 0x9b, 0x0c, 0xa7, 0xdf,
+ 0xf6, 0x0f, 0x86, 0xfd, 0x37, 0x47, 0x27, 0x47, 0x5f, 0x1f, 0x5c, 0x1c,
+ 0x29, 0xe3, 0x31, 0xb9, 0xff, 0x97, 0x28, 0x43, 0x2c, 0xef, 0xbe, 0x95,
+ 0x69, 0xc1, 0xf8, 0x89, 0x31, 0xbb, 0xc9, 0x99, 0xc7, 0x5e, 0x83, 0xa7,
+ 0x5c, 0x92, 0x94, 0x4c, 0x94, 0x86, 0xd1, 0x65, 0xf1, 0xe6, 0xcc, 0xe9,
+ 0x9b, 0xce, 0xa4, 0xab, 0xc1, 0x08, 0xd2, 0xe9, 0x2d, 0x55, 0xb4, 0xf9,
+ 0x50, 0x10, 0x06, 0x3b, 0xb7, 0xb9, 0x86, 0x3c, 0x7a, 0x6f, 0xf2, 0xbd,
+ 0x99, 0x6d, 0x2d, 0x30, 0x98, 0x81, 0x97, 0x18, 0xef, 0x9a, 0x2c, 0x8c,
+ 0xe0, 0xe3, 0x1b, 0x3c, 0xd9, 0x61, 0x20, 0x1e, 0xb8, 0x6c, 0xe1, 0xc2,
+ 0xfe, 0x2a, 0x42, 0x6b, 0x41, 0x1b, 0xa8, 0x1e, 0x5f, 0x67, 0x33, 0xd1,
+ 0x28, 0x29, 0xb2, 0x8d, 0x08, 0x2a, 0x27, 0xe6, 0x09, 0x93, 0x08, 0x1f,
+ 0xf4, 0x51, 0xc6, 0x89, 0xf9, 0x60, 0x4f, 0xa2, 0xcd, 0x1b, 0xc3, 0x88,
+ 0xde, 0x12, 0x2f, 0x39, 0x39, 0xe9, 0x09, 0xec, 0x81, 0x0c, 0xd4, 0x01,
+ 0x60, 0x69, 0x12, 0x71, 0x8e, 0xc7, 0x98, 0xb9, 0xec, 0x52, 0xf7, 0xf2,
+ 0xb7, 0x04, 0xc7, 0x1e, 0x45, 0x29, 0x45, 0x76, 0xf0, 0x23, 0x08, 0x4c,
+ 0x55, 0x7d, 0xa9, 0x93, 0xbf, 0xd2, 0xc3, 0x29, 0xb8, 0x76, 0x97, 0x8f,
+ 0x97, 0xc0, 0x26, 0x8d, 0xc3, 0x7d, 0xa3, 0x82, 0x41, 0xca, 0xd8, 0x51,
+ 0x77, 0xb5, 0xbf, 0x6c, 0xa3, 0x29, 0xfb, 0x32, 0x2f, 0x65, 0x22, 0x67,
+ 0x59, 0x28, 0xcb, 0x1f, 0x29, 0x18, 0x5a, 0x9c, 0xe6, 0xc4, 0x21, 0xad,
+ 0x7f, 0x0d, 0x99, 0xe7, 0x6d, 0x96, 0x56, 0x3f, 0x9b, 0x07, 0x94, 0xbe,
+ 0x9b, 0x6f, 0x95, 0xa5, 0xdb, 0xea, 0x79, 0x7e, 0x99, 0x1a, 0xaf, 0xa6,
+ 0xc4, 0xd1, 0xd9, 0x39, 0x17, 0xa6, 0x3d, 0xa1, 0xbf, 0x48, 0xd0, 0xa6,
+ 0x8e, 0x71, 0x63, 0x49, 0x95, 0x00, 0x42, 0x33, 0x64, 0xf0, 0xfa, 0xdb,
+ 0x58, 0xac, 0x82, 0xd8, 0x18, 0xb7, 0x28, 0x54, 0xcc, 0x72, 0x20, 0x62,
+ 0x49, 0x8f, 0x5e, 0x6d, 0x33, 0xea, 0x09, 0x75, 0x41, 0x98, 0x57, 0xd1,
+ 0x09, 0xc6, 0x5e, 0xaa, 0x6f, 0xfd, 0x94, 0x7e, 0x49, 0xba, 0x9f, 0x72,
+ 0x88, 0x2f, 0x99, 0xc6, 0x16, 0x55, 0x3a, 0x35, 0x4b, 0x6f, 0x26, 0x15,
+ 0x2a, 0xe1, 0xa5, 0xa6, 0x2b, 0x83, 0xce, 0x50, 0x51, 0xcb, 0x84, 0xb8,
+ 0xf8, 0x42, 0x57, 0x3a, 0xaa, 0xb8, 0x88, 0x5f, 0x4c, 0x00, 0xcd, 0x18,
+ 0xb0, 0xc2, 0xb4, 0x7b, 0x12, 0xa2, 0x4e, 0x6d, 0xb8, 0x12, 0x50, 0x73,
+ 0xc4, 0xae, 0x03, 0x6d, 0x5b, 0xe0, 0xec, 0x8a, 0x60, 0xca, 0xee, 0x25,
+ 0xea, 0xca, 0xca, 0xd9, 0xa5, 0x44, 0xb6, 0x52, 0x70, 0x9d, 0xc2, 0xcc,
+ 0x18, 0xb1, 0x36, 0x01, 0x34, 0xd8, 0x75, 0x5a, 0x44, 0x4e, 0x9d, 0x99,
+ 0x78, 0x5b, 0x4e, 0x06, 0xa3, 0x94, 0x65, 0x8b, 0x28, 0xd4, 0xb4, 0x37,
+ 0x5a, 0x60, 0x62, 0xc2, 0xce, 0xdf, 0x91, 0xc2, 0x9e, 0x93, 0x4b, 0x5c,
+ 0xba, 0xc2, 0x33, 0x43, 0x64, 0x3b, 0xba, 0xdf, 0xca, 0xd8, 0xae, 0x12,
+ 0xf1, 0xe2, 0x1c, 0xf5, 0xad, 0x2d, 0xb8, 0xc4, 0x05, 0x9c, 0x25, 0x16,
+ 0x3b, 0x54, 0x23, 0x39, 0xc3, 0x23, 0xda, 0xa4, 0xf2, 0x8c, 0xed, 0xec,
+ 0x0d, 0x2c, 0x1f, 0xee, 0xf5, 0xa2, 0x0b, 0x60, 0xc8, 0x18, 0xaf, 0x6f,
+ 0xbe, 0x8d, 0xee, 0x92, 0x57, 0xc6, 0x06, 0xf3, 0x68, 0xf3, 0x04, 0xdf,
+ 0x7f, 0x83, 0xce, 0xd1, 0x77, 0xf0, 0x02, 0x4e, 0x3e, 0x51, 0xd4, 0x5c,
+ 0x89, 0xbd, 0x24, 0x5b, 0x79, 0x94, 0x99, 0xef, 0xe5, 0x54, 0x3e, 0xc8,
+ 0x2f, 0xbf, 0x15, 0xc2, 0x63, 0x6b, 0xb3, 0x01, 0x01, 0x28, 0x2f, 0xd9,
+ 0x1f, 0x43, 0xef, 0x52, 0x28, 0x3e, 0x4b, 0xfc, 0xda, 0x5b, 0xd8, 0x10,
+ 0xd0, 0xde, 0xcf, 0x7a, 0x12, 0x0a, 0x03, 0x2c, 0x2e, 0x88, 0x28, 0x9b,
+ 0x09, 0x1c, 0x5b, 0x4e, 0x1e, 0x7d, 0x32, 0xad, 0x6f, 0xe2, 0x27, 0xbc,
+ 0xbe, 0x89, 0x9e, 0xf0, 0x47, 0x9c, 0x73, 0x67, 0xfb, 0x1c, 0x9d, 0x0d,
+ 0xbf, 0x4b, 0x96, 0xf0, 0x0a, 0x70, 0xc5, 0x07, 0x3e, 0xe2, 0x6e, 0x74,
+ 0xb4, 0xe9, 0xfd, 0x63, 0xbe, 0xfc, 0x9c, 0x47, 0xdd, 0xf5, 0xc1, 0x39,
+ 0x37, 0xdf, 0x97, 0xc3, 0x7d, 0x76, 0x30, 0xfc, 0xce, 0x3b, 0xd6, 0xde,
+ 0x16, 0x88, 0xe5, 0xf1, 0x59, 0x44, 0x34, 0xc5, 0x17, 0x79, 0xeb, 0x50,
+ 0x63, 0xd1, 0xfd, 0x5e, 0xdf, 0x3c, 0x66, 0xbf, 0x9b, 0x9e, 0x04, 0xfb,
+ 0x3d, 0x98, 0xe3, 0x55, 0xfb, 0xdd, 0x5f, 0xa8, 0x36, 0xd8, 0xd2, 0xdb,
+ 0xed, 0x05, 0x17, 0x20, 0xbd, 0x46, 0xe1, 0xec, 0xf8, 0x36, 0xa7, 0x18,
+ 0x94, 0x6c, 0xed, 0x10, 0x8b, 0x86, 0x7e, 0xfe, 0xb2, 0x8d, 0x6e, 0x5e,
+ 0x08, 0x36, 0xba, 0xae, 0x67, 0x7c, 0xa7, 0x2f, 0xdb, 0xe8, 0x0a, 0x45,
+ 0xcd, 0x78, 0x93, 0xfb, 0x7b, 0x3c, 0xdc, 0xdf, 0xde, 0xae, 0xf5, 0x33,
+ 0x88, 0xc3, 0x19, 0x52, 0xa0, 0x12, 0x23, 0x8e, 0x68, 0x97, 0x38, 0x3e,
+ 0x80, 0x08, 0xff, 0x84, 0x66, 0xf7, 0x73, 0x2e, 0x65, 0xe8, 0x5d, 0xb7,
+ 0x59, 0xdd, 0x2d, 0xd4, 0x7c, 0xa5, 0xba, 0x34, 0x6e, 0x71, 0x5c, 0xdb,
+ 0x30, 0xd5, 0xfd, 0x5c, 0xf4, 0xcb, 0xe0, 0x44, 0xb6, 0x58, 0x66, 0xb2,
+ 0x68, 0x62, 0x73, 0x9d, 0x11, 0x44, 0x00, 0xc4, 0x54, 0xad, 0x73, 0x5a,
+ 0xd4, 0x7d, 0x57, 0x20, 0xf6, 0x95, 0xfd, 0x6b, 0xa0, 0xa5, 0xbf, 0x79,
+ 0x3f, 0xec, 0x1c, 0xd7, 0x3a, 0x63, 0x60, 0xfe, 0x15, 0x8e, 0x9e, 0xf9,
+ 0xbd, 0xcd, 0xa7, 0xa9, 0x5d, 0x41, 0x26, 0x69, 0x32, 0xc8, 0x98, 0xa6,
+ 0x4f, 0x0c, 0x3a, 0x09, 0x89, 0x92, 0x05, 0x8a, 0x9a, 0xc6, 0xf0, 0xf7,
+ 0x91, 0xcf, 0xc5, 0xeb, 0x9d, 0x64, 0x14, 0x93, 0x27, 0x25, 0xc6, 0x27,
+ 0xc3, 0x42, 0x96, 0xfa, 0xa9, 0xb5, 0x21, 0x85, 0xe5, 0x58, 0xd8, 0x9e,
+ 0x6c, 0x2d, 0x99, 0x22, 0xf1, 0x6a, 0xe2, 0xc6, 0x22, 0x33, 0x9b, 0xc2,
+ 0x4f, 0x23, 0x90, 0x9d, 0xad, 0x95, 0xda, 0x14, 0x4f, 0xe1, 0xfc, 0xe6,
+ 0x69, 0x9f, 0x1e, 0x57, 0xe5, 0x49, 0x7e, 0xf8, 0x1c, 0x3f, 0x1c, 0x74,
+ 0x27, 0x3a, 0xb0, 0x35, 0xa5, 0x80, 0x9b, 0xf5, 0x32, 0x2e, 0x8a, 0x09,
+ 0x51, 0xdb, 0x53, 0xb7, 0x95, 0x9e, 0xfc, 0x36, 0x75, 0x94, 0xfc, 0xc8,
+ 0xf6, 0x67, 0x1e, 0x18, 0xb3, 0x97, 0xba, 0x93, 0x9b, 0xa2, 0x04, 0xbc,
+ 0xe7, 0x51, 0x7c, 0xd2, 0x0d, 0xbf, 0xb5, 0x7a, 0xfc, 0x4a, 0x86, 0x19,
+ 0x5f, 0x72, 0x5e, 0x73, 0xcf, 0x92, 0x1f, 0xe5, 0x5c, 0x4f, 0xe6, 0x55,
+ 0x3e, 0xef, 0xeb, 0x9b, 0x2c, 0x84, 0x67, 0xe9, 0x27, 0xb9, 0x1a, 0x9f,
+ 0xd2, 0x32, 0x44, 0x06, 0xc9, 0xf5, 0x1e, 0xfd, 0xc0, 0x0e, 0x6d, 0x1b,
+ 0xbb, 0x6b, 0x44, 0x65, 0x69, 0x2c, 0x27, 0x22, 0xcc, 0x1b, 0xfe, 0x46,
+ 0x2c, 0xdf, 0x46, 0x21, 0xb2, 0xbe, 0xcf, 0x42, 0xb1, 0xf5, 0xe8, 0x85,
+ 0x7d, 0xf7, 0xc1, 0xf5, 0x73, 0xfb, 0x61, 0xd5, 0xfa, 0xe9, 0x9c, 0xfd,
+ 0xf7, 0x58, 0xbf, 0xe7, 0xbf, 0xdb, 0xfa, 0x3d, 0xff, 0x6f, 0xb1, 0x7e,
+ 0xcf, 0xff, 0xf9, 0xf5, 0x7b, 0xda, 0x5d, 0xbf, 0xe7, 0xff, 0x5d, 0xd6,
+ 0x4f, 0x2b, 0x19, 0xe9, 0xea, 0x65, 0xc1, 0xfa, 0x91, 0x27, 0x44, 0x50,
+ 0xfa, 0x79, 0x2d, 0xb5, 0x79, 0x69, 0xba, 0xf5, 0x4d, 0x0e, 0x3c, 0x08,
+ 0xd6, 0x8c, 0x3d, 0xbb, 0x0a, 0x79, 0x44, 0x8e, 0x7f, 0x9c, 0x17, 0x55,
+ 0x8a, 0xdb, 0x28, 0xb3, 0xda, 0xf1, 0x59, 0x62, 0x3b, 0xe0, 0x2d, 0x83,
+ 0xe3, 0x33, 0x82, 0x92, 0x13, 0x75, 0xb9, 0xd6, 0xe4, 0x87, 0x33, 0x13,
+ 0xc0, 0xa9, 0x6d, 0xb5, 0xcb, 0xc9, 0x8c, 0x11, 0x16, 0x99, 0xc9, 0xdb,
+ 0x7f, 0x45, 0xf3, 0xd5, 0xe7, 0xc7, 0xbf, 0x88, 0x26, 0x1a, 0xa1, 0x60,
+ 0xa4, 0xeb, 0x52, 0xcc, 0xcd, 0xee, 0x4d, 0xdd, 0xa3, 0x97, 0x6d, 0x59,
+ 0x4d, 0x1d, 0x5d, 0xc2, 0x71, 0xff, 0xa1, 0x25, 0x7b, 0x03, 0xcd, 0x60,
+ 0x31, 0x9b, 0x4b, 0x02, 0xe2, 0x03, 0x09, 0x58, 0xd0, 0x3f, 0xb7, 0x92,
+ 0xef, 0x91, 0x5d, 0xc5, 0x9e, 0x55, 0xc9, 0x4a, 0xb0, 0xd5, 0xce, 0x15,
+ 0x88, 0xad, 0x61, 0x8b, 0x25, 0x4c, 0x49, 0x51, 0xd2, 0x9a, 0x4e, 0x7a,
+ 0x31, 0x23, 0xe7, 0x6d, 0xf9, 0xf0, 0xac, 0xf0, 0x35, 0x24, 0xe5, 0x86,
+ 0xc4, 0x46, 0x92, 0x8f, 0x46, 0x69, 0x5a, 0xe9, 0x5a, 0xe4, 0x8c, 0x0c,
+ 0xea, 0x34, 0x53, 0x8e, 0x99, 0xd7, 0x4d, 0x53, 0x03, 0x49, 0xcb, 0xf0,
+ 0x8a, 0x6f, 0x6b, 0xef, 0xc1, 0x02, 0x13, 0x83, 0x12, 0xab, 0x2a, 0x03,
+ 0xbb, 0x50, 0xf2, 0xfb, 0x2d, 0x81, 0x4b, 0x71, 0xa3, 0x20, 0x7d, 0x82,
+ 0x3e, 0xb4, 0x4a, 0x17, 0xf4, 0x47, 0x61, 0xaa, 0x8d, 0xc2, 0x38, 0x79,
+ 0xc4, 0x7f, 0xc0, 0xfe, 0x5d, 0x02, 0xe2, 0x66, 0x1d, 0xc2, 0xb7, 0x43,
+ 0x83, 0x35, 0xf7, 0x21, 0xe2, 0x83, 0xb5, 0x55, 0xf0, 0x4d, 0xc6, 0x05,
+ 0x5e, 0x67, 0x7e, 0xba, 0xa3, 0xe5, 0x8a, 0x63, 0x87, 0x30, 0x03, 0x8f,
+ 0xcc, 0xe0, 0x04, 0xc5, 0x16, 0x94, 0x81, 0x40, 0x46, 0xb3, 0xcc, 0xd6,
+ 0xba, 0x30, 0xb0, 0x2c, 0x84, 0x23, 0x32, 0xa5, 0x0d, 0x01, 0x96, 0x90,
+ 0x7f, 0x61, 0x7a, 0xa1, 0x87, 0xea, 0xf4, 0x45, 0x52, 0x76, 0xc5, 0xb1,
+ 0xd0, 0x55, 0x08, 0xc2, 0x0e, 0x59, 0x12, 0x73, 0x9c, 0x5a, 0xba, 0x24,
+ 0xb8, 0x64, 0x8a, 0xa6, 0x2a, 0xe7, 0xf7, 0xc9, 0xd7, 0x29, 0x0d, 0x0b,
+ 0x6a, 0x61, 0x9a, 0xcd, 0x82, 0xe4, 0x12, 0x2e, 0x8b, 0x29, 0x5a, 0x1a,
+ 0x97, 0xc8, 0xd4, 0x11, 0x42, 0xaf, 0xe4, 0x69, 0x31, 0x72, 0xd9, 0xcc,
+ 0x17, 0xf9, 0xf3, 0x04, 0xf6, 0xcd, 0xb0, 0xc9, 0xe1, 0xf0, 0x24, 0x54,
+ 0xa6, 0xb5, 0xdc, 0xc4, 0xca, 0x64, 0x62, 0xb4, 0xd6, 0x6f, 0x9f, 0x28,
+ 0x33, 0x72, 0x6e, 0xfc, 0x55, 0xf4, 0x30, 0xcb, 0xb8, 0xb3, 0xa9, 0xe6,
+ 0xdb, 0x0b, 0x51, 0x7f, 0x32, 0xae, 0xee, 0xe7, 0x64, 0xa0, 0x49, 0xf6,
+ 0x1c, 0x9f, 0x3d, 0xea, 0x1f, 0xb3, 0x35, 0xae, 0xcc, 0x57, 0xfc, 0x80,
+ 0x08, 0x99, 0xbc, 0x0a, 0x41, 0x4c, 0xc1, 0x4c, 0x62, 0x2f, 0x25, 0x62,
+ 0x1a, 0x11, 0xcc, 0x24, 0xb3, 0x26, 0x60, 0x62, 0x70, 0x64, 0xa2, 0x01,
+ 0xdd, 0x18, 0x8a, 0xc9, 0x74, 0xa8, 0xcb, 0xe1, 0xd6, 0x41, 0x3a, 0x26,
+ 0xd1, 0x63, 0xc3, 0xa3, 0xbd, 0xa5, 0x17, 0x83, 0xbc, 0xd1, 0x29, 0x73,
+ 0xac, 0x22, 0xd8, 0x32, 0x5b, 0xa7, 0x94, 0x9a, 0x5d, 0x04, 0x34, 0x10,
+ 0x1c, 0xf2, 0xde, 0xdd, 0xd9, 0x79, 0x90, 0xdf, 0x43, 0xdc, 0xbf, 0x2b,
+ 0x69, 0x3e, 0x48, 0x46, 0xb1, 0x8f, 0xd9, 0x26, 0xa3, 0xa6, 0xb9, 0x24,
+ 0x1c, 0x74, 0x19, 0x91, 0xcc, 0x27, 0x2d, 0xdd, 0x86, 0x3b, 0x82, 0x2c,
+ 0xeb, 0x98, 0x06, 0x07, 0x64, 0x1f, 0x46, 0x84, 0x1d, 0xa1, 0x8f, 0xf5,
+ 0x7e, 0xeb, 0x9d, 0x68, 0xed, 0x4f, 0xea, 0x10, 0xbd, 0x24, 0xda, 0xcb,
+ 0x20, 0xf9, 0xea, 0xde, 0x19, 0x4e, 0x90, 0x53, 0xec, 0x90, 0x43, 0xaf,
+ 0xd8, 0xd5, 0x2a, 0x95, 0xe7, 0x57, 0x91, 0xaa, 0xc4, 0x39, 0x3c, 0xfe,
+ 0xc0, 0x82, 0x05, 0xcd, 0x1a, 0x01, 0x34, 0xaf, 0xd1, 0x2a, 0xa8, 0x00,
+ 0xe2, 0x1e, 0x03, 0x3b, 0x5a, 0x73, 0x7b, 0x75, 0x4b, 0x5f, 0x78, 0x55,
+ 0x2c, 0xf8, 0x52, 0x59, 0x49, 0xbc, 0xda, 0x66, 0x64, 0x69, 0xa3, 0xf2,
+ 0x3e, 0x6b, 0xab, 0x25, 0x94, 0x13, 0xd9, 0x47, 0xe6, 0x63, 0x37, 0xdd,
+ 0x9b, 0x92, 0x25, 0x49, 0x76, 0x11, 0x95, 0x89, 0x1a, 0x99, 0x52, 0x80,
+ 0xd5, 0x98, 0xbf, 0x0c, 0x83, 0xd0, 0x5c, 0x89, 0x0e, 0xd1, 0xa4, 0x2f,
+ 0x58, 0x95, 0x22, 0x5b, 0x4f, 0xfa, 0xa4, 0xf4, 0x78, 0x67, 0x6c, 0x7a,
+ 0x4c, 0xc7, 0x96, 0x66, 0x63, 0x3a, 0xc2, 0x42, 0xc5, 0xcb, 0xa3, 0x9e,
+ 0x1a, 0xe8, 0x64, 0x9c, 0xe5, 0x89, 0x70, 0x31, 0x54, 0x09, 0xd6, 0x3d,
+ 0x3e, 0x9c, 0x9f, 0xf4, 0x12, 0x29, 0x1b, 0x4b, 0x80, 0x4f, 0xb3, 0xd2,
+ 0x71, 0xdd, 0xc8, 0x91, 0x22, 0x31, 0x07, 0x1e, 0x8f, 0xa5, 0x76, 0x64,
+ 0x4e, 0x24, 0xb6, 0xe1, 0xfc, 0x34, 0x4d, 0xd6, 0x8a, 0x90, 0x09, 0x5d,
+ 0x52, 0x5e, 0x6a, 0xa5, 0x79, 0x90, 0xd8, 0x25, 0xea, 0x05, 0xdc, 0x87,
+ 0xda, 0x69, 0xcb, 0x9f, 0x24, 0xcf, 0x4a, 0xda, 0x29, 0x39, 0x2b, 0x22,
+ 0xb9, 0xab, 0x12, 0x8a, 0x24, 0xea, 0xb5, 0x04, 0xcb, 0x83, 0xec, 0xd5,
+ 0x45, 0xe5, 0x05, 0x24, 0xd7, 0xaf, 0x73, 0xb3, 0xae, 0xc5, 0x3a, 0xee,
+ 0xd3, 0x7a, 0x31, 0x62, 0xca, 0xc0, 0x06, 0x1f, 0x8e, 0xc1, 0x83, 0x09,
+ 0x5f, 0xe7, 0xbc, 0x63, 0xf1, 0x9a, 0xb0, 0x2d, 0x10, 0x6c, 0x2f, 0x69,
+ 0x1d, 0x0a, 0x55, 0x38, 0xb9, 0x6b, 0x2e, 0x73, 0x36, 0x5a, 0x63, 0x81,
+ 0x77, 0x8a, 0x4b, 0xa6, 0xa1, 0xd3, 0x8f, 0x9a, 0x29, 0x3d, 0xbf, 0x6e,
+ 0x81, 0xf3, 0xf6, 0xa5, 0x33, 0xf2, 0x01, 0xb0, 0xc2, 0x4b, 0x13, 0x1d,
+ 0x57, 0x57, 0x2a, 0xcb, 0xb7, 0x10, 0xe1, 0xfe, 0x14, 0xac, 0x53, 0x7a,
+ 0x8f, 0xac, 0x01, 0xfb, 0x69, 0xec, 0xf0, 0x80, 0xc0, 0x89, 0xc8, 0xcc,
+ 0x4a, 0xe8, 0x8e, 0xb2, 0x97, 0x89, 0x1b, 0x6f, 0x5c, 0xe5, 0xf3, 0x86,
+ 0xc3, 0xbf, 0x02, 0x38, 0x7d, 0x48, 0x0d, 0xbb, 0x9a, 0x96, 0xa3, 0x94,
+ 0xcf, 0x89, 0x05, 0x7b, 0xa8, 0xdb, 0xa9, 0x45, 0x2c, 0x0a, 0x1e, 0x6c,
+ 0xb3, 0x3d, 0x23, 0x89, 0x3a, 0x66, 0xc8, 0xfd, 0x7d, 0x94, 0xf2, 0xa5,
+ 0x78, 0xd4, 0xaa, 0x0f, 0xda, 0x4f, 0x30, 0x7d, 0x57, 0xff, 0xb2, 0x27,
+ 0x27, 0x58, 0x0b, 0xb4, 0x01, 0x2b, 0x53, 0x7b, 0xe7, 0x2a, 0x50, 0x85,
+ 0x90, 0x03, 0x3d, 0x59, 0x64, 0x6d, 0xe8, 0xcc, 0x86, 0x44, 0xeb, 0xa4,
+ 0xd8, 0x10, 0xe0, 0x1b, 0x20, 0x14, 0x07, 0x19, 0x29, 0x47, 0xc5, 0xa2,
+ 0xb0, 0x10, 0x22, 0xf2, 0x14, 0x18, 0x87, 0x2b, 0x6f, 0x5d, 0xd0, 0xcd,
+ 0xe4, 0x3a, 0xa7, 0x88, 0x44, 0x6f, 0xae, 0x38, 0x2b, 0xba, 0x0a, 0x2a,
+ 0x34, 0x5f, 0xb2, 0x9e, 0x06, 0x9c, 0x27, 0xaf, 0xc9, 0x8a, 0x99, 0xf1,
+ 0x29, 0x81, 0xf7, 0x5a, 0x52, 0xcd, 0x7e, 0x3a, 0x7e, 0x45, 0x41, 0xb4,
+ 0xd5, 0xa4, 0xcb, 0x93, 0x93, 0x75, 0x93, 0x0a, 0xa4, 0x73, 0xf6, 0x4a,
+ 0x8a, 0xf8, 0x2f, 0xb8, 0xed, 0x94, 0x86, 0x97, 0xa5, 0x41, 0x3c, 0xb3,
+ 0x86, 0x4e, 0x8a, 0x94, 0x6c, 0x47, 0x85, 0x6a, 0xac, 0x39, 0xb4, 0x50,
+ 0x71, 0xdc, 0xea, 0x86, 0xca, 0x9a, 0xb1, 0xf7, 0xcb, 0x49, 0x96, 0x4e,
+ 0x63, 0xd4, 0xf6, 0xd4, 0x61, 0xf2, 0x36, 0xb2, 0x70, 0x23, 0x8e, 0x83,
+ 0x42, 0xfc, 0xd6, 0x82, 0x3b, 0x65, 0xd8, 0x55, 0x21, 0x59, 0x9d, 0xda,
+ 0x43, 0x9c, 0xaa, 0x88, 0xa1, 0x43, 0x05, 0x16, 0xf0, 0x00, 0xf2, 0xff,
+ 0xc6, 0x92, 0x57, 0x0c, 0x29, 0xea, 0x20, 0xf4, 0xd0, 0xff, 0xdf, 0x9d,
+ 0xd8, 0x07, 0xb0, 0x03, 0x80, 0x11, 0xee, 0x36, 0x27, 0x8e, 0x38, 0xce,
+ 0xeb, 0xc2, 0x45, 0xa3, 0x50, 0x76, 0xea, 0x18, 0xc3, 0x0d, 0x48, 0x4c,
+ 0x6e, 0xc9, 0x39, 0x44, 0xb8, 0x5b, 0x24, 0xc7, 0x3c, 0x5c, 0xe9, 0x9b,
+ 0x4c, 0xa1, 0x22, 0xb0, 0x2f, 0x78, 0x01, 0x1a, 0x9b, 0xee, 0x46, 0xad,
+ 0x89, 0x9c, 0x61, 0x21, 0xb3, 0xb7, 0xb7, 0x84, 0xfa, 0x40, 0x8a, 0xd9,
+ 0xca, 0x1e, 0xc3, 0x61, 0xaf, 0xd3, 0x4b, 0x5b, 0x67, 0x5a, 0x04, 0x78,
+ 0x39, 0x36, 0x53, 0x88, 0x48, 0x19, 0x18, 0x45, 0x48, 0x43, 0x0a, 0x02,
+ 0x69, 0x2c, 0xae, 0x49, 0x4a, 0xda, 0x6b, 0x97, 0x0e, 0x82, 0xc2, 0x27,
+ 0xeb, 0x69, 0x3e, 0xb7, 0x3e, 0xce, 0x1e, 0x31, 0xb5, 0x32, 0x8c, 0x83,
+ 0x02, 0xb4, 0xb7, 0x21, 0x2b, 0x61, 0xa7, 0xe6, 0xae, 0x10, 0x58, 0x4e,
+ 0x49, 0xfd, 0xdf, 0xec, 0xb4, 0xff, 0x74, 0x67, 0x17, 0xdd, 0x7d, 0xba,
+ 0xf3, 0xd9, 0x56, 0xfb, 0x6e, 0x9e, 0xd6, 0x59, 0x1f, 0x38, 0x9e, 0xb8,
+ 0x8e, 0xca, 0xd5, 0x84, 0x9c, 0x9f, 0x07, 0xfa, 0x28, 0xbd, 0x24, 0xe0,
+ 0x9f, 0xc9, 0xa2, 0x52, 0x44, 0x1c, 0x15, 0x98, 0x22, 0x9b, 0xb1, 0xbe,
+ 0x26, 0xde, 0xb4, 0xe0, 0xae, 0x77, 0xef, 0xc0, 0x98, 0x82, 0x0b, 0x9d,
+ 0x67, 0xca, 0xec, 0x1e, 0x7a, 0xd7, 0x16, 0x26, 0x92, 0xc9, 0x60, 0x70,
+ 0x11, 0x59, 0x8c, 0x21, 0x87, 0xad, 0x4f, 0x16, 0xc5, 0x49, 0x08, 0x1c,
+ 0x45, 0x69, 0x57, 0x85, 0xb4, 0x92, 0xe7, 0x6d, 0x5e, 0xe4, 0xf5, 0x35,
+ 0xaa, 0x49, 0xd6, 0x75, 0x7a, 0x95, 0x85, 0x69, 0xaa, 0x46, 0x24, 0x19,
+ 0xc3, 0x49, 0xaa, 0xbe, 0x83, 0x43, 0x9a, 0xb0, 0x38, 0x7c, 0x1e, 0x04,
+ 0xc6, 0x2f, 0x65, 0x90, 0x16, 0x08, 0x54, 0xd8, 0x61, 0x2e, 0xa9, 0xd8,
+ 0xee, 0x8a, 0x73, 0x2d, 0xab, 0xcd, 0x45, 0x05, 0x63, 0xc0, 0x70, 0xc3,
+ 0xa5, 0x3c, 0xb8, 0x96, 0x47, 0x80, 0xd8, 0x23, 0x3f, 0xc2, 0x26, 0x2d,
+ 0xee, 0xe9, 0xd0, 0x08, 0x21, 0x57, 0x48, 0x12, 0xa8, 0x28, 0xf3, 0xb3,
+ 0x1f, 0x8c, 0x46, 0x3a, 0x78, 0x69, 0x7f, 0xbc, 0xf5, 0xb8, 0x62, 0x5e,
+ 0x7b, 0x1d, 0x0d, 0x8d, 0xe0, 0x89, 0xe2, 0xce, 0x86, 0xc1, 0xf2, 0x9a,
+ 0xff, 0xb1, 0xc4, 0x09, 0x81, 0xac, 0xb1, 0xe4, 0xf8, 0xdd, 0x01, 0x18,
+ 0x61, 0x1c, 0x47, 0xab, 0x0f, 0xe3, 0xf1, 0xb3, 0x6c, 0x50, 0xd9, 0x8c,
+ 0x14, 0xd6, 0x28, 0x45, 0x97, 0x65, 0xd5, 0x64, 0x50, 0x55, 0x8b, 0x34,
+ 0x99, 0xe9, 0xba, 0xa7, 0x54, 0xc3, 0x85, 0x4e, 0x81, 0x91, 0x91, 0x27,
+ 0x19, 0x97, 0xb5, 0x48, 0x36, 0xbe, 0xdc, 0x88, 0xe4, 0xe3, 0x6c, 0xbc,
+ 0xf2, 0x08, 0x82, 0xeb, 0x9e, 0xa5, 0x3c, 0xdf, 0xf8, 0x9c, 0x70, 0x9a,
+ 0x44, 0x8a, 0xc0, 0xdf, 0x94, 0x35, 0x60, 0xc8, 0x61, 0x3c, 0xba, 0xaa,
+ 0x10, 0x2a, 0x61, 0xf8, 0x6a, 0xa3, 0x38, 0xb8, 0x3e, 0x29, 0xb1, 0x27,
+ 0x77, 0xc6, 0xad, 0x3a, 0xdd, 0x46, 0x40, 0x79, 0x43, 0x50, 0x66, 0x26,
+ 0xdb, 0x90, 0x32, 0x9e, 0xae, 0xc4, 0x1c, 0xf7, 0x89, 0x3b, 0x03, 0x77,
+ 0xd7, 0x78, 0x9c, 0x93, 0xee, 0x82, 0x93, 0x6f, 0x7e, 0x79, 0x75, 0x15,
+ 0xc5, 0x9a, 0x98, 0x29, 0xa0, 0x85, 0xa7, 0x31, 0x5f, 0x66, 0x69, 0x03,
+ 0x8d, 0x83, 0x6e, 0xfa, 0xe5, 0x78, 0x52, 0xa7, 0xc1, 0x47, 0x9e, 0xf1,
+ 0x46, 0xf1, 0xca, 0x47, 0xed, 0xc7, 0x77, 0x01, 0x36, 0x01, 0xef, 0x01,
+ 0xe2, 0xe4, 0xc3, 0xcf, 0xac, 0x17, 0xea, 0x32, 0x35, 0x9b, 0xe2, 0x5e,
+ 0x22, 0x7c, 0x53, 0xa0, 0xab, 0x59, 0x82, 0x64, 0xb3, 0x45, 0x77, 0x8b,
+ 0x4f, 0x15, 0xad, 0xc8, 0xa0, 0x5e, 0xa2, 0xfe, 0x67, 0xfc, 0x67, 0xc2,
+ 0x54, 0xd9, 0xc4, 0x32, 0x66, 0x71, 0xc0, 0x89, 0x72, 0xdf, 0x3b, 0x78,
+ 0x6f, 0x50, 0xbb, 0xd9, 0x03, 0xfb, 0x8a, 0xb2, 0xa2, 0x96, 0x20, 0xf0,
+ 0xca, 0x02, 0x49, 0xf7, 0xbd, 0x43, 0x87, 0x82, 0xe5, 0xbd, 0x08, 0xb1,
+ 0xbc, 0x6c, 0x48, 0x18, 0x49, 0xb4, 0x8d, 0x43, 0xc2, 0x20, 0xeb, 0x31,
+ 0x51, 0x51, 0x40, 0xc8, 0x94, 0xc9, 0xf9, 0xdb, 0xc3, 0x64, 0xef, 0xc9,
+ 0x8b, 0x17, 0x83, 0x28, 0x53, 0x21, 0x27, 0x58, 0x9a, 0x4d, 0x48, 0x33,
+ 0xe5, 0x58, 0xed, 0x7a, 0x96, 0x9f, 0x94, 0xbe, 0x4f, 0x3b, 0x8c, 0xf9,
+ 0xc1, 0x67, 0x44, 0x41, 0x42, 0xc2, 0x71, 0x31, 0x0d, 0x8d, 0x7c, 0xc4,
+ 0xae, 0x66, 0xa4, 0x58, 0x88, 0x14, 0x83, 0x82, 0x45, 0x52, 0x63, 0x96,
+ 0x2f, 0x51, 0xea, 0x32, 0xc1, 0x49, 0x31, 0x7e, 0x4e, 0x98, 0xbd, 0x04,
+ 0xbc, 0xc7, 0x48, 0x48, 0xa3, 0x37, 0x00, 0xf6, 0xcb, 0xc1, 0x77, 0x9e,
+ 0x8e, 0x8d, 0x48, 0x3a, 0x25, 0xcd, 0xcf, 0x46, 0xa2, 0xe1, 0xb3, 0x51,
+ 0x66, 0x33, 0xa4, 0xb9, 0x50, 0x4e, 0x87, 0xc5, 0x82, 0x93, 0x3e, 0x0b,
+ 0xca, 0x94, 0x21, 0x4e, 0x7a, 0xf3, 0x81, 0x4e, 0x73, 0xc8, 0x71, 0xbc,
+ 0xca, 0x9a, 0x30, 0xbb, 0xc3, 0x83, 0x59, 0xae, 0x68, 0x3c, 0x66, 0x19,
+ 0x49, 0x72, 0x4a, 0xf2, 0x4a, 0x0b, 0xad, 0x6b, 0x79, 0x7a, 0x1a, 0x98,
+ 0xf2, 0xb8, 0x7f, 0x89, 0xd5, 0x78, 0x25, 0x53, 0x2f, 0xc9, 0x5a, 0x5f,
+ 0x46, 0x29, 0x8a, 0x04, 0xeb, 0x09, 0xbe, 0x9c, 0xa6, 0x31, 0x8a, 0xb5,
+ 0x93, 0xdd, 0x00, 0xd6, 0x82, 0x1a, 0x45, 0xa0, 0x9f, 0x3c, 0xc1, 0x0c,
+ 0xa0, 0x9b, 0xc6, 0xb8, 0x03, 0x5f, 0xd9, 0x46, 0xa5, 0x28, 0x01, 0x61,
+ 0x9b, 0xa9, 0x2b, 0xb1, 0x99, 0x50, 0xa6, 0x61, 0x92, 0x0f, 0xe6, 0xe9,
+ 0xc0, 0xee, 0xa1, 0x77, 0xbd, 0x79, 0x0a, 0xd7, 0xde, 0x8f, 0xa7, 0x4a,
+ 0x4e, 0x3c, 0x4f, 0xb1, 0xc3, 0xc4, 0xfa, 0xce, 0x7d, 0x19, 0xa9, 0x75,
+ 0x9a, 0x76, 0x5d, 0xa5, 0x34, 0x54, 0x97, 0x8b, 0x89, 0x9d, 0x75, 0x55,
+ 0x66, 0xdc, 0x4b, 0x24, 0xc6, 0xeb, 0xac, 0x92, 0xc7, 0xb2, 0xa9, 0x16,
+ 0x63, 0x52, 0x2d, 0x61, 0x9a, 0xe3, 0x53, 0xb1, 0xe2, 0x39, 0x94, 0x41,
+ 0xd1, 0x1a, 0x31, 0x4a, 0x5c, 0x61, 0xbd, 0x30, 0xcb, 0xca, 0xe7, 0x25,
+ 0x90, 0x34, 0xea, 0x9a, 0xea, 0x20, 0xcb, 0x48, 0x83, 0xc1, 0x0c, 0x46,
+ 0x68, 0xa5, 0x7f, 0x48, 0xb8, 0x46, 0xc9, 0x5e, 0x53, 0x25, 0x39, 0x82,
+ 0xb7, 0x23, 0x23, 0xe6, 0xed, 0xe4, 0x0d, 0xd5, 0x83, 0xc3, 0x8d, 0x1e,
+ 0xc9, 0x77, 0xdb, 0xa8, 0x5b, 0x90, 0x5f, 0xbe, 0x98, 0x48, 0x9f, 0xab,
+ 0xb2, 0xab, 0x05, 0x5d, 0x76, 0x98, 0xae, 0x4d, 0x65, 0x40, 0xd4, 0x27,
+ 0x92, 0x79, 0x1e, 0xc8, 0x0f, 0x12, 0x02, 0x62, 0xe8, 0x71, 0xa5, 0xb7,
+ 0x45, 0x61, 0x66, 0xad, 0x59, 0x50, 0x38, 0x6b, 0xca, 0xd5, 0x48, 0x8c,
+ 0x18, 0xfb, 0x1b, 0xfc, 0x80, 0xa5, 0xcc, 0x00, 0x33, 0xe8, 0x4f, 0x62,
+ 0x99, 0x0a, 0x44, 0xcb, 0x88, 0x80, 0xb4, 0xd1, 0xbb, 0xc1, 0x4a, 0x44,
+ 0x61, 0xfd, 0x46, 0xa5, 0x00, 0xd7, 0x84, 0x22, 0x9f, 0xcc, 0xe7, 0x14,
+ 0xef, 0x1a, 0x73, 0x90, 0x00, 0x1a, 0x0b, 0x66, 0x25, 0xc4, 0xf4, 0x15,
+ 0xa0, 0x34, 0x4b, 0x54, 0x7d, 0xf2, 0x99, 0xee, 0x58, 0x01, 0xa3, 0xb8,
+ 0x1c, 0x0d, 0x93, 0x93, 0x3e, 0x84, 0xbd, 0x83, 0x0a, 0xc8, 0x13, 0xa8,
+ 0xbc, 0x0e, 0x0b, 0xc3, 0xe2, 0x1e, 0x60, 0xd5, 0xfa, 0x6f, 0xd6, 0xea,
+ 0x25, 0xe1, 0x17, 0xe1, 0x41, 0x01, 0xf3, 0xe3, 0x3e, 0x07, 0xfc, 0x51,
+ 0x7d, 0x4a, 0x64, 0x9a, 0xda, 0x1f, 0x9a, 0x34, 0xc2, 0x5a, 0xe2, 0x86,
+ 0x91, 0x9e, 0x34, 0xef, 0x1b, 0x72, 0x76, 0x63, 0xe4, 0x1b, 0xce, 0xd8,
+ 0x87, 0xb4, 0xe6, 0x93, 0x62, 0xb9, 0xea, 0xac, 0x18, 0x21, 0xad, 0xaa,
+ 0x4a, 0x8d, 0xd0, 0xfc, 0xdb, 0xfc, 0x6a, 0x09, 0x2d, 0x1a, 0x17, 0xb8,
+ 0x30, 0x06, 0x43, 0x58, 0x56, 0x07, 0xfb, 0xb0, 0xff, 0x36, 0x91, 0xfe,
+ 0xbc, 0xfe, 0xb2, 0xd5, 0x9c, 0xb2, 0xcf, 0xfb, 0xe4, 0xca, 0x02, 0x5f,
+ 0x1e, 0x5f, 0xe5, 0x0f, 0x4c, 0x02, 0x33, 0x93, 0x5b, 0x68, 0x67, 0x7d,
+ 0x5d, 0x66, 0xb2, 0x72, 0x05, 0xec, 0x60, 0x5b, 0x30, 0xc5, 0x8c, 0xab,
+ 0x8e, 0xd2, 0xe2, 0xab, 0xd2, 0xbb, 0xbc, 0xdb, 0xb8, 0xda, 0xff, 0xa3,
+ 0xbc, 0x2e, 0xe8, 0x1f, 0xf4, 0x05, 0xfa, 0xc0, 0xeb, 0xdd, 0xdd, 0x68,
+ 0xcf, 0x97, 0xf6, 0x97, 0x3b, 0xac, 0x3d, 0xa6, 0xfb, 0x48, 0xc0, 0x7a,
+ 0x9e, 0x78, 0x6b, 0xd9, 0xff, 0x03, 0xe4, 0x12, 0x85, 0xfe, 0x36, 0x9c,
+ 0x1f, 0x10, 0x0b, 0x79, 0xaf, 0x32, 0x10, 0x2a, 0x90, 0x8a, 0xec, 0xa9,
+ 0x27, 0xf3, 0x52, 0x90, 0xf7, 0x5d, 0x55, 0x02, 0x0c, 0x16, 0xb4, 0x28,
+ 0xcb, 0x87, 0xbf, 0x4e, 0x91, 0x9a, 0xfb, 0xd7, 0xaf, 0xae, 0x17, 0x57,
+ 0x19, 0x84, 0x67, 0x73, 0xd7, 0xac, 0x3f, 0x6a, 0xec, 0xae, 0xfa, 0x19,
+ 0x87, 0x88, 0x1b, 0x2f, 0x02, 0xce, 0xf4, 0x2c, 0xbe, 0x1e, 0xc1, 0x9e,
+ 0x43, 0x32, 0x97, 0xb4, 0x5c, 0x72, 0x37, 0xdf, 0x82, 0x35, 0xd2, 0x1e,
+ 0x4f, 0x9b, 0xa4, 0xaf, 0xbb, 0x24, 0xe4, 0x15, 0x23, 0xb8, 0xcd, 0x46,
+ 0xaf, 0xbf, 0x24, 0x17, 0xd7, 0x1d, 0x68, 0xc0, 0x59, 0xb5, 0xa5, 0xc9,
+ 0xdb, 0x06, 0x2b, 0x78, 0xe2, 0x0d, 0x62, 0x2d, 0x10, 0x47, 0xcb, 0x9b,
+ 0xf5, 0xf2, 0x3f, 0xbc, 0x26, 0x2f, 0xcb, 0x72, 0x65, 0x8b, 0xea, 0xc2,
+ 0xc1, 0x9c, 0x78, 0xc0, 0x32, 0x86, 0x5b, 0xb9, 0xdc, 0x36, 0xde, 0x12,
+ 0xb8, 0x6c, 0x5a, 0x77, 0x66, 0x2c, 0xdd, 0x18, 0x15, 0xd5, 0xd9, 0x54,
+ 0xd7, 0x6b, 0xe7, 0x75, 0x8f, 0xd3, 0x2b, 0xa2, 0x85, 0x1f, 0xdc, 0x18,
+ 0xf8, 0x40, 0x62, 0x1f, 0xd0, 0x5f, 0x3f, 0xb7, 0xaf, 0xd3, 0x7f, 0xcc,
+ 0x79, 0x06, 0xb1, 0xee, 0x8a, 0xd1, 0x10, 0x42, 0x53, 0xdf, 0xd9, 0xe6,
+ 0x6a, 0xe5, 0x5a, 0x18, 0x72, 0xa3, 0xc7, 0xda, 0xf6, 0xe7, 0x1b, 0xf0,
+ 0xe7, 0x2a, 0xec, 0x07, 0x35, 0x57, 0x20, 0xe5, 0x26, 0x65, 0xa0, 0xdb,
+ 0x12, 0x32, 0x8e, 0x8b, 0xb2, 0xa0, 0xf7, 0x4b, 0x3a, 0x4e, 0x3d, 0xd7,
+ 0xae, 0xff, 0xb4, 0x6e, 0x3b, 0xff, 0xd3, 0xba, 0xeb, 0xfe, 0x4f, 0xeb,
+ 0x6e, 0x00, 0x3f, 0xad, 0x13, 0xa7, 0x1c, 0x0d, 0x22, 0xb0, 0x16, 0x7f,
+ 0xf1, 0xa2, 0x6f, 0xf0, 0x57, 0xdd, 0x47, 0xbd, 0x6f, 0x7a, 0x9f, 0x5c,
+ 0xdf, 0x58, 0x35, 0x69, 0x7e, 0x98, 0x08, 0x59, 0x0a, 0xdd, 0x39, 0x34,
+ 0x02, 0xbb, 0x35, 0x4d, 0x6e, 0x5a, 0xc8, 0x42, 0x0b, 0xbc, 0xe6, 0xde,
+ 0x03, 0x34, 0xe3, 0xae, 0xc0, 0x8c, 0xc7, 0x9d, 0x6e, 0x29, 0xe9, 0x74,
+ 0x1d, 0xb4, 0x46, 0x67, 0x50, 0x36, 0xd1, 0xbe, 0x1e, 0xdc, 0x40, 0xff,
+ 0xc3, 0x7c, 0x01, 0x46, 0x00, 0xda, 0x90, 0x53, 0x0d, 0x1e, 0x0a, 0x41,
+ 0x78, 0x01, 0xbc, 0x5a, 0x70, 0x00, 0x93, 0x2f, 0xc0, 0x4b, 0xce, 0xfb,
+ 0xe0, 0x2d, 0x11, 0xe0, 0x9a, 0x67, 0x39, 0x2a, 0x0b, 0x99, 0x51, 0x4d,
+ 0xd9, 0x4c, 0xdd, 0xa6, 0x7b, 0x01, 0x38, 0x44, 0x94, 0xfb, 0xa9, 0x61,
+ 0xa7, 0x8b, 0x05, 0x2b, 0x45, 0x7b, 0x78, 0x1e, 0x96, 0x6f, 0x69, 0xd2,
+ 0xc6, 0xa7, 0x65, 0x55, 0xbf, 0x5e, 0xaf, 0xa8, 0x54, 0x63, 0x72, 0x55,
+ 0x19, 0x35, 0xf6, 0x73, 0xda, 0x5a, 0x0b, 0xb3, 0x58, 0xee, 0x9c, 0xde,
+ 0xf5, 0x67, 0xf7, 0xa6, 0xdf, 0x1b, 0xbf, 0x68, 0x67, 0x78, 0x22, 0x6d,
+ 0x82, 0x38, 0xba, 0x11, 0x8e, 0xb3, 0xa4, 0x0b, 0x22, 0xe0, 0xa3, 0xeb,
+ 0x1d, 0x4a, 0xf9, 0xfd, 0xeb, 0x18, 0x63, 0x55, 0x30, 0x10, 0x4f, 0xf2,
+ 0xc2, 0x5e, 0x7b, 0x7d, 0xfa, 0xed, 0xe7, 0xda, 0xc0, 0x4f, 0xeb, 0x3f,
+ 0xf4, 0xf9, 0xa7, 0xc8, 0xa3, 0xdc, 0x4f, 0x4e, 0xbf, 0xa5, 0xdd, 0xfd,
+ 0xcb, 0x04, 0xd8, 0xaa, 0x0f, 0x7c, 0xc9, 0x7f, 0xc1, 0xce, 0x5e, 0xd5,
+ 0xec, 0x85, 0x03, 0x1f, 0xbc, 0xa6, 0xa2, 0xa3, 0xc8, 0xfa, 0x80, 0x29,
+ 0x3e, 0x9f, 0x53, 0x1e, 0x87, 0xe6, 0x0d, 0x36, 0x9c, 0x37, 0xc8, 0xda,
+ 0xe5, 0xa8, 0x64, 0xb8, 0x6a, 0x13, 0xf2, 0xdb, 0x82, 0x5f, 0x13, 0x6b,
+ 0xcb, 0x79, 0xcc, 0x66, 0x43, 0x91, 0xf7, 0x02, 0x3a, 0xb1, 0xce, 0x2e,
+ 0x17, 0x2f, 0x4f, 0x27, 0x6d, 0x93, 0xe7, 0x28, 0xc2, 0x65, 0xee, 0x38,
+ 0x4a, 0xf8, 0x6f, 0xd0, 0xcc, 0x40, 0xc5, 0x42, 0x76, 0x16, 0x15, 0x45,
+ 0x4a, 0xab, 0x4c, 0x0b, 0x5d, 0x48, 0x09, 0x2e, 0xae, 0xb6, 0xf4, 0x79,
+ 0x2c, 0x22, 0x20, 0x81, 0x4a, 0x01, 0x05, 0x5f, 0x96, 0x53, 0xa9, 0xb6,
+ 0x5b, 0x9b, 0x5d, 0xcf, 0x0b, 0x6c, 0xab, 0x5e, 0x19, 0x9d, 0x83, 0xa6,
+ 0x42, 0x02, 0x16, 0xf2, 0xd9, 0x88, 0xd2, 0x21, 0x81, 0x45, 0x76, 0xc8,
+ 0x81, 0xe0, 0x4a, 0x78, 0x7f, 0x78, 0xe3, 0x7f, 0x4e, 0x96, 0xff, 0x28,
+ 0x9b, 0x70, 0x99, 0x77, 0xc9, 0x8c, 0xeb, 0x8b, 0x8f, 0x38, 0xe2, 0xc6,
+ 0x49, 0xec, 0xb9, 0xd1, 0x83, 0xc3, 0x88, 0x08, 0x4d, 0x90, 0x23, 0x42,
+ 0x98, 0x6f, 0x48, 0x29, 0x14, 0x50, 0xb1, 0x16, 0xa8, 0xa0, 0xeb, 0x25,
+ 0x3e, 0x58, 0x9c, 0x61, 0x55, 0x24, 0xc2, 0xd3, 0x96, 0xfc, 0x51, 0x5c,
+ 0xca, 0xfa, 0x58, 0x2a, 0x1a, 0x97, 0x2c, 0xd6, 0x20, 0x78, 0xe1, 0x07,
+ 0x81, 0xec, 0xf4, 0x77, 0xf7, 0xbd, 0x62, 0x23, 0xfc, 0xb3, 0x78, 0xf3,
+ 0x3e, 0x3f, 0x86, 0xc6, 0x8a, 0x6b, 0x99, 0xfe, 0x15, 0xed, 0xef, 0xd9,
+ 0xf6, 0xd7, 0x22, 0x94, 0x14, 0x4c, 0x1a, 0x11, 0xff, 0x2c, 0x31, 0x17,
+ 0x2a, 0x9a, 0x4c, 0xdc, 0xa8, 0x9e, 0x43, 0x23, 0x61, 0x5f, 0x82, 0x3a,
+ 0x13, 0x6c, 0xd9, 0x30, 0xe6, 0xac, 0x88, 0x24, 0x00, 0x21, 0x37, 0x64,
+ 0xc2, 0x60, 0x65, 0x1e, 0x89, 0x99, 0xc8, 0xae, 0xa5, 0x28, 0xd5, 0x94,
+ 0x79, 0x6b, 0x95, 0x33, 0xe2, 0x53, 0x9c, 0xec, 0xbb, 0x22, 0x75, 0xf0,
+ 0x07, 0xa8, 0xdf, 0x43, 0xab, 0x0c, 0x69, 0x02, 0x63, 0x90, 0x66, 0xd6,
+ 0xe2, 0x2b, 0x0d, 0x3e, 0x65, 0x84, 0x31, 0xf3, 0xd2, 0xc0, 0x4e, 0x91,
+ 0xb3, 0xb0, 0xb9, 0x21, 0xbe, 0x15, 0xfa, 0x10, 0xd5, 0x76, 0x03, 0x54,
+ 0x09, 0xc3, 0x4d, 0x41, 0x25, 0x20, 0x33, 0xd0, 0x8f, 0xe8, 0x1d, 0xfb,
+ 0x10, 0xee, 0xf6, 0x54, 0x30, 0x8b, 0x0a, 0x48, 0x54, 0xd4, 0x7c, 0x46,
+ 0xa9, 0xd1, 0x36, 0x73, 0x4a, 0x68, 0x2b, 0x7b, 0x53, 0x2c, 0x8d, 0x49,
+ 0x35, 0x78, 0x8b, 0x7b, 0x4b, 0x93, 0x8d, 0xd7, 0x5b, 0x1b, 0x76, 0x68,
+ 0xcb, 0x4d, 0xa3, 0x4e, 0x21, 0x37, 0xc7, 0xc2, 0xcc, 0x38, 0x2a, 0xd3,
+ 0x3a, 0x1c, 0x4c, 0x33, 0x02, 0x42, 0x64, 0x7d, 0xac, 0x67, 0x94, 0x0a,
+ 0xab, 0x56, 0x9e, 0x02, 0x32, 0xb3, 0x0a, 0x9c, 0x4f, 0x26, 0xc2, 0xe0,
+ 0x4d, 0x9e, 0x4e, 0x4d, 0x0f, 0x29, 0x27, 0xed, 0x46, 0x69, 0xfc, 0xea,
+ 0x7d, 0x4f, 0x27, 0x8f, 0x1c, 0x50, 0x8a, 0xe8, 0x80, 0x0a, 0x5d, 0x3c,
+ 0x23, 0x9e, 0x63, 0x63, 0x95, 0xf2, 0xbd, 0xf1, 0x7a, 0x93, 0xaf, 0x2c,
+ 0xe7, 0x56, 0xf3, 0xbe, 0xbd, 0x91, 0xfc, 0x14, 0xcf, 0x33, 0x4c, 0xf8,
+ 0x5d, 0xcf, 0x4a, 0x90, 0x4d, 0xfb, 0xd0, 0x1b, 0xc9, 0xab, 0x51, 0x39,
+ 0xb9, 0xff, 0x02, 0xf1, 0x27, 0x79, 0xe5, 0xd5, 0x36, 0x7e, 0xd4, 0x51,
+ 0x9a, 0x97, 0x35, 0x84, 0x56, 0xcc, 0x52, 0xe1, 0xcf, 0x2f, 0xe9, 0x71,
+ 0xb5, 0x19, 0x36, 0x92, 0xc1, 0xc0, 0x88, 0xa1, 0x7a, 0x86, 0xba, 0x3a,
+ 0x2b, 0xae, 0x16, 0x26, 0xae, 0xc2, 0x25, 0x3b, 0xca, 0x1c, 0x9f, 0x08,
+ 0xdb, 0x32, 0xd6, 0xd8, 0x16, 0x7f, 0x24, 0xff, 0xb6, 0x7a, 0x3d, 0x48,
+ 0x0e, 0x14, 0x36, 0xb3, 0x16, 0xe1, 0x23, 0x31, 0x8f, 0xf2, 0xfd, 0xe1,
+ 0x25, 0xe2, 0xbe, 0x18, 0xe5, 0xe2, 0x6f, 0x9f, 0x94, 0x2d, 0x0a, 0xbd,
+ 0x84, 0x13, 0xde, 0xe9, 0x8a, 0x8f, 0x0b, 0x6f, 0xb3, 0x67, 0x2a, 0x8e,
+ 0x17, 0xb1, 0x88, 0xb0, 0x66, 0x8c, 0x74, 0xae, 0x7f, 0x24, 0xdf, 0x54,
+ 0x69, 0xda, 0x4b, 0x3e, 0xd3, 0x8f, 0x75, 0xaf, 0xe7, 0x02, 0x5e, 0x89,
+ 0xbf, 0x81, 0xbf, 0xf3, 0x45, 0x9f, 0x9e, 0xf2, 0x6a, 0x3c, 0xda, 0x04,
+ 0x78, 0x37, 0x6c, 0x84, 0xde, 0x7a, 0x52, 0xba, 0x70, 0x12, 0x12, 0x16,
+ 0xe4, 0x05, 0x97, 0x5e, 0xe1, 0x6b, 0x61, 0x94, 0xd6, 0xd9, 0xf3, 0xa7,
+ 0x3c, 0x4a, 0x9e, 0x2a, 0xf1, 0xd4, 0xb4, 0x5c, 0xb2, 0x7c, 0x21, 0x55,
+ 0x61, 0x44, 0xd0, 0x0e, 0x91, 0x33, 0x3e, 0x49, 0x4f, 0xa3, 0x72, 0x3e,
+ 0x8c, 0xeb, 0xa4, 0x8b, 0xd5, 0xe8, 0x94, 0x57, 0x28, 0x58, 0x9e, 0x7c,
+ 0xf6, 0xdc, 0xeb, 0xf8, 0x03, 0xbe, 0x0b, 0x77, 0xde, 0x71, 0x02, 0xe5,
+ 0x88, 0xcb, 0x88, 0xbc, 0x21, 0xb0, 0xf1, 0x6e, 0xbe, 0x1b, 0xf4, 0x8b,
+ 0x1c, 0x1f, 0x4c, 0xcf, 0x24, 0x23, 0xb4, 0x0e, 0xc7, 0x87, 0xce, 0x93,
+ 0x7f, 0x1a, 0x3e, 0xd7, 0xdd, 0xd3, 0xfd, 0xf4, 0xca, 0xdd, 0xed, 0x59,
+ 0x4b, 0xfa, 0x3e, 0x77, 0x82, 0x77, 0xf8, 0xc3, 0x1b, 0x9c, 0x82, 0x0a,
+ 0x97, 0x8b, 0x0a, 0x17, 0x91, 0x3c, 0xc6, 0xfa, 0x82, 0xa6, 0x8f, 0x88,
+ 0xca, 0xfe, 0xee, 0xe0, 0xfd, 0x87, 0x83, 0x93, 0xc7, 0x17, 0xf9, 0x68,
+ 0x95, 0x8e, 0x5a, 0xf9, 0x9a, 0x97, 0x2f, 0xda, 0xa1, 0x42, 0x79, 0x38,
+ 0x91, 0x9c, 0xf2, 0x75, 0x68, 0xf7, 0x10, 0x34, 0x24, 0xce, 0x84, 0xc2,
+ 0x98, 0x5b, 0x09, 0x8c, 0x7b, 0x98, 0xcd, 0xb4, 0x96, 0x4a, 0x6a, 0xeb,
+ 0xfa, 0x3e, 0xbd, 0xbe, 0x2e, 0x98, 0x63, 0x9b, 0xa4, 0x1b, 0x91, 0x9e,
+ 0x36, 0xaf, 0xd8, 0x62, 0xae, 0xb4, 0xe2, 0xac, 0x5c, 0x5e, 0x2d, 0x6f,
+ 0x5b, 0x79, 0x79, 0xe9, 0x45, 0x2b, 0xba, 0x51, 0xbd, 0xc3, 0xc3, 0xe5,
+ 0xd9, 0x8e, 0xbf, 0x27, 0xc7, 0x61, 0x07, 0x7b, 0x8e, 0x69, 0x74, 0xa2,
+ 0xbc, 0xdf, 0x94, 0x9c, 0x09, 0xfc, 0x4a, 0xfa, 0x16, 0x9f, 0x55, 0x26,
+ 0xec, 0xf0, 0xc2, 0xd8, 0xaa, 0xd3, 0xa2, 0x4c, 0xe4, 0xf0, 0xe8, 0x1c,
+ 0xd3, 0x75, 0x76, 0x30, 0x1c, 0xda, 0x44, 0x5c, 0x81, 0xf8, 0x04, 0xb6,
+ 0x17, 0x02, 0x7d, 0x5e, 0xa1, 0x82, 0x41, 0x62, 0xcb, 0x3b, 0x0a, 0x8e,
+ 0x13, 0x13, 0x68, 0x2c, 0xbc, 0x8b, 0xc5, 0xcc, 0x9c, 0x09, 0xa3, 0xdf,
+ 0x4e, 0x08, 0x42, 0xc5, 0xe1, 0xd7, 0xee, 0xe6, 0x22, 0xf9, 0xa4, 0x8a,
+ 0x13, 0x63, 0x20, 0x4a, 0xfc, 0xd7, 0xf4, 0x7a, 0xa8, 0xb2, 0x3a, 0xd5,
+ 0x80, 0xb5, 0xc7, 0x4c, 0xd9, 0x8b, 0xba, 0x7a, 0xd6, 0x87, 0xc7, 0x17,
+ 0x47, 0xc9, 0xc1, 0x87, 0x8b, 0x6f, 0xd6, 0x79, 0x82, 0xbb, 0x04, 0x04,
+ 0x70, 0xd3, 0x53, 0x59, 0xc6, 0x9b, 0x4c, 0xea, 0x3c, 0xd7, 0x34, 0x93,
+ 0xe4, 0xd1, 0x24, 0xe3, 0x20, 0xa6, 0x70, 0xbb, 0x6f, 0x0e, 0x56, 0xac,
+ 0xd2, 0xb3, 0xc1, 0xb3, 0xee, 0x2a, 0x2d, 0x27, 0x99, 0x05, 0xed, 0xa8,
+ 0x94, 0xe3, 0x96, 0xb9, 0x93, 0x1d, 0x2f, 0x74, 0xa6, 0x04, 0x9b, 0xda,
+ 0x76, 0x25, 0x0f, 0x10, 0x5b, 0x4b, 0x19, 0xb0, 0x1b, 0xb9, 0x0b, 0x2c,
+ 0xa9, 0x9a, 0x0d, 0x85, 0x83, 0x70, 0xd5, 0x92, 0xae, 0x88, 0x77, 0x97,
+ 0x23, 0xa0, 0x66, 0xc5, 0xd2, 0x6a, 0x62, 0x13, 0xf2, 0x22, 0x9c, 0x03,
+ 0x8a, 0xf2, 0xa3, 0x2a, 0x2a, 0x66, 0x0b, 0x68, 0x15, 0x85, 0x56, 0xa2,
+ 0x64, 0xc8, 0x8a, 0xee, 0x32, 0x2e, 0xe3, 0x14, 0xb8, 0x70, 0x9a, 0xa3,
+ 0xb0, 0x82, 0xe5, 0x72, 0x5d, 0x89, 0x7b, 0x8c, 0xb3, 0xb6, 0xd2, 0xbc,
+ 0x0a, 0x4a, 0xe4, 0x15, 0xff, 0x19, 0xdf, 0xef, 0x74, 0xb3, 0x56, 0xe5,
+ 0x94, 0xdd, 0x85, 0xf2, 0x02, 0xa3, 0x37, 0x39, 0x45, 0x02, 0x14, 0x3a,
+ 0x08, 0xd9, 0x20, 0xea, 0x09, 0x6b, 0x84, 0x09, 0xc0, 0xc3, 0x4a, 0x39,
+ 0x9b, 0x04, 0xcf, 0x50, 0xdf, 0xea, 0x05, 0xc2, 0x88, 0x68, 0x2f, 0x92,
+ 0xfd, 0x12, 0x50, 0xf4, 0xc5, 0x48, 0x4e, 0xbc, 0xd3, 0x1b, 0x1a, 0x48,
+ 0x10, 0xc6, 0xe3, 0xdb, 0x49, 0x5c, 0xdb, 0xc2, 0x10, 0x80, 0x1c, 0xb3,
+ 0x79, 0x36, 0x87, 0xdf, 0xbf, 0xf1, 0x8a, 0x63, 0x28, 0x34, 0x4d, 0xd1,
+ 0xdd, 0x6c, 0x7f, 0x2c, 0x23, 0xda, 0xf3, 0x78, 0xc2, 0x50, 0x92, 0x8a,
+ 0x22, 0xa9, 0x93, 0x2c, 0x9b, 0x5b, 0x46, 0xe2, 0x1c, 0xc9, 0x19, 0x79,
+ 0x8d, 0xc8, 0xa9, 0xb0, 0x41, 0xcf, 0x42, 0x47, 0x92, 0xc5, 0x71, 0xb3,
+ 0xe4, 0x70, 0x94, 0x10, 0x54, 0xec, 0x87, 0xe2, 0xb6, 0xbb, 0x9f, 0x3d,
+ 0x79, 0x61, 0x2e, 0xdf, 0x7b, 0xd0, 0x03, 0xb7, 0x98, 0x48, 0x99, 0xc1,
+ 0x73, 0x39, 0xdd, 0x99, 0x58, 0x30, 0x0a, 0xec, 0x95, 0x4c, 0xf6, 0xa4,
+ 0x26, 0x9b, 0x01, 0xfe, 0x28, 0xc9, 0x2b, 0x0d, 0x89, 0x40, 0xcc, 0x24,
+ 0xaa, 0xdb, 0x0f, 0x33, 0x86, 0x74, 0x57, 0x9a, 0x2d, 0x46, 0x86, 0x0d,
+ 0xbc, 0x3d, 0x6c, 0xf4, 0x38, 0x2a, 0x7f, 0xd4, 0x4b, 0xce, 0x8f, 0x2e,
+ 0xce, 0x7b, 0xc9, 0xf0, 0xe2, 0xf4, 0x7c, 0x09, 0x47, 0x5d, 0xc3, 0x0c,
+ 0x09, 0x34, 0x67, 0x0a, 0x51, 0xe1, 0x53, 0xd9, 0x22, 0xaf, 0x02, 0x06,
+ 0x9a, 0x05, 0x4f, 0x1d, 0xe5, 0x3b, 0xf2, 0x68, 0x8f, 0xbc, 0xd9, 0xc2,
+ 0xb6, 0x31, 0xf7, 0xc3, 0xca, 0x81, 0xf1, 0xb2, 0x3f, 0x62, 0x87, 0xd0,
+ 0x5e, 0xa4, 0xe1, 0x5a, 0x31, 0x8f, 0xde, 0x1a, 0x0b, 0x8d, 0xbc, 0xfd,
+ 0x8e, 0x7c, 0x5a, 0x8b, 0xca, 0x2e, 0xe1, 0x26, 0x64, 0x40, 0x6e, 0xed,
+ 0x40, 0xc3, 0x66, 0xcb, 0xad, 0x6b, 0x06, 0xf6, 0xba, 0x39, 0x6e, 0xcc,
+ 0xc5, 0x63, 0xd9, 0xc6, 0x1e, 0xd8, 0xbf, 0x46, 0xdf, 0xd9, 0xb2, 0x69,
+ 0xa3, 0xf4, 0xbf, 0xba, 0x9c, 0x65, 0xec, 0xd3, 0x87, 0xe7, 0x47, 0xe5,
+ 0x13, 0x17, 0x5e, 0x03, 0x45, 0x67, 0x8c, 0x8a, 0xc0, 0x32, 0x29, 0xd1,
+ 0x2a, 0x6f, 0xd8, 0x64, 0x6e, 0x2d, 0x98, 0xce, 0xeb, 0x92, 0x19, 0xb3,
+ 0xb4, 0x01, 0x45, 0xd5, 0x86, 0xf6, 0xca, 0xa3, 0x58, 0x6a, 0x0b, 0xef,
+ 0xdd, 0xae, 0x90, 0xa1, 0x7c, 0xf8, 0xa8, 0x64, 0x21, 0x70, 0x8a, 0x66,
+ 0x35, 0x03, 0x5a, 0xa5, 0xa8, 0x1a, 0xa8, 0x12, 0x7e, 0xcd, 0xbf, 0x33,
+ 0xcd, 0x65, 0xcf, 0xeb, 0x98, 0x42, 0x81, 0x94, 0x37, 0xe2, 0x51, 0x70,
+ 0x9b, 0x5b, 0xd6, 0x9c, 0x83, 0x32, 0x8b, 0xae, 0xd4, 0xed, 0x24, 0x97,
+ 0x77, 0x0d, 0x02, 0x51, 0xcd, 0x12, 0x57, 0x4d, 0x25, 0x20, 0x02, 0x98,
+ 0xff, 0x13, 0xe5, 0x66, 0x7e, 0x19, 0x7d, 0x09, 0x55, 0xac, 0x95, 0x94,
+ 0x7e, 0xb0, 0xfd, 0x15, 0x80, 0x3d, 0x4c, 0xec, 0xcc, 0x11, 0xa1, 0x0d,
+ 0xa1, 0xb5, 0x70, 0x6f, 0x4d, 0x4a, 0xa8, 0xed, 0x34, 0xe8, 0x90, 0xfb,
+ 0x0c, 0x2e, 0x63, 0x20, 0x08, 0xf4, 0xa6, 0x91, 0xc6, 0x9c, 0xf5, 0x31,
+ 0x6e, 0xba, 0x23, 0x45, 0x82, 0x7d, 0x30, 0xd0, 0x33, 0x7f, 0xd9, 0x58,
+ 0xa2, 0xc1, 0xc0, 0x71, 0x82, 0xa0, 0xe1, 0x3c, 0x77, 0x4e, 0x66, 0x57,
+ 0x17, 0x80, 0x30, 0x0a, 0x14, 0xd1, 0x3c, 0x29, 0x66, 0x13, 0xd0, 0x12,
+ 0xd6, 0xad, 0x2c, 0x7d, 0x9d, 0xc9, 0xc1, 0x0a, 0x8e, 0x27, 0x3f, 0xa9,
+ 0xbf, 0xb5, 0x25, 0x77, 0x5b, 0x5a, 0x5f, 0x7b, 0x74, 0x4b, 0x13, 0x46,
+ 0x59, 0xa1, 0x38, 0xa7, 0x85, 0xab, 0xb9, 0x42, 0x5d, 0xe6, 0x76, 0x57,
+ 0x5e, 0xe4, 0xc4, 0xe3, 0x52, 0x56, 0xdb, 0x94, 0xa2, 0x42, 0xec, 0x65,
+ 0x89, 0xb9, 0x21, 0x15, 0x8a, 0xba, 0xa4, 0x8c, 0xaa, 0xd5, 0x13, 0x4d,
+ 0xd3, 0xed, 0xb2, 0x98, 0x5e, 0x75, 0x29, 0xba, 0x4c, 0x25, 0x5f, 0x1f,
+ 0x73, 0x3b, 0x48, 0x62, 0x28, 0x78, 0xe6, 0x6c, 0x6d, 0x00, 0x73, 0x6c,
+ 0x6b, 0x64, 0x5a, 0x4e, 0x50, 0x6b, 0x02, 0x60, 0x61, 0xa1, 0xf1, 0x6d,
+ 0xd4, 0x4b, 0x13, 0xeb, 0xb4, 0x1c, 0x03, 0xd4, 0x7c, 0x33, 0x2b, 0x3d,
+ 0x46, 0x84, 0xb4, 0xcf, 0x26, 0x2c, 0x87, 0xf6, 0xc7, 0xea, 0xac, 0x59,
+ 0xcc, 0xc3, 0x7b, 0xfe, 0xf8, 0xcc, 0x35, 0x29, 0xc4, 0xa7, 0x34, 0xd5,
+ 0xa8, 0x02, 0xde, 0xf8, 0x9d, 0x6c, 0xca, 0x81, 0x5b, 0x00, 0x77, 0xf5,
+ 0x07, 0xe6, 0x39, 0x29, 0x02, 0xc1, 0xed, 0xbe, 0x2c, 0x81, 0x5c, 0xaf,
+ 0x17, 0x2a, 0xeb, 0xb9, 0x6e, 0xb4, 0x8b, 0x9d, 0x75, 0xbf, 0xa0, 0x3c,
+ 0x07, 0xd5, 0xed, 0xbb, 0x66, 0x52, 0x5a, 0xbd, 0x0d, 0xcf, 0x8c, 0x66,
+ 0xa2, 0x48, 0x06, 0x21, 0xad, 0xcf, 0x26, 0x55, 0x90, 0xc6, 0x19, 0xde,
+ 0x5a, 0x0b, 0x87, 0x2e, 0x6d, 0xad, 0xea, 0xd5, 0xee, 0xcb, 0xbd, 0xc1,
+ 0xee, 0xf3, 0x17, 0x83, 0x5d, 0xd4, 0x9f, 0xf4, 0x7a, 0xe7, 0x8a, 0x24,
+ 0x7a, 0x0d, 0x45, 0xaa, 0x70, 0x26, 0xcb, 0x89, 0x4d, 0xf9, 0x0b, 0xb3,
+ 0xfb, 0x01, 0x3d, 0x37, 0xe0, 0x5a, 0x18, 0xc1, 0x37, 0x66, 0x46, 0xad,
+ 0xc9, 0x8b, 0x20, 0xec, 0xd1, 0x77, 0x48, 0x22, 0xbd, 0xee, 0xe7, 0x39,
+ 0xed, 0x23, 0xa5, 0x1b, 0x74, 0xbd, 0xb2, 0x55, 0xbc, 0xb4, 0x2e, 0x01,
+ 0x9d, 0xce, 0x78, 0x8f, 0x54, 0xa8, 0x8f, 0x45, 0x8f, 0x74, 0x72, 0xdd,
+ 0x7e, 0xff, 0x9f, 0xb0, 0xf9, 0x54, 0x46, 0xbe, 0xc9, 0x9d, 0x87, 0x42,
+ 0x3c, 0x17, 0x62, 0x93, 0x00, 0x60, 0x01, 0x82, 0x9d, 0x2e, 0x47, 0x8b,
+ 0x50, 0x6e, 0xb0, 0xf8, 0xeb, 0xd0, 0x9c, 0x78, 0x97, 0xcc, 0x91, 0xc7,
+ 0xa9, 0xe4, 0x23, 0x90, 0xd0, 0xa6, 0x06, 0xca, 0xbb, 0x34, 0x3a, 0xf2,
+ 0x1a, 0x2e, 0x2c, 0x96, 0xd0, 0xda, 0x1c, 0xbd, 0xf6, 0x97, 0xbf, 0x38,
+ 0x89, 0xc4, 0xc5, 0x90, 0x99, 0x82, 0xff, 0x59, 0x4f, 0x58, 0x0a, 0x39,
+ 0xbe, 0xc5, 0x1c, 0xe9, 0xc9, 0xfa, 0xfe, 0x8f, 0x70, 0x07, 0xff, 0xdc,
+ 0xff, 0xd1, 0xfc, 0xfb, 0xe7, 0x75, 0x9b, 0x63, 0xc8, 0xbc, 0x48, 0xac,
+ 0x25, 0xaf, 0xb5, 0x0f, 0x73, 0xaf, 0x5d, 0x4a, 0x12, 0x7a, 0xc1, 0xc5,
+ 0xe1, 0x19, 0x1f, 0xc5, 0x8a, 0xc3, 0xdc, 0x18, 0x29, 0x89, 0x22, 0x28,
+ 0xf6, 0x24, 0xc3, 0x99, 0x21, 0xd1, 0xec, 0x14, 0x3b, 0x97, 0x5a, 0x2a,
+ 0x87, 0x0d, 0x4b, 0xbc, 0xd8, 0x73, 0x24, 0x82, 0xa4, 0x3a, 0x56, 0x5c,
+ 0x7b, 0xe4, 0xda, 0xf4, 0x85, 0xbc, 0x07, 0x48, 0x69, 0x36, 0x02, 0x58,
+ 0x95, 0x6a, 0xfe, 0x81, 0x36, 0x47, 0x1c, 0x4b, 0x35, 0x39, 0xe3, 0x6f,
+ 0x4d, 0xd7, 0x7a, 0xc2, 0x06, 0xca, 0x99, 0x11, 0x8d, 0x10, 0xda, 0x99,
+ 0xe9, 0x30, 0x13, 0xa6, 0x74, 0xa8, 0x55, 0x5e, 0x7f, 0xa2, 0x11, 0x4a,
+ 0x9a, 0x4f, 0xc2, 0x18, 0xa1, 0x35, 0x4f, 0xeb, 0x46, 0xcf, 0x28, 0xec,
+ 0x25, 0xb4, 0x21, 0x36, 0x77, 0xcf, 0x9b, 0x62, 0x77, 0x4d, 0xe8, 0xe2,
+ 0x6b, 0x6e, 0x7c, 0x94, 0xfa, 0x48, 0x1e, 0xab, 0xb2, 0x38, 0x23, 0x97,
+ 0xcf, 0x23, 0xa0, 0xe4, 0x1f, 0x69, 0x72, 0x66, 0x34, 0x5e, 0xbb, 0x4d,
+ 0x3c, 0x82, 0x9c, 0x64, 0x93, 0x7e, 0x40, 0xd7, 0xe0, 0x56, 0xf7, 0xfa,
+ 0xa2, 0x02, 0x13, 0x69, 0xee, 0x3b, 0x68, 0xcc, 0xba, 0xd1, 0x89, 0xa5,
+ 0xd4, 0x89, 0xca, 0xf4, 0x81, 0xd0, 0x79, 0x92, 0xda, 0xad, 0x39, 0x48,
+ 0x14, 0xdc, 0x55, 0xd5, 0x6e, 0x2d, 0x6a, 0x34, 0x88, 0x9b, 0xd6, 0xe9,
+ 0xa5, 0x48, 0xa4, 0x64, 0xf7, 0x2b, 0x4f, 0x3c, 0xfd, 0x09, 0xc9, 0x4d,
+ 0xe9, 0x39, 0xb7, 0x05, 0x6a, 0x9b, 0x86, 0x96, 0x0d, 0x3a, 0x3f, 0x8b,
+ 0x51, 0x96, 0x7a, 0xb7, 0xeb, 0xde, 0x4e, 0xe8, 0x53, 0xa1, 0x82, 0xad,
+ 0x98, 0xe4, 0x7e, 0x3e, 0x7f, 0x98, 0xd2, 0x4c, 0xa9, 0x96, 0x68, 0x2d,
+ 0x5b, 0x02, 0xc6, 0x5e, 0x35, 0xf5, 0xe2, 0xea, 0x0a, 0xa4, 0x0a, 0x21,
+ 0x2c, 0xaf, 0xa9, 0xbd, 0x24, 0x48, 0xe1, 0x78, 0x37, 0x42, 0x1d, 0x5d,
+ 0xd7, 0xe9, 0x70, 0xa9, 0x91, 0x22, 0x7a, 0x1c, 0x53, 0xee, 0xd2, 0xec,
+ 0x59, 0xca, 0x32, 0xe1, 0x83, 0xee, 0x34, 0x9a, 0x2a, 0xeb, 0xbb, 0x72,
+ 0xc9, 0x4c, 0x05, 0xdc, 0xba, 0x3c, 0x02, 0x58, 0xaf, 0x27, 0x1b, 0xeb,
+ 0x15, 0x62, 0x70, 0xb0, 0xb2, 0x34, 0x3d, 0xb9, 0xdb, 0xa8, 0xc2, 0x05,
+ 0x53, 0xba, 0xe4, 0x97, 0xc2, 0xa5, 0xc6, 0x64, 0x58, 0x95, 0x25, 0x17,
+ 0xf2, 0xb9, 0x0f, 0xba, 0x17, 0xe8, 0x25, 0xe6, 0x63, 0x95, 0x8b, 0xc0,
+ 0x89, 0x44, 0x5f, 0x71, 0x7a, 0x3a, 0xd8, 0x0b, 0x96, 0xb6, 0x9e, 0xf6,
+ 0xc7, 0xe3, 0x71, 0x1f, 0x2a, 0xc1, 0x2b, 0xd6, 0x54, 0xb6, 0x45, 0x4f,
+ 0x88, 0xeb, 0x50, 0xc3, 0x4c, 0xe6, 0xfb, 0xf0, 0xf0, 0x50, 0x54, 0x9a,
+ 0x8b, 0xeb, 0x8e, 0x6e, 0x61, 0x59, 0x7f, 0x44, 0xb1, 0x8a, 0xe6, 0x54,
+ 0xd5, 0xd7, 0x8b, 0x66, 0x82, 0x5a, 0xa6, 0x24, 0x35, 0x54, 0x0e, 0xdb,
+ 0x44, 0xd9, 0x0e, 0x3b, 0x23, 0x55, 0x95, 0xee, 0x59, 0x44, 0x22, 0x35,
+ 0x1e, 0x64, 0x12, 0xce, 0xb9, 0x2a, 0x04, 0x5e, 0x94, 0xb6, 0xbb, 0x95,
+ 0x12, 0xb9, 0xaf, 0x3e, 0x81, 0x92, 0xf6, 0xb0, 0x8e, 0xa1, 0xd8, 0xb4,
+ 0x15, 0x7c, 0x36, 0xcd, 0x05, 0x13, 0x9b, 0xca, 0xb7, 0xba, 0x6d, 0x3f,
+ 0xb0, 0x1e, 0x32, 0xd5, 0xed, 0x25, 0x79, 0xbe, 0x74, 0x49, 0xe2, 0x92,
+ 0x0a, 0xc5, 0x85, 0x69, 0xe6, 0x93, 0xcd, 0x43, 0x90, 0x3b, 0x12, 0x89,
+ 0x33, 0x4e, 0xc5, 0xe1, 0x35, 0xa1, 0xb7, 0xa6, 0x66, 0x81, 0x4c, 0xaf,
+ 0x6b, 0xc8, 0x01, 0xae, 0x9e, 0x36, 0x3c, 0xd9, 0xbe, 0x38, 0x19, 0x06,
+ 0x80, 0xf7, 0x7b, 0xf2, 0x1e, 0x73, 0x09, 0xdc, 0x96, 0xef, 0x93, 0xa7,
+ 0x08, 0x74, 0xb9, 0xe5, 0x65, 0x7b, 0x87, 0xf3, 0x17, 0xa2, 0x8c, 0x19,
+ 0x8b, 0xc2, 0x96, 0x4d, 0xb7, 0xde, 0xdb, 0x22, 0x2b, 0x90, 0x4a, 0x4e,
+ 0xf7, 0x39, 0x8e, 0x00, 0xa0, 0xb0, 0x75, 0xf2, 0xfe, 0xe0, 0x82, 0xd2,
+ 0x5b, 0x1a, 0x41, 0x77, 0x5c, 0x96, 0x01, 0xce, 0x5c, 0xd9, 0x39, 0x2d,
+ 0x9f, 0x61, 0x3a, 0x76, 0x15, 0x22, 0x54, 0x69, 0xe7, 0xe5, 0xab, 0x75,
+ 0xe7, 0xad, 0x9a, 0x7e, 0x33, 0xa5, 0x72, 0x3f, 0x74, 0xf7, 0x7c, 0x77,
+ 0x35, 0x76, 0xa3, 0xab, 0xc1, 0x13, 0x10, 0x5d, 0x91, 0x73, 0x91, 0xe6,
+ 0x32, 0xcd, 0x76, 0xeb, 0xc2, 0x8d, 0x39, 0x2d, 0xaf, 0x72, 0xa4, 0x97,
+ 0xf2, 0x52, 0xb5, 0xa2, 0x6d, 0x81, 0xc7, 0x94, 0x27, 0x87, 0x12, 0xb1,
+ 0x71, 0x2f, 0xb6, 0x13, 0xab, 0xf8, 0x90, 0xd0, 0x5d, 0x61, 0x27, 0x55,
+ 0xa8, 0xc1, 0x35, 0x07, 0x32, 0x4c, 0x31, 0x24, 0x19, 0x93, 0x8f, 0x8d,
+ 0xad, 0x30, 0x26, 0xd8, 0xc7, 0x5b, 0x84, 0x41, 0x5a, 0xe0, 0xda, 0xbc,
+ 0x45, 0x8d, 0x66, 0x7d, 0xa5, 0x14, 0xb0, 0x8f, 0xe6, 0x00, 0xc9, 0x18,
+ 0x57, 0xba, 0xe4, 0x9f, 0xb7, 0xae, 0x8f, 0xaf, 0xc9, 0x38, 0xbb, 0x0a,
+ 0xae, 0x5d, 0xf6, 0xeb, 0x32, 0x00, 0xbb, 0x53, 0x8f, 0xc6, 0xd5, 0x60,
+ 0x20, 0x2f, 0x11, 0xc7, 0xd6, 0x3b, 0x95, 0x16, 0x27, 0xbd, 0x28, 0x43,
+ 0x79, 0xaf, 0x4b, 0xfa, 0x5d, 0x85, 0xbc, 0xc0, 0x2d, 0x5e, 0x19, 0x4b,
+ 0x0b, 0xd2, 0x69, 0xee, 0x6b, 0x73, 0xef, 0x5b, 0x46, 0xf9, 0x0e, 0xfd,
+ 0x4c, 0x8b, 0x6d, 0x9e, 0xb1, 0x38, 0x14, 0x73, 0xba, 0xa5, 0x5a, 0x8a,
+ 0xb7, 0x71, 0x7b, 0x87, 0x15, 0xda, 0x0b, 0xc7, 0x4f, 0xcd, 0xc7, 0x43,
+ 0x49, 0xfc, 0x55, 0x64, 0x7d, 0x38, 0x3f, 0xb1, 0x81, 0xf9, 0x7f, 0xdf,
+ 0x70, 0x25, 0x53, 0x06, 0x4b, 0xd8, 0xda, 0x62, 0x34, 0xae, 0x88, 0x35,
+ 0x49, 0xb0, 0x49, 0xa1, 0x14, 0x7e, 0xbe, 0x49, 0x04, 0xcc, 0xad, 0xe3,
+ 0x5b, 0xdd, 0xa3, 0x6f, 0x8e, 0x0e, 0xde, 0x58, 0x36, 0x81, 0x5f, 0x50,
+ 0x54, 0xa8, 0xab, 0xf2, 0xc3, 0x51, 0xe2, 0x60, 0x17, 0x65, 0x91, 0x2d,
+ 0x73, 0x92, 0xa8, 0xe3, 0x6f, 0x94, 0x31, 0x31, 0xfe, 0x42, 0x7c, 0x26,
+ 0x29, 0x96, 0x47, 0xb7, 0x2a, 0x36, 0x8a, 0xd1, 0xd7, 0xea, 0x8c, 0x0f,
+ 0xc8, 0x72, 0x82, 0xf8, 0xa5, 0x6e, 0x12, 0x1f, 0x77, 0x20, 0xde, 0x6b,
+ 0xd2, 0x9a, 0x39, 0xb9, 0xca, 0xdb, 0xca, 0x57, 0xd8, 0xca, 0xd3, 0x72,
+ 0x54, 0x5e, 0x5e, 0xae, 0x08, 0x03, 0x32, 0x4d, 0x1f, 0x92, 0xa0, 0x78,
+ 0xc7, 0xac, 0xd3, 0x34, 0xd2, 0x7b, 0x23, 0xea, 0xbe, 0x59, 0x54, 0x73,
+ 0xdc, 0xd6, 0x25, 0x33, 0x41, 0xca, 0x68, 0x07, 0x57, 0x8f, 0x17, 0x4d,
+ 0xb8, 0x17, 0x68, 0xab, 0x9a, 0x7b, 0xc8, 0xce, 0x67, 0xd7, 0x8c, 0x22,
+ 0x84, 0x2c, 0xd7, 0xb9, 0x99, 0xf5, 0xff, 0xfc, 0xaf, 0x1f, 0x7f, 0x8e,
+ 0x30, 0xbe, 0x03, 0x09, 0x76, 0xcd, 0xb9, 0x85, 0xe6, 0xf9, 0x99, 0xb0,
+ 0xb7, 0x58, 0x62, 0x6e, 0x57, 0xce, 0x9e, 0x54, 0xb0, 0x6c, 0x7a, 0x39,
+ 0x70, 0x75, 0x4b, 0xc2, 0x8b, 0xb1, 0x76, 0x1f, 0x44, 0xbd, 0x29, 0x4a,
+ 0x06, 0xe7, 0x04, 0x5e, 0xa2, 0x50, 0x46, 0xe1, 0x14, 0x87, 0x97, 0xb6,
+ 0x04, 0xab, 0xb2, 0x12, 0x91, 0x64, 0x02, 0xad, 0x2d, 0xd1, 0x8d, 0x9f,
+ 0x7f, 0x38, 0x3f, 0xb6, 0x5e, 0x4f, 0x5f, 0x2e, 0x5f, 0x9b, 0x9d, 0x7a,
+ 0xdf, 0xcf, 0xee, 0xb3, 0x91, 0x91, 0x11, 0xb5, 0xf2, 0x3f, 0xf4, 0x67,
+ 0x75, 0xf2, 0x6a, 0x66, 0x76, 0x78, 0xbe, 0x84, 0xb9, 0xe3, 0x1b, 0x7a,
+ 0xcd, 0x58, 0xd4, 0xf2, 0x9e, 0x25, 0x92, 0xbc, 0x2a, 0x2b, 0x33, 0x45,
+ 0x33, 0xc9, 0xc8, 0x95, 0xb4, 0xe4, 0xb6, 0x5f, 0x03, 0x19, 0x26, 0x81,
+ 0x6f, 0x80, 0x58, 0xd8, 0x28, 0xad, 0xca, 0xa3, 0xf3, 0x12, 0xc5, 0x70,
+ 0xb2, 0x48, 0xa7, 0xa4, 0xd5, 0x1b, 0x63, 0x1b, 0x06, 0x3e, 0x39, 0x09,
+ 0x79, 0x47, 0x21, 0xb1, 0x02, 0xaf, 0x44, 0x99, 0x04, 0x6c, 0x1e, 0x22,
+ 0xac, 0x2c, 0x92, 0x3a, 0xfe, 0x88, 0x6c, 0x21, 0x42, 0xff, 0x93, 0x52,
+ 0x82, 0x34, 0x9c, 0x57, 0xe9, 0x3e, 0x1f, 0x68, 0x0b, 0x5b, 0xa5, 0x4c,
+ 0x8d, 0x5c, 0x6b, 0x84, 0xa6, 0xbe, 0x8e, 0xec, 0x11, 0x4e, 0x04, 0x87,
+ 0x72, 0x96, 0x4e, 0x6c, 0x2e, 0xbd, 0x4f, 0x3f, 0x87, 0x3c, 0xc4, 0x94,
+ 0x12, 0x23, 0xb3, 0xe9, 0x40, 0x8a, 0xe3, 0x02, 0x50, 0xe5, 0x5a, 0x85,
+ 0xcc, 0xed, 0x02, 0x48, 0x6a, 0xc2, 0x04, 0x70, 0x3a, 0xac, 0x2d, 0x1d,
+ 0x9e, 0x59, 0x27, 0x44, 0x34, 0xf0, 0x0b, 0xb5, 0x04, 0x86, 0xae, 0x99,
+ 0x15, 0x31, 0x21, 0xc0, 0x59, 0x8b, 0x8a, 0x4a, 0x4c, 0x46, 0x42, 0x2f,
+ 0x03, 0x4e, 0x41, 0x22, 0x44, 0xd6, 0xfb, 0x48, 0xd6, 0xbb, 0xd3, 0x1c,
+ 0xc5, 0x5e, 0x92, 0xe7, 0xcf, 0x9e, 0x3d, 0x4b, 0x38, 0xfa, 0x92, 0xac,
+ 0x1f, 0x33, 0xf9, 0xfa, 0xf9, 0xd1, 0xe1, 0xe9, 0xbb, 0x77, 0x47, 0xef,
+ 0xdf, 0x1c, 0xbd, 0xb1, 0x07, 0x4d, 0xc7, 0x62, 0x77, 0x47, 0x30, 0x22,
+ 0x42, 0x08, 0x4e, 0x92, 0xdd, 0x67, 0x3b, 0xfd, 0xbd, 0x67, 0x3b, 0x89,
+ 0xd9, 0x8a, 0xa9, 0xcd, 0x53, 0x4b, 0xa7, 0x29, 0x79, 0x04, 0xae, 0x17,
+ 0x46, 0x4f, 0x23, 0x76, 0xc8, 0x86, 0x78, 0x37, 0xe0, 0x86, 0x25, 0x4f,
+ 0x71, 0x91, 0x35, 0x64, 0x44, 0x07, 0x1a, 0x50, 0x3a, 0x19, 0xac, 0x27,
+ 0x96, 0xea, 0xcb, 0xc5, 0x2f, 0x45, 0xfd, 0xc1, 0x06, 0xdd, 0xdb, 0xa1,
+ 0x4f, 0x0d, 0x92, 0xb7, 0x46, 0x03, 0xb9, 0x2c, 0xef, 0x12, 0xd6, 0x03,
+ 0x8d, 0x5a, 0x9a, 0x85, 0x71, 0xcb, 0xf6, 0xeb, 0xf4, 0xf6, 0x13, 0x7e,
+ 0xfb, 0x5f, 0x18, 0xb0, 0x7f, 0xf6, 0xb2, 0x6d, 0x5c, 0x9a, 0x83, 0x0c,
+ 0x72, 0x6e, 0xcd, 0x49, 0x5c, 0x5e, 0xff, 0x85, 0xee, 0xa0, 0x83, 0x33,
+ 0x7a, 0xd8, 0xd8, 0xe5, 0xa7, 0x3f, 0xfc, 0xb5, 0x4b, 0x36, 0x96, 0x48,
+ 0x1a, 0x2b, 0x6a, 0x93, 0x21, 0xa7, 0x2a, 0x8e, 0xe4, 0x6b, 0x99, 0x84,
+ 0x7a, 0xc7, 0x60, 0x7c, 0x84, 0x3d, 0x35, 0x13, 0xc7, 0x25, 0x83, 0x64,
+ 0xcd, 0xaa, 0x5a, 0xd2, 0x88, 0xe0, 0x35, 0x0e, 0x70, 0x41, 0xe5, 0x5d,
+ 0xce, 0xdc, 0xfb, 0x79, 0x31, 0xe1, 0xaa, 0x92, 0x2d, 0xf7, 0x6c, 0x53,
+ 0x2d, 0x5a, 0x16, 0xb0, 0xba, 0x63, 0x1f, 0x22, 0xdb, 0x98, 0x57, 0xf9,
+ 0x2c, 0xad, 0x72, 0xae, 0x1f, 0x4d, 0x7b, 0x1b, 0x06, 0xaf, 0x82, 0x27,
+ 0x11, 0x02, 0xb3, 0xb4, 0x84, 0x84, 0x25, 0x48, 0x23, 0xdc, 0xd6, 0x20,
+ 0xd4, 0x07, 0x42, 0x89, 0x49, 0x83, 0x78, 0x49, 0xa5, 0xf6, 0xfc, 0x8a,
+ 0x15, 0x7a, 0xde, 0x36, 0xff, 0x2d, 0x74, 0x25, 0x9a, 0x7e, 0x4b, 0x3a,
+ 0xee, 0xdb, 0xe3, 0x93, 0xa3, 0xad, 0xe4, 0x6d, 0xd6, 0x48, 0x6e, 0x93,
+ 0x02, 0x8b, 0xe9, 0xa6, 0xff, 0x03, 0xb4, 0x2b, 0xcb, 0x69, 0x27, 0xf9,
+ 0xc1, 0xd1, 0x1a, 0xc8, 0x6c, 0xc3, 0x40, 0xcd, 0xd0, 0x3c, 0x29, 0x5e,
+ 0x18, 0x0c, 0x91, 0xc2, 0x72, 0x8a, 0x26, 0xd3, 0x30, 0xa7, 0xac, 0x3b,
+ 0x25, 0x5b, 0x85, 0x35, 0x16, 0x99, 0xe5, 0x61, 0xe0, 0x6b, 0x9a, 0x60,
+ 0x02, 0x77, 0x50, 0x02, 0xea, 0xb7, 0xa0, 0x9d, 0x39, 0x2e, 0x98, 0xd7,
+ 0xf3, 0x29, 0xc9, 0x81, 0x18, 0xc7, 0xcb, 0x54, 0x32, 0xa0, 0x80, 0x7e,
+ 0xa6, 0x4d, 0xcf, 0xb5, 0x9e, 0xc5, 0xe2, 0x81, 0x38, 0xa5, 0xf1, 0x7a,
+ 0x13, 0xf7, 0x8d, 0x4e, 0x1c, 0xc1, 0x4f, 0xf8, 0xcf, 0xed, 0x2f, 0xa3,
+ 0xf4, 0x63, 0xbc, 0xc7, 0x8f, 0x50, 0xf0, 0x52, 0x5e, 0xc0, 0x8e, 0xe2,
+ 0x12, 0xc8, 0x72, 0xbf, 0xab, 0xc6, 0xd9, 0xda, 0x09, 0x31, 0xdd, 0x15,
+ 0xfb, 0xc1, 0x85, 0xe4, 0xff, 0x2a, 0x85, 0x6b, 0x54, 0x7b, 0xa0, 0x04,
+ 0x70, 0x77, 0xb5, 0x64, 0xde, 0x47, 0xeb, 0x68, 0x85, 0x28, 0x16, 0xc8,
+ 0x52, 0x50, 0x93, 0x15, 0x29, 0x02, 0xe9, 0xa7, 0x8a, 0xd2, 0xd7, 0x0e,
+ 0xd3, 0x63, 0xd7, 0xc2, 0x1f, 0x0c, 0x4f, 0x0a, 0xa7, 0x8f, 0xd5, 0x11,
+ 0xd7, 0xbf, 0x4b, 0x8f, 0x73, 0x51, 0x3e, 0x14, 0x9a, 0x64, 0xc7, 0x8c,
+ 0x42, 0x10, 0x7a, 0x92, 0xd4, 0x75, 0xc7, 0xcf, 0x4c, 0xef, 0x23, 0x8a,
+ 0x92, 0x7c, 0xdd, 0x97, 0x3e, 0x5d, 0x7d, 0xdd, 0x7e, 0xa3, 0xb4, 0xcc,
+ 0x39, 0x62, 0x85, 0x86, 0x9a, 0x22, 0xcd, 0x1d, 0xfb, 0xca, 0x51, 0x09,
+ 0x9c, 0x92, 0xde, 0xc7, 0x9f, 0x72, 0xb2, 0x8c, 0xea, 0x66, 0x01, 0x6d,
+ 0x2e, 0x2d, 0xfc, 0x5e, 0x5a, 0xb2, 0xed, 0x49, 0x89, 0x99, 0x8e, 0x2b,
+ 0x9e, 0xa4, 0x1d, 0x91, 0xbf, 0x80, 0x08, 0x3c, 0xb5, 0x37, 0x3c, 0x1a,
+ 0x7b, 0x56, 0xac, 0x86, 0x46, 0x89, 0x90, 0xcc, 0xf5, 0x1d, 0xa1, 0x15,
+ 0xce, 0x50, 0x2e, 0x15, 0xee, 0xbe, 0x5b, 0x21, 0x19, 0xdb, 0x30, 0xa7,
+ 0x09, 0x6a, 0xf1, 0xc0, 0xd8, 0xa1, 0x33, 0xca, 0x04, 0x00, 0xb6, 0x56,
+ 0x86, 0x2c, 0xd3, 0x63, 0x04, 0xdb, 0x55, 0x7e, 0x13, 0x45, 0x5b, 0x68,
+ 0xc7, 0x00, 0xd5, 0xd0, 0x5e, 0x28, 0xce, 0x18, 0xa0, 0x0f, 0xe6, 0xaa,
+ 0x83, 0x5b, 0x1a, 0xd5, 0x6c, 0xed, 0xf2, 0x05, 0x27, 0x78, 0x4a, 0xda,
+ 0x2a, 0x51, 0x7a, 0x15, 0xfb, 0x66, 0xfb, 0x27, 0xeb, 0xdf, 0x18, 0xb5,
+ 0x67, 0x7f, 0xdd, 0x92, 0x5a, 0x0b, 0x38, 0x2a, 0xeb, 0xec, 0x1c, 0x29,
+ 0xf8, 0xda, 0x8f, 0x96, 0x61, 0x62, 0x9d, 0xbd, 0x51, 0xb9, 0x65, 0xd3,
+ 0x6c, 0x42, 0x28, 0xb3, 0x4d, 0x7b, 0xe9, 0x81, 0xe0, 0xe4, 0x3a, 0x24,
+ 0xed, 0xa6, 0x2e, 0xfd, 0xd0, 0x3f, 0xc4, 0xc7, 0xfb, 0xdf, 0xa0, 0xbd,
+ 0xcf, 0xd7, 0xad, 0xb7, 0xb7, 0xfb, 0x2b, 0xd3, 0xf1, 0xb5, 0x18, 0xf4,
+ 0xa7, 0x55, 0x62, 0xae, 0x5e, 0x54, 0x9a, 0x72, 0x04, 0x5c, 0x89, 0xf4,
+ 0x12, 0xe4, 0x6f, 0x93, 0xc9, 0xb6, 0x5d, 0x74, 0x86, 0xd0, 0x2d, 0xab,
+ 0xd9, 0x69, 0xae, 0x91, 0x39, 0xa8, 0x74, 0x26, 0xfd, 0xf2, 0xb2, 0x0f,
+ 0x58, 0xb4, 0x91, 0xfe, 0x9f, 0x08, 0x95, 0xe4, 0x9d, 0x3a, 0x90, 0x83,
+ 0x80, 0xba, 0x79, 0x32, 0x89, 0x69, 0xe5, 0x9c, 0xc1, 0x48, 0x1a, 0x87,
+ 0x6c, 0x7c, 0xcd, 0xaf, 0xe0, 0xc5, 0xdc, 0x17, 0xaf, 0x3c, 0x5e, 0xb7,
+ 0x25, 0x7f, 0x88, 0x97, 0x6b, 0x65, 0x85, 0xa0, 0x1e, 0x6b, 0xee, 0x18,
+ 0x34, 0x4c, 0xb7, 0x19, 0x7b, 0x72, 0xe1, 0x7b, 0x5e, 0xcc, 0xa1, 0xad,
+ 0x12, 0x89, 0x66, 0xe0, 0x7a, 0xd1, 0xdc, 0x10, 0xbe, 0xf5, 0x9f, 0x0d,
+ 0x76, 0x7a, 0x41, 0xb4, 0xbe, 0x81, 0x8d, 0x5f, 0x38, 0xa8, 0x10, 0x80,
+ 0x12, 0x90, 0x91, 0xfd, 0x68, 0x5a, 0x6d, 0xdd, 0xdc, 0x93, 0xb4, 0xb6,
+ 0x69, 0xb4, 0xe0, 0xb0, 0x76, 0xf9, 0x0e, 0x0e, 0xdf, 0xc3, 0xb5, 0xcd,
+ 0x0b, 0x97, 0x3e, 0x1b, 0xe3, 0x1d, 0x15, 0xe4, 0xd6, 0x97, 0xfd, 0x6e,
+ 0xd5, 0x47, 0x5b, 0xfc, 0xc9, 0x4f, 0xda, 0xf0, 0xca, 0x38, 0x2d, 0x75,
+ 0x33, 0x81, 0xcb, 0xfc, 0x40, 0xcb, 0xa5, 0xf4, 0xcd, 0xa4, 0x4a, 0x8d,
+ 0xcb, 0x7e, 0x46, 0x3f, 0x64, 0xb2, 0x0e, 0x25, 0xf3, 0xac, 0x1f, 0x98,
+ 0xb3, 0x27, 0x9f, 0xd1, 0x9c, 0x59, 0x76, 0x77, 0xad, 0x62, 0xe2, 0x2e,
+ 0x08, 0x6c, 0x5b, 0xef, 0x2c, 0x75, 0xe7, 0x8c, 0xe4, 0x0a, 0x49, 0x02,
+ 0x18, 0xf4, 0xec, 0xb5, 0x44, 0x13, 0x4b, 0x61, 0xc4, 0x4b, 0xf0, 0xbd,
+ 0x38, 0x36, 0x6f, 0x49, 0xa7, 0xef, 0xbf, 0x37, 0xcb, 0xb0, 0x9f, 0xfc,
+ 0x47, 0x99, 0x71, 0xaa, 0xea, 0x03, 0x99, 0xaa, 0xdf, 0x1f, 0x9c, 0xbf,
+ 0x3f, 0x7e, 0xff, 0xf5, 0xbe, 0xcb, 0xe4, 0x82, 0xcc, 0xf3, 0x0a, 0x86,
+ 0x74, 0x9c, 0x3e, 0x88, 0xfe, 0xd1, 0x23, 0xe4, 0x99, 0x99, 0x4e, 0x97,
+ 0x50, 0x34, 0x27, 0x7d, 0x96, 0xce, 0xec, 0xba, 0xac, 0x32, 0x8e, 0x8a,
+ 0xb0, 0x21, 0x6a, 0x13, 0x26, 0x7a, 0x5a, 0x07, 0x8b, 0x0b, 0x28, 0x34,
+ 0x65, 0x60, 0x76, 0x8a, 0xbb, 0xe4, 0x04, 0xee, 0x92, 0x69, 0xd9, 0xaa,
+ 0xd7, 0x43, 0xbb, 0x73, 0x8a, 0x5d, 0x50, 0xfa, 0x1b, 0x81, 0x4d, 0x66,
+ 0xa0, 0x61, 0x43, 0x84, 0x09, 0x67, 0xc0, 0xa0, 0x92, 0x2f, 0xae, 0x89,
+ 0x56, 0x95, 0x12, 0xae, 0x34, 0x50, 0x63, 0xd1, 0xea, 0x1c, 0x9e, 0x06,
+ 0x37, 0x27, 0x4b, 0x8c, 0x62, 0x5c, 0x66, 0x4c, 0x50, 0x9c, 0x2e, 0xf8,
+ 0xd0, 0x30, 0x3d, 0x99, 0xfc, 0xd4, 0xe5, 0x63, 0xd8, 0x39, 0x58, 0x1d,
+ 0x77, 0x70, 0xe8, 0xff, 0x08, 0xb2, 0x19, 0x21, 0x3f, 0x27, 0xb3, 0xb6,
+ 0x2b, 0xdc, 0x26, 0x51, 0x1a, 0x92, 0x69, 0xe6, 0xf2, 0x91, 0xac, 0xba,
+ 0x73, 0xcd, 0xea, 0xce, 0x74, 0x1e, 0xb0, 0xed, 0x11, 0xaa, 0x9c, 0x7e,
+ 0x21, 0x73, 0x4b, 0x91, 0x2b, 0x5c, 0xc1, 0x6a, 0x92, 0xb4, 0xb8, 0xed,
+ 0x6c, 0xa9, 0x3c, 0x45, 0xe9, 0x87, 0x57, 0x2a, 0xd1, 0x3d, 0x65, 0x4c,
+ 0x38, 0xe6, 0x67, 0xbe, 0x98, 0xaf, 0x9b, 0x49, 0x9e, 0x2f, 0x46, 0xb3,
+ 0xc9, 0xb3, 0xe4, 0x95, 0xf9, 0x4f, 0xa0, 0x67, 0x0d, 0x19, 0x58, 0x7a,
+ 0x48, 0x5e, 0x74, 0x42, 0xbb, 0xd0, 0xad, 0xc1, 0x9c, 0x37, 0xe2, 0x48,
+ 0xa1, 0xbf, 0x3e, 0xd9, 0x33, 0x9d, 0xbd, 0x4b, 0x95, 0xe1, 0x72, 0x62,
+ 0x16, 0xb0, 0x01, 0x0a, 0x6d, 0x09, 0x6d, 0x90, 0x83, 0x37, 0xd2, 0x82,
+ 0xef, 0xee, 0xbd, 0x48, 0x28, 0xdb, 0xe0, 0xdd, 0x9b, 0x67, 0xc9, 0xf8,
+ 0x3a, 0x1b, 0x7f, 0xaa, 0x17, 0x33, 0x95, 0xc7, 0x09, 0x4d, 0x29, 0x05,
+ 0x42, 0xa8, 0x9f, 0x01, 0x31, 0x8f, 0xe9, 0xf8, 0x34, 0x1f, 0x53, 0xd2,
+ 0x5f, 0xaf, 0x15, 0xa0, 0xba, 0xd4, 0x40, 0x9a, 0x67, 0x83, 0xda, 0x9b,
+ 0x03, 0xc8, 0x01, 0x86, 0xd7, 0x44, 0x2c, 0x1d, 0x33, 0x07, 0xe6, 0xf3,
+ 0x35, 0x97, 0xf8, 0x5d, 0xe9, 0xb2, 0xfd, 0xac, 0xe5, 0xf5, 0xde, 0xc1,
+ 0x52, 0x9a, 0xf3, 0xbd, 0x3b, 0xd8, 0x59, 0x52, 0x93, 0x1b, 0x38, 0x15,
+ 0x0d, 0xf7, 0x51, 0x0f, 0x61, 0x0d, 0x48, 0x0d, 0xf2, 0xc4, 0xbc, 0xe7,
+ 0x6b, 0x61, 0x0a, 0x1b, 0x37, 0x13, 0xb9, 0x04, 0xe5, 0x65, 0xee, 0x15,
+ 0xf1, 0x8d, 0x64, 0x93, 0x56, 0x53, 0x8f, 0xc5, 0xdb, 0x4b, 0x77, 0x77,
+ 0xc5, 0xc7, 0x4f, 0xff, 0x6a, 0x45, 0x55, 0xe4, 0xd7, 0xbf, 0x72, 0x34,
+ 0xbb, 0x0f, 0x9c, 0x2b, 0xd7, 0x11, 0x4c, 0x9e, 0x9b, 0x3d, 0x5b, 0x81,
+ 0x8a, 0x3b, 0xe4, 0x26, 0xbd, 0xd3, 0x5c, 0x48, 0xa2, 0x8e, 0x17, 0x28,
+ 0x75, 0xa2, 0xac, 0xfa, 0xa4, 0x13, 0x4e, 0xb3, 0x49, 0x70, 0x45, 0x47,
+ 0xbb, 0x6f, 0x94, 0x8d, 0x7a, 0xa1, 0x24, 0x24, 0x14, 0x2d, 0x00, 0xa7,
+ 0x19, 0x33, 0x66, 0xb9, 0x02, 0x16, 0x31, 0x78, 0x38, 0x3d, 0xb3, 0xbd,
+ 0xe7, 0x79, 0x0b, 0xf1, 0x03, 0x9a, 0xd4, 0xe4, 0xc3, 0xfc, 0xaa, 0x4a,
+ 0x01, 0x5d, 0x3a, 0x6e, 0x1c, 0x31, 0x39, 0x7a, 0x97, 0x2c, 0xeb, 0x9d,
+ 0xe3, 0x95, 0xd2, 0x90, 0x2f, 0x72, 0x00, 0x6b, 0xfd, 0x4e, 0x4d, 0xc9,
+ 0x95, 0xd0, 0x2a, 0xb9, 0x0a, 0x14, 0x7e, 0xee, 0x55, 0xd9, 0x88, 0x11,
+ 0xc7, 0x9a, 0x97, 0x98, 0x61, 0xb4, 0xd4, 0x56, 0x5a, 0xb0, 0x6d, 0xa2,
+ 0xc4, 0x66, 0x75, 0x52, 0xcb, 0x72, 0x39, 0x4a, 0xf2, 0x80, 0x95, 0x8f,
+ 0x17, 0x57, 0x94, 0x84, 0x0e, 0x69, 0x5c, 0x10, 0x5d, 0x88, 0x2e, 0xc7,
+ 0xa3, 0x29, 0xda, 0x03, 0x6e, 0xa8, 0x9c, 0xdd, 0x2f, 0x9a, 0x16, 0xc9,
+ 0x63, 0x19, 0x3c, 0x6e, 0x73, 0xef, 0xf4, 0xa2, 0xbd, 0xa3, 0xdd, 0xe6,
+ 0x6f, 0xfe, 0x16, 0xd1, 0xda, 0xcb, 0xc8, 0xe6, 0xfa, 0x55, 0x67, 0x61,
+ 0x6f, 0x55, 0x8c, 0xcd, 0x28, 0xf1, 0xe9, 0x74, 0x5e, 0x0c, 0xf4, 0x0b,
+ 0x8f, 0x9a, 0x9f, 0xee, 0x32, 0x5b, 0x42, 0xfb, 0x5f, 0x37, 0x3f, 0xdd,
+ 0xb9, 0xf1, 0x65, 0x99, 0x3f, 0x3f, 0xdd, 0xb5, 0x5c, 0x59, 0xd1, 0x80,
+ 0xb3, 0x98, 0xb5, 0x90, 0x72, 0x9f, 0xd3, 0xb3, 0x62, 0x59, 0x0b, 0xc2,
+ 0xba, 0x29, 0x44, 0x64, 0xbd, 0xe4, 0x98, 0x89, 0x76, 0x11, 0x2b, 0x97,
+ 0x97, 0x4f, 0x38, 0xb7, 0x4b, 0xfc, 0x30, 0x0e, 0xec, 0x1b, 0x49, 0x04,
+ 0xcd, 0xc7, 0xc4, 0xf2, 0x33, 0x05, 0x1d, 0x12, 0xbc, 0x40, 0xd0, 0xe2,
+ 0x6c, 0x7d, 0x80, 0x05, 0x7b, 0xb9, 0x0e, 0xe6, 0x94, 0xa2, 0x65, 0xa4,
+ 0xd4, 0x9d, 0x6a, 0xc6, 0x91, 0x18, 0x8f, 0xb9, 0xd5, 0x4b, 0x24, 0x5a,
+ 0x2a, 0x24, 0xb4, 0xd3, 0x1d, 0x6a, 0x98, 0x99, 0xb8, 0xa6, 0x04, 0x81,
+ 0xae, 0x34, 0x59, 0x6f, 0x8f, 0x10, 0xf0, 0x57, 0x01, 0xd5, 0xf7, 0xe8,
+ 0xbe, 0x89, 0x24, 0x28, 0x80, 0x6a, 0x8c, 0xa6, 0x61, 0x93, 0x59, 0x7f,
+ 0xcc, 0xc6, 0x7b, 0x3e, 0xd8, 0xd9, 0xea, 0x51, 0x89, 0xd8, 0x39, 0x26,
+ 0x81, 0x10, 0xe4, 0xf6, 0xba, 0xa7, 0xc0, 0x6f, 0x7e, 0x45, 0x16, 0x94,
+ 0x20, 0x93, 0x03, 0x2c, 0xf7, 0x3f, 0x32, 0x45, 0xdd, 0x28, 0xa6, 0x45,
+ 0xc8, 0x0f, 0xdb, 0x24, 0xe7, 0x79, 0x0f, 0x85, 0x74, 0xe0, 0x2e, 0xe9,
+ 0x7a, 0x32, 0xc5, 0x89, 0x42, 0x1f, 0x57, 0x19, 0xa8, 0xfc, 0xda, 0x56,
+ 0x01, 0xb3, 0xf0, 0x6c, 0x21, 0x8e, 0x17, 0xde, 0xae, 0x88, 0x6f, 0x25,
+ 0xf2, 0xf2, 0x18, 0xf6, 0xb6, 0x7e, 0x05, 0x66, 0x11, 0x14, 0x4f, 0x91,
+ 0x7a, 0x64, 0xb8, 0xf4, 0x94, 0x90, 0xbf, 0x7b, 0x72, 0x27, 0x60, 0x73,
+ 0x66, 0xed, 0xc0, 0x11, 0x97, 0xb6, 0x0e, 0x9c, 0x92, 0x8d, 0x0e, 0x06,
+ 0x83, 0x48, 0x5e, 0xf5, 0x4d, 0x9e, 0xdd, 0xb6, 0xbc, 0x43, 0xd2, 0xad,
+ 0x9e, 0x25, 0xed, 0x67, 0x9b, 0xe4, 0x86, 0x66, 0xc8, 0x34, 0x39, 0x2a,
+ 0x6d, 0x31, 0xe2, 0x15, 0x07, 0xd9, 0x7f, 0xda, 0x9b, 0xe6, 0x4f, 0x3c,
+ 0xcd, 0x75, 0x2c, 0x53, 0x89, 0x69, 0x3a, 0x1d, 0xc7, 0x78, 0x8f, 0x54,
+ 0xf4, 0xea, 0x3e, 0x01, 0x99, 0xbc, 0x53, 0x5c, 0x20, 0x57, 0x18, 0x1b,
+ 0x9b, 0xd7, 0xcc, 0x92, 0x99, 0xc7, 0xe0, 0xda, 0x6c, 0x07, 0xd0, 0x77,
+ 0x06, 0xed, 0x2b, 0x5f, 0x3c, 0x37, 0xb6, 0x46, 0x76, 0x55, 0x8e, 0xc9,
+ 0x38, 0x42, 0x41, 0x52, 0x61, 0xc7, 0x26, 0xdb, 0x20, 0x12, 0x09, 0x97,
+ 0xf5, 0xf0, 0xd8, 0xf4, 0xbd, 0xb8, 0xad, 0x2b, 0x71, 0x90, 0xe8, 0x00,
+ 0xa3, 0xc1, 0x87, 0xa0, 0x91, 0xd6, 0x30, 0x46, 0xf7, 0x5a, 0x64, 0xc6,
+ 0x3a, 0x06, 0x6c, 0x91, 0xbd, 0x40, 0xdf, 0xf3, 0x32, 0xa7, 0x12, 0xc7,
+ 0xee, 0xe2, 0x7b, 0x5b, 0x2c, 0xff, 0x92, 0x7c, 0xa0, 0xf6, 0x88, 0x5b,
+ 0x03, 0x12, 0x73, 0xaf, 0x22, 0xb8, 0x69, 0x98, 0xeb, 0x40, 0x44, 0x97,
+ 0x98, 0x8d, 0x70, 0x4e, 0xbe, 0x36, 0xdb, 0xb9, 0x5c, 0x50, 0x14, 0x14,
+ 0xc7, 0x5f, 0x72, 0x27, 0x25, 0x5d, 0xb2, 0x9b, 0x53, 0x6f, 0xb9, 0x89,
+ 0x68, 0xee, 0x07, 0xd7, 0xe9, 0xdd, 0xdd, 0xa0, 0xce, 0xb6, 0xcd, 0xae,
+ 0xad, 0xb7, 0xeb, 0x7a, 0x4a, 0x1f, 0xad, 0x41, 0x03, 0xb4, 0xfc, 0x7a,
+ 0x60, 0xfb, 0x55, 0xe7, 0x57, 0x84, 0xf1, 0x38, 0xa5, 0x57, 0x5b, 0xc2,
+ 0xd6, 0xd5, 0xeb, 0xe2, 0xa2, 0x05, 0x5d, 0x0c, 0x1b, 0xd3, 0xa0, 0x92,
+ 0xe3, 0xc0, 0xcf, 0x01, 0x63, 0xc9, 0xe0, 0x80, 0x02, 0xb6, 0x19, 0x8f,
+ 0xde, 0x99, 0x88, 0x4f, 0xab, 0x65, 0xa0, 0xe3, 0x44, 0xce, 0xaa, 0xef,
+ 0xaf, 0x2f, 0x2b, 0x07, 0xce, 0x35, 0x37, 0x84, 0x63, 0x78, 0x40, 0x65,
+ 0x10, 0x54, 0xb1, 0x8e, 0x70, 0x8f, 0x2c, 0x33, 0xa4, 0xbd, 0xa1, 0x11,
+ 0x8a, 0x79, 0xdf, 0x71, 0x5d, 0xdd, 0xde, 0xde, 0x0e, 0x56, 0x59, 0xd2,
+ 0xff, 0x74, 0x40, 0xa6, 0xdd, 0xdc, 0x69, 0x91, 0x9c, 0xe4, 0xc5, 0xe2,
+ 0xce, 0x23, 0x1a, 0xb0, 0xe5, 0x29, 0xd4, 0x4d, 0x9c, 0x7c, 0x77, 0xfe,
+ 0xd6, 0xd6, 0xc6, 0x4c, 0x34, 0xc3, 0x1b, 0xbe, 0x88, 0x3a, 0xe2, 0x35,
+ 0xcd, 0x72, 0x6c, 0x1e, 0x26, 0x31, 0x3d, 0x3c, 0x38, 0xfb, 0xf8, 0xfe,
+ 0xe8, 0xe2, 0xe3, 0xf9, 0xc1, 0xf7, 0x34, 0x85, 0x0c, 0xb9, 0x30, 0xf7,
+ 0x15, 0xf9, 0xa8, 0xaa, 0xb2, 0x34, 0x12, 0xf6, 0x5d, 0x89, 0xf2, 0xb4,
+ 0xc8, 0xf2, 0x8f, 0xd5, 0x91, 0xb0, 0xdc, 0x25, 0xdc, 0x4f, 0xea, 0xcc,
+ 0xbe, 0xb7, 0x07, 0x69, 0xbe, 0x3e, 0x19, 0xcb, 0x21, 0x9b, 0x0e, 0xca,
+ 0xea, 0x8a, 0x76, 0xe1, 0xf6, 0x1b, 0x91, 0x9f, 0xd1, 0xe6, 0xb6, 0x25,
+ 0xc4, 0x46, 0x5c, 0x38, 0x37, 0xd5, 0x25, 0x25, 0xce, 0xaf, 0xaa, 0x2d,
+ 0xed, 0x97, 0x5c, 0xf2, 0xb6, 0xe6, 0x53, 0x08, 0xc0, 0xf9, 0xcd, 0xd3,
+ 0x55, 0xc6, 0x40, 0xd3, 0x52, 0xa0, 0xe8, 0x84, 0x4d, 0x6f, 0xd8, 0x19,
+ 0x0e, 0x13, 0xdb, 0x8f, 0x9c, 0x66, 0x1c, 0x23, 0xe9, 0x45, 0x52, 0x73,
+ 0xc1, 0xf0, 0x5c, 0xda, 0x44, 0x66, 0xa4, 0x5e, 0x50, 0xc4, 0x77, 0xb9,
+ 0xd4, 0xf6, 0xd4, 0xa0, 0xae, 0xd1, 0xb1, 0xdc, 0x58, 0x79, 0x1e, 0xea,
+ 0x92, 0x54, 0x45, 0xca, 0x1b, 0xf3, 0x73, 0x19, 0xf3, 0xf3, 0x7f, 0x6e,
+ 0xcc, 0xcf, 0x7f, 0xfd, 0x98, 0x9f, 0xfe, 0xcb, 0xc7, 0xfc, 0x37, 0x1a,
+ 0xf3, 0xdf, 0x16, 0xc5, 0xa7, 0xbe, 0xe9, 0x2e, 0xdd, 0xc2, 0x52, 0x89,
+ 0xa7, 0x8e, 0xab, 0xcc, 0xad, 0xe2, 0x0f, 0xe4, 0x68, 0xf2, 0xe8, 0x2e,
+ 0xbd, 0xc2, 0x42, 0xa9, 0xe4, 0x12, 0x72, 0xc4, 0x69, 0x69, 0xb9, 0x5c,
+ 0xcf, 0x19, 0x99, 0x53, 0x26, 0x5a, 0x3d, 0x26, 0xcb, 0x06, 0x15, 0x4f,
+ 0xd6, 0xa5, 0x3b, 0x89, 0x36, 0xbc, 0x6e, 0x07, 0x1a, 0xe3, 0x68, 0xa4,
+ 0x8a, 0xc5, 0x4c, 0xda, 0xcd, 0x05, 0x2d, 0x6d, 0x64, 0xc6, 0x15, 0x6c,
+ 0xcd, 0x89, 0x07, 0x8d, 0xd8, 0x48, 0xb4, 0xe5, 0x5c, 0x58, 0x7d, 0x42,
+ 0x99, 0x71, 0x71, 0x3f, 0xa7, 0xe6, 0x92, 0x51, 0x65, 0x2e, 0x60, 0x84,
+ 0x45, 0xb9, 0x8e, 0xb0, 0xf6, 0x30, 0xe9, 0x76, 0xce, 0xba, 0xde, 0xae,
+ 0xb3, 0xfb, 0x8d, 0x40, 0x61, 0x18, 0x4f, 0x4b, 0x92, 0x38, 0xa4, 0xd7,
+ 0xad, 0xd0, 0x44, 0x46, 0xae, 0x0c, 0x12, 0xdf, 0x17, 0x9d, 0xba, 0x48,
+ 0xfe, 0xbd, 0xf1, 0x29, 0xcb, 0xe6, 0xe9, 0x14, 0x49, 0xdf, 0x14, 0x8d,
+ 0x5b, 0x56, 0xbc, 0xa5, 0xbd, 0x31, 0xea, 0xac, 0xd1, 0x4b, 0x17, 0x6f,
+ 0x25, 0x7e, 0x92, 0x1a, 0x0b, 0x3b, 0x5e, 0x4d, 0x82, 0x70, 0x27, 0xf9,
+ 0x24, 0xe0, 0xc1, 0x10, 0xfd, 0x54, 0x03, 0x72, 0xb6, 0x13, 0xa4, 0x9a,
+ 0x8c, 0x84, 0x80, 0x00, 0x88, 0x3b, 0x6a, 0x5d, 0xf9, 0x8c, 0x10, 0x2d,
+ 0xbe, 0xc9, 0x09, 0x22, 0xd2, 0x69, 0xae, 0xfb, 0x3e, 0xc8, 0x4d, 0x5a,
+ 0x3c, 0xde, 0x96, 0x77, 0x93, 0x82, 0x33, 0x72, 0x01, 0x92, 0x1b, 0x0a,
+ 0x45, 0xd1, 0x82, 0x2d, 0xa5, 0x3c, 0x9e, 0x3c, 0xc4, 0x8b, 0xc3, 0xb3,
+ 0x8f, 0xdf, 0x1e, 0x1d, 0x9d, 0x1d, 0xbf, 0x39, 0x39, 0x92, 0x13, 0x63,
+ 0x7f, 0xf4, 0xfe, 0xe2, 0xbb, 0x13, 0xad, 0x5d, 0xa4, 0xf3, 0x13, 0x6c,
+ 0x78, 0x21, 0xa1, 0x16, 0xb1, 0xdc, 0x43, 0x8d, 0x96, 0xa2, 0x49, 0x0e,
+ 0x8e, 0x7f, 0x30, 0x6a, 0xeb, 0x59, 0xff, 0xc3, 0x0f, 0x01, 0x39, 0x7e,
+ 0x0b, 0xf2, 0x1c, 0x2f, 0x1c, 0x6c, 0x36, 0x21, 0x6c, 0x47, 0x37, 0xf6,
+ 0x65, 0xf8, 0x8f, 0xdf, 0xf8, 0x1a, 0x24, 0x1c, 0x5d, 0x61, 0x35, 0x06,
+ 0x7e, 0x51, 0xeb, 0x4f, 0x78, 0x10, 0x8b, 0xe7, 0x3b, 0x5a, 0xda, 0x67,
+ 0xa5, 0x0f, 0xed, 0x45, 0xdb, 0x66, 0xfc, 0x94, 0xdd, 0x83, 0x4c, 0x2c,
+ 0x79, 0x45, 0xff, 0x5d, 0x52, 0x7a, 0xe9, 0xac, 0xca, 0x6f, 0x48, 0x01,
+ 0x34, 0x0f, 0x73, 0x94, 0x81, 0x9e, 0x1d, 0xd8, 0x4a, 0x54, 0x12, 0xe8,
+ 0xa0, 0x56, 0x10, 0x0a, 0x45, 0xab, 0xb4, 0x33, 0x82, 0x60, 0x19, 0x91,
+ 0x36, 0x90, 0x3f, 0xc6, 0xb6, 0x96, 0x9b, 0xad, 0xf3, 0xe6, 0xe8, 0xbc,
+ 0x97, 0x9c, 0x1d, 0xbd, 0x63, 0xd0, 0xf4, 0xd1, 0xfb, 0xaf, 0x85, 0xbd,
+ 0x4a, 0x0b, 0x2e, 0x0d, 0x18, 0xb8, 0x17, 0x22, 0x87, 0xbc, 0x39, 0x31,
+ 0xaf, 0x03, 0x25, 0x55, 0xd7, 0xe6, 0x76, 0xfd, 0x1d, 0xa9, 0x1d, 0x78,
+ 0x68, 0xaf, 0xcc, 0x7f, 0x62, 0x53, 0x65, 0xec, 0x88, 0x6f, 0xb6, 0xc2,
+ 0xd9, 0x12, 0xb5, 0xcc, 0x46, 0x73, 0xc5, 0x24, 0xa0, 0xd9, 0xe0, 0x09,
+ 0x33, 0x33, 0x12, 0xc6, 0x15, 0x75, 0x86, 0x0a, 0x61, 0x68, 0x92, 0x62,
+ 0x80, 0x12, 0x14, 0x22, 0x23, 0xd6, 0x7c, 0xad, 0x47, 0xdb, 0x12, 0xb4,
+ 0xb8, 0x6e, 0x2e, 0xa2, 0x79, 0x7b, 0x55, 0x2e, 0x69, 0x2d, 0xce, 0x1d,
+ 0x6f, 0x54, 0xaa, 0x49, 0x3e, 0x41, 0x62, 0xb0, 0xf9, 0x48, 0x59, 0x4d,
+ 0x22, 0x3c, 0xa8, 0xbf, 0xe5, 0xc4, 0x55, 0xa3, 0xe4, 0xd5, 0xd4, 0xbc,
+ 0x38, 0x5d, 0x92, 0xf2, 0x78, 0xc4, 0x35, 0x3a, 0xbe, 0x35, 0x16, 0x5d,
+ 0x56, 0x95, 0x75, 0xb7, 0x60, 0x83, 0xd4, 0xe3, 0x65, 0xec, 0x16, 0xda,
+ 0xd1, 0x30, 0x6b, 0xc0, 0xf9, 0xd3, 0xc0, 0x44, 0x12, 0x4e, 0xd8, 0x76,
+ 0x56, 0xff, 0x06, 0x10, 0xce, 0x1b, 0xbd, 0x64, 0x83, 0x8a, 0x52, 0xd0,
+ 0x9f, 0xa8, 0xcf, 0x4b, 0xfc, 0xf1, 0x79, 0x3a, 0xdd, 0xe8, 0x85, 0x85,
+ 0xb6, 0x37, 0x64, 0xbf, 0x6e, 0x98, 0x7d, 0x38, 0x94, 0xa4, 0x77, 0x64,
+ 0x2b, 0x21, 0x25, 0x23, 0x4d, 0xa4, 0x2f, 0x8a, 0x08, 0xa3, 0xc5, 0x70,
+ 0x0c, 0x02, 0x75, 0x50, 0x3c, 0xc1, 0x36, 0xd7, 0x66, 0x5e, 0x58, 0x86,
+ 0x49, 0xfa, 0x8d, 0x65, 0x09, 0x2f, 0xc3, 0x2f, 0xac, 0xd9, 0xe8, 0x15,
+ 0xda, 0xec, 0x34, 0xa7, 0x6b, 0xe5, 0xaf, 0xb3, 0xbe, 0x1f, 0xad, 0x61,
+ 0x77, 0x20, 0x89, 0x65, 0xed, 0xa8, 0x1a, 0x58, 0x8c, 0x09, 0x07, 0x3d,
+ 0x61, 0xf5, 0x5d, 0x52, 0x66, 0xfc, 0x32, 0xce, 0xf4, 0xb7, 0x10, 0x08,
+ 0x81, 0xa1, 0x82, 0x72, 0x5c, 0xbb, 0xdd, 0x67, 0x13, 0xeb, 0x30, 0x11,
+ 0x93, 0x11, 0x60, 0xea, 0xdb, 0x8a, 0x98, 0xd5, 0x0a, 0xc7, 0xd0, 0x38,
+ 0x95, 0x70, 0x78, 0x84, 0x83, 0x43, 0xd9, 0xd7, 0xcc, 0x22, 0x4d, 0xa5,
+ 0x20, 0x92, 0x82, 0x18, 0x2a, 0xed, 0x53, 0x5f, 0x42, 0x40, 0x6a, 0xd6,
+ 0xd1, 0x7b, 0x7f, 0x78, 0x10, 0x6c, 0xfc, 0xd0, 0xda, 0x39, 0xbd, 0x2b,
+ 0x96, 0x65, 0xf9, 0x68, 0xaa, 0x99, 0x4e, 0x6a, 0x00, 0x40, 0x86, 0x7d,
+ 0x48, 0x8e, 0x57, 0x46, 0x48, 0x64, 0x01, 0xd7, 0xc6, 0xb0, 0x95, 0x9e,
+ 0x29, 0xb5, 0xe2, 0x14, 0x78, 0x8f, 0xf7, 0x6c, 0x21, 0x4b, 0x57, 0xbf,
+ 0x16, 0x7b, 0xbf, 0x9f, 0x44, 0xaa, 0x60, 0x83, 0xe1, 0xdc, 0xe5, 0x76,
+ 0xe1, 0xd4, 0x82, 0x46, 0x48, 0x39, 0x12, 0x14, 0x5c, 0xc5, 0xd3, 0x41,
+ 0xfe, 0x42, 0x81, 0xed, 0x40, 0xfd, 0x0b, 0x48, 0x8a, 0x19, 0x23, 0x09,
+ 0xb2, 0x70, 0xdd, 0x04, 0x1b, 0x13, 0xf6, 0x5d, 0x61, 0x49, 0x6c, 0x57,
+ 0x51, 0xdf, 0x9d, 0x7d, 0xc1, 0x0c, 0xc8, 0x31, 0x27, 0x3a, 0xd0, 0xe7,
+ 0x46, 0xa6, 0x89, 0xdb, 0x7c, 0xd2, 0x5c, 0x83, 0xc6, 0x5f, 0xd5, 0xd7,
+ 0x5a, 0xb2, 0x09, 0xc9, 0x97, 0x98, 0xc7, 0x80, 0xf2, 0x51, 0x2f, 0x8b,
+ 0x2c, 0x18, 0x26, 0x35, 0x61, 0x7a, 0x0d, 0xf2, 0xa7, 0x60, 0x1d, 0xe0,
+ 0x79, 0xdc, 0xe6, 0xfb, 0xd8, 0x66, 0x96, 0x1b, 0xbb, 0x7f, 0x71, 0x49,
+ 0x0c, 0xfd, 0x81, 0x4e, 0xad, 0x80, 0xf6, 0x81, 0x9e, 0x10, 0xda, 0xc3,
+ 0x1b, 0x9f, 0x98, 0x42, 0xf7, 0xdb, 0x0d, 0x2d, 0x47, 0xb7, 0x28, 0x1a,
+ 0x1f, 0x73, 0x4b, 0xaa, 0x71, 0xf2, 0x29, 0x9f, 0x96, 0x51, 0xbf, 0xa7,
+ 0xb9, 0x08, 0x36, 0x66, 0xdc, 0xc2, 0xbb, 0x0d, 0xf5, 0x66, 0x51, 0xba,
+ 0xe5, 0x55, 0x2a, 0xbf, 0xe7, 0x5c, 0xeb, 0x8d, 0x2b, 0x7e, 0xe8, 0x6b,
+ 0xf7, 0x50, 0xa7, 0x39, 0x72, 0xad, 0xb2, 0x2b, 0x55, 0x63, 0xf0, 0xf5,
+ 0x3e, 0x21, 0x3a, 0xbf, 0xed, 0x25, 0x4f, 0x66, 0x58, 0x94, 0xdd, 0xaf,
+ 0x63, 0x82, 0x8b, 0x8b, 0x0b, 0xd6, 0x36, 0xad, 0x35, 0xe9, 0xff, 0x95,
+ 0xf4, 0x62, 0x4c, 0x18, 0xef, 0x4b, 0x0b, 0x1e, 0x67, 0x3a, 0x5c, 0x3f,
+ 0xca, 0xde, 0xbd, 0xc0, 0x68, 0xa9, 0xe6, 0xa4, 0xc8, 0x4d, 0x32, 0xe5,
+ 0x14, 0x9d, 0xc1, 0xff, 0x44, 0x11, 0xd6, 0xb9, 0xa4, 0xd2, 0xd2, 0x76,
+ 0xed, 0x5b, 0x96, 0xb2, 0x7a, 0x4a, 0x0f, 0xa0, 0xb2, 0x46, 0x19, 0x00,
+ 0xb2, 0xa6, 0x73, 0x68, 0xb1, 0xb6, 0xf8, 0x8d, 0xd7, 0x29, 0x4a, 0x86,
+ 0x19, 0x27, 0x62, 0x88, 0xff, 0x8e, 0xba, 0xc4, 0xb4, 0x87, 0xf3, 0x59,
+ 0x37, 0x7d, 0xb2, 0x35, 0x63, 0x8e, 0xfa, 0xb3, 0xd3, 0xb3, 0x27, 0x5b,
+ 0x3e, 0xa7, 0x96, 0xe4, 0x53, 0x32, 0x21, 0x03, 0xe2, 0xc4, 0x36, 0xd9,
+ 0xd2, 0x26, 0xa8, 0x30, 0xb0, 0x3f, 0xf4, 0x2d, 0x32, 0x31, 0x28, 0xfb,
+ 0x8f, 0xf0, 0x45, 0xf8, 0x65, 0x1d, 0xb8, 0xd4, 0xab, 0x9f, 0xe4, 0x0e,
+ 0x26, 0x2e, 0x87, 0x3a, 0x70, 0x47, 0x91, 0x38, 0x80, 0xd6, 0x29, 0x09,
+ 0xdd, 0x7d, 0xa4, 0x0b, 0xb4, 0xf9, 0xc7, 0x89, 0x5e, 0x34, 0xe8, 0x65,
+ 0x27, 0x8d, 0xd6, 0x0b, 0x03, 0x0b, 0x30, 0xdf, 0x3d, 0x09, 0xaf, 0xb1,
+ 0xe6, 0x4f, 0x80, 0x9e, 0xc0, 0x85, 0xd0, 0xc8, 0xa5, 0x45, 0xbb, 0x96,
+ 0xf9, 0x17, 0x07, 0x4b, 0x0b, 0xc8, 0x5a, 0x16, 0xec, 0x96, 0xda, 0x2c,
+ 0x85, 0x4e, 0xd2, 0xe4, 0xfd, 0xc9, 0xf0, 0xc2, 0x77, 0xf4, 0xa3, 0xe8,
+ 0x72, 0x80, 0x80, 0x6a, 0xf3, 0xc2, 0x78, 0x11, 0xe3, 0x93, 0xe3, 0xe1,
+ 0xc5, 0x20, 0xc6, 0xef, 0xbc, 0x6f, 0xc4, 0x2a, 0x41, 0x74, 0x79, 0xf0,
+ 0x1a, 0x0a, 0xd1, 0x12, 0xd2, 0x34, 0xf5, 0x1c, 0xc5, 0xe0, 0xb0, 0x5e,
+ 0x5e, 0xf9, 0x99, 0xa4, 0xdd, 0xe6, 0x4c, 0x17, 0x3f, 0x67, 0x74, 0x93,
+ 0x20, 0xa3, 0xd4, 0x8d, 0x5f, 0x2f, 0x46, 0x7d, 0x8f, 0x88, 0x89, 0xf5,
+ 0x1d, 0x54, 0xf5, 0x30, 0xbb, 0xd7, 0xdc, 0x50, 0x9f, 0x42, 0x43, 0x60,
+ 0x93, 0x37, 0x14, 0xe6, 0x47, 0x28, 0xb4, 0x5a, 0x0e, 0xc9, 0x71, 0x92,
+ 0x81, 0x94, 0x0f, 0x9e, 0x00, 0x7a, 0xf6, 0xd1, 0x9b, 0x8a, 0xa6, 0xa2,
+ 0x33, 0x93, 0x52, 0x08, 0xaa, 0x0d, 0x75, 0xa4, 0xd0, 0x8a, 0xdd, 0x72,
+ 0xab, 0x82, 0x49, 0xe1, 0x16, 0x74, 0x9b, 0xae, 0x36, 0x96, 0x37, 0x7c,
+ 0x02, 0xb6, 0xdb, 0x4b, 0x79, 0x02, 0xf3, 0x09, 0xf3, 0x68, 0xd5, 0x6d,
+ 0x22, 0x2d, 0x4e, 0x94, 0x24, 0xa1, 0xc3, 0x05, 0x03, 0x48, 0x75, 0x5b,
+ 0xb6, 0x92, 0xec, 0x38, 0x69, 0x61, 0x5a, 0xfa, 0x3f, 0x30, 0x50, 0x0a,
+ 0xd1, 0x8c, 0xde, 0x32, 0x7e, 0x97, 0x70, 0x1b, 0x69, 0xf1, 0x86, 0x0f,
+ 0xc6, 0xb4, 0xed, 0x26, 0xf6, 0x4b, 0x49, 0x77, 0x19, 0x2b, 0x61, 0x61,
+ 0x55, 0x6c, 0x62, 0x4d, 0x36, 0xc2, 0x6a, 0x14, 0xf9, 0xdf, 0x11, 0x41,
+ 0x87, 0xee, 0x7a, 0x09, 0xf8, 0x67, 0x95, 0xb2, 0x7b, 0x93, 0xa3, 0x62,
+ 0x39, 0x61, 0xbb, 0x6d, 0xf9, 0x1b, 0x9a, 0x0a, 0x3e, 0xb1, 0x9f, 0x62,
+ 0xc8, 0xe6, 0x65, 0x39, 0x53, 0x7e, 0xc6, 0xf5, 0x6e, 0x9b, 0x1f, 0x0d,
+ 0x54, 0x88, 0xc2, 0x66, 0x62, 0xae, 0xa4, 0x6d, 0xe4, 0x3c, 0xc4, 0x0a,
+ 0xa8, 0xa7, 0x1e, 0x6c, 0xa2, 0x95, 0x9c, 0x4f, 0x47, 0x98, 0x33, 0x25,
+ 0x36, 0xdf, 0x9e, 0x9f, 0xbe, 0xeb, 0x5f, 0x9c, 0xa2, 0x4a, 0xae, 0x94,
+ 0x26, 0x48, 0x22, 0x1a, 0xa7, 0xd6, 0x39, 0xf7, 0x8a, 0xfd, 0xb6, 0x51,
+ 0x27, 0x9b, 0xf5, 0x96, 0xd6, 0xe2, 0xc5, 0xa5, 0x32, 0xf7, 0xab, 0xa3,
+ 0x07, 0x74, 0xe7, 0x05, 0xeb, 0x22, 0x29, 0xea, 0xaa, 0x91, 0x87, 0x68,
+ 0xec, 0x85, 0x1b, 0xf0, 0xbe, 0xca, 0xee, 0xd1, 0xa2, 0xbe, 0x4f, 0x24,
+ 0x25, 0xa5, 0xa6, 0xa5, 0x22, 0xa7, 0x4c, 0xe8, 0xc4, 0xb5, 0x25, 0x3b,
+ 0x2d, 0xd3, 0x01, 0x61, 0xf5, 0x19, 0x10, 0xde, 0x94, 0xe6, 0x00, 0xa7,
+ 0x55, 0x55, 0xde, 0xea, 0xd5, 0x25, 0x09, 0x63, 0xa6, 0xeb, 0xb4, 0x48,
+ 0xd5, 0xfd, 0xd2, 0xac, 0x70, 0x61, 0x3c, 0xd1, 0x92, 0xa3, 0x2b, 0x15,
+ 0xc0, 0x67, 0xed, 0x4c, 0x5d, 0xc5, 0x8c, 0xf5, 0x9b, 0x6a, 0x51, 0x87,
+ 0xf5, 0x8b, 0xc5, 0x3b, 0x78, 0x42, 0x82, 0x92, 0x50, 0x66, 0xee, 0x85,
+ 0x9e, 0x50, 0x32, 0x51, 0xd6, 0x3e, 0x4a, 0xc3, 0x58, 0x38, 0x37, 0xbc,
+ 0x34, 0x8c, 0x75, 0xfc, 0x4b, 0x70, 0x86, 0x85, 0xac, 0x91, 0x74, 0xfa,
+ 0xe9, 0xd4, 0x21, 0xcd, 0x04, 0x64, 0x41, 0x65, 0xcd, 0x69, 0x6f, 0x2b,
+ 0x16, 0x0c, 0x54, 0x2c, 0x10, 0x07, 0xf4, 0xd3, 0x40, 0x9b, 0x54, 0x76,
+ 0x85, 0x9c, 0xf2, 0x5a, 0x27, 0x8b, 0x31, 0x96, 0x89, 0x02, 0x33, 0x54,
+ 0x13, 0x6c, 0xc4, 0xcc, 0x6f, 0x9a, 0x1c, 0x4a, 0x4d, 0x3b, 0x98, 0x1d,
+ 0xdb, 0xd9, 0x5d, 0x3d, 0x2b, 0xe1, 0xc7, 0x5c, 0x95, 0x13, 0x52, 0x27,
+ 0xa9, 0xe0, 0x4b, 0xc6, 0xaa, 0x65, 0x15, 0x94, 0x09, 0x2c, 0x2e, 0x4b,
+ 0x2d, 0xb5, 0x18, 0x0a, 0x2c, 0xa2, 0xd8, 0x05, 0xa7, 0xa8, 0xe0, 0x33,
+ 0x88, 0x1a, 0x8b, 0x36, 0x30, 0x62, 0xa3, 0x5f, 0x91, 0x67, 0xb3, 0xd3,
+ 0xde, 0xd6, 0x0a, 0x2f, 0xe2, 0x42, 0x11, 0x99, 0xde, 0xea, 0xb5, 0x16,
+ 0x24, 0xbe, 0x72, 0xc7, 0xad, 0xdc, 0x58, 0x8e, 0xa0, 0x7b, 0x33, 0x2e,
+ 0xe7, 0x1a, 0xb4, 0x4d, 0x24, 0x05, 0xc8, 0xc5, 0x95, 0x10, 0x66, 0x2e,
+ 0x22, 0x9e, 0x52, 0x5b, 0x04, 0xaa, 0x49, 0xf4, 0xa3, 0xc9, 0xa6, 0xe6,
+ 0x8c, 0x58, 0x0c, 0xf3, 0x89, 0xfc, 0x6a, 0xdf, 0xa6, 0xb4, 0x90, 0x54,
+ 0xeb, 0x34, 0xf7, 0xe4, 0x87, 0x1f, 0xda, 0x65, 0x1b, 0xb7, 0xda, 0x72,
+ 0x32, 0x00, 0xb3, 0x4e, 0x4a, 0x85, 0x9f, 0xa1, 0xc3, 0x01, 0x20, 0x5f,
+ 0xb7, 0x1d, 0x91, 0x52, 0x03, 0xfb, 0x37, 0x70, 0x29, 0xa6, 0x4d, 0x69,
+ 0x8c, 0xc0, 0x6b, 0x45, 0x69, 0xb7, 0x22, 0xed, 0xc8, 0xae, 0x3d, 0x8e,
+ 0x80, 0x51, 0x20, 0x72, 0x35, 0x3e, 0xce, 0xae, 0x6f, 0x20, 0xd9, 0xfc,
+ 0xe9, 0xaa, 0x5b, 0x88, 0xcf, 0x6b, 0xf2, 0x02, 0xf3, 0x7d, 0xb0, 0xba,
+ 0xb6, 0xa4, 0x4d, 0x2b, 0x15, 0x8c, 0x1c, 0x6e, 0x7c, 0x26, 0xa1, 0x26,
+ 0xbc, 0xd3, 0xb8, 0xca, 0xc4, 0xdf, 0xa0, 0x45, 0x03, 0x82, 0x60, 0x1f,
+ 0xa5, 0xfa, 0xf3, 0xe1, 0x01, 0x2e, 0x3d, 0xf5, 0xce, 0x8b, 0xa3, 0x6c,
+ 0xea, 0xac, 0x98, 0xa0, 0x37, 0x23, 0xc5, 0xac, 0x4b, 0x24, 0x4b, 0xa3,
+ 0x56, 0x03, 0x48, 0x67, 0x4a, 0x0e, 0x27, 0x4a, 0xcd, 0x41, 0xbe, 0x71,
+ 0xfe, 0xa2, 0x27, 0x77, 0xe0, 0xc7, 0x98, 0x68, 0x17, 0xc4, 0x22, 0x55,
+ 0x2a, 0x4c, 0x68, 0x5d, 0x88, 0x1f, 0x90, 0x72, 0x10, 0xb5, 0x84, 0x09,
+ 0xf9, 0xf4, 0x34, 0x96, 0xc9, 0x0a, 0x35, 0xb2, 0x57, 0x6d, 0x3d, 0xe1,
+ 0xe0, 0xe2, 0xd1, 0x23, 0xcb, 0x29, 0xf6, 0x24, 0x69, 0x2c, 0xb7, 0x0d,
+ 0xac, 0x86, 0xbe, 0x31, 0x4b, 0xfb, 0x78, 0xac, 0x5e, 0x86, 0x0a, 0x10,
+ 0xee, 0x52, 0x94, 0x2f, 0x65, 0xb2, 0x75, 0x7f, 0xce, 0xd4, 0xbb, 0x6d,
+ 0x53, 0xa5, 0x05, 0xa1, 0x2e, 0xac, 0xdd, 0x5f, 0x1f, 0x5d, 0x74, 0x8f,
+ 0x96, 0x1f, 0xe0, 0x41, 0x5e, 0xb2, 0xf9, 0xf7, 0xd9, 0x87, 0x8b, 0x2d,
+ 0x57, 0x9c, 0x5a, 0xb6, 0xab, 0x8f, 0x6e, 0x95, 0xcc, 0x97, 0xb0, 0xe0,
+ 0x1a, 0xa7, 0x02, 0x8b, 0x9c, 0x82, 0x6c, 0xb0, 0x27, 0x83, 0xbc, 0x2c,
+ 0x4f, 0x76, 0x76, 0x8d, 0x25, 0xb5, 0xb3, 0x87, 0x2a, 0x95, 0x4f, 0x76,
+ 0x9e, 0xd8, 0xe4, 0x49, 0x7d, 0x2a, 0xb8, 0x16, 0x26, 0xfc, 0x22, 0x9c,
+ 0x26, 0xd8, 0xf7, 0x4f, 0xee, 0xee, 0xf0, 0xe3, 0x5e, 0x0b, 0xfd, 0x5f,
+ 0x65, 0xfd, 0x5a, 0xdc, 0x2d, 0x3e, 0x31, 0x7a, 0xfc, 0xe6, 0xf7, 0x66,
+ 0x1c, 0xe1, 0x97, 0x45, 0xc1, 0xb9, 0x43, 0xa8, 0x03, 0x4a, 0xd9, 0xc6,
+ 0x83, 0xe5, 0xf5, 0x30, 0x9a, 0x16, 0x2d, 0x0d, 0xcd, 0xad, 0x5f, 0xd0,
+ 0xc6, 0x6c, 0x17, 0x1a, 0xbf, 0x7e, 0x47, 0x72, 0x97, 0x03, 0xe1, 0x4c,
+ 0xcf, 0x08, 0xcf, 0x83, 0x99, 0x85, 0x3b, 0x37, 0x47, 0xb6, 0xd2, 0x9a,
+ 0x25, 0x43, 0x53, 0x81, 0xe4, 0x60, 0xb8, 0xa1, 0x23, 0x82, 0x24, 0xe0,
+ 0x3e, 0xc5, 0xf3, 0xcd, 0xa9, 0xc0, 0x0c, 0xeb, 0x5f, 0xf7, 0x24, 0xa6,
+ 0xcf, 0xff, 0x7a, 0xd2, 0xbe, 0x2b, 0xaf, 0xf2, 0xa2, 0xaf, 0x8d, 0xbe,
+ 0x92, 0xbf, 0x04, 0xfe, 0x4a, 0x94, 0x27, 0x84, 0x7e, 0x0c, 0x46, 0xf9,
+ 0xad, 0x96, 0x0f, 0x05, 0x6d, 0xd8, 0x8e, 0x89, 0x9e, 0x22, 0x85, 0x5f,
+ 0x59, 0x48, 0xaf, 0x14, 0x1e, 0x83, 0x65, 0x25, 0x83, 0x54, 0x1b, 0x94,
+ 0x0f, 0xb8, 0xa1, 0xc3, 0x3d, 0x27, 0x1d, 0x70, 0xd9, 0x86, 0x56, 0x37,
+ 0x8e, 0x86, 0xef, 0x6a, 0x01, 0x3e, 0xd2, 0xfd, 0xaa, 0x61, 0x75, 0xe9,
+ 0x63, 0xa7, 0x3b, 0xc9, 0x41, 0x83, 0x32, 0x92, 0xf0, 0x85, 0x85, 0x66,
+ 0x2a, 0x4d, 0x45, 0x8f, 0xa7, 0x02, 0xe5, 0x59, 0x89, 0x60, 0x5f, 0xf1,
+ 0x70, 0xad, 0x99, 0x60, 0x97, 0x35, 0xf8, 0x21, 0x35, 0xa2, 0x1e, 0xb9,
+ 0xd3, 0x24, 0x9c, 0xee, 0x8d, 0x53, 0xfb, 0x6b, 0x4e, 0x22, 0x5d, 0xae,
+ 0xa4, 0xfa, 0x4b, 0x11, 0xc9, 0xa7, 0x3d, 0xfc, 0xed, 0xd9, 0xce, 0x4b,
+ 0x5e, 0xd1, 0xe3, 0xa3, 0x8b, 0xb7, 0x5d, 0x87, 0x5e, 0x65, 0x36, 0x14,
+ 0xff, 0xb7, 0x9f, 0xa5, 0xd5, 0xb5, 0x31, 0x30, 0x88, 0x63, 0xa1, 0x4f,
+ 0x34, 0xdd, 0xfd, 0x9d, 0x9d, 0x58, 0x80, 0xfd, 0x77, 0x4c, 0x2a, 0x7d,
+ 0xf2, 0xb4, 0x1d, 0x7b, 0x21, 0xb5, 0xbe, 0x4f, 0xd3, 0xbd, 0x9c, 0x0c,
+ 0xb0, 0xbd, 0xbd, 0x2c, 0x5f, 0xac, 0x3c, 0xae, 0x15, 0xd6, 0x7d, 0x46,
+ 0xb2, 0xd6, 0x7e, 0x88, 0xe5, 0x95, 0x76, 0xef, 0x2a, 0xcb, 0x22, 0xb4,
+ 0xc9, 0x96, 0x44, 0x73, 0xbf, 0x95, 0x70, 0xe5, 0x29, 0x2e, 0x10, 0xd3,
+ 0xb8, 0x42, 0xc0, 0xd1, 0x9c, 0xbb, 0x5a, 0xf2, 0x0d, 0xaa, 0x8c, 0xa8,
+ 0x5a, 0x58, 0xf1, 0x93, 0x42, 0x1b, 0x0f, 0xd3, 0xcd, 0x60, 0x0a, 0xaa,
+ 0xf1, 0x5c, 0xf2, 0x4f, 0xf8, 0xdf, 0x74, 0x19, 0xb7, 0x80, 0x8e, 0x7b,
+ 0xcf, 0x22, 0x13, 0x87, 0x2b, 0xfb, 0x57, 0x4e, 0x9c, 0x53, 0x8f, 0xd8,
+ 0x87, 0xc7, 0xb5, 0x3d, 0x94, 0xd2, 0x36, 0xa4, 0x01, 0xa9, 0xb5, 0x1a,
+ 0xe4, 0x2f, 0x1e, 0x0b, 0xcd, 0xf6, 0x60, 0x15, 0x6d, 0x95, 0x7b, 0xeb,
+ 0x57, 0x8e, 0xa5, 0xe7, 0xc8, 0xd3, 0xe9, 0xfe, 0x98, 0x49, 0x29, 0x18,
+ 0xf8, 0x1a, 0x10, 0x79, 0xea, 0xa6, 0x93, 0x67, 0xf3, 0x0c, 0x83, 0xf7,
+ 0xa8, 0x20, 0xfc, 0xcd, 0x6d, 0xed, 0x54, 0xb2, 0x15, 0x35, 0x91, 0xc2,
+ 0x5c, 0xa3, 0xf9, 0x9c, 0xb2, 0x85, 0xeb, 0xa8, 0xaf, 0xa5, 0x55, 0xf3,
+ 0x19, 0x93, 0xa9, 0x6e, 0xd9, 0x9e, 0x5c, 0x64, 0xf2, 0xba, 0xce, 0xb1,
+ 0x95, 0x57, 0x69, 0x98, 0x4f, 0x47, 0x26, 0x3b, 0xda, 0xb0, 0x8b, 0x55,
+ 0xba, 0xa4, 0x3c, 0x6e, 0xbc, 0x5c, 0xa2, 0x00, 0x78, 0xfd, 0x48, 0x52,
+ 0x7f, 0x6f, 0x33, 0x36, 0x4d, 0xb7, 0xfc, 0xe6, 0x77, 0xe7, 0x6f, 0xff,
+ 0xaa, 0xf6, 0x37, 0xf4, 0xd2, 0xd0, 0x1a, 0xee, 0x74, 0x78, 0x94, 0x79,
+ 0xa0, 0x2d, 0xc9, 0x1f, 0x6d, 0xcd, 0xbb, 0xfb, 0x47, 0x04, 0xdf, 0xcb,
+ 0x6c, 0x88, 0xc9, 0x26, 0x95, 0xe4, 0x35, 0x8f, 0x0d, 0xc5, 0xa8, 0x7b,
+ 0x32, 0x78, 0x06, 0x9f, 0xc8, 0xdb, 0xc3, 0x67, 0x4f, 0xf6, 0x76, 0x8d,
+ 0xdd, 0xba, 0xd9, 0x91, 0x16, 0x5b, 0x6b, 0x8f, 0x9a, 0x6d, 0xbb, 0xde,
+ 0xd9, 0xdd, 0x9c, 0xf6, 0xde, 0xe6, 0xd1, 0x0f, 0x67, 0xef, 0xdb, 0xe3,
+ 0xe3, 0x11, 0x05, 0xb9, 0x95, 0xcb, 0x46, 0xe8, 0x74, 0x81, 0x56, 0xfb,
+ 0x8a, 0x3d, 0x43, 0x91, 0xcb, 0x30, 0x6b, 0x76, 0xfd, 0x6d, 0x95, 0x93,
+ 0x96, 0xbb, 0x4e, 0x13, 0xb2, 0x7e, 0x52, 0x16, 0x13, 0x73, 0xf5, 0x9f,
+ 0x12, 0xb7, 0x4f, 0x46, 0x18, 0x90, 0x07, 0x47, 0xb7, 0xfc, 0x98, 0xbc,
+ 0xeb, 0xe1, 0xa8, 0x14, 0x21, 0x14, 0xe1, 0x1d, 0x7e, 0x08, 0x46, 0x45,
+ 0x4a, 0x8b, 0xe6, 0x7c, 0x93, 0x85, 0xe4, 0xf2, 0xa0, 0x88, 0x44, 0xfb,
+ 0xb4, 0xdd, 0xa1, 0x40, 0x19, 0xbc, 0x3e, 0xaf, 0xe0, 0xd4, 0x5e, 0x16,
+ 0x0f, 0x11, 0x2a, 0x64, 0x89, 0x88, 0xb0, 0x9f, 0x68, 0x53, 0x5d, 0xfb,
+ 0x5b, 0x5e, 0x21, 0x58, 0x90, 0x7e, 0x71, 0xbc, 0x83, 0x34, 0xb7, 0x88,
+ 0xcc, 0xc5, 0x63, 0xce, 0xb2, 0xc8, 0x2d, 0x7c, 0x59, 0x32, 0xb0, 0x08,
+ 0x9d, 0x49, 0x79, 0xa4, 0xbd, 0x36, 0xeb, 0x51, 0xcc, 0x0f, 0x8e, 0x58,
+ 0x2f, 0x2a, 0xf4, 0xa4, 0x45, 0x9b, 0x22, 0x8e, 0xf2, 0x20, 0xd9, 0xfe,
+ 0xc9, 0xee, 0x50, 0x76, 0xcd, 0x28, 0x89, 0xcf, 0x9f, 0x84, 0xf7, 0x91,
+ 0xd6, 0x7c, 0x15, 0xed, 0xae, 0xf2, 0x75, 0x00, 0xbe, 0xa4, 0x45, 0xf1,
+ 0xed, 0x45, 0x63, 0x11, 0xb1, 0xb0, 0x14, 0x47, 0x26, 0xc4, 0x3e, 0xeb,
+ 0xc4, 0x26, 0xfc, 0x58, 0x04, 0xea, 0xbb, 0x52, 0x34, 0x42, 0x22, 0x0d,
+ 0xa1, 0xa9, 0xe2, 0x45, 0x27, 0x96, 0x87, 0x27, 0x56, 0x04, 0x24, 0xba,
+ 0x46, 0xa8, 0x0d, 0x4f, 0xb4, 0x36, 0xdf, 0xb3, 0x17, 0x91, 0xcd, 0xf7,
+ 0xfe, 0xf4, 0xe2, 0x68, 0x5f, 0x88, 0x41, 0x34, 0x8d, 0x5e, 0x0d, 0x05,
+ 0xc6, 0x10, 0x71, 0xf5, 0x57, 0x4e, 0x27, 0xa1, 0x4b, 0x56, 0x57, 0xbd,
+ 0x17, 0x3b, 0xf2, 0x00, 0xf3, 0xd2, 0x31, 0x61, 0x4f, 0x6f, 0x13, 0xa0,
+ 0x4c, 0x14, 0x57, 0x82, 0x24, 0x41, 0xb1, 0x0d, 0x78, 0x3f, 0xc5, 0x4a,
+ 0xdb, 0x5f, 0x72, 0xe6, 0x2d, 0x92, 0x59, 0xf9, 0xbe, 0x0d, 0xb6, 0x10,
+ 0x5f, 0x65, 0x6c, 0x72, 0x59, 0xc4, 0xd5, 0x98, 0x2a, 0xb0, 0x85, 0x65,
+ 0xc3, 0x10, 0xa5, 0x7b, 0x2b, 0xc5, 0x67, 0x61, 0x91, 0x58, 0x7a, 0xae,
+ 0x55, 0x57, 0x9c, 0x0b, 0x26, 0x76, 0x0f, 0x95, 0x98, 0x67, 0xe4, 0x07,
+ 0x5c, 0x42, 0x1c, 0x00, 0x4f, 0xa0, 0x3b, 0x4f, 0xba, 0x4f, 0xcc, 0x39,
+ 0x52, 0x3b, 0x8d, 0xec, 0x4a, 0x6b, 0xa4, 0x48, 0xfa, 0x7b, 0x18, 0xc2,
+ 0x86, 0x08, 0x6c, 0x3b, 0x46, 0x5c, 0x91, 0x64, 0x55, 0xd7, 0x80, 0xb0,
+ 0xa0, 0x99, 0xd5, 0xa0, 0x25, 0xf3, 0x86, 0xc6, 0x19, 0xdc, 0x70, 0x5d,
+ 0x78, 0x9d, 0xa8, 0x93, 0x75, 0xca, 0xec, 0x1c, 0xd5, 0x8b, 0x6a, 0xb2,
+ 0x98, 0x19, 0xc9, 0xe5, 0x03, 0xc6, 0xa1, 0xf9, 0xc1, 0xaa, 0x05, 0x28,
+ 0x23, 0x12, 0x2b, 0x78, 0xb6, 0xd3, 0x6a, 0x6c, 0x80, 0x81, 0xfb, 0xeb,
+ 0x6f, 0x9e, 0xe9, 0xef, 0x5a, 0x57, 0x6c, 0x8e, 0xd4, 0x38, 0xa1, 0x82,
+ 0xf9, 0xfd, 0x82, 0x4d, 0xb3, 0x9e, 0xac, 0xd4, 0x4a, 0xd8, 0xd9, 0x3b,
+ 0x0d, 0x00, 0xd3, 0x43, 0x79, 0xa1, 0x88, 0x22, 0xd6, 0x97, 0x38, 0x9e,
+ 0xa7, 0x94, 0x77, 0xe6, 0x7c, 0x96, 0x14, 0x47, 0x77, 0x61, 0xf0, 0x48,
+ 0x85, 0x5d, 0x4a, 0x53, 0x4a, 0x12, 0x9f, 0xbf, 0x84, 0x9c, 0xfa, 0x74,
+ 0x36, 0x64, 0x79, 0x68, 0xee, 0xe1, 0x77, 0x1b, 0x51, 0xf6, 0x5f, 0xf2,
+ 0xb7, 0x72, 0x24, 0xce, 0x18, 0xb2, 0x1f, 0x63, 0x54, 0x00, 0x97, 0x00,
+ 0x3b, 0x2f, 0xcc, 0x5e, 0x9b, 0x2c, 0xd8, 0xbf, 0x4a, 0x1d, 0x12, 0xe0,
+ 0x2c, 0x97, 0x8c, 0xa4, 0xd0, 0x47, 0x72, 0xc5, 0xc4, 0xe5, 0x13, 0xf6,
+ 0xd9, 0x30, 0xd7, 0x6d, 0x98, 0xce, 0xb6, 0xd7, 0x4d, 0xf8, 0x4e, 0xc7,
+ 0xe4, 0x15, 0x31, 0x8d, 0x4b, 0x62, 0x25, 0xb3, 0xf5, 0x38, 0x84, 0x71,
+ 0x3a, 0x6e, 0x16, 0x32, 0xf1, 0xdd, 0xde, 0x95, 0xea, 0x2d, 0x35, 0xef,
+ 0x82, 0x47, 0x16, 0xf9, 0xc1, 0x63, 0xb3, 0xff, 0xd2, 0xf1, 0xbd, 0xea,
+ 0x0c, 0xee, 0x8a, 0x15, 0x32, 0x28, 0xc7, 0x3a, 0x1b, 0x0c, 0xd6, 0x76,
+ 0x82, 0xe2, 0x9e, 0x79, 0xfd, 0xeb, 0x69, 0xdf, 0x1f, 0x6f, 0xad, 0xf8,
+ 0xc5, 0x3b, 0xd8, 0xf9, 0xac, 0xa4, 0x55, 0xad, 0x03, 0x9f, 0x35, 0x29,
+ 0xcd, 0xf2, 0xc3, 0x59, 0xbc, 0x8d, 0xcf, 0xb7, 0xca, 0x31, 0x42, 0x90,
+ 0xcb, 0x50, 0x42, 0x04, 0x22, 0xe2, 0x5a, 0xb8, 0xe2, 0x38, 0xd4, 0x26,
+ 0xde, 0xc9, 0x57, 0xa4, 0x7e, 0x38, 0x44, 0x96, 0xe6, 0x9b, 0xb0, 0xb5,
+ 0xf9, 0x34, 0xd9, 0x04, 0x39, 0xd2, 0xb3, 0x17, 0xcf, 0x9e, 0x6e, 0x25,
+ 0x1d, 0xd8, 0xd8, 0x56, 0xac, 0x52, 0x22, 0x4e, 0xdc, 0xa2, 0xb6, 0xe9,
+ 0x2c, 0xb3, 0x9c, 0x2a, 0x6a, 0x71, 0xb6, 0xaf, 0x38, 0x38, 0x73, 0x2e,
+ 0xc0, 0x41, 0xae, 0x76, 0x54, 0xb1, 0x61, 0xd1, 0x1c, 0x20, 0x09, 0xe8,
+ 0x63, 0x19, 0xbf, 0x6c, 0x4b, 0x9b, 0x5b, 0x11, 0xee, 0x12, 0x39, 0x98,
+ 0x1a, 0x18, 0xaa, 0x9a, 0xb2, 0x03, 0x6f, 0x21, 0x3f, 0x31, 0x9a, 0x37,
+ 0xc8, 0x70, 0x61, 0x28, 0xab, 0xa2, 0x80, 0x5c, 0x53, 0x25, 0xd7, 0xd2,
+ 0xbb, 0x1d, 0xd8, 0x43, 0xc2, 0xa9, 0x38, 0x7c, 0xfd, 0xc4, 0x68, 0x2e,
+ 0xcd, 0x95, 0x88, 0xeb, 0x91, 0xae, 0xb3, 0xf6, 0x3c, 0x32, 0x6b, 0x1a,
+ 0xed, 0x14, 0x7d, 0x5f, 0xa0, 0x52, 0xb2, 0x26, 0x64, 0x41, 0x06, 0x89,
+ 0x9f, 0x52, 0x5f, 0x5e, 0xe1, 0xcf, 0x48, 0xdb, 0x98, 0xa8, 0xd3, 0xdb,
+ 0xd5, 0x91, 0x16, 0x78, 0xe7, 0xb2, 0xcc, 0x7d, 0x75, 0x86, 0xa4, 0x9a,
+ 0x62, 0xdc, 0xea, 0xd9, 0xd2, 0x74, 0x04, 0xdd, 0x6d, 0x9a, 0xcb, 0xdf,
+ 0xcd, 0x42, 0xd0, 0xbf, 0xdb, 0x5d, 0x19, 0x26, 0x20, 0xf1, 0x57, 0x3b,
+ 0x13, 0xb1, 0xa4, 0xf7, 0xb0, 0xa7, 0x98, 0x75, 0x07, 0xce, 0x94, 0x7e,
+ 0x48, 0x20, 0x92, 0x6c, 0xa2, 0xc3, 0xdb, 0xdb, 0x5b, 0x0f, 0x77, 0x5a,
+ 0x9e, 0x7c, 0xa8, 0x93, 0x67, 0xec, 0xde, 0xf0, 0xf8, 0xa8, 0x2f, 0xbd,
+ 0x3e, 0xd0, 0x37, 0x73, 0x80, 0x98, 0x69, 0x03, 0x31, 0x06, 0x94, 0x21,
+ 0x34, 0x28, 0x88, 0x62, 0xb4, 0x93, 0x48, 0xae, 0x83, 0xe0, 0xd3, 0x78,
+ 0x80, 0xed, 0xb1, 0x8b, 0xf1, 0xcb, 0x7c, 0x40, 0x22, 0x42, 0x08, 0x24,
+ 0x05, 0x82, 0x96, 0x03, 0xb3, 0x09, 0x43, 0xad, 0xd3, 0x75, 0xcb, 0x1b,
+ 0x1c, 0x0c, 0xdd, 0xbc, 0x97, 0x78, 0xee, 0x76, 0x3e, 0x85, 0xea, 0x89,
+ 0x60, 0xb7, 0x7c, 0x04, 0xca, 0xae, 0x4f, 0xab, 0x34, 0x92, 0x0a, 0xac,
+ 0x21, 0x9d, 0x22, 0x3f, 0xe9, 0xd5, 0xd1, 0x0d, 0x77, 0xa7, 0xef, 0x2a,
+ 0x95, 0x06, 0x8d, 0x44, 0xfd, 0xe4, 0xc6, 0xcc, 0x5c, 0x86, 0x5c, 0xe9,
+ 0x55, 0x92, 0xdc, 0x6d, 0x62, 0x5c, 0x5a, 0x85, 0xde, 0x77, 0xf4, 0xcd,
+ 0xee, 0x6f, 0x2e, 0x68, 0x8c, 0x54, 0xfe, 0x11, 0xff, 0xb4, 0x35, 0x99,
+ 0x3d, 0x3e, 0xa3, 0x48, 0xa3, 0x8f, 0x69, 0xec, 0x28, 0xbf, 0x14, 0xa6,
+ 0xea, 0xda, 0x39, 0x5c, 0x09, 0xc6, 0xb3, 0x68, 0x3c, 0xf8, 0x7b, 0x05,
+ 0x8f, 0x17, 0xde, 0xb3, 0xea, 0x71, 0xd3, 0x46, 0xdb, 0x1e, 0x87, 0xcf,
+ 0xda, 0x1e, 0x07, 0x9b, 0x75, 0xbc, 0x84, 0xe0, 0x09, 0x30, 0xcc, 0x3a,
+ 0x79, 0xaf, 0x8f, 0x25, 0x9b, 0xc3, 0xb3, 0xf7, 0x47, 0x5f, 0x9f, 0x6e,
+ 0x3d, 0xe4, 0xa9, 0x6c, 0xcb, 0x7f, 0x3b, 0x2e, 0x60, 0xf3, 0x2a, 0xc2,
+ 0xf5, 0x71, 0xf7, 0x61, 0xa3, 0x7c, 0x3d, 0x1c, 0xf6, 0x0f, 0xce, 0x8e,
+ 0x51, 0x2b, 0x6b, 0x68, 0xfe, 0x5c, 0xc2, 0xe4, 0x3a, 0x00, 0x8f, 0x70,
+ 0xff, 0x3b, 0x49, 0xf5, 0xab, 0x15, 0x2e, 0x08, 0x3f, 0x20, 0xca, 0x67,
+ 0x43, 0x79, 0x10, 0x25, 0xcf, 0xe6, 0x6e, 0xa3, 0xf9, 0xae, 0xe1, 0x73,
+ 0x76, 0xbc, 0x8d, 0x4f, 0xd1, 0x27, 0x31, 0xa0, 0x25, 0x4e, 0x84, 0x45,
+ 0x58, 0x29, 0x8b, 0x34, 0x1f, 0x80, 0x4d, 0x21, 0xa0, 0x15, 0xbb, 0x6b,
+ 0xec, 0x3f, 0xba, 0x4e, 0x5c, 0xe0, 0x2e, 0x9e, 0x29, 0x41, 0x0e, 0x31,
+ 0x82, 0xc2, 0x2b, 0xed, 0x5a, 0xc7, 0x01, 0x07, 0x43, 0x8d, 0xb9, 0x75,
+ 0x50, 0xf5, 0x78, 0xa8, 0x51, 0xd6, 0xae, 0x6b, 0x64, 0xa3, 0xbf, 0x48,
+ 0x92, 0xfd, 0x0d, 0x8e, 0x2e, 0x65, 0x45, 0xb9, 0xb8, 0xba, 0x66, 0x33,
+ 0xab, 0xed, 0x8b, 0x68, 0x95, 0xcc, 0xb3, 0xcc, 0xcf, 0xa6, 0x93, 0xc1,
+ 0x16, 0xc4, 0x3b, 0xaa, 0xf7, 0x54, 0x19, 0x05, 0x89, 0x58, 0xbd, 0x61,
+ 0xf8, 0xc5, 0xe4, 0x5f, 0x52, 0x64, 0x66, 0x85, 0x06, 0x32, 0xe2, 0x00,
+ 0x2a, 0x9c, 0x69, 0x45, 0x33, 0x9d, 0xc9, 0x5f, 0xd3, 0xe2, 0x1e, 0x4e,
+ 0x53, 0xf1, 0xe2, 0x23, 0x5d, 0xcf, 0xee, 0xe9, 0xf6, 0x46, 0x6f, 0xaa,
+ 0x31, 0xd7, 0x23, 0x7f, 0xa5, 0x15, 0xd0, 0x57, 0xe7, 0x59, 0xa0, 0x12,
+ 0xee, 0xcc, 0x5c, 0xd3, 0x30, 0xf0, 0xfa, 0x45, 0x4f, 0x5b, 0xe9, 0x19,
+ 0xa3, 0x58, 0xc2, 0x65, 0xa2, 0x08, 0xcb, 0x26, 0x88, 0x88, 0x22, 0xd4,
+ 0x92, 0xda, 0x34, 0xe6, 0x43, 0x39, 0x5d, 0x70, 0x4d, 0x76, 0x72, 0x8d,
+ 0x52, 0x2e, 0xc4, 0x16, 0xb6, 0xae, 0x84, 0x31, 0x4d, 0xab, 0x89, 0x07,
+ 0x45, 0x4d, 0x92, 0xc3, 0x10, 0xb6, 0xed, 0x0a, 0x9d, 0x0d, 0x5c, 0x20,
+ 0x80, 0xa3, 0x89, 0xe2, 0xa5, 0xa0, 0x99, 0xe5, 0xb6, 0xd0, 0xd4, 0x1c,
+ 0x00, 0xa5, 0x9b, 0x32, 0x5e, 0x6e, 0xd7, 0xac, 0x9f, 0xae, 0x55, 0x6b,
+ 0x76, 0xd4, 0xc7, 0x4e, 0xa2, 0xdb, 0xaf, 0xad, 0xe8, 0x69, 0x8d, 0xd1,
+ 0xd4, 0x9d, 0x65, 0x98, 0x65, 0x45, 0x0d, 0x8c, 0xe8, 0x94, 0x8c, 0xee,
+ 0xed, 0xc7, 0xf8, 0x3b, 0x29, 0x50, 0x3d, 0x56, 0x11, 0x7e, 0x2c, 0x77,
+ 0x86, 0x5b, 0x8c, 0xc1, 0x2a, 0x50, 0x4a, 0xfb, 0x4b, 0x9d, 0xa6, 0xbf,
+ 0xcb, 0x18, 0x81, 0xc6, 0x4b, 0x8c, 0xd5, 0x68, 0x2d, 0x32, 0x6b, 0xf9,
+ 0xdd, 0xfa, 0x38, 0x34, 0x11, 0x03, 0x3c, 0x11, 0x6c, 0x60, 0x0a, 0xa9,
+ 0xdb, 0x51, 0xa9, 0x7a, 0x44, 0x5e, 0xb7, 0x94, 0xeb, 0x72, 0xf1, 0xcb,
+ 0xde, 0x37, 0x6c, 0xe6, 0x46, 0xb9, 0xba, 0x74, 0x9e, 0x5b, 0x9d, 0xc1,
+ 0x23, 0x26, 0xc4, 0x8d, 0xdf, 0xfd, 0x30, 0xb0, 0xec, 0x6c, 0xdc, 0xb8,
+ 0x1e, 0x0b, 0xef, 0xcf, 0x40, 0x76, 0xe1, 0xe6, 0x47, 0xf9, 0x0b, 0x9d,
+ 0x81, 0xef, 0xf3, 0xc2, 0x68, 0x86, 0xf5, 0x96, 0x6e, 0x4e, 0x49, 0x3b,
+ 0x0f, 0xcf, 0x6e, 0xb5, 0x41, 0xb5, 0xe1, 0x8c, 0xc4, 0x71, 0x90, 0x3d,
+ 0x52, 0x9c, 0x39, 0x6c, 0x13, 0x88, 0x22, 0xaf, 0x42, 0xda, 0xfd, 0x3c,
+ 0x48, 0x77, 0x18, 0x5b, 0xa1, 0x83, 0x36, 0x40, 0x7d, 0x68, 0xcc, 0x82,
+ 0x22, 0xbf, 0x1b, 0xd8, 0x20, 0x3f, 0xee, 0x0d, 0x26, 0x2c, 0x70, 0x7e,
+ 0x2f, 0x23, 0x08, 0x23, 0x65, 0x7f, 0x21, 0xd9, 0xba, 0x81, 0x2c, 0x9a,
+ 0x5d, 0x8c, 0x73, 0xf3, 0xd9, 0x56, 0x72, 0xd9, 0xcc, 0x37, 0x77, 0xb7,
+ 0x98, 0x02, 0x57, 0x0a, 0xaf, 0x7a, 0xd5, 0xd1, 0x42, 0x5f, 0x0e, 0xa1,
+ 0x0c, 0x71, 0x42, 0x5d, 0xc9, 0x00, 0x14, 0x37, 0x43, 0xbe, 0xd5, 0xa5,
+ 0x9c, 0x60, 0x9e, 0x30, 0xcb, 0x4e, 0x6e, 0xf3, 0xd9, 0xba, 0xce, 0x65,
+ 0x80, 0x7f, 0xe6, 0xc4, 0x0d, 0x87, 0x5c, 0x34, 0x63, 0x41, 0xe4, 0x8d,
+ 0xcf, 0xc2, 0x47, 0x54, 0xc3, 0x9c, 0xa8, 0x6a, 0x66, 0x6e, 0x3a, 0xe9,
+ 0x93, 0x0c, 0xb9, 0xaa, 0x4a, 0x73, 0x45, 0x56, 0x11, 0x02, 0x2d, 0xb1,
+ 0x29, 0x48, 0xd5, 0xcf, 0x8a, 0x9b, 0xbc, 0x2a, 0x0b, 0xb0, 0x94, 0xdd,
+ 0xa4, 0x55, 0x8e, 0x70, 0xff, 0xfa, 0x37, 0xa7, 0xef, 0x8e, 0xd6, 0x7d,
+ 0xd7, 0xc8, 0x65, 0x2e, 0xde, 0x74, 0xac, 0x5f, 0xd7, 0x57, 0xad, 0xab,
+ 0x19, 0x73, 0x1d, 0x9a, 0x2b, 0x9d, 0x98, 0x82, 0x61, 0x4b, 0xdd, 0xe8,
+ 0x61, 0x22, 0xd5, 0xde, 0x2f, 0x2a, 0x2f, 0x80, 0x00, 0x29, 0xd2, 0xa4,
+ 0xbb, 0x2c, 0x04, 0xe3, 0xc0, 0x95, 0xa0, 0xc6, 0x21, 0x18, 0xf4, 0x4b,
+ 0xbf, 0x48, 0x50, 0xe2, 0x15, 0x12, 0x22, 0x45, 0x9f, 0x37, 0x00, 0x96,
+ 0x36, 0x06, 0x90, 0xdf, 0x98, 0xdd, 0x93, 0x65, 0xb3, 0xd1, 0xbe, 0x00,
+ 0x37, 0x6a, 0x32, 0xc6, 0x9b, 0x0d, 0x9d, 0x5e, 0x00, 0x47, 0x9d, 0x8c,
+ 0x0f, 0x4b, 0x37, 0x2e, 0xf9, 0x36, 0xef, 0x6a, 0xfe, 0x84, 0x6b, 0x9d,
+ 0x1b, 0x77, 0xa7, 0x6f, 0x9f, 0x4f, 0x5f, 0x50, 0x04, 0x3c, 0xa4, 0x2b,
+ 0x49, 0x5d, 0x42, 0x4f, 0xbb, 0xf0, 0x63, 0x1b, 0x54, 0x40, 0x04, 0xd5,
+ 0xa1, 0x6f, 0xd1, 0x7c, 0xbe, 0x1c, 0xe7, 0xad, 0x08, 0xb8, 0x75, 0xf8,
+ 0x09, 0xf5, 0x00, 0xa7, 0xa8, 0xb0, 0xa6, 0x54, 0x78, 0xf4, 0xe6, 0x09,
+ 0x35, 0xb9, 0x84, 0xb1, 0xcc, 0x5c, 0xdd, 0x5c, 0x76, 0x52, 0x99, 0xcf,
+ 0x08, 0x99, 0x9a, 0x90, 0xcf, 0xd3, 0xe2, 0x2c, 0xe5, 0x6b, 0x3d, 0x3f,
+ 0x03, 0x36, 0xa8, 0x2e, 0x2b, 0xd6, 0xb0, 0x43, 0xa6, 0x58, 0xe5, 0x84,
+ 0x99, 0xfc, 0x98, 0x0b, 0xce, 0xb2, 0xfc, 0x28, 0x1d, 0x5e, 0xa8, 0x24,
+ 0xdb, 0xe9, 0x54, 0x1f, 0x37, 0x91, 0xae, 0x11, 0x4a, 0x87, 0x6d, 0x1a,
+ 0x1b, 0xca, 0xc6, 0x76, 0x64, 0xad, 0x83, 0xf8, 0xcb, 0x95, 0xa8, 0x33,
+ 0x6a, 0x62, 0xdb, 0x43, 0x69, 0xc6, 0x26, 0x54, 0xcc, 0xf5, 0xa2, 0xba,
+ 0x41, 0xa6, 0xa2, 0x94, 0xf0, 0x60, 0xa4, 0xb0, 0x5b, 0x94, 0x38, 0x6c,
+ 0x02, 0x82, 0xdd, 0xf5, 0x90, 0x50, 0x9c, 0xd5, 0x42, 0xf8, 0x7a, 0xbf,
+ 0xe6, 0x5e, 0xd8, 0x0e, 0x5a, 0x73, 0x87, 0x48, 0x2b, 0x58, 0x95, 0x0d,
+ 0x30, 0xfb, 0x65, 0x0d, 0xf6, 0xbd, 0xa6, 0x4a, 0xc7, 0xee, 0x2f, 0xfd,
+ 0xb4, 0x1e, 0xe7, 0xb9, 0x96, 0x84, 0xa0, 0x50, 0x61, 0x46, 0xe8, 0xd8,
+ 0x38, 0xa7, 0x89, 0xf5, 0xdb, 0x5b, 0x2e, 0xf6, 0x09, 0xf3, 0x81, 0x0b,
+ 0x00, 0x85, 0x6b, 0x66, 0x03, 0xce, 0x42, 0x9e, 0x29, 0x8d, 0x23, 0xc6,
+ 0xaa, 0x64, 0x68, 0xe2, 0xcd, 0x12, 0xfb, 0xd6, 0x98, 0xe0, 0xbb, 0xbe,
+ 0x0d, 0xae, 0x93, 0xd0, 0x27, 0xde, 0xe0, 0xba, 0x61, 0x7b, 0xf2, 0xf6,
+ 0x76, 0x6f, 0xb0, 0xa2, 0x10, 0xb6, 0x1f, 0x0c, 0x7a, 0xde, 0xb1, 0x50,
+ 0x98, 0xa1, 0x27, 0x66, 0x9f, 0x0c, 0xb7, 0x5a, 0xb5, 0xb3, 0x0e, 0x4e,
+ 0xce, 0xde, 0x27, 0xa0, 0x45, 0x02, 0x01, 0x6b, 0x01, 0x27, 0x59, 0x22,
+ 0x3f, 0x66, 0x3d, 0x19, 0x16, 0x73, 0x12, 0x42, 0x3f, 0x95, 0x5f, 0x1a,
+ 0x56, 0x44, 0x98, 0xf4, 0xc4, 0x58, 0xb7, 0x02, 0xd4, 0x20, 0x6a, 0xbf,
+ 0x40, 0xca, 0xab, 0x91, 0xd1, 0x1d, 0x8e, 0xf9, 0xe4, 0x80, 0x3f, 0xec,
+ 0x11, 0x35, 0xdb, 0xbc, 0xa4, 0xf6, 0xbb, 0x96, 0x16, 0xaa, 0x4c, 0x84,
+ 0x04, 0x2a, 0x10, 0xea, 0x4d, 0x66, 0x19, 0xa8, 0xc4, 0xb8, 0xb3, 0x74,
+ 0x6a, 0xe2, 0x5a, 0x12, 0xbc, 0x06, 0xc8, 0x06, 0x34, 0xad, 0x39, 0xae,
+ 0x53, 0xd8, 0x34, 0x74, 0x33, 0xb1, 0xc5, 0xbc, 0x08, 0xb2, 0xd0, 0xed,
+ 0x8c, 0x27, 0xa1, 0x35, 0x1a, 0xa0, 0x8e, 0x57, 0x27, 0x8a, 0x69, 0x67,
+ 0xa9, 0xfa, 0xc6, 0x8a, 0x25, 0x7e, 0xdf, 0xe3, 0x8f, 0x8e, 0x16, 0x24,
+ 0x23, 0x3a, 0xdf, 0x90, 0x05, 0x66, 0xdd, 0x89, 0x9f, 0xa0, 0xef, 0x89,
+ 0x17, 0x8c, 0xd9, 0x6f, 0x88, 0x97, 0x2b, 0x4b, 0x67, 0x54, 0x2d, 0x49,
+ 0x33, 0x07, 0xc8, 0x01, 0x4c, 0xf0, 0xce, 0xee, 0x54, 0x2e, 0x52, 0x91,
+ 0x59, 0x2d, 0x6c, 0x54, 0x27, 0xa1, 0x80, 0x3f, 0x43, 0x80, 0x36, 0xbf,
+ 0xf9, 0x58, 0x92, 0x18, 0x5e, 0x87, 0x14, 0x01, 0x36, 0x9b, 0x83, 0x38,
+ 0x5a, 0x42, 0x8c, 0x09, 0x48, 0xb9, 0x09, 0x5b, 0x4f, 0x94, 0x0a, 0x60,
+ 0x5c, 0x2f, 0x8a, 0x4f, 0xa6, 0x0b, 0x61, 0x12, 0xab, 0x62, 0x7f, 0x89,
+ 0x45, 0x9b, 0x4b, 0xf0, 0xd1, 0x5f, 0x6c, 0x4e, 0x3a, 0xb7, 0x40, 0xdc,
+ 0xa7, 0x37, 0xe4, 0xcf, 0x0b, 0xcb, 0x38, 0xc7, 0x7a, 0x37, 0xb1, 0x27,
+ 0x24, 0x6d, 0xdc, 0x04, 0x46, 0xf1, 0xed, 0xba, 0xce, 0xae, 0x78, 0xad,
+ 0xd9, 0x8f, 0xb8, 0x59, 0x44, 0xe1, 0xe4, 0x90, 0xb6, 0xd2, 0xfe, 0x20,
+ 0x45, 0x49, 0x71, 0x5f, 0x81, 0x40, 0x5c, 0x60, 0xe3, 0x93, 0xe5, 0x86,
+ 0x6f, 0xd2, 0x7e, 0xf0, 0x0b, 0x58, 0x44, 0x7a, 0xd2, 0xce, 0xa8, 0x5e,
+ 0xb6, 0x0f, 0xda, 0x15, 0xf5, 0x5c, 0x02, 0xb6, 0xc0, 0x52, 0xac, 0xea,
+ 0x46, 0x65, 0xe6, 0xfc, 0xea, 0x56, 0x11, 0xc9, 0xe5, 0x72, 0xbb, 0xb2,
+ 0xc2, 0x6e, 0xb2, 0x19, 0x1d, 0x55, 0x91, 0x07, 0xff, 0xc2, 0x59, 0x72,
+ 0x03, 0xf1, 0x26, 0xca, 0xfe, 0xb0, 0x33, 0x49, 0xc5, 0xa3, 0xe4, 0xe1,
+ 0x7b, 0x23, 0x7e, 0x48, 0x1a, 0x7a, 0xc2, 0xf0, 0x3d, 0x4b, 0x24, 0x15,
+ 0x84, 0x6e, 0xa4, 0x5d, 0xb7, 0xd7, 0xe5, 0xaf, 0x91, 0x82, 0xd4, 0x3c,
+ 0xe1, 0xed, 0xcf, 0xde, 0x77, 0x9b, 0xb3, 0x95, 0x55, 0x46, 0xa8, 0xe3,
+ 0xf7, 0x90, 0x1c, 0xb4, 0x16, 0xbc, 0xfc, 0x6c, 0x89, 0x87, 0xeb, 0xd7,
+ 0x0b, 0xc1, 0x36, 0xfb, 0x5b, 0x5c, 0x06, 0x16, 0x2d, 0x11, 0x28, 0x5a,
+ 0xfd, 0xef, 0x26, 0x04, 0xe9, 0x8b, 0xd2, 0xe5, 0x7c, 0x12, 0xcf, 0xbc,
+ 0xd7, 0xb5, 0x95, 0xea, 0x72, 0x12, 0xb9, 0xa0, 0xd5, 0x50, 0xce, 0x8f,
+ 0xe3, 0x37, 0x66, 0x93, 0x91, 0xce, 0x7a, 0x65, 0x06, 0xf1, 0xd5, 0xb2,
+ 0xc5, 0x45, 0x21, 0x6b, 0x8d, 0xf0, 0xc2, 0xce, 0xa7, 0x9a, 0xdd, 0x3e,
+ 0x1d, 0x13, 0xb1, 0xb3, 0x79, 0xb5, 0x54, 0x24, 0xfa, 0xae, 0x64, 0xf6,
+ 0x71, 0xbf, 0x04, 0xd8, 0xb3, 0x80, 0x97, 0x32, 0x7a, 0xd5, 0x82, 0xca,
+ 0x34, 0xd2, 0x95, 0xc7, 0x95, 0x27, 0xa4, 0x3a, 0x4a, 0x95, 0x51, 0x9f,
+ 0xdb, 0x1d, 0x0e, 0x08, 0xc6, 0xd8, 0x9b, 0x5d, 0x67, 0xe6, 0x20, 0x72,
+ 0xea, 0xd0, 0xa8, 0x2a, 0x3f, 0x65, 0xbc, 0xeb, 0x60, 0x5e, 0x80, 0x31,
+ 0x87, 0x75, 0x29, 0x71, 0xca, 0x1a, 0x39, 0x37, 0xb1, 0x10, 0xc6, 0x88,
+ 0x3e, 0x4b, 0x95, 0xae, 0x24, 0xd5, 0xde, 0x49, 0xc3, 0xdc, 0x65, 0xba,
+ 0x2b, 0x23, 0x34, 0x2f, 0xd7, 0x98, 0xe8, 0xb9, 0xe2, 0x27, 0xdf, 0x6e,
+ 0x02, 0x29, 0x76, 0xbd, 0xec, 0xf0, 0xfb, 0x67, 0x5f, 0x3c, 0x35, 0xcb,
+ 0x4f, 0xbe, 0x5d, 0x75, 0xff, 0xe4, 0x47, 0x56, 0xf4, 0xf1, 0xf5, 0xab,
+ 0xcc, 0x5e, 0x82, 0x27, 0x2c, 0x79, 0x65, 0x36, 0x15, 0xfb, 0xc4, 0x28,
+ 0xa6, 0xd5, 0x75, 0x77, 0xa1, 0x06, 0x5b, 0x5f, 0x4d, 0x8f, 0x09, 0xa3,
+ 0x7a, 0x60, 0xb2, 0x91, 0x26, 0xce, 0x69, 0x0e, 0x13, 0x57, 0x19, 0x51,
+ 0xa8, 0x98, 0x7b, 0xac, 0x24, 0x99, 0x1d, 0x13, 0x39, 0xe4, 0xce, 0x91,
+ 0xc3, 0x69, 0xb1, 0xd0, 0xc3, 0x69, 0x79, 0xc0, 0xb7, 0x92, 0x7b, 0x55,
+ 0xee, 0xff, 0x4c, 0xa8, 0x60, 0xa3, 0xd5, 0x36, 0x04, 0x0b, 0xc3, 0xb7,
+ 0x02, 0xb5, 0x93, 0x2b, 0x12, 0xd9, 0xc4, 0x11, 0xce, 0xfb, 0xb6, 0x5c,
+ 0x22, 0xc4, 0x60, 0xef, 0xeb, 0x06, 0xcc, 0x13, 0x9d, 0x1c, 0x91, 0xd1,
+ 0x12, 0xb1, 0x08, 0xd9, 0x73, 0x91, 0xdb, 0xc4, 0xbb, 0x5c, 0x38, 0x66,
+ 0x19, 0xc1, 0x25, 0x16, 0x76, 0xaa, 0xe0, 0x2c, 0x1e, 0xbc, 0xa5, 0x38,
+ 0x0b, 0x4f, 0x3d, 0xf5, 0x88, 0xf1, 0x4f, 0x62, 0xa6, 0xe9, 0x0f, 0x6c,
+ 0x25, 0xa2, 0x16, 0x78, 0x86, 0x8d, 0x14, 0x68, 0xc7, 0x9c, 0x47, 0x1c,
+ 0x1b, 0x6c, 0xe2, 0x3d, 0xe6, 0xbf, 0xb2, 0xff, 0x62, 0xa7, 0x27, 0x22,
+ 0x8a, 0xc2, 0x5d, 0xfe, 0x33, 0xa8, 0x1e, 0x15, 0xea, 0x11, 0xf4, 0x98,
+ 0xf9, 0xa9, 0x7d, 0x32, 0x94, 0x81, 0x42, 0x76, 0xf8, 0xec, 0x09, 0xc5,
+ 0xbc, 0xe3, 0x3e, 0x25, 0xbe, 0x68, 0x7d, 0x2f, 0x82, 0x75, 0x23, 0xd4,
+ 0x31, 0xf0, 0xa7, 0x77, 0xb6, 0xec, 0x6a, 0x1c, 0x4b, 0xbc, 0x74, 0x03,
+ 0x45, 0x8b, 0xa2, 0x1e, 0x89, 0x49, 0x5e, 0x47, 0x9c, 0x18, 0x8c, 0x67,
+ 0x93, 0x0d, 0x67, 0xab, 0x49, 0xa1, 0xa0, 0x06, 0x6f, 0x6d, 0xac, 0xa2,
+ 0x39, 0x30, 0xeb, 0xa0, 0xc3, 0xb7, 0xb5, 0xd2, 0xf3, 0x95, 0x49, 0x6b,
+ 0xbb, 0x2f, 0x07, 0x4f, 0x5b, 0xe7, 0xa4, 0x99, 0xce, 0xfa, 0xb7, 0xa3,
+ 0x07, 0x62, 0x1f, 0x17, 0x27, 0xef, 0x92, 0xd9, 0x02, 0x05, 0x9b, 0x85,
+ 0xbb, 0xf5, 0x7e, 0x9a, 0xa9, 0x1b, 0x9a, 0x1c, 0x3c, 0xec, 0x2b, 0xbc,
+ 0x06, 0xa3, 0x5f, 0x08, 0xe9, 0x8e, 0x02, 0x6d, 0x6d, 0x1a, 0xa9, 0xd8,
+ 0xfd, 0xc2, 0x55, 0x46, 0x4d, 0xb2, 0x3f, 0x7b, 0x3e, 0x9f, 0xe6, 0xd1,
+ 0x4c, 0x1f, 0x05, 0xda, 0x66, 0x77, 0xd9, 0x78, 0x81, 0x38, 0x35, 0xa9,
+ 0x87, 0x44, 0xfb, 0xb3, 0xda, 0x81, 0xee, 0x39, 0xcd, 0xc5, 0x4d, 0x6e,
+ 0x7e, 0xd0, 0x9d, 0x8c, 0xee, 0xd8, 0x79, 0xf0, 0x81, 0xf7, 0x8c, 0x53,
+ 0xde, 0x63, 0xbf, 0x0b, 0x62, 0xc5, 0x80, 0xf7, 0xd3, 0x85, 0x68, 0xb6,
+ 0x54, 0x7e, 0x55, 0xb0, 0xd2, 0xf1, 0x2e, 0x1f, 0x57, 0x65, 0x5d, 0x5e,
+ 0x32, 0x70, 0xcd, 0x33, 0x91, 0x8e, 0x8f, 0x87, 0xc9, 0x6d, 0x36, 0xd2,
+ 0x2c, 0xd9, 0x41, 0xe8, 0x4c, 0x86, 0x0c, 0xa1, 0x08, 0x49, 0x95, 0x67,
+ 0x0d, 0x4d, 0x99, 0xc6, 0x44, 0x7b, 0x5a, 0xf0, 0xa6, 0x9f, 0x15, 0x57,
+ 0xc6, 0x5a, 0x85, 0x02, 0x4f, 0xe5, 0xc1, 0xa6, 0x7c, 0x31, 0xcd, 0xb3,
+ 0x32, 0x12, 0x18, 0xe7, 0x0e, 0xe8, 0xb5, 0x22, 0x05, 0xea, 0xe8, 0x0e,
+ 0x1f, 0xa5, 0x35, 0x67, 0xb4, 0xb0, 0x77, 0xc0, 0x88, 0x1d, 0xd2, 0x51,
+ 0xc4, 0x71, 0xf9, 0x89, 0x7c, 0x66, 0x41, 0xf2, 0xca, 0x28, 0xa3, 0x5a,
+ 0x65, 0x14, 0xee, 0x6f, 0x7b, 0xef, 0x8a, 0x49, 0x59, 0x01, 0x90, 0xe4,
+ 0x55, 0x46, 0x40, 0xf9, 0xb0, 0x45, 0x85, 0x2c, 0x2c, 0xd0, 0x4e, 0x86,
+ 0xf2, 0xf4, 0xf6, 0x9a, 0xe3, 0xb6, 0xba, 0x0a, 0x74, 0x39, 0x21, 0xf1,
+ 0x96, 0x73, 0x7d, 0x84, 0x7c, 0x9b, 0xab, 0xe7, 0xea, 0x75, 0xe3, 0xad,
+ 0x46, 0x94, 0xa2, 0x4e, 0xd6, 0xc3, 0x65, 0x99, 0x8a, 0x7b, 0xe6, 0x4d,
+ 0x7e, 0xb5, 0xa4, 0x46, 0x9e, 0xe5, 0x7b, 0xc0, 0xe5, 0x84, 0x13, 0x8b,
+ 0xde, 0xc8, 0x95, 0x59, 0xf1, 0x19, 0x0d, 0x0b, 0x3f, 0xa2, 0xd6, 0x41,
+ 0xe8, 0x89, 0x5d, 0xb2, 0xfb, 0x96, 0xd1, 0x64, 0xfc, 0x06, 0x35, 0xf9,
+ 0x56, 0x31, 0xb1, 0x79, 0x5d, 0xb1, 0x27, 0x20, 0xa6, 0xf2, 0xf9, 0x5a,
+ 0x5e, 0xc0, 0x49, 0xe1, 0xc5, 0x64, 0xe3, 0x4a, 0xdf, 0x32, 0x0a, 0x60,
+ 0x84, 0xb4, 0x22, 0xc0, 0x14, 0x2f, 0x2a, 0x3b, 0xb1, 0x05, 0xa2, 0x69,
+ 0x7d, 0xda, 0x31, 0x2f, 0xff, 0xec, 0x96, 0xf4, 0x83, 0xbd, 0xfe, 0x28,
+ 0x4b, 0xa9, 0x58, 0xc3, 0xab, 0x86, 0x34, 0xa6, 0x78, 0xa6, 0xca, 0x92,
+ 0x44, 0x95, 0xaf, 0xf8, 0xcd, 0x0b, 0xa8, 0x5a, 0xb4, 0xb6, 0xa7, 0x07,
+ 0x1f, 0x2e, 0xbe, 0x49, 0x92, 0x3d, 0x22, 0x04, 0x7f, 0x4c, 0xa6, 0x0a,
+ 0x44, 0x42, 0xab, 0x15, 0x57, 0x0e, 0x98, 0x2e, 0xd2, 0xbf, 0x2d, 0x8a,
+ 0x36, 0x11, 0x7c, 0xcc, 0x4b, 0x8f, 0x0b, 0x54, 0xee, 0x5e, 0x4e, 0x9d,
+ 0x6e, 0xe1, 0xac, 0xb5, 0x52, 0x08, 0x2f, 0x49, 0xbf, 0x8f, 0x79, 0x27,
+ 0x67, 0xd7, 0x03, 0x01, 0xcd, 0x3a, 0x4e, 0xd9, 0x21, 0xbd, 0x95, 0xee,
+ 0x2a, 0xa7, 0x90, 0x46, 0x4e, 0xab, 0x4c, 0x5c, 0xfd, 0x4d, 0xb7, 0xc8,
+ 0xdf, 0xf9, 0xdb, 0xc3, 0x4e, 0x73, 0xcf, 0x3f, 0x7b, 0xb6, 0xf3, 0x3b,
+ 0xc2, 0xf5, 0x4a, 0x72, 0x90, 0x88, 0x23, 0x21, 0xca, 0xa4, 0xf3, 0x7d,
+ 0x45, 0x89, 0xac, 0xea, 0x6a, 0x28, 0xe5, 0x21, 0x3f, 0xd5, 0xbe, 0x6e,
+ 0x26, 0x84, 0xdb, 0xb2, 0x4c, 0x1c, 0x95, 0xea, 0xfb, 0xff, 0xf9, 0x5f,
+ 0x61, 0xa2, 0xed, 0x8f, 0x3f, 0xb3, 0xb7, 0xf8, 0x12, 0xf5, 0xb1, 0x1c,
+ 0xf0, 0x5f, 0xe5, 0x4c, 0xed, 0xae, 0x64, 0x3a, 0xd2, 0x1b, 0x7f, 0xdc,
+ 0xb0, 0x35, 0x2c, 0xa0, 0xf4, 0x47, 0xd3, 0xb4, 0xf5, 0xf6, 0x94, 0xbe,
+ 0xe9, 0xc2, 0x56, 0x52, 0xf9, 0xdd, 0xea, 0x03, 0x2e, 0xc7, 0x52, 0xca,
+ 0x3a, 0x4c, 0x96, 0xd5, 0xa0, 0xd1, 0x5a, 0x0c, 0x52, 0xd5, 0x40, 0x1d,
+ 0xe6, 0xe4, 0x26, 0x67, 0x94, 0x15, 0xfa, 0x4f, 0xba, 0x28, 0x12, 0x9a,
+ 0xf3, 0x62, 0x89, 0x03, 0x53, 0xa0, 0x44, 0xff, 0x69, 0x56, 0xa0, 0xd7,
+ 0xdc, 0x96, 0xff, 0xd5, 0x76, 0x66, 0x1a, 0x15, 0x83, 0x7a, 0xfc, 0xf1,
+ 0x8f, 0xbb, 0x94, 0x21, 0xb4, 0xde, 0x6d, 0x82, 0xd1, 0xfe, 0x76, 0x55,
+ 0xad, 0x86, 0xb4, 0x8a, 0x55, 0x55, 0x3f, 0x48, 0xe9, 0xc7, 0x3d, 0x52,
+ 0x1c, 0xff, 0x6b, 0x40, 0xff, 0xfd, 0x71, 0xb7, 0xff, 0xec, 0x67, 0xfb,
+ 0xd1, 0x3f, 0xee, 0x7e, 0xfc, 0xe3, 0xde, 0x7a, 0x34, 0xcd, 0xce, 0xf1,
+ 0x01, 0x78, 0x58, 0x45, 0xd2, 0x67, 0x8b, 0x7b, 0x49, 0xdb, 0x90, 0x58,
+ 0xa3, 0x2b, 0x9a, 0x85, 0x02, 0x9c, 0x21, 0x67, 0x12, 0xb9, 0xae, 0x3a,
+ 0xaa, 0xaa, 0xd6, 0xcd, 0x52, 0xe1, 0x70, 0x5b, 0xf2, 0xcb, 0xe2, 0x56,
+ 0x91, 0x92, 0xe3, 0x92, 0x4f, 0x10, 0x08, 0xc3, 0x22, 0x6b, 0xef, 0x0d,
+ 0x62, 0x50, 0x51, 0xda, 0x8d, 0x70, 0x36, 0x04, 0x20, 0x65, 0xae, 0xb3,
+ 0x34, 0xe9, 0x4c, 0xfa, 0x68, 0x64, 0x7f, 0x52, 0x64, 0x41, 0x62, 0x56,
+ 0x6a, 0x13, 0x19, 0xd9, 0x80, 0xb3, 0x52, 0xc1, 0xbc, 0x69, 0x03, 0xd8,
+ 0x12, 0xd7, 0x42, 0xef, 0x5d, 0xe9, 0x55, 0xaa, 0x00, 0xda, 0x95, 0x16,
+ 0x7f, 0x5b, 0x68, 0x5d, 0x5c, 0x77, 0xa3, 0x98, 0x96, 0x72, 0x57, 0x2f,
+ 0x9d, 0x7f, 0x26, 0x11, 0x18, 0x64, 0xfc, 0x73, 0xd5, 0xa6, 0x32, 0xe6,
+ 0x12, 0x48, 0x47, 0x54, 0xd4, 0xaa, 0x55, 0x22, 0x64, 0x8c, 0x9a, 0x9d,
+ 0x35, 0x0c, 0x5a, 0x65, 0xa0, 0x4a, 0xeb, 0x25, 0x13, 0xe2, 0x4f, 0x85,
+ 0x37, 0x09, 0x32, 0x51, 0x98, 0x9c, 0x15, 0x9e, 0x5d, 0x4e, 0x93, 0x25,
+ 0x1c, 0x69, 0x93, 0xf5, 0xbd, 0x3c, 0x59, 0xe4, 0xe5, 0xe2, 0xa7, 0x1e,
+ 0xd6, 0x4d, 0x02, 0x7c, 0xfd, 0x20, 0x2a, 0x69, 0x36, 0xd1, 0xe4, 0xde,
+ 0x48, 0x42, 0xe6, 0xe3, 0xb4, 0xfc, 0x7e, 0xea, 0x22, 0x10, 0x59, 0x63,
+ 0xf6, 0xd9, 0x46, 0x7f, 0x23, 0xd9, 0x44, 0x2e, 0x3d, 0xec, 0xba, 0x64,
+ 0x92, 0xd6, 0xd7, 0x5b, 0x31, 0x47, 0xa4, 0xf3, 0xfd, 0x39, 0x41, 0x35,
+ 0x12, 0xdf, 0x03, 0x5d, 0x99, 0x2c, 0xa1, 0xa2, 0x03, 0xd3, 0x0b, 0xfb,
+ 0x14, 0x01, 0x13, 0x06, 0x0c, 0xf6, 0x6d, 0x7e, 0x4d, 0xe7, 0x67, 0x7d,
+ 0x10, 0x8f, 0xf2, 0xcf, 0xff, 0x23, 0xbc, 0x17, 0xe4, 0x49, 0xc6, 0x7c,
+ 0xf5, 0x39, 0x29, 0xca, 0x5d, 0xa4, 0x14, 0xcd, 0x4b, 0x5e, 0xcd, 0xaf,
+ 0x2b, 0xa3, 0xfe, 0x85, 0xb9, 0x57, 0xc3, 0x6f, 0x12, 0xb8, 0x62, 0xa8,
+ 0x12, 0x0b, 0x3f, 0x63, 0x37, 0x88, 0x47, 0x64, 0xf8, 0x3b, 0xf2, 0xe6,
+ 0x11, 0x9c, 0xa4, 0x9f, 0xd6, 0xfd, 0x40, 0xd5, 0xb9, 0xf0, 0xb1, 0xb5,
+ 0xa4, 0x78, 0x92, 0x35, 0x42, 0x30, 0x46, 0x0a, 0xac, 0x15, 0x63, 0x54,
+ 0xf6, 0x4d, 0xb6, 0x07, 0x83, 0x6d, 0x12, 0x58, 0xdb, 0xe6, 0x0f, 0xc7,
+ 0x20, 0x0f, 0xd4, 0x6d, 0xb7, 0x02, 0x8e, 0xd9, 0xe8, 0xc0, 0xae, 0x80,
+ 0x3e, 0x43, 0x0a, 0xc6, 0xb9, 0x40, 0x7b, 0xfd, 0xf7, 0x05, 0xa0, 0xa8,
+ 0x95, 0x51, 0x28, 0x2b, 0xce, 0xec, 0x9d, 0xb5, 0xee, 0xc8, 0xa0, 0xee,
+ 0x0c, 0x7b, 0xd6, 0x6b, 0x61, 0x91, 0x68, 0xae, 0x3b, 0x29, 0x67, 0x0c,
+ 0xa3, 0x01, 0x40, 0x38, 0x6f, 0x94, 0xbd, 0x0b, 0x59, 0xd5, 0xe9, 0x4a,
+ 0x83, 0xee, 0xe9, 0x5e, 0xdb, 0xf1, 0x31, 0xcf, 0x0b, 0x63, 0x62, 0x18,
+ 0xd5, 0x18, 0xcc, 0x8c, 0x84, 0xc5, 0x0b, 0x73, 0x7a, 0xd8, 0x9b, 0xd6,
+ 0xa9, 0x40, 0x02, 0x7f, 0x32, 0xcb, 0x37, 0xab, 0x71, 0xa8, 0x8a, 0x0d,
+ 0xea, 0x45, 0x89, 0xe7, 0x6f, 0x06, 0x97, 0x25, 0x7f, 0x64, 0x8b, 0x6f,
+ 0x4c, 0x41, 0xeb, 0x62, 0x43, 0x64, 0x7c, 0xb7, 0x49, 0x69, 0xa6, 0x11,
+ 0x1c, 0x28, 0x84, 0x06, 0x82, 0xf6, 0x8e, 0xd6, 0x62, 0x6e, 0x0f, 0xeb,
+ 0x73, 0xb0, 0x9e, 0x12, 0x57, 0x65, 0x87, 0xc6, 0x4c, 0xe4, 0x96, 0x66,
+ 0xde, 0xdf, 0x1c, 0x9d, 0x8b, 0x7a, 0x02, 0x0f, 0x84, 0xab, 0x90, 0x18,
+ 0xb0, 0xa9, 0xc2, 0x92, 0x79, 0xfe, 0xd4, 0xd6, 0x2b, 0xae, 0xaf, 0xd3,
+ 0xbd, 0x67, 0xcf, 0xa5, 0xdb, 0xca, 0xa2, 0x85, 0x7b, 0x7b, 0x83, 0x7f,
+ 0xb5, 0xbd, 0xcd, 0x61, 0x73, 0xb2, 0x4d, 0x03, 0xb9, 0x90, 0x4a, 0xd1,
+ 0xe5, 0x8d, 0xcf, 0x37, 0xa2, 0x80, 0x39, 0xd5, 0x5c, 0xd9, 0x7e, 0x27,
+ 0xef, 0x33, 0x40, 0x7d, 0x3e, 0xa3, 0x7e, 0xaf, 0x45, 0x32, 0x9f, 0x08,
+ 0x17, 0x42, 0xa0, 0x35, 0xb4, 0xc8, 0xe6, 0x85, 0x76, 0x42, 0x4b, 0xf2,
+ 0x24, 0x9a, 0x9d, 0x3a, 0x48, 0x0e, 0x5a, 0xf3, 0x53, 0x73, 0x75, 0xc8,
+ 0x71, 0x48, 0x6d, 0x22, 0xe0, 0x37, 0x5a, 0x0d, 0xaf, 0x61, 0x41, 0x81,
+ 0x12, 0x6b, 0x31, 0xd1, 0xfd, 0xd1, 0xc6, 0xd3, 0xb0, 0x0b, 0xbb, 0x64,
+ 0xd0, 0x53, 0xf3, 0x85, 0x20, 0x53, 0x44, 0xf7, 0x85, 0x42, 0xa4, 0xd8,
+ 0xa2, 0xf7, 0x60, 0x82, 0xee, 0xb4, 0x98, 0xeb, 0xa0, 0x6a, 0x3a, 0xcc,
+ 0x34, 0xab, 0x29, 0x79, 0x01, 0x13, 0x1b, 0x67, 0x39, 0x13, 0x32, 0x99,
+ 0xb5, 0xa5, 0xc0, 0x4f, 0x70, 0x0e, 0xcc, 0x56, 0xd8, 0xa6, 0x7d, 0x20,
+ 0xc6, 0x46, 0xc0, 0x7e, 0x4f, 0x4e, 0xe6, 0x97, 0x83, 0x9d, 0xfd, 0xe4,
+ 0x74, 0x9e, 0x15, 0x66, 0x0d, 0x7a, 0xc9, 0xd7, 0xc5, 0x82, 0x96, 0x84,
+ 0x46, 0xfd, 0xf5, 0xf0, 0xdb, 0x20, 0xe1, 0x8a, 0xde, 0x78, 0xfa, 0x84,
+ 0xde, 0x78, 0x3f, 0xe4, 0xa7, 0x6e, 0xcb, 0xe9, 0xa5, 0x79, 0x73, 0xfb,
+ 0xf0, 0x3e, 0x35, 0x7f, 0xc4, 0x1e, 0xff, 0x8c, 0x1e, 0x37, 0x1b, 0x6f,
+ 0xd2, 0x04, 0xb5, 0x8a, 0x13, 0x29, 0xe3, 0xb2, 0x9f, 0x9c, 0x95, 0xd3,
+ 0xb4, 0x82, 0xdf, 0x97, 0x37, 0xdf, 0x8a, 0x1e, 0x3f, 0x7d, 0x1a, 0xe9,
+ 0x71, 0x6f, 0x49, 0x87, 0x06, 0xff, 0x7c, 0x8f, 0x4e, 0xe1, 0xf8, 0xa3,
+ 0xbf, 0x8d, 0xd2, 0xf1, 0x27, 0x6c, 0x45, 0xa0, 0xda, 0x2d, 0xe1, 0xec,
+ 0xef, 0x29, 0xcd, 0x99, 0x8d, 0xe0, 0x31, 0x55, 0x6d, 0x2a, 0x10, 0xb2,
+ 0x35, 0x48, 0x72, 0xff, 0x6c, 0xef, 0xc9, 0xee, 0xf6, 0xf3, 0xc1, 0xd3,
+ 0xc1, 0x9e, 0x45, 0x99, 0x99, 0x8d, 0x75, 0x43, 0x35, 0x14, 0x28, 0x9e,
+ 0xbf, 0xac, 0x04, 0x5d, 0x5e, 0x98, 0x76, 0x3c, 0xee, 0x85, 0x9a, 0x3d,
+ 0x47, 0x0e, 0x5f, 0x42, 0x4c, 0x0b, 0xbb, 0x7e, 0xba, 0x52, 0xac, 0x84,
+ 0x18, 0x11, 0x38, 0x50, 0x27, 0xc4, 0xd9, 0xb1, 0xa8, 0x30, 0x03, 0xa3,
+ 0xdc, 0xd8, 0xcc, 0x4d, 0xb9, 0x80, 0x4f, 0x9d, 0x1c, 0x38, 0x4a, 0xb9,
+ 0x2d, 0x3a, 0x12, 0x9b, 0xc8, 0x74, 0xc6, 0x96, 0x54, 0x37, 0xb6, 0x78,
+ 0x5e, 0x0a, 0x10, 0x79, 0xd5, 0x9e, 0xc9, 0x1b, 0x8b, 0x7a, 0xf1, 0x28,
+ 0x77, 0x61, 0xcc, 0x99, 0x62, 0x6c, 0x0e, 0xfd, 0x37, 0xc6, 0xd4, 0xb8,
+ 0x21, 0xc7, 0x71, 0xac, 0x88, 0xb0, 0x64, 0x31, 0xaa, 0xe3, 0x5f, 0x40,
+ 0x0e, 0x8e, 0x11, 0x5b, 0x7e, 0xc0, 0xb9, 0x13, 0x9a, 0xbd, 0xca, 0x39,
+ 0x5f, 0xfd, 0x30, 0xf3, 0xd7, 0x3a, 0xbc, 0xda, 0xe4, 0x9d, 0xc2, 0x2a,
+ 0x4d, 0x09, 0x4c, 0xec, 0xe3, 0x66, 0x96, 0x39, 0x9a, 0x46, 0x97, 0x8e,
+ 0x16, 0x73, 0xc1, 0xac, 0x72, 0xd1, 0x45, 0x29, 0x29, 0xf8, 0x5f, 0xdd,
+ 0x92, 0x7f, 0x72, 0x09, 0xc6, 0xca, 0x72, 0x75, 0x2a, 0xa3, 0x69, 0xab,
+ 0xbf, 0x7a, 0x97, 0x3d, 0xf9, 0xed, 0x77, 0xd9, 0xde, 0x63, 0x77, 0x99,
+ 0xb7, 0xcd, 0xd8, 0x15, 0xb4, 0x62, 0xa3, 0x99, 0x29, 0xe4, 0x9a, 0xc8,
+ 0xf1, 0x5d, 0xe6, 0x6d, 0xb2, 0xd1, 0x7d, 0x74, 0x8b, 0xb5, 0xf7, 0x98,
+ 0xdb, 0x64, 0xcb, 0x76, 0x19, 0xb6, 0x99, 0xdd, 0x67, 0x0f, 0x6c, 0x34,
+ 0xf6, 0xb4, 0xad, 0xde, 0x65, 0x9d, 0x8a, 0xda, 0x2b, 0xf6, 0x98, 0xbf,
+ 0x21, 0x1e, 0xbd, 0xcb, 0x9c, 0xdb, 0x8b, 0xe5, 0x4e, 0xb2, 0x64, 0xa3,
+ 0xf9, 0xfb, 0x6c, 0x69, 0xf1, 0xb7, 0xdd, 0x97, 0xb1, 0x5d, 0xf6, 0xe4,
+ 0x57, 0xef, 0xb2, 0xa7, 0xbf, 0xfd, 0x2e, 0x7b, 0xf2, 0xff, 0x64, 0xd9,
+ 0x7f, 0x2f, 0x59, 0xb6, 0xfb, 0x8b, 0x65, 0xd9, 0x5e, 0x27, 0xb0, 0x69,
+ 0xd4, 0x55, 0xf6, 0x37, 0xff, 0xa8, 0x6e, 0xff, 0xfd, 0xed, 0xed, 0x9f,
+ 0xe1, 0x3c, 0xd9, 0xa7, 0xfb, 0xfa, 0xe7, 0xa0, 0x92, 0x67, 0x44, 0xad,
+ 0x1f, 0x9e, 0x1e, 0x7e, 0x3b, 0x14, 0xbf, 0xb5, 0x28, 0x5e, 0xaa, 0x98,
+ 0xb1, 0x83, 0xcf, 0xa8, 0xeb, 0x48, 0x83, 0x0e, 0x74, 0x7d, 0x2e, 0xf7,
+ 0xd7, 0xbf, 0xeb, 0xa9, 0xef, 0x18, 0x90, 0x23, 0x39, 0xda, 0xe0, 0x7b,
+ 0x93, 0x04, 0x63, 0xce, 0x74, 0x90, 0x56, 0x85, 0x96, 0x27, 0xf4, 0x13,
+ 0x70, 0x47, 0xac, 0x07, 0x5d, 0x7c, 0x1a, 0x85, 0xf7, 0xe2, 0x66, 0x73,
+ 0x5d, 0x21, 0xb7, 0x03, 0x8f, 0x6e, 0x69, 0xd8, 0x68, 0x55, 0xef, 0xa4,
+ 0x5f, 0xdf, 0x80, 0x19, 0x77, 0x5e, 0x65, 0x4b, 0x0a, 0xe8, 0x5e, 0x5c,
+ 0x7b, 0xbf, 0x0d, 0x0b, 0x83, 0xba, 0xe9, 0x12, 0x9e, 0x37, 0x6f, 0xbe,
+ 0xe9, 0xbd, 0x20, 0x25, 0x3d, 0xbf, 0xeb, 0x90, 0x0f, 0xa5, 0x53, 0xd4,
+ 0xc9, 0x44, 0xd9, 0x07, 0x1d, 0xa2, 0x36, 0xc2, 0xe0, 0xa5, 0x0c, 0xa5,
+ 0x1b, 0xea, 0xa7, 0xa6, 0xc9, 0x00, 0x36, 0x8a, 0x5f, 0xa4, 0xf4, 0x1b,
+ 0xfe, 0xfb, 0x33, 0xfa, 0x2e, 0xb9, 0x7a, 0xf9, 0x5f, 0xd7, 0xf4, 0x4f,
+ 0x7c, 0x4f, 0x89, 0xa4, 0x5a, 0xab, 0x3c, 0x8e, 0x4f, 0xb4, 0x9f, 0x34,
+ 0x64, 0x49, 0x0e, 0xde, 0x97, 0x2e, 0xad, 0xce, 0x1f, 0xb5, 0xcf, 0x48,
+ 0xb7, 0x04, 0x2d, 0x68, 0x9a, 0x41, 0xcb, 0x4f, 0xe3, 0x4a, 0x62, 0xe6,
+ 0xf3, 0x4d, 0x2a, 0x7d, 0x80, 0x5f, 0xed, 0xc9, 0x45, 0x4a, 0x65, 0x01,
+ 0x40, 0xd8, 0x16, 0x49, 0x8e, 0x91, 0x52, 0x06, 0xd2, 0xef, 0xdd, 0x9d,
+ 0x17, 0xa1, 0xb7, 0xf9, 0x83, 0x26, 0xb5, 0x39, 0xd2, 0x45, 0x00, 0x22,
+ 0x00, 0x2f, 0x1f, 0xb9, 0x54, 0x8e, 0xd8, 0x67, 0x23, 0x79, 0x6f, 0xe4,
+ 0x00, 0x98, 0x64, 0x6c, 0x31, 0x8e, 0xd8, 0xf4, 0x0f, 0x0a, 0xd1, 0x73,
+ 0x1a, 0x6f, 0x0d, 0x39, 0x29, 0x74, 0xc1, 0x89, 0x44, 0xf5, 0x03, 0x69,
+ 0x41, 0x48, 0x13, 0x0d, 0x36, 0x7d, 0xe9, 0x28, 0xdd, 0xfe, 0xf4, 0x74,
+ 0x87, 0x56, 0x55, 0x5b, 0x49, 0xb9, 0x22, 0x3b, 0xef, 0xb9, 0x3f, 0x3d,
+ 0x49, 0x07, 0xff, 0x42, 0x42, 0xa6, 0x67, 0x6d, 0x57, 0xc2, 0x1f, 0xe5,
+ 0x8c, 0x5f, 0x11, 0x67, 0x4c, 0x7f, 0x94, 0x56, 0x91, 0x14, 0x0a, 0x7b,
+ 0x17, 0x08, 0xdd, 0x88, 0xc7, 0xd6, 0xa1, 0x6f, 0x72, 0x89, 0x73, 0xc1,
+ 0xc5, 0xdb, 0x1f, 0x86, 0xcd, 0x79, 0xae, 0x7a, 0xbf, 0x3c, 0x68, 0x8f,
+ 0x49, 0xb2, 0x3c, 0x8e, 0xac, 0x74, 0xda, 0xa3, 0x28, 0x5e, 0x84, 0x49,
+ 0x09, 0xab, 0xe3, 0x7f, 0x82, 0xb8, 0xae, 0x6e, 0x3d, 0x47, 0x02, 0x13,
+ 0xd5, 0x5f, 0xc2, 0x5f, 0xef, 0xd0, 0x17, 0x64, 0x7a, 0x53, 0x34, 0x36,
+ 0x76, 0x9b, 0xd5, 0xe3, 0x8a, 0x6a, 0xbf, 0x48, 0xf1, 0x04, 0xb4, 0x35,
+ 0x27, 0xaa, 0x40, 0x73, 0x8d, 0x5d, 0x65, 0x9a, 0x3e, 0x69, 0x07, 0xad,
+ 0x2c, 0x19, 0xa0, 0xc6, 0x18, 0x44, 0x40, 0xc9, 0x0e, 0x74, 0xa4, 0xf5,
+ 0x5a, 0x53, 0xe1, 0xd1, 0xa0, 0x57, 0x35, 0x91, 0xd5, 0x67, 0x59, 0x9c,
+ 0xa3, 0xc8, 0x59, 0x7d, 0x9d, 0x77, 0x4b, 0x34, 0x6f, 0xf6, 0x5f, 0x97,
+ 0xaf, 0xfb, 0x5b, 0x1a, 0xa3, 0x23, 0x0e, 0xcb, 0x1a, 0x16, 0x1c, 0x3a,
+ 0x4b, 0xb1, 0xda, 0x6b, 0xf8, 0x9a, 0xe4, 0x42, 0x43, 0xd6, 0x26, 0xe0,
+ 0x97, 0xc2, 0x50, 0x15, 0x94, 0xc4, 0xe0, 0x9e, 0x55, 0x14, 0xa6, 0x15,
+ 0x89, 0x47, 0x5e, 0x29, 0x33, 0x5b, 0x97, 0x8c, 0xed, 0x42, 0x5e, 0x27,
+ 0x45, 0xb0, 0x85, 0x56, 0x99, 0x1d, 0xe2, 0xe5, 0xbc, 0x7d, 0x3b, 0x51,
+ 0x8a, 0xb0, 0x4a, 0x87, 0x57, 0x2a, 0x56, 0xbe, 0x78, 0x30, 0x01, 0xc0,
+ 0x0a, 0xa0, 0x4b, 0xf1, 0xe5, 0xd0, 0xf1, 0x43, 0x42, 0x08, 0x13, 0x32,
+ 0x8f, 0xaf, 0xb3, 0x99, 0x94, 0x0e, 0xf9, 0x85, 0x85, 0xd0, 0x3b, 0x7d,
+ 0x62, 0x68, 0xdc, 0x65, 0x33, 0x1f, 0xcc, 0xca, 0x7f, 0x98, 0x69, 0x4e,
+ 0xa9, 0x16, 0x59, 0x70, 0x28, 0xcc, 0xed, 0x5f, 0xf0, 0xba, 0x50, 0x74,
+ 0xa3, 0xb0, 0xb6, 0xb0, 0xcf, 0x28, 0x27, 0xb4, 0xd9, 0x9c, 0xf6, 0x9e,
+ 0x24, 0x87, 0xa6, 0xc7, 0x47, 0x1f, 0x3f, 0xbc, 0x1f, 0x7e, 0x38, 0xeb,
+ 0x9e, 0xfd, 0xb3, 0xd3, 0xf3, 0x8b, 0xa3, 0x37, 0x1f, 0xcf, 0xce, 0x4f,
+ 0x2f, 0x4e, 0x0f, 0x4f, 0x4f, 0x92, 0xcd, 0xdd, 0xad, 0x95, 0x69, 0x5e,
+ 0xd6, 0x13, 0xe3, 0xd1, 0x06, 0x6a, 0xff, 0x59, 0x6a, 0xd9, 0x5e, 0x6c,
+ 0xd2, 0x78, 0xc2, 0xd6, 0xbe, 0xd7, 0x6a, 0xc0, 0xad, 0x58, 0x32, 0x3b,
+ 0x64, 0x70, 0xc1, 0x41, 0xb0, 0xa7, 0xc9, 0xd5, 0x82, 0x4f, 0x8a, 0x8b,
+ 0xf4, 0x33, 0x6d, 0x66, 0xa0, 0x88, 0x65, 0x12, 0x6c, 0xf4, 0x32, 0x84,
+ 0x56, 0x7a, 0x25, 0x9f, 0x75, 0xb5, 0x16, 0x5a, 0x03, 0x28, 0xa3, 0x6e,
+ 0x57, 0xd4, 0xab, 0xb7, 0x05, 0xd3, 0x8a, 0x80, 0x95, 0xda, 0xbe, 0x01,
+ 0xca, 0x7e, 0x89, 0xfd, 0x94, 0x85, 0xd5, 0x6e, 0x07, 0x54, 0x94, 0x27,
+ 0x70, 0xe1, 0xcb, 0x2b, 0xa6, 0xbf, 0x85, 0x14, 0x7a, 0x94, 0x8e, 0x20,
+ 0xf8, 0x87, 0xca, 0x24, 0x1c, 0x8b, 0x36, 0x0f, 0xd0, 0x6f, 0x3d, 0xb9,
+ 0x8a, 0xf4, 0xa8, 0xc0, 0x71, 0xce, 0x2f, 0x33, 0xe5, 0xc6, 0xad, 0xd7,
+ 0x29, 0x6a, 0x8e, 0xd4, 0x32, 0xd0, 0x02, 0x46, 0x64, 0xec, 0x91, 0x46,
+ 0x96, 0x38, 0xc7, 0x07, 0x27, 0x12, 0x0a, 0x8c, 0xd2, 0xcd, 0x0c, 0xfd,
+ 0xc1, 0x3c, 0xb0, 0x91, 0x79, 0x12, 0xc9, 0xc5, 0xdf, 0xa3, 0xb5, 0xef,
+ 0xf1, 0x86, 0x96, 0x80, 0xda, 0x8a, 0x04, 0x03, 0x07, 0x86, 0xf4, 0x1d,
+ 0x73, 0xe8, 0x10, 0x85, 0x0b, 0xdc, 0x68, 0xbc, 0xae, 0x68, 0x9a, 0xa7,
+ 0xb9, 0x5d, 0xba, 0x93, 0xcb, 0xe9, 0x33, 0x9a, 0x82, 0xcf, 0x04, 0x3f,
+ 0x8e, 0x8b, 0x98, 0x28, 0x3c, 0x8c, 0x8a, 0xbf, 0x6f, 0x61, 0x56, 0x84,
+ 0x3b, 0xe2, 0x0c, 0x7e, 0xf0, 0x22, 0x1e, 0x9e, 0x45, 0xf8, 0x23, 0x5c,
+ 0x3e, 0x3f, 0xc4, 0xad, 0x56, 0xa3, 0xdd, 0x19, 0xec, 0x24, 0xc3, 0x77,
+ 0x5f, 0x09, 0xa1, 0xe2, 0x57, 0x43, 0x4e, 0xa9, 0x67, 0x4b, 0x4e, 0x5f,
+ 0x19, 0xc4, 0x59, 0xab, 0x38, 0x71, 0x78, 0x2a, 0x31, 0xf2, 0xbf, 0xa4,
+ 0x2e, 0x43, 0xae, 0x96, 0x9f, 0xbb, 0x61, 0xfb, 0xe3, 0xee, 0x45, 0x73,
+ 0xe0, 0x39, 0xf2, 0x43, 0xc5, 0x58, 0xed, 0xb0, 0xb9, 0x46, 0x29, 0x0f,
+ 0x7a, 0xb0, 0x9a, 0xbf, 0x6b, 0x2f, 0x38, 0x0f, 0xbf, 0xd9, 0x49, 0xb0,
+ 0x81, 0x0c, 0x15, 0xe2, 0xdd, 0xe9, 0x38, 0x73, 0xa3, 0x04, 0x51, 0x07,
+ 0x65, 0xfa, 0x30, 0xe0, 0x31, 0xbb, 0x84, 0x12, 0x87, 0x1c, 0xbc, 0x1e,
+ 0x7e, 0x89, 0xa0, 0x9d, 0x85, 0x65, 0xf1, 0x62, 0xc4, 0xc8, 0x3e, 0xd2,
+ 0xb1, 0xaf, 0x14, 0x2b, 0xf1, 0x5b, 0x77, 0x0e, 0xfe, 0x82, 0xd2, 0x9f,
+ 0xcc, 0x7a, 0xcb, 0x97, 0xb3, 0xd0, 0x37, 0x14, 0xc4, 0x46, 0x97, 0x6b,
+ 0x54, 0xce, 0x3b, 0x4b, 0x53, 0x4a, 0xea, 0xbb, 0xe7, 0x7c, 0xc0, 0x20,
+ 0x79, 0x01, 0x8a, 0xd4, 0x84, 0x8c, 0x02, 0x87, 0x3d, 0xd7, 0x5d, 0x8d,
+ 0xd2, 0x4f, 0x8e, 0xc7, 0x4b, 0x34, 0xa3, 0x50, 0x36, 0xf6, 0x93, 0xe4,
+ 0x4d, 0x56, 0xdc, 0xab, 0x6c, 0x74, 0xe8, 0x29, 0xf0, 0x70, 0xc0, 0xe1,
+ 0x9c, 0x37, 0x2e, 0x55, 0x5c, 0x31, 0xa1, 0xb6, 0x8b, 0x61, 0x97, 0xda,
+ 0x7d, 0x8e, 0x49, 0x80, 0xd7, 0x76, 0x1a, 0x04, 0xb5, 0xe3, 0xcf, 0xc5,
+ 0x26, 0xd8, 0x1e, 0x34, 0xae, 0x88, 0xef, 0x69, 0x8b, 0x2b, 0xa7, 0x61,
+ 0x0b, 0x71, 0x04, 0x4e, 0x7c, 0xaf, 0x17, 0xa3, 0xbf, 0xd1, 0x81, 0x85,
+ 0x45, 0x30, 0x4d, 0x61, 0x0c, 0xf3, 0x54, 0x08, 0xde, 0xce, 0xc8, 0x37,
+ 0xf3, 0x0c, 0x07, 0xc3, 0x42, 0xaf, 0x37, 0x95, 0x87, 0x41, 0xc4, 0x53,
+ 0x99, 0xbb, 0xdb, 0x9b, 0x00, 0x9d, 0x8a, 0x66, 0x59, 0x65, 0x4b, 0x2e,
+ 0x5f, 0xdd, 0xe2, 0xfd, 0x4b, 0x92, 0x4e, 0x0c, 0xe2, 0xea, 0x5c, 0x63,
+ 0x3c, 0x9b, 0x8c, 0x1c, 0xb4, 0x38, 0x56, 0x7a, 0x7c, 0x69, 0x5b, 0x2a,
+ 0xf3, 0xea, 0xde, 0x5f, 0xe8, 0x8f, 0x70, 0x14, 0xad, 0xb8, 0x0f, 0x4d,
+ 0xb4, 0x1e, 0x76, 0x7a, 0x1c, 0x02, 0x04, 0xaf, 0x2f, 0xfb, 0xc0, 0x6b,
+ 0x27, 0x50, 0x57, 0xb7, 0x0d, 0xe1, 0xf3, 0x98, 0x0f, 0x7c, 0x28, 0x94,
+ 0x25, 0x4d, 0xf7, 0xf7, 0xdc, 0x12, 0xb7, 0xdf, 0xa6, 0x55, 0x01, 0x9c,
+ 0xba, 0x6f, 0x54, 0x10, 0xad, 0xc6, 0x5c, 0xca, 0x3a, 0xa4, 0x97, 0x04,
+ 0xf1, 0xad, 0x32, 0xc7, 0x32, 0x4b, 0xeb, 0xc8, 0xec, 0x39, 0x42, 0x5c,
+ 0xad, 0x80, 0xd3, 0x79, 0xd9, 0x30, 0x85, 0x36, 0x61, 0x82, 0x49, 0x67,
+ 0xa8, 0xc8, 0x7b, 0xe3, 0x4d, 0xb2, 0xaa, 0x9b, 0xd4, 0x9a, 0xdd, 0x4d,
+ 0xd4, 0xd2, 0x62, 0x4e, 0xe1, 0x47, 0x01, 0x6b, 0x71, 0x28, 0xd7, 0x13,
+ 0x33, 0xf2, 0x39, 0x46, 0x75, 0xc1, 0xe5, 0xe4, 0x8a, 0x1e, 0xa5, 0x37,
+ 0x25, 0xd5, 0x50, 0x70, 0xc0, 0x6e, 0x28, 0x42, 0x6e, 0x97, 0x5c, 0xc4,
+ 0xcb, 0x40, 0x38, 0x30, 0x8d, 0xd8, 0x2a, 0x0e, 0x6c, 0x9c, 0xd6, 0xad,
+ 0x2c, 0xa2, 0xbc, 0x05, 0x3b, 0x06, 0xea, 0xc2, 0xd8, 0x12, 0x44, 0xe1,
+ 0x66, 0xf6, 0x64, 0xc1, 0xb1, 0x30, 0x31, 0xe4, 0x54, 0x26, 0x52, 0x0f,
+ 0x01, 0x84, 0x2b, 0xc8, 0x7e, 0x18, 0x5b, 0x62, 0xa3, 0x2e, 0x4f, 0x76,
+ 0xbb, 0xc0, 0xb1, 0xbd, 0x55, 0x2d, 0x38, 0xd4, 0x29, 0x8c, 0x83, 0x07,
+ 0xc4, 0xf8, 0xdd, 0xbd, 0xa2, 0xd1, 0x56, 0x8a, 0xf0, 0x39, 0x25, 0x0a,
+ 0x13, 0x87, 0x6c, 0xde, 0x60, 0xc1, 0x3a, 0x68, 0x58, 0x45, 0x89, 0x8a,
+ 0xef, 0x63, 0x36, 0x5b, 0x74, 0x8f, 0x7c, 0x61, 0xa3, 0x7f, 0x36, 0x1d,
+ 0x55, 0x4b, 0x2e, 0x41, 0x95, 0x10, 0xa7, 0x07, 0xd7, 0x0e, 0xf0, 0xca,
+ 0x29, 0x10, 0xe8, 0x98, 0x02, 0x82, 0x71, 0x3f, 0xe2, 0xb6, 0x25, 0x8a,
+ 0x31, 0x1b, 0xa6, 0x98, 0xf4, 0x8d, 0x10, 0x98, 0xaf, 0xf0, 0x69, 0x39,
+ 0xb7, 0x4f, 0x0b, 0x47, 0xeb, 0x33, 0x53, 0xf0, 0x4f, 0x18, 0xad, 0x27,
+ 0x73, 0x17, 0xe2, 0xd0, 0x8d, 0x3e, 0xf0, 0x24, 0x36, 0x93, 0x31, 0x3c,
+ 0x20, 0xcf, 0xa3, 0xdb, 0x77, 0x34, 0xa8, 0xa5, 0x05, 0x05, 0x78, 0x06,
+ 0x31, 0x81, 0x3a, 0x61, 0xcb, 0xb0, 0x53, 0x3c, 0x77, 0x32, 0x6d, 0x1f,
+ 0x38, 0x4f, 0x0b, 0x2d, 0x22, 0x01, 0xb7, 0x10, 0x04, 0xb6, 0xf7, 0x25,
+ 0x36, 0x8a, 0x82, 0x79, 0x04, 0x75, 0x93, 0x70, 0xd3, 0xcb, 0x93, 0x70,
+ 0xd4, 0xfb, 0xd2, 0x2e, 0xbe, 0xda, 0x11, 0xbf, 0x0a, 0xe4, 0x24, 0x3e,
+ 0x44, 0x1d, 0xcb, 0x57, 0x92, 0x22, 0x2c, 0x59, 0x8c, 0x18, 0x1f, 0xc8,
+ 0xa4, 0x03, 0x6e, 0xd5, 0x9f, 0x73, 0x1d, 0xef, 0x38, 0xa2, 0x6e, 0x28,
+ 0xe7, 0x4d, 0xab, 0x7d, 0x43, 0x4e, 0x2b, 0x9c, 0xd1, 0x73, 0xb4, 0x71,
+ 0x85, 0xa3, 0xbb, 0xe6, 0x11, 0x30, 0xd3, 0x71, 0x8a, 0xf0, 0xbf, 0x22,
+ 0x56, 0xa4, 0x5d, 0xf7, 0x4f, 0xff, 0xb7, 0x77, 0xbd, 0x98, 0x90, 0xa6,
+ 0xb5, 0x5a, 0xee, 0xb1, 0x68, 0x7f, 0xe6, 0x95, 0x39, 0xd1, 0xab, 0x06,
+ 0x85, 0x87, 0x7e, 0xcd, 0xa0, 0x82, 0x51, 0x61, 0x18, 0x98, 0xef, 0x60,
+ 0x4d, 0xf8, 0x33, 0x2b, 0xa2, 0x08, 0x4b, 0x86, 0x60, 0x5a, 0x5c, 0x51,
+ 0x88, 0xd4, 0x1b, 0x86, 0x7d, 0xf0, 0x97, 0x8e, 0xe4, 0xe1, 0x69, 0xc4,
+ 0xd6, 0xa0, 0xff, 0xfe, 0xb8, 0x0f, 0x97, 0xda, 0xe4, 0xe7, 0xa5, 0xfd,
+ 0x38, 0xea, 0x49, 0x5f, 0x7e, 0x87, 0x6e, 0xe4, 0xf3, 0x6b, 0x72, 0x98,
+ 0xbc, 0x8a, 0x25, 0xf0, 0x78, 0x13, 0x21, 0x8f, 0xfd, 0xf6, 0xdf, 0xaf,
+ 0xa6, 0x8e, 0x33, 0x67, 0xc5, 0xf7, 0xe5, 0xb1, 0xdf, 0xfc, 0xfb, 0x7c,
+ 0x76, 0x1f, 0x74, 0xa0, 0x40, 0x50, 0xbd, 0x11, 0x90, 0x74, 0x44, 0x26,
+ 0xfe, 0x6a, 0xa1, 0x28, 0xc0, 0xeb, 0x50, 0x2a, 0xca, 0xc7, 0xa2, 0x05,
+ 0x1e, 0x44, 0x2c, 0x42, 0x2a, 0xfe, 0x26, 0x12, 0x0c, 0xa2, 0x39, 0x9c,
+ 0x1c, 0xa9, 0xb8, 0xf2, 0x8a, 0xff, 0xdc, 0xfe, 0x32, 0xb6, 0x46, 0x9a,
+ 0xd0, 0x41, 0xb7, 0xa0, 0x96, 0x68, 0x41, 0xcd, 0x0f, 0x26, 0x21, 0x10,
+ 0x8d, 0xd7, 0xd6, 0xab, 0xa0, 0xc9, 0xb2, 0xa5, 0x7d, 0xe8, 0xd5, 0x58,
+ 0x61, 0x18, 0x99, 0x21, 0xc2, 0xa2, 0x92, 0x11, 0xa6, 0x2e, 0x7f, 0x07,
+ 0x42, 0x22, 0xc5, 0x23, 0xf3, 0xbe, 0x58, 0x2f, 0xab, 0xf2, 0xd5, 0xad,
+ 0xaf, 0xe9, 0x38, 0x51, 0xbf, 0xe9, 0x49, 0x5d, 0x16, 0xd3, 0x1a, 0xed,
+ 0x2a, 0xc1, 0x62, 0x4a, 0x20, 0x41, 0x96, 0x33, 0x64, 0x8e, 0x91, 0xda,
+ 0xe9, 0xa0, 0x7f, 0x00, 0xf0, 0x94, 0x46, 0x78, 0x78, 0xfa, 0xfe, 0xfd,
+ 0xd1, 0x61, 0x37, 0x58, 0x68, 0x33, 0x1b, 0x9c, 0xaa, 0x1f, 0x14, 0x06,
+ 0xc4, 0xe7, 0x41, 0xf8, 0x2e, 0x91, 0x17, 0xfe, 0x3e, 0x2a, 0x06, 0xa5,
+ 0xc2, 0xfa, 0xca, 0xbf, 0x94, 0x34, 0x1f, 0x66, 0x04, 0x95, 0x1d, 0x10,
+ 0xc9, 0x19, 0x0b, 0xf6, 0x83, 0x9f, 0x86, 0x0e, 0xb7, 0x14, 0x31, 0x50,
+ 0x68, 0xa6, 0x21, 0xcc, 0x4c, 0xe9, 0x05, 0x60, 0xdb, 0x93, 0xc9, 0xb6,
+ 0xa0, 0xa2, 0xf5, 0xdb, 0xcb, 0xf6, 0x32, 0x93, 0x88, 0x51, 0xf2, 0x49,
+ 0xbf, 0xbc, 0xe4, 0x1a, 0xa5, 0xb3, 0xb4, 0xfa, 0x44, 0x81, 0x46, 0x2f,
+ 0x0d, 0x05, 0x69, 0x88, 0x60, 0x35, 0x9e, 0x4c, 0x62, 0xf9, 0xed, 0xf0,
+ 0x5e, 0x2b, 0xec, 0x1e, 0xfe, 0x31, 0xee, 0x8c, 0xd4, 0xf5, 0xdb, 0xd7,
+ 0xfc, 0x40, 0x7a, 0xbd, 0xc8, 0x6e, 0xe9, 0x33, 0x4c, 0xeb, 0x41, 0x49,
+ 0xea, 0x61, 0x91, 0x00, 0x26, 0xa6, 0x66, 0x0f, 0xfd, 0xbd, 0xe4, 0xc7,
+ 0xd3, 0x52, 0xcd, 0x98, 0x86, 0x1f, 0x4c, 0xbf, 0x54, 0xd9, 0x8a, 0x73,
+ 0x4b, 0x82, 0xb9, 0xfa, 0x46, 0x78, 0xfa, 0x3a, 0xc1, 0xa9, 0x76, 0xc6,
+ 0x08, 0x4f, 0x25, 0x75, 0x0a, 0x2e, 0x64, 0x4b, 0xe0, 0x17, 0x5e, 0x3f,
+ 0x76, 0x3b, 0x60, 0xae, 0xb1, 0x10, 0x64, 0xaf, 0xd4, 0x8e, 0xd5, 0x47,
+ 0x4a, 0x00, 0xfa, 0xbb, 0x3e, 0x38, 0xcf, 0xc4, 0xbf, 0xcd, 0xb8, 0xb4,
+ 0x02, 0x37, 0xda, 0xb3, 0x2e, 0x8b, 0x2c, 0x08, 0x96, 0xe0, 0x70, 0x24,
+ 0x66, 0xb5, 0x2b, 0x20, 0xe8, 0xe9, 0x61, 0x1c, 0xd7, 0x40, 0xd1, 0x25,
+ 0x91, 0x8a, 0x04, 0xb3, 0x9e, 0x96, 0xd2, 0xa6, 0xbd, 0x6a, 0xe6, 0x97,
+ 0x56, 0x42, 0x66, 0x5f, 0x49, 0x52, 0xd8, 0xa3, 0x2f, 0x47, 0xd8, 0xfc,
+ 0x39, 0x5f, 0x34, 0x41, 0x58, 0x8e, 0x38, 0xa3, 0x98, 0x27, 0xe0, 0xcb,
+ 0x7e, 0x58, 0x67, 0x29, 0x9d, 0xf8, 0xab, 0x0a, 0x11, 0x0e, 0xd3, 0xbf,
+ 0x6e, 0x8c, 0x04, 0x78, 0x80, 0xd3, 0x0f, 0x9c, 0xae, 0xb6, 0xd2, 0x44,
+ 0xdb, 0xae, 0xc1, 0x8c, 0xb9, 0xcd, 0xba, 0x0d, 0xdf, 0x42, 0x77, 0x37,
+ 0xd8, 0x57, 0x54, 0x48, 0xac, 0x62, 0x05, 0x01, 0x6f, 0x61, 0x47, 0xfe,
+ 0x19, 0x3b, 0x87, 0xbc, 0x4f, 0xd9, 0xb2, 0x6b, 0xe9, 0x13, 0x97, 0x7e,
+ 0xe2, 0x87, 0x7e, 0xfb, 0xbb, 0x69, 0x75, 0xb9, 0x74, 0x77, 0x39, 0xda,
+ 0xe7, 0x7e, 0x8f, 0x1e, 0x44, 0xeb, 0x8f, 0xb7, 0xbe, 0xfd, 0xf8, 0xcf,
+ 0x06, 0x04, 0x7a, 0x8f, 0xbb, 0x77, 0x1d, 0x39, 0xa4, 0x63, 0x87, 0x0c,
+ 0x12, 0x1e, 0x6f, 0xc3, 0x74, 0xb0, 0xd6, 0x9d, 0xbc, 0xf2, 0x16, 0x76,
+ 0x7c, 0x00, 0xfe, 0x45, 0x1c, 0x09, 0x7f, 0xc7, 0x88, 0x2a, 0x25, 0x9c,
+ 0xf3, 0xb8, 0x4b, 0xf9, 0xc1, 0x4b, 0xb8, 0x95, 0x4e, 0xda, 0x45, 0x5a,
+ 0xd9, 0x74, 0xb2, 0x47, 0x4e, 0x5c, 0x24, 0x81, 0x32, 0xf9, 0x27, 0x15,
+ 0x16, 0xe4, 0xb0, 0xb5, 0xd4, 0x15, 0x7c, 0xa5, 0x35, 0x09, 0x8f, 0xb9,
+ 0x97, 0x82, 0x29, 0x71, 0x6b, 0x10, 0xd1, 0x56, 0xc2, 0x59, 0x58, 0x05,
+ 0xa4, 0x77, 0xdb, 0x13, 0x4f, 0xfd, 0xe6, 0xc7, 0xe2, 0xff, 0x30, 0x0a,
+ 0xdc, 0x07, 0x81, 0x7b, 0x7e, 0x89, 0xff, 0x87, 0x02, 0xff, 0x7f, 0x28,
+ 0xf0, 0xdf, 0x01, 0x05, 0xfe, 0x5b, 0xe2, 0x91, 0x71, 0x7a, 0x68, 0x45,
+ 0xf2, 0xb1, 0xe4, 0xd7, 0xbc, 0x5a, 0xca, 0x93, 0xaa, 0x79, 0x67, 0x2d,
+ 0x38, 0x88, 0x84, 0x6c, 0xdd, 0xd2, 0xe6, 0x63, 0x5b, 0x1d, 0x14, 0x31,
+ 0x32, 0x7c, 0x22, 0x60, 0x3d, 0x92, 0xdd, 0x12, 0x41, 0x94, 0xf9, 0x51,
+ 0xd5, 0x27, 0xb1, 0xb3, 0x5e, 0xd7, 0xd3, 0x3e, 0xfa, 0x40, 0xc9, 0xaf,
+ 0x81, 0xa5, 0xe8, 0x24, 0x4d, 0xe7, 0xb9, 0xdf, 0x5e, 0xe8, 0x34, 0xd3,
+ 0x9a, 0x24, 0xe1, 0x63, 0x14, 0x02, 0xff, 0xd1, 0xdf, 0xa3, 0x1f, 0x16,
+ 0x02, 0xf4, 0x8a, 0xf1, 0x3d, 0x2b, 0x7b, 0x62, 0x1f, 0xfe, 0x3d, 0x7a,
+ 0x82, 0x7c, 0xda, 0xe8, 0x1e, 0x6a, 0xf5, 0x01, 0x8f, 0xfd, 0x1e, 0xdf,
+ 0xbf, 0xd9, 0x5d, 0xf6, 0x59, 0xd4, 0x00, 0xc4, 0x13, 0xbf, 0xe1, 0x87,
+ 0x3f, 0x58, 0x93, 0x9e, 0xd3, 0x8f, 0x5f, 0xd1, 0x7f, 0xf7, 0x75, 0x86,
+ 0x57, 0x16, 0x17, 0x5a, 0xc2, 0xd9, 0xec, 0x95, 0x36, 0x16, 0x57, 0xc1,
+ 0xca, 0x04, 0xff, 0x65, 0x19, 0xfc, 0xcc, 0xdf, 0x22, 0x6c, 0xae, 0x20,
+ 0xd9, 0xee, 0x5b, 0x32, 0x3c, 0xb6, 0x40, 0x85, 0x80, 0x82, 0xfd, 0x8f,
+ 0xc6, 0xaa, 0x13, 0x4a, 0x94, 0x2e, 0x0b, 0x8e, 0x53, 0xf5, 0xe8, 0x34,
+ 0xc7, 0x15, 0x18, 0xc6, 0x30, 0xde, 0x6b, 0x41, 0x48, 0xbf, 0xec, 0x43,
+ 0x80, 0xac, 0x98, 0x32, 0x61, 0xda, 0x6a, 0xce, 0x6a, 0xf0, 0x0c, 0xf8,
+ 0xe4, 0x21, 0x23, 0x76, 0x3a, 0x04, 0x25, 0x41, 0x38, 0xe6, 0xed, 0x91,
+ 0x19, 0x4e, 0x5d, 0xc2, 0xb9, 0x15, 0x59, 0xfb, 0xc9, 0x7a, 0xff, 0x43,
+ 0xb2, 0xbf, 0xfe, 0x3b, 0x4a, 0x52, 0xcf, 0xb5, 0xf3, 0x0b, 0x80, 0xaa,
+ 0xed, 0x92, 0x20, 0xcb, 0x61, 0x9b, 0x6d, 0xec, 0x5e, 0x90, 0x28, 0x1f,
+ 0x07, 0x6c, 0x5e, 0x12, 0x7b, 0xee, 0xfb, 0xee, 0x02, 0x44, 0x90, 0x8f,
+ 0x84, 0xef, 0x60, 0x38, 0x85, 0x1d, 0x5d, 0x83, 0xac, 0x51, 0xa4, 0xe0,
+ 0xfb, 0xd1, 0x96, 0x0f, 0x41, 0x31, 0x52, 0x87, 0xe7, 0x5c, 0x8e, 0xe0,
+ 0xf4, 0x00, 0x9c, 0xc0, 0x31, 0xb3, 0xe3, 0x09, 0xe5, 0xdb, 0x03, 0x77,
+ 0x0e, 0x68, 0x46, 0x19, 0xbc, 0xa9, 0xd8, 0x4d, 0x1f, 0xba, 0x69, 0x94,
+ 0x38, 0x2f, 0x00, 0xe6, 0x68, 0xc1, 0xc8, 0x6b, 0x11, 0x0f, 0xbd, 0x60,
+ 0x1b, 0x82, 0x27, 0xfa, 0xb3, 0xa0, 0xe6, 0x13, 0x1f, 0x7d, 0xf5, 0x30,
+ 0x69, 0x63, 0xc9, 0x4d, 0x9e, 0x72, 0x58, 0x93, 0x27, 0x52, 0xbe, 0xc5,
+ 0x33, 0xea, 0x3e, 0xb5, 0xcc, 0xb9, 0xcd, 0x5c, 0x0a, 0x91, 0xfc, 0xab,
+ 0xf7, 0xc3, 0x61, 0x88, 0xe1, 0x2c, 0xcc, 0x7d, 0x5f, 0x5e, 0x15, 0xf9,
+ 0x3f, 0x84, 0xf8, 0xa1, 0x8b, 0xbd, 0x6a, 0x61, 0x68, 0x05, 0x83, 0xc5,
+ 0xc5, 0xed, 0x10, 0x7d, 0xec, 0xae, 0x06, 0x30, 0x24, 0x2a, 0xa5, 0x00,
+ 0x84, 0x20, 0x76, 0x12, 0x9d, 0x4a, 0xae, 0xb2, 0xcd, 0xb5, 0x16, 0x5a,
+ 0x91, 0x44, 0x65, 0x42, 0xe8, 0xaa, 0xb8, 0xb2, 0x2b, 0x04, 0xaa, 0xf8,
+ 0xdf, 0x00, 0xf3, 0xda, 0xf6, 0x47, 0x78, 0xcc, 0x45, 0xd9, 0x5d, 0x5e,
+ 0x43, 0x4d, 0x8c, 0x31, 0x0e, 0x89, 0xbf, 0x27, 0x52, 0xae, 0xc9, 0xf7,
+ 0xef, 0x81, 0x66, 0xfd, 0x11, 0xf4, 0x45, 0xd4, 0x4e, 0x13, 0xa5, 0xe8,
+ 0x8f, 0x90, 0x17, 0xd9, 0xd6, 0x1f, 0xc1, 0x5a, 0x44, 0xbe, 0x31, 0xe5,
+ 0x9d, 0x95, 0x2e, 0x83, 0x92, 0x9d, 0xeb, 0xfd, 0x65, 0x4c, 0x35, 0x64,
+ 0xa1, 0xea, 0xdc, 0x32, 0x0e, 0x6c, 0xb4, 0x64, 0xd8, 0x9c, 0x38, 0xfd,
+ 0x49, 0xa1, 0x1d, 0x69, 0x26, 0x4c, 0xc3, 0x73, 0x4b, 0x6f, 0x0f, 0x88,
+ 0x58, 0x87, 0xb2, 0x00, 0x2c, 0xe7, 0x09, 0x69, 0xc7, 0x48, 0x89, 0xd1,
+ 0x3d, 0xd1, 0xdd, 0x5a, 0x8e, 0x03, 0xd8, 0x76, 0x91, 0xe3, 0xae, 0xe2,
+ 0x36, 0xb3, 0x05, 0x6e, 0x1c, 0xd5, 0x37, 0xb2, 0x7a, 0xa5, 0x2e, 0x7a,
+ 0x48, 0x37, 0xa8, 0xd3, 0xd4, 0x2c, 0x8c, 0x72, 0x4c, 0xcc, 0x80, 0x8c,
+ 0x7b, 0xb7, 0x6b, 0xd2, 0x23, 0xe9, 0xc3, 0x22, 0x57, 0x8c, 0xdf, 0xfe,
+ 0x5c, 0xa5, 0x6c, 0x77, 0xb0, 0xf7, 0xd2, 0xc8, 0x92, 0xfa, 0xd0, 0xff,
+ 0x77, 0x40, 0xa5, 0xbd, 0x9b, 0x82, 0xae, 0x9d, 0xf0, 0x9e, 0x80, 0xef,
+ 0x9d, 0xcc, 0x1c, 0x06, 0x17, 0xdc, 0xa6, 0x96, 0xa2, 0x3e, 0xa6, 0xa4,
+ 0x47, 0x4f, 0x52, 0xaf, 0x85, 0x0d, 0xf3, 0x24, 0x88, 0xca, 0x47, 0x46,
+ 0x68, 0x52, 0x71, 0x9c, 0x08, 0x81, 0x03, 0x3a, 0x40, 0x89, 0x9a, 0x93,
+ 0x4c, 0x98, 0x57, 0xfe, 0xe2, 0x18, 0xe2, 0x7f, 0x6f, 0x33, 0x67, 0xd7,
+ 0xc8, 0xe6, 0x57, 0xde, 0x7d, 0xfc, 0xc5, 0x63, 0x32, 0x47, 0x70, 0xd4,
+ 0x12, 0x7a, 0xb5, 0x4d, 0x70, 0x16, 0x11, 0x7a, 0xf1, 0x03, 0x83, 0xb2,
+ 0x74, 0x4c, 0x62, 0x25, 0xe2, 0x8d, 0xe0, 0x26, 0xf4, 0xf2, 0x12, 0x01,
+ 0x27, 0x14, 0x7a, 0x4a, 0x9f, 0x6d, 0xe4, 0xf9, 0x28, 0x6b, 0x6e, 0x09,
+ 0x94, 0x8d, 0xd9, 0xd0, 0x69, 0xf4, 0x64, 0x80, 0x95, 0x87, 0x4b, 0x83,
+ 0xc8, 0x3d, 0xe1, 0x2e, 0x24, 0x89, 0xc2, 0xfc, 0x8c, 0xb6, 0x34, 0xb5,
+ 0x46, 0x4a, 0x82, 0xe3, 0x17, 0x2b, 0xf9, 0xe0, 0xe2, 0x3e, 0xfc, 0x7d,
+ 0x9a, 0x17, 0x0f, 0xe2, 0xd6, 0x02, 0xb4, 0x2b, 0x16, 0x40, 0x1e, 0xf4,
+ 0xdd, 0x66, 0xf6, 0x18, 0xcb, 0xb1, 0x8d, 0x39, 0x14, 0xda, 0x62, 0x4e,
+ 0x17, 0xdf, 0xd3, 0xb3, 0xda, 0x2e, 0x77, 0x09, 0x02, 0xe0, 0x7e, 0x8c,
+ 0xe4, 0x7c, 0xf1, 0x32, 0x7a, 0x17, 0x29, 0x00, 0x3d, 0x3c, 0x15, 0x92,
+ 0xab, 0xc3, 0x02, 0xc4, 0xce, 0xc3, 0xd2, 0x63, 0xe1, 0x0d, 0x73, 0x96,
+ 0x11, 0xbc, 0x48, 0x4e, 0x6b, 0xae, 0x0c, 0x06, 0xf4, 0xad, 0x3e, 0x22,
+ 0x51, 0x4e, 0x54, 0x32, 0x59, 0x12, 0x7d, 0x24, 0x70, 0xff, 0xd3, 0x47,
+ 0xd3, 0xb9, 0xf9, 0x12, 0xb8, 0xd7, 0xe9, 0x7a, 0x9b, 0xa5, 0x5c, 0x1a,
+ 0x49, 0xa4, 0x9e, 0x37, 0x0d, 0x9d, 0xb0, 0x56, 0x04, 0xaa, 0x18, 0x96,
+ 0x13, 0x12, 0x23, 0x82, 0x05, 0x93, 0xc0, 0x5c, 0xc5, 0x1f, 0xa1, 0x21,
+ 0x2e, 0x71, 0x94, 0xd2, 0xae, 0x8c, 0x13, 0xf9, 0x08, 0xc7, 0x69, 0xc1,
+ 0xdb, 0xa6, 0x2b, 0xb0, 0xc3, 0x72, 0xbc, 0x17, 0x25, 0xab, 0x53, 0x5c,
+ 0x7d, 0xb7, 0xdb, 0x77, 0x41, 0xe0, 0x68, 0x0d, 0x26, 0x86, 0xb0, 0xd0,
+ 0x17, 0xb8, 0xa4, 0x62, 0x68, 0x34, 0x08, 0x7b, 0x88, 0xbe, 0x20, 0x24,
+ 0x9a, 0xd2, 0xbe, 0xad, 0x54, 0xb7, 0x2c, 0xa6, 0x10, 0x8b, 0xbf, 0xb6,
+ 0x84, 0x83, 0x78, 0x0d, 0x23, 0x5e, 0xf5, 0xcd, 0x21, 0xd5, 0x25, 0x18,
+ 0x1e, 0x9e, 0x6d, 0x25, 0x67, 0xce, 0xdb, 0x04, 0x1f, 0x1e, 0xa0, 0xf9,
+ 0x74, 0x67, 0xfb, 0xf2, 0x5e, 0x2a, 0x03, 0x31, 0x4b, 0x5a, 0xdc, 0x79,
+ 0x24, 0xee, 0x3c, 0xec, 0x5d, 0xcb, 0x05, 0x88, 0xa0, 0xcd, 0x6f, 0x2e,
+ 0xff, 0x3a, 0x63, 0x39, 0x00, 0x23, 0x08, 0x33, 0x04, 0x88, 0x9b, 0xca,
+ 0x17, 0x06, 0xc6, 0xa6, 0x2b, 0x29, 0xe1, 0x84, 0x6b, 0x71, 0x88, 0x3b,
+ 0x8d, 0x77, 0x10, 0x86, 0xde, 0x69, 0x0e, 0x13, 0xa1, 0x98, 0x51, 0x8f,
+ 0x0a, 0x45, 0x8a, 0x62, 0xd5, 0x7c, 0xfb, 0x75, 0xd8, 0xaa, 0xb1, 0xbd,
+ 0xaf, 0xb2, 0x22, 0xe4, 0xbf, 0xc7, 0x47, 0x49, 0x5f, 0x90, 0x0d, 0x3c,
+ 0x19, 0x74, 0x99, 0x97, 0x3d, 0x77, 0x9f, 0x74, 0x2e, 0x07, 0x82, 0x99,
+ 0xf7, 0xfb, 0x12, 0x8e, 0x36, 0x56, 0x25, 0xa9, 0x26, 0x16, 0x09, 0xde,
+ 0x2b, 0x72, 0xb0, 0x36, 0xb8, 0x48, 0xe7, 0xf7, 0x34, 0x19, 0xe6, 0xb1,
+ 0xba, 0xbe, 0xde, 0x33, 0xe2, 0x69, 0x6f, 0xf0, 0x82, 0x0d, 0xdc, 0x6b,
+ 0xa3, 0x13, 0x44, 0x08, 0x1d, 0x39, 0xf4, 0x2b, 0xd5, 0xf3, 0x3a, 0xed,
+ 0x89, 0xb2, 0x3f, 0x70, 0xf6, 0x45, 0xff, 0x7f, 0xd0, 0x4e, 0xfb, 0xfb,
+ 0x22, 0xf4, 0xbc, 0x6f, 0xd2, 0x86, 0x4a, 0x68, 0x5b, 0x6d, 0x71, 0xad,
+ 0x27, 0x8e, 0x11, 0x8e, 0xf2, 0x06, 0xe4, 0xca, 0xca, 0x20, 0xd4, 0x3e,
+ 0x98, 0xa8, 0x87, 0x52, 0xe1, 0xad, 0x68, 0xc6, 0xe8, 0x20, 0xf9, 0x1f,
+ 0xf4, 0x29, 0x7d, 0x9b, 0x01, 0xfa, 0x08, 0x63, 0x7e, 0x75, 0xf4, 0xf6,
+ 0xf4, 0xfc, 0xa8, 0x9d, 0xb4, 0xd3, 0x70, 0xf1, 0x5d, 0x84, 0xe9, 0xba,
+ 0xbd, 0x03, 0x2d, 0x92, 0x26, 0x97, 0x4a, 0x8c, 0x31, 0x27, 0x9c, 0x65,
+ 0x72, 0xf6, 0xfd, 0x1b, 0xdb, 0xbb, 0x1c, 0xe2, 0xf9, 0xad, 0x57, 0x36,
+ 0xb6, 0xc7, 0x33, 0xdd, 0xd5, 0x20, 0x48, 0xd7, 0xa0, 0xda, 0x24, 0x52,
+ 0xeb, 0xd4, 0xf6, 0x0f, 0xc1, 0x51, 0x0e, 0x6a, 0xf3, 0xb7, 0x52, 0x66,
+ 0xe1, 0xad, 0x6b, 0x4a, 0x49, 0xb5, 0x8d, 0x06, 0xea, 0x35, 0x6b, 0x18,
+ 0xe0, 0x9e, 0x11, 0x58, 0x60, 0xca, 0xf4, 0x43, 0xc4, 0x49, 0x34, 0x48,
+ 0xc2, 0x0f, 0x69, 0x38, 0x17, 0x5f, 0x89, 0xc5, 0xe1, 0xa9, 0x18, 0x2f,
+ 0xbb, 0x30, 0xf9, 0x5a, 0x25, 0x16, 0x79, 0xda, 0xb4, 0xb6, 0x0c, 0x4a,
+ 0x8f, 0xa9, 0xa2, 0xc4, 0x51, 0xeb, 0x4f, 0x64, 0x24, 0xb6, 0x65, 0xbe,
+ 0xb9, 0x59, 0x13, 0x4c, 0xd9, 0xeb, 0xaa, 0xfd, 0x4d, 0xa2, 0x76, 0xfa,
+ 0xc6, 0x5f, 0x36, 0x1c, 0xa2, 0x9b, 0xcb, 0x39, 0xc5, 0xcb, 0x9f, 0xb9,
+ 0x72, 0x38, 0x5b, 0x0f, 0x61, 0x2f, 0x74, 0xc4, 0xcb, 0x6c, 0x34, 0x71,
+ 0xba, 0x4b, 0x38, 0x1e, 0x55, 0xe9, 0x00, 0x3a, 0x80, 0x8b, 0x16, 0x15,
+ 0x9e, 0x2c, 0xcb, 0x9e, 0x36, 0xd5, 0x8b, 0x25, 0xb0, 0x92, 0xd7, 0xa7,
+ 0x6a, 0x97, 0x7d, 0xb5, 0xc9, 0x5b, 0xf0, 0x77, 0x2b, 0x01, 0x32, 0xea,
+ 0xa5, 0xa1, 0xf8, 0x48, 0x7d, 0x5f, 0x34, 0x74, 0x5a, 0x21, 0x58, 0x82,
+ 0x49, 0xab, 0x70, 0x21, 0xd1, 0x5e, 0x72, 0xbb, 0xb7, 0x46, 0xa2, 0xf8,
+ 0xcb, 0x67, 0x2f, 0x49, 0x89, 0x00, 0xc0, 0x40, 0x2a, 0xc4, 0x08, 0x49,
+ 0x68, 0x8f, 0x8f, 0x6a, 0x48, 0xa0, 0x29, 0xaa, 0x87, 0x6d, 0x49, 0xea,
+ 0x7a, 0x8e, 0xb2, 0x29, 0xd7, 0xa4, 0x19, 0x7a, 0x8d, 0xac, 0xb6, 0x2d,
+ 0x97, 0x03, 0x78, 0x07, 0xac, 0x9f, 0x98, 0x65, 0x48, 0x3f, 0xb9, 0xec,
+ 0xe1, 0x65, 0x47, 0xb3, 0xa7, 0x5b, 0xc1, 0xeb, 0x97, 0xa5, 0x55, 0x37,
+ 0x62, 0x3b, 0xab, 0xf2, 0xfa, 0x93, 0x39, 0x78, 0x7f, 0x16, 0x3a, 0xa1,
+ 0x99, 0x4d, 0x32, 0x8c, 0xc4, 0x87, 0xf2, 0x62, 0xc1, 0xe4, 0xa1, 0xb6,
+ 0x62, 0xb4, 0xb6, 0x78, 0x89, 0x12, 0x46, 0xc4, 0x47, 0x19, 0xcb, 0x7a,
+ 0xa9, 0x9b, 0x72, 0x1e, 0x14, 0x98, 0x90, 0x94, 0x65, 0xd9, 0x09, 0xe1,
+ 0xad, 0x49, 0x53, 0x05, 0xea, 0x55, 0xf1, 0x13, 0xaa, 0xf2, 0x34, 0x48,
+ 0x3e, 0x14, 0xd0, 0x6e, 0x64, 0x6b, 0xca, 0x55, 0x92, 0x17, 0x66, 0x2c,
+ 0x66, 0xac, 0x94, 0xfb, 0x1c, 0x11, 0x54, 0x90, 0x85, 0x6e, 0x6f, 0x25,
+ 0x2a, 0x4a, 0x3b, 0x01, 0x10, 0x1c, 0x6d, 0xcb, 0x94, 0xcb, 0xb2, 0x2d,
+ 0x79, 0x1b, 0x96, 0x64, 0xe2, 0x6a, 0x32, 0x52, 0xba, 0x1c, 0x6d, 0x53,
+ 0x80, 0x2b, 0x9b, 0x4e, 0xfb, 0x4c, 0xd5, 0x4b, 0xd4, 0xa5, 0x64, 0x67,
+ 0x70, 0x3e, 0x21, 0x00, 0x2a, 0x6a, 0x84, 0x91, 0x0d, 0x16, 0xdc, 0x3e,
+ 0x48, 0x8b, 0x1c, 0x00, 0xe3, 0xaf, 0x7c, 0x02, 0x92, 0x6d, 0xa1, 0xe9,
+ 0x10, 0x94, 0x3d, 0xe3, 0x5c, 0x33, 0x98, 0x9d, 0xbf, 0xab, 0xd0, 0x8d,
+ 0xd5, 0x4f, 0x09, 0xb9, 0xef, 0xc6, 0xd7, 0x57, 0xd5, 0x9c, 0x0b, 0x39,
+ 0xc5, 0xaa, 0x4c, 0x79, 0x06, 0x00, 0x3f, 0xa9, 0x6b, 0x5b, 0x67, 0x0d,
+ 0x77, 0x85, 0x5f, 0x3d, 0x7e, 0xd3, 0x2a, 0x08, 0x4b, 0x33, 0x11, 0xab,
+ 0x6f, 0xe2, 0x33, 0x14, 0x70, 0x08, 0x13, 0x47, 0xd6, 0xdd, 0x2d, 0xb6,
+ 0x35, 0x67, 0xed, 0x8c, 0xee, 0xdd, 0x6f, 0xe2, 0xcd, 0x49, 0x1b, 0xac,
+ 0xce, 0x72, 0x0b, 0xda, 0x2c, 0xf6, 0x8a, 0x96, 0x2c, 0xa6, 0xdd, 0x40,
+ 0xe5, 0xc9, 0xf5, 0x23, 0x21, 0x08, 0xea, 0x7a, 0x56, 0x4e, 0x28, 0x63,
+ 0x23, 0x7b, 0x70, 0x2e, 0xe8, 0x41, 0x9d, 0x0b, 0xc9, 0x76, 0xa9, 0xfd,
+ 0x71, 0xa1, 0x11, 0xb3, 0x4b, 0x69, 0xe7, 0x89, 0x10, 0x8b, 0x37, 0xe7,
+ 0x06, 0xaa, 0x85, 0xd5, 0x32, 0x7e, 0xd9, 0x1f, 0x42, 0x91, 0x94, 0xe3,
+ 0xc6, 0x1b, 0x01, 0x3d, 0x10, 0x6f, 0x8e, 0x85, 0x6f, 0x64, 0x64, 0x94,
+ 0x00, 0x01, 0xe3, 0xf6, 0xa1, 0x91, 0xd1, 0x83, 0xc1, 0x2a, 0x9b, 0x1f,
+ 0xb2, 0x48, 0xef, 0x2c, 0x31, 0x2f, 0x4e, 0xbc, 0xb9, 0xf6, 0x02, 0xeb,
+ 0x0a, 0xa3, 0x0f, 0xb1, 0x05, 0x16, 0xa2, 0xd4, 0x50, 0x0b, 0x73, 0xa6,
+ 0x3a, 0xcf, 0x8e, 0x7d, 0x70, 0xe9, 0x02, 0xcb, 0x37, 0x82, 0x59, 0x98,
+ 0x1a, 0x09, 0x69, 0xb4, 0xe0, 0x71, 0xf6, 0x91, 0x8b, 0xda, 0x53, 0xb5,
+ 0xfa, 0xe6, 0xe3, 0xea, 0x09, 0x99, 0x4a, 0xde, 0xf1, 0xfd, 0x0c, 0x95,
+ 0x51, 0xad, 0xac, 0x10, 0x0a, 0xc3, 0x54, 0xf2, 0x70, 0x8d, 0x12, 0xc8,
+ 0xd5, 0x67, 0x9b, 0xe5, 0x13, 0xe2, 0x7d, 0x8f, 0x69, 0xd5, 0xf9, 0xaa,
+ 0x9a, 0x97, 0x39, 0xd7, 0x1c, 0xb7, 0x32, 0xc6, 0xeb, 0x63, 0x8c, 0xf3,
+ 0x62, 0x55, 0xa0, 0x65, 0xf6, 0x89, 0x52, 0x28, 0xac, 0xa2, 0xf0, 0x31,
+ 0x42, 0x41, 0xef, 0x0d, 0x8e, 0x9f, 0xd6, 0xd5, 0xe6, 0x21, 0x29, 0xe3,
+ 0xba, 0xab, 0xa0, 0xe7, 0x8e, 0xf3, 0x8a, 0x7d, 0xdc, 0xfe, 0xa4, 0x3d,
+ 0x93, 0xdd, 0xfe, 0xcd, 0x6f, 0x27, 0x96, 0xf6, 0xe1, 0xd6, 0x1d, 0x21,
+ 0x55, 0x01, 0x50, 0x8b, 0x54, 0xab, 0x54, 0x12, 0x40, 0x81, 0x1b, 0xbb,
+ 0x54, 0xa2, 0xd5, 0x25, 0x53, 0x01, 0xfe, 0xd5, 0x40, 0x4b, 0x0a, 0x3e,
+ 0x5e, 0x65, 0x8c, 0x6b, 0xc3, 0xfc, 0xca, 0x72, 0x2c, 0x9f, 0x1c, 0x79,
+ 0xda, 0x75, 0x91, 0xe5, 0xbb, 0x5f, 0x50, 0xdb, 0xcd, 0x91, 0x1e, 0x87,
+ 0x15, 0x02, 0x4f, 0x3e, 0xdb, 0x15, 0x79, 0x93, 0x8c, 0x7c, 0xc4, 0xbc,
+ 0x17, 0x00, 0xc9, 0x78, 0xf8, 0x64, 0x71, 0xcf, 0x97, 0xce, 0x71, 0x35,
+ 0x7b, 0xe0, 0x90, 0x9b, 0x07, 0xdc, 0xa8, 0x38, 0x67, 0xdd, 0x8e, 0x2a,
+ 0x38, 0x97, 0x52, 0x8d, 0x73, 0xc9, 0xcc, 0x2f, 0xeb, 0x41, 0x6b, 0x17,
+ 0x2e, 0xef, 0x89, 0x3c, 0x19, 0xed, 0x8e, 0x9b, 0x5c, 0xca, 0x8b, 0xbb,
+ 0x77, 0x3d, 0x8b, 0x37, 0x27, 0xdd, 0x75, 0x6f, 0xc9, 0xf4, 0xf4, 0x3c,
+ 0x47, 0x2a, 0x33, 0xd6, 0x1b, 0xe3, 0x32, 0xdc, 0x1b, 0x7a, 0xc0, 0x7f,
+ 0x91, 0x80, 0x20, 0x2b, 0x7e, 0x5a, 0xf8, 0x76, 0x3b, 0x7d, 0xd1, 0xdc,
+ 0xbd, 0x2b, 0xc0, 0xea, 0x1e, 0xdb, 0xb5, 0x5d, 0x6e, 0x2e, 0x80, 0x88,
+ 0x50, 0x21, 0x00, 0x37, 0x00, 0xa2, 0xa1, 0xe2, 0x89, 0xd8, 0xce, 0xa0,
+ 0xea, 0x99, 0x10, 0x97, 0x7c, 0x88, 0x8c, 0x4d, 0xf8, 0x9b, 0x09, 0xe3,
+ 0x32, 0x30, 0xad, 0xe0, 0x18, 0x10, 0x45, 0x44, 0x0b, 0x2c, 0xd6, 0x99,
+ 0x58, 0x13, 0xf2, 0x38, 0xd3, 0xd3, 0x87, 0x55, 0x25, 0x3b, 0x00, 0x99,
+ 0x7a, 0xe0, 0x39, 0x2b, 0x98, 0xd3, 0x35, 0xbb, 0x9a, 0xf8, 0x35, 0x5a,
+ 0xbd, 0xe1, 0x57, 0x3d, 0x9e, 0x82, 0x2b, 0x33, 0x78, 0xfc, 0x11, 0x85,
+ 0x81, 0x43, 0x6b, 0x86, 0xb2, 0x42, 0xb9, 0xc8, 0x5b, 0xc9, 0x79, 0x46,
+ 0x69, 0x8f, 0x37, 0x24, 0x4c, 0x47, 0xf7, 0x0d, 0x3a, 0x68, 0x1a, 0xd8,
+ 0xcc, 0x07, 0xe6, 0x3a, 0x64, 0xd8, 0x2f, 0xa9, 0x48, 0xc4, 0xfa, 0x1c,
+ 0xe8, 0x34, 0x66, 0x67, 0x6c, 0x09, 0x9c, 0x06, 0xf1, 0x27, 0xd4, 0xe9,
+ 0xd9, 0x1d, 0xec, 0x1a, 0x65, 0x1c, 0x36, 0xad, 0x18, 0xa8, 0x6a, 0x69,
+ 0x10, 0x38, 0x49, 0x18, 0x67, 0xe9, 0xd3, 0x5d, 0x6f, 0xc4, 0x39, 0x7d,
+ 0xb8, 0x0e, 0x5d, 0xd4, 0xf0, 0x73, 0x3b, 0xb3, 0xe6, 0x36, 0xbd, 0x0f,
+ 0x15, 0xf5, 0x9d, 0xfe, 0xd3, 0x97, 0x2f, 0x5b, 0x37, 0x7a, 0xed, 0x31,
+ 0xf6, 0x3e, 0xdb, 0xd9, 0xc1, 0xd8, 0x82, 0xac, 0x47, 0xf3, 0x8b, 0xfe,
+ 0x4b, 0xbc, 0xd8, 0x7e, 0xad, 0xce, 0xcc, 0x12, 0x4c, 0x96, 0xbf, 0xd7,
+ 0xa7, 0xdf, 0x44, 0x3e, 0x07, 0xaf, 0xcb, 0xd2, 0xb7, 0x5e, 0xd2, 0xe7,
+ 0x22, 0x6f, 0xe1, 0x61, 0x9e, 0xc6, 0xf2, 0xf2, 0x92, 0xdc, 0x5d, 0xf4,
+ 0xa4, 0x72, 0x58, 0xdc, 0xa6, 0xd5, 0x24, 0x1c, 0xee, 0x4e, 0xaf, 0xbf,
+ 0xbb, 0x6c, 0xb8, 0xe0, 0x1b, 0x06, 0xbc, 0x85, 0xd6, 0x93, 0xac, 0x49,
+ 0x63, 0x4b, 0x70, 0x0a, 0x40, 0xb7, 0xa1, 0x5d, 0xd3, 0xa3, 0xdd, 0x97,
+ 0x2f, 0x7b, 0xd4, 0xb3, 0x67, 0x2f, 0x5f, 0x2e, 0x4d, 0xf9, 0xf4, 0x3e,
+ 0x73, 0x5b, 0x3a, 0x27, 0x15, 0xbd, 0xee, 0x36, 0x4d, 0x4d, 0x26, 0x4b,
+ 0xfc, 0x3b, 0xf4, 0x9b, 0xd7, 0xc9, 0xfb, 0xd3, 0x8b, 0x23, 0xcf, 0x7d,
+ 0x83, 0xe3, 0xc5, 0xe1, 0x4b, 0xcf, 0x1e, 0x45, 0x3c, 0x78, 0x8e, 0x8a,
+ 0x31, 0x30, 0x8d, 0xc9, 0xd6, 0x0a, 0x51, 0x0e, 0x80, 0xa3, 0xab, 0xdf,
+ 0xf0, 0x0f, 0xdd, 0xcf, 0x9d, 0x02, 0xfa, 0x3f, 0xc9, 0xaf, 0xf2, 0xc6,
+ 0xe7, 0x38, 0xd9, 0x34, 0xab, 0xbd, 0x05, 0x4f, 0xc8, 0x4d, 0x3a, 0xcd,
+ 0x6d, 0x68, 0x67, 0xa3, 0x26, 0xf8, 0x36, 0x23, 0xdd, 0x36, 0xc8, 0x30,
+ 0xda, 0x08, 0x00, 0xd4, 0xd9, 0x74, 0x52, 0xeb, 0x45, 0xc8, 0x8f, 0xf7,
+ 0xf1, 0xa0, 0x9c, 0x16, 0xd8, 0xb3, 0x5c, 0x98, 0x36, 0x85, 0x73, 0x99,
+ 0x3f, 0xbd, 0x3c, 0xb8, 0x43, 0x92, 0x90, 0x71, 0x9b, 0x9a, 0x7b, 0x41,
+ 0xed, 0xf4, 0xbc, 0x79, 0xd8, 0xa8, 0xbb, 0x15, 0xec, 0xa9, 0x0c, 0x7c,
+ 0x1c, 0xf0, 0x80, 0x88, 0xc2, 0x24, 0x9b, 0x2b, 0x64, 0xac, 0x68, 0xb7,
+ 0x63, 0xf6, 0xf2, 0x65, 0x7e, 0xb5, 0xa8, 0xe2, 0xe0, 0xaa, 0xbf, 0xba,
+ 0x44, 0x00, 0xe5, 0xa6, 0x4e, 0x6f, 0xd3, 0x2a, 0xd3, 0x5a, 0x4a, 0xc5,
+ 0xbd, 0x3d, 0xd7, 0x6a, 0x27, 0x2b, 0xe0, 0x1f, 0xcc, 0xe1, 0x81, 0x5f,
+ 0x8c, 0x4c, 0xe6, 0x4b, 0xa3, 0xcb, 0xc0, 0x99, 0x20, 0x00, 0x13, 0x78,
+ 0xff, 0xa4, 0x8a, 0x94, 0x64, 0x5d, 0xa8, 0xab, 0xdd, 0xac, 0x37, 0x5d,
+ 0xa7, 0xa9, 0x4c, 0x41, 0x37, 0x8a, 0x57, 0x2e, 0x36, 0xa6, 0x2e, 0x90,
+ 0x40, 0x4f, 0xc2, 0x27, 0x73, 0x5d, 0x7a, 0x54, 0xf4, 0x61, 0x5a, 0xb6,
+ 0x10, 0x4b, 0x40, 0xfa, 0xf0, 0x12, 0x4d, 0x8c, 0x12, 0x3d, 0x2d, 0xd3,
+ 0x89, 0xb8, 0x57, 0x5c, 0x68, 0x9f, 0xb5, 0x03, 0xa9, 0x59, 0x2b, 0x6b,
+ 0x1b, 0x30, 0x17, 0xd3, 0x52, 0xcb, 0x2a, 0x13, 0xf0, 0x53, 0xea, 0x3b,
+ 0xeb, 0x26, 0x2d, 0x0b, 0xab, 0x25, 0xb1, 0x9c, 0x32, 0x1f, 0xe1, 0x2c,
+ 0xf8, 0xad, 0x41, 0xc4, 0x0d, 0x40, 0x1b, 0x9e, 0x57, 0xcb, 0x12, 0xaa,
+ 0xa3, 0x3a, 0x1b, 0x5d, 0x92, 0x9e, 0xd7, 0x23, 0x19, 0x1e, 0xff, 0xcf,
+ 0xa3, 0xdf, 0x33, 0x04, 0x56, 0xa5, 0xb7, 0x36, 0x35, 0xe8, 0x7b, 0xa6,
+ 0x7b, 0x93, 0xd0, 0x94, 0xcd, 0x45, 0x4f, 0xa7, 0x62, 0xc6, 0x53, 0x35,
+ 0x6b, 0xdc, 0x1e, 0x08, 0x72, 0x4a, 0xf1, 0x45, 0xb3, 0xb1, 0xc2, 0xbd,
+ 0x4d, 0x25, 0x82, 0xc8, 0x15, 0xe3, 0x68, 0x90, 0x00, 0x37, 0x45, 0x5a,
+ 0x07, 0x03, 0x8b, 0x74, 0x31, 0x6d, 0x2d, 0xed, 0x19, 0x1c, 0xc3, 0xe0,
+ 0x5f, 0x09, 0xea, 0xaa, 0x81, 0x41, 0x8c, 0xba, 0x65, 0x7a, 0xfb, 0x40,
+ 0xf5, 0x2b, 0x3f, 0x9b, 0x16, 0x05, 0x53, 0xab, 0x8c, 0xe2, 0x65, 0x55,
+ 0xf2, 0xea, 0xc3, 0xf9, 0xc9, 0x92, 0x94, 0xa8, 0x21, 0x56, 0x81, 0xa6,
+ 0x6b, 0xfd, 0x3c, 0x03, 0xf7, 0x4f, 0x95, 0x9c, 0xa5, 0x57, 0xd9, 0xba,
+ 0x4f, 0xb7, 0xd4, 0x62, 0x5c, 0x13, 0x1f, 0x44, 0xcc, 0x53, 0xe4, 0xf3,
+ 0xbb, 0x93, 0x18, 0x77, 0x51, 0x6a, 0x3f, 0x91, 0xe9, 0x72, 0x9a, 0xca,
+ 0xec, 0x2d, 0x2a, 0x94, 0x71, 0xff, 0x3e, 0x5a, 0x24, 0x45, 0x7c, 0x42,
+ 0x6d, 0x2e, 0x46, 0x07, 0xa8, 0xa2, 0x00, 0x11, 0xea, 0xf8, 0xae, 0x7f,
+ 0x4e, 0x6e, 0xfa, 0xf5, 0xc4, 0xe5, 0x1f, 0xf5, 0xb3, 0x18, 0xe1, 0x39,
+ 0x4f, 0x05, 0x93, 0x7a, 0x5b, 0xb7, 0x12, 0xbb, 0xfc, 0x5b, 0x6e, 0xfe,
+ 0x3a, 0xd3, 0x20, 0x51, 0x46, 0x74, 0x88, 0x75, 0xa4, 0x3c, 0x30, 0xce,
+ 0x30, 0x11, 0x44, 0x94, 0x1c, 0xeb, 0x48, 0x93, 0x13, 0xe9, 0xdf, 0xbe,
+ 0x44, 0x64, 0x58, 0x11, 0xb2, 0x5d, 0x93, 0xb0, 0xb9, 0x66, 0x8b, 0xc4,
+ 0x06, 0x9b, 0x4e, 0xa9, 0xf2, 0x82, 0xf5, 0x64, 0xd1, 0x38, 0x27, 0x25,
+ 0x91, 0xf5, 0xa3, 0xc2, 0x6f, 0x61, 0x9d, 0xce, 0xad, 0x95, 0xfd, 0xdd,
+ 0xa9, 0xc1, 0x5c, 0xa0, 0xe8, 0xa0, 0x27, 0xe5, 0x44, 0xfa, 0x66, 0x77,
+ 0x14, 0x92, 0xeb, 0xea, 0x2d, 0xab, 0xb7, 0xf7, 0xfe, 0xa3, 0x17, 0x65,
+ 0x98, 0x5f, 0xc2, 0x8a, 0xe9, 0x75, 0xb7, 0x01, 0x10, 0x1d, 0x1b, 0xe6,
+ 0xb4, 0xd7, 0xe1, 0xb8, 0x77, 0x59, 0x71, 0x72, 0x5f, 0x46, 0x7d, 0x8b,
+ 0x7d, 0x2f, 0x4e, 0x9d, 0x1c, 0x72, 0x7e, 0x56, 0xff, 0x4d, 0x6e, 0xee,
+ 0x91, 0x9a, 0x89, 0x46, 0xd8, 0x31, 0xc0, 0x58, 0x5c, 0x7b, 0x10, 0x93,
+ 0xb0, 0x8c, 0x91, 0xc6, 0x53, 0x80, 0xa4, 0xb3, 0xaf, 0xd8, 0xe8, 0x8e,
+ 0xd9, 0x13, 0x4b, 0xea, 0xf6, 0xf8, 0x68, 0x6e, 0xab, 0x34, 0xa4, 0xce,
+ 0x6b, 0x21, 0x35, 0x87, 0x19, 0xf4, 0xce, 0xe7, 0xc3, 0xdc, 0x0a, 0x91,
+ 0xf9, 0x51, 0xfe, 0x0f, 0xc0, 0x78, 0x1c, 0x2b, 0x87, 0x94, 0xfb, 0x08,
+ 0xcc, 0x4d, 0x5b, 0x6b, 0x55, 0xb3, 0xbe, 0xba, 0x7e, 0x60, 0xd3, 0x25,
+ 0x5b, 0x73, 0x81, 0x63, 0x2c, 0xcc, 0x5a, 0xc5, 0x09, 0x68, 0x63, 0xd3,
+ 0xf0, 0xa0, 0xe3, 0x19, 0xd7, 0x72, 0x11, 0x4b, 0x50, 0x86, 0xad, 0x51,
+ 0x01, 0xee, 0xe8, 0x6f, 0x3d, 0x8a, 0x22, 0x14, 0xa5, 0xf0, 0x38, 0xc4,
+ 0x62, 0xfa, 0x00, 0x14, 0x99, 0x27, 0xbc, 0x7b, 0x90, 0x01, 0x24, 0xc9,
+ 0x9f, 0xfa, 0x8e, 0xb0, 0x7f, 0xf3, 0x3e, 0x33, 0x3a, 0xb6, 0x65, 0xb7,
+ 0x51, 0x63, 0x2a, 0x92, 0xe1, 0x95, 0x70, 0x25, 0xba, 0xba, 0x85, 0x3d,
+ 0x87, 0x19, 0xe2, 0xc5, 0x20, 0x79, 0xca, 0x8d, 0x26, 0x40, 0x7c, 0xd7,
+ 0x8b, 0x22, 0xbb, 0x23, 0x0e, 0xd6, 0xe5, 0xcd, 0x85, 0x8a, 0xf6, 0xf7,
+ 0x07, 0xe7, 0xef, 0x8f, 0xdf, 0x7f, 0xbd, 0x9f, 0x1c, 0xdd, 0x65, 0xd5,
+ 0x98, 0xaa, 0xa6, 0xfe, 0x6d, 0x31, 0xc9, 0xc7, 0x10, 0x14, 0x52, 0x8b,
+ 0xd2, 0xcf, 0xc4, 0xa3, 0x02, 0xe2, 0xe2, 0x65, 0xa5, 0x4b, 0x37, 0x90,
+ 0xef, 0x02, 0x46, 0x1d, 0xa0, 0x94, 0x7c, 0x55, 0x5e, 0x2d, 0xbc, 0xed,
+ 0x33, 0xe6, 0x1a, 0x59, 0x08, 0x18, 0x20, 0x9a, 0x7a, 0x2d, 0x73, 0x4d,
+ 0xae, 0xd7, 0xe4, 0xcd, 0xc9, 0x49, 0x48, 0x7e, 0x89, 0x5a, 0xae, 0xdc,
+ 0x7d, 0x4e, 0xe7, 0x43, 0x13, 0x66, 0xf3, 0xd7, 0xf9, 0x88, 0x61, 0x4f,
+ 0xa4, 0x02, 0x70, 0x85, 0x2c, 0x4f, 0xe4, 0xc1, 0xb7, 0x62, 0xba, 0xd2,
+ 0x5d, 0x64, 0xe0, 0x64, 0x81, 0x56, 0xc4, 0x0a, 0xe7, 0xd5, 0x04, 0xf6,
+ 0x90, 0x91, 0x91, 0xe5, 0x65, 0x43, 0x3a, 0x52, 0xeb, 0x36, 0x6d, 0x17,
+ 0x9f, 0x58, 0x19, 0x49, 0xb8, 0x66, 0x53, 0xa7, 0xc5, 0x8f, 0x30, 0xb6,
+ 0x05, 0xdf, 0xe9, 0xd2, 0x65, 0xe5, 0x10, 0x55, 0x4b, 0x62, 0x61, 0xb4,
+ 0x49, 0x96, 0xda, 0x5a, 0xac, 0x35, 0xc9, 0xcb, 0x50, 0x60, 0xdc, 0x66,
+ 0x95, 0x98, 0x9f, 0x36, 0x53, 0xd0, 0x88, 0xbb, 0x41, 0x32, 0x2c, 0xcd,
+ 0xf3, 0xa1, 0x96, 0x65, 0xeb, 0x7b, 0xb5, 0x4a, 0x05, 0xa3, 0x3b, 0x0e,
+ 0xe8, 0x85, 0xd2, 0x27, 0x88, 0xce, 0xb5, 0xc7, 0x1b, 0xa9, 0x2d, 0x4a,
+ 0xfb, 0x7f, 0x94, 0x59, 0xa5, 0xe2, 0x5e, 0xe3, 0x3f, 0xb4, 0x49, 0xd6,
+ 0xfb, 0x46, 0xa0, 0xae, 0xd3, 0xcc, 0xa2, 0xe2, 0xa9, 0xd7, 0xd2, 0x03,
+ 0x75, 0xfb, 0x7c, 0x98, 0x75, 0x77, 0xc0, 0x0f, 0x54, 0x43, 0x52, 0xcb,
+ 0xd3, 0x73, 0x9f, 0x4a, 0x4d, 0x1a, 0x1b, 0x53, 0x65, 0x99, 0x94, 0xa1,
+ 0x7c, 0x69, 0x10, 0x2a, 0x67, 0x93, 0xc2, 0xba, 0x64, 0xfc, 0x74, 0x58,
+ 0xff, 0x75, 0xb9, 0x71, 0x7a, 0xce, 0xc3, 0x40, 0x7a, 0x41, 0x90, 0x92,
+ 0x69, 0xec, 0xbc, 0xc1, 0x56, 0x0c, 0xe8, 0x23, 0x72, 0x91, 0xaf, 0xa4,
+ 0xda, 0xa8, 0xd7, 0x93, 0x07, 0x25, 0x1f, 0xc4, 0x56, 0xa4, 0xac, 0x0f,
+ 0x16, 0xd4, 0xf7, 0x8a, 0x73, 0x73, 0x10, 0x26, 0xa9, 0x05, 0x13, 0x35,
+ 0x7e, 0x5c, 0x13, 0x3a, 0x01, 0x52, 0x8f, 0xc3, 0xe6, 0x3c, 0x22, 0xbe,
+ 0xe5, 0x42, 0x58, 0x62, 0x37, 0x79, 0x71, 0x53, 0x7e, 0xe2, 0x1b, 0x5f,
+ 0x32, 0x9b, 0x83, 0x04, 0x79, 0x9f, 0x69, 0x2e, 0x8a, 0x5a, 0x53, 0x5a,
+ 0x11, 0xee, 0x3b, 0xdf, 0x58, 0x1e, 0x10, 0xde, 0x0c, 0x46, 0x42, 0x32,
+ 0x36, 0xcd, 0xc7, 0x5e, 0x4f, 0x9d, 0xe6, 0xec, 0x59, 0xea, 0x69, 0xf1,
+ 0xda, 0x24, 0x9b, 0xd6, 0x59, 0xcf, 0x4b, 0xf9, 0xb1, 0x64, 0x53, 0x72,
+ 0xdb, 0x00, 0x8d, 0xaa, 0x51, 0xcc, 0xe5, 0x37, 0xc9, 0x20, 0xd1, 0xb9,
+ 0xf7, 0xa7, 0xdb, 0x19, 0xb2, 0x88, 0x80, 0x72, 0xec, 0x69, 0x7c, 0x5d,
+ 0x96, 0xd1, 0x8b, 0xdb, 0xdd, 0x21, 0x50, 0x6a, 0x90, 0xf7, 0xbe, 0x44,
+ 0x83, 0x68, 0x57, 0x45, 0x93, 0x6c, 0x85, 0xee, 0xd9, 0x53, 0x4a, 0x31,
+ 0xd1, 0x07, 0x3d, 0x3e, 0xbf, 0xf6, 0xed, 0xc6, 0x1d, 0x0a, 0xee, 0xe6,
+ 0x18, 0xcc, 0x81, 0x7f, 0xd7, 0xb9, 0x8f, 0x9b, 0x56, 0x86, 0xb4, 0x3f,
+ 0x29, 0xd1, 0xcb, 0x8e, 0x11, 0x71, 0x0e, 0x27, 0x89, 0x7d, 0x03, 0xc3,
+ 0xa9, 0x68, 0x87, 0x35, 0xd0, 0xcf, 0xbc, 0x81, 0x00, 0xf9, 0xd3, 0xde,
+ 0xce, 0x32, 0x21, 0xcf, 0x8a, 0xac, 0x66, 0xb2, 0xd1, 0x71, 0xb4, 0x06,
+ 0x3a, 0x5f, 0x84, 0x2e, 0xbb, 0x9c, 0x2e, 0x90, 0xc5, 0x3c, 0x41, 0xc5,
+ 0x1c, 0xaa, 0xb7, 0xb4, 0x64, 0xfe, 0xa3, 0x96, 0xf1, 0xaf, 0xad, 0xb2,
+ 0xb5, 0xac, 0xcc, 0x96, 0x93, 0x5f, 0xe7, 0xde, 0x1a, 0x53, 0x4b, 0x31,
+ 0xc4, 0x9b, 0xc8, 0x12, 0xcf, 0x5d, 0xe2, 0x69, 0xed, 0x4e, 0x6f, 0x80,
+ 0x75, 0x0f, 0x61, 0xc7, 0x68, 0x84, 0x3c, 0x14, 0xc9, 0xc6, 0xae, 0x9d,
+ 0xcd, 0x23, 0x02, 0xcb, 0x1e, 0x02, 0xc1, 0xfc, 0xd2, 0x2d, 0x65, 0x61,
+ 0xbb, 0x1a, 0x7b, 0x0e, 0x37, 0xad, 0x27, 0x4b, 0xd9, 0x24, 0x4f, 0x05,
+ 0x40, 0x8a, 0x39, 0xa1, 0x6f, 0xb5, 0xaf, 0x46, 0x60, 0xd3, 0xfa, 0x51,
+ 0x9f, 0xbf, 0xe8, 0xc1, 0x91, 0xf4, 0x58, 0x58, 0x53, 0x8e, 0x3f, 0x7a,
+ 0x9d, 0x5f, 0x5f, 0x4f, 0x36, 0x49, 0xae, 0x6e, 0xa9, 0xf6, 0x1a, 0xc6,
+ 0xfb, 0x5d, 0x0d, 0x6b, 0x08, 0xe0, 0xb4, 0x0e, 0xc0, 0xbc, 0xd0, 0x5f,
+ 0x13, 0x63, 0xe8, 0x55, 0x46, 0x05, 0x58, 0x4c, 0xd3, 0x8a, 0x64, 0xbb,
+ 0xf9, 0xe4, 0xe5, 0x62, 0x1a, 0x33, 0x75, 0x70, 0xb6, 0x35, 0x46, 0x64,
+ 0xa6, 0xa8, 0x26, 0x35, 0x05, 0xc6, 0xa0, 0x23, 0x93, 0x10, 0x72, 0xb1,
+ 0xa9, 0xe9, 0x11, 0x48, 0xb4, 0xa7, 0x5c, 0x1b, 0x29, 0xba, 0x77, 0xe1,
+ 0x20, 0xc6, 0x9c, 0xa9, 0x8a, 0xc9, 0x96, 0x14, 0xf7, 0xad, 0xca, 0xae,
+ 0xa8, 0x4b, 0xae, 0xfe, 0x12, 0x4d, 0x41, 0x8f, 0x99, 0x2c, 0x3a, 0xcd,
+ 0xad, 0x9f, 0x9e, 0x5d, 0x1c, 0x9f, 0xbe, 0x1f, 0x26, 0x7f, 0x5e, 0x5f,
+ 0x99, 0xa0, 0xd4, 0xa6, 0x22, 0xfd, 0xa1, 0xe7, 0xd6, 0x24, 0x79, 0x25,
+ 0xde, 0x86, 0x65, 0xf6, 0xb1, 0xa7, 0xc3, 0x8f, 0xcd, 0xfd, 0x6d, 0x04,
+ 0xac, 0xbe, 0x29, 0x14, 0x4e, 0xb2, 0x58, 0x1d, 0xd6, 0xa9, 0x40, 0x5f,
+ 0xf6, 0x93, 0xbb, 0x7d, 0x3b, 0x9a, 0xa5, 0xbd, 0x33, 0x5b, 0x3a, 0xad,
+ 0x2f, 0x91, 0xc1, 0x5c, 0x0d, 0xd4, 0xda, 0x2f, 0x16, 0xa8, 0x22, 0x6f,
+ 0x61, 0x9a, 0x6f, 0x49, 0x3b, 0xc5, 0x83, 0x9b, 0x52, 0xc6, 0x9a, 0x55,
+ 0xad, 0x3a, 0x44, 0x13, 0x7e, 0x7d, 0x74, 0xb1, 0x35, 0x48, 0xce, 0x95,
+ 0x09, 0x41, 0xf1, 0xa9, 0x56, 0xf1, 0x49, 0xad, 0x6e, 0x26, 0xc4, 0xaf,
+ 0xe2, 0xc9, 0x30, 0xfa, 0xf3, 0x34, 0x2d, 0xa2, 0x49, 0x58, 0xa4, 0xd3,
+ 0x52, 0x6d, 0x6d, 0x92, 0xc4, 0x2a, 0x93, 0xd5, 0x87, 0xe2, 0x55, 0x30,
+ 0x60, 0x02, 0x96, 0xb3, 0x0f, 0x17, 0x68, 0xf0, 0xcd, 0xd1, 0xc9, 0xd1,
+ 0xc5, 0x51, 0xd7, 0x7a, 0x1f, 0x31, 0x69, 0x1d, 0xb2, 0x6f, 0x9a, 0x6c,
+ 0x7c, 0x5d, 0x94, 0xd3, 0xf2, 0x2a, 0x97, 0xea, 0x82, 0xc9, 0xf7, 0xd9,
+ 0xe8, 0xcd, 0xc1, 0x77, 0xa4, 0x51, 0x90, 0xdf, 0xe9, 0xec, 0xfc, 0xf4,
+ 0xec, 0xed, 0xf1, 0xfb, 0x37, 0xbd, 0xe4, 0xf0, 0xf4, 0xec, 0xaf, 0xbd,
+ 0xe4, 0xdd, 0xe9, 0x77, 0x47, 0x11, 0xd4, 0x35, 0x11, 0x4a, 0x47, 0xaa,
+ 0x9b, 0x4b, 0x8d, 0x2f, 0xbe, 0xd0, 0xd8, 0xfc, 0x46, 0x51, 0xe1, 0xce,
+ 0x45, 0x42, 0x69, 0x09, 0x75, 0x29, 0x12, 0xd7, 0xcc, 0x5d, 0x2f, 0xf9,
+ 0xe6, 0xe8, 0xe0, 0x4d, 0x2f, 0xa0, 0xfc, 0x1d, 0xf2, 0xa8, 0x68, 0x74,
+ 0x76, 0xc8, 0x20, 0x8a, 0x65, 0xfb, 0x03, 0x5a, 0x02, 0x87, 0xba, 0xf8,
+ 0xc8, 0x9a, 0x0d, 0x8b, 0x5c, 0xdc, 0xc9, 0x32, 0x04, 0x85, 0xb0, 0x57,
+ 0x2f, 0xad, 0xe7, 0xd9, 0xca, 0x04, 0x81, 0xc2, 0xa6, 0xaa, 0x76, 0x9b,
+ 0x99, 0x05, 0x78, 0x7f, 0x9b, 0xee, 0xa7, 0x4b, 0x1e, 0x67, 0x06, 0xe9,
+ 0xb5, 0x52, 0x82, 0x21, 0x90, 0xd8, 0x05, 0x99, 0x4a, 0x31, 0x34, 0x14,
+ 0x8e, 0x20, 0x10, 0xd0, 0x90, 0x89, 0x71, 0x95, 0x10, 0x32, 0x4c, 0x6f,
+ 0x68, 0x29, 0x0a, 0xa5, 0x12, 0x10, 0x0b, 0x49, 0x0b, 0x4d, 0xa1, 0xfb,
+ 0xa6, 0x54, 0x5e, 0xf8, 0x81, 0x7f, 0x1c, 0xc1, 0x5d, 0x73, 0x7d, 0xa2,
+ 0x4b, 0xb3, 0x39, 0x33, 0x46, 0x57, 0x61, 0x9d, 0x9c, 0x7b, 0x20, 0xe9,
+ 0x1f, 0xab, 0x73, 0x62, 0x95, 0x9a, 0x25, 0x07, 0x46, 0x1c, 0x34, 0x20,
+ 0x85, 0x51, 0xc7, 0x55, 0x5b, 0x4e, 0x38, 0x3e, 0x6e, 0x3e, 0x7b, 0x97,
+ 0x81, 0x6c, 0x03, 0x99, 0xac, 0xae, 0x73, 0x2f, 0x11, 0x65, 0x45, 0x9d,
+ 0x39, 0x97, 0x8e, 0x29, 0x93, 0xd1, 0xba, 0x6d, 0xbf, 0x96, 0xb9, 0x67,
+ 0x03, 0x1a, 0x1f, 0x7a, 0xcc, 0x48, 0x93, 0x42, 0x5c, 0xa3, 0x14, 0x82,
+ 0xeb, 0xb3, 0x3d, 0xed, 0x23, 0x84, 0x55, 0x84, 0xda, 0xb4, 0x63, 0xe9,
+ 0x42, 0xbc, 0x08, 0x75, 0xab, 0x86, 0xab, 0x3d, 0xeb, 0x4f, 0x76, 0xee,
+ 0x9c, 0xb7, 0x9d, 0x34, 0x8a, 0x3a, 0xe9, 0x0b, 0x03, 0xef, 0xcc, 0x5c,
+ 0x85, 0xa1, 0x9f, 0x69, 0xf3, 0xed, 0x12, 0xe1, 0xe8, 0xfb, 0x6f, 0x65,
+ 0x31, 0x3c, 0x74, 0xf8, 0xc9, 0xb1, 0x39, 0x12, 0x11, 0x12, 0x8c, 0x49,
+ 0x89, 0x4a, 0xa5, 0x80, 0x1c, 0xe4, 0x7a, 0x9d, 0x50, 0x5b, 0xe1, 0x87,
+ 0xa9, 0x74, 0x6f, 0xf4, 0xcb, 0xa8, 0xe9, 0xfb, 0xc0, 0xa7, 0x83, 0x35,
+ 0x3b, 0x3f, 0xba, 0x38, 0x1f, 0x24, 0x9b, 0x3e, 0xbf, 0xe3, 0xf3, 0xc1,
+ 0x4e, 0x18, 0xbe, 0xa1, 0xaa, 0xc1, 0x5b, 0x89, 0xf7, 0x59, 0xf7, 0x5d,
+ 0x14, 0x14, 0x5e, 0xfd, 0xdd, 0x10, 0x77, 0xec, 0x71, 0xba, 0xec, 0xc4,
+ 0xbe, 0xe7, 0xd7, 0x26, 0x6e, 0x8d, 0x92, 0x7e, 0xb1, 0xe2, 0x6b, 0xdf,
+ 0x1c, 0x9d, 0x44, 0x6a, 0x62, 0x7c, 0x77, 0xfe, 0xf6, 0xaf, 0xed, 0x51,
+ 0x3e, 0x79, 0x1a, 0xf9, 0xea, 0x6f, 0xe9, 0x5a, 0xcf, 0xea, 0x72, 0x6a,
+ 0x74, 0x16, 0x24, 0x97, 0x20, 0xb7, 0x64, 0xdf, 0x5c, 0x02, 0x84, 0x4d,
+ 0xff, 0xb1, 0x27, 0x7f, 0xf9, 0x79, 0x30, 0x18, 0x7c, 0x11, 0x92, 0x14,
+ 0xc3, 0x53, 0x43, 0x61, 0x2f, 0x19, 0x70, 0x22, 0x8f, 0x0b, 0x2e, 0xd3,
+ 0x33, 0xc6, 0x91, 0xd0, 0x83, 0x0c, 0x26, 0x8a, 0x63, 0xcc, 0xd3, 0x3c,
+ 0x70, 0x4a, 0x7f, 0xb0, 0x60, 0x6b, 0x97, 0x81, 0x06, 0xa1, 0x23, 0x46,
+ 0xdc, 0xd4, 0x1e, 0xd7, 0x4d, 0x62, 0xad, 0xe0, 0x3c, 0xc2, 0x64, 0x69,
+ 0xa8, 0xdf, 0xf6, 0x04, 0x77, 0x1f, 0xf9, 0x87, 0x41, 0x8b, 0x44, 0x00,
+ 0x25, 0x7b, 0xdf, 0x16, 0x7a, 0x87, 0xc8, 0x0c, 0x4c, 0xec, 0x5b, 0xc1,
+ 0xa5, 0x6b, 0x33, 0x38, 0x0f, 0x25, 0xbc, 0x0e, 0x43, 0x0c, 0x17, 0x0b,
+ 0xea, 0x54, 0x66, 0xcd, 0x78, 0x9b, 0xc6, 0x58, 0x87, 0x65, 0x44, 0x62,
+ 0x3e, 0xb0, 0xb2, 0xe8, 0x60, 0x6b, 0xe9, 0xae, 0x60, 0x3f, 0xb4, 0x9f,
+ 0x98, 0xe3, 0xaa, 0x9b, 0x78, 0x5a, 0x3b, 0xf5, 0x23, 0x12, 0x8b, 0xf7,
+ 0x72, 0x71, 0xc7, 0x2e, 0xa9, 0x45, 0x19, 0xe2, 0x5b, 0x8b, 0x8f, 0x17,
+ 0x06, 0x28, 0x4e, 0xcf, 0x49, 0x74, 0x11, 0x0f, 0x0b, 0x8b, 0x68, 0xdd,
+ 0x4e, 0x96, 0x6e, 0xb8, 0x5d, 0x5e, 0x5d, 0x9d, 0x75, 0x3a, 0x6d, 0xd2,
+ 0x8f, 0xae, 0x3a, 0x4f, 0xba, 0x36, 0x3a, 0xc1, 0xd4, 0xc1, 0x6a, 0xcb,
+ 0xcf, 0x51, 0x9f, 0x3e, 0x5e, 0xe6, 0x45, 0x54, 0x60, 0x6d, 0x98, 0xe4,
+ 0x7c, 0x9b, 0xf1, 0xbd, 0x3d, 0x20, 0xf5, 0xc4, 0xf7, 0x9f, 0x86, 0xd1,
+ 0x84, 0x7c, 0x7e, 0xf3, 0x14, 0xee, 0x9b, 0xe7, 0x3d, 0xfe, 0xd7, 0x73,
+ 0x97, 0xa8, 0xe1, 0x99, 0x28, 0xac, 0xc4, 0xb3, 0xce, 0x7b, 0x7c, 0xa6,
+ 0x29, 0xa7, 0x01, 0x51, 0xb9, 0xc7, 0xbc, 0xcb, 0xbd, 0x54, 0xf5, 0xdd,
+ 0xbc, 0xa3, 0xbd, 0x25, 0x81, 0x68, 0x4e, 0xee, 0x8f, 0xa3, 0x8a, 0x0a,
+ 0xf4, 0x35, 0xf5, 0xcf, 0xab, 0x12, 0x7c, 0x8d, 0xc6, 0xfb, 0xd9, 0x20,
+ 0x4c, 0xa4, 0x8a, 0x7f, 0xc8, 0x42, 0x79, 0xdd, 0xd7, 0x88, 0x0c, 0x05,
+ 0xb4, 0x69, 0x04, 0x7c, 0xa1, 0xef, 0xac, 0xf8, 0xd0, 0xcb, 0xc1, 0xce,
+ 0x2f, 0xa3, 0xc8, 0x72, 0x96, 0x23, 0xd3, 0x63, 0xf1, 0x4f, 0xb0, 0x96,
+ 0x02, 0x71, 0x2a, 0x03, 0x45, 0x04, 0x47, 0x69, 0x25, 0xb9, 0xfa, 0xee,
+ 0xe0, 0x49, 0x5b, 0xfe, 0x98, 0xae, 0x23, 0x0d, 0xa6, 0x32, 0x46, 0x4d,
+ 0xb8, 0xbb, 0x8f, 0xdb, 0xdc, 0xe3, 0xf6, 0x0c, 0x53, 0x48, 0x8f, 0x7f,
+ 0x6c, 0x44, 0x86, 0xc2, 0x5e, 0x92, 0x23, 0x4a, 0xd4, 0x39, 0x3f, 0x7a,
+ 0xfb, 0x61, 0x78, 0xf4, 0x06, 0x98, 0x97, 0x34, 0x56, 0x39, 0x23, 0x47,
+ 0xe8, 0x4f, 0x4a, 0x41, 0x34, 0x65, 0xc9, 0x67, 0x48, 0xfa, 0x12, 0xd4,
+ 0x35, 0x13, 0x60, 0x8c, 0x31, 0xe8, 0xc2, 0xdc, 0x0a, 0x56, 0x3f, 0xe4,
+ 0xc5, 0x5f, 0xc0, 0xf8, 0xc0, 0xa3, 0x9e, 0x64, 0x54, 0x86, 0xe5, 0x15,
+ 0x63, 0x38, 0x02, 0xca, 0x9f, 0x77, 0x76, 0x77, 0xd6, 0xd3, 0x2c, 0x9b,
+ 0x4b, 0x06, 0xdd, 0xac, 0x5c, 0x14, 0xec, 0xcf, 0x33, 0x2b, 0xa3, 0x5e,
+ 0x2c, 0x76, 0x9a, 0x26, 0x68, 0x55, 0x2d, 0xc1, 0x74, 0x49, 0xcd, 0x10,
+ 0x90, 0xff, 0x24, 0x80, 0x4e, 0x67, 0x13, 0x2f, 0x13, 0x21, 0x98, 0x99,
+ 0xcd, 0xbc, 0xf1, 0xfd, 0xbf, 0x4b, 0x8a, 0x0a, 0x51, 0x11, 0x13, 0xa3,
+ 0xd1, 0x73, 0x77, 0xd2, 0xe9, 0x55, 0x59, 0x99, 0x06, 0x67, 0x36, 0xed,
+ 0xaf, 0x02, 0x66, 0xa7, 0xde, 0x6a, 0xcf, 0x6a, 0x98, 0x3e, 0xcd, 0x3a,
+ 0x30, 0x02, 0xb8, 0x19, 0xe7, 0x42, 0xd3, 0x81, 0xe6, 0x79, 0x02, 0x78,
+ 0x93, 0x42, 0x5b, 0x2c, 0x84, 0x87, 0x92, 0xc1, 0x8c, 0xf9, 0xe0, 0x29,
+ 0x0c, 0x36, 0xe2, 0x3f, 0xb2, 0xaa, 0xec, 0xba, 0x21, 0x54, 0xdd, 0x8c,
+ 0xf5, 0xfc, 0x5f, 0x59, 0xb9, 0x67, 0x77, 0x2f, 0x76, 0x02, 0x66, 0xe9,
+ 0x1d, 0x9c, 0x2b, 0x4b, 0xb7, 0x03, 0x43, 0x0d, 0x69, 0x3a, 0xe8, 0x31,
+ 0xe0, 0x32, 0xa8, 0x86, 0x45, 0x63, 0x79, 0x78, 0xd4, 0x81, 0x8a, 0x5a,
+ 0x5e, 0x6e, 0xb5, 0xc5, 0xfb, 0x12, 0x60, 0x98, 0x78, 0x61, 0x6c, 0xaf,
+ 0xe1, 0xe1, 0x4a, 0x69, 0x98, 0x64, 0x77, 0x6c, 0x72, 0x11, 0x11, 0x7c,
+ 0x6f, 0x8b, 0x7e, 0x3c, 0x2d, 0x29, 0xbe, 0x56, 0x5b, 0xaf, 0x4d, 0x84,
+ 0x50, 0x8a, 0x54, 0xdb, 0x8a, 0x36, 0x22, 0xf0, 0x63, 0x16, 0x36, 0x82,
+ 0x7a, 0x08, 0x48, 0x88, 0xca, 0xc7, 0xe2, 0xab, 0xd7, 0x4a, 0x3c, 0x18,
+ 0x07, 0xbf, 0x19, 0x08, 0x12, 0x6e, 0x87, 0xc7, 0x84, 0x26, 0x7a, 0x6d,
+ 0xe6, 0x4f, 0xe9, 0x36, 0xd2, 0x0d, 0x91, 0x96, 0x80, 0xa2, 0x39, 0x92,
+ 0x6e, 0x1e, 0xb1, 0xe9, 0x7b, 0x5a, 0x83, 0x01, 0xe9, 0x3b, 0x34, 0x1c,
+ 0x58, 0x47, 0x69, 0xe1, 0xf7, 0x15, 0x0b, 0x60, 0xda, 0xc8, 0xcb, 0x09,
+ 0x12, 0x7f, 0xb8, 0x96, 0x43, 0x58, 0xea, 0x4e, 0x6a, 0x87, 0x4b, 0x67,
+ 0x36, 0x90, 0xf6, 0x78, 0x97, 0xcf, 0x16, 0xb3, 0x04, 0x4d, 0xf4, 0x58,
+ 0x43, 0xe9, 0xcf, 0xe8, 0xce, 0xd1, 0x85, 0x05, 0x3e, 0x8e, 0xf1, 0x44,
+ 0xdd, 0xbd, 0x6f, 0x03, 0xa6, 0xd8, 0xb6, 0x52, 0x11, 0x9b, 0xde, 0x61,
+ 0x12, 0x78, 0x2c, 0xd4, 0xff, 0xf1, 0x1d, 0x9a, 0xbc, 0x32, 0x2a, 0xc8,
+ 0x17, 0x61, 0x27, 0x52, 0x4f, 0x72, 0xb0, 0xe0, 0xc0, 0xce, 0x24, 0x9c,
+ 0x6e, 0x36, 0xf1, 0xac, 0x1f, 0xde, 0x6e, 0xf0, 0x4b, 0xc9, 0x2a, 0x2d,
+ 0x97, 0x51, 0x3d, 0xcf, 0xad, 0x2d, 0x7b, 0x9e, 0x86, 0xea, 0x3c, 0x97,
+ 0x7c, 0x2d, 0xc9, 0xc6, 0xbf, 0x62, 0xca, 0xa9, 0xc5, 0x3c, 0xb8, 0xaf,
+ 0xad, 0xa4, 0xb0, 0xfa, 0x93, 0xf9, 0xfc, 0x8e, 0xc0, 0x39, 0xc4, 0x26,
+ 0x23, 0x5f, 0xaf, 0xcc, 0xb1, 0xba, 0x5f, 0x94, 0x12, 0x3c, 0x2e, 0xf2,
+ 0xb6, 0xc8, 0x13, 0x14, 0x5c, 0x23, 0xcc, 0x47, 0xc0, 0x2c, 0x34, 0xfb,
+ 0x34, 0x29, 0xbc, 0x7c, 0x3d, 0x4d, 0x36, 0x7b, 0x7a, 0x77, 0x17, 0x5e,
+ 0x96, 0xce, 0x8c, 0x63, 0x3e, 0x34, 0xb6, 0xf1, 0x9e, 0xdd, 0x75, 0x6c,
+ 0xbc, 0x41, 0x94, 0xb5, 0x4c, 0xb3, 0x4e, 0xd3, 0x51, 0xc9, 0x81, 0x23,
+ 0x9e, 0xa9, 0xd4, 0x9b, 0x45, 0x75, 0x7d, 0x8b, 0x50, 0xb8, 0x4d, 0x69,
+ 0x56, 0xc3, 0xcc, 0x23, 0x01, 0x11, 0x7a, 0x25, 0xfd, 0x34, 0xb8, 0x87,
+ 0xca, 0x54, 0x46, 0x4d, 0xa5, 0x59, 0xd4, 0x49, 0xd2, 0x46, 0x27, 0xe5,
+ 0x82, 0xa3, 0x6f, 0x59, 0x10, 0xce, 0xc9, 0x79, 0xda, 0xe9, 0x34, 0x99,
+ 0xdb, 0x2a, 0x47, 0x95, 0x74, 0x3e, 0xd2, 0x75, 0xb2, 0x6b, 0xe6, 0x3f,
+ 0x2f, 0x16, 0x04, 0x24, 0xf4, 0x18, 0x43, 0x75, 0x6b, 0x46, 0xa7, 0x1d,
+ 0xc5, 0xca, 0xf4, 0x46, 0x11, 0x31, 0x50, 0x7b, 0x41, 0x2d, 0x3e, 0x20,
+ 0xa8, 0x9a, 0x23, 0xde, 0x08, 0xff, 0x82, 0x8d, 0xe9, 0xb7, 0x1a, 0x3a,
+ 0x94, 0x10, 0x70, 0x76, 0x67, 0x26, 0x9b, 0x6b, 0x32, 0x24, 0xf6, 0x5e,
+ 0x70, 0xb7, 0x99, 0x40, 0x5b, 0x99, 0x4b, 0x3c, 0x02, 0x58, 0x69, 0xc9,
+ 0x6f, 0x5b, 0x02, 0x06, 0x22, 0xae, 0x6c, 0xe4, 0x2c, 0x72, 0x12, 0xb3,
+ 0xc4, 0x38, 0xff, 0x1b, 0x9c, 0xe9, 0x3a, 0xad, 0xa7, 0xfd, 0xbc, 0x2b,
+ 0xc6, 0x8f, 0x00, 0x82, 0xb3, 0x10, 0x16, 0xbb, 0x0b, 0x4d, 0x13, 0xc3,
+ 0x83, 0xe1, 0x49, 0x87, 0x3b, 0x69, 0x25, 0x03, 0xea, 0x6e, 0x5b, 0xe3,
+ 0xf9, 0x0d, 0x68, 0xda, 0x34, 0x24, 0x44, 0xf7, 0x08, 0x83, 0x3c, 0x08,
+ 0xb6, 0x0b, 0xda, 0xcc, 0x65, 0x55, 0x9c, 0xea, 0x7d, 0xfe, 0xba, 0x63,
+ 0x83, 0x0c, 0x3b, 0xc3, 0x3c, 0x40, 0x84, 0x2d, 0xe1, 0x6a, 0x5b, 0x49,
+ 0x84, 0x4c, 0x06, 0x4f, 0x6c, 0x0b, 0x72, 0xe5, 0xa1, 0xf0, 0x2f, 0x33,
+ 0xbf, 0xe9, 0xc8, 0x87, 0x74, 0x09, 0x50, 0x39, 0xba, 0x7e, 0x8c, 0xf4,
+ 0xc6, 0xa2, 0xd9, 0x44, 0x95, 0xac, 0xf1, 0x34, 0xa1, 0x58, 0x1a, 0xb9,
+ 0xb1, 0xac, 0xa8, 0xa2, 0x36, 0x1c, 0x18, 0x84, 0x38, 0x88, 0x43, 0xc6,
+ 0x62, 0x8e, 0x11, 0x5e, 0x72, 0xc5, 0x2f, 0xed, 0x81, 0xd7, 0x66, 0x57,
+ 0x40, 0xe2, 0x87, 0x8c, 0x82, 0xfb, 0xfb, 0x22, 0xcf, 0x1a, 0x4e, 0x48,
+ 0x1a, 0x24, 0x6f, 0x18, 0xd0, 0x24, 0x95, 0xb3, 0xb8, 0x44, 0x1f, 0xca,
+ 0xf8, 0xd1, 0xa3, 0xb6, 0x03, 0x41, 0xe8, 0xc6, 0x74, 0x88, 0xce, 0xe1,
+ 0x3b, 0x74, 0xfa, 0x90, 0x3a, 0x3d, 0x33, 0x07, 0x1d, 0x7c, 0x2d, 0x92,
+ 0xcb, 0x07, 0x08, 0x8b, 0x84, 0xba, 0x15, 0x80, 0xce, 0x47, 0x32, 0xad,
+ 0x3f, 0x85, 0x86, 0x6d, 0xaf, 0x55, 0x2c, 0x05, 0x86, 0x9e, 0x18, 0x01,
+ 0x0d, 0xd5, 0xda, 0x29, 0xd2, 0xe9, 0x76, 0xdd, 0x4c, 0x48, 0xfe, 0x2d,
+ 0x8a, 0x29, 0x75, 0x92, 0x9a, 0xd2, 0xc2, 0x50, 0xdd, 0xb9, 0x69, 0x62,
+ 0xd4, 0x2a, 0xc1, 0x02, 0x71, 0xd4, 0x39, 0x8c, 0x4d, 0x5a, 0xdd, 0xb5,
+ 0x71, 0xa5, 0xac, 0x42, 0x0a, 0x1d, 0x7f, 0xaa, 0xc8, 0xe0, 0xe5, 0x11,
+ 0x63, 0x22, 0x5b, 0xeb, 0xb6, 0x2a, 0xd3, 0xff, 0x86, 0x3a, 0x64, 0x36,
+ 0xda, 0xa8, 0xac, 0x95, 0xbd, 0xd4, 0x0c, 0xd2, 0xbc, 0xde, 0x3a, 0x4f,
+ 0x20, 0xac, 0x7a, 0x90, 0x13, 0xa4, 0x4d, 0xd2, 0xc5, 0xe5, 0x3f, 0x1f,
+ 0x24, 0x03, 0xe1, 0x37, 0xc2, 0x9a, 0xa9, 0xbf, 0x98, 0x0e, 0xc4, 0x1d,
+ 0x68, 0xc7, 0x76, 0x44, 0x36, 0xa4, 0x45, 0xec, 0x09, 0x10, 0xa7, 0xc5,
+ 0x8c, 0x01, 0xbb, 0x8d, 0x62, 0xa2, 0x91, 0x42, 0x56, 0x66, 0x3b, 0x2d,
+ 0x24, 0xc5, 0x7f, 0x3c, 0x35, 0xb2, 0x3e, 0x62, 0x6b, 0x6a, 0x11, 0x33,
+ 0x22, 0xcd, 0xea, 0x75, 0xc5, 0x69, 0xbd, 0x20, 0xdd, 0x63, 0xba, 0xa0,
+ 0x6f, 0x33, 0xdf, 0x94, 0xe5, 0x3b, 0xd2, 0xcc, 0xe4, 0x28, 0x47, 0x98,
+ 0x65, 0x15, 0xa1, 0x33, 0xea, 0xd1, 0xa5, 0x2d, 0xb4, 0xe4, 0xa1, 0x32,
+ 0x89, 0x75, 0x29, 0xb7, 0x06, 0x4b, 0x7a, 0x47, 0x06, 0x61, 0xcf, 0xaf,
+ 0x10, 0xec, 0x87, 0xca, 0x29, 0x0b, 0x43, 0xbb, 0xd3, 0x2a, 0xff, 0x9b,
+ 0xc6, 0x38, 0xa0, 0xd8, 0xc5, 0xc2, 0x97, 0x8c, 0xdf, 0x37, 0xbd, 0x3d,
+ 0x34, 0x61, 0x17, 0xd8, 0xe8, 0x56, 0xd1, 0xdd, 0xe3, 0xae, 0x77, 0x37,
+ 0x28, 0x0d, 0xcc, 0x8a, 0x83, 0xad, 0xef, 0x2b, 0x67, 0xaf, 0xd5, 0x25,
+ 0xa6, 0x74, 0x29, 0x62, 0x10, 0xdb, 0xc7, 0x14, 0x05, 0x6e, 0x95, 0x01,
+ 0xfe, 0x57, 0xde, 0x87, 0xcf, 0xda, 0x35, 0x6d, 0x84, 0x00, 0xee, 0x57,
+ 0x1d, 0xa8, 0xf4, 0x71, 0x27, 0x6a, 0x09, 0x1c, 0xfe, 0xff, 0xce, 0x13,
+ 0x95, 0x3e, 0xee, 0x48, 0xa5, 0xad, 0x33, 0xb5, 0xa4, 0x94, 0xf3, 0xd2,
+ 0x1e, 0xff, 0x86, 0xa7, 0xcc, 0x62, 0x06, 0x1e, 0x7b, 0xc6, 0x74, 0x4f,
+ 0xfc, 0xdf, 0x7d, 0xca, 0x5e, 0x74, 0xb4, 0x40, 0xb0, 0x29, 0xae, 0x28,
+ 0x1d, 0xe5, 0xa3, 0x2a, 0x08, 0xc3, 0x4c, 0xba, 0xd6, 0xb6, 0x25, 0x3e,
+ 0x8b, 0xd7, 0x8f, 0x62, 0x06, 0x9d, 0x48, 0x18, 0x9f, 0xd1, 0x74, 0x98,
+ 0x90, 0x67, 0x76, 0x39, 0x34, 0x35, 0x78, 0x65, 0xcb, 0x81, 0x8d, 0x6e,
+ 0xe9, 0x47, 0x09, 0x80, 0x69, 0xab, 0x8d, 0x09, 0xef, 0x96, 0x1d, 0xd7,
+ 0x95, 0xb9, 0xdb, 0xe7, 0x39, 0xab, 0x08, 0x46, 0x7b, 0xa1, 0x2c, 0xce,
+ 0xaf, 0x87, 0xc3, 0xfe, 0xc1, 0xd9, 0x71, 0xf7, 0xe4, 0xb5, 0x3f, 0xa7,
+ 0x95, 0xb9, 0x9f, 0x2d, 0xad, 0x24, 0xb5, 0x1c, 0x23, 0xd1, 0xfe, 0xb6,
+ 0xd1, 0x74, 0xbb, 0x13, 0x7b, 0x50, 0x27, 0x2d, 0x10, 0xa0, 0xf4, 0xc8,
+ 0xe7, 0x31, 0x16, 0xfe, 0x4d, 0xce, 0xe4, 0xe3, 0xb4, 0x72, 0x92, 0x5b,
+ 0x78, 0x20, 0x80, 0x4c, 0x82, 0x25, 0x83, 0x38, 0x2e, 0x76, 0x5f, 0x3e,
+ 0xdf, 0x35, 0xe7, 0xe2, 0x9e, 0x69, 0xe2, 0xe4, 0xe5, 0xa7, 0x83, 0x27,
+ 0xdb, 0x4f, 0x07, 0x4f, 0x49, 0xaa, 0x49, 0x00, 0x03, 0x66, 0x9d, 0x34,
+ 0x6f, 0xe4, 0x5d, 0x04, 0x32, 0xc0, 0xd7, 0xd8, 0xfb, 0xa3, 0xc3, 0x84,
+ 0x91, 0x65, 0x20, 0x0e, 0x4b, 0x90, 0xe8, 0x42, 0x49, 0x33, 0x92, 0xff,
+ 0x8c, 0xc8, 0x36, 0x09, 0x53, 0x59, 0x44, 0xde, 0xae, 0x81, 0x39, 0x16,
+ 0x4c, 0x87, 0x1a, 0x13, 0x48, 0x1e, 0x2f, 0x6c, 0x47, 0x48, 0xe0, 0xb1,
+ 0x5d, 0x21, 0xf3, 0x42, 0x7d, 0x0c, 0x93, 0x44, 0xbc, 0x29, 0x79, 0x24,
+ 0xf1, 0x33, 0x55, 0x4f, 0x5d, 0xbe, 0x3e, 0x6a, 0xc0, 0x2c, 0x31, 0x81,
+ 0x9c, 0x7b, 0x32, 0xb0, 0x74, 0x44, 0x24, 0x2a, 0x2a, 0x8e, 0xbc, 0x2c,
+ 0xe3, 0x99, 0x35, 0x4a, 0x2e, 0xff, 0x3e, 0x29, 0x06, 0xbf, 0xd4, 0xa2,
+ 0x8a, 0xa8, 0xc4, 0x9e, 0xe1, 0xa4, 0x5d, 0x17, 0x51, 0x26, 0xd6, 0xd2,
+ 0xb2, 0x01, 0x89, 0x91, 0xd4, 0xf5, 0x05, 0xf0, 0x16, 0xa0, 0xe3, 0xcc,
+ 0x36, 0x94, 0xd7, 0x94, 0x6d, 0x3f, 0xf2, 0x33, 0x6d, 0x3d, 0x92, 0x3b,
+ 0x40, 0x1f, 0xe3, 0xb6, 0xaa, 0x2c, 0x9d, 0x4a, 0xaf, 0xbc, 0xef, 0x84,
+ 0xbf, 0x44, 0x3c, 0x92, 0xc4, 0x6d, 0x1d, 0x62, 0xa6, 0x1c, 0x99, 0xa8,
+ 0x76, 0xc1, 0x22, 0x28, 0x1c, 0x99, 0xfa, 0xbc, 0x32, 0x17, 0x4a, 0x3e,
+ 0x4f, 0xa7, 0xc9, 0x23, 0xa0, 0xbf, 0xcb, 0x17, 0xff, 0x81, 0x62, 0x79,
+ 0xe8, 0xbd, 0x9e, 0xce, 0x15, 0xa2, 0x4e, 0x89, 0x5b, 0xba, 0x97, 0x5e,
+ 0x28, 0xe7, 0x96, 0x34, 0x46, 0x50, 0x54, 0x91, 0x67, 0x9e, 0x38, 0xeb,
+ 0x46, 0xb6, 0x09, 0x06, 0xa2, 0x3e, 0xa6, 0x71, 0x39, 0x9b, 0x23, 0x5e,
+ 0x80, 0x8b, 0x4e, 0x9b, 0x95, 0xcc, 0x34, 0x72, 0x88, 0x71, 0x35, 0x87,
+ 0x15, 0xe2, 0x9d, 0x6b, 0x31, 0x8f, 0x1f, 0x21, 0x7b, 0x7f, 0x0b, 0x61,
+ 0x48, 0x4a, 0x1c, 0x7b, 0x1a, 0x7e, 0xb9, 0x3a, 0x27, 0x53, 0x98, 0x6c,
+ 0x22, 0x34, 0x2b, 0x39, 0x46, 0xca, 0x56, 0xa8, 0xe1, 0xf2, 0x88, 0x9f,
+ 0x0a, 0x81, 0x31, 0x6c, 0x90, 0xad, 0xc1, 0xa3, 0xe8, 0x65, 0x3b, 0xaa,
+ 0x5f, 0x48, 0x72, 0xf3, 0x7f, 0x83, 0x22, 0xf8, 0x2c, 0xb1, 0x6b, 0xf5,
+ 0x18, 0x85, 0x90, 0x99, 0x98, 0xb9, 0xe8, 0x67, 0x40, 0x32, 0xe4, 0x8c,
+ 0xae, 0xff, 0xa7, 0x0f, 0xfe, 0xff, 0x92, 0x3e, 0xf8, 0xcf, 0x9c, 0x52,
+ 0xaa, 0x10, 0x0d, 0x1d, 0xc2, 0x3f, 0x99, 0xfe, 0x61, 0x8c, 0xe1, 0x81,
+ 0xa7, 0xf7, 0x03, 0x97, 0x05, 0xf6, 0x0b, 0x8e, 0x68, 0xb8, 0x15, 0xfe,
+ 0xef, 0x38, 0xa2, 0x8f, 0x3a, 0x99, 0xff, 0xcf, 0xfb, 0xf1, 0xdf, 0xed,
+ 0x1c, 0xae, 0xc0, 0x7a, 0x6c, 0x9a, 0x6d, 0x76, 0x4b, 0x95, 0x0e, 0xb8,
+ 0xda, 0x08, 0x6c, 0xed, 0x2d, 0xa7, 0xfa, 0x50, 0xbe, 0x0c, 0x4f, 0xdd,
+ 0xf1, 0xd9, 0x77, 0xcf, 0x7b, 0x14, 0xc1, 0x1a, 0x76, 0xa3, 0x96, 0x55,
+ 0x72, 0xf2, 0xe6, 0xe0, 0xec, 0x17, 0x9c, 0xf6, 0xbf, 0xc2, 0xd1, 0x3a,
+ 0xcf, 0xb2, 0x49, 0x9f, 0x23, 0x24, 0xaf, 0xf0, 0x8f, 0x68, 0x4c, 0x51,
+ 0x93, 0xe0, 0xb1, 0x6d, 0x29, 0x70, 0x12, 0x06, 0x6b, 0xf1, 0xb2, 0x51,
+ 0x53, 0x0a, 0xa1, 0xa5, 0x98, 0xa3, 0xf6, 0x61, 0xe0, 0x65, 0x29, 0x8b,
+ 0xc9, 0x96, 0xa8, 0x80, 0xfc, 0x6d, 0x6c, 0x15, 0x09, 0xb2, 0xd3, 0xf1,
+ 0xbe, 0x22, 0xf2, 0x2a, 0x4b, 0xff, 0xe7, 0x3d, 0xc3, 0x40, 0xa1, 0x28,
+ 0xe2, 0xe3, 0xde, 0x0d, 0x85, 0x83, 0x3b, 0x4c, 0x31, 0xf5, 0x64, 0x87,
+ 0x0b, 0xdb, 0x23, 0x17, 0xf8, 0x77, 0x4c, 0x88, 0xef, 0x7e, 0x7e, 0x19,
+ 0x66, 0x60, 0xe5, 0x54, 0xfa, 0x2b, 0xd1, 0x9a, 0x41, 0x8a, 0x05, 0x4e,
+ 0x16, 0x55, 0x58, 0xc8, 0x2b, 0xf5, 0x67, 0x87, 0xc3, 0xe4, 0xdc, 0x5f,
+ 0xfb, 0x89, 0xf6, 0x5c, 0x9a, 0xcf, 0xb7, 0xa6, 0x33, 0x02, 0x8d, 0xef,
+ 0xb5, 0x20, 0x19, 0x7e, 0x97, 0x6c, 0x44, 0x70, 0x37, 0x51, 0xe7, 0x3e,
+ 0x70, 0x5b, 0x82, 0x58, 0x31, 0xbb, 0x29, 0x34, 0xfd, 0xdc, 0xeb, 0x0f,
+ 0x21, 0x9d, 0xca, 0xa2, 0xa9, 0x98, 0x4b, 0x59, 0x82, 0xa5, 0xb5, 0x92,
+ 0x7c, 0x2f, 0xbc, 0x82, 0x8a, 0x29, 0xd7, 0x36, 0xa7, 0x59, 0x0b, 0x19,
+ 0x0d, 0xf9, 0x7c, 0x67, 0xcd, 0x78, 0x60, 0x57, 0x16, 0x2c, 0x63, 0x54,
+ 0xf3, 0xdc, 0xa8, 0xb8, 0x5a, 0x16, 0xd2, 0x8c, 0xb0, 0xba, 0xd7, 0x7c,
+ 0xf7, 0xfe, 0x12, 0x6f, 0x85, 0x06, 0xfb, 0x97, 0xe0, 0x9f, 0x7f, 0x43,
+ 0xbc, 0xe7, 0xea, 0x02, 0x44, 0x61, 0x8e, 0xb7, 0x3a, 0x64, 0xac, 0x54,
+ 0x48, 0x51, 0x7c, 0x1c, 0x55, 0x48, 0xcd, 0xef, 0xf2, 0xe6, 0x9e, 0x68,
+ 0x02, 0x6e, 0x05, 0x9d, 0xde, 0x95, 0xf7, 0xc3, 0x93, 0x27, 0x98, 0xd6,
+ 0x8b, 0x93, 0xa1, 0x4f, 0xb7, 0x5d, 0xa3, 0x72, 0x25, 0xf2, 0x93, 0xbe,
+ 0x3a, 0x3a, 0x18, 0x5e, 0x0c, 0x82, 0x21, 0x9a, 0x31, 0x86, 0xa8, 0x10,
+ 0x9b, 0x63, 0x94, 0x81, 0x7c, 0x68, 0x9a, 0xde, 0x13, 0xc7, 0x9d, 0xe4,
+ 0x3d, 0x51, 0xe7, 0xb8, 0x6f, 0xda, 0x3a, 0xd9, 0xb9, 0x29, 0xc3, 0x6e,
+ 0x9b, 0xac, 0x0a, 0xa9, 0xa9, 0xcc, 0xdc, 0x8d, 0xf2, 0x29, 0x8d, 0xc0,
+ 0xf4, 0xcb, 0x58, 0x43, 0x33, 0x41, 0x33, 0x23, 0x89, 0xb6, 0x9c, 0x12,
+ 0x9e, 0x8c, 0x3e, 0xd3, 0xf6, 0x43, 0x10, 0x85, 0xa6, 0x64, 0x16, 0x2f,
+ 0xcf, 0x13, 0x34, 0x5a, 0x46, 0x59, 0x67, 0xc2, 0x53, 0x46, 0x6d, 0xe8,
+ 0x5c, 0x71, 0x12, 0x93, 0x4d, 0x23, 0xc0, 0x2b, 0x60, 0x59, 0x08, 0x93,
+ 0xb0, 0xd2, 0xfa, 0x93, 0x42, 0xd1, 0x51, 0xda, 0x8b, 0x90, 0x33, 0x2b,
+ 0x81, 0x75, 0x5d, 0x4b, 0xc8, 0x2c, 0x34, 0x52, 0x56, 0x29, 0x75, 0xa1,
+ 0x6b, 0xdb, 0x7d, 0x9f, 0x13, 0xe9, 0xef, 0xd6, 0x8a, 0xf5, 0xb6, 0x11,
+ 0xf2, 0x56, 0x49, 0x33, 0x6a, 0x2d, 0x5e, 0xca, 0x27, 0x19, 0x5f, 0x67,
+ 0xe6, 0x12, 0x19, 0x78, 0x89, 0xd7, 0x8f, 0x9e, 0x90, 0xb5, 0x80, 0xa1,
+ 0x2b, 0x32, 0x3d, 0xbf, 0x78, 0x42, 0x9e, 0x3e, 0x0d, 0x27, 0xa4, 0xca,
+ 0xfe, 0x3e, 0x89, 0x91, 0x1a, 0x03, 0x1a, 0x0e, 0x5c, 0x3a, 0xe3, 0xb9,
+ 0xcf, 0x99, 0x99, 0x99, 0xba, 0xba, 0x4d, 0x25, 0x50, 0x14, 0x63, 0xeb,
+ 0xf8, 0xae, 0xc8, 0xc2, 0xa6, 0x10, 0x64, 0x58, 0x11, 0xb5, 0x91, 0x7c,
+ 0x69, 0xf7, 0xac, 0x02, 0x9e, 0xba, 0xd9, 0xfa, 0x82, 0xf2, 0x94, 0x8f,
+ 0xac, 0xd4, 0x20, 0x09, 0xdb, 0x89, 0x42, 0x1a, 0x94, 0x00, 0x66, 0x0f,
+ 0x4f, 0xbf, 0x7f, 0xd9, 0xcc, 0xed, 0xc0, 0x56, 0xee, 0x8e, 0x9d, 0x60,
+ 0x32, 0x94, 0xcf, 0x19, 0x63, 0xe7, 0xc1, 0xcb, 0xe8, 0x93, 0x0b, 0x48,
+ 0x2c, 0xf6, 0xc2, 0xae, 0x98, 0x82, 0x00, 0x52, 0x46, 0x75, 0x3a, 0x18,
+ 0x2d, 0x0a, 0x6e, 0x21, 0xa9, 0x64, 0xfa, 0xd8, 0x89, 0x08, 0x85, 0x07,
+ 0xa6, 0xa5, 0x15, 0x1b, 0xb5, 0x03, 0x16, 0x09, 0xae, 0xf1, 0x51, 0x99,
+ 0x02, 0xce, 0x7c, 0x02, 0xc8, 0xb8, 0x1f, 0x92, 0xff, 0x1a, 0x6b, 0xfe,
+ 0x26, 0x9b, 0x22, 0x17, 0x28, 0x2b, 0xc6, 0xd5, 0xfd, 0xdc, 0x67, 0xe1,
+ 0x9e, 0xfc, 0x33, 0xf3, 0xaf, 0x90, 0x7d, 0xa9, 0xaa, 0xbb, 0x6b, 0x84,
+ 0xdd, 0x56, 0xa8, 0x7f, 0x51, 0xda, 0xa2, 0xca, 0x37, 0xf6, 0x4c, 0x01,
+ 0x71, 0xcb, 0x31, 0x62, 0xab, 0xff, 0x92, 0x35, 0xa3, 0xd2, 0x9b, 0x79,
+ 0xee, 0x98, 0x59, 0xac, 0x1b, 0xf7, 0x58, 0x80, 0xb7, 0xc8, 0x42, 0x95,
+ 0x1f, 0xbd, 0xf6, 0x7b, 0x3d, 0x9e, 0xb0, 0x9b, 0xbd, 0x20, 0x97, 0x81,
+ 0x44, 0xc2, 0x5b, 0xf2, 0xd2, 0xb4, 0x1d, 0xf1, 0x74, 0x60, 0xb5, 0xa0,
+ 0xd1, 0x1e, 0xbb, 0xa2, 0xfc, 0x92, 0x89, 0x8a, 0x21, 0x0d, 0xf0, 0x4d,
+ 0x9c, 0x16, 0x4d, 0x6f, 0xbb, 0x1c, 0xba, 0xa1, 0x11, 0xae, 0x8c, 0xde,
+ 0x52, 0xdf, 0xd2, 0x68, 0x91, 0x0b, 0x43, 0x00, 0xdd, 0x80, 0xe6, 0xe9,
+ 0x9b, 0xbd, 0x65, 0x9c, 0xd2, 0x03, 0xf9, 0x35, 0x72, 0x4c, 0x27, 0x54,
+ 0xbe, 0xc0, 0x11, 0xde, 0x25, 0xb6, 0x72, 0x2e, 0xc0, 0x8b, 0xe4, 0xa0,
+ 0x7e, 0xbe, 0xfb, 0xd9, 0xf3, 0xad, 0x55, 0xa5, 0x42, 0xa9, 0xda, 0x07,
+ 0x65, 0xcf, 0xf1, 0x26, 0xa2, 0x7f, 0xed, 0x0d, 0xfc, 0x09, 0xf2, 0x4a,
+ 0x12, 0x48, 0xd6, 0x69, 0x78, 0xc7, 0x99, 0x0b, 0x87, 0x36, 0x05, 0x26,
+ 0x42, 0x99, 0xdb, 0xb1, 0x5d, 0x78, 0x5c, 0x64, 0xcd, 0xc8, 0x39, 0xc7,
+ 0x66, 0xee, 0x9a, 0x85, 0x41, 0xb1, 0x4a, 0x98, 0x89, 0xfd, 0x27, 0xda,
+ 0x07, 0xbe, 0x3f, 0xfd, 0xfa, 0x6f, 0xdc, 0x59, 0xfc, 0x7d, 0xd0, 0xfe,
+ 0x97, 0x1f, 0xd0, 0x74, 0x0d, 0xfc, 0x9a, 0x55, 0x7e, 0xf2, 0x2f, 0x58,
+ 0xe5, 0x27, 0xab, 0x57, 0xf9, 0xc9, 0x63, 0x57, 0xf9, 0xb3, 0x67, 0xcf,
+ 0x5f, 0xfc, 0x8a, 0x55, 0xf6, 0x66, 0xf8, 0xff, 0xd8, 0x2a, 0x7b, 0x3b,
+ 0xed, 0xd7, 0xad, 0xb2, 0x00, 0x43, 0x02, 0x41, 0x2c, 0xa5, 0x32, 0x08,
+ 0xc2, 0x47, 0xb9, 0xee, 0x0c, 0xe1, 0xe7, 0x67, 0x2d, 0x7b, 0x6c, 0x8b,
+ 0x50, 0xd8, 0x96, 0xc9, 0x22, 0x4d, 0x2c, 0x62, 0x66, 0xbb, 0xcc, 0x7b,
+ 0xe8, 0xb8, 0xf3, 0x29, 0x95, 0x5b, 0xda, 0xe8, 0x6f, 0xa8, 0x83, 0x44,
+ 0x33, 0x9b, 0x94, 0xb8, 0x86, 0x3f, 0x67, 0x96, 0xfa, 0x5f, 0x48, 0x7c,
+ 0x14, 0xe2, 0x66, 0x3c, 0xe4, 0x53, 0x6b, 0xd2, 0x96, 0x54, 0xdf, 0x88,
+ 0x26, 0xb6, 0x53, 0xc1, 0x97, 0x76, 0xc5, 0x17, 0xc6, 0x87, 0x32, 0x17,
+ 0x14, 0x34, 0xe1, 0x6e, 0x65, 0x93, 0xbc, 0x06, 0x2e, 0x39, 0x48, 0x9d,
+ 0xa3, 0xbb, 0x4e, 0xc0, 0x4f, 0xed, 0xb2, 0x22, 0x0e, 0x68, 0x67, 0x8b,
+ 0x8b, 0x77, 0x2d, 0x96, 0xc0, 0x7a, 0x22, 0xc0, 0xa9, 0x94, 0x7f, 0xd1,
+ 0x9b, 0x83, 0x6d, 0xd3, 0x37, 0x34, 0xe8, 0xc9, 0x62, 0x36, 0x57, 0x1a,
+ 0x2f, 0xca, 0x6d, 0xc8, 0xb9, 0xb6, 0x38, 0x27, 0xf1, 0xc6, 0x4a, 0xf8,
+ 0xa6, 0x95, 0xe7, 0x7e, 0x11, 0xdc, 0x17, 0xbb, 0x72, 0xb4, 0x72, 0x89,
+ 0xe3, 0xf6, 0xe1, 0x31, 0x48, 0x0e, 0x11, 0xb2, 0x09, 0x8a, 0x2e, 0x2c,
+ 0x92, 0xb3, 0x1f, 0x29, 0xd5, 0x69, 0x92, 0x8d, 0x16, 0x57, 0x9a, 0x09,
+ 0x6b, 0x2b, 0x45, 0xb5, 0x17, 0x0b, 0xd9, 0x17, 0xc4, 0x8d, 0x91, 0x69,
+ 0x61, 0xe0, 0x90, 0x14, 0xa0, 0xa1, 0x1a, 0x69, 0xe3, 0x55, 0xb8, 0xa9,
+ 0x60, 0xe0, 0xd8, 0x03, 0xad, 0x91, 0xe3, 0x27, 0xad, 0x0a, 0x3e, 0x91,
+ 0x92, 0x36, 0xfe, 0x56, 0x69, 0xc6, 0xf3, 0xfe, 0x65, 0x4a, 0xb4, 0x7a,
+ 0x41, 0x2a, 0xa4, 0x60, 0x25, 0xc5, 0x89, 0x77, 0x71, 0x78, 0x96, 0xbc,
+ 0x4d, 0xa5, 0xa0, 0x46, 0xb2, 0x69, 0x04, 0xd3, 0x67, 0x4f, 0x77, 0x9f,
+ 0x6c, 0xad, 0x54, 0x50, 0xdb, 0x34, 0x31, 0xf8, 0x56, 0x51, 0xc6, 0x30,
+ 0xab, 0x17, 0x8b, 0x0a, 0x79, 0xc2, 0x98, 0x7e, 0xf3, 0xa5, 0x8f, 0xef,
+ 0x4f, 0xdf, 0x1c, 0x9d, 0x1c, 0xfc, 0xd5, 0xe6, 0x39, 0xd3, 0x24, 0x68,
+ 0xaa, 0xdc, 0x47, 0x63, 0xd7, 0xdd, 0x7f, 0x34, 0xa6, 0xb2, 0xf9, 0xe5,
+ 0xe6, 0x93, 0x2d, 0xca, 0xda, 0x09, 0xaa, 0xab, 0x5d, 0x65, 0xad, 0x1c,
+ 0x71, 0x81, 0x10, 0xaf, 0x20, 0x3a, 0xb1, 0x9e, 0xbb, 0x9d, 0xc1, 0x9e,
+ 0x90, 0xe6, 0x0b, 0xe9, 0xb7, 0x3b, 0xca, 0x1e, 0x7d, 0x7f, 0x2a, 0x4c,
+ 0x48, 0x9a, 0x93, 0x1d, 0x6c, 0x8f, 0xbb, 0xf9, 0x34, 0x1f, 0xe7, 0xa4,
+ 0xc6, 0xd7, 0x66, 0xd7, 0x9a, 0x3d, 0x91, 0x53, 0x7c, 0xfa, 0xb2, 0x4d,
+ 0xa8, 0x86, 0x4c, 0x33, 0xfa, 0xc5, 0xea, 0x78, 0x6b, 0x5b, 0x24, 0x36,
+ 0x90, 0xa1, 0xd9, 0xb4, 0xc8, 0x9a, 0xbe, 0x74, 0xec, 0x95, 0xf9, 0xf3,
+ 0xf5, 0x4d, 0x3a, 0x0d, 0x92, 0x18, 0xa9, 0x38, 0x99, 0xee, 0x4c, 0x8b,
+ 0x2b, 0xa4, 0x37, 0xbd, 0x82, 0x01, 0x43, 0xcb, 0x9b, 0xaf, 0x4f, 0x9a,
+ 0xa3, 0x12, 0xf0, 0xe3, 0x5f, 0x5c, 0xfc, 0xf5, 0xec, 0xe8, 0xf5, 0x2b,
+ 0x42, 0x25, 0x7e, 0x41, 0xb8, 0xf3, 0xba, 0x05, 0x52, 0x4c, 0xa8, 0x76,
+ 0x6e, 0x30, 0x86, 0x1f, 0xde, 0x1c, 0x0f, 0xcf, 0x4e, 0x4e, 0x0f, 0x5f,
+ 0xbf, 0xfa, 0x81, 0xcc, 0x2d, 0x23, 0x53, 0xef, 0xbd, 0x77, 0xed, 0xcf,
+ 0x2c, 0x05, 0x78, 0x98, 0x06, 0x7f, 0xf4, 0xfd, 0xc7, 0xa3, 0xf7, 0xdf,
+ 0xbd, 0x7e, 0x75, 0x93, 0x56, 0x3d, 0x1a, 0x1f, 0xbf, 0xbd, 0xa4, 0xf6,
+ 0x5f, 0x6b, 0xab, 0x91, 0xde, 0x3a, 0x9a, 0x7e, 0xaa, 0xf3, 0x7f, 0x64,
+ 0x89, 0x79, 0x7d, 0xba, 0x08, 0x29, 0x78, 0x2f, 0x38, 0x73, 0xd8, 0x4c,
+ 0x06, 0xfd, 0x2d, 0xf9, 0xea, 0xe4, 0x5b, 0xa2, 0x79, 0xb4, 0x0e, 0xc4,
+ 0x19, 0x57, 0x16, 0x49, 0xbe, 0x78, 0xb6, 0xbb, 0xb7, 0xe5, 0xca, 0xe6,
+ 0x81, 0x26, 0xd6, 0xf4, 0xf8, 0x53, 0x90, 0x33, 0xf1, 0x0f, 0xa5, 0xba,
+ 0xb2, 0xa5, 0x1d, 0x00, 0xec, 0xf7, 0x48, 0x19, 0xd4, 0x17, 0x83, 0x0c,
+ 0x6f, 0xa6, 0x9e, 0x28, 0x49, 0x1e, 0x10, 0x5b, 0x4e, 0xe0, 0x8a, 0xba,
+ 0x78, 0xeb, 0x51, 0x33, 0x7c, 0xe5, 0xb6, 0x9e, 0xe9, 0x8e, 0xb8, 0xb3,
+ 0x56, 0x5e, 0x1b, 0xbf, 0x63, 0x90, 0xa3, 0x6b, 0x6b, 0x61, 0xb2, 0x8d,
+ 0x29, 0x2e, 0xfb, 0x27, 0x3e, 0xcf, 0x1e, 0xfc, 0x05, 0xd9, 0x1f, 0x25,
+ 0xd3, 0x89, 0x61, 0x94, 0xba, 0xf1, 0x34, 0x07, 0xf6, 0x01, 0xe7, 0x56,
+ 0x3e, 0xa3, 0x9c, 0xc1, 0xac, 0x4e, 0xd4, 0xf1, 0xe1, 0xb9, 0x35, 0xa6,
+ 0xd9, 0x55, 0x3a, 0xbe, 0xb7, 0xf4, 0xa8, 0x42, 0xed, 0x11, 0xc9, 0xd8,
+ 0x4f, 0xc7, 0x64, 0xe5, 0x4c, 0xb3, 0xc9, 0x15, 0xc4, 0x33, 0xa7, 0xfe,
+ 0x9b, 0xe3, 0x6a, 0xbd, 0x21, 0xdc, 0x35, 0x4b, 0x71, 0xa0, 0xd7, 0xe5,
+ 0xf2, 0xfc, 0x16, 0x5b, 0x06, 0xad, 0xbd, 0xfb, 0x68, 0xdb, 0xa0, 0xa8,
+ 0xe7, 0xca, 0x39, 0x7d, 0xda, 0x76, 0x25, 0xff, 0x03, 0x87, 0x9c, 0xd8,
+ 0x63, 0xe0, 0xad, 0x7c, 0x45, 0x7f, 0x8d, 0x73, 0x48, 0xa3, 0x00, 0x0d,
+ 0xec, 0x79, 0xae, 0xdb, 0xea, 0x28, 0xd7, 0x2c, 0xef, 0x97, 0xd4, 0x65,
+ 0x20, 0x2a, 0xe2, 0xc6, 0xf9, 0x99, 0xe3, 0xdc, 0x4c, 0xd6, 0xdb, 0x6b,
+ 0xb6, 0x27, 0x5f, 0x56, 0xb4, 0x33, 0x96, 0xb4, 0xe7, 0x65, 0x66, 0x85,
+ 0xb1, 0x0b, 0x4e, 0x09, 0xa2, 0x28, 0xfd, 0x2b, 0x6a, 0x8b, 0x44, 0x22,
+ 0xe9, 0x24, 0x66, 0xa6, 0xbe, 0xd0, 0x70, 0x48, 0xea, 0xb3, 0x57, 0xe0,
+ 0x21, 0x66, 0x3f, 0xa8, 0xc3, 0xc4, 0x71, 0x57, 0x0f, 0x9e, 0x04, 0x27,
+ 0x23, 0x17, 0x28, 0xd6, 0x64, 0x29, 0x51, 0x4d, 0x37, 0x6b, 0x55, 0xd6,
+ 0x28, 0x05, 0x0a, 0xf6, 0xab, 0x23, 0x4c, 0x8c, 0x30, 0x6f, 0xf8, 0x19,
+ 0x3b, 0x44, 0x9d, 0x23, 0xbc, 0x25, 0x18, 0x9c, 0xd6, 0x24, 0x40, 0xa7,
+ 0x36, 0x67, 0x34, 0x98, 0x2d, 0x26, 0xb5, 0x8a, 0x92, 0x99, 0x5b, 0xe5,
+ 0xb2, 0x75, 0x4f, 0x99, 0x46, 0xe9, 0x7d, 0xb9, 0xa3, 0x70, 0x2b, 0x71,
+ 0x16, 0x31, 0x37, 0xeb, 0xcd, 0x48, 0x90, 0x11, 0xd2, 0x30, 0xc2, 0xbd,
+ 0x7b, 0x49, 0x11, 0x25, 0xae, 0xe2, 0xca, 0xfd, 0x19, 0x55, 0x86, 0x66,
+ 0x54, 0x5b, 0xda, 0xec, 0x6f, 0xd9, 0xe4, 0xdf, 0xbc, 0xb1, 0x4a, 0x5b,
+ 0x84, 0x26, 0xc2, 0xd2, 0xf6, 0xda, 0x1a, 0x5a, 0xec, 0x15, 0xd4, 0x1d,
+ 0x22, 0x7b, 0x82, 0x3e, 0xb6, 0xcd, 0x79, 0x5f, 0x2a, 0x84, 0xf2, 0x48,
+ 0xea, 0x69, 0xd0, 0x58, 0x91, 0xdd, 0xfa, 0x8d, 0x39, 0x85, 0xdc, 0x36,
+ 0xf8, 0x7b, 0x3a, 0x82, 0x8d, 0x31, 0x41, 0x49, 0x2b, 0xc9, 0xab, 0xef,
+ 0x8e, 0xce, 0x87, 0xc7, 0xa7, 0xef, 0xbf, 0x88, 0xda, 0x89, 0x89, 0xfc,
+ 0x36, 0xb1, 0xd5, 0x8c, 0x34, 0xd3, 0xcd, 0xd5, 0x93, 0x21, 0xef, 0x90,
+ 0xba, 0x21, 0x92, 0x03, 0xca, 0xee, 0xa1, 0x07, 0xba, 0x5b, 0xa0, 0x96,
+ 0x16, 0xe0, 0xfe, 0x4c, 0xab, 0x2b, 0xcc, 0x85, 0xd9, 0x8b, 0xb0, 0x69,
+ 0x50, 0x2b, 0x54, 0x8d, 0x1d, 0xfb, 0xd7, 0xbd, 0x60, 0xfc, 0x71, 0xa8,
+ 0x8a, 0x17, 0x29, 0x5e, 0xcc, 0x39, 0x13, 0x8a, 0x52, 0xeb, 0x99, 0x8c,
+ 0xc3, 0xef, 0x5d, 0x40, 0x2a, 0x4e, 0xa5, 0x31, 0xfd, 0x17, 0xcd, 0xc3,
+ 0x37, 0xbb, 0x5e, 0xf6, 0x86, 0x7d, 0x6e, 0x37, 0xf6, 0xdc, 0x6e, 0xf8,
+ 0xdc, 0x5e, 0xec, 0xb9, 0xbd, 0xf0, 0xb9, 0x27, 0xb1, 0xe7, 0xbc, 0x04,
+ 0x1d, 0xcf, 0x7c, 0xd5, 0x19, 0x5a, 0x65, 0x11, 0x7a, 0xeb, 0xd9, 0x2a,
+ 0xa2, 0xb8, 0xe6, 0x99, 0x70, 0x9e, 0x09, 0xab, 0x16, 0xec, 0x72, 0x03,
+ 0xd6, 0x87, 0xd8, 0x74, 0xfc, 0xa8, 0xe6, 0x43, 0x84, 0xd8, 0x21, 0x95,
+ 0xc6, 0x08, 0x5e, 0xf3, 0xdf, 0x2f, 0xc2, 0xb4, 0xbb, 0x04, 0xd3, 0x1e,
+ 0x96, 0x5a, 0x27, 0x35, 0x28, 0xa1, 0xcc, 0x10, 0x2e, 0xef, 0xdb, 0x53,
+ 0x83, 0x42, 0xea, 0x88, 0xf1, 0x86, 0x5a, 0x7a, 0x7d, 0xac, 0x0f, 0xcf,
+ 0xcf, 0xd6, 0x7b, 0x12, 0xcc, 0x33, 0x1f, 0xe8, 0x9b, 0x7f, 0x27, 0xd0,
+ 0xb5, 0x89, 0x20, 0xff, 0xd9, 0x53, 0xc1, 0xdd, 0x70, 0x1f, 0x51, 0xdc,
+ 0x25, 0xe2, 0x5d, 0xc6, 0x2f, 0x2d, 0xf6, 0x88, 0xab, 0xcd, 0xb9, 0x5a,
+ 0x16, 0x46, 0x0d, 0x6e, 0x8f, 0x90, 0x11, 0x01, 0x3d, 0x47, 0x9b, 0x1a,
+ 0xef, 0x9d, 0xc7, 0xd8, 0xc4, 0xdd, 0x1c, 0x74, 0xfc, 0x87, 0x65, 0xf5,
+ 0x49, 0x08, 0xbd, 0xc5, 0x07, 0xca, 0xeb, 0x11, 0x54, 0x59, 0xec, 0xb8,
+ 0x18, 0x48, 0x90, 0xf0, 0x0a, 0x89, 0xff, 0x45, 0x87, 0x2d, 0xb3, 0xd5,
+ 0x93, 0x24, 0xba, 0x25, 0xa5, 0x04, 0xa5, 0xba, 0x1f, 0x1d, 0x29, 0x29,
+ 0xe6, 0x8d, 0x56, 0x3a, 0x8d, 0x3c, 0x90, 0xaf, 0xff, 0xb4, 0xb3, 0xfa,
+ 0x3a, 0x79, 0x91, 0x65, 0xb7, 0xf3, 0x4a, 0x4b, 0x04, 0xbd, 0x4e, 0x99,
+ 0xb4, 0x50, 0x48, 0xbc, 0xb3, 0x1d, 0x84, 0xe9, 0x66, 0x79, 0xba, 0x89,
+ 0xe6, 0xd7, 0x7b, 0x0b, 0x32, 0x50, 0xdf, 0xbc, 0x28, 0x2f, 0x6e, 0xad,
+ 0x3d, 0x3e, 0xeb, 0x87, 0x07, 0xe4, 0x8f, 0x07, 0x6f, 0x47, 0xf1, 0x98,
+ 0xd8, 0xc9, 0x0a, 0x58, 0x4b, 0x1e, 0x35, 0x28, 0xa5, 0x29, 0xfa, 0x75,
+ 0x43, 0x12, 0xff, 0x53, 0x77, 0x8f, 0xd2, 0xc8, 0x42, 0x0f, 0xc0, 0xa3,
+ 0x06, 0xda, 0x1a, 0x29, 0xc9, 0x91, 0x40, 0xfd, 0x3c, 0x19, 0x6e, 0x25,
+ 0xea, 0x0f, 0x74, 0x60, 0x44, 0x1a, 0xa7, 0x27, 0x3a, 0x21, 0x2a, 0x1f,
+ 0x01, 0x42, 0x14, 0x77, 0x20, 0xbd, 0xa9, 0xf4, 0xe3, 0x2b, 0x72, 0x04,
+ 0x43, 0xc9, 0x42, 0xb2, 0x2d, 0xda, 0xc3, 0x88, 0xc3, 0xb2, 0xdd, 0xbd,
+ 0x5d, 0xe1, 0x3d, 0xf0, 0xfa, 0xc7, 0x85, 0x72, 0x7f, 0xfb, 0x1e, 0xee,
+ 0xfd, 0xea, 0x39, 0xdc, 0xfb, 0x17, 0xcd, 0xe1, 0x93, 0x5f, 0x37, 0x87,
+ 0x4f, 0x7e, 0xb3, 0x39, 0x74, 0xf5, 0x4f, 0xe9, 0x21, 0x6a, 0xd9, 0x2b,
+ 0x17, 0x29, 0x7a, 0x03, 0xe9, 0x01, 0xe6, 0x9f, 0x23, 0x8a, 0xea, 0x93,
+ 0x07, 0xc5, 0x3c, 0x48, 0xb9, 0xb7, 0x19, 0x2a, 0x41, 0x76, 0x06, 0xec,
+ 0xf8, 0x22, 0x2d, 0x71, 0x33, 0xb9, 0x1a, 0x91, 0xd8, 0x0f, 0xfe, 0x4c,
+ 0x92, 0xe3, 0x5f, 0x95, 0xa4, 0x1d, 0x1b, 0x79, 0xd7, 0x4b, 0xde, 0x0f,
+ 0x87, 0x1c, 0x6b, 0x1d, 0xc2, 0x5b, 0xdc, 0xb5, 0x97, 0xc8, 0xd0, 0xc4,
+ 0x65, 0xb7, 0x49, 0x37, 0xcb, 0xa9, 0xe9, 0x21, 0xd4, 0x0e, 0x18, 0x00,
+ 0xfc, 0xde, 0x2c, 0x1d, 0xd3, 0x8f, 0x77, 0x06, 0xbb, 0x4f, 0xec, 0x6f,
+ 0xb6, 0x7e, 0x01, 0xc5, 0x87, 0x73, 0xe5, 0xc6, 0xf5, 0xaa, 0x30, 0xdd,
+ 0xa1, 0xbd, 0x14, 0x77, 0xa1, 0x07, 0x9e, 0x95, 0xd8, 0x07, 0x97, 0x82,
+ 0x03, 0x4d, 0x9c, 0x8f, 0xde, 0x39, 0xc1, 0xbd, 0x44, 0xf4, 0xab, 0x98,
+ 0x6e, 0xf5, 0xa0, 0xc7, 0xdc, 0xf3, 0x4e, 0xff, 0x1f, 0xf3, 0x98, 0xc7,
+ 0xf5, 0x9f, 0xd6, 0xbf, 0x5a, 0x69, 0xce, 0x4d, 0xd5, 0xd7, 0xa2, 0x0e,
+ 0x71, 0xda, 0x48, 0x67, 0x19, 0x12, 0xc6, 0x19, 0x9c, 0x3a, 0x13, 0xde,
+ 0x1f, 0x14, 0x43, 0x3c, 0x92, 0x77, 0x9d, 0x83, 0x96, 0x23, 0xd3, 0xd1,
+ 0xea, 0x9d, 0xc2, 0xdc, 0xa7, 0x59, 0xe3, 0x9a, 0xb6, 0xcb, 0xa3, 0xac,
+ 0x79, 0x5b, 0x2d, 0x0a, 0xfd, 0x8c, 0xcb, 0x7f, 0x05, 0x75, 0x45, 0xb0,
+ 0xac, 0xe3, 0x8c, 0x69, 0x0d, 0xf2, 0x87, 0x84, 0xfc, 0xf3, 0xf6, 0x78,
+ 0xd3, 0x71, 0xd6, 0x4f, 0xeb, 0x71, 0x9e, 0xc7, 0x4d, 0x31, 0xf6, 0x5a,
+ 0xc2, 0xf4, 0x5b, 0xc0, 0x05, 0x43, 0x75, 0x6c, 0xc9, 0x69, 0xaa, 0x75,
+ 0x22, 0x89, 0xea, 0x91, 0x13, 0xfe, 0xd9, 0x0a, 0x2c, 0x17, 0xcd, 0x15,
+ 0x48, 0xdf, 0xd0, 0xd9, 0x5e, 0x60, 0xd9, 0x91, 0x63, 0x95, 0x29, 0x11,
+ 0xeb, 0x71, 0x95, 0xcf, 0xc1, 0x7c, 0xe5, 0x55, 0xa4, 0xe8, 0xd9, 0x92,
+ 0x8d, 0xb0, 0x95, 0xc4, 0xfd, 0xcd, 0x35, 0x0c, 0x3f, 0x04, 0x79, 0xd6,
+ 0xeb, 0xfd, 0x75, 0xb2, 0x4b, 0x2d, 0x8d, 0xbf, 0x79, 0x97, 0x28, 0x0b,
+ 0x99, 0xf6, 0x87, 0x5f, 0x45, 0x49, 0xdc, 0xe5, 0xe1, 0x05, 0xf5, 0x43,
+ 0x99, 0x2d, 0x74, 0xaf, 0xa4, 0x78, 0x60, 0x2a, 0x56, 0xff, 0xf2, 0x88,
+ 0xb9, 0x4f, 0xc9, 0x3f, 0xa2, 0x34, 0xb4, 0xd7, 0xd9, 0x1d, 0x67, 0xc8,
+ 0x84, 0xda, 0xa2, 0x94, 0x60, 0xb9, 0xa6, 0xdc, 0x09, 0x3c, 0x7b, 0x30,
+ 0x3c, 0x3c, 0x3e, 0x6e, 0xe5, 0xd3, 0xd0, 0xe4, 0x21, 0xc5, 0x99, 0x73,
+ 0xb5, 0x6b, 0x62, 0x15, 0x23, 0xaf, 0x3b, 0xba, 0x1b, 0x23, 0x29, 0x9e,
+ 0xe5, 0x57, 0xd7, 0x70, 0x9d, 0x65, 0x69, 0x9d, 0x6b, 0x1d, 0xa1, 0x54,
+ 0x74, 0xa6, 0xc2, 0x74, 0x13, 0x56, 0xd2, 0xf5, 0xc2, 0x18, 0xc5, 0xbf,
+ 0x3f, 0x45, 0x40, 0x1c, 0xa6, 0x2a, 0xb3, 0xc5, 0xe7, 0xca, 0x77, 0xd5,
+ 0x87, 0x7b, 0x2d, 0xc2, 0x08, 0x7c, 0x56, 0x49, 0xcd, 0x18, 0xa6, 0xc1,
+ 0x10, 0x4a, 0x5f, 0x2a, 0x6b, 0x4a, 0x34, 0x45, 0xdc, 0xb2, 0x19, 0xab,
+ 0x7a, 0xff, 0x99, 0x2b, 0x53, 0x04, 0x49, 0xa4, 0x7a, 0xac, 0xf8, 0x41,
+ 0x57, 0xe6, 0x01, 0xec, 0x76, 0xaf, 0x41, 0x7c, 0x64, 0xe5, 0x09, 0x20,
+ 0xd2, 0x23, 0x9c, 0x01, 0xe9, 0x51, 0xeb, 0x14, 0xd8, 0x43, 0x40, 0x33,
+ 0x60, 0x8f, 0xc0, 0xbf, 0xe8, 0x04, 0x00, 0x03, 0xec, 0xaa, 0x5f, 0x3c,
+ 0x7c, 0x08, 0x60, 0x49, 0xae, 0xff, 0x69, 0x3d, 0xce, 0x19, 0xfd, 0x88,
+ 0x93, 0xd4, 0x4a, 0x2e, 0xff, 0xd7, 0xee, 0xb4, 0x48, 0xb6, 0xbb, 0x27,
+ 0xc4, 0xfc, 0x35, 0x5d, 0x14, 0xf9, 0x1d, 0xa0, 0xaa, 0x46, 0x5f, 0x78,
+ 0x45, 0x84, 0xc9, 0x4b, 0x98, 0x80, 0x0f, 0x59, 0x7b, 0x49, 0x14, 0x79,
+ 0x8b, 0x51, 0x7c, 0x30, 0x2f, 0x27, 0x93, 0x72, 0x46, 0x71, 0x4b, 0x6e,
+ 0xa3, 0xe7, 0xd3, 0x31, 0x42, 0xac, 0x47, 0xe2, 0x9e, 0x45, 0xd6, 0x90,
+ 0xe9, 0xb6, 0xd2, 0x35, 0xd9, 0x76, 0xf7, 0x5e, 0xa0, 0xfc, 0xca, 0x9c,
+ 0xe0, 0x90, 0x2b, 0xca, 0xfb, 0xb1, 0xc7, 0xd6, 0x03, 0x1f, 0x32, 0x96,
+ 0xd9, 0x1a, 0xa2, 0x1e, 0x6d, 0x75, 0xbb, 0x9c, 0x3a, 0xf8, 0xa0, 0x63,
+ 0x21, 0x5a, 0x4b, 0x5c, 0xee, 0x58, 0xff, 0xf3, 0xae, 0x63, 0x09, 0xcc,
+ 0xf2, 0xce, 0xff, 0x2e, 0x85, 0x79, 0x56, 0x92, 0x66, 0x33, 0xd1, 0xb9,
+ 0xab, 0x87, 0xd6, 0x2a, 0x8f, 0x00, 0xae, 0x99, 0x7c, 0x4a, 0x9b, 0x7f,
+ 0x5b, 0xc3, 0x53, 0xd3, 0x10, 0x55, 0xe8, 0x58, 0xf7, 0x59, 0xd4, 0x11,
+ 0x84, 0x1d, 0x2e, 0x6a, 0xfa, 0x37, 0x68, 0x22, 0xa4, 0xd4, 0x5a, 0x67,
+ 0x10, 0xbc, 0xfd, 0xcb, 0x68, 0xed, 0x73, 0x0e, 0x20, 0x5c, 0x53, 0x29,
+ 0x46, 0xed, 0x57, 0xc5, 0x1b, 0xb1, 0x5d, 0x6c, 0x53, 0x63, 0x12, 0x1e,
+ 0x93, 0x78, 0xa4, 0x1c, 0xb3, 0xe8, 0x60, 0xa2, 0x3b, 0x31, 0x71, 0x18,
+ 0x65, 0x10, 0x10, 0x6f, 0x31, 0xe1, 0x0f, 0x6c, 0xe9, 0x37, 0x5e, 0x58,
+ 0xaf, 0x82, 0x78, 0x10, 0xda, 0x22, 0xf2, 0x8d, 0x16, 0x22, 0x74, 0xc1,
+ 0xf5, 0xa2, 0x14, 0x84, 0xbe, 0x69, 0x14, 0x71, 0x2d, 0xaf, 0x4d, 0x2d,
+ 0x12, 0xe7, 0xb0, 0xab, 0xad, 0x1d, 0xb0, 0xe7, 0x2e, 0x3b, 0x4d, 0x9a,
+ 0x16, 0xe1, 0x26, 0x8a, 0x24, 0xc7, 0x66, 0xaa, 0xe4, 0x54, 0xe4, 0xea,
+ 0xdc, 0x52, 0xd5, 0xd2, 0x9c, 0xf0, 0xbc, 0xf0, 0xb7, 0x7b, 0xa0, 0x46,
+ 0xb2, 0x6c, 0x12, 0xa9, 0x64, 0xb6, 0xb7, 0xd0, 0x58, 0x66, 0xd6, 0x47,
+ 0xe3, 0x7d, 0x67, 0xe0, 0x7f, 0x87, 0x61, 0xc0, 0x5b, 0x01, 0x05, 0xf2,
+ 0x7d, 0xb7, 0x34, 0xa2, 0xfd, 0x36, 0xf5, 0x53, 0xb3, 0xdd, 0xa4, 0x67,
+ 0x08, 0x2d, 0x13, 0x62, 0x0c, 0x91, 0xa3, 0xf0, 0x24, 0x72, 0x95, 0x64,
+ 0x58, 0x22, 0x60, 0x1f, 0xc7, 0x7d, 0x09, 0x9d, 0x44, 0x4b, 0xb0, 0x88,
+ 0x48, 0x13, 0x1a, 0x30, 0xdb, 0x2c, 0x79, 0xe4, 0xc3, 0xe6, 0x78, 0x11,
+ 0x23, 0x93, 0xfa, 0xd7, 0x4e, 0x3a, 0x04, 0xc9, 0xb4, 0xf0, 0x40, 0xdb,
+ 0x2a, 0x25, 0x44, 0x7b, 0xee, 0x93, 0x79, 0x46, 0x89, 0xa0, 0x85, 0xdd,
+ 0x33, 0x39, 0xa2, 0x37, 0xc2, 0xc6, 0xfe, 0x82, 0x56, 0x88, 0x13, 0xd5,
+ 0xab, 0x42, 0x84, 0x9a, 0x9e, 0xc1, 0xce, 0x92, 0xbd, 0x27, 0x7c, 0xb2,
+ 0xc8, 0x5d, 0x1c, 0x08, 0xc3, 0x3e, 0xa9, 0xed, 0xaa, 0x68, 0x26, 0xeb,
+ 0x57, 0xd3, 0x72, 0x34, 0x32, 0xc3, 0x5e, 0xf7, 0xd4, 0x52, 0xf3, 0xe5,
+ 0xc0, 0x11, 0xe6, 0xf7, 0xc3, 0xba, 0x64, 0x7b, 0x0c, 0x2d, 0x60, 0xdb,
+ 0x0f, 0x57, 0xb2, 0x26, 0x89, 0xc8, 0xf7, 0x95, 0x86, 0x32, 0x72, 0xd3,
+ 0x08, 0xf6, 0x4f, 0xb6, 0x06, 0x0d, 0xcc, 0xc3, 0x72, 0x4a, 0xce, 0x14,
+ 0xfd, 0x54, 0x3b, 0x98, 0x70, 0xc1, 0xf3, 0x65, 0x40, 0x20, 0x47, 0x7a,
+ 0x0d, 0xc1, 0x25, 0x55, 0x50, 0xf2, 0xb0, 0x3a, 0x39, 0xcf, 0x42, 0x7b,
+ 0x40, 0xeb, 0xff, 0x49, 0x7f, 0xec, 0xf6, 0xe8, 0xbf, 0x7b, 0xff, 0xb5,
+ 0x9e, 0x90, 0x15, 0xb3, 0xbf, 0xbd, 0x7d, 0x7b, 0x7b, 0x3b, 0x10, 0x76,
+ 0xe7, 0x81, 0x59, 0xb2, 0xb5, 0x30, 0xab, 0x81, 0x58, 0x66, 0x96, 0x7c,
+ 0xe0, 0x22, 0x59, 0xcf, 0x67, 0x57, 0x3f, 0xee, 0xf6, 0x77, 0x77, 0x76,
+ 0x76, 0x7e, 0x1e, 0xcc, 0x69, 0x8a, 0x2f, 0xd1, 0xac, 0xf9, 0xaf, 0xdf,
+ 0xec, 0x36, 0xf7, 0x64, 0x7b, 0x2d, 0x5e, 0x2b, 0x01, 0xbf, 0xb4, 0x19,
+ 0xea, 0x05, 0x73, 0x05, 0xf3, 0x56, 0xde, 0xf7, 0xc4, 0x0c, 0x87, 0x02,
+ 0xd2, 0xe5, 0x39, 0x82, 0x5c, 0xb8, 0x83, 0xfc, 0x9f, 0xcf, 0x9e, 0xec,
+ 0xed, 0x25, 0xac, 0x72, 0x30, 0xf4, 0x9e, 0xe3, 0x51, 0x94, 0x75, 0x29,
+ 0x05, 0x0e, 0xf9, 0x36, 0x1b, 0x13, 0xfd, 0x4c, 0xc5, 0xb5, 0xd3, 0x82,
+ 0x52, 0x5a, 0x16, 0xe9, 0x81, 0x7d, 0x6b, 0xae, 0x4a, 0x42, 0x25, 0x96,
+ 0x93, 0x7b, 0xd7, 0xb0, 0xd9, 0xe5, 0x15, 0x49, 0x57, 0x2a, 0x51, 0xe4,
+ 0x95, 0xe3, 0x4e, 0xeb, 0x98, 0xde, 0x66, 0x61, 0xf4, 0xb8, 0xe6, 0xc0,
+ 0x72, 0x56, 0xd0, 0xfc, 0xa2, 0x12, 0x06, 0x78, 0x8a, 0x16, 0x95, 0xd0,
+ 0xab, 0x23, 0x56, 0x75, 0x9b, 0xde, 0xb7, 0xae, 0x7b, 0x33, 0xe3, 0xaf,
+ 0xcc, 0x7f, 0x96, 0x55, 0xc6, 0x4d, 0xb1, 0x95, 0x30, 0xc2, 0x66, 0x7c,
+ 0x1d, 0xd0, 0x76, 0x42, 0x80, 0x93, 0xf2, 0x7e, 0x6d, 0x46, 0x63, 0x59,
+ 0x31, 0x97, 0x14, 0x9f, 0xf1, 0x72, 0x8e, 0x4c, 0xa3, 0xc4, 0x31, 0x8c,
+ 0x5a, 0xae, 0x5c, 0x8f, 0x92, 0xa5, 0xe2, 0xb2, 0x22, 0x62, 0xb6, 0x66,
+ 0x0b, 0x60, 0x3f, 0x79, 0xad, 0x39, 0x51, 0xe3, 0xeb, 0x6c, 0x26, 0x12,
+ 0x73, 0x53, 0x51, 0x2f, 0xeb, 0xb2, 0x09, 0xd7, 0xc3, 0x4b, 0x6d, 0xfd,
+ 0x52, 0x7e, 0x63, 0x06, 0xb3, 0x25, 0x39, 0x45, 0xf6, 0x9e, 0x13, 0xfe,
+ 0xf5, 0xab, 0x05, 0xd9, 0x8d, 0xa3, 0x54, 0x2e, 0x14, 0xa5, 0xf7, 0x5d,
+ 0x86, 0xd9, 0x22, 0xa1, 0x98, 0x55, 0xb8, 0xc7, 0xc8, 0xcd, 0xd2, 0x17,
+ 0xed, 0x47, 0xae, 0x55, 0xc4, 0x08, 0xcd, 0x89, 0x7d, 0x73, 0x7c, 0x78,
+ 0x81, 0x04, 0x9f, 0x1e, 0x90, 0xc0, 0x3d, 0x64, 0xf5, 0x84, 0x0c, 0xf9,
+ 0x67, 0x70, 0x83, 0x60, 0xa3, 0x8a, 0x2b, 0x3c, 0x75, 0x28, 0x89, 0x0e,
+ 0xe7, 0x7a, 0x2f, 0xf1, 0x78, 0x96, 0x63, 0x84, 0xf5, 0x2d, 0x3d, 0xd1,
+ 0x62, 0x4b, 0x9e, 0x3e, 0x1b, 0xec, 0xf0, 0x18, 0x69, 0x0a, 0x25, 0x06,
+ 0x2a, 0x38, 0x74, 0x78, 0x8b, 0x6a, 0xe1, 0xf3, 0x4b, 0x97, 0x70, 0x91,
+ 0x6a, 0x77, 0x7a, 0x09, 0xd3, 0x57, 0x72, 0x9a, 0xa8, 0xfe, 0xd6, 0x03,
+ 0xbc, 0xac, 0xd4, 0x4d, 0xfd, 0x7a, 0xc8, 0xb4, 0x2d, 0x3b, 0xac, 0x83,
+ 0xe4, 0xd8, 0x2f, 0x6d, 0x06, 0x89, 0xe4, 0x90, 0x47, 0x4b, 0x8b, 0xa2,
+ 0x2a, 0x86, 0x38, 0xaa, 0x9a, 0xac, 0xe8, 0x39, 0xc2, 0xfb, 0x92, 0x6e,
+ 0x01, 0xb9, 0xb2, 0x04, 0x56, 0xdd, 0xaa, 0x12, 0x15, 0xd3, 0x50, 0x82,
+ 0x5a, 0x02, 0xfd, 0xaf, 0xa4, 0xd0, 0x1f, 0x6b, 0xca, 0x31, 0x58, 0x3b,
+ 0x2d, 0xe5, 0x96, 0x02, 0x95, 0xd8, 0x72, 0x55, 0x95, 0x73, 0x40, 0xde,
+ 0xc0, 0x84, 0xd7, 0x5d, 0xfa, 0xcb, 0xc5, 0x1a, 0xe1, 0x6b, 0x0e, 0xca,
+ 0x58, 0x64, 0x05, 0xb2, 0xb7, 0x85, 0x00, 0x83, 0x45, 0xba, 0x9e, 0x40,
+ 0xda, 0x09, 0x30, 0xf7, 0xe0, 0xa0, 0x5a, 0xff, 0x9c, 0x7c, 0xda, 0xaf,
+ 0x0f, 0xd6, 0x5b, 0x27, 0x32, 0x46, 0x99, 0x5f, 0xb3, 0x74, 0x6b, 0xdb,
+ 0x32, 0x22, 0xd3, 0x48, 0xee, 0x67, 0x77, 0x0d, 0xdf, 0xfc, 0x97, 0x28,
+ 0x7e, 0x57, 0x3c, 0xd9, 0x4b, 0xea, 0x7b, 0xa3, 0x46, 0xcc, 0xfc, 0x49,
+ 0xe8, 0x56, 0x3b, 0x8c, 0xfa, 0xf1, 0x5b, 0x25, 0x42, 0x58, 0x6e, 0x7d,
+ 0xa0, 0x57, 0x0e, 0xf0, 0x8a, 0x94, 0x14, 0x50, 0xc8, 0xc5, 0x23, 0x4a,
+ 0x68, 0x96, 0x5a, 0xcf, 0x27, 0x19, 0x4d, 0xd3, 0xe2, 0x93, 0xad, 0xf9,
+ 0xc7, 0x2d, 0xf5, 0xa8, 0x30, 0x15, 0x67, 0xc9, 0xb8, 0x1f, 0x0a, 0x06,
+ 0x03, 0x37, 0x63, 0xa7, 0xb9, 0xbf, 0x2f, 0x48, 0x33, 0x9d, 0xa5, 0x15,
+ 0xa5, 0x4f, 0x60, 0xce, 0x04, 0xbf, 0xb6, 0xb4, 0x4a, 0x27, 0xea, 0x39,
+ 0xda, 0x82, 0x8e, 0xe1, 0x15, 0xc6, 0xf5, 0xb7, 0x99, 0xd3, 0x40, 0x41,
+ 0x80, 0x4b, 0x4a, 0x51, 0xfc, 0x76, 0x11, 0xe5, 0x85, 0xae, 0x84, 0x91,
+ 0xda, 0xe6, 0xbf, 0xfb, 0x1a, 0xbf, 0x58, 0x55, 0xd9, 0x1c, 0x8f, 0xdb,
+ 0x62, 0x8b, 0x36, 0xe2, 0xe1, 0x57, 0xcf, 0x62, 0x05, 0xcf, 0x45, 0x59,
+ 0x62, 0xc9, 0x27, 0x83, 0xe4, 0xd4, 0x19, 0x94, 0x45, 0x0f, 0x84, 0x7f,
+ 0x4d, 0x35, 0x16, 0x73, 0x12, 0x7f, 0xef, 0x6b, 0x29, 0xdc, 0xd8, 0x0c,
+ 0xa0, 0x9a, 0x04, 0x21, 0x5b, 0xee, 0xed, 0x35, 0xd0, 0xea, 0x5d, 0xcf,
+ 0x95, 0x07, 0x9b, 0x82, 0x85, 0xa8, 0xa4, 0x7a, 0x46, 0xc2, 0x73, 0x1f,
+ 0x80, 0xeb, 0x78, 0x10, 0xf1, 0x5a, 0x61, 0x1c, 0x95, 0x64, 0x09, 0xcc,
+ 0xe4, 0xf4, 0xf2, 0x78, 0x2d, 0x91, 0xc8, 0xa9, 0xb9, 0x17, 0x17, 0x73,
+ 0x57, 0x6b, 0x8a, 0x33, 0x50, 0xa7, 0x65, 0xd1, 0x0b, 0xb8, 0x2b, 0x28,
+ 0xee, 0xc7, 0x3e, 0x27, 0x82, 0x75, 0xcc, 0xa4, 0x78, 0x60, 0x66, 0x8b,
+ 0x12, 0xf1, 0x7b, 0xba, 0x37, 0xfd, 0x2f, 0x3f, 0x50, 0xe5, 0x8c, 0x69,
+ 0xd8, 0x75, 0x31, 0xcc, 0x2e, 0xec, 0x71, 0x8e, 0xc2, 0x60, 0x89, 0x3a,
+ 0xc3, 0xd2, 0xe0, 0x5b, 0x63, 0xc3, 0x67, 0x55, 0x69, 0x04, 0xc9, 0x77,
+ 0xcf, 0x14, 0x70, 0x21, 0x55, 0x13, 0xe5, 0xce, 0x92, 0xb5, 0xbc, 0xb7,
+ 0x75, 0x9c, 0xa3, 0xae, 0x14, 0x96, 0x91, 0xfa, 0xa6, 0x5c, 0x5a, 0x6c,
+ 0xca, 0x15, 0xdd, 0x65, 0xa1, 0xeb, 0xcc, 0xf4, 0x91, 0x46, 0x16, 0xe2,
+ 0x37, 0x5a, 0x25, 0x3e, 0xc9, 0x78, 0x30, 0xd7, 0x30, 0xe9, 0x3f, 0xe4,
+ 0xf4, 0xa1, 0x12, 0x8f, 0xa3, 0x26, 0xe5, 0x0a, 0x73, 0xb6, 0xe7, 0x17,
+ 0x39, 0x39, 0x06, 0x06, 0xb2, 0x25, 0xa2, 0xf8, 0x5d, 0xb9, 0xfc, 0x1c,
+ 0x47, 0x66, 0x27, 0xfe, 0x47, 0xda, 0x46, 0x7d, 0x4d, 0xf7, 0x35, 0xdd,
+ 0x23, 0x30, 0x06, 0xd7, 0xe2, 0x9c, 0x8f, 0x34, 0x69, 0xef, 0x2f, 0x4e,
+ 0xde, 0xf5, 0x3a, 0x27, 0x21, 0x28, 0x2b, 0xaf, 0x5b, 0x53, 0x53, 0xc3,
+ 0xc3, 0xac, 0x38, 0x59, 0xd8, 0x5e, 0x62, 0x01, 0xf6, 0x9c, 0x95, 0x49,
+ 0x53, 0xd7, 0x93, 0x80, 0x73, 0x25, 0xd0, 0x6d, 0xb5, 0x0f, 0x79, 0x5e,
+ 0x43, 0x8f, 0x27, 0x21, 0x96, 0x6a, 0xf8, 0x0e, 0x60, 0x52, 0x1b, 0xb9,
+ 0x63, 0xb6, 0xa3, 0x57, 0x13, 0x25, 0xdc, 0xd7, 0x65, 0xeb, 0xd0, 0xf8,
+ 0x0b, 0x46, 0xdb, 0x90, 0x29, 0x71, 0x93, 0x37, 0xe5, 0x6d, 0xd1, 0x3f,
+ 0xa1, 0xfc, 0x9b, 0xe4, 0xa4, 0xbc, 0x22, 0xab, 0xe9, 0x7d, 0xdc, 0xba,
+ 0xff, 0x70, 0xf6, 0x3e, 0xd9, 0x24, 0xe9, 0x9c, 0x9c, 0x59, 0xd6, 0x15,
+ 0x7a, 0x74, 0x4b, 0xb4, 0xd0, 0x9a, 0x6f, 0x2e, 0xe9, 0x4d, 0x2f, 0x39,
+ 0xfa, 0xe1, 0xe0, 0xdd, 0xd9, 0xc9, 0xd1, 0x4f, 0xac, 0x88, 0x06, 0xc3,
+ 0xa1, 0x1f, 0x7f, 0xe9, 0x69, 0xe6, 0xf0, 0xe4, 0x53, 0x6c, 0xcb, 0xf4,
+ 0xe4, 0x7e, 0x99, 0x2c, 0xe0, 0xe3, 0xa3, 0x5b, 0x70, 0x38, 0x3c, 0x3b,
+ 0xee, 0x2b, 0x61, 0x0a, 0x17, 0xd2, 0xc9, 0x0b, 0x52, 0xa2, 0xf9, 0x00,
+ 0x2b, 0x99, 0xf1, 0xb7, 0x61, 0xd0, 0xc2, 0x9e, 0x87, 0x5e, 0xf2, 0x5e,
+ 0x19, 0x48, 0x7b, 0x58, 0x74, 0x92, 0xd2, 0x6f, 0xf2, 0x2b, 0x44, 0x1e,
+ 0x3a, 0xf4, 0x27, 0x5a, 0x76, 0x7c, 0x1c, 0xe0, 0x76, 0x29, 0x43, 0xcf,
+ 0x86, 0x8c, 0xea, 0x6c, 0xca, 0x4e, 0xae, 0xa5, 0x52, 0x14, 0x78, 0x2c,
+ 0x5e, 0x45, 0x00, 0x42, 0x83, 0x90, 0x8a, 0x00, 0x44, 0x47, 0x56, 0xea,
+ 0x89, 0xea, 0xca, 0x3b, 0x84, 0xa5, 0x87, 0xdc, 0x39, 0x56, 0x38, 0xec,
+ 0x1b, 0xfb, 0x7d, 0x91, 0xec, 0xaf, 0xff, 0x8e, 0x17, 0x89, 0xef, 0x11,
+ 0x8c, 0x70, 0xe2, 0xdb, 0x08, 0xab, 0xf5, 0x1f, 0x73, 0xb2, 0x32, 0xbb,
+ 0x36, 0xd5, 0x31, 0x03, 0x9f, 0xa8, 0x39, 0xe9, 0xa2, 0xf6, 0x8d, 0x16,
+ 0x57, 0x57, 0x91, 0x84, 0x66, 0x2a, 0x9c, 0x93, 0x65, 0xb8, 0x9e, 0x8d,
+ 0x16, 0xb3, 0x51, 0x27, 0xec, 0xe7, 0x35, 0xfd, 0x5f, 0x47, 0xfc, 0x4a,
+ 0xc9, 0x24, 0xca, 0xc9, 0x3a, 0x57, 0x7e, 0x65, 0x57, 0x35, 0x6a, 0xaf,
+ 0x87, 0xcd, 0x31, 0x42, 0x63, 0xe3, 0x8b, 0x0d, 0xa5, 0x83, 0x36, 0x0a,
+ 0x3f, 0xdf, 0xbe, 0xd0, 0x74, 0xd6, 0x59, 0xd5, 0x19, 0x71, 0x35, 0xa6,
+ 0x5e, 0xb2, 0xf1, 0x6a, 0x43, 0x9e, 0x5b, 0x8f, 0x5e, 0xe4, 0xfc, 0x0e,
+ 0x47, 0x82, 0x58, 0x01, 0x1e, 0x5b, 0x5f, 0x19, 0x29, 0x09, 0xf9, 0x64,
+ 0x92, 0x15, 0xe2, 0x3a, 0xa1, 0x5a, 0x26, 0xc2, 0x71, 0xd4, 0x93, 0x9b,
+ 0xa5, 0x7b, 0x31, 0xa1, 0xeb, 0xda, 0x73, 0xee, 0xeb, 0xc6, 0x9f, 0xb5,
+ 0x07, 0x5e, 0xe1, 0x2f, 0x72, 0x5d, 0xbb, 0x22, 0x1c, 0xf2, 0xd5, 0x65,
+ 0x27, 0x05, 0xf1, 0x11, 0x98, 0x50, 0xd0, 0x97, 0xd4, 0x82, 0x14, 0x49,
+ 0xcd, 0x2a, 0x6e, 0xaf, 0x03, 0xc2, 0x47, 0xfc, 0x23, 0x74, 0x73, 0x35,
+ 0x96, 0xd3, 0x8b, 0x5a, 0xde, 0xa8, 0x88, 0xa5, 0x9d, 0x6b, 0x73, 0x52,
+ 0xc1, 0x92, 0x25, 0xdf, 0x57, 0x0f, 0xa0, 0xdb, 0x78, 0x9c, 0x4d, 0xa7,
+ 0x48, 0x48, 0xb2, 0xce, 0xf0, 0x60, 0x56, 0xc0, 0x17, 0xac, 0x16, 0x40,
+ 0x2f, 0xcc, 0xe7, 0xe6, 0x0a, 0x12, 0x4a, 0x20, 0x6d, 0xa3, 0x14, 0xed,
+ 0x98, 0x9a, 0x22, 0x19, 0xa3, 0x4c, 0xb2, 0x5e, 0xba, 0x49, 0xbb, 0xbc,
+ 0x88, 0xf8, 0x3c, 0x41, 0xb1, 0x1b, 0x8d, 0xbb, 0x8a, 0xda, 0x4d, 0xf3,
+ 0xe4, 0x26, 0x2a, 0xc8, 0x01, 0x71, 0x5e, 0x73, 0x3f, 0x40, 0x13, 0xe2,
+ 0x9b, 0xa2, 0xee, 0xf3, 0xef, 0xe4, 0x54, 0x45, 0xf0, 0x94, 0x6f, 0x24,
+ 0xc0, 0xd2, 0xaa, 0x24, 0xcf, 0x39, 0x01, 0xec, 0x5e, 0x12, 0x4d, 0x56,
+ 0xc3, 0xb8, 0x1a, 0x51, 0xce, 0xe1, 0x05, 0xae, 0x07, 0xd1, 0xea, 0xb0,
+ 0x15, 0xdc, 0xa7, 0x45, 0xa6, 0xb7, 0x3a, 0xbb, 0x61, 0x11, 0x70, 0xd1,
+ 0xf7, 0x4b, 0x61, 0x98, 0xea, 0x79, 0x11, 0xe2, 0x48, 0x08, 0x0e, 0xf7,
+ 0xc7, 0x13, 0x5b, 0xd2, 0xd8, 0x3c, 0x5a, 0xa5, 0x15, 0x57, 0x95, 0x2b,
+ 0x3e, 0x29, 0xa2, 0x86, 0x1a, 0xcf, 0xee, 0xb2, 0xf1, 0xa2, 0x69, 0x63,
+ 0xdd, 0x7d, 0xe5, 0x4b, 0x79, 0xce, 0xd1, 0xad, 0x4d, 0x1c, 0x05, 0x35,
+ 0x5a, 0xce, 0x34, 0x33, 0x7d, 0x7f, 0x7d, 0x4b, 0xc2, 0x7d, 0x14, 0x06,
+ 0xb2, 0x09, 0xeb, 0xb1, 0x38, 0x9e, 0xf6, 0xb9, 0xca, 0xd8, 0xef, 0xe6,
+ 0x42, 0xda, 0xd1, 0xcf, 0x73, 0x59, 0xe6, 0xc8, 0xb7, 0xdf, 0xb2, 0x87,
+ 0xc6, 0xfb, 0xb4, 0x2d, 0xe5, 0x23, 0xce, 0x9b, 0x3a, 0x38, 0xca, 0xc1,
+ 0x97, 0x51, 0x55, 0x6f, 0x90, 0x1c, 0xd8, 0x8a, 0x98, 0xfa, 0xaa, 0xce,
+ 0x7f, 0xe0, 0x34, 0x3b, 0x3e, 0xbb, 0x79, 0xee, 0xf9, 0x3c, 0xe9, 0xce,
+ 0xc3, 0x8f, 0xac, 0xc4, 0x0f, 0x46, 0xf1, 0xa9, 0x1a, 0x3d, 0x35, 0x7f,
+ 0x7c, 0x4b, 0x7f, 0x90, 0x58, 0x25, 0x13, 0x93, 0x69, 0x65, 0xd8, 0x5b,
+ 0x17, 0x6e, 0x6d, 0x4a, 0x0a, 0x94, 0x3f, 0x64, 0xd1, 0x81, 0x65, 0xa6,
+ 0x94, 0x04, 0x22, 0xa1, 0x71, 0x7c, 0x00, 0x50, 0x7e, 0xb5, 0x9d, 0x9e,
+ 0xa6, 0x09, 0xc5, 0x71, 0x9e, 0xe0, 0x4c, 0x61, 0x4e, 0x92, 0x1e, 0x3c,
+ 0x13, 0x43, 0x16, 0xe4, 0x65, 0x2c, 0x51, 0xc4, 0x4c, 0xd5, 0x3f, 0xc8,
+ 0xa1, 0xad, 0x65, 0xb4, 0x51, 0xd3, 0x75, 0x66, 0x81, 0xc1, 0xa6, 0x33,
+ 0x5e, 0xdc, 0x9f, 0x7d, 0x98, 0x74, 0xcc, 0x58, 0x9c, 0x85, 0x98, 0x2b,
+ 0x4b, 0x15, 0xb3, 0x6c, 0xc8, 0xb8, 0xdc, 0xe5, 0x8f, 0x90, 0x76, 0x6d,
+ 0xf9, 0x7b, 0x6f, 0x90, 0x26, 0x25, 0x07, 0x9e, 0x8f, 0xc2, 0x82, 0x8b,
+ 0xde, 0xea, 0x62, 0xbb, 0x0c, 0x4a, 0x7e, 0x58, 0x6c, 0x45, 0x56, 0x4c,
+ 0x96, 0xf4, 0x93, 0xaa, 0x27, 0x32, 0xf1, 0x34, 0xa4, 0xc2, 0x27, 0x8d,
+ 0x68, 0xce, 0xb2, 0x19, 0x05, 0x48, 0xec, 0xbd, 0xc8, 0x34, 0x16, 0xec,
+ 0x12, 0xa0, 0x8f, 0xf5, 0xe3, 0xcd, 0x4d, 0x48, 0x7f, 0xa3, 0x2b, 0x96,
+ 0xb1, 0x3c, 0x7f, 0x08, 0xa2, 0x62, 0xf5, 0x7d, 0x31, 0xbe, 0x7e, 0xf3,
+ 0x7e, 0x18, 0x7f, 0x3d, 0x1c, 0x1c, 0x9e, 0x37, 0x7a, 0x08, 0x6d, 0x06,
+ 0xa9, 0x2c, 0x0c, 0x16, 0x27, 0xa3, 0xe4, 0x1d, 0x78, 0xbf, 0x8b, 0x37,
+ 0xd7, 0x7a, 0xc1, 0xfa, 0x8b, 0x48, 0xb1, 0x60, 0x21, 0x2e, 0x9a, 0x27,
+ 0xf0, 0xe6, 0xfd, 0x94, 0x8e, 0x02, 0xea, 0xfd, 0x04, 0x0a, 0xb4, 0x3d,
+ 0xd3, 0x14, 0x55, 0x40, 0x61, 0x4f, 0x34, 0x59, 0x79, 0x68, 0xa4, 0xee,
+ 0xbe, 0x06, 0xe9, 0xbc, 0xfe, 0xf1, 0x4b, 0x96, 0xf9, 0x84, 0x2a, 0xc3,
+ 0x46, 0x82, 0x50, 0xfe, 0x0c, 0xb5, 0x60, 0x23, 0x5e, 0x8c, 0xd0, 0xec,
+ 0xd5, 0x29, 0xbd, 0xce, 0xdb, 0xb4, 0x27, 0xbb, 0x15, 0x3f, 0xaa, 0x96,
+ 0x0d, 0xc9, 0x4c, 0xca, 0xde, 0xd7, 0x5f, 0x85, 0xb7, 0xe7, 0x9b, 0xf7,
+ 0x4b, 0x3e, 0x47, 0xbf, 0xe9, 0x6b, 0xda, 0x80, 0x68, 0x04, 0x9e, 0x4a,
+ 0x1f, 0xce, 0x45, 0x9c, 0xe0, 0xb4, 0xfd, 0xcb, 0x87, 0xa4, 0x84, 0x79,
+ 0x42, 0xfe, 0x58, 0xf9, 0xa0, 0xc0, 0x56, 0xe3, 0x9f, 0x22, 0x3c, 0xeb,
+ 0x26, 0xa3, 0xbd, 0x92, 0x73, 0x0e, 0xf6, 0x9d, 0x89, 0x26, 0xbc, 0x15,
+ 0x59, 0xa2, 0xa5, 0x70, 0x63, 0x67, 0x06, 0x25, 0x31, 0x52, 0x06, 0x92,
+ 0x0b, 0x7b, 0xfc, 0xc7, 0xf6, 0x9e, 0x85, 0x30, 0xd9, 0xdc, 0x0f, 0x1c,
+ 0x52, 0x73, 0x81, 0x87, 0x0a, 0x42, 0x91, 0xdf, 0x0d, 0x11, 0x77, 0x5e,
+ 0xb2, 0x9b, 0x11, 0xa0, 0xe6, 0xc8, 0xb4, 0x9d, 0x03, 0xea, 0xa8, 0x6a,
+ 0x62, 0xd1, 0x9e, 0x0c, 0xd9, 0xc9, 0xf3, 0xd0, 0x66, 0xca, 0x23, 0xa8,
+ 0xab, 0x55, 0xcc, 0x53, 0xef, 0x8c, 0x92, 0x44, 0x97, 0xeb, 0xc3, 0xc7,
+ 0xd8, 0xee, 0x1b, 0xfb, 0x4e, 0xb2, 0x39, 0x32, 0x37, 0xb6, 0x97, 0x49,
+ 0x4e, 0xf2, 0xe6, 0x29, 0x50, 0xda, 0xf1, 0xe6, 0x9e, 0xbd, 0x78, 0xf6,
+ 0x74, 0x6b, 0x4b, 0x81, 0xcc, 0x0c, 0xa2, 0x18, 0x51, 0xa2, 0x41, 0x4e,
+ 0x72, 0xab, 0x66, 0x65, 0xd6, 0x4c, 0xf0, 0x35, 0x7c, 0xaf, 0x9e, 0x23,
+ 0x26, 0xde, 0x1c, 0xdd, 0x63, 0xfa, 0x2a, 0x2d, 0x22, 0x99, 0xe0, 0x90,
+ 0xe8, 0xd6, 0x0c, 0x4e, 0x55, 0x26, 0xd6, 0xce, 0x33, 0xbf, 0x54, 0x2a,
+ 0x20, 0x96, 0xe4, 0xfc, 0x50, 0x5c, 0x44, 0x1c, 0x62, 0x54, 0x6f, 0xda,
+ 0x10, 0x15, 0x78, 0xc6, 0xd7, 0x1e, 0xfd, 0x41, 0xfb, 0xf9, 0x5a, 0x4b,
+ 0xb9, 0x9d, 0x2d, 0x46, 0x53, 0x73, 0x03, 0x0d, 0xa9, 0x18, 0xea, 0x5d,
+ 0x72, 0x92, 0x4b, 0x55, 0x44, 0xb1, 0x15, 0x14, 0x48, 0xb7, 0xec, 0xce,
+ 0xe1, 0x81, 0x23, 0xdd, 0x16, 0x5b, 0xad, 0x85, 0x0b, 0x77, 0xc9, 0x5a,
+ 0xac, 0xb7, 0xad, 0xcf, 0xf9, 0x5b, 0xf5, 0xe2, 0xb2, 0xbf, 0x6c, 0x60,
+ 0x77, 0x59, 0xed, 0x99, 0x71, 0xfd, 0x5b, 0x52, 0x10, 0x91, 0x2d, 0x4e,
+ 0xae, 0xe9, 0xe4, 0x15, 0xab, 0x82, 0xcb, 0xab, 0x92, 0x69, 0x7a, 0xa2,
+ 0xaf, 0x34, 0x42, 0xff, 0x86, 0x1b, 0x37, 0xbd, 0xa4, 0x5c, 0x2a, 0x46,
+ 0xd5, 0x4d, 0x33, 0x14, 0x04, 0x26, 0x41, 0x16, 0x40, 0xa2, 0x6d, 0x61,
+ 0x65, 0x31, 0xef, 0x13, 0xf1, 0x52, 0x88, 0x4f, 0x16, 0x78, 0xa9, 0x14,
+ 0x0c, 0x00, 0xf0, 0xd6, 0x70, 0xe2, 0x39, 0xbb, 0x86, 0xcd, 0x00, 0x26,
+ 0x31, 0x0b, 0xac, 0xed, 0xb4, 0xd7, 0xf4, 0xc7, 0x9a, 0xdd, 0x5a, 0xf2,
+ 0x95, 0xd0, 0xc9, 0x12, 0xab, 0x16, 0x37, 0x35, 0x93, 0x41, 0xc6, 0x6b,
+ 0xb2, 0xce, 0xfd, 0xa1, 0xe4, 0x03, 0xba, 0x43, 0x34, 0x22, 0x0a, 0x44,
+ 0x8d, 0x6a, 0xf8, 0xac, 0x23, 0x4b, 0xfb, 0xb0, 0xbd, 0xd3, 0x58, 0x01,
+ 0x77, 0xd6, 0xf9, 0xbe, 0x54, 0x60, 0xce, 0xba, 0xc6, 0x73, 0x5b, 0xc6,
+ 0xbd, 0x6d, 0xce, 0xce, 0x4a, 0x24, 0x07, 0x92, 0x83, 0xdc, 0x28, 0xc9,
+ 0x48, 0xab, 0x66, 0x1a, 0xed, 0xaf, 0xc7, 0x15, 0x5f, 0x3b, 0x07, 0x60,
+ 0x50, 0x87, 0x15, 0xda, 0xb2, 0xd0, 0xf4, 0x2b, 0x6a, 0x90, 0x13, 0x28,
+ 0xb7, 0xc9, 0x9b, 0x45, 0x28, 0x1d, 0x25, 0xea, 0x87, 0x8c, 0x51, 0x78,
+ 0x9a, 0x69, 0x25, 0x5c, 0x5a, 0x27, 0xcc, 0x31, 0xc2, 0xef, 0x51, 0xe1,
+ 0xa3, 0x3a, 0xb1, 0xa7, 0x19, 0xb9, 0x70, 0xd3, 0xf2, 0x36, 0xc0, 0xf5,
+ 0x92, 0x3b, 0xd5, 0xf5, 0xae, 0x9d, 0x8c, 0x61, 0x1a, 0xf8, 0xd3, 0x7f,
+ 0xea, 0x2f, 0x3f, 0xd2, 0x64, 0xfd, 0x97, 0x4e, 0x96, 0x74, 0x3b, 0x0d,
+ 0x12, 0x17, 0x61, 0x07, 0xff, 0x09, 0x93, 0xf2, 0x37, 0x42, 0xa9, 0xf0,
+ 0xcc, 0x98, 0x2e, 0xcf, 0xd0, 0xdc, 0x9f, 0x06, 0x56, 0xdf, 0xd5, 0x26,
+ 0x28, 0x0d, 0x8b, 0xad, 0xfa, 0xd1, 0x7d, 0xe0, 0x3b, 0xa2, 0x3d, 0xf8,
+ 0x53, 0xd1, 0x03, 0x2b, 0xa0, 0x31, 0xbd, 0x28, 0x6f, 0x9a, 0x4b, 0x5b,
+ 0xf1, 0x32, 0xfe, 0x54, 0x09, 0x03, 0x80, 0x31, 0x3a, 0x4c, 0xc7, 0xc9,
+ 0x20, 0xe3, 0x9f, 0x87, 0x16, 0x00, 0x21, 0x68, 0xf6, 0xb1, 0x1a, 0x7f,
+ 0xea, 0xd7, 0xf7, 0xb3, 0x51, 0x39, 0x95, 0x8d, 0x4e, 0xc3, 0x35, 0x7d,
+ 0xd6, 0x9f, 0xf1, 0xb2, 0x20, 0xda, 0xd1, 0xf7, 0xb2, 0x78, 0x7b, 0x51,
+ 0xe6, 0x62, 0x32, 0x51, 0xca, 0xf1, 0x18, 0xe9, 0x34, 0x84, 0xec, 0x36,
+ 0xdb, 0xfd, 0x4f, 0x09, 0xc3, 0x73, 0x10, 0x8c, 0xe3, 0x12, 0x4d, 0x13,
+ 0x0d, 0x7e, 0x8a, 0xa3, 0x76, 0x69, 0x16, 0x4b, 0x74, 0xf3, 0x78, 0xab,
+ 0x63, 0x6d, 0x8b, 0x58, 0x06, 0x34, 0x9d, 0x50, 0xd3, 0xd1, 0x8f, 0xc8,
+ 0x9a, 0x91, 0x7d, 0x77, 0xc8, 0x3f, 0xeb, 0x5f, 0xe0, 0x67, 0x8a, 0x45,
+ 0x90, 0x8c, 0x3b, 0x8a, 0x6e, 0x4b, 0x4a, 0x1c, 0xf9, 0x28, 0xe3, 0x52,
+ 0xaa, 0x0d, 0x70, 0x42, 0x25, 0xcd, 0x22, 0xbc, 0xaf, 0xf4, 0x30, 0x7d,
+ 0x64, 0xda, 0x01, 0x63, 0xf3, 0xaf, 0x6e, 0x0d, 0x1c, 0xf0, 0xd3, 0x26,
+ 0x9f, 0xa5, 0x02, 0x09, 0x62, 0x0c, 0x90, 0xdd, 0xc6, 0x4a, 0x9a, 0x01,
+ 0x84, 0xa8, 0xd9, 0x6f, 0x83, 0x87, 0x9a, 0xa3, 0x0b, 0x51, 0x01, 0xee,
+ 0x82, 0x9e, 0x20, 0xdf, 0x93, 0xb9, 0x72, 0xf4, 0xfe, 0x6d, 0xca, 0x29,
+ 0xc3, 0x36, 0xa8, 0xe5, 0x07, 0xc6, 0x5a, 0x6a, 0x9e, 0xaa, 0x78, 0x94,
+ 0x38, 0xe4, 0x73, 0xda, 0x4b, 0x5c, 0x84, 0x50, 0xa1, 0x51, 0x09, 0x05,
+ 0x13, 0x57, 0x37, 0x67, 0x23, 0x8d, 0xd6, 0xbd, 0x7f, 0x4c, 0x9e, 0x2e,
+ 0xc4, 0x85, 0x17, 0xec, 0x23, 0xcb, 0x29, 0x25, 0x61, 0x46, 0x5e, 0xcd,
+ 0x48, 0xac, 0x2e, 0x89, 0x88, 0x58, 0x04, 0x98, 0xfe, 0xc3, 0x8b, 0x58,
+ 0xb2, 0xe3, 0xa7, 0xef, 0x45, 0x2a, 0x07, 0x5a, 0x3d, 0x79, 0x75, 0x73,
+ 0xcb, 0x4b, 0x39, 0x5f, 0x36, 0xf3, 0x8f, 0x28, 0x6c, 0xfa, 0x91, 0xb0,
+ 0x7e, 0x58, 0x33, 0xf5, 0xb9, 0xe3, 0x07, 0x98, 0x59, 0xce, 0xf1, 0x5b,
+ 0xcc, 0xa9, 0x1d, 0x6c, 0xf2, 0x69, 0xc9, 0x06, 0xcd, 0x43, 0xc3, 0x68,
+ 0xa3, 0xea, 0xfc, 0x5c, 0xf2, 0xcd, 0x76, 0x95, 0x90, 0xa7, 0x41, 0xc7,
+ 0x28, 0x88, 0xff, 0x11, 0xd1, 0x3f, 0xbb, 0x99, 0xcc, 0x75, 0x93, 0x55,
+ 0xf9, 0xd8, 0x2f, 0x99, 0x85, 0x07, 0xb0, 0xa5, 0x98, 0x3b, 0x8a, 0xc2,
+ 0x81, 0x51, 0x92, 0xbc, 0xce, 0xff, 0xc1, 0x3b, 0x2a, 0x15, 0xc2, 0xc8,
+ 0xed, 0x67, 0x41, 0x63, 0x89, 0xc4, 0x6b, 0x09, 0x9d, 0xe0, 0xa2, 0xb8,
+ 0xc7, 0x0f, 0x8c, 0x13, 0x2c, 0x9c, 0x7b, 0x18, 0xab, 0x51, 0xcf, 0xd2,
+ 0xda, 0x76, 0x90, 0x47, 0x60, 0x6b, 0xd3, 0x72, 0x80, 0xe4, 0x3a, 0x20,
+ 0x3a, 0x0c, 0xcf, 0x21, 0xc3, 0x78, 0xe8, 0xd6, 0x1f, 0x2c, 0x99, 0x19,
+ 0x86, 0x5f, 0x8a, 0x0c, 0x70, 0x53, 0xc3, 0x53, 0x22, 0x7a, 0x4e, 0x77,
+ 0x52, 0x62, 0xb8, 0xc1, 0xa4, 0x8b, 0x89, 0x57, 0x92, 0x94, 0x4d, 0x76,
+ 0x6d, 0xa7, 0x42, 0xaa, 0xbc, 0x25, 0xd8, 0x30, 0xd5, 0x91, 0x94, 0x57,
+ 0xe5, 0xa1, 0xe6, 0x20, 0x86, 0x3a, 0x0b, 0xbe, 0xb7, 0x6c, 0xc1, 0x55,
+ 0xa1, 0x95, 0x61, 0xd1, 0xcf, 0xac, 0x53, 0xc3, 0x1f, 0x54, 0x62, 0x65,
+ 0xd0, 0xf4, 0x3e, 0x89, 0x12, 0xb1, 0x76, 0xfe, 0xcf, 0xff, 0xfc, 0xb3,
+ 0x58, 0x8d, 0x71, 0xa0, 0x31, 0x3f, 0xe6, 0x73, 0x4f, 0x78, 0x79, 0xf5,
+ 0x86, 0x2d, 0xc2, 0x8b, 0x41, 0x9b, 0x74, 0x22, 0x3c, 0xd8, 0x17, 0x9d,
+ 0xf2, 0x87, 0xa6, 0x61, 0x8c, 0x5c, 0xcc, 0x84, 0x4d, 0x67, 0x8f, 0xac,
+ 0xad, 0xaf, 0x5a, 0x92, 0x18, 0xd2, 0xc7, 0x67, 0xa8, 0xa5, 0xbc, 0xba,
+ 0x39, 0xb8, 0x90, 0x5a, 0x65, 0xda, 0x5f, 0x2e, 0x1d, 0x12, 0xec, 0x10,
+ 0x1d, 0x12, 0x77, 0xdf, 0x27, 0x63, 0x16, 0x7c, 0x3d, 0x03, 0x58, 0xda,
+ 0xdd, 0x5c, 0xdd, 0x07, 0x6f, 0x0c, 0x0f, 0xf6, 0xc4, 0x7c, 0xeb, 0xa3,
+ 0x25, 0xf3, 0x34, 0xd7, 0x34, 0x7f, 0x9a, 0xbe, 0x6d, 0xf4, 0x02, 0x47,
+ 0xf3, 0x89, 0x3a, 0xa3, 0xb2, 0x53, 0xb9, 0x2b, 0x71, 0x7d, 0x36, 0x89,
+ 0xa8, 0xb7, 0x9d, 0xfd, 0xf5, 0x24, 0xda, 0x07, 0x2d, 0x5a, 0x56, 0xdb,
+ 0x3e, 0x98, 0x2e, 0xb8, 0x1f, 0xca, 0xfe, 0xa2, 0x4b, 0xd0, 0x1c, 0x1b,
+ 0x29, 0x25, 0xa8, 0x8c, 0x3c, 0xbf, 0x6e, 0x9f, 0x87, 0xfd, 0xc0, 0x61,
+ 0xfa, 0x58, 0xd7, 0x53, 0xda, 0xec, 0xf9, 0xe5, 0xbd, 0xe9, 0x54, 0xbd,
+ 0x34, 0xdb, 0xda, 0xbf, 0x4b, 0xf9, 0x39, 0x5d, 0x30, 0xcf, 0xb2, 0xdc,
+ 0xa8, 0xe1, 0xfc, 0x9b, 0x67, 0x84, 0x66, 0x60, 0x22, 0xc9, 0x07, 0x66,
+ 0x0c, 0x3c, 0x93, 0xf8, 0xbc, 0x0b, 0x88, 0x89, 0x0c, 0xb5, 0x7a, 0xc3,
+ 0x80, 0x6a, 0x78, 0xc2, 0x68, 0x7a, 0x70, 0xf0, 0xad, 0x96, 0xa8, 0x11,
+ 0x17, 0x03, 0x6e, 0x4f, 0x08, 0xa5, 0x6f, 0x05, 0x13, 0xa2, 0xf3, 0xff,
+ 0x91, 0xc5, 0x0a, 0x02, 0xb7, 0x5a, 0xa5, 0xd3, 0x56, 0xa2, 0x4d, 0x65,
+ 0x77, 0x68, 0xe8, 0xb5, 0x7f, 0x42, 0xf7, 0xe2, 0x34, 0xc2, 0x93, 0x99,
+ 0x84, 0xc8, 0x05, 0xae, 0x8b, 0x00, 0x50, 0xab, 0x5b, 0xec, 0x4d, 0xc2,
+ 0xbb, 0xd0, 0xb7, 0xb8, 0x7a, 0x2c, 0x7e, 0xb1, 0xdc, 0x17, 0xe9, 0x08,
+ 0xa1, 0x9a, 0x2d, 0x8b, 0xe5, 0x51, 0xad, 0x4d, 0x20, 0x0b, 0x60, 0x74,
+ 0xc2, 0x1d, 0x30, 0x26, 0x0a, 0x71, 0xe0, 0x76, 0xd2, 0x87, 0xb6, 0x8d,
+ 0x90, 0x88, 0x71, 0x69, 0x0d, 0x98, 0x3a, 0x57, 0x20, 0xbb, 0x28, 0x3b,
+ 0x5b, 0xc9, 0xdc, 0x2f, 0x91, 0x99, 0xa3, 0x7b, 0xd5, 0x0a, 0xad, 0x0b,
+ 0x77, 0xd5, 0xb6, 0x45, 0xd7, 0x3f, 0x7d, 0xc0, 0x97, 0x08, 0xa9, 0x8e,
+ 0x1c, 0x7a, 0xe8, 0x8e, 0x8c, 0x8a, 0x06, 0x19, 0x83, 0x4a, 0x29, 0x6f,
+ 0x0c, 0xcb, 0xa4, 0xd4, 0xef, 0x25, 0xa4, 0x04, 0x4c, 0xd8, 0xb2, 0xe9,
+ 0x80, 0x2e, 0x93, 0x5f, 0x6c, 0xd6, 0x8e, 0x6f, 0x8f, 0xb2, 0x8f, 0x26,
+ 0xd6, 0xb3, 0xbe, 0x15, 0xe3, 0x1e, 0xe9, 0x6a, 0x74, 0x66, 0x07, 0xfb,
+ 0x97, 0x16, 0xe2, 0xb6, 0x0f, 0x9e, 0x0d, 0x22, 0x6f, 0xf9, 0x68, 0x89,
+ 0x9f, 0x39, 0xc2, 0x81, 0x6a, 0xa7, 0xae, 0x44, 0x39, 0xd3, 0xf0, 0xf0,
+ 0xf9, 0x25, 0xc9, 0xa5, 0x4f, 0x47, 0x9c, 0x59, 0x68, 0x4d, 0x83, 0xa5,
+ 0xab, 0x5a, 0xd3, 0xa4, 0x2b, 0xdb, 0x14, 0x62, 0x8e, 0x0f, 0x9c, 0x34,
+ 0x22, 0x54, 0x8b, 0x7e, 0x51, 0x0f, 0xb1, 0xcc, 0x29, 0x7f, 0x72, 0xc5,
+ 0x08, 0x3c, 0xd3, 0x79, 0xf5, 0x17, 0x7d, 0x11, 0x11, 0xff, 0xb4, 0xa0,
+ 0xa9, 0x93, 0xc7, 0x4d, 0xdd, 0x52, 0xc8, 0x3a, 0x38, 0xaf, 0xdd, 0x3a,
+ 0x50, 0x5b, 0x29, 0x45, 0xdc, 0xaf, 0x3c, 0x56, 0x6e, 0x66, 0x4a, 0x77,
+ 0xe6, 0x8d, 0x91, 0x9d, 0xf5, 0xa2, 0xe2, 0x5a, 0xb4, 0x0f, 0xab, 0x7b,
+ 0xea, 0xc1, 0xb1, 0xed, 0x11, 0xdd, 0x52, 0x9b, 0x2e, 0x7c, 0x49, 0xaf,
+ 0xec, 0x10, 0x31, 0xb9, 0xda, 0x2d, 0xc5, 0x91, 0xff, 0x46, 0xbd, 0xe2,
+ 0xd6, 0x1e, 0xd3, 0xa7, 0x7f, 0xf6, 0x5e, 0xeb, 0xde, 0x64, 0x4c, 0x89,
+ 0xac, 0x37, 0xcc, 0xa3, 0x84, 0xfd, 0xea, 0xab, 0xac, 0x75, 0x5b, 0x3d,
+ 0x7c, 0x66, 0x97, 0x5d, 0x65, 0xbb, 0x31, 0x11, 0x42, 0xd2, 0xe1, 0x63,
+ 0x3a, 0x9f, 0x8b, 0xd8, 0x79, 0x78, 0xec, 0x4c, 0x68, 0xc3, 0x95, 0xbd,
+ 0x88, 0x5b, 0x5e, 0x6a, 0x72, 0x37, 0x65, 0xf9, 0x29, 0x11, 0x68, 0x09,
+ 0x03, 0xac, 0x28, 0x94, 0xb9, 0xba, 0x39, 0xae, 0x01, 0xcd, 0x8f, 0x13,
+ 0xab, 0xef, 0x70, 0xf8, 0xcd, 0x76, 0xd6, 0x8c, 0xad, 0x0c, 0xdc, 0x76,
+ 0xa0, 0x29, 0x36, 0xcb, 0x1e, 0xba, 0x99, 0x20, 0x84, 0x51, 0xe2, 0x83,
+ 0xe6, 0xc1, 0xba, 0x18, 0x1f, 0x3b, 0x0d, 0x6d, 0x0b, 0xe5, 0x77, 0x1a,
+ 0x28, 0x11, 0x02, 0x26, 0xf6, 0x4b, 0x5c, 0x46, 0x36, 0x6b, 0xf5, 0x7d,
+ 0xf3, 0xa1, 0x7d, 0x2e, 0xc6, 0x4d, 0x7b, 0x8c, 0xd1, 0x11, 0x91, 0xdd,
+ 0x4d, 0x68, 0x89, 0xc5, 0xfc, 0xff, 0xc0, 0xc2, 0x22, 0xb3, 0xc0, 0xc5,
+ 0xe2, 0x80, 0x2e, 0x79, 0xb8, 0xcb, 0x73, 0x32, 0x71, 0xd9, 0x8a, 0x7d,
+ 0xb8, 0xcf, 0xd2, 0x69, 0x28, 0xbc, 0x91, 0x6e, 0xa3, 0xd7, 0x8c, 0xb5,
+ 0xfd, 0x05, 0x7d, 0xe6, 0xec, 0x3a, 0xe9, 0x03, 0xba, 0x0c, 0x97, 0xa1,
+ 0xad, 0xa7, 0x6e, 0xb4, 0x8a, 0xab, 0xbc, 0x78, 0x8c, 0xef, 0xc7, 0x42,
+ 0x1c, 0x18, 0x33, 0x90, 0xf5, 0x6d, 0xab, 0x92, 0xd9, 0xc5, 0x51, 0x0c,
+ 0x4a, 0xe6, 0x7f, 0x50, 0x4c, 0xa4, 0x42, 0x47, 0x48, 0xa2, 0xc2, 0xf3,
+ 0x87, 0x8e, 0xd5, 0x63, 0x41, 0x20, 0x88, 0x7c, 0xbc, 0xa0, 0xb4, 0xe6,
+ 0x48, 0xc1, 0xba, 0xc0, 0xcb, 0x61, 0x74, 0x00, 0x4e, 0x67, 0xb8, 0xa1,
+ 0x98, 0xe6, 0x92, 0xb5, 0xb0, 0xba, 0xde, 0x92, 0x0d, 0x42, 0xd5, 0xcc,
+ 0x31, 0xcf, 0x52, 0x16, 0x5e, 0x9f, 0x7f, 0x50, 0x4c, 0x19, 0x11, 0x37,
+ 0xaf, 0xbd, 0x14, 0x59, 0x6c, 0x13, 0xde, 0xa8, 0x3d, 0x3d, 0x1c, 0xbd,
+ 0xe4, 0xd1, 0x5b, 0x41, 0x68, 0xc9, 0x64, 0x6e, 0x3d, 0x7a, 0x35, 0xb2,
+ 0x8a, 0x98, 0x68, 0x91, 0x7e, 0x99, 0x8e, 0x55, 0xdd, 0x7f, 0xa8, 0x77,
+ 0x29, 0x17, 0xaa, 0x68, 0x4f, 0x02, 0x63, 0x30, 0x5a, 0x97, 0x0c, 0x43,
+ 0x4b, 0x1e, 0x23, 0xe2, 0x39, 0xe3, 0x99, 0xa1, 0xc1, 0x9a, 0x29, 0xe5,
+ 0xcf, 0x57, 0x3d, 0x78, 0xbc, 0x56, 0x1a, 0x35, 0xd2, 0xd0, 0x57, 0xf4,
+ 0xfc, 0xf1, 0xc7, 0xe7, 0xf7, 0x11, 0x71, 0x8c, 0xf1, 0x21, 0x4d, 0x25,
+ 0x72, 0x78, 0x46, 0xd9, 0x63, 0x0d, 0x64, 0x62, 0xfe, 0xeb, 0x1c, 0xa3,
+ 0xae, 0x80, 0x50, 0x44, 0xdb, 0xb4, 0x2e, 0x1f, 0xd6, 0x0c, 0x64, 0x05,
+ 0x5a, 0xe8, 0x5f, 0xa2, 0x21, 0x65, 0x22, 0x52, 0xb2, 0x30, 0xa7, 0x74,
+ 0x7c, 0x38, 0x2c, 0xf0, 0xa0, 0xc7, 0x89, 0xea, 0x7c, 0x46, 0x97, 0x40,
+ 0x74, 0xc5, 0x96, 0xfe, 0x16, 0xce, 0xb3, 0x26, 0xb6, 0x4a, 0xa6, 0x39,
+ 0xe0, 0x89, 0x8f, 0xd9, 0x46, 0xe4, 0x0d, 0x8b, 0x9c, 0x56, 0xd0, 0xbb,
+ 0xaa, 0xaa, 0xce, 0x5f, 0xb6, 0x29, 0x18, 0xf0, 0xa8, 0x51, 0x2a, 0x14,
+ 0x98, 0x0c, 0xc9, 0xe0, 0x57, 0x2e, 0x04, 0xd8, 0x26, 0xa4, 0x65, 0xf4,
+ 0x1f, 0xf2, 0xc5, 0xaa, 0xd7, 0x9a, 0x00, 0x78, 0x48, 0xcf, 0x9d, 0x4e,
+ 0xbc, 0xfa, 0x84, 0x62, 0xa8, 0x5a, 0x42, 0xd2, 0xfd, 0xd5, 0xcd, 0x29,
+ 0x95, 0xf1, 0xef, 0x48, 0x62, 0x77, 0x97, 0x9a, 0x53, 0x10, 0x05, 0xa5,
+ 0xd7, 0x29, 0x2e, 0x22, 0x9b, 0x18, 0x6a, 0x9d, 0xea, 0xed, 0xaa, 0x58,
+ 0xed, 0xa2, 0x17, 0x75, 0x53, 0x06, 0xb9, 0x3c, 0xa4, 0xec, 0x51, 0xcc,
+ 0x11, 0xb7, 0x85, 0xb1, 0xb2, 0x52, 0x4e, 0xc9, 0x2b, 0x8c, 0x48, 0x68,
+ 0xd8, 0xfb, 0x2c, 0xbe, 0x7a, 0xea, 0x4a, 0x3e, 0x5a, 0x34, 0x08, 0x53,
+ 0x3b, 0x8a, 0xb3, 0x08, 0x28, 0x5d, 0x92, 0xc5, 0xf0, 0x35, 0xeb, 0xff,
+ 0xbc, 0x9b, 0x5c, 0x0d, 0xca, 0x2a, 0xa7, 0x1b, 0x07, 0x98, 0x3b, 0x6d,
+ 0x8d, 0xb6, 0x7e, 0x0f, 0xf2, 0x84, 0x6c, 0x8a, 0x58, 0x73, 0x12, 0x79,
+ 0x49, 0x94, 0xaf, 0xac, 0xdd, 0xee, 0x0c, 0x9b, 0x15, 0x01, 0x18, 0xdb,
+ 0xa6, 0xab, 0x7e, 0x16, 0x8b, 0x50, 0x4a, 0x96, 0x4d, 0xe2, 0xca, 0x41,
+ 0x29, 0x66, 0xc0, 0x0e, 0xd9, 0x8d, 0x95, 0x62, 0x63, 0xb7, 0x69, 0x85,
+ 0x7c, 0xd1, 0xc0, 0x43, 0x91, 0xd7, 0xf5, 0x02, 0x0b, 0xf6, 0xf6, 0xf8,
+ 0xe4, 0xc8, 0x82, 0x82, 0xfe, 0xf7, 0xf6, 0x80, 0x26, 0xbc, 0x1a, 0x07,
+ 0x10, 0x28, 0x4e, 0xd4, 0xf2, 0xb2, 0xee, 0x24, 0x93, 0xeb, 0xdb, 0x1e,
+ 0x97, 0xce, 0xc1, 0x8f, 0x5b, 0x69, 0x5c, 0x47, 0xef, 0xbf, 0x3b, 0x3e,
+ 0x3f, 0x7d, 0xff, 0xee, 0xe8, 0xbd, 0xf5, 0xf6, 0xd2, 0xa1, 0x88, 0xf1,
+ 0xdf, 0xd6, 0x61, 0xd0, 0x37, 0xa7, 0x78, 0xc1, 0x2d, 0x32, 0x6d, 0x98,
+ 0x85, 0xda, 0x8c, 0x53, 0xfe, 0x35, 0xf0, 0x9b, 0xf3, 0x1e, 0x52, 0x8f,
+ 0x2f, 0xc5, 0xe1, 0xe7, 0x64, 0xef, 0x4f, 0x28, 0xf4, 0x36, 0x60, 0x1f,
+ 0xb1, 0x2d, 0x3d, 0x46, 0x14, 0xbc, 0x77, 0xe3, 0x4c, 0x4a, 0xaf, 0x52,
+ 0x82, 0xc6, 0x9a, 0x9d, 0x12, 0x8e, 0x12, 0xb9, 0x60, 0x5a, 0xab, 0x13,
+ 0x6e, 0x73, 0x7f, 0xe0, 0x44, 0xc2, 0x38, 0x97, 0x2f, 0x03, 0xc0, 0x1b,
+ 0x57, 0xba, 0x94, 0xb3, 0x3d, 0xd5, 0x39, 0xaf, 0xf4, 0xdb, 0x1e, 0x84,
+ 0xce, 0x65, 0xe1, 0xfa, 0x55, 0xd2, 0xba, 0x71, 0x3f, 0x6f, 0x14, 0x3f,
+ 0xaa, 0x0b, 0x61, 0x7f, 0x7b, 0xfb, 0x67, 0x14, 0xe8, 0xfb, 0x42, 0x2a,
+ 0xf4, 0x85, 0x24, 0x69, 0xb5, 0xd7, 0x11, 0x11, 0xb9, 0x5e, 0x0a, 0x0f,
+ 0xed, 0x5b, 0x3b, 0x9d, 0x70, 0x0e, 0x7e, 0x3c, 0x3b, 0x3f, 0xfd, 0xe1,
+ 0xaf, 0xbf, 0xf1, 0x27, 0x3c, 0xac, 0xce, 0x8f, 0x04, 0x61, 0xd3, 0xc6,
+ 0x7f, 0xfe, 0x55, 0x5f, 0x5b, 0xf9, 0xb9, 0x76, 0xfb, 0xbd, 0x76, 0x1d,
+ 0xd9, 0x20, 0x41, 0x09, 0x19, 0x92, 0x4c, 0x9b, 0xaf, 0xf9, 0x92, 0xce,
+ 0xea, 0xb5, 0x00, 0x1a, 0xbe, 0xe1, 0x6a, 0x9f, 0x04, 0x02, 0xea, 0x6e,
+ 0xd7, 0x4d, 0x07, 0x02, 0x08, 0xa4, 0xed, 0x39, 0x00, 0xa4, 0xa6, 0x6e,
+ 0x52, 0x7a, 0x26, 0x27, 0x70, 0x02, 0xd0, 0x67, 0xe7, 0xe3, 0xe0, 0xe4,
+ 0xe4, 0xd7, 0x4f, 0x82, 0x16, 0x5a, 0x6c, 0x4f, 0x03, 0xea, 0x9c, 0xd9,
+ 0x01, 0xf5, 0xad, 0x96, 0xaa, 0x47, 0x60, 0x15, 0x57, 0xdd, 0xfb, 0x53,
+ 0xe9, 0xcd, 0x2b, 0xa8, 0xc7, 0xfd, 0x3a, 0x33, 0x4a, 0x2d, 0xd5, 0x95,
+ 0x4e, 0xa6, 0x84, 0x89, 0x31, 0xe6, 0x36, 0x75, 0x2c, 0xa8, 0x66, 0xe6,
+ 0xff, 0x92, 0xc1, 0x68, 0x3c, 0x8f, 0x9c, 0x4b, 0x04, 0xb4, 0x77, 0x69,
+ 0x49, 0x3f, 0xb8, 0xd0, 0xa2, 0x54, 0xdc, 0xbc, 0x4c, 0x22, 0x95, 0xdc,
+ 0x38, 0xf5, 0x9a, 0xee, 0xd9, 0x2a, 0xaf, 0x3f, 0x01, 0x0b, 0x4f, 0x27,
+ 0x13, 0xda, 0xae, 0x26, 0xc7, 0x92, 0xb2, 0x8b, 0xbe, 0x2c, 0xa1, 0x5c,
+ 0xf6, 0xcf, 0xa6, 0xe7, 0x73, 0x95, 0xa4, 0x55, 0x5b, 0xe1, 0xd1, 0xed,
+ 0x25, 0x4a, 0x2e, 0x87, 0x6f, 0x37, 0x74, 0x98, 0xe8, 0xa2, 0x4b, 0xd0,
+ 0x97, 0xe7, 0x1e, 0xa7, 0x35, 0xb1, 0x05, 0x08, 0xbc, 0x58, 0x3d, 0x77,
+ 0x22, 0x6d, 0x58, 0xa8, 0x04, 0x68, 0x03, 0x9e, 0xe1, 0xd7, 0xac, 0x77,
+ 0xfa, 0xa9, 0xe9, 0x16, 0x49, 0xd4, 0xbf, 0x4b, 0x34, 0x29, 0x9e, 0x27,
+ 0xca, 0x4f, 0x8b, 0x0f, 0x03, 0x60, 0xe6, 0xb1, 0x48, 0x63, 0x29, 0x5c,
+ 0x10, 0x02, 0xee, 0x6e, 0x08, 0x8a, 0xd8, 0xe0, 0x7a, 0xe3, 0x47, 0xc1,
+ 0x1e, 0x11, 0x22, 0xba, 0x7f, 0x9f, 0xde, 0x91, 0x0f, 0x94, 0x49, 0x11,
+ 0x1e, 0xd3, 0x41, 0x47, 0x0e, 0x93, 0xc5, 0xa2, 0x20, 0x71, 0x1c, 0x0d,
+ 0x76, 0x20, 0x82, 0x6b, 0xae, 0xbe, 0x68, 0x37, 0x71, 0xd6, 0xa5, 0xb1,
+ 0x79, 0xa1, 0xcf, 0xe3, 0x2e, 0x68, 0x51, 0x5c, 0xe0, 0x99, 0xd0, 0x82,
+ 0x09, 0x18, 0xdb, 0x62, 0xa4, 0x6d, 0xed, 0x74, 0x64, 0x03, 0xa1, 0x55,
+ 0x61, 0xe8, 0x90, 0x28, 0x43, 0x90, 0x9e, 0x3b, 0x9e, 0x96, 0x90, 0xf0,
+ 0x23, 0x82, 0xf9, 0x66, 0xd8, 0xb0, 0x7c, 0xc6, 0xcc, 0x7f, 0x2f, 0x4e,
+ 0x0f, 0x4f, 0x4f, 0xcc, 0x5f, 0x8e, 0xde, 0x1e, 0xff, 0xe0, 0xae, 0x61,
+ 0x4e, 0xbb, 0x76, 0xb9, 0x34, 0x1c, 0xc8, 0xd4, 0xd2, 0xa1, 0xbe, 0xfc,
+ 0x63, 0x2c, 0x56, 0xc0, 0xe9, 0xd1, 0xe6, 0xa3, 0xf3, 0x04, 0x8b, 0x54,
+ 0xff, 0x6c, 0x55, 0xf2, 0x14, 0x42, 0x11, 0x52, 0x5b, 0xb9, 0x55, 0x8b,
+ 0xfd, 0x76, 0x53, 0x7d, 0xdc, 0x92, 0x29, 0x50, 0x65, 0xfc, 0xab, 0xba,
+ 0x2d, 0x8d, 0xb8, 0x53, 0x08, 0x8a, 0xe7, 0x97, 0xd6, 0x7e, 0xf1, 0xab,
+ 0x16, 0x6a, 0x0e, 0x88, 0xd0, 0x61, 0x53, 0x7c, 0xd8, 0x91, 0x0f, 0x92,
+ 0x5a, 0xd9, 0xf3, 0x06, 0xa9, 0x1a, 0x66, 0x53, 0x65, 0x90, 0x44, 0x40,
+ 0x9a, 0xb4, 0x72, 0xd7, 0x3b, 0xfb, 0x82, 0x36, 0x84, 0x6b, 0xae, 0x3d,
+ 0x26, 0x99, 0x00, 0x41, 0x34, 0x21, 0xd2, 0x8d, 0xf2, 0xeb, 0xfb, 0xad,
+ 0x8b, 0xd6, 0xcc, 0x54, 0x34, 0xbd, 0x89, 0xd3, 0x2a, 0xe8, 0x0f, 0xd7,
+ 0x09, 0x95, 0x65, 0x7e, 0x85, 0x78, 0x16, 0xc1, 0x1a, 0x1b, 0x20, 0xb7,
+ 0x43, 0xa0, 0xcd, 0xdd, 0xa9, 0x76, 0xdd, 0xbe, 0xe2, 0xeb, 0x15, 0x9f,
+ 0x0e, 0x27, 0x20, 0x40, 0x89, 0x72, 0xb9, 0xd0, 0x55, 0x6d, 0x90, 0x0a,
+ 0xf6, 0xf7, 0x45, 0x7e, 0x93, 0x22, 0x17, 0x86, 0x6a, 0xdc, 0x4a, 0x8d,
+ 0xd1, 0x4e, 0x1b, 0xe9, 0xaf, 0x6a, 0x24, 0x6d, 0xb7, 0xf2, 0xec, 0xd7,
+ 0x34, 0xf2, 0xac, 0xd3, 0xc6, 0xf5, 0xaf, 0x6a, 0xc4, 0x16, 0x1a, 0x37,
+ 0x9a, 0xe8, 0x0f, 0xc7, 0x17, 0xc9, 0xe1, 0xe9, 0x1b, 0x77, 0xc0, 0x2e,
+ 0xa0, 0x15, 0x60, 0x0b, 0xd0, 0xde, 0x1b, 0x2d, 0x0a, 0xda, 0x85, 0x24,
+ 0x3d, 0xb8, 0x42, 0x19, 0xb5, 0x05, 0x1c, 0x2a, 0x80, 0x11, 0xb5, 0xa6,
+ 0xd9, 0xe4, 0x15, 0xb3, 0x6c, 0x10, 0xd8, 0xc1, 0xe7, 0x2d, 0xe4, 0x47,
+ 0x67, 0x44, 0xe0, 0x71, 0xa5, 0x57, 0x1f, 0x9d, 0x49, 0x62, 0x71, 0x4a,
+ 0x2b, 0x4d, 0x82, 0x1b, 0xa5, 0x44, 0xd2, 0x51, 0x70, 0x36, 0x17, 0xc1,
+ 0xe8, 0x9b, 0x96, 0x55, 0xec, 0x38, 0x3f, 0x02, 0x0e, 0x4d, 0xa3, 0xb1,
+ 0xe6, 0x8d, 0x76, 0xc5, 0x07, 0x78, 0xed, 0x2a, 0x40, 0xb9, 0xb5, 0xdd,
+ 0xa5, 0x3c, 0x06, 0xee, 0x41, 0x42, 0xa2, 0x82, 0xdb, 0x07, 0xc2, 0x84,
+ 0x54, 0xd1, 0xc2, 0x01, 0x8d, 0xb9, 0x70, 0x5c, 0x70, 0x45, 0xd9, 0x26,
+ 0xec, 0x77, 0xf6, 0xf8, 0x8f, 0xb7, 0x29, 0x2a, 0xcd, 0x1b, 0xe1, 0x21,
+ 0x70, 0x9f, 0xfc, 0x1f, 0x9e, 0x5a, 0xfc, 0xc4, 0x6a, 0x41, 0x66, 0xf0,
+ 0x53, 0x94, 0x64, 0x9b, 0xf0, 0xb1, 0xa8, 0xef, 0x8b, 0x26, 0xbd, 0x83,
+ 0x19, 0x4c, 0x36, 0x8b, 0x30, 0x95, 0xb8, 0x37, 0x9f, 0x8a, 0x2e, 0x64,
+ 0x19, 0x51, 0xca, 0xca, 0x5a, 0x81, 0x0e, 0xbd, 0xe1, 0x7b, 0x0a, 0x6c,
+ 0x6a, 0x27, 0x26, 0xd0, 0xcc, 0x0b, 0x95, 0x89, 0x5b, 0x8b, 0x46, 0xd7,
+ 0xf5, 0x6d, 0xf3, 0xe1, 0x44, 0x53, 0x45, 0xe9, 0x03, 0x88, 0xad, 0xb9,
+ 0x62, 0x27, 0x96, 0xcd, 0xc2, 0x7c, 0x0f, 0x93, 0xd6, 0x8f, 0x96, 0x05,
+ 0xb8, 0xf0, 0x93, 0xc7, 0x54, 0xdf, 0x9f, 0x94, 0x98, 0xc6, 0x1e, 0x17,
+ 0x56, 0xa1, 0x92, 0x95, 0xe6, 0x37, 0xf7, 0x5a, 0x62, 0x25, 0x2d, 0x90,
+ 0x27, 0xd5, 0x85, 0x6b, 0xea, 0xc2, 0x48, 0x12, 0x89, 0xcb, 0xd8, 0x78,
+ 0xc6, 0x7f, 0x1c, 0xaa, 0xea, 0xe4, 0xea, 0x67, 0xab, 0xd6, 0x84, 0x1b,
+ 0x4f, 0x6e, 0x1d, 0x11, 0xba, 0x7c, 0xeb, 0x8d, 0x71, 0x35, 0x31, 0x12,
+ 0x3a, 0x98, 0x8d, 0xba, 0xe3, 0x66, 0x7c, 0xde, 0xf9, 0x8e, 0x7e, 0x86,
+ 0x89, 0x4b, 0x2e, 0x2c, 0x81, 0x4a, 0xd7, 0xa9, 0x4f, 0xcd, 0x87, 0xad,
+ 0x7d, 0xd6, 0xdd, 0x22, 0xea, 0x60, 0x27, 0x7a, 0xbb, 0xd2, 0x0f, 0xb5,
+ 0xbd, 0x10, 0x67, 0x40, 0x46, 0x49, 0x57, 0xa2, 0xba, 0x56, 0xd9, 0x7c,
+ 0x2a, 0x32, 0x54, 0x7e, 0x82, 0x78, 0x1e, 0x0c, 0x7a, 0x4c, 0xf5, 0x58,
+ 0x7b, 0x69, 0xf4, 0x51, 0xdf, 0x16, 0x7b, 0x29, 0x9f, 0x35, 0x72, 0x98,
+ 0xf5, 0x09, 0xb3, 0x19, 0x8a, 0xdc, 0x6e, 0x3c, 0xa9, 0x66, 0x88, 0x1f,
+ 0x11, 0x00, 0xcd, 0xdc, 0x55, 0xa5, 0xfd, 0xb7, 0xbe, 0x11, 0xf2, 0x39,
+ 0xf1, 0x75, 0xe6, 0xdc, 0xb9, 0x18, 0xef, 0xa2, 0xe2, 0xb4, 0x43, 0xc7,
+ 0x62, 0x06, 0x80, 0x6f, 0x5a, 0x34, 0x3c, 0xe0, 0x8a, 0x98, 0xa7, 0x06,
+ 0xc9, 0xbb, 0x10, 0xd7, 0x53, 0x5e, 0x36, 0x92, 0x39, 0x4c, 0xd0, 0x31,
+ 0x9e, 0x9d, 0xeb, 0xb4, 0xb8, 0xca, 0xd8, 0xf7, 0xe1, 0x91, 0xb0, 0x71,
+ 0xd1, 0x0f, 0xb9, 0x1c, 0xcd, 0xa9, 0x87, 0x52, 0x53, 0xc4, 0x8a, 0xdc,
+ 0x77, 0xc8, 0x7d, 0x77, 0x77, 0xec, 0x3c, 0x60, 0x58, 0xf3, 0x06, 0xf0,
+ 0x7a, 0x9a, 0x88, 0xef, 0x41, 0xbc, 0x75, 0x9b, 0x42, 0x9e, 0xd8, 0x62,
+ 0x91, 0xce, 0x66, 0xd0, 0x85, 0xa2, 0x9c, 0x9a, 0x10, 0xcb, 0x0a, 0x58,
+ 0x45, 0xca, 0x5e, 0x2d, 0xc6, 0xe2, 0x71, 0x7a, 0x96, 0xdc, 0x5e, 0x3d,
+ 0xd8, 0xc1, 0x56, 0x54, 0x72, 0xf4, 0x0b, 0x3a, 0x37, 0x21, 0xfb, 0x97,
+ 0xb8, 0x44, 0x88, 0x9d, 0xc5, 0x0b, 0xb2, 0x13, 0x86, 0x9f, 0xe9, 0x40,
+ 0xbd, 0xf1, 0xec, 0xba, 0xf1, 0xdc, 0x62, 0xa7, 0x9c, 0x1d, 0x0c, 0x87,
+ 0xba, 0x4f, 0x0e, 0xc3, 0x2d, 0x21, 0x31, 0x1c, 0x10, 0x45, 0x48, 0x96,
+ 0x67, 0xa8, 0x40, 0x4a, 0x1b, 0x9d, 0xd8, 0xef, 0x2e, 0x8b, 0xb7, 0x37,
+ 0x2c, 0xa6, 0xe3, 0xc3, 0xbd, 0x6d, 0x4d, 0x22, 0x3b, 0x91, 0x3b, 0x2c,
+ 0x06, 0xf1, 0x3a, 0xc4, 0x98, 0x56, 0x4c, 0x33, 0xd2, 0x29, 0x95, 0x2b,
+ 0x99, 0x7c, 0xb1, 0x46, 0xfa, 0xb4, 0xab, 0x5b, 0xee, 0x3e, 0x89, 0x0c,
+ 0xfa, 0x3b, 0x1e, 0x55, 0xef, 0x9f, 0x19, 0xf4, 0x77, 0x91, 0x41, 0x3f,
+ 0xb5, 0xdf, 0xe2, 0x4f, 0xed, 0xed, 0x7d, 0x26, 0x60, 0x73, 0x76, 0x92,
+ 0x4d, 0x13, 0xf7, 0x31, 0xf9, 0x1a, 0x8f, 0xd8, 0x3c, 0xd8, 0x57, 0x5e,
+ 0xd0, 0x2c, 0x30, 0x26, 0xed, 0xe1, 0xf5, 0x3e, 0xf5, 0xcc, 0x0d, 0xcb,
+ 0x28, 0xe4, 0xd4, 0x1e, 0xe9, 0xfa, 0x2c, 0x67, 0x02, 0xf1, 0xa3, 0xdc,
+ 0x49, 0x04, 0x47, 0xb9, 0x25, 0x60, 0xcb, 0x92, 0xb0, 0xbe, 0x76, 0xc3,
+ 0xfb, 0xce, 0x73, 0xeb, 0xc7, 0xd8, 0xde, 0xe3, 0x4d, 0x49, 0x55, 0x2f,
+ 0xa4, 0x84, 0x30, 0xb6, 0xe6, 0x24, 0x6b, 0xcc, 0x9a, 0x38, 0x17, 0x1c,
+ 0xe7, 0x0c, 0x5d, 0x56, 0x29, 0x18, 0x45, 0x51, 0xb6, 0x78, 0xb0, 0x84,
+ 0xb6, 0x96, 0x8d, 0x98, 0x94, 0xaa, 0x92, 0x17, 0x64, 0x3b, 0x40, 0x29,
+ 0x10, 0xbf, 0x15, 0x39, 0x42, 0x51, 0x24, 0xfa, 0xd2, 0xfa, 0x4a, 0xb5,
+ 0x70, 0x71, 0x2f, 0x98, 0x21, 0x1e, 0x62, 0x4b, 0x67, 0x88, 0x33, 0x20,
+ 0xed, 0x7e, 0x66, 0xe7, 0xcd, 0xae, 0x04, 0xb9, 0x96, 0x98, 0xe3, 0x60,
+ 0xe0, 0x5f, 0x11, 0x22, 0x4e, 0xbc, 0x08, 0x8c, 0x32, 0xf8, 0x07, 0xfb,
+ 0x52, 0xde, 0x76, 0x5f, 0x61, 0x79, 0x7c, 0x46, 0xd2, 0x4e, 0xa8, 0x25,
+ 0x07, 0xc9, 0x29, 0x1c, 0x61, 0x2d, 0x32, 0x5d, 0x4e, 0x91, 0x48, 0x5d,
+ 0xda, 0x5b, 0x7b, 0xeb, 0xbe, 0xf4, 0xd6, 0x58, 0xbb, 0xa5, 0xb0, 0x84,
+ 0x6d, 0x11, 0xb4, 0x8e, 0x94, 0x4b, 0xdd, 0xbd, 0x59, 0x72, 0x7e, 0x74,
+ 0x71, 0x0e, 0x58, 0x15, 0x89, 0x80, 0xa0, 0xe6, 0x42, 0x5a, 0x6d, 0x59,
+ 0x0a, 0x46, 0x91, 0x67, 0x4e, 0x29, 0x71, 0x22, 0x82, 0x79, 0x7a, 0xec,
+ 0x8a, 0xf3, 0x3f, 0xf5, 0x3d, 0x4e, 0x0b, 0x30, 0x6b, 0xce, 0x53, 0xee,
+ 0x22, 0x92, 0x6d, 0x06, 0xa1, 0xbd, 0x3d, 0x07, 0x0f, 0x41, 0x19, 0x36,
+ 0xbe, 0xe7, 0x04, 0xec, 0x3b, 0x10, 0xd4, 0x81, 0xe2, 0xe3, 0x13, 0x4b,
+ 0x9a, 0xcd, 0x9a, 0x05, 0x03, 0x66, 0x43, 0x0c, 0xa6, 0xfd, 0xb8, 0xaa,
+ 0x01, 0xaa, 0x2d, 0x7a, 0x00, 0x72, 0x7c, 0xd2, 0x93, 0xa1, 0x9c, 0xc5,
+ 0xf4, 0x74, 0x67, 0x27, 0x6c, 0x2e, 0x1d, 0x19, 0xb1, 0x2a, 0xaa, 0x9d,
+ 0xa4, 0x3b, 0xe0, 0x15, 0x76, 0x5c, 0x42, 0xdd, 0xac, 0xc9, 0xfa, 0xe8,
+ 0x5f, 0x92, 0x27, 0x91, 0x66, 0x2c, 0x34, 0x33, 0xf6, 0x58, 0xca, 0x7c,
+ 0x8f, 0xfc, 0x0b, 0x99, 0xb3, 0xb6, 0x6c, 0xe1, 0xd4, 0x0c, 0x2d, 0xf3,
+ 0x95, 0x2a, 0x7e, 0x15, 0x59, 0x8d, 0xe2, 0x80, 0x0e, 0x7a, 0x16, 0x48,
+ 0xf0, 0xbd, 0x67, 0x91, 0x1d, 0x91, 0x0c, 0x2f, 0x4e, 0xcf, 0x95, 0xcc,
+ 0x32, 0xbc, 0xa1, 0x81, 0xe5, 0xa0, 0x27, 0x2c, 0x59, 0x44, 0x2f, 0x52,
+ 0x68, 0xdc, 0x66, 0x38, 0x5b, 0xb6, 0x3e, 0xef, 0xab, 0x2c, 0x03, 0xce,
+ 0x29, 0x4b, 0x47, 0xc6, 0xf6, 0x9d, 0xa4, 0x34, 0x2b, 0x33, 0xa5, 0x9e,
+ 0x4c, 0xef, 0x25, 0x3e, 0x68, 0xa7, 0x7c, 0x82, 0x39, 0x03, 0x17, 0xf5,
+ 0x72, 0x38, 0x17, 0x97, 0x98, 0x2d, 0x05, 0xa7, 0x68, 0x4b, 0x12, 0x75,
+ 0xf7, 0x22, 0x1f, 0xa2, 0x53, 0x47, 0x3e, 0xca, 0x32, 0x5e, 0x06, 0xe9,
+ 0x5c, 0x48, 0xa8, 0x8c, 0x85, 0xdc, 0x05, 0xa6, 0xe7, 0x94, 0x3d, 0x04,
+ 0xdd, 0x21, 0xd0, 0x60, 0xcd, 0xb1, 0x29, 0xab, 0x89, 0x30, 0x60, 0xc9,
+ 0xe5, 0xa9, 0xe6, 0x83, 0x53, 0xbb, 0xbd, 0x9b, 0xff, 0xec, 0xf4, 0xfc,
+ 0x22, 0xb1, 0x17, 0x3f, 0xbe, 0x8d, 0x1f, 0x75, 0x8e, 0x10, 0xd5, 0x00,
+ 0x80, 0x03, 0xcd, 0x81, 0xeb, 0x03, 0xaf, 0xa0, 0x98, 0x08, 0x8d, 0x36,
+ 0xa1, 0x6d, 0x90, 0xff, 0xa1, 0x02, 0x8c, 0x4e, 0x88, 0xc6, 0x3c, 0x99,
+ 0x23, 0x59, 0x2c, 0x74, 0xe1, 0xc4, 0xcb, 0x4c, 0x39, 0x25, 0xf7, 0xc9,
+ 0x6e, 0x64, 0x77, 0x90, 0x6d, 0x7d, 0x7e, 0x44, 0x45, 0xe7, 0x2f, 0xae,
+ 0xf9, 0x6f, 0x41, 0xcf, 0x39, 0x73, 0x52, 0x7e, 0x18, 0x58, 0x2e, 0x76,
+ 0x77, 0x50, 0x78, 0xd0, 0x98, 0x1f, 0x68, 0xdf, 0xa6, 0xe9, 0x7a, 0x73,
+ 0xf6, 0xc4, 0x83, 0x82, 0x41, 0x72, 0xca, 0x5e, 0xc1, 0x21, 0xc7, 0x0f,
+ 0xd6, 0xe5, 0x23, 0xeb, 0x46, 0x3d, 0xe3, 0x43, 0xd1, 0x22, 0x1b, 0x7e,
+ 0xf2, 0xd4, 0x93, 0x16, 0x74, 0x5b, 0x49, 0x03, 0xc7, 0x5a, 0xd5, 0x8b,
+ 0x7e, 0xd8, 0xd7, 0xed, 0x82, 0x2b, 0x83, 0x37, 0x06, 0x3f, 0xe7, 0xda,
+ 0x79, 0x66, 0xd3, 0xf1, 0x55, 0x61, 0xf0, 0xba, 0x42, 0x3f, 0x56, 0x04,
+ 0x0e, 0x94, 0xb7, 0xce, 0xb6, 0x7b, 0xc2, 0xbb, 0xfd, 0xab, 0x74, 0xe2,
+ 0x20, 0x65, 0x3c, 0x74, 0xef, 0x62, 0x25, 0x8d, 0x2b, 0x2f, 0x16, 0x19,
+ 0x34, 0xb5, 0xb4, 0x9a, 0x12, 0xb1, 0xb9, 0x91, 0x23, 0xec, 0x6b, 0xa1,
+ 0xd7, 0x02, 0xa9, 0x5b, 0xfa, 0x34, 0x1a, 0x4f, 0xe4, 0x16, 0x3a, 0x3e,
+ 0x39, 0x72, 0x2b, 0xc5, 0xac, 0xe8, 0x38, 0xc5, 0x4e, 0xe3, 0xa7, 0x4a,
+ 0x9c, 0xf6, 0xaa, 0x18, 0x24, 0x67, 0x54, 0x62, 0x11, 0xda, 0x53, 0xfd,
+ 0xef, 0xae, 0x35, 0x3e, 0x28, 0x70, 0x84, 0x9b, 0xcb, 0x13, 0xa6, 0x4a,
+ 0x5e, 0x98, 0x85, 0xc5, 0x4f, 0xe8, 0xaf, 0x1e, 0x83, 0x6f, 0x30, 0xdc,
+ 0x97, 0xee, 0xe5, 0xda, 0x0c, 0xc5, 0x18, 0xed, 0xdd, 0x47, 0x9e, 0xca,
+ 0xbe, 0x32, 0x16, 0x3d, 0x9a, 0xa0, 0x0f, 0x40, 0x36, 0xd3, 0x79, 0xd6,
+ 0x7a, 0xe2, 0xdc, 0xc2, 0xa5, 0x3e, 0xa3, 0x46, 0x0d, 0x3f, 0xe7, 0x9a,
+ 0xe2, 0x0b, 0xe1, 0x60, 0x64, 0x6b, 0x62, 0x10, 0x82, 0x93, 0xd4, 0x39,
+ 0xd3, 0x56, 0x41, 0xd2, 0x76, 0x6a, 0x81, 0xd0, 0x36, 0x1a, 0x4b, 0xf2,
+ 0x72, 0xa4, 0x07, 0x87, 0x46, 0xd2, 0x9d, 0xdc, 0x4e, 0xbd, 0xc8, 0xa7,
+ 0xbc, 0x13, 0xed, 0xb6, 0xb1, 0x77, 0x58, 0xab, 0x77, 0x02, 0x1d, 0x15,
+ 0xea, 0x2e, 0x72, 0x24, 0x90, 0x5b, 0xde, 0x5c, 0xf1, 0xbe, 0x09, 0xf0,
+ 0xf4, 0x99, 0x6b, 0xea, 0x92, 0x12, 0xde, 0x6c, 0x5b, 0x4e, 0xfe, 0xb8,
+ 0x92, 0x01, 0xb9, 0x7d, 0x4c, 0xac, 0x46, 0xbe, 0xc7, 0x46, 0x11, 0x0e,
+ 0x2b, 0x7f, 0x4e, 0x78, 0x33, 0x5c, 0x94, 0x64, 0x06, 0x17, 0xf7, 0x0e,
+ 0x19, 0x3d, 0xe0, 0xe0, 0x2e, 0x7b, 0xd3, 0xb8, 0x2c, 0x83, 0xfc, 0x46,
+ 0x68, 0xad, 0xaf, 0xc5, 0x5b, 0x43, 0x45, 0xca, 0x02, 0x36, 0xde, 0xc5,
+ 0x4c, 0x00, 0x96, 0xde, 0x97, 0x5e, 0x88, 0x6b, 0x83, 0x4b, 0xba, 0x2b,
+ 0x85, 0x8c, 0x1d, 0x89, 0x99, 0x68, 0xb1, 0x9c, 0x2d, 0x19, 0x8b, 0xd9,
+ 0x3c, 0x40, 0xfe, 0xd5, 0x1e, 0x3d, 0x6e, 0x84, 0x02, 0x0e, 0x97, 0xb1,
+ 0x28, 0xbd, 0xea, 0x65, 0x28, 0x3d, 0x02, 0x1f, 0x9a, 0x70, 0x79, 0x8e,
+ 0x7f, 0xa5, 0x34, 0x0f, 0xa1, 0xbb, 0xbc, 0xca, 0xfe, 0x06, 0x75, 0x72,
+ 0xc0, 0x17, 0x0e, 0x27, 0x3b, 0xf1, 0x28, 0x8b, 0x45, 0xea, 0xd9, 0xf4,
+ 0x4f, 0x5f, 0x8a, 0xdf, 0x4a, 0xfc, 0x22, 0x5a, 0xcc, 0xb4, 0x1b, 0xe5,
+ 0x7b, 0xb6, 0x6b, 0x3d, 0x98, 0x84, 0x67, 0x14, 0x90, 0xbe, 0x8f, 0x6a,
+ 0x24, 0xaa, 0xcf, 0xe1, 0x37, 0xc9, 0xbb, 0x37, 0xcf, 0x08, 0x57, 0x73,
+ 0x95, 0x55, 0x73, 0x63, 0xb5, 0x38, 0xc3, 0xfc, 0xf4, 0x5b, 0xaf, 0xb1,
+ 0x3d, 0xe7, 0x0e, 0x95, 0x6b, 0x36, 0x97, 0xd3, 0x4b, 0x16, 0x83, 0x59,
+ 0x3f, 0x4a, 0x0a, 0xbd, 0xd2, 0xfc, 0x6e, 0xf6, 0x89, 0x21, 0x81, 0xdc,
+ 0x15, 0xf5, 0x4e, 0x02, 0xaa, 0xab, 0x8e, 0x00, 0x7b, 0xf6, 0xc4, 0x09,
+ 0xb0, 0xea, 0x7e, 0x4e, 0xa5, 0x04, 0x8a, 0x2b, 0xb2, 0x0e, 0x22, 0x27,
+ 0xea, 0x19, 0x0b, 0xcd, 0x43, 0x3e, 0xf7, 0xa4, 0xca, 0x86, 0xaf, 0x41,
+ 0x49, 0x87, 0x17, 0xd5, 0x7b, 0xef, 0x99, 0xef, 0x5b, 0x20, 0x2a, 0x48,
+ 0x20, 0x96, 0x98, 0x00, 0x1e, 0x7a, 0x8a, 0xf7, 0xec, 0x73, 0xfb, 0x2c,
+ 0x79, 0x92, 0xf2, 0xc2, 0x2b, 0xd8, 0xb1, 0xe4, 0x0d, 0x51, 0x80, 0xd5,
+ 0x4c, 0xd0, 0x2c, 0x3a, 0xd6, 0x7a, 0xbc, 0xb9, 0xf7, 0x5e, 0x79, 0xd9,
+ 0x76, 0x9d, 0x80, 0xc9, 0xdb, 0x6e, 0x4d, 0x0c, 0x2a, 0x9f, 0x5f, 0xfb,
+ 0x87, 0xf3, 0x39, 0xdf, 0xd2, 0x67, 0x04, 0x52, 0x6d, 0xad, 0xa7, 0x0a,
+ 0xc1, 0xcc, 0x67, 0x42, 0xd0, 0xb3, 0xce, 0x7b, 0xff, 0xf0, 0x60, 0x59,
+ 0x86, 0x06, 0x76, 0xbb, 0xf7, 0x91, 0x5d, 0x39, 0x33, 0x54, 0x65, 0xef,
+ 0xaa, 0xc8, 0xff, 0xa1, 0xb9, 0xdd, 0x74, 0x3b, 0x6b, 0xb1, 0x15, 0xef,
+ 0xf1, 0x3d, 0x11, 0x18, 0x37, 0xe9, 0x34, 0x17, 0xa1, 0x48, 0x31, 0x4c,
+ 0xf7, 0xc0, 0x13, 0xd9, 0xb5, 0x5c, 0x57, 0x10, 0x16, 0x00, 0x2a, 0x83,
+ 0x52, 0x04, 0x3d, 0x6b, 0x61, 0x9e, 0x9f, 0x3f, 0x15, 0xbd, 0x4b, 0x15,
+ 0x64, 0xba, 0x79, 0x69, 0x22, 0xa6, 0x20, 0x96, 0xeb, 0x8a, 0xe9, 0xe7,
+ 0x72, 0xed, 0xc9, 0x52, 0xda, 0x82, 0x2b, 0xb6, 0x78, 0x0d, 0xfd, 0xf5,
+ 0x36, 0x2f, 0x04, 0x85, 0x1c, 0xbc, 0xfe, 0x7c, 0x89, 0x3f, 0xb2, 0xe6,
+ 0x3b, 0xf3, 0x08, 0x7b, 0xc9, 0x7b, 0xfe, 0x33, 0x97, 0x5c, 0xea, 0x28,
+ 0x0a, 0x95, 0x8e, 0xad, 0xe7, 0x79, 0x20, 0xec, 0x41, 0x12, 0x2f, 0x0a,
+ 0x1f, 0x81, 0x49, 0xb4, 0xfa, 0xc5, 0xa5, 0xfd, 0xfc, 0xb4, 0xbc, 0x4a,
+ 0x7c, 0x66, 0x89, 0xe7, 0xbc, 0xa5, 0xde, 0x82, 0x99, 0x5d, 0xcf, 0x01,
+ 0x49, 0x13, 0xbf, 0x34, 0xae, 0x7b, 0xfa, 0xa5, 0xec, 0x0d, 0xbd, 0x2f,
+ 0xad, 0xc9, 0xba, 0xec, 0x8d, 0xcf, 0x76, 0x7c, 0x85, 0x75, 0x42, 0x41,
+ 0x52, 0xce, 0x71, 0x5e, 0xfa, 0x02, 0xef, 0x8c, 0xe3, 0x29, 0x55, 0x99,
+ 0x9d, 0x6a, 0xed, 0x5a, 0x25, 0x64, 0x73, 0x8f, 0xed, 0xb5, 0x84, 0xee,
+ 0x85, 0xaf, 0x3e, 0x25, 0xc7, 0x6f, 0xbc, 0x07, 0x9f, 0xb8, 0x01, 0xa6,
+ 0x53, 0xd2, 0x06, 0xee, 0xd9, 0x5d, 0x55, 0x4b, 0xd5, 0x5c, 0xef, 0x51,
+ 0xde, 0x19, 0xef, 0x4b, 0xa6, 0x0e, 0xc2, 0xfc, 0x07, 0xcf, 0xf0, 0x76,
+ 0x38, 0xbc, 0x36, 0xb7, 0xda, 0xb8, 0x01, 0x38, 0xb3, 0xd0, 0xb8, 0x57,
+ 0x77, 0xed, 0x3f, 0x7b, 0xbe, 0xe2, 0x59, 0xb9, 0x34, 0x6b, 0x7b, 0xd5,
+ 0x7b, 0xef, 0x7d, 0x16, 0x1e, 0x73, 0x35, 0x09, 0x14, 0x43, 0x2e, 0x27,
+ 0x2d, 0xd9, 0xa4, 0x34, 0xd6, 0x7f, 0x57, 0xff, 0x60, 0x45, 0xac, 0x68,
+ 0xf5, 0xbf, 0xfb, 0xfd, 0x7d, 0xe1, 0x03, 0xd1, 0xd9, 0x33, 0x58, 0x65,
+ 0x08, 0x1c, 0x8c, 0x5b, 0xd4, 0xe8, 0x0e, 0xa8, 0x83, 0xd9, 0xf1, 0x5a,
+ 0xe0, 0x35, 0x37, 0x7a, 0xc4, 0xa2, 0x70, 0x92, 0x83, 0x8d, 0x40, 0xc9,
+ 0x1b, 0x9f, 0xf8, 0xec, 0x79, 0x24, 0xf3, 0xc5, 0x17, 0xe5, 0x79, 0x52,
+ 0x77, 0x3a, 0xc7, 0xa0, 0xbe, 0x5e, 0xb0, 0xd5, 0x6d, 0x47, 0xe4, 0xdc,
+ 0x6c, 0xde, 0x6b, 0x7b, 0x4e, 0x7a, 0xc9, 0xb5, 0xcf, 0xd9, 0x00, 0x87,
+ 0x94, 0xb8, 0xc2, 0xa6, 0xb9, 0xe5, 0xcb, 0x86, 0xab, 0xbc, 0x2a, 0xd9,
+ 0x73, 0x48, 0x4c, 0x04, 0x9b, 0x69, 0x1c, 0x23, 0x29, 0xb0, 0x6e, 0xef,
+ 0x33, 0xa2, 0xda, 0x10, 0xd2, 0xc8, 0xac, 0xd2, 0x75, 0x36, 0xfe, 0xa4,
+ 0x47, 0xc6, 0xb6, 0x11, 0x79, 0xeb, 0xa9, 0x9d, 0x5a, 0xda, 0x7d, 0x67,
+ 0xe7, 0x47, 0x5d, 0x23, 0xc0, 0x3d, 0xca, 0xbb, 0xe6, 0xfc, 0x62, 0x78,
+ 0xb6, 0x4f, 0xfd, 0xe5, 0x60, 0xa2, 0x39, 0x10, 0x87, 0xc3, 0xec, 0xef,
+ 0x92, 0x04, 0x54, 0xbb, 0xa7, 0x9f, 0x2f, 0x79, 0x7a, 0x28, 0x2e, 0xbe,
+ 0xe3, 0x09, 0x49, 0x5f, 0xb3, 0x0e, 0xfe, 0x4b, 0x9f, 0x09, 0xb4, 0x52,
+ 0x5d, 0xfd, 0xec, 0x08, 0xa3, 0x9e, 0x41, 0x1a, 0x52, 0xd8, 0xd9, 0x3d,
+ 0xfc, 0xc2, 0xf9, 0x6b, 0xae, 0x17, 0xc5, 0x27, 0xab, 0x2f, 0x0a, 0x1b,
+ 0x98, 0x2e, 0xb0, 0x7b, 0xe1, 0xa5, 0x1e, 0x0d, 0xcf, 0x1b, 0x6a, 0xe1,
+ 0x47, 0x3d, 0xf1, 0x52, 0x68, 0x9d, 0x5c, 0x8e, 0x82, 0x1a, 0xf9, 0xba,
+ 0xf0, 0xe6, 0xe0, 0xe5, 0x8e, 0xbd, 0x7e, 0x85, 0x57, 0xe4, 0x53, 0x76,
+ 0xef, 0x76, 0x1d, 0xa3, 0x25, 0x8c, 0xba, 0x98, 0x17, 0xe4, 0x84, 0x70,
+ 0x8f, 0xb8, 0x06, 0x76, 0x5b, 0x97, 0x40, 0x57, 0xdd, 0xa8, 0x9b, 0xb4,
+ 0x59, 0x78, 0x57, 0xcc, 0x4b, 0xde, 0x3b, 0x43, 0x8a, 0x45, 0xce, 0x64,
+ 0xbf, 0xe6, 0x85, 0xfa, 0xdc, 0x3a, 0x8e, 0x34, 0x7d, 0xe9, 0x87, 0x1f,
+ 0xf8, 0x1e, 0xb1, 0x94, 0x57, 0x12, 0xcb, 0xb2, 0xa5, 0x4e, 0x8c, 0xdc,
+ 0x65, 0x1a, 0x54, 0x3a, 0xc2, 0x88, 0x00, 0x55, 0xd9, 0x34, 0x23, 0xca,
+ 0x44, 0xb6, 0x83, 0x70, 0x78, 0xfa, 0x81, 0x4d, 0x89, 0x6a, 0x5f, 0x1c,
+ 0xc9, 0x25, 0x0c, 0x25, 0xfc, 0x9f, 0x05, 0xf9, 0xdf, 0xc4, 0x1f, 0x66,
+ 0x7a, 0x70, 0xf0, 0xe1, 0xe2, 0x9b, 0xd3, 0xf3, 0x61, 0xb2, 0x4d, 0x99,
+ 0xc7, 0x17, 0xe7, 0xc7, 0x5f, 0x7d, 0xb8, 0x30, 0xff, 0xd4, 0x96, 0xde,
+ 0xa4, 0x45, 0x6e, 0x6e, 0x27, 0x33, 0x9c, 0xac, 0x30, 0x9b, 0xe5, 0x4a,
+ 0x4b, 0x92, 0x30, 0x01, 0xab, 0xb9, 0x8f, 0xcb, 0x8a, 0xcb, 0x52, 0x81,
+ 0xf9, 0xe1, 0xba, 0x94, 0x15, 0x67, 0x6e, 0xb2, 0x82, 0x81, 0x76, 0xa5,
+ 0xb3, 0x9d, 0xf3, 0x4e, 0xe2, 0xb4, 0xa2, 0x67, 0x92, 0x8b, 0x6f, 0x0e,
+ 0xde, 0x7f, 0x3b, 0x54, 0xb6, 0xfa, 0xef, 0xbf, 0xff, 0xbe, 0x1b, 0xf2,
+ 0x85, 0x1e, 0x7b, 0x9d, 0xde, 0xdd, 0x0d, 0xea, 0x6c, 0x6d, 0x6d, 0x78,
+ 0x74, 0x94, 0x1c, 0x9c, 0x0c, 0x4f, 0xd7, 0x5c, 0xbe, 0xfd, 0xe6, 0x2e,
+ 0xf1, 0xf0, 0x5c, 0x65, 0x8d, 0xf9, 0xcb, 0xda, 0xda, 0xc9, 0xc1, 0x05,
+ 0x19, 0xc7, 0x52, 0x01, 0x98, 0xe6, 0x99, 0xb8, 0x33, 0xd2, 0xe9, 0x2d,
+ 0x51, 0x05, 0x5e, 0xe6, 0x00, 0xb4, 0x13, 0x4f, 0x1e, 0x20, 0xbf, 0x5d,
+ 0xfe, 0x4c, 0x73, 0xc1, 0xdd, 0x12, 0xa3, 0x89, 0xc0, 0xd2, 0x08, 0x6f,
+ 0x6b, 0x86, 0xa4, 0x00, 0x87, 0xb5, 0xc4, 0x79, 0xc8, 0x98, 0xe6, 0x3e,
+ 0x1b, 0x71, 0x01, 0xe8, 0x1e, 0xa3, 0x4b, 0x11, 0x22, 0xf3, 0x38, 0x26,
+ 0x96, 0x0c, 0xe1, 0x98, 0xa8, 0x5f, 0x93, 0x0f, 0xc3, 0x83, 0xaf, 0x8f,
+ 0xe8, 0xd9, 0xaf, 0xb3, 0xc6, 0xcd, 0x2c, 0xdc, 0x6b, 0xf8, 0xca, 0xfb,
+ 0xac, 0xa9, 0xc7, 0xe9, 0x3c, 0xdb, 0xa0, 0x3e, 0x8d, 0xfa, 0x52, 0x68,
+ 0xc1, 0x35, 0xce, 0xa6, 0x83, 0xab, 0x0f, 0x51, 0xc8, 0xf3, 0xa8, 0xe4,
+ 0xe0, 0xb7, 0x7b, 0x7e, 0x74, 0xf0, 0xe6, 0xdd, 0x91, 0xd6, 0x10, 0xe7,
+ 0x6b, 0xde, 0x34, 0x7a, 0x4d, 0x95, 0xd5, 0x5d, 0x7c, 0x85, 0x54, 0x89,
+ 0x85, 0x69, 0xc3, 0xfc, 0x86, 0x0a, 0x9d, 0xc7, 0x3f, 0xe7, 0xca, 0x46,
+ 0xe0, 0xd9, 0xc1, 0x65, 0xbe, 0xcd, 0xad, 0xeb, 0xf7, 0x52, 0x3b, 0x27,
+ 0x42, 0x26, 0xa3, 0xea, 0x35, 0xfb, 0x3f, 0xe0, 0x37, 0x79, 0xb1, 0xb3,
+ 0xb3, 0xb3, 0x62, 0x1c, 0xb0, 0x3e, 0xe4, 0x92, 0x36, 0x43, 0xd9, 0xa7,
+ 0xc7, 0xb7, 0x5d, 0xfb, 0xae, 0xc7, 0xb4, 0xdd, 0xb0, 0x6e, 0x97, 0x64,
+ 0xbe, 0xe3, 0x6a, 0xcf, 0x9b, 0x2c, 0xde, 0xe5, 0x71, 0x59, 0xda, 0x15,
+ 0x68, 0x4d, 0x0e, 0xca, 0x3b, 0xe7, 0x8d, 0xb2, 0xea, 0xe1, 0x0d, 0xee,
+ 0xb8, 0x31, 0x98, 0xc0, 0x24, 0x56, 0xdd, 0x77, 0x9b, 0xa4, 0xdf, 0x00,
+ 0x58, 0x34, 0x6e, 0x06, 0x65, 0x75, 0xb5, 0x3d, 0xdb, 0x87, 0x06, 0x64,
+ 0x1e, 0x7a, 0x4b, 0x48, 0xe6, 0xc4, 0x68, 0xd2, 0x96, 0x24, 0xa4, 0xa6,
+ 0x89, 0x2d, 0xcd, 0xd5, 0xf7, 0x88, 0x7e, 0xfd, 0x82, 0x59, 0x60, 0x82,
+ 0xa7, 0x4b, 0x1d, 0xb9, 0x96, 0x51, 0x8c, 0x7c, 0x84, 0xf6, 0x1f, 0xbc,
+ 0x93, 0x03, 0x23, 0x0b, 0xcc, 0x57, 0x88, 0x6a, 0x0c, 0x5b, 0xc4, 0xfc,
+ 0xb5, 0x22, 0xc8, 0x4d, 0x73, 0x07, 0x31, 0x2d, 0x55, 0x62, 0x39, 0x2b,
+ 0x94, 0xf0, 0x1f, 0x73, 0xa3, 0x69, 0x19, 0x03, 0x2a, 0x65, 0xa2, 0x89,
+ 0x21, 0x15, 0xba, 0x20, 0x21, 0x72, 0x25, 0x13, 0x07, 0xc8, 0x26, 0x35,
+ 0xdc, 0xfd, 0x66, 0xbf, 0x8f, 0xfd, 0x53, 0xdb, 0xdd, 0xf2, 0x88, 0x8f,
+ 0x7b, 0x83, 0xe2, 0xd9, 0x2f, 0xe4, 0x56, 0xf7, 0xf6, 0xce, 0xd0, 0xf4,
+ 0x22, 0xf8, 0xd6, 0xc2, 0x15, 0xba, 0xad, 0xf9, 0x73, 0x7e, 0x3d, 0x13,
+ 0xb3, 0x1a, 0xdb, 0x40, 0xf3, 0x3e, 0xfa, 0x1b, 0x87, 0x67, 0xf2, 0x37,
+ 0x82, 0x3d, 0xe6, 0x37, 0x34, 0x78, 0xba, 0x11, 0x92, 0x64, 0x93, 0xae,
+ 0x0c, 0xd5, 0x8a, 0x81, 0xa2, 0x84, 0x75, 0x8b, 0x62, 0x45, 0xbe, 0x75,
+ 0xb2, 0xa2, 0x87, 0xfb, 0x66, 0x6a, 0xe8, 0x06, 0xfa, 0xdf, 0xdb, 0x83,
+ 0xba, 0xbe, 0xde, 0xce, 0x27, 0x1f, 0xab, 0x3a, 0x4d, 0x7e, 0x5a, 0xeb,
+ 0x24, 0xcd, 0x76, 0x07, 0xf1, 0xbf, 0x31, 0x83, 0xbf, 0x68, 0xa6, 0x96,
+ 0x8f, 0xe2, 0xf7, 0x18, 0x41, 0xbf, 0x4f, 0xad, 0xea, 0x97, 0x3e, 0x9a,
+ 0x07, 0x3e, 0x5a, 0x36, 0xe7, 0x5f, 0x31, 0xba, 0x88, 0x28, 0x34, 0x83,
+ 0x64, 0x92, 0x4f, 0x23, 0x5b, 0xe2, 0x1b, 0x5d, 0x6b, 0x94, 0xfc, 0xb8,
+ 0xb7, 0xb3, 0xb3, 0xbb, 0xbf, 0xfb, 0xe2, 0xe5, 0xce, 0xfe, 0xee, 0xee,
+ 0xee, 0xde, 0xfe, 0xee, 0xfe, 0xfe, 0xde, 0xce, 0xcf, 0xdb, 0xeb, 0xcb,
+ 0xa6, 0xee, 0xdd, 0x57, 0x4b, 0x1a, 0x34, 0xa3, 0x5e, 0x67, 0x06, 0xc1,
+ 0x9f, 0xec, 0xe8, 0x31, 0xaa, 0xc9, 0x7a, 0x52, 0xcf, 0x46, 0x84, 0xdc,
+ 0xe3, 0xc3, 0xe9, 0x0f, 0xa6, 0x36, 0x8a, 0x77, 0xe6, 0x0d, 0xe8, 0xcd,
+ 0xe9, 0xf7, 0xef, 0x4f, 0x4e, 0x0f, 0xde, 0x24, 0x17, 0xa7, 0xc9, 0x01,
+ 0xdc, 0x84, 0x11, 0x39, 0x09, 0x16, 0x50, 0x02, 0xbf, 0x73, 0xf5, 0x16,
+ 0xaf, 0x8a, 0x99, 0xf8, 0xb4, 0x2c, 0x4a, 0x15, 0x9d, 0xe8, 0xf6, 0xb3,
+ 0x84, 0x19, 0x48, 0x2d, 0x0d, 0xae, 0x9b, 0xd9, 0xc3, 0x37, 0xc2, 0x63,
+ 0xbe, 0xdc, 0x63, 0x20, 0x87, 0xb3, 0xf4, 0xd1, 0x1d, 0x3d, 0xf9, 0x40,
+ 0x0e, 0x25, 0x1a, 0xfb, 0x12, 0x08, 0x84, 0xca, 0xbb, 0x64, 0x93, 0x01,
+ 0x5e, 0xae, 0xf2, 0x16, 0x17, 0x75, 0xeb, 0xa0, 0xe2, 0x6c, 0x79, 0x24,
+ 0xc1, 0xd8, 0x40, 0xdd, 0x21, 0x1d, 0x76, 0x2b, 0x18, 0xe0, 0xe9, 0xd2,
+ 0x21, 0x99, 0xcb, 0x3c, 0xbb, 0xc3, 0xa8, 0xdb, 0xb2, 0x97, 0x29, 0x26,
+ 0xdd, 0xe8, 0x40, 0xa4, 0xa5, 0xbe, 0x8b, 0xbc, 0xd2, 0x2e, 0x03, 0x07,
+ 0x19, 0xf9, 0x1c, 0x7d, 0x47, 0x45, 0xb2, 0xfb, 0x04, 0xfd, 0xc6, 0xbf,
+ 0xc7, 0xb7, 0x6d, 0x62, 0x31, 0x77, 0xe0, 0xc3, 0xf0, 0xf8, 0xfd, 0xd7,
+ 0x88, 0xa2, 0x7f, 0x7f, 0x7a, 0xfe, 0x66, 0x68, 0x9a, 0x35, 0xf2, 0x0a,
+ 0x8d, 0x5f, 0x94, 0x24, 0x09, 0xa5, 0x57, 0x7c, 0x2e, 0xe9, 0xd3, 0x7f,
+ 0xe1, 0xed, 0xd4, 0xf3, 0x0b, 0x08, 0xcc, 0x7c, 0xfb, 0x88, 0x2a, 0x47,
+ 0xc5, 0x6f, 0x0d, 0x6f, 0x37, 0x7e, 0x39, 0x4b, 0xc7, 0xd7, 0x64, 0xd0,
+ 0xf3, 0x66, 0x05, 0x2a, 0x7a, 0x9b, 0xd2, 0x76, 0xb6, 0xc9, 0x4e, 0xdb,
+ 0x6e, 0x4a, 0x6c, 0x47, 0xb4, 0x52, 0x56, 0x3e, 0xe5, 0xbd, 0xe7, 0xcd,
+ 0x31, 0x7b, 0xfd, 0x72, 0x9a, 0x5e, 0xe1, 0x83, 0xe1, 0x31, 0xf0, 0x3e,
+ 0x26, 0x9f, 0x7f, 0xec, 0x27, 0xe9, 0xda, 0x40, 0x7b, 0xc7, 0xd8, 0x00,
+ 0x48, 0xb5, 0x42, 0x39, 0x2c, 0x09, 0x52, 0xb1, 0xfe, 0x88, 0xda, 0x7c,
+ 0x84, 0x08, 0x23, 0x28, 0x6a, 0xb7, 0xae, 0x11, 0xaa, 0xcf, 0x32, 0xa1,
+ 0xba, 0x51, 0xbf, 0x1d, 0x60, 0x5b, 0x0a, 0x83, 0xa0, 0x25, 0x4f, 0x27,
+ 0xaf, 0x1d, 0x82, 0xdc, 0xd5, 0x72, 0xe6, 0x29, 0xa7, 0xce, 0x10, 0xca,
+ 0x93, 0x33, 0x20, 0x04, 0x64, 0x48, 0xa3, 0x5f, 0xa7, 0x3a, 0x05, 0x84,
+ 0x74, 0x5a, 0xc7, 0x15, 0x07, 0x27, 0x9b, 0xf2, 0xbf, 0xb9, 0xe8, 0xba,
+ 0x51, 0xf6, 0x8b, 0x49, 0x4a, 0x15, 0x2f, 0x18, 0xee, 0x20, 0x94, 0x2a,
+ 0xc6, 0xfa, 0xe2, 0xdc, 0x92, 0x75, 0xc5, 0x4b, 0x71, 0x2b, 0x79, 0xcd,
+ 0xc4, 0x34, 0xb6, 0x92, 0x18, 0x5d, 0x5e, 0xf4, 0x75, 0xf6, 0x93, 0x72,
+ 0xa9, 0x13, 0xbd, 0x27, 0x9d, 0xa7, 0x93, 0xee, 0x38, 0xa3, 0x8f, 0x1b,
+ 0x01, 0xce, 0x3b, 0x47, 0xe3, 0xeb, 0xae, 0x22, 0x6c, 0x6b, 0xda, 0x94,
+ 0x01, 0x99, 0x9b, 0x23, 0xc9, 0xec, 0x9c, 0xb6, 0x76, 0x06, 0xd7, 0x00,
+ 0x5b, 0xb3, 0xb7, 0x80, 0x85, 0xc2, 0xbb, 0xda, 0x76, 0xa9, 0x2b, 0xff,
+ 0xe1, 0x4d, 0x1b, 0xa3, 0x4c, 0xdd, 0x7b, 0x66, 0x8d, 0xa8, 0xa9, 0xbc,
+ 0xa9, 0xb3, 0xe9, 0x25, 0x99, 0x5b, 0xf6, 0x0a, 0xe1, 0x9a, 0xd8, 0xae,
+ 0x0e, 0x8a, 0x50, 0xbd, 0x2f, 0x0a, 0x63, 0xa9, 0xa4, 0x82, 0x00, 0x62,
+ 0x59, 0x72, 0x05, 0xb1, 0xce, 0xcf, 0x61, 0x4b, 0xb6, 0x64, 0x08, 0x07,
+ 0x50, 0x3f, 0x67, 0x90, 0x9f, 0x6d, 0xae, 0x25, 0x3a, 0xbc, 0x84, 0x10,
+ 0xbe, 0x75, 0x74, 0xee, 0x68, 0xb6, 0xee, 0xe7, 0x04, 0x5b, 0x26, 0x3c,
+ 0x88, 0x57, 0x2d, 0x52, 0x29, 0x94, 0xc1, 0x65, 0x9e, 0xdd, 0x11, 0xa1,
+ 0xb0, 0x8c, 0xcd, 0xd9, 0x84, 0x56, 0xab, 0x97, 0xf1, 0x52, 0x6b, 0xf8,
+ 0x39, 0x64, 0x21, 0xcd, 0x36, 0x71, 0x8d, 0x91, 0xcd, 0x25, 0x49, 0x13,
+ 0xac, 0x06, 0xaa, 0x25, 0x69, 0x4b, 0x94, 0x92, 0xc6, 0x64, 0x6e, 0x61,
+ 0xe6, 0xfa, 0xb6, 0x45, 0xc3, 0x11, 0xa7, 0x4d, 0xd9, 0xde, 0x84, 0x12,
+ 0xec, 0x7d, 0x18, 0xe9, 0x59, 0x74, 0x2e, 0x5a, 0x18, 0xe5, 0xd6, 0x28,
+ 0x17, 0x23, 0xb7, 0xb0, 0xb4, 0x47, 0x80, 0xee, 0xa5, 0x26, 0x0f, 0xc3,
+ 0x22, 0x7a, 0x5a, 0x4e, 0xc2, 0x9b, 0x3d, 0x41, 0xe2, 0x1a, 0x81, 0x82,
+ 0xf4, 0xb4, 0x45, 0x6d, 0x77, 0x8e, 0x99, 0xad, 0x4f, 0x72, 0x21, 0xae,
+ 0x21, 0x51, 0x21, 0x14, 0x37, 0x22, 0x79, 0x97, 0xcb, 0x9b, 0x87, 0x45,
+ 0x4d, 0xd8, 0x25, 0x35, 0xfd, 0xa6, 0xf7, 0x2c, 0x0d, 0xf2, 0x62, 0xb5,
+ 0xd0, 0x91, 0x4e, 0x3c, 0xea, 0xc3, 0x18, 0x2b, 0x58, 0xc5, 0x6b, 0x8e,
+ 0xc2, 0x38, 0xd0, 0x2a, 0xa3, 0x3e, 0xc0, 0xc5, 0xd1, 0x21, 0xd6, 0x05,
+ 0x5a, 0xc5, 0x4f, 0x6b, 0xc1, 0x81, 0x67, 0xb0, 0xca, 0x7e, 0xf2, 0x55,
+ 0x5a, 0xe7, 0xe3, 0x9e, 0xd4, 0xbd, 0x90, 0x3a, 0x18, 0xf4, 0x86, 0xad,
+ 0x8d, 0x91, 0x6c, 0x32, 0xa5, 0xf2, 0xd6, 0x20, 0xf9, 0x5e, 0x0b, 0x99,
+ 0x18, 0x23, 0x92, 0xeb, 0x33, 0xe4, 0x63, 0xd4, 0xac, 0x11, 0xc8, 0x09,
+ 0x9f, 0x3d, 0xd9, 0x9f, 0xe2, 0xcb, 0x07, 0x11, 0x3a, 0x3e, 0xe2, 0x68,
+ 0x1e, 0xb1, 0xaa, 0x69, 0xfd, 0xc9, 0x06, 0xce, 0xb0, 0x56, 0x22, 0x8a,
+ 0x90, 0x18, 0xc9, 0xba, 0x34, 0x1b, 0xf9, 0x02, 0xaf, 0x41, 0x58, 0xad,
+ 0x50, 0x90, 0xad, 0x07, 0x64, 0x63, 0x77, 0x6d, 0x6d, 0xf1, 0x6d, 0xb6,
+ 0xf8, 0x1b, 0x76, 0xa6, 0x15, 0x51, 0xfd, 0xbe, 0x99, 0x30, 0x9a, 0x1a,
+ 0x11, 0xa0, 0xa7, 0x17, 0x47, 0x7f, 0x48, 0x0e, 0xba, 0x71, 0x76, 0xba,
+ 0x99, 0x54, 0x0c, 0x4b, 0xa5, 0x60, 0xbb, 0xc1, 0xd0, 0x77, 0x86, 0xb1,
+ 0x32, 0xf1, 0x69, 0x8a, 0xe5, 0x5f, 0x93, 0x24, 0x68, 0xe7, 0x54, 0xae,
+ 0x4b, 0x49, 0x82, 0x41, 0x25, 0x45, 0x5b, 0x72, 0x0f, 0x11, 0x88, 0x5b,
+ 0x57, 0x68, 0x86, 0x79, 0xfb, 0xf3, 0x94, 0x93, 0x90, 0xee, 0xcc, 0xc1,
+ 0x46, 0x99, 0x43, 0x08, 0x50, 0xe4, 0x41, 0x48, 0x1d, 0x49, 0x42, 0xa9,
+ 0x03, 0x79, 0xde, 0x08, 0xef, 0xbe, 0xd4, 0x3c, 0xf3, 0x6a, 0xd6, 0xd8,
+ 0x16, 0x68, 0xf7, 0x7f, 0xa4, 0x23, 0xf7, 0x51, 0x2f, 0x16, 0xb9, 0x02,
+ 0xb9, 0x2f, 0x97, 0x6c, 0x07, 0xb5, 0xb7, 0xac, 0x1e, 0x3b, 0xbe, 0xcd,
+ 0xce, 0x14, 0xc4, 0x8a, 0x85, 0xa0, 0x2b, 0x00, 0x10, 0x13, 0x04, 0xd8,
+ 0x71, 0xa7, 0xaa, 0xd4, 0xf4, 0x2f, 0x26, 0x30, 0x8b, 0xd2, 0x1d, 0xc1,
+ 0x75, 0xb2, 0x85, 0x57, 0x94, 0xb3, 0x1d, 0x4c, 0xab, 0xed, 0xac, 0x2a,
+ 0x70, 0x11, 0x63, 0x56, 0xa9, 0x17, 0xc3, 0xd3, 0xc3, 0x6f, 0x87, 0xad,
+ 0xac, 0x2e, 0xd3, 0x1a, 0x3e, 0xa4, 0xd5, 0xa1, 0x3a, 0x1b, 0xda, 0x48,
+ 0xc3, 0xe3, 0xa6, 0x23, 0x9e, 0x2c, 0x63, 0xa7, 0x87, 0x6f, 0x7e, 0xab,
+ 0x08, 0x7d, 0x6d, 0x96, 0x8a, 0xa8, 0x8c, 0x33, 0x8f, 0x70, 0xb8, 0x28,
+ 0xd7, 0xbc, 0x9b, 0x8f, 0xf7, 0x4f, 0x59, 0xab, 0x4c, 0x64, 0x42, 0x5a,
+ 0x2e, 0x5d, 0x31, 0xca, 0x98, 0x4f, 0x8a, 0xc8, 0x22, 0xb1, 0x8a, 0xd4,
+ 0x3f, 0x9c, 0x40, 0xde, 0x99, 0x33, 0x6c, 0xee, 0x35, 0xb7, 0xbb, 0xe9,
+ 0x0e, 0x5a, 0x36, 0xce, 0x9c, 0x6b, 0x72, 0x5a, 0xf7, 0xba, 0xab, 0xd2,
+ 0x59, 0x48, 0x81, 0x18, 0xd2, 0xad, 0xb4, 0xd7, 0xb4, 0x3a, 0xd0, 0x6c,
+ 0x0b, 0xab, 0x67, 0xe9, 0xa2, 0xfb, 0x69, 0x08, 0x90, 0x29, 0x93, 0x64,
+ 0x76, 0x2f, 0x49, 0x49, 0xa2, 0x1b, 0x10, 0xfd, 0x0a, 0xbc, 0x12, 0x2f,
+ 0x5e, 0x04, 0xba, 0xe0, 0x9d, 0x7d, 0x7a, 0xdf, 0xfc, 0xda, 0xf3, 0x7e,
+ 0x4c, 0x09, 0x93, 0x42, 0xde, 0x06, 0xe8, 0xa1, 0xd6, 0x05, 0x12, 0xb1,
+ 0x30, 0xbc, 0x82, 0x6c, 0xfc, 0x45, 0x1b, 0xc6, 0x09, 0x76, 0x59, 0xcf,
+ 0xc9, 0xfd, 0x35, 0x36, 0xaf, 0xb9, 0xa3, 0x69, 0xcd, 0xd8, 0xa6, 0x25,
+ 0x86, 0x99, 0x8a, 0xc9, 0x6e, 0x6f, 0x3d, 0xad, 0xd9, 0x68, 0xee, 0x03,
+ 0xba, 0x54, 0xc9, 0x08, 0x18, 0x96, 0xd2, 0x30, 0x4d, 0xb2, 0x74, 0xc6,
+ 0xee, 0x8e, 0xce, 0x3e, 0xb2, 0x55, 0xcf, 0x9c, 0x8c, 0xf8, 0xb0, 0xbc,
+ 0x3b, 0x1f, 0x7e, 0x4d, 0x77, 0x0e, 0x92, 0x95, 0xd9, 0x74, 0x98, 0x20,
+ 0x96, 0xf8, 0xb5, 0x72, 0x6d, 0x97, 0xd8, 0xd5, 0xaa, 0xf7, 0xf0, 0x1c,
+ 0xa1, 0xec, 0xd0, 0xa8, 0xcd, 0xc3, 0x1b, 0x3a, 0x26, 0x8a, 0x92, 0x9f,
+ 0x86, 0x51, 0x43, 0xed, 0xf7, 0xb4, 0x2b, 0x8f, 0xed, 0xee, 0xb1, 0x9f,
+ 0x16, 0xd7, 0xd2, 0x4c, 0xb0, 0xe1, 0x25, 0xe1, 0x6d, 0x77, 0xb0, 0xe3,
+ 0xeb, 0x57, 0x36, 0x6f, 0xb5, 0x42, 0x62, 0x5c, 0x83, 0x44, 0x3a, 0xa7,
+ 0xa2, 0xd0, 0x48, 0xe0, 0x24, 0xee, 0xbc, 0x26, 0x3f, 0xdb, 0x65, 0x02,
+ 0x0b, 0x73, 0x92, 0x84, 0x20, 0x92, 0xf2, 0x98, 0xb3, 0xd9, 0x9c, 0xd3,
+ 0xfb, 0x22, 0x95, 0x74, 0x71, 0x8e, 0x9e, 0xba, 0x23, 0xf5, 0xcc, 0x2e,
+ 0xb7, 0xf4, 0x91, 0xf3, 0x51, 0xa4, 0xce, 0x1c, 0xa7, 0x84, 0x40, 0xf9,
+ 0xcc, 0x32, 0x6e, 0xa9, 0x59, 0x9a, 0x8b, 0x7c, 0xd8, 0x26, 0xf9, 0xa7,
+ 0xfd, 0x8c, 0xcb, 0xd6, 0x16, 0x45, 0x15, 0x62, 0x77, 0x41, 0x32, 0x53,
+ 0xab, 0x84, 0xf9, 0x8e, 0x48, 0x1a, 0x90, 0x84, 0x64, 0xa8, 0x1a, 0x47,
+ 0xe7, 0x9a, 0x1d, 0xdd, 0xb4, 0xb5, 0x94, 0x0e, 0xd9, 0x85, 0xea, 0xac,
+ 0x7a, 0x66, 0xda, 0x9d, 0xe6, 0xa6, 0x43, 0x1b, 0x60, 0x4c, 0xd2, 0x82,
+ 0x58, 0x22, 0x0b, 0x75, 0x0b, 0x5b, 0xee, 0x92, 0x76, 0xb5, 0xa9, 0x90,
+ 0x32, 0xb5, 0x2b, 0x74, 0xf9, 0x1a, 0xe8, 0x25, 0xfd, 0xff, 0x21, 0x33,
+ 0x43, 0xea, 0x39, 0xc1, 0xcc, 0x40, 0x6e, 0x35, 0xf7, 0x08, 0x4e, 0x04,
+ 0xd9, 0x0a, 0x81, 0x4f, 0x18, 0x52, 0x1d, 0x87, 0xad, 0x79, 0xa0, 0x69,
+ 0x7a, 0x90, 0x7f, 0x3a, 0xf6, 0x3c, 0xeb, 0x16, 0x01, 0x13, 0x51, 0xc1,
+ 0xcd, 0xad, 0xb9, 0xf2, 0xb9, 0x00, 0x16, 0x06, 0x1d, 0xb6, 0x17, 0xd9,
+ 0x57, 0xc4, 0x62, 0x7d, 0x58, 0xa6, 0xfe, 0xb4, 0xaa, 0x2d, 0xb7, 0xa6,
+ 0x3d, 0xe5, 0xcd, 0x6f, 0x5d, 0x19, 0x5c, 0x5b, 0xa0, 0x6f, 0x5e, 0xe8,
+ 0x7f, 0x10, 0x77, 0xc6, 0x97, 0xfc, 0x85, 0x01, 0xc9, 0x33, 0xf9, 0xc2,
+ 0x19, 0x6a, 0x2f, 0xea, 0x03, 0xfb, 0xf2, 0x12, 0x15, 0x24, 0x58, 0x17,
+ 0x4f, 0x4e, 0x7b, 0x56, 0xf8, 0x79, 0x2d, 0x58, 0xd0, 0x29, 0x65, 0x8c,
+ 0x43, 0xc6, 0x7f, 0xe5, 0x77, 0xc5, 0x78, 0xbc, 0xa7, 0x26, 0x06, 0x9c,
+ 0xaf, 0x21, 0xbe, 0x97, 0xbd, 0xdd, 0x6d, 0xee, 0x8c, 0x56, 0x20, 0x86,
+ 0x5e, 0x27, 0x5b, 0xd2, 0x61, 0x46, 0x70, 0x10, 0x50, 0x19, 0xcc, 0x0d,
+ 0x9c, 0x52, 0x4c, 0x08, 0xeb, 0x33, 0x23, 0x80, 0x84, 0x52, 0x99, 0xd3,
+ 0xd5, 0x64, 0xee, 0x5a, 0xe6, 0xa0, 0x2c, 0x65, 0x7d, 0xd6, 0xdc, 0x02,
+ 0xf5, 0xac, 0xca, 0x67, 0xb6, 0x52, 0xff, 0xc6, 0xb7, 0x9a, 0x32, 0x8a,
+ 0xa8, 0xa4, 0xa8, 0x15, 0x7c, 0x6b, 0xd3, 0x9d, 0xf3, 0x5a, 0x91, 0x15,
+ 0x66, 0x47, 0x9f, 0x1f, 0xbc, 0xff, 0xfa, 0x08, 0x9a, 0x00, 0x64, 0x3b,
+ 0x1d, 0xd0, 0x9c, 0x76, 0xfb, 0x64, 0x31, 0x86, 0x29, 0x64, 0x66, 0x0c,
+ 0x30, 0xb9, 0x7a, 0x20, 0xd9, 0xf0, 0x9c, 0xff, 0x92, 0xca, 0xe6, 0xc5,
+ 0x72, 0x0b, 0xf8, 0x6d, 0x2d, 0x51, 0x8f, 0x2a, 0x34, 0x08, 0x40, 0xa5,
+ 0x2b, 0x76, 0xbf, 0xd6, 0x8b, 0xd1, 0x1c, 0xd5, 0x76, 0x60, 0x9f, 0x39,
+ 0x31, 0xa3, 0x7e, 0x96, 0x41, 0xfb, 0x2c, 0xae, 0x69, 0x6a, 0x94, 0xb5,
+ 0xe9, 0x2b, 0xd8, 0xf4, 0x03, 0xdf, 0xab, 0xc6, 0xd4, 0x27, 0xbb, 0x3b,
+ 0x3b, 0x8e, 0x95, 0x2e, 0xb5, 0x0d, 0x06, 0xd2, 0xb2, 0x4a, 0x76, 0xfa,
+ 0x2f, 0x5f, 0x2e, 0x13, 0x84, 0xb6, 0x51, 0xb0, 0x5d, 0x3c, 0x7b, 0x74,
+ 0x9b, 0x7d, 0x7a, 0x74, 0x59, 0x9b, 0x11, 0x8b, 0x06, 0x55, 0x04, 0x05,
+ 0x78, 0x58, 0x5b, 0xad, 0x45, 0x3c, 0x3c, 0x1c, 0xad, 0x41, 0x1c, 0xcc,
+ 0x56, 0x9f, 0xc3, 0x54, 0xae, 0x25, 0xd6, 0xfe, 0x00, 0x3b, 0x8c, 0x3a,
+ 0x83, 0xe6, 0x84, 0x3d, 0xcc, 0x6d, 0xc8, 0xf7, 0x51, 0x13, 0xe3, 0x19,
+ 0xf0, 0x4b, 0xa6, 0xe8, 0x32, 0x1c, 0x8d, 0xaa, 0x04, 0x1f, 0xce, 0xc8,
+ 0xff, 0x77, 0xfc, 0xfe, 0x6b, 0x76, 0x87, 0x18, 0xdb, 0x1e, 0xbe, 0xf4,
+ 0xed, 0x8e, 0xa5, 0xff, 0x41, 0x8a, 0xa4, 0x53, 0x0d, 0x30, 0xc2, 0x7a,
+ 0x70, 0x45, 0x82, 0xbc, 0x90, 0xca, 0xe4, 0x76, 0xf5, 0x97, 0xf8, 0x2a,
+ 0x2f, 0x92, 0xbe, 0xa7, 0x9c, 0x08, 0xb7, 0x1c, 0x69, 0x26, 0xb3, 0x7b,
+ 0xb5, 0x8c, 0xe4, 0x0b, 0x68, 0x5d, 0x23, 0x33, 0xb6, 0x59, 0xb6, 0x73,
+ 0xd9, 0x3c, 0xc7, 0x0e, 0x0a, 0x74, 0x93, 0xc8, 0x27, 0xf9, 0x33, 0x38,
+ 0xdf, 0x1d, 0x4d, 0xe4, 0x71, 0x5d, 0x69, 0xb9, 0x3a, 0xdb, 0xc4, 0xd6,
+ 0xa4, 0x59, 0xf5, 0xd4, 0xf7, 0xd3, 0x75, 0x43, 0x72, 0xc9, 0x40, 0x5f,
+ 0xaa, 0xd3, 0x6a, 0x83, 0x30, 0xbf, 0x2c, 0xff, 0xf9, 0x7e, 0xae, 0xe8,
+ 0x21, 0x1d, 0x54, 0xba, 0xa9, 0x8a, 0x89, 0xf3, 0x69, 0x48, 0x8f, 0xa3,
+ 0x81, 0x90, 0x0b, 0x7e, 0x9f, 0x3f, 0x9d, 0xc6, 0x3f, 0xc7, 0xef, 0xeb,
+ 0xd4, 0x44, 0x0e, 0x00, 0xa9, 0xb4, 0xc2, 0x3d, 0x68, 0x59, 0x02, 0xd4,
+ 0x96, 0x21, 0x2d, 0x1c, 0x92, 0x23, 0x6f, 0xab, 0x25, 0x6b, 0x89, 0xd0,
+ 0x91, 0x80, 0x99, 0x90, 0xf6, 0x10, 0x28, 0x70, 0x70, 0x79, 0x7d, 0x02,
+ 0x8e, 0xd4, 0x3c, 0xbf, 0x28, 0x8a, 0x8c, 0x8c, 0x54, 0x14, 0x0e, 0xcd,
+ 0xd9, 0x5e, 0xe8, 0xd9, 0x53, 0x54, 0x2d, 0xa4, 0x94, 0x37, 0xc0, 0x0c,
+ 0xa6, 0xf3, 0x69, 0x7d, 0x0d, 0x94, 0xa1, 0x75, 0x45, 0x85, 0xea, 0x15,
+ 0x3e, 0xcf, 0xed, 0x92, 0x3e, 0xc5, 0xca, 0x14, 0x94, 0xeb, 0xd6, 0x54,
+ 0xb4, 0x67, 0x60, 0x6d, 0x8d, 0x9c, 0xf0, 0xdb, 0xe4, 0x8a, 0x1f, 0x86,
+ 0x13, 0xa8, 0xbe, 0xf4, 0x95, 0xfe, 0x78, 0x17, 0x63, 0x78, 0xc0, 0x33,
+ 0xef, 0x79, 0x4f, 0x1e, 0x7b, 0xe2, 0x58, 0x7f, 0x8f, 0xc4, 0x15, 0x71,
+ 0xe8, 0x3c, 0x41, 0x16, 0xdd, 0xea, 0x6d, 0x6f, 0x9a, 0x6f, 0x0b, 0xc0,
+ 0xe9, 0x03, 0xcb, 0x0c, 0x65, 0x51, 0x3a, 0xcb, 0xc5, 0x59, 0x6a, 0x67,
+ 0x1f, 0x2e, 0x84, 0x2d, 0x4c, 0xc5, 0xbb, 0x5f, 0x2e, 0xca, 0xaf, 0x0b,
+ 0x0b, 0x69, 0x46, 0xba, 0x05, 0x9b, 0xbf, 0x88, 0x75, 0x73, 0xf2, 0x25,
+ 0xbe, 0x89, 0x11, 0x72, 0x07, 0x7b, 0x36, 0xcb, 0xe6, 0xec, 0x74, 0x78,
+ 0x41, 0x6e, 0x04, 0x5c, 0x7d, 0x6a, 0x8f, 0x7e, 0x77, 0x74, 0xfe, 0xd5,
+ 0xe9, 0xf0, 0xc8, 0xac, 0xc7, 0x9b, 0xa3, 0xaf, 0x3e, 0x90, 0xd4, 0xa2,
+ 0xdd, 0xc1, 0xae, 0x67, 0xca, 0xc0, 0x11, 0xff, 0x17, 0x95, 0xee, 0x45,
+ 0x22, 0x1e, 0xb6, 0x29, 0xeb, 0x41, 0x5a, 0xb2, 0xd5, 0xaa, 0x78, 0x5c,
+ 0x7a, 0x76, 0x9a, 0xb1, 0xaf, 0x32, 0x47, 0xbe, 0x02, 0xb3, 0x34, 0x49,
+ 0xaa, 0x13, 0x8a, 0x55, 0xc2, 0xbc, 0x94, 0xa3, 0xc4, 0x4c, 0xe9, 0xf5,
+ 0xbe, 0x73, 0x6a, 0xde, 0xb0, 0x67, 0x5a, 0x0e, 0x9f, 0x2b, 0xaf, 0x09,
+ 0xca, 0x28, 0x6c, 0xde, 0x43, 0xab, 0x47, 0x0b, 0x69, 0xd2, 0xb4, 0xe4,
+ 0x5b, 0x13, 0x15, 0x21, 0xa9, 0x6d, 0xdc, 0xe3, 0x79, 0x83, 0x2b, 0x9c,
+ 0x0d, 0x0a, 0xa9, 0x4e, 0x59, 0xf3, 0xe6, 0xe6, 0x52, 0xbc, 0x04, 0x55,
+ 0xcb, 0xbc, 0xca, 0xa4, 0x75, 0xc6, 0x95, 0x2a, 0xf8, 0xd6, 0x96, 0x78,
+ 0x38, 0x43, 0x83, 0x85, 0xa9, 0x6d, 0x53, 0x8c, 0xe0, 0x5b, 0x8c, 0x53,
+ 0x58, 0xe8, 0xb9, 0xbc, 0xa3, 0xa5, 0x2c, 0xa6, 0x99, 0xf7, 0x4b, 0xed,
+ 0xf0, 0xd6, 0xb9, 0x59, 0x2e, 0x7a, 0x2e, 0x78, 0xa4, 0x60, 0xdc, 0x80,
+ 0x22, 0x20, 0xa9, 0x4f, 0xe8, 0x77, 0xa7, 0x68, 0x8d, 0x53, 0x50, 0xf8,
+ 0xec, 0x52, 0xf2, 0x81, 0x67, 0x42, 0x2e, 0xaf, 0x07, 0xa9, 0xda, 0xac,
+ 0x04, 0x98, 0x5c, 0xde, 0x11, 0x0b, 0x57, 0x41, 0xed, 0xd1, 0x92, 0x22,
+ 0x24, 0xc0, 0x9b, 0x2f, 0x3c, 0xef, 0xdc, 0x3a, 0xfe, 0x8b, 0x33, 0xea,
+ 0x05, 0x4e, 0xd6, 0xd6, 0xd6, 0xde, 0x1c, 0x5d, 0x1c, 0x1c, 0x9f, 0x1c,
+ 0xbd, 0x49, 0x8e, 0xdf, 0xbf, 0x3d, 0x3d, 0x7f, 0x77, 0x70, 0x21, 0x70,
+ 0x8c, 0x37, 0xd6, 0x23, 0xe7, 0x0a, 0xe9, 0x49, 0xb9, 0x28, 0xcf, 0x5b,
+ 0x87, 0x2d, 0x6c, 0x56, 0xd1, 0x4c, 0x06, 0x82, 0xfc, 0x3c, 0x0d, 0x59,
+ 0x6b, 0x0e, 0xd6, 0x12, 0x81, 0x71, 0xb8, 0xca, 0x83, 0xa4, 0x17, 0x6c,
+ 0xdb, 0xd8, 0xfb, 0x40, 0xa7, 0xd3, 0x52, 0x65, 0x11, 0xa3, 0xf4, 0xca,
+ 0xa6, 0x6c, 0x21, 0x59, 0xbe, 0x13, 0x5d, 0xd5, 0x67, 0xec, 0xc9, 0xfe,
+ 0xf1, 0x36, 0xd7, 0x2f, 0xf7, 0xaa, 0x52, 0x68, 0x49, 0x21, 0xf0, 0xae,
+ 0x50, 0x3b, 0x1e, 0x47, 0xd2, 0x65, 0x09, 0x54, 0x89, 0xdf, 0xa6, 0x65,
+ 0xfe, 0xc1, 0x8a, 0x1a, 0x2d, 0x80, 0x61, 0x3c, 0xf8, 0x89, 0xbf, 0xbe,
+ 0x44, 0xbd, 0xb3, 0x46, 0xe8, 0xb3, 0x46, 0xea, 0xe1, 0x11, 0x8b, 0x55,
+ 0x6d, 0x56, 0xca, 0x9e, 0x75, 0x30, 0x6b, 0x59, 0x81, 0xad, 0xd1, 0x39,
+ 0xa1, 0x23, 0xf6, 0x9b, 0xda, 0xb4, 0xf1, 0x7a, 0xa3, 0x31, 0xf5, 0x8f,
+ 0x85, 0x1b, 0x9b, 0xe6, 0x62, 0x6b, 0x8d, 0xcb, 0x27, 0x14, 0xca, 0x4a,
+ 0x68, 0xd1, 0xa6, 0xce, 0xe2, 0xcf, 0xb7, 0xbd, 0xda, 0x9e, 0x38, 0x6d,
+ 0xee, 0xdc, 0x2a, 0x97, 0x79, 0xff, 0x8d, 0x79, 0x68, 0xb2, 0x98, 0xcd,
+ 0xdb, 0x85, 0xdb, 0xd9, 0x97, 0xa7, 0x4b, 0xc8, 0x4a, 0x1b, 0x94, 0x0f,
+ 0x38, 0x7e, 0xde, 0xca, 0x1c, 0xf0, 0x38, 0xb0, 0xbf, 0x1b, 0x0d, 0x05,
+ 0x82, 0x41, 0xc4, 0x46, 0xef, 0xba, 0x15, 0x5a, 0xdb, 0x9a, 0x0b, 0x26,
+ 0x64, 0x68, 0x9f, 0xed, 0x96, 0x74, 0x4d, 0x1d, 0xd6, 0x08, 0xf3, 0xbf,
+ 0xa9, 0x0c, 0x6f, 0xb4, 0x65, 0xa5, 0x41, 0xb9, 0x2a, 0xc2, 0xe0, 0x63,
+ 0x6b, 0x50, 0xfe, 0x8b, 0x6d, 0x48, 0x8f, 0x2f, 0xe9, 0xf5, 0xd3, 0x8e,
+ 0xd0, 0xac, 0xdb, 0x03, 0x91, 0xe2, 0x46, 0x9e, 0xdc, 0x6b, 0x2d, 0x13,
+ 0xa2, 0xcd, 0x04, 0xdc, 0x88, 0x9c, 0xa5, 0x20, 0x3d, 0x10, 0x49, 0x89,
+ 0x80, 0x98, 0x6e, 0xdf, 0x05, 0x2a, 0x74, 0x94, 0x9f, 0xc8, 0x96, 0xd7,
+ 0xaa, 0xbc, 0x5e, 0xba, 0x1e, 0xa3, 0xc8, 0x84, 0xcc, 0x10, 0x42, 0xaf,
+ 0x58, 0xd3, 0xcc, 0x62, 0x7d, 0x49, 0xf1, 0x8e, 0x90, 0xfe, 0x9b, 0x34,
+ 0x57, 0xe0, 0x6a, 0x44, 0x71, 0x95, 0x2c, 0xad, 0x61, 0x50, 0x21, 0x69,
+ 0x87, 0xef, 0x0c, 0xeb, 0x86, 0x75, 0xbc, 0x7c, 0x5e, 0xad, 0x42, 0x88,
+ 0xe8, 0x49, 0xf2, 0x8a, 0x9e, 0x25, 0xde, 0x23, 0x4b, 0xf2, 0x03, 0x90,
+ 0xbe, 0x6d, 0x45, 0x03, 0x1c, 0xa6, 0x19, 0x20, 0xad, 0x05, 0x7a, 0x7a,
+ 0x46, 0x0f, 0xa4, 0xaa, 0xe1, 0xaf, 0xbb, 0xba, 0x52, 0xeb, 0xf3, 0x6b,
+ 0xf3, 0x8d, 0xf5, 0xe4, 0x8a, 0x6c, 0xa4, 0x91, 0xe9, 0x7a, 0x20, 0x40,
+ 0x27, 0xfc, 0xf8, 0xeb, 0xf3, 0xf4, 0x32, 0xcd, 0xa6, 0x7f, 0xda, 0xdb,
+ 0x19, 0xa6, 0x57, 0x8b, 0x69, 0xfa, 0x6f, 0x78, 0xf1, 0xf5, 0x93, 0x27,
+ 0x7b, 0x3b, 0x9f, 0xbd, 0xd8, 0x59, 0xef, 0xa2, 0x0f, 0x1c, 0x83, 0x09,
+ 0x10, 0x36, 0x60, 0xdd, 0x21, 0xb9, 0x8b, 0xef, 0x0c, 0xc6, 0x57, 0x39,
+ 0x8c, 0x3a, 0x52, 0x94, 0x64, 0x0e, 0x52, 0xb6, 0x26, 0x21, 0x26, 0x39,
+ 0x47, 0xd9, 0xec, 0xe0, 0xda, 0xec, 0xeb, 0x3f, 0xee, 0xee, 0xb3, 0x28,
+ 0xbb, 0x82, 0xf3, 0x3d, 0xe5, 0x1d, 0x9b, 0xbc, 0xca, 0x0b, 0x73, 0x03,
+ 0x7d, 0x91, 0x34, 0xe9, 0x95, 0xdd, 0xab, 0x68, 0x01, 0xab, 0x61, 0x97,
+ 0xb3, 0x41, 0x88, 0x7a, 0xaa, 0xb0, 0xe8, 0x63, 0x29, 0xf1, 0xb6, 0x41,
+ 0xde, 0x8f, 0x75, 0x76, 0x7f, 0xac, 0xa3, 0x03, 0x3d, 0x5b, 0xd7, 0xbb,
+ 0x3f, 0xd1, 0x4e, 0x0d, 0xf0, 0x77, 0x90, 0x7c, 0xa4, 0xcc, 0xcf, 0xb8,
+ 0x3e, 0xe7, 0xb4, 0x7a, 0x5b, 0xed, 0x8b, 0xfd, 0x64, 0x79, 0xab, 0x0b,
+ 0xa9, 0xc3, 0x62, 0x26, 0xaf, 0xd4, 0xa1, 0xb3, 0xfb, 0xc5, 0x6b, 0xac,
+ 0xdd, 0xee, 0x17, 0xff, 0x66, 0x7f, 0xb6, 0x27, 0x3f, 0xdb, 0xfb, 0xe2,
+ 0xdf, 0x06, 0x03, 0xf4, 0x8f, 0x16, 0x73, 0x43, 0x7f, 0xbd, 0x21, 0xf4,
+ 0x41, 0xa9, 0x9c, 0x36, 0xfe, 0x17, 0x59, 0xd8, 0x5c, 0x22, 0x0c, 0xcb,
+ 0xb2, 0xae, 0x5f, 0xf6, 0x27, 0xa4, 0x27, 0xc1, 0x4f, 0x2b, 0x62, 0xf2,
+ 0xda, 0x27, 0x02, 0xac, 0x63, 0xf3, 0x63, 0x43, 0x16, 0x68, 0x47, 0x10,
+ 0x8f, 0x78, 0xf9, 0xcf, 0xb4, 0xa9, 0xfe, 0xbc, 0x96, 0x48, 0x20, 0x72,
+ 0x9e, 0x55, 0x46, 0x0d, 0xa6, 0xd8, 0x84, 0xee, 0x30, 0xa6, 0x99, 0x62,
+ 0x96, 0x6a, 0x6a, 0x99, 0x12, 0x3b, 0xe8, 0xba, 0xf2, 0x0a, 0x5e, 0xfd,
+ 0x45, 0xc8, 0x4b, 0x78, 0x6d, 0xd6, 0x12, 0xfb, 0x0c, 0x27, 0xc0, 0x18,
+ 0x75, 0xa0, 0xa1, 0x83, 0x8c, 0x67, 0xff, 0xf4, 0xc3, 0x0f, 0xa2, 0xfb,
+ 0x98, 0xbf, 0x48, 0xcf, 0xaf, 0x8d, 0xd8, 0x98, 0x18, 0x49, 0x34, 0x43,
+ 0x05, 0x1d, 0xa9, 0x51, 0x26, 0xb7, 0xf3, 0xa5, 0x8c, 0x94, 0x1b, 0x31,
+ 0x4b, 0x7b, 0x30, 0x3c, 0x3c, 0x3e, 0x06, 0xb8, 0x13, 0x93, 0x7a, 0xc4,
+ 0x12, 0x07, 0xdb, 0x68, 0x13, 0x68, 0x0c, 0x87, 0x20, 0xf4, 0x77, 0x29,
+ 0xad, 0x1d, 0x96, 0x1d, 0x1b, 0xd5, 0x34, 0xa6, 0xb6, 0xb2, 0x2c, 0x25,
+ 0xb6, 0x17, 0x2b, 0x24, 0xaf, 0xd7, 0xf9, 0xc1, 0xab, 0x7c, 0x5d, 0xe2,
+ 0x4d, 0xfc, 0x93, 0x75, 0x47, 0x49, 0xc6, 0xeb, 0x81, 0x45, 0x7b, 0xcd,
+ 0x5a, 0x4e, 0xfe, 0x8f, 0xec, 0xf5, 0xee, 0x4e, 0xfc, 0x09, 0x04, 0x58,
+ 0x89, 0x84, 0xf1, 0xb5, 0x8b, 0xdd, 0xad, 0x7a, 0x3e, 0x9f, 0xf0, 0xd3,
+ 0x52, 0xe3, 0x1b, 0xe5, 0xd6, 0x5e, 0xaf, 0x8f, 0xe8, 0x32, 0xa4, 0xff,
+ 0xbf, 0xa4, 0x1f, 0x08, 0x2e, 0xc9, 0xb3, 0xf5, 0x62, 0x34, 0xcb, 0x5b,
+ 0x1d, 0xde, 0xa6, 0x01, 0x7e, 0x41, 0x03, 0xfe, 0x3e, 0xb3, 0xbb, 0x23,
+ 0x23, 0x2d, 0x8c, 0xd5, 0xb4, 0x8d, 0xcb, 0xb2, 0x1c, 0xa5, 0xd5, 0x86,
+ 0x44, 0x5e, 0xb4, 0x9f, 0x1b, 0xbb, 0x7b, 0x4f, 0x9e, 0x3e, 0xdb, 0x18,
+ 0x88, 0x4a, 0x85, 0xd3, 0xdc, 0xf8, 0x54, 0x24, 0xdc, 0x84, 0x65, 0xd0,
+ 0x60, 0x10, 0x35, 0x52, 0xf7, 0x63, 0x71, 0x50, 0x12, 0x38, 0xf4, 0xb9,
+ 0xd7, 0xfc, 0xb5, 0x7f, 0xa3, 0xef, 0xbc, 0xc6, 0x27, 0xfe, 0x2d, 0x9f,
+ 0xbc, 0xb6, 0x23, 0xfc, 0x37, 0x1a, 0xcb, 0x6b, 0x19, 0x84, 0x59, 0x57,
+ 0x4d, 0x2f, 0xac, 0xb7, 0xd6, 0xa2, 0x22, 0x28, 0xba, 0xb8, 0xba, 0x88,
+ 0x6b, 0x18, 0x34, 0xc0, 0x06, 0xfd, 0x09, 0x07, 0x2a, 0xa0, 0x58, 0xba,
+ 0xdc, 0xba, 0xed, 0xbb, 0xbe, 0x69, 0xa5, 0x4f, 0xad, 0xf4, 0x9d, 0x6c,
+ 0x05, 0x77, 0x66, 0x9f, 0x16, 0xa2, 0x27, 0xc9, 0x95, 0x53, 0x38, 0x44,
+ 0xe4, 0xd6, 0x2e, 0x4b, 0xc4, 0xeb, 0x0f, 0xbf, 0x3e, 0xde, 0x10, 0x8c,
+ 0x0c, 0x5b, 0x74, 0xbd, 0x98, 0x2b, 0xd9, 0xa2, 0x01, 0xc7, 0xe9, 0x9c,
+ 0x4e, 0xff, 0x9a, 0xd2, 0x03, 0xa7, 0x04, 0xf9, 0xa0, 0xef, 0x72, 0x26,
+ 0xb4, 0xf9, 0x98, 0x5c, 0x10, 0x53, 0x72, 0x4e, 0x57, 0xcc, 0xea, 0xe9,
+ 0x35, 0x63, 0xe6, 0xa5, 0x16, 0xec, 0x07, 0xc2, 0x33, 0x73, 0x9b, 0x48,
+ 0xd9, 0x7f, 0x6b, 0xe3, 0x93, 0x36, 0x71, 0x4f, 0x1e, 0x35, 0xbf, 0x62,
+ 0x79, 0xa2, 0x22, 0x62, 0x7d, 0xa0, 0x15, 0xd4, 0x79, 0x27, 0xf8, 0xd2,
+ 0x03, 0xc9, 0xfc, 0xa3, 0x4c, 0xd2, 0x2f, 0xd9, 0xc3, 0xc1, 0x3a, 0x1c,
+ 0xc9, 0xcf, 0x57, 0xb6, 0x74, 0xe1, 0x17, 0x09, 0x58, 0xbe, 0xf9, 0x2d,
+ 0x09, 0x11, 0x8a, 0xaf, 0x88, 0xdd, 0xab, 0x78, 0x69, 0xcd, 0x95, 0x4b,
+ 0xe4, 0x19, 0x71, 0xc0, 0x19, 0xb9, 0xc3, 0x7d, 0xfa, 0xd2, 0xd1, 0xbd,
+ 0xf8, 0x05, 0xa8, 0x85, 0x8d, 0xcf, 0x71, 0x08, 0x5e, 0xd1, 0x32, 0xe0,
+ 0xd7, 0x5f, 0x6c, 0xac, 0xd9, 0xca, 0x5d, 0x56, 0xc9, 0xee, 0xc4, 0x7a,
+ 0x79, 0x83, 0xfa, 0xe3, 0xf1, 0xf8, 0x12, 0x58, 0x71, 0x22, 0x7e, 0x16,
+ 0x94, 0xe7, 0x30, 0x8a, 0xcf, 0x74, 0x22, 0x75, 0x8f, 0xad, 0x2f, 0x99,
+ 0x1b, 0xcf, 0x88, 0xe2, 0x86, 0x14, 0xbd, 0x0d, 0x02, 0x96, 0xe2, 0xbd,
+ 0x0d, 0x4b, 0x55, 0x0b, 0xf7, 0x26, 0x04, 0x5e, 0x95, 0x69, 0x39, 0xde,
+ 0x35, 0x49, 0xb6, 0x77, 0x8a, 0xb7, 0x3f, 0xb0, 0xda, 0xbb, 0xe7, 0x5d,
+ 0xfa, 0x22, 0x53, 0x16, 0x05, 0x47, 0xe4, 0x2d, 0xe5, 0x05, 0xcb, 0x47,
+ 0x5f, 0xd3, 0x74, 0xef, 0x0e, 0xae, 0xf2, 0x4b, 0x9e, 0x0c, 0x23, 0x22,
+ 0xaf, 0xb2, 0x6d, 0xf3, 0xcf, 0x9e, 0xf9, 0xf9, 0x1e, 0x29, 0x50, 0xf4,
+ 0x97, 0x27, 0x80, 0x4e, 0xf9, 0xd7, 0xb4, 0x77, 0x36, 0xec, 0xb9, 0xa0,
+ 0xbf, 0xe4, 0xf6, 0x7a, 0x96, 0x00, 0x8c, 0xf4, 0xb2, 0xaf, 0xec, 0xb1,
+ 0x48, 0x9a, 0x53, 0xad, 0xd0, 0xc7, 0x7f, 0x90, 0x4d, 0x44, 0xd6, 0xe3,
+ 0x82, 0xb2, 0x55, 0x2c, 0xce, 0x43, 0x30, 0x0f, 0xa2, 0x53, 0x93, 0x8a,
+ 0x9c, 0x8b, 0x27, 0x85, 0xb2, 0x7b, 0x70, 0xb3, 0x66, 0xb7, 0x5b, 0x3d,
+ 0x1f, 0x14, 0x6b, 0xc4, 0xfb, 0x0d, 0xe5, 0xca, 0x13, 0x9f, 0x88, 0xcb,
+ 0xb4, 0xa4, 0xcf, 0x6f, 0x4a, 0x95, 0x4b, 0x2f, 0x87, 0x18, 0xcb, 0x9c,
+ 0x77, 0x57, 0xb0, 0x5d, 0x28, 0x92, 0x31, 0x77, 0x79, 0xdd, 0x6c, 0xd1,
+ 0x67, 0xb2, 0x29, 0x93, 0xa7, 0x49, 0x89, 0x58, 0xfd, 0xaa, 0xb2, 0xa6,
+ 0xe1, 0x43, 0x1b, 0xfe, 0xd9, 0x2f, 0xc7, 0x4d, 0x66, 0xcc, 0x52, 0x24,
+ 0x1b, 0xb0, 0x9c, 0x3b, 0x9a, 0x31, 0x41, 0x34, 0xb6, 0xf0, 0xb4, 0xcf,
+ 0xb7, 0xa7, 0x68, 0x2f, 0xfd, 0xb7, 0x83, 0xe4, 0x04, 0xe0, 0xee, 0x3a,
+ 0x65, 0x72, 0x1e, 0xbd, 0x61, 0x75, 0x37, 0x98, 0xad, 0xc3, 0xea, 0xf2,
+ 0x1a, 0x97, 0xef, 0x24, 0xa2, 0x0b, 0xdd, 0x52, 0xa0, 0x01, 0x75, 0xf6,
+ 0x21, 0xeb, 0x17, 0xa2, 0x8f, 0xf4, 0xe0, 0xb6, 0xb6, 0xcf, 0xc1, 0x3d,
+ 0xcf, 0x2e, 0x3a, 0xa4, 0x75, 0xd9, 0x0d, 0xeb, 0x35, 0xc2, 0xf8, 0x2a,
+ 0xd1, 0x15, 0x3d, 0xb1, 0x6e, 0x0f, 0x01, 0xa3, 0x1f, 0x33, 0xf6, 0x8f,
+ 0x10, 0xe3, 0x02, 0x71, 0x04, 0x21, 0x7c, 0x6b, 0x5a, 0xc3, 0x2e, 0xa3,
+ 0x0a, 0x9e, 0xb4, 0x8d, 0xd6, 0x61, 0xe2, 0x4d, 0x33, 0x6b, 0x07, 0xf3,
+ 0x5a, 0x95, 0x16, 0x19, 0x0e, 0xb7, 0x89, 0x90, 0x1f, 0xdb, 0xc8, 0x1a,
+ 0x75, 0x92, 0xfa, 0x95, 0xde, 0x98, 0xbf, 0x90, 0xe7, 0x70, 0x54, 0x99,
+ 0x55, 0xcf, 0x2a, 0xbe, 0x1a, 0x18, 0xce, 0xe3, 0x95, 0x33, 0xfd, 0xe6,
+ 0xe2, 0xdd, 0x49, 0xa2, 0x24, 0x47, 0x97, 0x4e, 0xab, 0x53, 0x10, 0x25,
+ 0x86, 0x28, 0x4e, 0x0c, 0xd6, 0x87, 0xe4, 0x29, 0xbe, 0xe5, 0x78, 0x6e,
+ 0x29, 0xff, 0x3d, 0xa1, 0xc9, 0x69, 0x1d, 0x59, 0xef, 0x09, 0x7e, 0x75,
+ 0x8d, 0xa9, 0xd7, 0x36, 0x68, 0x0a, 0x36, 0x7a, 0xc9, 0x06, 0x75, 0x95,
+ 0x7e, 0xb1, 0x81, 0xf9, 0xc4, 0x8f, 0xbd, 0xe9, 0xdb, 0x18, 0x44, 0x4e,
+ 0x21, 0x3d, 0xf3, 0xfa, 0xcb, 0xd6, 0x2c, 0xe1, 0xe7, 0xda, 0xd4, 0x6b,
+ 0x4e, 0xed, 0x08, 0xd4, 0x63, 0x7d, 0xd7, 0x6b, 0xff, 0xf5, 0x61, 0x49,
+ 0xbc, 0xaf, 0x54, 0x2e, 0xd5, 0x21, 0x52, 0xc7, 0xf6, 0x67, 0x39, 0x72,
+ 0x61, 0x83, 0x86, 0x1e, 0x3e, 0xc5, 0x17, 0x2a, 0x8a, 0x2c, 0x5a, 0x93,
+ 0xa5, 0x1b, 0x6f, 0x01, 0x95, 0xbc, 0x66, 0x35, 0x73, 0x36, 0xd1, 0x6e,
+ 0x4b, 0x38, 0x04, 0x20, 0x73, 0x76, 0x07, 0xc8, 0x8d, 0x74, 0x3c, 0xf5,
+ 0xb6, 0x01, 0x6b, 0x67, 0xaf, 0x63, 0x42, 0xd7, 0x2d, 0x80, 0x56, 0xad,
+ 0x6f, 0x9d, 0xe5, 0x98, 0xec, 0x9a, 0xe7, 0x63, 0xca, 0xae, 0x31, 0xa2,
+ 0x6b, 0x52, 0x5e, 0x91, 0xe4, 0xea, 0x99, 0x83, 0x46, 0x7f, 0x02, 0x3b,
+ 0xbc, 0x27, 0x1f, 0xe5, 0x0e, 0xe3, 0xac, 0x70, 0xa8, 0x45, 0xff, 0xbd,
+ 0x04, 0x4d, 0xfa, 0x96, 0xbc, 0x96, 0x63, 0x69, 0xdb, 0x36, 0xcd, 0xeb,
0x61, 0xda, 0xb7, 0xbf, 0xf0, 0xbf, 0xa5, 0x93, 0x93, 0x4a, 0xcb, 0x5c,
- 0xad, 0x56, 0xca, 0xf9, 0xce, 0xee, 0x6d, 0xad, 0x2e, 0xf8, 0xa2, 0x88,
- 0x66, 0x9e, 0xef, 0xad, 0x99, 0x24, 0xec, 0x6d, 0xfe, 0x79, 0x93, 0xe1,
- 0xfc, 0x9b, 0x2f, 0x37, 0x21, 0xc1, 0x48, 0x2e, 0xcd, 0xc7, 0x19, 0xd2,
- 0xca, 0xe4, 0x72, 0xda, 0xe4, 0x5b, 0x71, 0xc0, 0xba, 0x83, 0x70, 0x51,
- 0xba, 0x03, 0x82, 0x6b, 0xd9, 0x59, 0x7c, 0x3e, 0xce, 0x11, 0x16, 0x3d,
- 0xca, 0xbd, 0xa0, 0x57, 0xc4, 0x08, 0x3d, 0x6e, 0x18, 0xd3, 0x22, 0x97,
- 0x2e, 0xd4, 0x32, 0x70, 0xa0, 0x10, 0x2d, 0x90, 0x78, 0x24, 0x97, 0xc5,
- 0x82, 0xb2, 0xde, 0x27, 0x0d, 0x1c, 0x23, 0x7c, 0x96, 0x86, 0xc9, 0xfb,
- 0x62, 0xca, 0x25, 0xee, 0xc9, 0xae, 0xcd, 0xab, 0xc9, 0x72, 0x4e, 0x5e,
- 0x85, 0x09, 0xf9, 0xb2, 0x70, 0xf1, 0xb0, 0x7a, 0xd0, 0x8a, 0xa4, 0xfb,
- 0x1d, 0x66, 0x3f, 0x06, 0xfb, 0xb6, 0xe5, 0xbb, 0x40, 0x8d, 0x10, 0x56,
- 0x4a, 0x7c, 0xd7, 0xd0, 0x0a, 0x2c, 0x17, 0x8a, 0x08, 0x20, 0x0a, 0xe2,
- 0x1d, 0xbf, 0x39, 0xbe, 0xb8, 0x38, 0xbe, 0xa0, 0xf9, 0x3e, 0xec, 0x14,
- 0x45, 0x53, 0x2e, 0x6a, 0x17, 0x15, 0x54, 0x84, 0xae, 0xef, 0x54, 0xd1,
- 0x04, 0x22, 0x12, 0x85, 0xc2, 0x88, 0x0a, 0x0b, 0x82, 0xd9, 0x7f, 0xb8,
- 0xea, 0x84, 0xef, 0x09, 0x04, 0x42, 0xdb, 0x7a, 0xf8, 0x81, 0x58, 0x82,
- 0xaf, 0xb0, 0xa5, 0x5b, 0xb8, 0x16, 0x2a, 0x29, 0x44, 0xb0, 0xd4, 0x64,
- 0xfb, 0x9b, 0xac, 0xa5, 0xa6, 0x0e, 0x05, 0x54, 0x9b, 0x49, 0xdc, 0x7b,
- 0x66, 0x5d, 0x09, 0x18, 0xf2, 0x15, 0x9d, 0x51, 0xb2, 0x9d, 0x30, 0x19,
- 0x75, 0xb3, 0x5c, 0xe4, 0x53, 0xeb, 0x98, 0x35, 0x3f, 0x37, 0xea, 0x5f,
- 0xc2, 0xa7, 0xbc, 0x56, 0x58, 0x0a, 0x02, 0x90, 0xea, 0x37, 0xf0, 0x1d,
- 0x63, 0x9d, 0x92, 0xe1, 0x09, 0x72, 0xd4, 0x18, 0xdf, 0xa5, 0xfc, 0xf2,
- 0xed, 0xac, 0x71, 0xd9, 0xfb, 0x19, 0x1c, 0x82, 0x24, 0x2d, 0x14, 0x29,
- 0xe3, 0x4b, 0x06, 0x72, 0x3b, 0xcd, 0x1d, 0x34, 0xdd, 0x95, 0x18, 0xbe,
- 0x40, 0xb2, 0x68, 0x75, 0x90, 0xfc, 0x58, 0xe7, 0x93, 0x9f, 0xdd, 0xe5,
- 0x81, 0x4c, 0x9d, 0x36, 0x3d, 0x15, 0xa6, 0x4e, 0x26, 0x4a, 0x8c, 0x61,
- 0x4e, 0xd2, 0x7e, 0x3f, 0x3a, 0xbe, 0x48, 0x0e, 0xbf, 0x26, 0x62, 0xf5,
- 0x7f, 0x70, 0x81, 0xe9, 0x39, 0xb9, 0x1d, 0x36, 0x84, 0x6e, 0x51, 0x18,
- 0x4b, 0x32, 0xf5, 0x5a, 0x4b, 0x85, 0xc2, 0xa3, 0x36, 0x16, 0x8d, 0x7b,
- 0xe5, 0xae, 0xfb, 0xf6, 0x1a, 0x92, 0x67, 0xef, 0x81, 0x55, 0x7c, 0xcc,
- 0x1a, 0xd2, 0x21, 0xf3, 0x57, 0x91, 0xb9, 0x8e, 0x38, 0x7a, 0xa0, 0x6b,
- 0x23, 0xbd, 0xaf, 0x03, 0xb3, 0x93, 0x57, 0xe9, 0x30, 0xd9, 0x7c, 0x5b,
- 0xfe, 0xdd, 0x28, 0x03, 0xe9, 0xce, 0x93, 0xe1, 0x6e, 0xb2, 0xf5, 0x7d,
- 0x5e, 0xbc, 0x78, 0xf6, 0x45, 0x72, 0xb2, 0xbd, 0xd9, 0xc2, 0xdd, 0x73,
- 0x65, 0x97, 0x71, 0x5a, 0x7c, 0xb4, 0x4b, 0x76, 0x86, 0x93, 0xcd, 0xf8,
- 0x37, 0x71, 0x3e, 0xd4, 0x5c, 0x55, 0x61, 0x65, 0x8b, 0x48, 0xe9, 0x14,
- 0x08, 0x7f, 0xf2, 0x9d, 0x64, 0x26, 0x3f, 0x81, 0x95, 0x6f, 0x9e, 0x9a,
- 0xd2, 0xd4, 0xbd, 0x78, 0x16, 0x34, 0xf1, 0xd4, 0xb6, 0xf1, 0x9e, 0xdb,
- 0xf8, 0x85, 0x4d, 0xec, 0x0f, 0x77, 0xf7, 0x93, 0xad, 0xb3, 0xd1, 0xce,
- 0xbe, 0x6d, 0x21, 0x6c, 0x62, 0x1f, 0x4d, 0xd0, 0x43, 0xed, 0x97, 0x9f,
- 0xd2, 0xf7, 0x7f, 0xcc, 0x8a, 0x9f, 0x93, 0xad, 0x1f, 0xf6, 0xf6, 0x4c,
- 0x03, 0x5f, 0x24, 0x87, 0x27, 0x3f, 0x24, 0x4f, 0x87, 0xa6, 0xb1, 0x77,
- 0xe9, 0xad, 0x34, 0x27, 0xe4, 0xd0, 0x23, 0x34, 0x62, 0x7e, 0x1f, 0xb4,
- 0xf1, 0xac, 0xd3, 0xc6, 0xa9, 0xb1, 0x0b, 0x3f, 0x99, 0x6b, 0x65, 0x77,
- 0xf8, 0x64, 0x3f, 0xc9, 0x9f, 0x7d, 0xfe, 0x5c, 0x1b, 0x92, 0x36, 0xf0,
- 0xfb, 0xb6, 0x63, 0x91, 0x89, 0x50, 0x8c, 0xaa, 0x73, 0xfc, 0xc9, 0x08,
- 0x34, 0x88, 0x88, 0x8a, 0x9c, 0x7a, 0x37, 0x69, 0x35, 0x95, 0xed, 0x46,
- 0x25, 0x5f, 0xcc, 0x4a, 0x09, 0x33, 0x7f, 0x06, 0x0f, 0xa3, 0xb9, 0x38,
- 0x0f, 0x82, 0xee, 0x90, 0x6d, 0xaa, 0x8f, 0x7e, 0x91, 0xbc, 0x1d, 0x9d,
- 0x1c, 0x9b, 0x11, 0xed, 0x9a, 0xae, 0xb9, 0x39, 0xe4, 0x0e, 0xe1, 0x57,
- 0x98, 0xdc, 0x17, 0x20, 0x9f, 0x95, 0x36, 0x54, 0xe7, 0x66, 0xcc, 0xa9,
- 0xd9, 0x74, 0xe6, 0xe2, 0xae, 0xf1, 0x5d, 0x42, 0x8f, 0x0c, 0x0e, 0xaf,
- 0xc9, 0x84, 0xe0, 0xab, 0x16, 0x9f, 0xfe, 0xb6, 0x2c, 0xcc, 0x31, 0xa9,
- 0xca, 0x8a, 0x40, 0x4e, 0x9b, 0x2d, 0x6d, 0xe1, 0xdb, 0xd7, 0xc7, 0x9c,
- 0x2c, 0xff, 0x36, 0x2d, 0x8c, 0x8c, 0x24, 0xce, 0xab, 0xfa, 0x23, 0x85,
- 0xea, 0x39, 0xf2, 0xc2, 0xef, 0x9f, 0xde, 0x17, 0x9f, 0xcc, 0x3a, 0x7e,
- 0x36, 0xdc, 0x23, 0x74, 0x35, 0x59, 0xbd, 0x6f, 0xde, 0x9a, 0x7f, 0xef,
- 0x3d, 0xdd, 0x4c, 0xe8, 0x57, 0x6d, 0x0b, 0x5e, 0xcf, 0xeb, 0xc6, 0xd1,
- 0xd9, 0xd9, 0xb7, 0x27, 0x8c, 0xd5, 0x38, 0x12, 0x0f, 0x28, 0x29, 0x57,
- 0xd6, 0x2a, 0x66, 0xe9, 0x6a, 0xac, 0x37, 0x97, 0x58, 0x84, 0xb8, 0xd9,
- 0xc7, 0x2c, 0x5b, 0x20, 0xbd, 0xb7, 0x23, 0x11, 0x1a, 0x91, 0xd1, 0x16,
- 0x86, 0x44, 0xea, 0x4f, 0x87, 0x9a, 0xb3, 0xa9, 0xad, 0xb7, 0x75, 0x7c,
- 0x6f, 0x09, 0x39, 0x52, 0x57, 0x00, 0x18, 0x5d, 0xb4, 0x89, 0x05, 0xea,
- 0x2d, 0xc6, 0x0a, 0x53, 0x71, 0x21, 0xb1, 0x7d, 0x37, 0x47, 0x46, 0xbb,
- 0xe7, 0x4e, 0x1f, 0x88, 0x83, 0x75, 0xd3, 0xe3, 0xea, 0x87, 0x46, 0x8b,
- 0xcc, 0x1a, 0x46, 0x93, 0x91, 0x81, 0x20, 0x18, 0x77, 0x91, 0xcd, 0xa8,
- 0xcf, 0x9e, 0x01, 0x49, 0xf7, 0xee, 0xf0, 0xed, 0xf1, 0xab, 0xef, 0x0e,
- 0x4f, 0xdf, 0x1f, 0x9b, 0x57, 0x72, 0xf3, 0xb1, 0x2d, 0x87, 0xb6, 0x43,
- 0x1f, 0xe7, 0xf9, 0xa4, 0x9c, 0x51, 0x40, 0x68, 0xf3, 0x8b, 0xcd, 0x0d,
- 0x46, 0x82, 0x27, 0x3d, 0x7a, 0x6b, 0x8f, 0x5f, 0x33, 0xfb, 0x82, 0xfe,
- 0xb5, 0xcf, 0xff, 0xda, 0xff, 0xa2, 0xb7, 0xdd, 0x1a, 0x74, 0x60, 0x25,
- 0x5f, 0xa1, 0x04, 0x28, 0x4a, 0x37, 0xa2, 0xda, 0x35, 0xd2, 0x2c, 0x78,
- 0x56, 0x7a, 0x1a, 0x4e, 0xd1, 0xbb, 0x8d, 0x9e, 0xdd, 0x1a, 0xdf, 0xfb,
- 0x36, 0x78, 0x8f, 0x5e, 0x7a, 0x05, 0x05, 0xa3, 0xb7, 0xdd, 0xb7, 0x2a,
- 0x07, 0xa2, 0xda, 0xd4, 0x86, 0x36, 0xc1, 0x24, 0x91, 0xc9, 0x56, 0x8f,
- 0xff, 0xf2, 0xea, 0xf5, 0xe1, 0xe5, 0x31, 0xbd, 0xa0, 0x9f, 0x17, 0xe0,
- 0xa0, 0xcd, 0x78, 0xa0, 0xfe, 0x6c, 0x49, 0x14, 0xf9, 0x15, 0x0d, 0xa8,
- 0xb7, 0xcd, 0x61, 0x07, 0xc4, 0xbf, 0x3b, 0xfd, 0x2a, 0x0b, 0xc5, 0x58,
- 0xbb, 0x04, 0xf4, 0x5a, 0xc1, 0x25, 0x5b, 0x3d, 0xfe, 0x5d, 0x6f, 0x5b,
- 0x3d, 0xb8, 0x52, 0x72, 0x46, 0x22, 0x8b, 0x53, 0xe4, 0x43, 0x04, 0x49,
- 0xb0, 0x8c, 0x1e, 0x73, 0xeb, 0x23, 0x71, 0x05, 0xf6, 0x38, 0x79, 0xc5,
- 0x0b, 0xec, 0xc2, 0x4b, 0x86, 0x3b, 0xf9, 0x98, 0xca, 0x72, 0x6f, 0xff,
- 0xc9, 0x17, 0x98, 0xcf, 0x57, 0xbd, 0x1d, 0x73, 0x37, 0xf4, 0xbe, 0xa0,
- 0x4f, 0xe7, 0x8d, 0x57, 0x82, 0x4f, 0x3e, 0x43, 0xf6, 0x94, 0xec, 0x28,
- 0x46, 0xb6, 0xd0, 0xaa, 0x7b, 0xc4, 0x3d, 0x98, 0xd0, 0x3b, 0x4e, 0xe8,
- 0x52, 0x9a, 0x1b, 0x8d, 0xf3, 0x63, 0xbd, 0x50, 0x3b, 0x0c, 0x65, 0x51,
- 0xd8, 0xa9, 0x8b, 0xcf, 0xf9, 0xf7, 0x47, 0x9f, 0xdf, 0xe5, 0x31, 0x0a,
- 0x35, 0x10, 0x7d, 0x73, 0x7e, 0xaf, 0x39, 0x5f, 0xf8, 0x16, 0x74, 0x72,
- 0x5e, 0xb3, 0x40, 0x33, 0x1e, 0x8b, 0x6f, 0x47, 0x8d, 0x11, 0xe8, 0x04,
- 0x46, 0xb4, 0xdc, 0x43, 0x51, 0x02, 0x30, 0xc0, 0xc7, 0x43, 0xe8, 0x9d,
- 0x9d, 0x8e, 0x73, 0xa3, 0x09, 0xdb, 0x2c, 0x16, 0xcf, 0x2a, 0xb7, 0x53,
- 0xaf, 0xc7, 0x2f, 0xf7, 0x38, 0x97, 0x36, 0x2c, 0x55, 0x69, 0x6d, 0x7d,
+ 0xb6, 0x56, 0xaa, 0xfa, 0x4e, 0xef, 0x6d, 0xc9, 0x2e, 0xf8, 0xa2, 0x88,
+ 0x6f, 0x9e, 0xef, 0xad, 0xa9, 0x24, 0xec, 0x6d, 0x7c, 0xb9, 0xc1, 0x70,
+ 0xfe, 0x8d, 0x57, 0x1b, 0x90, 0x60, 0x24, 0x97, 0x66, 0xa3, 0x0c, 0x69,
+ 0x65, 0x72, 0x39, 0x6d, 0xf0, 0xad, 0xd8, 0x67, 0xdd, 0x41, 0x58, 0x29,
+ 0xdd, 0x01, 0xc1, 0xb5, 0xec, 0x2c, 0x3e, 0x1f, 0xe7, 0x08, 0x8b, 0xde,
+ 0x15, 0xd3, 0x25, 0x62, 0xe8, 0x51, 0xc3, 0x98, 0x16, 0xb9, 0x74, 0xa1,
+ 0x96, 0x81, 0x03, 0x85, 0x68, 0x81, 0xc4, 0x23, 0xb9, 0x28, 0xe6, 0x94,
+ 0xf5, 0x3e, 0x6e, 0xe0, 0x18, 0xe1, 0xb3, 0x34, 0x48, 0x3e, 0x14, 0x13,
+ 0x2e, 0x75, 0x4f, 0x76, 0x6d, 0x5e, 0x8d, 0x17, 0x33, 0xf2, 0x2a, 0x8c,
+ 0xc9, 0x97, 0x85, 0x8b, 0x87, 0xd5, 0x83, 0x56, 0x24, 0xdd, 0xef, 0x30,
+ 0xfb, 0x31, 0xd8, 0xb7, 0x2d, 0xdf, 0x05, 0x6a, 0x84, 0xb0, 0x52, 0xe2,
+ 0xbb, 0x86, 0x56, 0x60, 0xb9, 0x50, 0x44, 0x00, 0x51, 0x10, 0xef, 0xe8,
+ 0xed, 0xd1, 0xf9, 0xf9, 0xd1, 0x39, 0xcd, 0xf7, 0x41, 0xa7, 0x36, 0x9a,
+ 0x92, 0x52, 0xbb, 0xa8, 0xa0, 0x22, 0x74, 0x7d, 0xa7, 0x8a, 0x26, 0x10,
+ 0x91, 0x28, 0x14, 0x5e, 0x54, 0x58, 0x10, 0xcc, 0xfe, 0xc3, 0xc5, 0x27,
+ 0x7c, 0x4f, 0x20, 0x10, 0xda, 0xd6, 0xc3, 0x0f, 0xc4, 0x12, 0x7c, 0x85,
+ 0x2d, 0xdd, 0xc2, 0xb5, 0x50, 0x49, 0x39, 0x82, 0x85, 0xe6, 0xda, 0x5f,
+ 0x67, 0x2d, 0x35, 0x75, 0x20, 0xa0, 0xda, 0x4c, 0xe2, 0xde, 0x53, 0xeb,
+ 0x4a, 0xc0, 0x90, 0x2f, 0xe9, 0x8c, 0x92, 0xed, 0x84, 0xc9, 0xa8, 0x9b,
+ 0xc5, 0x3c, 0x9f, 0x58, 0xc7, 0xac, 0xf9, 0xb9, 0x51, 0xff, 0x12, 0x3e,
+ 0xe5, 0xb5, 0xc2, 0x52, 0x10, 0x80, 0x54, 0xbf, 0x81, 0xef, 0x18, 0xeb,
+ 0x54, 0x0e, 0x4f, 0x90, 0xa3, 0xc6, 0xf8, 0x2e, 0xa5, 0x99, 0x6f, 0x67,
+ 0x8d, 0xcb, 0xde, 0xcf, 0xe0, 0x10, 0x24, 0x69, 0xa1, 0x48, 0x19, 0x5f,
+ 0x32, 0x90, 0xdb, 0x69, 0xe6, 0xa0, 0xe9, 0xae, 0xd2, 0xf0, 0x39, 0x92,
+ 0x45, 0xab, 0xfd, 0xe4, 0xc7, 0x3a, 0x1f, 0xff, 0xec, 0x2e, 0x0f, 0x64,
+ 0xea, 0xb4, 0xe9, 0xa9, 0x30, 0x75, 0x32, 0x51, 0x62, 0x0c, 0x73, 0x92,
+ 0xf6, 0x87, 0xe1, 0xd1, 0x79, 0x72, 0xf0, 0x35, 0xf1, 0xab, 0xff, 0x93,
+ 0x0b, 0x4c, 0xcf, 0xc9, 0xed, 0xb0, 0x26, 0xdc, 0x09, 0xc2, 0x58, 0x92,
+ 0x4d, 0xfc, 0xba, 0xc0, 0x83, 0xd6, 0xca, 0xe6, 0x5a, 0x4d, 0xc2, 0xa3,
+ 0x97, 0x68, 0xad, 0x21, 0x79, 0xf6, 0x1e, 0x58, 0xc5, 0xc7, 0xac, 0x21,
+ 0x1d, 0x32, 0x7f, 0x15, 0x99, 0xeb, 0x88, 0xa3, 0x07, 0xba, 0x36, 0xd2,
+ 0xfb, 0x3a, 0x30, 0x3b, 0x79, 0x95, 0x0e, 0x92, 0x8d, 0x77, 0xe5, 0x3f,
+ 0x8c, 0x32, 0x90, 0x6e, 0x3f, 0x19, 0xec, 0x24, 0x9b, 0xdf, 0xe7, 0xc5,
+ 0xcb, 0x67, 0x9f, 0x27, 0xc7, 0x5b, 0x1b, 0x2d, 0xdc, 0x3d, 0x17, 0x78,
+ 0x19, 0xa5, 0xc5, 0x27, 0xbb, 0x64, 0xa7, 0x38, 0xd9, 0x8c, 0x7f, 0x13,
+ 0xe7, 0x43, 0xcd, 0xc5, 0x15, 0x96, 0xb6, 0x88, 0x94, 0x4e, 0x81, 0xf0,
+ 0x27, 0xdf, 0x49, 0x66, 0xf2, 0x13, 0x58, 0xf9, 0xe6, 0xa9, 0x09, 0x4d,
+ 0xdd, 0xcb, 0x67, 0x41, 0x13, 0x4f, 0x6d, 0x1b, 0x1f, 0xb8, 0x8d, 0x5f,
+ 0xd8, 0xc4, 0xde, 0x60, 0x67, 0x2f, 0xd9, 0x3c, 0x1d, 0x6e, 0xef, 0xd9,
+ 0x16, 0xc2, 0x26, 0xf6, 0xd0, 0x04, 0x3d, 0xd4, 0x7e, 0xf9, 0x29, 0x7d,
+ 0xff, 0xc7, 0xac, 0xf8, 0x39, 0xd9, 0xfc, 0x61, 0x77, 0xd7, 0x34, 0xf0,
+ 0x79, 0x72, 0x70, 0xfc, 0x43, 0xf2, 0x74, 0x60, 0x1a, 0x7b, 0x9f, 0xde,
+ 0x48, 0x73, 0x42, 0x11, 0x3d, 0x44, 0x23, 0xe6, 0xf7, 0x41, 0x1b, 0xcf,
+ 0x3a, 0x6d, 0x9c, 0x18, 0xbb, 0xf0, 0xce, 0x5c, 0x2b, 0x3b, 0x83, 0x27,
+ 0x7b, 0x49, 0xfe, 0xec, 0xc5, 0x73, 0x6d, 0x48, 0xda, 0xc0, 0xef, 0xdb,
+ 0x8e, 0x45, 0x26, 0x42, 0x31, 0xaa, 0xce, 0xd1, 0x9d, 0x11, 0x68, 0x10,
+ 0x11, 0x15, 0x39, 0xf5, 0xae, 0xd3, 0x6a, 0x22, 0xdb, 0x8d, 0x4a, 0xbf,
+ 0x98, 0x95, 0x12, 0x82, 0xfe, 0x0c, 0x1e, 0x46, 0x73, 0x71, 0xee, 0x07,
+ 0xdd, 0x21, 0xdb, 0x54, 0x1f, 0xfd, 0x3c, 0x79, 0x37, 0x3c, 0x3e, 0x32,
+ 0x23, 0xda, 0x31, 0x5d, 0x73, 0x73, 0xc8, 0x1d, 0xc2, 0xaf, 0x30, 0xb9,
+ 0x2f, 0x41, 0x3e, 0x2b, 0x6d, 0xa8, 0xce, 0xcd, 0x98, 0x53, 0xb3, 0xe9,
+ 0xcc, 0xc5, 0x5d, 0xe3, 0xbb, 0x84, 0x1e, 0xe9, 0x1f, 0x5c, 0x91, 0x09,
+ 0xc1, 0x57, 0x2d, 0x3e, 0xfd, 0x6d, 0x59, 0x98, 0x63, 0x52, 0x95, 0x15,
+ 0x81, 0x9c, 0x36, 0x5a, 0xda, 0xc2, 0xb7, 0x6f, 0x8e, 0x38, 0x59, 0xfe,
+ 0x5d, 0x5a, 0x18, 0x19, 0x49, 0x84, 0x57, 0xf5, 0x27, 0x0a, 0xd5, 0x73,
+ 0xe4, 0x85, 0xdf, 0x3f, 0xb9, 0x2f, 0xee, 0xcc, 0x3a, 0x7e, 0x36, 0xd8,
+ 0x25, 0x74, 0x35, 0x59, 0xbd, 0x6f, 0xdf, 0x99, 0x7f, 0xef, 0x3e, 0xdd,
+ 0x48, 0xe8, 0x57, 0x6d, 0x0b, 0x5e, 0xcf, 0xeb, 0xda, 0xe1, 0xe9, 0xe9,
+ 0xb7, 0xc7, 0x8c, 0xd5, 0x38, 0x14, 0x0f, 0x28, 0x29, 0x57, 0xd6, 0x2a,
+ 0x66, 0xe9, 0x6a, 0xac, 0x37, 0x97, 0x58, 0x84, 0xb8, 0xd9, 0xa7, 0x2c,
+ 0x9b, 0x23, 0xbd, 0xb7, 0x23, 0x11, 0x1a, 0x91, 0xd1, 0x16, 0x86, 0x44,
+ 0xea, 0x4f, 0x87, 0x9a, 0xb3, 0xa9, 0xad, 0xb7, 0x75, 0x74, 0x6f, 0x09,
+ 0x39, 0x52, 0x57, 0x07, 0x18, 0x5d, 0xb4, 0x89, 0x05, 0xea, 0x2d, 0xc6,
+ 0x0a, 0x53, 0x8d, 0x21, 0xb1, 0x7d, 0x37, 0x86, 0x46, 0xbb, 0xe7, 0x4e,
+ 0xef, 0x8b, 0x83, 0x75, 0xc3, 0x63, 0xec, 0x87, 0x46, 0x8b, 0xcc, 0x1a,
+ 0x46, 0x93, 0x91, 0x81, 0x20, 0x18, 0x77, 0x91, 0xcd, 0x28, 0xd3, 0x9e,
+ 0x01, 0x49, 0xf7, 0xfe, 0xe0, 0xdd, 0xd1, 0xeb, 0xef, 0x0e, 0x4e, 0x3e,
+ 0x1c, 0x99, 0x57, 0x72, 0xf3, 0xb1, 0x4d, 0x87, 0xb6, 0x43, 0x1f, 0x67,
+ 0xf9, 0xb8, 0x9c, 0x52, 0x40, 0x68, 0xe3, 0xf3, 0x8d, 0x35, 0x46, 0x82,
+ 0x27, 0xeb, 0xf4, 0xd6, 0x2e, 0xbf, 0x66, 0xf6, 0x05, 0xfd, 0x6b, 0x8f,
+ 0xff, 0xb5, 0xf7, 0xf9, 0xfa, 0x56, 0x6b, 0xd0, 0x81, 0x95, 0x7c, 0x89,
+ 0x52, 0xa0, 0xa8, 0xe0, 0x88, 0xa2, 0xd7, 0x48, 0xb3, 0xe0, 0x59, 0x59,
+ 0xd7, 0x70, 0x8a, 0xde, 0x6d, 0xf4, 0xec, 0xe6, 0xe8, 0xde, 0xb7, 0xc1,
+ 0xd7, 0xe9, 0xa5, 0xd7, 0x50, 0x30, 0xd6, 0xb7, 0x7a, 0x56, 0xe5, 0x40,
+ 0x54, 0x9b, 0xda, 0xd0, 0x26, 0x98, 0x24, 0x32, 0xd9, 0x5c, 0xe7, 0xbf,
+ 0xbc, 0x7e, 0x73, 0x70, 0x71, 0x44, 0x2f, 0xe8, 0xe7, 0x05, 0x38, 0x68,
+ 0x33, 0x1e, 0xa8, 0x3f, 0x9b, 0x12, 0x45, 0x7e, 0x4d, 0x03, 0x5a, 0xdf,
+ 0xe2, 0xb0, 0x03, 0xe2, 0xdf, 0x9d, 0x7e, 0x95, 0x85, 0x62, 0xac, 0x5d,
+ 0x02, 0x7a, 0xad, 0xe0, 0x92, 0xcd, 0x75, 0xfe, 0xdd, 0xfa, 0x96, 0x7a,
+ 0x70, 0xa5, 0xf6, 0x8c, 0x44, 0x16, 0x27, 0xc8, 0x87, 0x08, 0x92, 0x60,
+ 0x19, 0x3d, 0xe6, 0xd6, 0x47, 0xe2, 0x0a, 0xec, 0x71, 0xf2, 0x6a, 0x18,
+ 0xd8, 0x85, 0x97, 0x0c, 0x77, 0xf2, 0x31, 0x95, 0xe5, 0xee, 0xde, 0x93,
+ 0xcf, 0x31, 0x9f, 0xaf, 0xd7, 0xb7, 0xcd, 0xdd, 0xb0, 0xfe, 0x39, 0x7d,
+ 0x3a, 0x6f, 0xbc, 0x4a, 0x7c, 0xf2, 0x19, 0xb2, 0xa7, 0x64, 0x47, 0x31,
+ 0xb2, 0x85, 0x56, 0xdd, 0xe3, 0xed, 0xc1, 0x84, 0xde, 0x72, 0x42, 0x97,
+ 0x32, 0xdd, 0x68, 0x9c, 0x1f, 0xeb, 0x85, 0x12, 0x62, 0x28, 0x8e, 0xc2,
+ 0x4e, 0x5d, 0x7c, 0xce, 0xbf, 0x3f, 0x7a, 0xfc, 0x2e, 0x8f, 0x51, 0x98,
+ 0x81, 0xe8, 0x9b, 0xb3, 0x7b, 0xcd, 0xf9, 0xc2, 0xb7, 0xa0, 0x93, 0xf3,
+ 0x9a, 0x05, 0x9a, 0xf1, 0x48, 0x7c, 0x3b, 0x6a, 0x8c, 0x40, 0x27, 0x30,
+ 0xa2, 0xe5, 0x1e, 0x8a, 0x12, 0x80, 0x01, 0x3e, 0x1e, 0x42, 0xef, 0xec,
+ 0x74, 0x94, 0x1b, 0x4d, 0xd8, 0x66, 0xb1, 0x78, 0x56, 0xb9, 0x9d, 0x7a,
+ 0x3d, 0x7e, 0xb9, 0xc7, 0xb9, 0x44, 0x17, 0x25, 0xcf, 0x65, 0x6d, 0x7d,
0x48, 0x08, 0x0c, 0xca, 0xb3, 0xed, 0x75, 0xea, 0xa4, 0x8e, 0x61, 0x18,
- 0x6c, 0xd2, 0xb3, 0x7d, 0x6c, 0x44, 0x4d, 0x91, 0x55, 0x6b, 0xb1, 0x10,
- 0x91, 0xb8, 0x11, 0x86, 0xe8, 0x97, 0x02, 0x30, 0xef, 0x0c, 0x87, 0x43,
+ 0x6c, 0xd2, 0xb3, 0x7d, 0x6c, 0x44, 0x4d, 0x91, 0x55, 0x2b, 0xb1, 0x10,
+ 0x91, 0xb8, 0x11, 0x86, 0xe8, 0x17, 0x04, 0x30, 0xef, 0x0c, 0x06, 0x03,
0x6b, 0xee, 0x20, 0xe6, 0x25, 0xe1, 0x22, 0x62, 0xb3, 0xf3, 0x69, 0x82,
- 0x31, 0xc7, 0x5b, 0x50, 0xe6, 0xa1, 0x50, 0x6f, 0x0b, 0x46, 0x46, 0xfc,
- 0x04, 0xf6, 0x68, 0x78, 0x3e, 0x8e, 0x4d, 0xf9, 0xec, 0xa6, 0xd2, 0x31,
- 0x7c, 0x8c, 0x2d, 0xc2, 0x9a, 0xbe, 0xb1, 0xef, 0x51, 0x8a, 0x11, 0x59,
- 0x39, 0x55, 0xda, 0xb9, 0xa0, 0x1d, 0x4c, 0x58, 0x6f, 0xae, 0x99, 0x87,
- 0x25, 0xe1, 0x49, 0x93, 0xae, 0xf4, 0x19, 0x26, 0x40, 0x42, 0xae, 0xbc,
- 0x03, 0xf5, 0x00, 0x08, 0x0e, 0x08, 0x26, 0x52, 0xb0, 0x7b, 0x40, 0x6f,
- 0x90, 0x85, 0x55, 0x9b, 0xa5, 0x1d, 0xa1, 0x8c, 0x26, 0x9b, 0x19, 0xba,
- 0xbf, 0x24, 0x24, 0x0a, 0xd1, 0x4c, 0xad, 0xf9, 0x36, 0x46, 0x6d, 0x2b,
- 0x41, 0xaa, 0xa0, 0x83, 0x77, 0xee, 0x2a, 0x02, 0x86, 0x0d, 0x98, 0xaa,
- 0x45, 0x73, 0x06, 0x55, 0x7a, 0x08, 0x5d, 0xc7, 0xba, 0xd0, 0xf6, 0x44,
- 0x5b, 0xb4, 0x71, 0xed, 0xce, 0xdc, 0xb8, 0x5b, 0xb9, 0x2d, 0xba, 0xcc,
- 0x8c, 0xb2, 0x77, 0x99, 0x49, 0x31, 0x9c, 0xdc, 0x4b, 0xd2, 0x3b, 0x73,
- 0xf5, 0x14, 0x19, 0x41, 0x29, 0x01, 0x4a, 0x80, 0x57, 0xe6, 0xd4, 0xf3,
- 0x33, 0xda, 0x11, 0x6a, 0xa5, 0xaa, 0xd4, 0xd5, 0xaa, 0x4a, 0xb6, 0xd8,
- 0xd0, 0x60, 0xb6, 0x64, 0x75, 0xe8, 0x91, 0x02, 0x5e, 0xce, 0x89, 0xb4,
- 0x54, 0x34, 0x75, 0x35, 0xcf, 0xa9, 0xe7, 0x46, 0x44, 0x8f, 0x64, 0xdf,
- 0xe4, 0x80, 0x10, 0x92, 0x9f, 0x83, 0x21, 0x10, 0x3a, 0x5b, 0xa8, 0xd8,
- 0x62, 0x3f, 0x62, 0x43, 0xc9, 0xe2, 0x7e, 0x22, 0x24, 0x6e, 0x31, 0x00,
- 0xbd, 0x84, 0x46, 0x6f, 0xc5, 0xbc, 0xba, 0xbe, 0x66, 0xab, 0x2d, 0xe9,
- 0x0e, 0x2d, 0xbe, 0xc9, 0x4e, 0x69, 0x56, 0x08, 0xb0, 0x7c, 0xbf, 0x6a,
- 0x36, 0x2f, 0x6d, 0x3d, 0x43, 0xf1, 0xba, 0xb4, 0x36, 0xb3, 0x86, 0x0f,
- 0x79, 0xdd, 0x1a, 0x9b, 0x1f, 0x85, 0x5c, 0x8a, 0x76, 0xb8, 0xf7, 0xec,
- 0x62, 0x03, 0x05, 0x10, 0x0a, 0xc7, 0x9d, 0xa0, 0x8b, 0x0e, 0xde, 0x3d,
- 0x07, 0x16, 0x71, 0xa0, 0xd1, 0x3b, 0x8b, 0x8a, 0xc2, 0x76, 0x4d, 0xc6,
- 0xa9, 0x33, 0xb9, 0x36, 0x92, 0x96, 0xb7, 0x97, 0x2a, 0xe0, 0x9d, 0x14,
- 0x22, 0x87, 0xca, 0xdb, 0xcc, 0xd1, 0x3e, 0x3a, 0x87, 0xa3, 0xe3, 0x02,
- 0x96, 0xd3, 0x6f, 0x85, 0x49, 0x27, 0x16, 0x6b, 0xe5, 0x15, 0x06, 0xd9,
- 0x99, 0x95, 0x61, 0xe2, 0x35, 0xc9, 0xae, 0x92, 0xb2, 0x45, 0xa9, 0x8c,
- 0xbe, 0x49, 0x88, 0x59, 0x5b, 0xe4, 0x3d, 0xc2, 0xe4, 0x2d, 0x9e, 0x69,
- 0xc2, 0x35, 0x9c, 0xb4, 0x8e, 0x83, 0x85, 0xd3, 0xb9, 0x50, 0xad, 0x8e,
- 0xb2, 0x67, 0x17, 0xa9, 0x87, 0x8c, 0xcc, 0xb1, 0x6c, 0x02, 0xec, 0x01,
- 0x52, 0xe8, 0x6c, 0xb4, 0xfd, 0x52, 0xd6, 0x09, 0x3b, 0x19, 0x1e, 0xb4,
- 0x8e, 0x20, 0x0d, 0xce, 0x9c, 0x45, 0x53, 0x20, 0x65, 0xc4, 0x48, 0x5e,
- 0x40, 0x00, 0x06, 0xe3, 0x0d, 0x4e, 0x0d, 0x1a, 0x4c, 0x54, 0xa2, 0xaf,
- 0xe7, 0x16, 0x18, 0xb7, 0x0e, 0xe6, 0x43, 0xe7, 0xf4, 0xfc, 0xe2, 0xec,
- 0xeb, 0x8b, 0xe3, 0xd1, 0x28, 0x79, 0x7b, 0x7c, 0xc9, 0xb6, 0xfe, 0x25,
- 0xa3, 0xe4, 0xae, 0x51, 0xc0, 0x1b, 0xb1, 0x06, 0xe5, 0x66, 0x52, 0x74,
- 0x88, 0x3a, 0x12, 0x90, 0x9e, 0x44, 0xb5, 0xa9, 0x71, 0x3b, 0xb2, 0x11,
- 0x3f, 0x13, 0x70, 0xdd, 0x0d, 0xbc, 0xfd, 0x80, 0x1f, 0x21, 0x20, 0x69,
- 0x9d, 0xe7, 0xce, 0x8d, 0x0a, 0xc5, 0x98, 0x01, 0x49, 0x36, 0x3d, 0xd0,
- 0xb9, 0xd0, 0xe9, 0xca, 0x36, 0x7f, 0x62, 0x78, 0x7f, 0x34, 0xb3, 0x29,
- 0xd5, 0xf8, 0xfe, 0x68, 0x8c, 0x5f, 0xd9, 0x14, 0x7f, 0x4c, 0x7e, 0x30,
- 0x6d, 0x4e, 0x8d, 0xf1, 0x2a, 0xa5, 0x87, 0x47, 0xa8, 0x39, 0xec, 0xa8,
- 0x97, 0x73, 0xaf, 0xa6, 0x76, 0xc2, 0xd9, 0x80, 0xd5, 0x03, 0xe5, 0x3e,
- 0x41, 0xeb, 0xc2, 0x55, 0x8d, 0x05, 0xfe, 0x66, 0xbf, 0x2c, 0x25, 0xdf,
- 0x92, 0xe4, 0x34, 0xbb, 0x42, 0xc1, 0x70, 0x7c, 0xce, 0x34, 0xb7, 0x4b,
- 0x1c, 0xd5, 0x7b, 0x6f, 0xe9, 0x47, 0xbb, 0xc9, 0x93, 0xcf, 0x9f, 0xef,
- 0x7e, 0xce, 0x7f, 0xd5, 0xff, 0xbe, 0x78, 0xba, 0x2b, 0x64, 0xf9, 0xe6,
- 0x5f, 0x4f, 0x0f, 0x9e, 0xee, 0x1d, 0x10, 0x6d, 0xe3, 0xee, 0xc1, 0xae,
- 0xf9, 0xff, 0x4f, 0xe5, 0x27, 0xc4, 0x4d, 0xf9, 0x62, 0xff, 0xf3, 0xcf,
- 0x00, 0x5c, 0xa1, 0xfd, 0x31, 0x33, 0x1f, 0x19, 0x34, 0xe5, 0x00, 0xec,
- 0x51, 0xd0, 0x7c, 0xfe, 0xd8, 0xf6, 0x44, 0x12, 0xbe, 0x9f, 0x8a, 0x91,
- 0xd3, 0xc0, 0x6d, 0x29, 0x56, 0xf5, 0xaa, 0x32, 0xdb, 0x8c, 0x5f, 0x40,
- 0xd2, 0x0e, 0x43, 0xde, 0xe6, 0x7a, 0x86, 0xa0, 0x63, 0x6b, 0xbd, 0xc3,
- 0x98, 0x70, 0x8f, 0xf9, 0xed, 0x97, 0x7e, 0x5a, 0x73, 0xbe, 0x37, 0xc0,
- 0xe7, 0x26, 0x4b, 0x25, 0xef, 0x4d, 0xb4, 0x6a, 0x9e, 0x5f, 0xdf, 0xbb,
- 0x53, 0x14, 0xfb, 0x97, 0x7e, 0x8f, 0x3d, 0x57, 0xf4, 0x96, 0xec, 0x86,
- 0x24, 0xfc, 0x9a, 0x4d, 0x1b, 0x88, 0x7c, 0xab, 0xb5, 0x79, 0x36, 0xdc,
- 0xf2, 0xbb, 0x99, 0xf2, 0x8a, 0x5b, 0xdb, 0x74, 0x2b, 0x2e, 0x6f, 0x1d,
- 0x19, 0x72, 0xd0, 0xdc, 0xfb, 0x85, 0xdf, 0xde, 0x63, 0x9a, 0x73, 0x23,
- 0xc2, 0x0e, 0xb6, 0x2b, 0x37, 0xf0, 0x16, 0x27, 0x67, 0x0c, 0x9a, 0xad,
- 0x5f, 0xaa, 0x7c, 0xa1, 0xb6, 0xb4, 0x34, 0x5e, 0xb5, 0x5b, 0x76, 0xc0,
- 0x6f, 0x88, 0xce, 0x69, 0x53, 0xd8, 0x50, 0x36, 0x16, 0x57, 0x3c, 0x3f,
- 0xaf, 0x3b, 0x3b, 0xf8, 0x14, 0xed, 0x46, 0xef, 0x7b, 0xf2, 0x0d, 0x9c,
- 0x27, 0x7b, 0xe8, 0xd6, 0x0e, 0xcd, 0xc1, 0xe0, 0xb5, 0x74, 0x26, 0x43,
- 0xae, 0xa0, 0x7c, 0xc7, 0x8e, 0xa4, 0x7b, 0x0e, 0x48, 0x73, 0xdb, 0x9c,
- 0x7f, 0xfb, 0xcc, 0x40, 0x0b, 0xce, 0xd5, 0x4f, 0x88, 0x84, 0x94, 0x4a,
- 0x3b, 0x6c, 0xab, 0x08, 0x1b, 0xfc, 0xc1, 0x22, 0xac, 0x70, 0x99, 0x31,
- 0x02, 0x8d, 0x9a, 0xa2, 0xf9, 0x9c, 0xf9, 0x69, 0xaf, 0x56, 0xda, 0x8d,
- 0xd3, 0xaa, 0x55, 0x42, 0x61, 0x83, 0x4b, 0x86, 0x98, 0xeb, 0xd5, 0x5c,
- 0x17, 0xc8, 0x4c, 0x64, 0x3d, 0xe2, 0x5f, 0x36, 0x36, 0x46, 0xe7, 0xc7,
- 0xc7, 0xaf, 0x93, 0xd3, 0x93, 0xb7, 0x27, 0x97, 0x9e, 0x16, 0x6e, 0x6f,
- 0x0f, 0xf5, 0xb4, 0x6a, 0x09, 0xbf, 0xce, 0x74, 0x38, 0x26, 0x66, 0xfe,
- 0x9e, 0xde, 0xdf, 0xf3, 0x4c, 0x12, 0x1e, 0x66, 0xdd, 0xf7, 0x60, 0x6f,
- 0x83, 0x84, 0x89, 0x4a, 0xa1, 0x7b, 0x5a, 0x5c, 0x6d, 0x34, 0x1a, 0xd3,
- 0xbb, 0x01, 0x13, 0x01, 0x0c, 0xfe, 0x22, 0x38, 0x8d, 0xb6, 0xba, 0x24,
- 0xa4, 0xb2, 0x36, 0xfb, 0x46, 0x60, 0xa8, 0x9d, 0x5e, 0xd1, 0xdc, 0x66,
- 0x8c, 0x82, 0xf6, 0xdc, 0x72, 0x40, 0xd8, 0xdd, 0x65, 0x20, 0x26, 0x98,
- 0xe7, 0x9c, 0x16, 0xe9, 0xc3, 0x7f, 0x51, 0xd9, 0x44, 0x6e, 0x3c, 0xc8,
- 0x71, 0xff, 0x8b, 0xde, 0xe9, 0xb0, 0xd8, 0x57, 0xfd, 0x56, 0xcd, 0x65,
- 0x11, 0xcd, 0x04, 0x14, 0xc9, 0x93, 0x5d, 0x9b, 0x59, 0xb0, 0x80, 0xcc,
- 0x11, 0xfd, 0x9e, 0x3e, 0xb6, 0x97, 0x18, 0x25, 0x64, 0x49, 0xaa, 0x7c,
- 0xb5, 0x2c, 0x82, 0xeb, 0xee, 0x2f, 0xfc, 0xae, 0x19, 0xff, 0xf3, 0x5d,
- 0x5c, 0x6f, 0x57, 0x69, 0x35, 0x30, 0xea, 0xd6, 0xfd, 0x40, 0x5d, 0xaa,
- 0xbc, 0x23, 0x04, 0x1a, 0xcc, 0xfe, 0x9e, 0xcc, 0x95, 0x1b, 0xed, 0xa8,
- 0x88, 0x2e, 0x3d, 0xa4, 0x44, 0x5c, 0x72, 0x26, 0x07, 0x80, 0x86, 0x4e,
- 0x49, 0xb9, 0xea, 0xe1, 0x74, 0x0a, 0x8e, 0x23, 0x1c, 0xd6, 0x55, 0x74,
- 0x32, 0x8a, 0x92, 0x05, 0x20, 0x56, 0xa9, 0xd5, 0x9c, 0x86, 0x29, 0x63,
- 0x09, 0xf5, 0xe9, 0x79, 0xb2, 0xf7, 0x39, 0x8d, 0xe3, 0x71, 0xe3, 0x79,
- 0x53, 0x56, 0x13, 0x9b, 0xfe, 0x0b, 0x1b, 0xc1, 0xcb, 0x05, 0xe5, 0x0c,
- 0x06, 0x94, 0xbe, 0xe3, 0xd9, 0x55, 0xfc, 0x2a, 0xf0, 0x75, 0x64, 0x94,
- 0x48, 0x3c, 0x1d, 0xee, 0x28, 0x04, 0xb8, 0x59, 0x2d, 0xa2, 0xbb, 0x46,
- 0xe6, 0x85, 0x1c, 0xac, 0x8c, 0xaf, 0xdb, 0xac, 0x6c, 0xae, 0x28, 0x4f,
- 0x03, 0xb9, 0x44, 0xcc, 0x5e, 0xbb, 0xcb, 0xa7, 0x50, 0xa5, 0x1d, 0xf5,
- 0x9c, 0x59, 0x2f, 0xde, 0x7c, 0x0c, 0x6b, 0x46, 0xcc, 0x12, 0xc1, 0x4e,
- 0xdb, 0x33, 0x51, 0x60, 0x68, 0x5a, 0x4b, 0x78, 0x14, 0xb6, 0xa0, 0x3f,
- 0x50, 0x2a, 0xb2, 0x8b, 0x0b, 0x90, 0xfd, 0x44, 0xa2, 0xb9, 0xe7, 0xbe,
- 0x42, 0xb0, 0xfe, 0xa6, 0x99, 0xa9, 0x33, 0xe1, 0xad, 0xdd, 0xd8, 0xed,
- 0x31, 0x13, 0xa9, 0x8a, 0x37, 0xec, 0xbd, 0x5d, 0xa3, 0xb4, 0xce, 0x4a,
- 0xbb, 0xad, 0x64, 0x53, 0x85, 0x96, 0x28, 0x86, 0x35, 0xc0, 0xec, 0xec,
- 0xed, 0x7e, 0xbb, 0x7a, 0xd6, 0x41, 0xa9, 0xbf, 0xf6, 0xe5, 0xfd, 0xa7,
- 0x6b, 0x16, 0xed, 0xac, 0x82, 0x31, 0x9e, 0x29, 0x5c, 0x11, 0x8a, 0xa0,
- 0x8b, 0xbc, 0x04, 0xcb, 0x66, 0x36, 0x7e, 0x76, 0x9d, 0xa2, 0x02, 0xf3,
- 0x9a, 0xde, 0x6b, 0xfa, 0x46, 0xa7, 0x2b, 0x6f, 0x05, 0x40, 0xcd, 0xbf,
- 0xac, 0xc9, 0x2d, 0xb6, 0x00, 0x29, 0x9e, 0xb3, 0x5d, 0x6d, 0xe6, 0x37,
- 0xd3, 0x28, 0x78, 0x6f, 0xb3, 0xe4, 0xec, 0xb7, 0x85, 0x84, 0xee, 0x9e,
- 0x2a, 0xbb, 0x5e, 0x32, 0x69, 0x45, 0xc9, 0xb6, 0x3e, 0xf1, 0x54, 0xcb,
- 0x79, 0x35, 0xb2, 0x99, 0xe0, 0x43, 0xbc, 0x9f, 0x20, 0x78, 0x27, 0xa9,
- 0xaa, 0xac, 0x52, 0x42, 0xb9, 0x73, 0x31, 0x90, 0x53, 0x76, 0x52, 0xce,
- 0xa5, 0x08, 0x2b, 0x1f, 0xaf, 0xc2, 0xcb, 0xc1, 0x67, 0x22, 0xc6, 0x21,
- 0x92, 0x72, 0x79, 0xa3, 0x58, 0x61, 0x4f, 0x19, 0x60, 0x14, 0x0d, 0x6b,
- 0x38, 0x2c, 0x80, 0x06, 0xfa, 0xb2, 0x6b, 0xd1, 0x92, 0xfd, 0x14, 0x49,
- 0xfc, 0x5a, 0x09, 0x31, 0x99, 0x38, 0x9f, 0x9c, 0xfd, 0x47, 0x67, 0xef,
- 0xde, 0x9c, 0x7c, 0x6d, 0x59, 0x87, 0x58, 0x88, 0xb7, 0xd8, 0x30, 0xd8,
- 0x7d, 0xec, 0x47, 0xba, 0xa5, 0xb6, 0xad, 0x00, 0x65, 0x8d, 0x78, 0xfa,
- 0xe0, 0xff, 0x00, 0x02, 0xa4, 0x78, 0x42, 0x0e, 0x72, 0xa6, 0xea, 0xa8,
- 0xb7, 0x9d, 0xbb, 0xa1, 0xc3, 0x2a, 0xc7, 0x09, 0x15, 0x69, 0xd5, 0x2c,
- 0x17, 0x16, 0x44, 0xe8, 0xd5, 0xc6, 0x15, 0x5a, 0x6d, 0xcd, 0x1a, 0x5f,
- 0x2e, 0x58, 0x34, 0x49, 0xee, 0x67, 0xcb, 0x9b, 0xcb, 0x77, 0x00, 0xb9,
- 0x13, 0x84, 0xf6, 0x44, 0x2e, 0x80, 0x00, 0x97, 0x33, 0x23, 0x32, 0x4e,
- 0x1f, 0xda, 0xae, 0xf1, 0x9b, 0x69, 0x5a, 0xdf, 0xf0, 0x40, 0x71, 0x69,
- 0xe4, 0x8c, 0xa8, 0x46, 0xac, 0x2d, 0x9d, 0x92, 0xa1, 0xee, 0xc0, 0x38,
- 0x16, 0xa8, 0xeb, 0xe2, 0x43, 0x75, 0xa2, 0x09, 0x0a, 0x16, 0x9f, 0xa4,
- 0x19, 0xa7, 0x29, 0x42, 0x95, 0x88, 0x75, 0xe2, 0x27, 0xaf, 0x28, 0x2c,
- 0x73, 0x40, 0xf4, 0xf2, 0x73, 0xe6, 0x7e, 0xf3, 0x33, 0x45, 0x45, 0x4a,
- 0x3a, 0x12, 0xf8, 0x93, 0x2b, 0x2f, 0xf9, 0x8c, 0x71, 0x82, 0xba, 0xe9,
- 0xd8, 0x47, 0x4c, 0x0e, 0x96, 0xcd, 0x3f, 0x6c, 0x0e, 0xea, 0xfb, 0xf9,
- 0xb8, 0x9c, 0x69, 0x8e, 0x84, 0xe5, 0x7a, 0xd0, 0x87, 0x5a, 0xa5, 0xef,
- 0x38, 0x52, 0xdb, 0x78, 0x6e, 0x49, 0x87, 0x95, 0x72, 0xfd, 0xe7, 0xda,
- 0x46, 0x08, 0x0f, 0xe9, 0x28, 0x40, 0xc3, 0x43, 0x32, 0x9e, 0xeb, 0x31,
- 0x4a, 0x25, 0x16, 0xb3, 0xfd, 0x30, 0x53, 0xed, 0xa1, 0x53, 0xc4, 0xaf,
- 0x5c, 0x92, 0x87, 0x03, 0xe5, 0x44, 0x8c, 0xba, 0xd3, 0x13, 0xf2, 0x0b,
- 0x0c, 0x90, 0xde, 0xe6, 0x5f, 0x08, 0x80, 0xde, 0xa3, 0xa2, 0xe1, 0xfa,
- 0x23, 0xa6, 0xab, 0x3f, 0xb1, 0x43, 0x91, 0xe3, 0x7e, 0x7f, 0xd1, 0x8f,
- 0xeb, 0xa3, 0x9d, 0xa9, 0x37, 0xfb, 0x29, 0xad, 0xae, 0x85, 0x50, 0x4f,
- 0x22, 0x69, 0x30, 0x12, 0x6d, 0x95, 0x1b, 0xeb, 0x98, 0x24, 0xa5, 0xc4,
- 0xa2, 0x66, 0xa0, 0x3e, 0x2d, 0x39, 0xfd, 0x4f, 0x92, 0xa3, 0xd8, 0x25,
- 0x69, 0x37, 0xa2, 0x27, 0x71, 0xfe, 0x60, 0xb1, 0x28, 0xa9, 0xbb, 0xcb,
- 0xb4, 0x58, 0x85, 0xf3, 0xcf, 0xca, 0x65, 0xe6, 0xbd, 0x46, 0x4e, 0x3c,
- 0x58, 0xc2, 0x99, 0x38, 0x4e, 0xf8, 0x53, 0xd0, 0x25, 0x88, 0x82, 0x46,
- 0xca, 0x78, 0xba, 0x26, 0xf8, 0xf7, 0xaf, 0xa4, 0x6c, 0x99, 0x39, 0xcf,
- 0x42, 0x6a, 0x22, 0x4c, 0x7f, 0x9f, 0xef, 0x8a, 0xfb, 0xad, 0x11, 0xb8,
- 0x6a, 0x9d, 0x1c, 0x5e, 0x1c, 0x1b, 0xcd, 0xf6, 0xba, 0x00, 0x9d, 0x44,
- 0xd1, 0x68, 0xfe, 0x5b, 0x56, 0x48, 0x9d, 0xb4, 0x42, 0xcf, 0x07, 0x7d,
- 0xf0, 0xce, 0x7b, 0x93, 0x36, 0x93, 0x00, 0x03, 0x38, 0xd5, 0xda, 0x6d,
- 0xb9, 0x89, 0xd2, 0x04, 0x43, 0xea, 0x10, 0xa3, 0x01, 0x6f, 0x29, 0x0a,
- 0x91, 0x98, 0x4f, 0x95, 0x4a, 0x11, 0x7c, 0x1e, 0x88, 0x75, 0x9f, 0x1b,
- 0x58, 0xe7, 0x1a, 0xa7, 0xda, 0x65, 0x0d, 0xfc, 0x4d, 0x39, 0x34, 0xe5,
- 0x5b, 0xad, 0xb0, 0xa7, 0xdb, 0x4e, 0xfd, 0xb8, 0xcb, 0xe8, 0x6f, 0xb8,
- 0x67, 0x48, 0x17, 0xe9, 0xea, 0x05, 0x99, 0x05, 0xc3, 0xb3, 0xf7, 0x7a,
- 0xea, 0x29, 0xbf, 0x9c, 0xad, 0x77, 0x93, 0xcd, 0x16, 0xec, 0x98, 0x16,
- 0xd2, 0x1e, 0xf1, 0xeb, 0xb0, 0x39, 0x30, 0x95, 0xb3, 0x4a, 0xbb, 0x82,
- 0xe0, 0xc2, 0x63, 0x22, 0x36, 0xfa, 0xc8, 0x0a, 0x80, 0x2f, 0x9f, 0xa2,
- 0xbe, 0xdd, 0x3f, 0xd8, 0xd1, 0xba, 0x3e, 0x6c, 0x78, 0xe5, 0xed, 0xcd,
- 0x92, 0x2a, 0x11, 0x1d, 0xf5, 0x62, 0x48, 0x1f, 0x82, 0x48, 0x45, 0xcc,
- 0x94, 0xfe, 0x82, 0x1f, 0x03, 0xf5, 0xa6, 0xcc, 0xa4, 0x90, 0x3a, 0x96,
- 0xed, 0xaa, 0x94, 0x98, 0xaa, 0xeb, 0x08, 0x07, 0xf6, 0x20, 0xa1, 0xc7,
- 0xbe, 0x6a, 0x3c, 0xf8, 0x76, 0x47, 0xcb, 0x8a, 0x93, 0xff, 0x86, 0x72,
- 0x7d, 0xf5, 0xc0, 0xd7, 0x59, 0xab, 0x0e, 0xb9, 0x4d, 0xea, 0xe9, 0x0d,
- 0x7a, 0x66, 0x2e, 0x36, 0x67, 0x33, 0x27, 0xf0, 0xf5, 0x31, 0x5a, 0x55,
- 0xe4, 0xbf, 0x39, 0x85, 0x49, 0x64, 0x17, 0xd5, 0xd8, 0xb8, 0x6f, 0x65,
- 0x23, 0x50, 0xd5, 0x3a, 0x4a, 0xd6, 0xb1, 0x1c, 0x5c, 0xc8, 0xe8, 0x00,
- 0x48, 0xe0, 0x36, 0xaf, 0x35, 0xf8, 0x68, 0xf6, 0xf6, 0x84, 0x31, 0x11,
- 0x0d, 0x73, 0x07, 0x64, 0xcd, 0xc4, 0x9b, 0xca, 0x6c, 0x72, 0x53, 0x32,
- 0xa6, 0xd6, 0x4c, 0x9a, 0x97, 0x94, 0xd9, 0x4b, 0xfe, 0x97, 0xec, 0x81,
- 0x6f, 0x5d, 0x7e, 0x1d, 0x6d, 0x84, 0x21, 0x53, 0x46, 0x0e, 0xdd, 0x86,
- 0x38, 0xfe, 0xe1, 0xf2, 0xe2, 0x30, 0xf9, 0xe6, 0xf8, 0xf0, 0xf5, 0xf1,
- 0xc5, 0xa8, 0x73, 0xe9, 0x0b, 0xfc, 0x83, 0x35, 0x34, 0x72, 0x02, 0x43,
- 0x35, 0x56, 0x8e, 0x00, 0xd8, 0x44, 0xe9, 0x5c, 0xa5, 0x9e, 0xd9, 0x3c,
- 0x74, 0x90, 0xcc, 0xf9, 0x20, 0x83, 0x88, 0xa3, 0x05, 0xe0, 0x33, 0xae,
- 0x21, 0x6c, 0x6c, 0x1b, 0x13, 0x23, 0xa1, 0x08, 0xc4, 0xa0, 0x2e, 0x73,
- 0x3f, 0xb9, 0xc5, 0xd1, 0xea, 0xb9, 0xcb, 0x64, 0x5a, 0x6a, 0xde, 0x5e,
- 0x7b, 0xe5, 0xbe, 0x71, 0xa9, 0xd9, 0x9e, 0xd8, 0x92, 0x4b, 0x46, 0xbc,
- 0x86, 0xbd, 0x1f, 0x06, 0xe6, 0xbb, 0x03, 0x33, 0xf9, 0x03, 0xe2, 0x5d,
- 0xbc, 0xcf, 0xea, 0x5e, 0xc7, 0x05, 0xd8, 0xfe, 0xfc, 0x06, 0x17, 0x66,
- 0x0a, 0x4e, 0xd2, 0x37, 0xd1, 0x96, 0xe8, 0x74, 0xcd, 0xa8, 0x5c, 0x52,
- 0xd7, 0x82, 0xc0, 0xa5, 0xea, 0x29, 0xc9, 0x72, 0x82, 0x82, 0x4c, 0x14,
- 0x01, 0x28, 0x39, 0x33, 0x53, 0xf0, 0x60, 0xe8, 0x88, 0x0c, 0x01, 0xba,
- 0x8e, 0x39, 0x7b, 0x7c, 0xa9, 0xcf, 0x98, 0x7a, 0x99, 0x3d, 0x66, 0xa6,
- 0x5b, 0xf2, 0x90, 0x7f, 0x3f, 0x20, 0x00, 0x22, 0x18, 0xfc, 0xba, 0x15,
- 0x1f, 0x15, 0x67, 0xa8, 0xb0, 0x72, 0x4b, 0x73, 0xd4, 0x07, 0xbb, 0xe7,
- 0x15, 0xba, 0x4f, 0x9f, 0xd4, 0x82, 0x21, 0xf2, 0x2e, 0xa3, 0xc0, 0xc8,
- 0xa8, 0x87, 0x7f, 0x93, 0x2b, 0xe8, 0x72, 0x2d, 0x4a, 0x16, 0x6c, 0x5e,
- 0xda, 0x8e, 0xbf, 0x99, 0x51, 0xa9, 0x0d, 0xe8, 0x71, 0xfb, 0x5c, 0x96,
- 0x7c, 0x53, 0xd6, 0xb8, 0x0b, 0xc2, 0xc7, 0xe9, 0x92, 0x8f, 0x4d, 0x3f,
- 0xde, 0x90, 0xf8, 0x96, 0xe5, 0x73, 0xdd, 0xd8, 0xd0, 0xec, 0xa7, 0xf3,
- 0xc3, 0xcb, 0x6f, 0x10, 0x5d, 0xc5, 0x16, 0x7e, 0x0d, 0x72, 0x13, 0x8d,
- 0xa9, 0x85, 0xd9, 0x53, 0xd6, 0x80, 0x63, 0xfd, 0x57, 0x39, 0x14, 0x55,
- 0x9f, 0x44, 0xf4, 0x2e, 0x67, 0x20, 0xd2, 0x8c, 0x2b, 0x16, 0x43, 0x46,
- 0xb7, 0x0a, 0x33, 0x02, 0xfa, 0x6e, 0x53, 0xe3, 0x2c, 0xde, 0x72, 0x93,
- 0x73, 0xd6, 0x37, 0x79, 0x4c, 0xd8, 0xf4, 0xa4, 0xcc, 0x91, 0xc5, 0xe3,
- 0x93, 0x04, 0xe3, 0x17, 0x94, 0x94, 0xcc, 0x01, 0xa8, 0x69, 0x19, 0xa7,
- 0x28, 0xf4, 0x8e, 0xf4, 0x9f, 0xe7, 0xf7, 0xc3, 0x90, 0x2b, 0x27, 0xf9,
- 0x6a, 0xd9, 0xb4, 0xc5, 0x4a, 0x87, 0xaa, 0xd8, 0x6a, 0x96, 0x55, 0x59,
- 0x36, 0x5e, 0x1f, 0xa0, 0xfd, 0xa4, 0x8d, 0x9c, 0x68, 0xe6, 0xa2, 0xe4,
- 0xbe, 0x50, 0x53, 0x85, 0xe8, 0xdd, 0xbe, 0x62, 0x98, 0x8e, 0xeb, 0x72,
- 0xb6, 0x6c, 0x3c, 0xf4, 0xf5, 0x2f, 0xeb, 0xb3, 0xd7, 0xe9, 0xad, 0x93,
- 0xa1, 0xf2, 0x72, 0x16, 0xcc, 0x26, 0x67, 0x2c, 0x7d, 0xa3, 0x5e, 0x22,
- 0xd8, 0x58, 0x95, 0x45, 0xbb, 0x24, 0x1c, 0x80, 0xde, 0xdb, 0x1b, 0x1b,
- 0x23, 0x5d, 0x6c, 0x62, 0x66, 0x0d, 0x17, 0xfd, 0x7b, 0x68, 0x93, 0xd4,
- 0x07, 0x0e, 0x16, 0x4c, 0xcc, 0x5f, 0x94, 0xaf, 0x2d, 0xe3, 0x35, 0x85,
- 0x08, 0xe7, 0x35, 0xce, 0xeb, 0xf6, 0xa0, 0xf0, 0x2b, 0x1b, 0xae, 0xd0,
- 0x54, 0xb0, 0xcb, 0x52, 0x29, 0xfa, 0x25, 0x5c, 0xe7, 0x36, 0x44, 0x2b,
- 0x71, 0x3d, 0x4a, 0x06, 0x4d, 0x97, 0x80, 0xd6, 0xc1, 0xb6, 0x70, 0x5c,
- 0xea, 0xe4, 0xce, 0xff, 0xde, 0x49, 0xfa, 0x5c, 0xac, 0x20, 0xc2, 0xaf,
- 0xb3, 0x4c, 0xfe, 0x3f, 0x00, 0x5e, 0x09, 0x13, 0x2f, 0xb5, 0x39, 0x6c,
- 0x73, 0xbd, 0x0e, 0x8d, 0x09, 0x75, 0x53, 0x4d, 0xdc, 0xee, 0x37, 0xda,
- 0x41, 0x76, 0x47, 0xf6, 0x8b, 0xda, 0x08, 0xc2, 0xec, 0xc1, 0xa5, 0xa8,
- 0x2d, 0x57, 0x12, 0x98, 0x31, 0xae, 0xac, 0x57, 0x8f, 0xca, 0xab, 0x72,
- 0x11, 0x52, 0x56, 0xeb, 0x51, 0x5d, 0x49, 0xc3, 0xa6, 0x1b, 0x49, 0xcb,
- 0x6e, 0xa7, 0xea, 0x84, 0xfc, 0xa7, 0x26, 0x1d, 0x09, 0xb0, 0x4b, 0xb6,
- 0xbf, 0x57, 0xb1, 0xcf, 0xab, 0x7d, 0xac, 0x88, 0x53, 0x46, 0xd3, 0x69,
- 0x38, 0x52, 0x3b, 0xa9, 0x5a, 0x00, 0x45, 0x2b, 0xc1, 0x40, 0x29, 0x24,
- 0x21, 0x84, 0x24, 0x23, 0xba, 0x61, 0xce, 0xaf, 0xa6, 0xda, 0x92, 0x6a,
- 0xc9, 0xe8, 0x95, 0xaa, 0x69, 0x1c, 0x76, 0xa5, 0x5c, 0xf7, 0xe5, 0xee,
- 0x47, 0xbe, 0x3c, 0x22, 0x73, 0x54, 0x4d, 0xd3, 0x57, 0x09, 0x74, 0x48,
- 0x52, 0xde, 0x97, 0xc1, 0x1b, 0x3e, 0x20, 0xc5, 0x21, 0x36, 0xaf, 0x29,
- 0xcb, 0x43, 0x5c, 0x52, 0x42, 0x3b, 0x02, 0xff, 0xd7, 0x4d, 0x2e, 0xb8,
- 0x52, 0x9e, 0xf5, 0x76, 0x49, 0x55, 0x78, 0xf8, 0x36, 0x12, 0x3f, 0xaa,
- 0x6a, 0x81, 0x0f, 0xc3, 0xf0, 0xc0, 0x0c, 0x2d, 0x01, 0xaa, 0x5c, 0x22,
- 0x27, 0x7e, 0xfa, 0x37, 0xa3, 0x30, 0x2c, 0xd6, 0xf9, 0x91, 0x5f, 0xf7,
- 0x3f, 0x49, 0x20, 0xd6, 0x22, 0xe1, 0x04, 0x12, 0x61, 0x75, 0xa3, 0x0b,
- 0x65, 0x7f, 0x0f, 0x86, 0x29, 0x63, 0x36, 0x40, 0x29, 0xaa, 0x2d, 0x28,
- 0xb5, 0x59, 0x77, 0xf2, 0xb7, 0xfb, 0x32, 0x4b, 0x36, 0x39, 0x5e, 0x42,
- 0xcc, 0xac, 0x17, 0x7a, 0x71, 0xa7, 0x56, 0x4d, 0x38, 0x4e, 0xb8, 0xae,
- 0x9b, 0x6a, 0x39, 0x69, 0x82, 0x6a, 0xa6, 0xad, 0xd0, 0xbc, 0x9d, 0xe3,
- 0xd2, 0xb7, 0xed, 0x4f, 0xce, 0xc5, 0xbc, 0x67, 0xeb, 0x83, 0x7a, 0xb6,
- 0x95, 0xb6, 0x92, 0x5c, 0xf8, 0xe5, 0x8d, 0xa4, 0xf5, 0xdd, 0x6d, 0xbb,
- 0xcb, 0x06, 0xe7, 0x36, 0xf9, 0xbd, 0xcd, 0x54, 0x84, 0xec, 0x04, 0xef,
- 0xee, 0x15, 0x45, 0x0c, 0x8a, 0x47, 0x95, 0x08, 0x4f, 0x22, 0xd4, 0x1a,
- 0x72, 0x59, 0x6e, 0x58, 0x2e, 0x43, 0xd3, 0xa5, 0x81, 0x40, 0x55, 0x39,
- 0xfa, 0xbb, 0x63, 0x26, 0x52, 0x0b, 0xff, 0xd8, 0x8a, 0x57, 0xb5, 0xe3,
- 0x43, 0xec, 0xe0, 0x54, 0xc1, 0xa6, 0x64, 0xf5, 0x43, 0xe1, 0x75, 0x93,
- 0xf9, 0x1b, 0x26, 0xaf, 0xe5, 0x50, 0xc8, 0x17, 0xba, 0xea, 0x44, 0x78,
- 0x37, 0x9e, 0x33, 0x6b, 0x49, 0xb0, 0x8f, 0x5e, 0xab, 0x4f, 0x15, 0x22,
- 0x07, 0x73, 0x43, 0x96, 0x8d, 0x2e, 0x92, 0x99, 0x57, 0xfd, 0x84, 0xe9,
- 0x02, 0x8d, 0x78, 0x73, 0x96, 0xed, 0x6e, 0x7a, 0x25, 0xbb, 0xb6, 0x18,
- 0xf4, 0x5f, 0xc2, 0xfa, 0xb1, 0xbc, 0x82, 0xec, 0xbd, 0x20, 0x70, 0xdb,
- 0x76, 0xa4, 0x2b, 0xa6, 0x89, 0x5f, 0xda, 0x99, 0xbd, 0x17, 0xfb, 0xc3,
- 0xbd, 0xe7, 0x9f, 0x0f, 0x77, 0x87, 0x7b, 0xbb, 0x24, 0x5f, 0xa8, 0x2b,
- 0x5e, 0xe7, 0x78, 0x5e, 0x22, 0x9f, 0x6a, 0xbd, 0x17, 0x7e, 0xf3, 0xdd,
- 0xf1, 0xe5, 0xf7, 0x67, 0x17, 0xdf, 0x26, 0x27, 0xef, 0x2e, 0x8f, 0x2f,
- 0xde, 0x1c, 0x1e, 0x3d, 0x96, 0x5b, 0xdf, 0x77, 0x5b, 0x7b, 0x25, 0xcc,
- 0x33, 0x37, 0x31, 0xa1, 0x6f, 0xd0, 0xcd, 0x59, 0xd6, 0xdc, 0xec, 0x1e,
- 0xec, 0xad, 0x65, 0x8f, 0x8e, 0xb8, 0x07, 0xdd, 0xfb, 0x3a, 0xa8, 0x3d,
- 0x1a, 0xd4, 0xea, 0x56, 0x2c, 0x8b, 0xe2, 0x88, 0xb1, 0x55, 0x16, 0x97,
- 0x0b, 0x31, 0x8f, 0xa2, 0x48, 0x20, 0x4f, 0x15, 0xc1, 0x3e, 0x66, 0x9e,
- 0x5a, 0x2e, 0xf1, 0x26, 0x7c, 0x30, 0x82, 0x41, 0x17, 0x99, 0xbb, 0xc1,
- 0xe5, 0xc2, 0x1b, 0x71, 0xa7, 0x30, 0xf3, 0xec, 0x14, 0x2a, 0x9e, 0x4a,
- 0x65, 0xc9, 0x5d, 0xa3, 0xdd, 0x22, 0x05, 0x4b, 0x99, 0x1b, 0x70, 0x6a,
- 0xf3, 0x44, 0x2c, 0x61, 0x00, 0xa0, 0x0f, 0xaa, 0xa7, 0xa3, 0xaf, 0xed,
- 0x8a, 0xef, 0x3e, 0x7c, 0xb6, 0x43, 0x93, 0x5a, 0x2b, 0xae, 0x19, 0x03,
- 0x6b, 0xb9, 0x46, 0x8f, 0xa4, 0x23, 0x38, 0x0d, 0x5e, 0x6f, 0xf8, 0x53,
- 0x50, 0xa8, 0x88, 0xcf, 0x0c, 0x4c, 0x8e, 0x2d, 0x32, 0x63, 0xbe, 0xa3,
- 0x90, 0x3b, 0xc1, 0xfa, 0x9f, 0x56, 0xa0, 0xa0, 0xd6, 0xeb, 0x16, 0x9f,
- 0x60, 0xc2, 0x35, 0x4a, 0xfc, 0xd7, 0x59, 0xd5, 0x06, 0x3a, 0x73, 0x5a,
- 0xa5, 0x77, 0xa8, 0xb6, 0x92, 0x3b, 0x76, 0xd0, 0x8d, 0xa4, 0x55, 0xcd,
- 0x84, 0x14, 0x27, 0x37, 0xe7, 0xc9, 0xf9, 0xf1, 0xdb, 0x81, 0xd6, 0x3b,
- 0x36, 0x7f, 0x67, 0x67, 0x94, 0x52, 0x41, 0x72, 0x6e, 0xcf, 0x22, 0x2b,
- 0x14, 0x4b, 0x03, 0x99, 0x28, 0xe0, 0x1f, 0x7f, 0x00, 0x74, 0x68, 0x2c,
- 0x59, 0xa4, 0x40, 0x46, 0x15, 0x73, 0xc9, 0xb9, 0x85, 0x5d, 0x06, 0x4d,
- 0x5a, 0x4f, 0x01, 0x2c, 0x27, 0x5b, 0x16, 0xa4, 0x4b, 0xdf, 0x03, 0x12,
- 0x15, 0xa8, 0x01, 0x0b, 0x13, 0x28, 0xb5, 0xfa, 0xdf, 0xf9, 0xb7, 0x47,
- 0xa3, 0x3f, 0xec, 0xed, 0x4b, 0x77, 0xb6, 0xd5, 0x2a, 0x20, 0x59, 0xd5,
- 0xcd, 0x9f, 0x87, 0xb8, 0xf6, 0xfb, 0xa8, 0x29, 0xd6, 0x38, 0xe0, 0x58,
- 0x8c, 0x2d, 0x9b, 0x18, 0xb4, 0xdd, 0xca, 0x0c, 0x02, 0xf2, 0xeb, 0xde,
- 0xaa, 0x98, 0xb6, 0x86, 0x2f, 0x85, 0x44, 0x50, 0xed, 0x49, 0xea, 0x2d,
- 0x35, 0x16, 0xea, 0x97, 0x16, 0xfa, 0x23, 0x6e, 0x59, 0x5a, 0xdb, 0xac,
- 0x37, 0x12, 0x0f, 0xce, 0xd2, 0x5d, 0x73, 0x9a, 0x6f, 0xf7, 0x5b, 0xa2,
- 0x74, 0x95, 0x9b, 0x5d, 0xb9, 0x7b, 0xdc, 0x67, 0x70, 0x00, 0x04, 0xbd,
- 0x3e, 0xd5, 0x8a, 0x6e, 0x85, 0x2b, 0x59, 0x42, 0x4f, 0x9f, 0x99, 0x85,
- 0x32, 0x27, 0x8b, 0x29, 0x16, 0x48, 0x28, 0x94, 0x33, 0x32, 0x5d, 0xec,
- 0x23, 0xaf, 0x2b, 0xaa, 0xf2, 0xb2, 0x60, 0x1c, 0xe9, 0xbb, 0x61, 0xf2,
- 0x4d, 0x56, 0x50, 0x8e, 0x3b, 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40,
- 0x2a, 0x29, 0x89, 0x12, 0x7b, 0xa7, 0x59, 0x2a, 0xf4, 0x99, 0x46, 0xd6,
- 0xd5, 0x6c, 0xe1, 0x6a, 0x79, 0xa9, 0x94, 0xd0, 0x79, 0xc2, 0xf5, 0x69,
- 0x79, 0x29, 0x98, 0xcf, 0x99, 0x1a, 0xd8, 0x6a, 0x73, 0x60, 0xa2, 0x7a,
- 0x01, 0x9a, 0x93, 0x63, 0x8e, 0x58, 0x93, 0x78, 0x95, 0x6f, 0xc0, 0x7c,
- 0x4d, 0xde, 0x42, 0xb6, 0xb8, 0x9c, 0x50, 0x99, 0x56, 0x37, 0xe4, 0xfa,
- 0xa8, 0xcd, 0x75, 0x93, 0x16, 0x93, 0xfb, 0xe1, 0xd4, 0xe8, 0xb2, 0xe4,
- 0x3c, 0x1b, 0x2e, 0x3f, 0xee, 0x78, 0xc7, 0x94, 0x44, 0xfe, 0x0d, 0xa7,
- 0xf3, 0xb7, 0x1d, 0xdf, 0x5a, 0xb7, 0x38, 0x64, 0xf9, 0x4a, 0x5b, 0x67,
- 0x82, 0xb6, 0x04, 0xa3, 0x22, 0xf5, 0x78, 0xae, 0xe4, 0xc3, 0x3a, 0x4e,
- 0x2c, 0x19, 0x31, 0xb5, 0x30, 0x5c, 0x64, 0xf3, 0x03, 0x9b, 0x8d, 0xac,
- 0xf2, 0x41, 0x0a, 0x60, 0x58, 0xc3, 0xc2, 0x73, 0xd2, 0x16, 0xd9, 0xf5,
- 0x4c, 0x14, 0x0a, 0xdf, 0x74, 0xb1, 0x4d, 0x44, 0x52, 0x40, 0xd8, 0xe0,
- 0x91, 0xe2, 0x47, 0xd0, 0xd8, 0xcd, 0x3e, 0x6c, 0x04, 0x52, 0xcb, 0x0f,
- 0x57, 0xa4, 0xd0, 0xbb, 0x46, 0x84, 0xe4, 0x03, 0xbc, 0xc8, 0xa4, 0x0c,
- 0x8b, 0x8b, 0x47, 0x91, 0x48, 0x12, 0x7e, 0x22, 0xce, 0x56, 0xec, 0x10,
- 0x30, 0xae, 0x0b, 0x2a, 0x1a, 0xc1, 0x4f, 0x2d, 0x0f, 0xcc, 0x67, 0xc5,
- 0xfc, 0xfa, 0xf6, 0x09, 0x79, 0xbc, 0x2f, 0x4f, 0x47, 0x1a, 0x15, 0x29,
- 0xb2, 0x3b, 0x6f, 0x6b, 0x71, 0x95, 0x00, 0xd9, 0x7f, 0xe4, 0x00, 0x62,
- 0xf6, 0x63, 0xb0, 0x1d, 0xa0, 0x27, 0x2c, 0x15, 0x5c, 0x98, 0xcc, 0x25,
- 0x3f, 0xe8, 0x24, 0x08, 0x8c, 0x98, 0xba, 0xa2, 0x95, 0xcc, 0x58, 0x19,
- 0xb2, 0xa4, 0x2c, 0x44, 0xb3, 0x67, 0x94, 0xa5, 0x27, 0xfd, 0x64, 0xb0,
- 0x0f, 0xaa, 0x9b, 0xbd, 0xf6, 0x24, 0xa6, 0x0d, 0x33, 0xfa, 0x51, 0x1b,
- 0xa6, 0x25, 0x6d, 0x45, 0xc4, 0xc1, 0x96, 0x6c, 0xe9, 0x5b, 0xf3, 0x3e,
- 0xfd, 0xb1, 0x2f, 0x03, 0xba, 0xdd, 0x03, 0x62, 0x9b, 0x29, 0x26, 0x67,
- 0xf7, 0xa1, 0xca, 0xb0, 0xbf, 0x76, 0x55, 0x91, 0x1b, 0x71, 0x97, 0x5b,
- 0xae, 0x67, 0xae, 0x6f, 0x00, 0x57, 0xa8, 0xb0, 0x77, 0x6a, 0x07, 0xcc,
- 0x14, 0x8a, 0x93, 0xbb, 0x48, 0x6e, 0xf7, 0x35, 0xd6, 0x4c, 0xbf, 0xd1,
- 0x79, 0x63, 0x67, 0xbd, 0x13, 0x22, 0x41, 0xda, 0x22, 0xa1, 0xdc, 0xbc,
- 0x5d, 0x4b, 0x59, 0x4f, 0x66, 0xcf, 0x1a, 0x29, 0xd2, 0x92, 0x32, 0x65,
- 0x21, 0x6e, 0x05, 0x4e, 0x79, 0x67, 0xea, 0x78, 0x32, 0xe0, 0x3d, 0x98,
- 0x13, 0x90, 0xdf, 0x1e, 0x22, 0xf2, 0xa4, 0xb0, 0x89, 0x12, 0xe2, 0xca,
- 0x07, 0x9b, 0x1e, 0x96, 0xff, 0x26, 0x67, 0xc7, 0x04, 0xb0, 0xa6, 0xb8,
- 0xce, 0xcd, 0xc9, 0xdf, 0x4c, 0xcc, 0x61, 0x5a, 0x92, 0xc4, 0x6f, 0x6c,
- 0x59, 0xb5, 0x11, 0xb3, 0x70, 0x6e, 0xfa, 0x62, 0x6e, 0xf0, 0x25, 0x0d,
- 0xa5, 0xde, 0x74, 0x63, 0x17, 0x36, 0xf2, 0xf6, 0x40, 0x24, 0xce, 0xa1,
- 0x85, 0xc4, 0xce, 0x2b, 0xad, 0x95, 0xbe, 0x79, 0xfc, 0x89, 0x74, 0x9c,
- 0x4d, 0xf9, 0x12, 0xff, 0x9a, 0x73, 0xfa, 0x31, 0x47, 0xe7, 0x27, 0xef,
- 0xb8, 0xfa, 0xb7, 0x3d, 0x0b, 0x19, 0xb1, 0x24, 0x6e, 0x70, 0x99, 0x79,
- 0xf4, 0x27, 0x55, 0xba, 0x76, 0x76, 0x1c, 0xd1, 0x9e, 0xa1, 0x3d, 0x9e,
- 0xcb, 0xb7, 0x2e, 0x96, 0xfc, 0xf5, 0x4d, 0xba, 0xe7, 0xea, 0x7a, 0xb6,
- 0xd9, 0xa9, 0x6a, 0x6b, 0xd7, 0xa4, 0x73, 0xa1, 0x58, 0x8f, 0xd4, 0x64,
- 0xea, 0x14, 0x7c, 0x54, 0xed, 0xa6, 0x56, 0x5a, 0x72, 0xae, 0xdf, 0xc9,
- 0x74, 0xf4, 0x5d, 0xe1, 0x7f, 0x48, 0x86, 0x3b, 0xe6, 0x83, 0xf5, 0x8e,
- 0xbe, 0xb8, 0xf8, 0x38, 0xa9, 0xcd, 0x0d, 0x47, 0x69, 0xbd, 0x3f, 0xc2,
- 0x20, 0xc7, 0x72, 0x98, 0x1e, 0x4f, 0x7f, 0x4e, 0x06, 0x93, 0x19, 0xc6,
- 0x97, 0xa0, 0x76, 0xf6, 0x8f, 0x66, 0xe5, 0xe9, 0x89, 0x9f, 0xed, 0x1a,
- 0xbe, 0xc9, 0xe9, 0xbc, 0x7d, 0xea, 0xeb, 0xd0, 0xcf, 0xd8, 0x60, 0x60,
- 0x2a, 0xda, 0xe4, 0x70, 0x7a, 0x4b, 0x49, 0x77, 0x53, 0xf9, 0x27, 0x8d,
- 0xe7, 0xb8, 0x40, 0xe5, 0x51, 0x8c, 0x34, 0x1d, 0x73, 0xa1, 0xf1, 0xef,
- 0x72, 0x63, 0x74, 0x1c, 0x75, 0xf4, 0x0b, 0xca, 0xff, 0xa3, 0x0e, 0xe2,
- 0x2d, 0xef, 0x97, 0x9a, 0xcc, 0xd1, 0x97, 0x9c, 0x05, 0x07, 0x2d, 0x25,
- 0xe9, 0x4c, 0x4b, 0x37, 0x4c, 0xbe, 0xa2, 0x18, 0x67, 0x95, 0x79, 0x44,
- 0xad, 0x72, 0xf1, 0x71, 0x85, 0x3e, 0x5a, 0x8c, 0x94, 0xf9, 0x27, 0x86,
- 0x76, 0x24, 0x41, 0x0e, 0x8c, 0x1d, 0x93, 0xfd, 0x4d, 0x7b, 0x70, 0xe8,
- 0x97, 0xa6, 0xb4, 0x9b, 0xa1, 0x68, 0xbe, 0x44, 0x12, 0x0c, 0xc5, 0xa3,
- 0x90, 0xe4, 0x1e, 0xf2, 0x85, 0x39, 0xcd, 0x34, 0xb1, 0xbf, 0xf4, 0xd9,
- 0x54, 0xd4, 0x73, 0x8c, 0xa6, 0x54, 0x23, 0xb0, 0x5b, 0x02, 0x77, 0xb8,
- 0xeb, 0xf5, 0xd1, 0x8d, 0x11, 0xcd, 0x99, 0xed, 0xea, 0x88, 0x5d, 0x7a,
- 0xda, 0xc5, 0x11, 0xdd, 0x51, 0xba, 0x08, 0xf6, 0x97, 0x9a, 0x1d, 0x09,
- 0x2d, 0x74, 0x87, 0x65, 0x97, 0xdd, 0xbb, 0x3c, 0xbb, 0xed, 0x21, 0x50,
- 0x52, 0xe3, 0xe8, 0xfd, 0x5b, 0xaa, 0x42, 0x82, 0x82, 0xd4, 0x97, 0x17,
- 0x87, 0xef, 0x46, 0x6f, 0xd8, 0x35, 0x7e, 0x59, 0x7a, 0x95, 0xae, 0x25,
- 0xae, 0xa0, 0xf1, 0x63, 0xcb, 0xe8, 0x76, 0xc7, 0xa5, 0x31, 0x14, 0x4f,
- 0x2f, 0x65, 0xb0, 0xfb, 0x5d, 0x6a, 0x7c, 0xae, 0xa1, 0x4d, 0xb3, 0x41,
- 0x5d, 0xdb, 0x1a, 0x6d, 0x5b, 0x45, 0xa8, 0xf6, 0xeb, 0xa7, 0xb9, 0x22,
- 0xf4, 0x4a, 0xe2, 0x2c, 0x0f, 0xd1, 0xb4, 0x1c, 0x69, 0x67, 0xf4, 0xa7,
- 0x7c, 0xf7, 0xae, 0xe4, 0x0d, 0x3d, 0x32, 0xa6, 0xe2, 0x40, 0x8a, 0xca,
- 0x38, 0xea, 0x34, 0xe7, 0x4e, 0xe5, 0xbb, 0x57, 0x58, 0xf7, 0x6c, 0xe3,
- 0x7e, 0xde, 0xa7, 0x36, 0xbd, 0xf5, 0x6f, 0x7b, 0xdb, 0xf1, 0xe6, 0x2f,
- 0x7f, 0x69, 0xf3, 0xf1, 0xbe, 0xab, 0x6d, 0xe6, 0x52, 0x8a, 0xb6, 0xfe,
- 0x6d, 0x7f, 0x7b, 0xed, 0x88, 0xfc, 0xac, 0x48, 0xf7, 0x4d, 0xf3, 0x06,
- 0x75, 0x36, 0x79, 0xc5, 0xc7, 0xcc, 0xea, 0x4c, 0x16, 0xa1, 0xe3, 0x51,
- 0x03, 0xb7, 0x08, 0x3b, 0x08, 0xb6, 0x6d, 0x35, 0x75, 0x17, 0x78, 0x93,
- 0xec, 0x92, 0x93, 0xff, 0x79, 0xec, 0x33, 0x3e, 0x16, 0x9b, 0x8d, 0x7f,
- 0x45, 0x11, 0x3b, 0x40, 0x5d, 0x0e, 0xf1, 0xed, 0xfd, 0x35, 0xdf, 0x76,
- 0xa3, 0xf3, 0xdc, 0x12, 0x14, 0xc5, 0x26, 0x18, 0x9c, 0x12, 0x57, 0xcb,
- 0x77, 0xec, 0xb7, 0xd7, 0x7d, 0xef, 0xf2, 0xe4, 0xed, 0x31, 0x11, 0x5c,
- 0xbf, 0x3e, 0x21, 0x9e, 0xb8, 0x91, 0x30, 0x35, 0xaa, 0x07, 0xc2, 0x92,
- 0xe7, 0xfa, 0x85, 0x4d, 0x38, 0xbc, 0x6b, 0xd1, 0x66, 0x56, 0x72, 0xd8,
- 0x95, 0xa0, 0x4f, 0x0b, 0x06, 0xba, 0xd6, 0x4c, 0xcb, 0x93, 0xab, 0xc1,
- 0xdb, 0x72, 0x0a, 0x2b, 0x79, 0x30, 0x02, 0x54, 0xd0, 0xbc, 0x65, 0x7e,
- 0xf8, 0xbe, 0x98, 0xb7, 0x7e, 0x3c, 0x8c, 0x64, 0xea, 0x6e, 0xac, 0xaa,
- 0x9f, 0xf3, 0xf7, 0x9d, 0xc1, 0x80, 0x3a, 0x33, 0x60, 0x58, 0x97, 0x04,
- 0x77, 0x5a, 0xfc, 0x1c, 0x2a, 0x5a, 0xcc, 0x04, 0xe5, 0xb3, 0x7b, 0x06,
- 0x22, 0xa4, 0x0e, 0x3e, 0xe6, 0xb2, 0x37, 0xaf, 0x29, 0x83, 0xcc, 0xb9,
- 0xf8, 0xd8, 0x89, 0xb7, 0xe1, 0xf3, 0x8c, 0xc2, 0x90, 0xca, 0xee, 0x1c,
- 0xfe, 0x49, 0xaa, 0x31, 0x97, 0x8b, 0x7b, 0x8c, 0xf2, 0xae, 0x05, 0xad,
- 0x88, 0xc6, 0x57, 0xff, 0xce, 0xef, 0xb4, 0x2a, 0x46, 0x09, 0x1d, 0xb4,
- 0xb7, 0x03, 0xe5, 0x27, 0x52, 0x60, 0xe9, 0xac, 0xf2, 0xae, 0x2b, 0xe9,
- 0xb6, 0x16, 0xa2, 0xf3, 0x38, 0x48, 0x3d, 0xca, 0xd4, 0x76, 0x3f, 0x7d,
- 0xbe, 0xd6, 0x92, 0x52, 0x5f, 0x5f, 0x97, 0x36, 0x38, 0x66, 0xc4, 0xce,
- 0xa2, 0x5d, 0xef, 0x38, 0x4b, 0x34, 0xc9, 0x9b, 0x73, 0xf8, 0x37, 0x07,
- 0x9b, 0x28, 0xa1, 0x90, 0x17, 0x91, 0xc1, 0x0c, 0x7e, 0xf9, 0x68, 0x82,
- 0xd0, 0x6b, 0xd2, 0xbb, 0x22, 0x22, 0x0c, 0x8a, 0x63, 0xf5, 0xb8, 0x03,
- 0xcc, 0x13, 0xc3, 0x9b, 0xcb, 0x5c, 0x10, 0x24, 0xd7, 0xd4, 0x90, 0x64,
- 0xa3, 0xda, 0x22, 0x63, 0xad, 0x93, 0x9c, 0xbd, 0x92, 0x24, 0x48, 0x97,
- 0x8b, 0x29, 0x40, 0x19, 0x0c, 0x47, 0xfd, 0x0f, 0xe2, 0xaf, 0xae, 0xee,
- 0x93, 0xbd, 0xfd, 0x7e, 0xb2, 0xbf, 0xbb, 0xb7, 0x1f, 0x19, 0x43, 0xef,
- 0x3f, 0x08, 0x14, 0xb5, 0x8f, 0x5f, 0xf7, 0x1e, 0x3b, 0x0a, 0x97, 0xcf,
- 0x80, 0x9b, 0x44, 0x32, 0x7f, 0x8d, 0xf0, 0xa1, 0xf8, 0x2c, 0x38, 0x93,
- 0x51, 0x04, 0x19, 0xcc, 0x73, 0xb8, 0xb6, 0xd8, 0x49, 0xa8, 0xe5, 0x30,
- 0x6d, 0x95, 0xaf, 0x29, 0x8a, 0xde, 0x70, 0x1d, 0x5a, 0x20, 0x5f, 0xac,
- 0xa7, 0x34, 0xad, 0x50, 0xb5, 0xb3, 0xbd, 0x46, 0x79, 0xa3, 0xcb, 0x42,
- 0xd0, 0x1a, 0x5a, 0x1b, 0xb3, 0xdf, 0x5f, 0x9f, 0x1c, 0x5d, 0x2a, 0x35,
- 0xe1, 0x15, 0x29, 0x4f, 0xd5, 0xfd, 0xe3, 0xea, 0x26, 0xae, 0x7d, 0x66,
- 0x7a, 0x70, 0x93, 0x19, 0x35, 0xba, 0x18, 0x2f, 0xaf, 0x0f, 0xfe, 0x9a,
- 0x56, 0xd7, 0x65, 0xf1, 0xd0, 0xf3, 0x53, 0x24, 0x94, 0x1d, 0x18, 0x09,
- 0xb5, 0xf7, 0x62, 0xef, 0x09, 0xf2, 0xbf, 0x67, 0x39, 0x6a, 0xf7, 0x90,
- 0x80, 0xd8, 0x9c, 0x6f, 0x32, 0xc1, 0x06, 0xd2, 0x24, 0x2c, 0xab, 0x46,
- 0x31, 0xdd, 0xe4, 0xeb, 0x3e, 0xf5, 0x9f, 0x9d, 0xca, 0xb3, 0x9c, 0x7a,
- 0xbe, 0x29, 0xb9, 0x0a, 0x9b, 0x94, 0xa6, 0xb9, 0x5c, 0x6c, 0xb6, 0xd9,
- 0xdc, 0x1f, 0x18, 0x2b, 0x7d, 0xc2, 0x96, 0x89, 0x3c, 0xb2, 0x1c, 0xf5,
- 0xc8, 0x20, 0xaa, 0xb2, 0xf4, 0xa3, 0xab, 0x8a, 0xec, 0xd8, 0x37, 0x34,
- 0xe4, 0x71, 0xf1, 0xe6, 0x88, 0xc9, 0x46, 0x35, 0x5f, 0x0a, 0x53, 0x9d,
- 0x58, 0xd7, 0xd4, 0x36, 0xf5, 0xf2, 0x81, 0xef, 0x53, 0x6e, 0xc3, 0xc1,
- 0x74, 0xfc, 0x88, 0x87, 0xcc, 0xb9, 0x63, 0xb2, 0xb8, 0xc3, 0x76, 0x95,
- 0x1c, 0x32, 0xd4, 0x50, 0xea, 0x43, 0x4b, 0x20, 0x6f, 0x71, 0xf9, 0x57,
- 0x8e, 0x38, 0x50, 0xd7, 0xb4, 0xb0, 0xb4, 0x7a, 0x77, 0x4c, 0xbf, 0xa9,
- 0x20, 0xeb, 0xeb, 0xc3, 0x73, 0xcf, 0xd0, 0x85, 0x21, 0xe9, 0x9c, 0x7a,
- 0xf4, 0x1c, 0x19, 0x3a, 0xa8, 0xb0, 0x2e, 0x85, 0x93, 0xfa, 0xce, 0x44,
- 0x69, 0x20, 0x27, 0x49, 0x37, 0x02, 0x40, 0xbe, 0x94, 0xfb, 0x04, 0xfe,
- 0x27, 0x14, 0x1e, 0x98, 0x4d, 0x53, 0x04, 0x42, 0xe5, 0x16, 0xa2, 0x0c,
- 0x88, 0xb3, 0x42, 0xb3, 0x98, 0xfb, 0x9d, 0x2a, 0x0b, 0xe6, 0xc7, 0xf8,
- 0x0e, 0xae, 0xe8, 0x73, 0xa3, 0x84, 0x83, 0xc6, 0x65, 0xf4, 0xfa, 0x5b,
- 0xea, 0xb1, 0x04, 0x75, 0xa0, 0xb5, 0xa9, 0x2f, 0xdb, 0x46, 0xa2, 0xd4,
- 0x6a, 0x54, 0xe7, 0x95, 0xfa, 0x16, 0xa9, 0xb9, 0xdb, 0x27, 0x43, 0xfe,
- 0x73, 0xdf, 0x56, 0x22, 0xc6, 0x63, 0xc0, 0x79, 0x5e, 0x69, 0x9d, 0xe3,
- 0x79, 0x46, 0x85, 0x77, 0xf3, 0x7a, 0xee, 0x60, 0x29, 0x57, 0xf2, 0xba,
- 0xab, 0x7e, 0x27, 0x4a, 0x24, 0x85, 0x16, 0xd0, 0x0f, 0xf4, 0x36, 0x17,
- 0x5c, 0x97, 0xd9, 0x65, 0x9f, 0x12, 0x49, 0x47, 0x91, 0xbc, 0x1b, 0x29,
- 0x72, 0x82, 0xc7, 0x28, 0xbf, 0xfa, 0x5e, 0x97, 0x82, 0x6f, 0x1a, 0xb3,
- 0x0c, 0x69, 0xfd, 0xd1, 0x5c, 0x0a, 0x0c, 0x45, 0x30, 0xf3, 0x98, 0x4b,
- 0x30, 0x9f, 0xdc, 0x57, 0x39, 0x43, 0x82, 0xc8, 0x91, 0x06, 0x46, 0xa7,
- 0xd6, 0xd6, 0xe3, 0xcb, 0x94, 0x6c, 0xe7, 0x59, 0x9d, 0x31, 0x55, 0x22,
- 0x08, 0x81, 0x28, 0xf6, 0x47, 0x5b, 0x0f, 0x36, 0x93, 0x62, 0x6a, 0x21,
- 0xce, 0x68, 0x97, 0xee, 0xef, 0x3f, 0x7b, 0xd6, 0x4f, 0x7a, 0xe4, 0x77,
- 0x44, 0x9f, 0x68, 0x43, 0xbf, 0x81, 0xe0, 0xe9, 0x45, 0x8b, 0xe1, 0xee,
- 0x54, 0x57, 0x13, 0xfa, 0x3f, 0x7a, 0x4f, 0x6b, 0x40, 0x5e, 0x4a, 0x22,
- 0x0e, 0x75, 0x13, 0x41, 0x56, 0x4b, 0x97, 0xc3, 0x3b, 0x8d, 0x7e, 0x77,
- 0x62, 0x5d, 0x4b, 0x14, 0x47, 0x5a, 0x64, 0xe5, 0x42, 0x03, 0xc6, 0x73,
- 0xa9, 0xee, 0x81, 0xef, 0x7b, 0x51, 0x36, 0x84, 0xf8, 0x19, 0x21, 0x27,
- 0xbc, 0x08, 0xf5, 0x72, 0x3c, 0x90, 0x04, 0x61, 0x36, 0x34, 0x73, 0x73,
- 0x98, 0xe7, 0xb4, 0x08, 0xe2, 0xc1, 0x0f, 0x84, 0xf4, 0x57, 0x49, 0x4f,
- 0xb6, 0x1b, 0xfd, 0x31, 0x44, 0xbc, 0x37, 0x9b, 0xd0, 0x30, 0xca, 0x57,
- 0xf2, 0x8f, 0x7f, 0xff, 0x77, 0xd3, 0xec, 0xbf, 0x53, 0x2b, 0xaf, 0xfe,
- 0xad, 0x6e, 0x6e, 0xbc, 0x67, 0x7a, 0x72, 0x06, 0x4e, 0x5c, 0xb4, 0x1b,
- 0x08, 0x36, 0x90, 0xc4, 0x22, 0x8f, 0xed, 0xed, 0xa9, 0x08, 0xe9, 0xbe,
- 0x37, 0xbe, 0x1c, 0x19, 0x86, 0xec, 0x37, 0xb5, 0x00, 0x92, 0xaf, 0x28,
- 0x12, 0x9d, 0x51, 0x66, 0xba, 0x59, 0x04, 0x10, 0x0b, 0x6e, 0x3b, 0x48,
- 0x09, 0xcb, 0x77, 0xf8, 0x46, 0xb9, 0x3a, 0x5c, 0xa7, 0xda, 0xd5, 0x9d,
- 0xde, 0x14, 0x7c, 0x8a, 0xb1, 0x4e, 0xe6, 0x57, 0xe9, 0xac, 0xbc, 0xb6,
- 0x23, 0x8e, 0xd5, 0x97, 0xf9, 0x45, 0x63, 0xef, 0xf9, 0x0d, 0xe9, 0x9b,
- 0x7e, 0x7c, 0xfd, 0x91, 0xad, 0x10, 0x4e, 0xc0, 0x1e, 0x4d, 0xc0, 0x5f,
- 0xc3, 0x7a, 0x62, 0x42, 0x1e, 0x6c, 0x2c, 0x15, 0x15, 0x24, 0x3b, 0x7a,
- 0xd0, 0xed, 0xc9, 0x27, 0xe8, 0xee, 0x84, 0x8e, 0x40, 0xa7, 0xc0, 0x8d,
- 0x93, 0x15, 0x56, 0xb9, 0x91, 0xda, 0x25, 0xa2, 0x9b, 0x64, 0x46, 0x5e,
- 0xe5, 0xe6, 0x2c, 0xe0, 0x02, 0xa4, 0xef, 0xd0, 0x9c, 0x21, 0x34, 0x99,
- 0x31, 0x21, 0xcd, 0x98, 0xcb, 0x83, 0x0d, 0x06, 0x45, 0x33, 0x9b, 0x33,
- 0xd5, 0xf2, 0x14, 0xa5, 0xc2, 0x34, 0x43, 0x23, 0x2f, 0x42, 0x92, 0xc1,
- 0xf6, 0x3c, 0xf3, 0xab, 0xff, 0xd8, 0x2c, 0xf9, 0x42, 0x8f, 0x2b, 0x70,
- 0x52, 0x3b, 0x3b, 0x8e, 0xb8, 0xd1, 0x91, 0xa3, 0x91, 0x2f, 0x74, 0x50,
- 0x48, 0xf5, 0x32, 0x40, 0xfb, 0xad, 0x68, 0x12, 0xf6, 0x31, 0x1f, 0xb2,
- 0xaa, 0x99, 0x46, 0x44, 0x09, 0x4d, 0xce, 0x37, 0x23, 0xdf, 0x33, 0x80,
- 0x92, 0xeb, 0x64, 0x6b, 0x34, 0x3a, 0x3f, 0xd9, 0xd1, 0xe2, 0x67, 0x1b,
- 0x1b, 0xc7, 0xef, 0xbe, 0x3b, 0xb9, 0x38, 0x7b, 0xf7, 0xf6, 0xf8, 0xdd,
- 0x65, 0xf2, 0xdd, 0xe1, 0xc5, 0xc9, 0xe1, 0x57, 0xa7, 0x42, 0xbe, 0x40,
- 0xc3, 0x24, 0xcc, 0x19, 0x9b, 0x82, 0x1d, 0xfe, 0x60, 0x2f, 0x2f, 0x2e,
- 0x5a, 0x75, 0xa6, 0x53, 0x50, 0xfb, 0x83, 0x90, 0xdf, 0xc3, 0x30, 0xfe,
- 0x80, 0x02, 0x5a, 0x7d, 0xb2, 0x85, 0x3e, 0x68, 0x2d, 0x2d, 0xb2, 0xe5,
- 0xef, 0xbd, 0x74, 0x7e, 0x82, 0xc3, 0x91, 0x38, 0x53, 0x61, 0xee, 0xaa,
- 0x48, 0xda, 0xb2, 0x2c, 0x5f, 0x33, 0x23, 0x84, 0xd6, 0xa8, 0xd1, 0x57,
- 0x21, 0x3f, 0x58, 0xd7, 0x71, 0x7d, 0x38, 0x3c, 0x3d, 0x75, 0x9f, 0x5a,
- 0x5f, 0xbe, 0x48, 0xd8, 0xc0, 0x38, 0x97, 0x10, 0x8d, 0x52, 0x9c, 0xfa,
- 0xba, 0x74, 0x4c, 0xfe, 0xc5, 0xbd, 0x4f, 0xda, 0x4f, 0x1f, 0x33, 0xdb,
- 0x65, 0x8b, 0x69, 0x5c, 0x08, 0xb4, 0xd0, 0x64, 0x55, 0x5e, 0x7f, 0xec,
- 0x27, 0x9b, 0xff, 0xb6, 0x29, 0x05, 0xeb, 0x41, 0x33, 0xcd, 0xc5, 0x91,
- 0xb6, 0x5d, 0xa7, 0xde, 0x9d, 0xb9, 0x3e, 0x49, 0x1c, 0xde, 0x76, 0xc0,
- 0xbe, 0xe8, 0x50, 0x14, 0xb5, 0xaa, 0xd7, 0x80, 0x2f, 0xbb, 0xc7, 0xa5,
- 0x82, 0x88, 0x65, 0xa7, 0x10, 0xf9, 0x48, 0x71, 0xd6, 0xe8, 0xbb, 0x70,
- 0x22, 0xa4, 0x13, 0x8f, 0x4d, 0x1c, 0x63, 0x2d, 0xc8, 0xf3, 0x66, 0xab,
- 0xba, 0xa9, 0x73, 0xda, 0x4c, 0xf5, 0x54, 0x08, 0x17, 0x53, 0x6d, 0x59,
- 0x52, 0x99, 0x91, 0x2a, 0x6e, 0x23, 0x50, 0x9e, 0x93, 0x31, 0x15, 0x40,
- 0xfb, 0xd0, 0xcc, 0x34, 0x4e, 0x3e, 0x3b, 0x91, 0x5a, 0xde, 0x5d, 0xc4,
- 0x84, 0x3a, 0xb9, 0x9f, 0x12, 0xeb, 0x28, 0x5b, 0x3f, 0x93, 0x75, 0x95,
- 0x20, 0x14, 0xf3, 0x6b, 0xf3, 0xec, 0x83, 0x05, 0x83, 0xdd, 0x99, 0x3a,
- 0x93, 0x00, 0x4c, 0xfa, 0xaf, 0xf7, 0x90, 0x9b, 0xc4, 0xb1, 0x16, 0x4b,
- 0x8a, 0x48, 0x94, 0x43, 0x98, 0x63, 0x87, 0x4b, 0xcf, 0x3e, 0x31, 0x97,
- 0x90, 0xdd, 0x65, 0x6e, 0x27, 0x70, 0xe1, 0x3b, 0x81, 0xa1, 0x77, 0x7b,
- 0xac, 0x45, 0xad, 0x52, 0x2d, 0xa2, 0x84, 0xb8, 0x19, 0xab, 0x5c, 0x50,
- 0x9a, 0xba, 0xc3, 0x81, 0xd3, 0x90, 0x01, 0xcf, 0xad, 0x4e, 0x77, 0x1a,
- 0xee, 0x29, 0x9e, 0x60, 0x59, 0x8b, 0x0a, 0x85, 0x3b, 0xe4, 0xd3, 0x8e,
- 0x96, 0xa5, 0x02, 0xc8, 0x80, 0x12, 0x82, 0x2a, 0x23, 0x45, 0xeb, 0xd5,
- 0xd5, 0x9f, 0x86, 0x88, 0x4d, 0x5f, 0x1c, 0xa1, 0x7c, 0x42, 0x41, 0x05,
- 0x54, 0x5d, 0xd9, 0x1b, 0x24, 0x0f, 0x14, 0x59, 0x53, 0x51, 0x46, 0x6e,
- 0x21, 0x56, 0x08, 0x00, 0xf9, 0x30, 0xd2, 0xd3, 0xeb, 0x52, 0x0d, 0xf0,
- 0xd4, 0xa2, 0x66, 0x6c, 0x71, 0x40, 0xcf, 0xa8, 0xb7, 0xcc, 0x81, 0x56,
- 0x70, 0x01, 0x5f, 0xa3, 0x11, 0x42, 0xc2, 0x97, 0xd2, 0x21, 0xd3, 0x62,
- 0xef, 0xb5, 0xc7, 0xcd, 0xe0, 0xd2, 0x97, 0x48, 0x92, 0x73, 0x96, 0x8e,
- 0x52, 0xf9, 0x81, 0x3e, 0x51, 0xb9, 0x1c, 0x80, 0x74, 0x46, 0xb7, 0xe8,
- 0x41, 0x34, 0x29, 0xa0, 0x75, 0x34, 0xa9, 0xc1, 0x2b, 0x23, 0xaf, 0x66,
- 0x94, 0x41, 0xaa, 0x7a, 0x47, 0x9a, 0x8c, 0xf3, 0x6b, 0xe6, 0x04, 0x21,
- 0x02, 0x0a, 0x3a, 0x97, 0xa0, 0x78, 0x2c, 0xe7, 0x19, 0x1d, 0x0e, 0x10,
- 0x38, 0xc2, 0x78, 0xbf, 0x29, 0x67, 0x3e, 0xcb, 0xa0, 0x8e, 0x44, 0x56,
- 0xdf, 0xc6, 0x3e, 0x10, 0xfb, 0x5c, 0xd2, 0x3c, 0x2a, 0x1c, 0x55, 0x2a,
- 0x09, 0x08, 0x38, 0x97, 0x82, 0x6a, 0xe0, 0x4a, 0x2d, 0x90, 0x0a, 0xa8,
- 0x5c, 0x0a, 0x98, 0x07, 0x4d, 0x5c, 0xa0, 0x8d, 0x0b, 0x47, 0x3a, 0x95,
- 0x64, 0xdd, 0xb2, 0xa5, 0x00, 0xa8, 0x95, 0x09, 0x33, 0x34, 0x93, 0x98,
- 0x61, 0x48, 0x49, 0xbb, 0x76, 0x97, 0x2c, 0x96, 0x70, 0xe7, 0x99, 0x3d,
- 0x41, 0x9d, 0x36, 0x33, 0xb5, 0xe5, 0xa9, 0x19, 0x85, 0xd9, 0x22, 0xfc,
- 0x18, 0x7b, 0x90, 0xe4, 0x5f, 0x03, 0x5b, 0x76, 0x50, 0x80, 0x27, 0xdb,
- 0x0e, 0x78, 0xc4, 0x66, 0x00, 0xc9, 0x87, 0x89, 0x14, 0x7e, 0x05, 0x44,
- 0x87, 0xaa, 0xd6, 0x82, 0x10, 0xae, 0x15, 0x7c, 0x48, 0x34, 0xe1, 0x6e,
- 0x36, 0xf3, 0x6a, 0x01, 0xb0, 0x3f, 0x32, 0x0d, 0x8c, 0x0f, 0x92, 0x13,
- 0x43, 0x96, 0xb9, 0x0c, 0xfd, 0x63, 0xde, 0x70, 0x6f, 0x20, 0x92, 0x54,
- 0x42, 0xe6, 0x59, 0x27, 0xa6, 0xe1, 0x5d, 0x21, 0x0a, 0x8f, 0xf1, 0xd5,
- 0x50, 0x29, 0x7d, 0x93, 0xa7, 0x73, 0x36, 0x1e, 0xdd, 0xee, 0x9b, 0xdf,
- 0x33, 0xec, 0x78, 0x63, 0xe3, 0xe8, 0xfd, 0xe8, 0xf2, 0xec, 0x6d, 0x72,
- 0xf6, 0xfe, 0xf2, 0xfc, 0xfd, 0xa5, 0xe8, 0xa9, 0x63, 0x4e, 0xda, 0x60,
- 0xe8, 0x12, 0xeb, 0xce, 0xba, 0x98, 0x73, 0x01, 0xf8, 0x00, 0x63, 0x56,
- 0x82, 0x56, 0xd4, 0x63, 0x14, 0xb3, 0x49, 0x99, 0xe0, 0xda, 0x63, 0x6a,
- 0x71, 0x4c, 0xf9, 0x9d, 0x99, 0x72, 0x24, 0xd4, 0xc3, 0x93, 0xaf, 0x39,
- 0x9e, 0xf0, 0x7b, 0xe8, 0x59, 0x6b, 0x97, 0x95, 0xba, 0x6f, 0xfb, 0x31,
- 0x80, 0xce, 0x69, 0x33, 0xb8, 0xf9, 0xd5, 0x6d, 0xd9, 0xb9, 0xeb, 0x7c,
- 0xbf, 0x3e, 0xa6, 0x5b, 0x6a, 0xe3, 0x6a, 0x04, 0x4a, 0x61, 0xf5, 0xc0,
- 0x1a, 0xb6, 0x33, 0x8b, 0xfd, 0x04, 0xe7, 0xa6, 0x34, 0x23, 0xbc, 0xb1,
- 0x29, 0x31, 0x04, 0x23, 0x04, 0x14, 0x98, 0x11, 0x54, 0x84, 0xb9, 0x65,
- 0x97, 0x41, 0x91, 0xdd, 0x91, 0xe2, 0x13, 0xe8, 0xd4, 0x77, 0xc9, 0xe6,
- 0xf7, 0x99, 0xdf, 0xe0, 0x1f, 0xff, 0x93, 0xf2, 0xb6, 0x3f, 0xe8, 0x4f,
- 0xfe, 0x8b, 0x3f, 0xf9, 0x53, 0xb1, 0x09, 0x81, 0xd9, 0x86, 0xca, 0x7c,
- 0x7b, 0x7c, 0xf1, 0xd5, 0xf1, 0xc5, 0xd9, 0x08, 0xf2, 0x40, 0xfd, 0xdd,
- 0xe1, 0x5e, 0xff, 0x98, 0x55, 0xe3, 0xac, 0x2a, 0xa5, 0xe4, 0x9d, 0xfe,
- 0xeb, 0xd9, 0xce, 0xd7, 0xa3, 0xd1, 0xe1, 0xf9, 0x89, 0x2d, 0x2a, 0x65,
- 0x33, 0x48, 0xd9, 0x47, 0x52, 0x70, 0x8e, 0x33, 0x8d, 0x5f, 0x5f, 0x31,
- 0xfb, 0x62, 0xf2, 0x91, 0x33, 0x0b, 0x02, 0x50, 0x8a, 0x06, 0xd6, 0x08,
- 0x8d, 0x22, 0x89, 0xc5, 0xd4, 0xb0, 0x32, 0xc1, 0xf9, 0x85, 0x21, 0xb8,
- 0x82, 0x03, 0x05, 0x03, 0xfb, 0x16, 0x82, 0xfb, 0xb1, 0x1a, 0x0f, 0xcc,
- 0x6e, 0xff, 0xa8, 0x35, 0xd6, 0x39, 0x11, 0xca, 0x88, 0x4a, 0xce, 0x90,
- 0x70, 0xce, 0xc6, 0x8f, 0x79, 0x91, 0x37, 0x3b, 0x1f, 0xe9, 0x7c, 0x50,
- 0xc1, 0xa3, 0xd9, 0x90, 0xa5, 0x3b, 0x1f, 0x28, 0x85, 0xbd, 0x93, 0x88,
- 0x5d, 0xc7, 0x4e, 0x63, 0xbe, 0x66, 0xab, 0x94, 0xb2, 0xc3, 0xdb, 0xfc,
- 0xe4, 0xa9, 0xa5, 0xe9, 0x13, 0xcd, 0x1f, 0x48, 0xd9, 0x2b, 0x73, 0x57,
- 0x2d, 0xee, 0xa6, 0x72, 0x89, 0x80, 0xa5, 0x9e, 0x95, 0x4b, 0x91, 0xe1,
- 0xdd, 0x08, 0x35, 0x55, 0x52, 0x45, 0xc6, 0x96, 0xe4, 0xa3, 0x24, 0xe3,
- 0x59, 0x5a, 0x7c, 0x84, 0xfe, 0x00, 0x8d, 0x80, 0xee, 0x3e, 0x25, 0x9f,
- 0xa3, 0x0a, 0xb7, 0x00, 0x24, 0x08, 0x1f, 0x0c, 0x4c, 0xbe, 0x19, 0x09,
- 0xb7, 0x7b, 0x0e, 0xe6, 0x59, 0x8e, 0x3d, 0x2f, 0xf4, 0x8e, 0xe3, 0xe4,
- 0x26, 0x81, 0x7c, 0xc7, 0xc7, 0xa7, 0xe6, 0x62, 0xb2, 0x59, 0x66, 0xf0,
- 0xd1, 0x65, 0x33, 0x8a, 0x05, 0x29, 0x24, 0x90, 0x13, 0xab, 0x73, 0x08,
- 0x32, 0x96, 0x1e, 0x5a, 0xeb, 0x00, 0x01, 0x64, 0x6c, 0x17, 0xe4, 0x8f,
- 0xd7, 0xb6, 0x22, 0x90, 0x48, 0x6e, 0x16, 0x62, 0x60, 0x07, 0x76, 0x05,
- 0x82, 0xfc, 0x52, 0x55, 0x82, 0xb7, 0x3d, 0x72, 0x80, 0x40, 0x5b, 0xbb,
- 0x8f, 0x3b, 0xe1, 0x8c, 0x50, 0x0b, 0x31, 0x68, 0xa5, 0xb7, 0xad, 0x5c,
- 0x26, 0x7e, 0x3d, 0xe6, 0x05, 0x64, 0x52, 0xc3, 0xa9, 0x04, 0x3c, 0x2d,
- 0x1f, 0x98, 0xe6, 0x2c, 0xb4, 0xf3, 0x04, 0xb4, 0xe3, 0x0c, 0x07, 0xa2,
- 0xe8, 0xcd, 0xac, 0xb1, 0x8e, 0x8a, 0x9a, 0x19, 0xd6, 0xa0, 0x74, 0x4d,
- 0x21, 0x72, 0xaa, 0x16, 0x55, 0xb5, 0x0f, 0xcf, 0x67, 0xca, 0x9a, 0xd2,
- 0x1a, 0x99, 0x6c, 0xfd, 0x5b, 0x6b, 0x76, 0xf0, 0x8e, 0xae, 0x8b, 0x72,
- 0x30, 0x5e, 0xc2, 0x31, 0xe3, 0xd5, 0xd4, 0xe3, 0x24, 0xee, 0xf2, 0x8a,
- 0x35, 0x0f, 0xfe, 0x3d, 0x05, 0xa4, 0x41, 0x8f, 0xc1, 0x31, 0x6a, 0xe4,
- 0x4b, 0xb7, 0x99, 0xb6, 0x2c, 0xbf, 0x12, 0x27, 0x21, 0xb9, 0x62, 0xdf,
- 0x76, 0x80, 0xb2, 0xc8, 0xd6, 0x49, 0xe3, 0xd9, 0x34, 0xfd, 0x4e, 0xca,
- 0x45, 0x63, 0x6b, 0x53, 0x5c, 0x42, 0x4d, 0xc8, 0xa4, 0x62, 0x83, 0xe6,
- 0x52, 0x68, 0xe6, 0xd6, 0x6d, 0x43, 0x55, 0xe0, 0x98, 0x1a, 0x26, 0x9d,
- 0x71, 0x49, 0x9d, 0x95, 0x57, 0x09, 0x1f, 0xa6, 0xe6, 0xf2, 0xf2, 0x2f,
- 0xe7, 0xc7, 0xaf, 0xf4, 0xcd, 0x75, 0x6b, 0xc6, 0x8c, 0x89, 0x00, 0xcd,
- 0x65, 0xc2, 0x50, 0xec, 0xd5, 0xb1, 0x37, 0x9b, 0x6c, 0xd0, 0x28, 0x98,
- 0x87, 0x3f, 0x33, 0x48, 0x7e, 0x78, 0x7d, 0x32, 0x3a, 0x3f, 0x3d, 0x3b,
- 0x7a, 0xf5, 0xf2, 0x07, 0x15, 0xc9, 0x5f, 0x52, 0x8c, 0x90, 0xf5, 0x34,
- 0xfb, 0x33, 0xc7, 0xe8, 0x22, 0xef, 0xbd, 0x3b, 0xfe, 0xfe, 0x83, 0xb1,
- 0xc7, 0x5e, 0x51, 0x5d, 0x87, 0xfe, 0x6d, 0x3a, 0x93, 0x97, 0x48, 0x3f,
- 0x8d, 0xe8, 0x76, 0xc3, 0x36, 0x05, 0x67, 0x77, 0x62, 0x6d, 0x29, 0x61,
- 0x97, 0xa8, 0x74, 0xaf, 0x38, 0x5a, 0xaf, 0x6a, 0x5c, 0xda, 0xca, 0xab,
- 0x8f, 0x14, 0xfe, 0x76, 0xd7, 0xff, 0x66, 0xc3, 0xa0, 0x6a, 0xc2, 0x10,
- 0xf9, 0xd0, 0x1c, 0x00, 0xd7, 0xe5, 0x37, 0x0e, 0xd0, 0x2f, 0xfc, 0xe9,
- 0x15, 0xf9, 0xd1, 0x2c, 0x01, 0xad, 0x54, 0x93, 0x07, 0xe8, 0x45, 0x58,
- 0x6a, 0x85, 0x7a, 0x8d, 0x30, 0xf4, 0x9a, 0x4e, 0xa3, 0x72, 0x4c, 0x54,
- 0x18, 0xdb, 0x97, 0x54, 0xeb, 0x5a, 0xa3, 0x78, 0xd6, 0xf9, 0xf1, 0xc5,
- 0xe8, 0x64, 0x74, 0x49, 0x86, 0xab, 0x14, 0x59, 0x95, 0x20, 0x94, 0x56,
- 0xc0, 0x05, 0x69, 0x4b, 0x9b, 0x70, 0xd8, 0x2f, 0xec, 0xd3, 0x3a, 0xd1,
- 0x56, 0xcc, 0xb5, 0xb3, 0xb8, 0xe9, 0x06, 0xe0, 0xd4, 0x70, 0x52, 0x44,
- 0x99, 0x36, 0x3b, 0xbd, 0xd2, 0x03, 0x5c, 0xca, 0xd6, 0xe8, 0xd4, 0xb7,
- 0x41, 0x6d, 0x2a, 0xac, 0xce, 0x2c, 0x1f, 0x7b, 0x55, 0xed, 0xdb, 0x18,
- 0x12, 0x82, 0x27, 0x09, 0x45, 0x8f, 0x7f, 0x84, 0x34, 0x20, 0xe6, 0xa8,
- 0x11, 0xa4, 0xee, 0xb6, 0x5c, 0x6b, 0x92, 0xd6, 0xec, 0x27, 0xb0, 0x5b,
- 0xb7, 0x14, 0x8c, 0x16, 0xd5, 0xd3, 0xec, 0x4f, 0x3d, 0x14, 0xba, 0xb0,
- 0xbe, 0x81, 0xb0, 0x5a, 0x44, 0x36, 0x09, 0xe5, 0x9c, 0x53, 0x51, 0xc9,
- 0x3f, 0x69, 0xb4, 0x16, 0x50, 0x6b, 0x00, 0x28, 0x28, 0x23, 0x0b, 0x54,
- 0x10, 0x51, 0x1d, 0xaf, 0x29, 0x87, 0x15, 0xd4, 0x7a, 0x53, 0xd2, 0xb7,
- 0xe0, 0x82, 0xf7, 0x3f, 0xa6, 0xd7, 0x29, 0xcd, 0xe0, 0x78, 0xe9, 0x57,
- 0x6d, 0xb4, 0xbd, 0xe7, 0x02, 0x42, 0x98, 0x78, 0x40, 0xa4, 0xd3, 0x0a,
- 0x9e, 0x8c, 0x46, 0x4a, 0x45, 0xa8, 0xe1, 0x23, 0x78, 0xe7, 0x61, 0x9b,
- 0xc5, 0x4b, 0xf7, 0xa5, 0x1a, 0x61, 0xeb, 0x66, 0xd4, 0x2b, 0xf3, 0x4a,
- 0xdb, 0xb7, 0xca, 0x14, 0xb8, 0xc8, 0x4e, 0xc5, 0x9a, 0x22, 0x8e, 0xc5,
- 0xc4, 0x5e, 0xc6, 0x94, 0x75, 0x48, 0x00, 0x83, 0x4a, 0x18, 0xd2, 0x8c,
- 0xf8, 0xa3, 0xd0, 0x12, 0x6a, 0xc3, 0xa2, 0x68, 0x3a, 0x85, 0xdd, 0x95,
- 0x3d, 0xd3, 0xe5, 0x71, 0xf0, 0x74, 0x7b, 0xdb, 0x8a, 0xe3, 0x6b, 0xf7,
- 0xf2, 0x41, 0xcb, 0x90, 0xa1, 0x8b, 0xd5, 0xe7, 0x84, 0xcb, 0x14, 0xf9,
- 0x7d, 0x1a, 0xd8, 0xf1, 0xf2, 0xc4, 0x6b, 0xc9, 0xbe, 0xb7, 0xf8, 0x14,
- 0x08, 0xbc, 0x56, 0x81, 0x6c, 0x1a, 0x5d, 0x0b, 0x1b, 0x60, 0xf4, 0xcb,
- 0x05, 0xaa, 0x9d, 0x4d, 0xa4, 0x86, 0x04, 0x50, 0xfb, 0xb6, 0x41, 0xbd,
- 0x44, 0xdc, 0x64, 0x99, 0x59, 0x7d, 0xfb, 0xfe, 0xf4, 0xf2, 0xe4, 0xdc,
- 0xc7, 0x1f, 0x24, 0xdf, 0x9f, 0x5c, 0x7e, 0x63, 0xb4, 0xf6, 0xd1, 0xc9,
- 0xbb, 0xaf, 0x4f, 0x29, 0xc8, 0xfb, 0xf6, 0xed, 0xe1, 0x3b, 0xa2, 0x17,
- 0x79, 0x07, 0x68, 0xf3, 0x21, 0x0c, 0x07, 0x12, 0x47, 0x66, 0x8a, 0x69,
- 0xef, 0x10, 0xf1, 0x44, 0x3f, 0x8c, 0x35, 0x76, 0x8e, 0x1f, 0x17, 0x40,
- 0x2f, 0xda, 0x93, 0xb4, 0x81, 0x72, 0xf6, 0xb0, 0x0c, 0xee, 0xc9, 0x8d,
- 0x8b, 0x63, 0x4b, 0xc6, 0x16, 0x4d, 0x74, 0xb7, 0x78, 0x04, 0x92, 0x9c,
- 0x59, 0x43, 0x07, 0x8e, 0x86, 0xef, 0x6e, 0x17, 0xbf, 0xc4, 0x8a, 0x5a,
- 0xea, 0x69, 0xd8, 0x31, 0x46, 0x67, 0x2a, 0xc4, 0xae, 0xe1, 0xfb, 0xb2,
- 0x9d, 0x74, 0x64, 0xbe, 0x88, 0x2e, 0x01, 0x48, 0x54, 0x3a, 0x47, 0x3a,
- 0x59, 0x9c, 0x64, 0x34, 0x5f, 0x9c, 0xfa, 0x17, 0xea, 0xb0, 0x55, 0x1e,
- 0x50, 0xf1, 0xc1, 0xd7, 0x65, 0xe6, 0x4e, 0xee, 0xe0, 0x4c, 0x9b, 0xd1,
- 0xf8, 0x0f, 0xcc, 0x30, 0xbe, 0x5c, 0x06, 0x24, 0xd7, 0x06, 0x66, 0x49,
- 0xb6, 0x6d, 0x49, 0x30, 0x31, 0xfb, 0x0f, 0x58, 0xad, 0xb4, 0xe4, 0xea,
- 0x5a, 0x49, 0xd3, 0x34, 0xa7, 0x2d, 0x0b, 0x16, 0x0d, 0x09, 0x19, 0x92,
- 0xd7, 0x28, 0x63, 0x86, 0xb4, 0xd4, 0xc7, 0x5a, 0xb4, 0x0c, 0x7c, 0xdf,
- 0x9d, 0x69, 0x70, 0x52, 0xf3, 0x5a, 0x6d, 0x8d, 0x46, 0x07, 0x9d, 0x40,
- 0x15, 0x44, 0xb8, 0x2b, 0x32, 0x42, 0x39, 0xd0, 0x5f, 0xff, 0xba, 0xb8,
- 0xf6, 0x53, 0x5e, 0xb9, 0x06, 0xfc, 0x22, 0xb6, 0xb2, 0xc2, 0xe4, 0xce,
- 0x6a, 0x91, 0xd4, 0x9d, 0x6c, 0xf5, 0x40, 0x8a, 0x49, 0xee, 0xad, 0xfa,
- 0xa0, 0xfc, 0x7e, 0x3f, 0xfc, 0xfd, 0x3e, 0x07, 0x19, 0x4e, 0xce, 0x6f,
- 0x9f, 0x5b, 0x06, 0x64, 0x26, 0x72, 0xf0, 0xd5, 0x37, 0x55, 0x0a, 0x68,
- 0x87, 0xd1, 0xa3, 0xe2, 0x32, 0x67, 0x99, 0xc8, 0xc1, 0x3f, 0x82, 0x90,
- 0x2e, 0x2b, 0x24, 0xa8, 0xe3, 0x11, 0x44, 0x57, 0x18, 0xf7, 0x0f, 0xcf,
- 0x13, 0xe4, 0x14, 0x5d, 0x57, 0xa6, 0x41, 0xf3, 0xfb, 0xa7, 0x36, 0x19,
- 0xc7, 0xc9, 0x34, 0xd4, 0x53, 0x94, 0x74, 0xc8, 0x41, 0xbe, 0xb8, 0xd5,
- 0x82, 0xdc, 0xe6, 0xaf, 0xcf, 0x6d, 0x2d, 0xad, 0xba, 0x15, 0xa4, 0x6e,
- 0xb1, 0x8d, 0xab, 0xf0, 0x47, 0xe7, 0xe0, 0x03, 0x23, 0xc9, 0xe0, 0x8c,
- 0x8c, 0x4e, 0xbf, 0xb2, 0x76, 0x46, 0x86, 0x57, 0x51, 0x18, 0x59, 0x5f,
- 0x33, 0xa4, 0xc6, 0x43, 0x1e, 0x79, 0xc2, 0xc5, 0xaf, 0xf4, 0x21, 0xab,
- 0xfe, 0xe3, 0xfe, 0xee, 0xee, 0xde, 0xc1, 0xde, 0xe7, 0x2f, 0x76, 0x0f,
- 0xf6, 0xf6, 0xf6, 0xf6, 0x0f, 0xf6, 0x0e, 0x0e, 0xf6, 0x77, 0x7f, 0xde,
- 0x21, 0xff, 0xd1, 0x6d, 0x9e, 0xdd, 0x69, 0x64, 0x9a, 0xfd, 0x7c, 0xd8,
- 0xd6, 0x75, 0x73, 0xcf, 0x60, 0x00, 0xf6, 0xf4, 0x61, 0x5f, 0xab, 0xe6,
- 0x63, 0x69, 0x65, 0x38, 0x67, 0x86, 0x29, 0x24, 0x17, 0x2e, 0xd5, 0x1c,
- 0x67, 0xd0, 0xa3, 0xb9, 0x47, 0xaf, 0xfe, 0xb6, 0xa4, 0x91, 0x8e, 0x49,
- 0x1d, 0x80, 0x4e, 0x53, 0xdb, 0xc4, 0xde, 0xeb, 0x59, 0x39, 0x1e, 0x23,
- 0x75, 0xc9, 0xe6, 0xb6, 0x0f, 0x13, 0xe2, 0x52, 0xfe, 0xc8, 0x5b, 0x42,
- 0x42, 0x87, 0x40, 0x15, 0xf3, 0x41, 0x77, 0xb3, 0xe3, 0x3c, 0x7b, 0x66,
- 0x07, 0x4c, 0x4a, 0xaa, 0x2b, 0x02, 0x4f, 0xb7, 0x99, 0xa4, 0xca, 0xe6,
- 0xbc, 0x25, 0x57, 0xd9, 0xe7, 0xbb, 0x07, 0x07, 0x54, 0xfa, 0xe7, 0x8f,
- 0x7b, 0x7d, 0x01, 0x84, 0xfb, 0x59, 0x2e, 0x7d, 0x7b, 0x3d, 0x71, 0x1b,
- 0x64, 0x7e, 0xf8, 0xe3, 0x2c, 0x96, 0xf3, 0xac, 0x32, 0x86, 0x08, 0xd5,
- 0x79, 0x06, 0x22, 0x1a, 0x1e, 0x43, 0xe6, 0x58, 0x04, 0x23, 0x53, 0x27,
- 0x1b, 0x87, 0x6e, 0x04, 0xe6, 0x8a, 0xb6, 0x2c, 0x14, 0xcc, 0x17, 0xe6,
- 0x86, 0x68, 0xdb, 0x46, 0xf9, 0x2b, 0x80, 0x35, 0x39, 0x97, 0x8d, 0xb3,
- 0xf8, 0xf8, 0xbe, 0x15, 0xc9, 0x80, 0xc3, 0x55, 0x70, 0xf5, 0x61, 0x7a,
- 0x9c, 0x75, 0x78, 0x78, 0x4c, 0x3c, 0xe5, 0x56, 0x12, 0xf8, 0x7e, 0xf4,
- 0x06, 0xbb, 0xff, 0x6c, 0xef, 0x67, 0xc6, 0x2b, 0xd3, 0x81, 0x70, 0xb3,
- 0xa6, 0xc1, 0x17, 0x3f, 0x45, 0x4b, 0x37, 0xd2, 0x56, 0x36, 0xbc, 0x1e,
- 0xaa, 0x56, 0x21, 0xde, 0xc6, 0xbe, 0x9f, 0x35, 0xc2, 0x75, 0x0a, 0xb8,
- 0xa6, 0x38, 0xec, 0x34, 0x75, 0x28, 0xf9, 0xae, 0x5a, 0x1d, 0x98, 0xad,
- 0x1c, 0xf7, 0xf6, 0xf8, 0xf2, 0xd0, 0x5c, 0x1e, 0xdf, 0x86, 0x86, 0xfe,
- 0xdb, 0xcc, 0x58, 0xe5, 0xb4, 0xd8, 0x5b, 0x38, 0x0f, 0xb7, 0x96, 0x1d,
- 0x9c, 0xe6, 0xee, 0x69, 0xb2, 0x45, 0x21, 0xca, 0x67, 0x9f, 0x3f, 0x7b,
- 0xba, 0xcd, 0xa5, 0x58, 0xf8, 0xb5, 0x8c, 0x12, 0xc4, 0xe0, 0x95, 0x14,
- 0x76, 0x2a, 0x72, 0xe0, 0x5b, 0x91, 0xf4, 0xfe, 0xe2, 0x84, 0x8f, 0xf4,
- 0x0d, 0x93, 0x88, 0xb0, 0xd1, 0xdb, 0x65, 0x93, 0xc4, 0x7d, 0xeb, 0x29,
- 0x19, 0xf3, 0x9c, 0x98, 0x4e, 0x41, 0xbe, 0x40, 0x17, 0xa3, 0x25, 0xff,
- 0xc0, 0x0d, 0x6b, 0x0e, 0x68, 0x89, 0x5a, 0xa2, 0x52, 0xf7, 0x0d, 0x9d,
- 0x01, 0x35, 0x2a, 0x31, 0x33, 0xcb, 0x3e, 0xb3, 0x16, 0x18, 0xd9, 0x41,
- 0x2c, 0x8f, 0x58, 0xfa, 0x77, 0xd8, 0xf8, 0xb7, 0x19, 0xf2, 0x03, 0xa5,
- 0x90, 0xb6, 0xa1, 0x79, 0x50, 0xb1, 0xe3, 0xd4, 0xe3, 0x56, 0x3a, 0xaa,
- 0xd3, 0x36, 0x3d, 0x52, 0x37, 0xe5, 0x73, 0x12, 0x51, 0x64, 0xa7, 0x90,
- 0xf1, 0x2c, 0x0d, 0x3c, 0x8b, 0x79, 0xcb, 0xe5, 0x23, 0x64, 0x1a, 0x20,
- 0xb5, 0x40, 0xce, 0xc1, 0xdc, 0x5c, 0x47, 0xd5, 0xbd, 0x68, 0xd8, 0x30,
- 0x13, 0x6c, 0xe9, 0xc3, 0x0e, 0x22, 0x88, 0x69, 0x63, 0xfc, 0x54, 0x1a,
- 0xcb, 0x9a, 0xa4, 0x46, 0x73, 0xab, 0x03, 0x2d, 0xb1, 0x3f, 0x98, 0xeb,
- 0xaf, 0x3c, 0xc0, 0x9c, 0x9f, 0x5f, 0xaa, 0x7f, 0xd7, 0xe7, 0x3c, 0x2c,
- 0x75, 0xda, 0x1d, 0xd8, 0x8a, 0xae, 0x31, 0xa3, 0x2e, 0xf0, 0x93, 0xd6,
- 0xfa, 0xd9, 0x42, 0x4f, 0x76, 0x76, 0xb6, 0x57, 0xf4, 0x46, 0x7e, 0x1d,
- 0xfb, 0xfa, 0x39, 0x48, 0x89, 0xbc, 0x94, 0x6e, 0xb3, 0xe6, 0xed, 0xc6,
- 0x69, 0x6a, 0xf3, 0x9a, 0x56, 0x72, 0x2a, 0xc0, 0x78, 0x76, 0xa3, 0xaa,
- 0x79, 0xc5, 0x9d, 0x57, 0xe1, 0xd5, 0x1e, 0x84, 0x60, 0xf1, 0x94, 0x24,
- 0x8e, 0x0b, 0xc0, 0x33, 0x2a, 0x60, 0x98, 0x1c, 0xd2, 0x6e, 0x68, 0x7d,
- 0xd8, 0xeb, 0xb2, 0xfa, 0x73, 0xb5, 0xee, 0x81, 0x2a, 0xb1, 0xd6, 0x9d,
- 0xd7, 0xf7, 0x7e, 0xa9, 0x6a, 0x9e, 0x72, 0x82, 0x58, 0x67, 0xef, 0x38,
- 0x63, 0xfe, 0x23, 0x2b, 0x39, 0x3d, 0x3e, 0xf3, 0xbc, 0x68, 0xd5, 0xf4,
- 0x95, 0x46, 0x80, 0x74, 0xb1, 0x83, 0x00, 0x55, 0x6a, 0xa5, 0x14, 0xdc,
- 0x7e, 0x9d, 0x4f, 0x50, 0x90, 0x48, 0x56, 0x0b, 0x2b, 0xd6, 0x76, 0x13,
- 0x33, 0x48, 0x61, 0xcc, 0xdb, 0xab, 0x35, 0x1f, 0x7d, 0xde, 0xf1, 0x8c,
- 0x62, 0xb2, 0x90, 0x0a, 0x12, 0x18, 0x87, 0x27, 0xa7, 0x04, 0x8b, 0x3d,
- 0x35, 0x26, 0xde, 0x48, 0x55, 0x25, 0xc0, 0xc4, 0x01, 0xd8, 0x2d, 0x72,
- 0x52, 0xd7, 0xfb, 0xb6, 0xe0, 0x90, 0x66, 0x4b, 0xc2, 0x6e, 0xa1, 0x10,
- 0x2b, 0x9b, 0xfe, 0x42, 0x12, 0x6a, 0x56, 0xcb, 0xe8, 0x4b, 0x35, 0x3b,
- 0x6d, 0x41, 0xc0, 0x4d, 0xa5, 0x29, 0x6e, 0xb3, 0x59, 0xb9, 0x80, 0x49,
- 0xcd, 0x62, 0x1a, 0xf5, 0xce, 0xaa, 0x6c, 0x96, 0xdd, 0x8a, 0x77, 0x95,
- 0xe9, 0x8c, 0xbf, 0x16, 0xc4, 0x02, 0xd7, 0x26, 0x6e, 0x24, 0xab, 0x25,
- 0x40, 0x45, 0xd0, 0x47, 0x77, 0x98, 0x15, 0xca, 0x91, 0xfd, 0xd0, 0xf7,
- 0x5d, 0x11, 0x0e, 0x33, 0x43, 0xb6, 0x88, 0xc3, 0x80, 0x8c, 0x5c, 0x01,
- 0xb7, 0xbf, 0xaf, 0x85, 0xcf, 0xa5, 0x9b, 0x2d, 0xc2, 0xce, 0x42, 0x2d,
- 0x6f, 0xc9, 0xde, 0xf7, 0xbe, 0xd2, 0xa4, 0x73, 0xc8, 0x80, 0x6e, 0x9e,
- 0x3e, 0x79, 0x6a, 0xd1, 0xd2, 0x95, 0xb1, 0xc8, 0xa8, 0x20, 0x4e, 0x9f,
- 0x53, 0xc7, 0xb1, 0x39, 0xca, 0x99, 0xf9, 0x27, 0x00, 0x95, 0x0c, 0xb1,
- 0x36, 0xcf, 0x52, 0xbc, 0xd9, 0xc3, 0xb4, 0x13, 0xe6, 0x06, 0xe9, 0x50,
- 0xf2, 0x2f, 0x34, 0x55, 0x2d, 0xc1, 0x26, 0xde, 0xe7, 0xdb, 0x90, 0xe2,
- 0xbc, 0xcd, 0x64, 0x68, 0x7b, 0x2f, 0xa8, 0x1f, 0xee, 0xff, 0x6b, 0x9e,
- 0x4a, 0x1a, 0x04, 0xeb, 0x21, 0x65, 0xa5, 0xd3, 0xcb, 0xcb, 0x30, 0xe6,
- 0x6a, 0xa4, 0x5f, 0x2d, 0x29, 0xfe, 0x68, 0x0b, 0x78, 0x51, 0x2f, 0xe6,
- 0x74, 0x17, 0x65, 0x5c, 0xf8, 0xd7, 0x36, 0x4e, 0x26, 0xdd, 0xd2, 0x2c,
- 0x2f, 0xb7, 0x7e, 0x5a, 0xde, 0x51, 0xd5, 0xe2, 0xab, 0xab, 0x7c, 0x42,
- 0xb1, 0x7f, 0xc7, 0x1a, 0x4e, 0x32, 0x9e, 0x1f, 0x9c, 0x6b, 0xf5, 0x35,
- 0x33, 0xb6, 0x64, 0xb1, 0x1c, 0xcf, 0xcc, 0x65, 0xad, 0xf9, 0x2c, 0xe6,
- 0x54, 0x61, 0x96, 0x8c, 0xb5, 0x85, 0xe6, 0x98, 0xde, 0x10, 0x06, 0x67,
- 0x27, 0x87, 0x02, 0xe1, 0xd2, 0x0a, 0x2a, 0xf8, 0x1c, 0xe5, 0x9b, 0x29,
- 0xd1, 0x60, 0x5e, 0x16, 0x9a, 0x0e, 0xb7, 0xac, 0x99, 0x4e, 0x16, 0xd1,
- 0x1c, 0xae, 0x92, 0x95, 0xe0, 0x49, 0x29, 0xda, 0x20, 0xa6, 0x39, 0xde,
- 0xf0, 0x07, 0x33, 0x1d, 0x2c, 0x6e, 0x16, 0xba, 0xd2, 0xaa, 0x10, 0xb1,
- 0xb6, 0x24, 0x09, 0x58, 0x38, 0x7a, 0xe7, 0xdf, 0x9c, 0x0f, 0x93, 0x63,
- 0x6a, 0x89, 0xfb, 0x24, 0x8a, 0x2e, 0x7c, 0x34, 0xe6, 0x77, 0x66, 0xb0,
- 0xd7, 0x74, 0x81, 0x9d, 0x55, 0xf4, 0x2f, 0xb4, 0x26, 0xbf, 0x64, 0xb7,
- 0x2c, 0x7e, 0xdb, 0xfe, 0xaa, 0x69, 0x48, 0xd3, 0x2c, 0xce, 0xf1, 0x77,
- 0x73, 0x56, 0x8c, 0xfa, 0x65, 0x97, 0xc9, 0x7d, 0xa1, 0xac, 0x5a, 0xe4,
- 0x5b, 0xfc, 0x66, 0x62, 0xb4, 0x32, 0xe8, 0x56, 0x8b, 0x7b, 0xac, 0x9f,
- 0x27, 0x1c, 0x59, 0xff, 0xe4, 0x06, 0xbc, 0xad, 0x25, 0xdb, 0xcf, 0x02,
- 0x78, 0xf9, 0x60, 0x55, 0x4c, 0x3b, 0x55, 0x65, 0x02, 0x77, 0x2e, 0x25,
- 0x30, 0xcd, 0x1e, 0x8d, 0x3a, 0xeb, 0x9c, 0x57, 0xcf, 0x7e, 0xd3, 0x5f,
- 0x90, 0xd9, 0x4d, 0x7d, 0x31, 0x5a, 0x8b, 0x59, 0x82, 0xe1, 0xc6, 0xff,
- 0x17, 0xbd, 0x21, 0x92, 0x46, 0x36, 0x05, 0x03, 0x00,
+ 0x31, 0xc7, 0x9b, 0x50, 0xe6, 0xa1, 0x50, 0x6f, 0x09, 0x46, 0x46, 0xfc,
+ 0x04, 0xf6, 0x68, 0x78, 0x3e, 0x8e, 0x0d, 0xf9, 0xec, 0x86, 0xd2, 0x31,
+ 0x7c, 0x8a, 0x2d, 0xc2, 0x8a, 0xbe, 0xb1, 0xef, 0x51, 0x4a, 0x12, 0x59,
+ 0x39, 0x55, 0xda, 0xb9, 0xa0, 0x1d, 0x4c, 0x58, 0x6f, 0x2e, 0x9d, 0x77,
+ 0x6f, 0x4b, 0x11, 0x69, 0x57, 0x7a, 0x0c, 0x13, 0x20, 0x21, 0x57, 0xde,
+ 0x82, 0x7a, 0x00, 0x04, 0x07, 0x04, 0x13, 0x29, 0xd8, 0x3d, 0xa0, 0x37,
+ 0xc8, 0xdc, 0xaa, 0xcd, 0xd2, 0x8e, 0xb0, 0x46, 0x93, 0xcd, 0x0c, 0xdd,
+ 0xbf, 0xe7, 0x98, 0xa5, 0xd7, 0x50, 0x25, 0x29, 0x13, 0xeb, 0xd9, 0x74,
+ 0x15, 0x11, 0x2a, 0x19, 0xbc, 0x73, 0x57, 0x11, 0x30, 0xac, 0xcf, 0x54,
+ 0x2d, 0x9a, 0x33, 0xa8, 0xd2, 0x43, 0xc8, 0x3a, 0x56, 0x85, 0xb6, 0xc7,
+ 0xda, 0xa2, 0x8d, 0x6b, 0x77, 0xe6, 0xc6, 0xdd, 0xca, 0x6d, 0xd1, 0x65,
+ 0x66, 0x94, 0xbd, 0xcb, 0x4c, 0x8a, 0xe1, 0xe4, 0x5e, 0x92, 0xde, 0x9a,
+ 0xab, 0xa7, 0xc8, 0x08, 0x4a, 0x09, 0x50, 0x02, 0xbc, 0x32, 0x27, 0x9e,
+ 0x9f, 0xd1, 0x71, 0x67, 0x4b, 0xc5, 0xaa, 0xd4, 0x95, 0xac, 0x4a, 0x36,
+ 0xd9, 0xd0, 0x60, 0xb6, 0x64, 0x75, 0xe8, 0x91, 0x02, 0x5e, 0xce, 0x88,
+ 0xb4, 0x54, 0x34, 0x75, 0x35, 0xcf, 0xa9, 0xe7, 0x46, 0x44, 0x0f, 0x65,
+ 0xdf, 0xe4, 0x80, 0x10, 0x92, 0x9f, 0x83, 0x21, 0x10, 0x3a, 0x5b, 0x69,
+ 0x31, 0xf1, 0x3e, 0x62, 0x43, 0xc9, 0xe2, 0x7e, 0x22, 0x24, 0x6e, 0xd1,
+ 0x07, 0xbd, 0x84, 0x46, 0x6f, 0xc5, 0xbc, 0xba, 0xba, 0x62, 0xab, 0x2d,
+ 0xe9, 0x0e, 0x2d, 0xbe, 0xc9, 0x4e, 0x68, 0x56, 0x08, 0xb0, 0x7c, 0xbf,
+ 0x6c, 0x36, 0x2f, 0x6c, 0x5d, 0x43, 0xf1, 0xba, 0xb4, 0x36, 0xb3, 0x86,
+ 0x0f, 0x79, 0xdd, 0x1a, 0x9b, 0x1f, 0x85, 0x5c, 0x8a, 0x76, 0xb8, 0xf7,
+ 0xf4, 0x7c, 0x0d, 0xe5, 0x68, 0x0a, 0xc7, 0x9d, 0xa0, 0x8b, 0x0e, 0xde,
+ 0x3d, 0x07, 0x16, 0x71, 0xa0, 0xd1, 0x5b, 0x8b, 0x8a, 0xc2, 0x76, 0x4d,
+ 0x46, 0xa9, 0x33, 0xb9, 0xd6, 0x92, 0x96, 0xb7, 0x97, 0x6a, 0x64, 0x1d,
+ 0x17, 0x22, 0x87, 0xca, 0x9b, 0xcc, 0x11, 0x3f, 0x3a, 0x87, 0xa3, 0x23,
+ 0x1f, 0x96, 0xd3, 0x6f, 0x85, 0x49, 0x27, 0x16, 0x6b, 0xe5, 0x15, 0x06,
+ 0xd9, 0x99, 0x95, 0x41, 0xe2, 0x35, 0xc9, 0xae, 0x92, 0xb2, 0xc5, 0x4d,
+ 0x8d, 0xbe, 0x49, 0x88, 0x59, 0x5b, 0xe4, 0x3d, 0xc2, 0xe4, 0x2d, 0x9e,
+ 0x69, 0xc2, 0xa5, 0x9c, 0xb4, 0x9a, 0x83, 0x85, 0xd3, 0xb9, 0x50, 0xad,
+ 0x8e, 0x72, 0xdd, 0x2e, 0xd2, 0xba, 0xd6, 0xcd, 0xc0, 0x26, 0xc0, 0x1e,
+ 0x20, 0x85, 0xce, 0x46, 0xdb, 0x2f, 0x64, 0x9d, 0xb0, 0x93, 0xe1, 0x41,
+ 0xeb, 0x08, 0xd2, 0xe0, 0xcc, 0x59, 0x34, 0x05, 0x52, 0x46, 0x88, 0xa9,
+ 0x97, 0x20, 0x00, 0xfd, 0xd1, 0x1a, 0xa7, 0x06, 0xf5, 0xc7, 0x2a, 0xd1,
+ 0x57, 0x73, 0x0b, 0x8c, 0x5a, 0x07, 0xf3, 0xa1, 0x73, 0x7a, 0x76, 0x7e,
+ 0xfa, 0xf5, 0xf9, 0xd1, 0x70, 0x98, 0xbc, 0x3b, 0xba, 0x60, 0x5b, 0xff,
+ 0x82, 0x51, 0x72, 0x57, 0xa8, 0xe4, 0x8d, 0x58, 0x83, 0x72, 0x33, 0x29,
+ 0x3a, 0x44, 0x1d, 0x09, 0x48, 0x4f, 0xa2, 0x02, 0xd5, 0xb8, 0x1d, 0xd9,
+ 0x88, 0x9f, 0x0a, 0xb8, 0xee, 0x1a, 0xde, 0x7e, 0xc0, 0x8f, 0x10, 0x90,
+ 0xb4, 0xce, 0x73, 0xe7, 0x46, 0x85, 0x62, 0xcc, 0x80, 0x24, 0x9b, 0x1e,
+ 0xe8, 0x5c, 0xe8, 0x74, 0x65, 0x9b, 0x3f, 0x31, 0xbc, 0x3f, 0x99, 0xd9,
+ 0x94, 0xa2, 0x7c, 0x7f, 0x32, 0xc6, 0xaf, 0x6c, 0x8a, 0x3f, 0x25, 0x3f,
+ 0x98, 0x36, 0x27, 0xc6, 0x78, 0x95, 0x02, 0xc4, 0x43, 0x14, 0x1e, 0x76,
+ 0xd4, 0xcb, 0xb9, 0x57, 0x5a, 0x3b, 0xe1, 0x6c, 0xc0, 0xea, 0x81, 0xaa,
+ 0x9f, 0xa0, 0x75, 0x61, 0x3a, 0x23, 0x81, 0xbf, 0xd9, 0x2f, 0x4b, 0xe5,
+ 0xb7, 0x24, 0x39, 0xc9, 0x2e, 0x51, 0x9c, 0x07, 0x9f, 0x33, 0xcd, 0xed,
+ 0x10, 0x47, 0xf5, 0xee, 0x3b, 0xfa, 0xd1, 0x4e, 0xf2, 0xe4, 0xc5, 0xf3,
+ 0x9d, 0x17, 0xfc, 0x57, 0xfd, 0xef, 0xcb, 0xa7, 0x3b, 0x42, 0x96, 0x6f,
+ 0xfe, 0xf5, 0x74, 0xff, 0xe9, 0xee, 0x3e, 0xd1, 0x36, 0xee, 0xec, 0xef,
+ 0x98, 0xff, 0xff, 0x54, 0x7e, 0x42, 0xdc, 0x94, 0x2f, 0xf7, 0x5e, 0x7c,
+ 0x06, 0xe0, 0x0a, 0xed, 0x8f, 0xa9, 0xf9, 0x48, 0xbf, 0x29, 0xfb, 0x60,
+ 0x8f, 0x82, 0xe6, 0xf3, 0xa7, 0xb6, 0x27, 0x92, 0xf0, 0xfd, 0x54, 0x94,
+ 0x9c, 0x06, 0x6e, 0x2b, 0xb2, 0xaa, 0x57, 0x95, 0xc9, 0x66, 0xfc, 0x3a,
+ 0x92, 0x76, 0x18, 0xf2, 0x36, 0xd7, 0x35, 0x04, 0x1d, 0x5b, 0xeb, 0x1d,
+ 0xc6, 0x84, 0x7b, 0xcc, 0x6f, 0xbf, 0xf4, 0xd3, 0x9a, 0xf3, 0xbd, 0x06,
+ 0x3e, 0x37, 0x59, 0x2a, 0x79, 0x6f, 0xac, 0xc5, 0xf3, 0xfc, 0x32, 0xdf,
+ 0x9d, 0xda, 0xd8, 0xbf, 0xf4, 0x7b, 0xec, 0xb9, 0xa2, 0xb7, 0x64, 0x37,
+ 0x24, 0xe1, 0xd7, 0x6c, 0xda, 0x40, 0xe4, 0x5b, 0xad, 0xcd, 0xb3, 0xe6,
+ 0x96, 0xdf, 0xcd, 0x94, 0x57, 0x79, 0xdb, 0xa6, 0x5b, 0x71, 0x8d, 0xeb,
+ 0xc8, 0x90, 0x83, 0xe6, 0x3e, 0xcc, 0xfd, 0xf6, 0x1e, 0xd3, 0x9c, 0x1b,
+ 0x11, 0x76, 0xb0, 0x5d, 0xb9, 0xbe, 0xb7, 0x38, 0x39, 0x63, 0xd0, 0x6c,
+ 0x1d, 0x53, 0xe5, 0x0b, 0xb5, 0x15, 0xa6, 0xf1, 0xaa, 0xdd, 0xb2, 0x7d,
+ 0x7e, 0x43, 0x74, 0x4e, 0x9b, 0xc2, 0x86, 0xea, 0xb1, 0xb8, 0xe2, 0xf9,
+ 0x79, 0xdd, 0xd9, 0xc1, 0xa7, 0x68, 0x37, 0x7a, 0xdf, 0x93, 0x6f, 0xe0,
+ 0x3c, 0xd9, 0x43, 0xb7, 0x72, 0x68, 0x0e, 0x06, 0xaf, 0x25, 0x34, 0x19,
+ 0x72, 0x05, 0xe5, 0x3b, 0x76, 0x24, 0xdd, 0x73, 0x40, 0x9a, 0xdb, 0xe6,
+ 0xfc, 0xdb, 0x67, 0x0a, 0x56, 0x70, 0xea, 0x1f, 0x18, 0x95, 0x16, 0x54,
+ 0xda, 0x61, 0x4b, 0x45, 0x58, 0xff, 0x8f, 0x16, 0x61, 0x85, 0xcb, 0x8c,
+ 0x11, 0x68, 0xd4, 0x14, 0xcd, 0xe7, 0xd4, 0x4f, 0x7b, 0xb5, 0xd2, 0x6e,
+ 0x94, 0x56, 0xad, 0x22, 0x0a, 0x6b, 0x52, 0x84, 0x63, 0x46, 0xd4, 0x73,
+ 0xc8, 0x4c, 0x64, 0x3d, 0xe2, 0x0f, 0x6b, 0x6b, 0xc3, 0xb3, 0xa3, 0xa3,
+ 0x37, 0xc9, 0xc9, 0xf1, 0xbb, 0xe3, 0x0b, 0x4f, 0x0b, 0xb7, 0xb7, 0x87,
+ 0x7a, 0x5a, 0xb5, 0x96, 0x5f, 0x67, 0x3a, 0x1c, 0x13, 0xb3, 0x94, 0x7b,
+ 0x91, 0xfb, 0x7b, 0x96, 0x49, 0xc2, 0xc3, 0xb4, 0xfb, 0x1e, 0xec, 0x6d,
+ 0x90, 0x30, 0x51, 0x45, 0x74, 0x4f, 0x8b, 0xab, 0x8d, 0x46, 0x63, 0x7a,
+ 0xd7, 0x67, 0x22, 0x80, 0xfe, 0x5f, 0x05, 0xa7, 0xd1, 0x56, 0x97, 0x84,
+ 0x54, 0xd6, 0x66, 0xdf, 0x08, 0x0c, 0xb5, 0xd3, 0x2b, 0x9a, 0xdb, 0x8c,
+ 0x51, 0xd0, 0x9e, 0x5b, 0x0e, 0x08, 0xbb, 0xdb, 0x0c, 0xc4, 0x04, 0xb3,
+ 0x9c, 0xd3, 0x22, 0x7d, 0xf8, 0x2f, 0x2a, 0x9b, 0xc8, 0x8d, 0x07, 0x39,
+ 0xee, 0x7f, 0xd1, 0x3b, 0x1d, 0x16, 0xfb, 0xaa, 0xdf, 0xaa, 0xb9, 0x3a,
+ 0xa2, 0x99, 0x80, 0x22, 0x79, 0xb2, 0x63, 0x33, 0x0b, 0xe6, 0x90, 0x39,
+ 0xa2, 0xdf, 0xd3, 0xc7, 0x76, 0x13, 0xa3, 0x84, 0x2c, 0x48, 0x95, 0xaf,
+ 0x16, 0x45, 0x70, 0xdd, 0xfd, 0x95, 0xdf, 0x35, 0xe3, 0x7f, 0xbe, 0x83,
+ 0xeb, 0xed, 0x32, 0xad, 0xfa, 0x46, 0xdd, 0xba, 0xef, 0xab, 0x4b, 0x95,
+ 0x77, 0x84, 0x40, 0x83, 0xd9, 0xdf, 0x93, 0xb9, 0xaa, 0xa3, 0x1d, 0x15,
+ 0xd1, 0xa5, 0x87, 0x94, 0x88, 0x4b, 0x4e, 0xe5, 0x00, 0xd0, 0xd0, 0x29,
+ 0x29, 0x57, 0x3d, 0x9c, 0x4e, 0xc1, 0x71, 0x84, 0xc3, 0xba, 0x8a, 0x4e,
+ 0x46, 0x51, 0xb2, 0x00, 0xc4, 0x2a, 0xb5, 0x9a, 0xd3, 0x30, 0x65, 0x2c,
+ 0xa1, 0x3e, 0x3d, 0x4b, 0x76, 0x5f, 0xd0, 0x38, 0x1e, 0x37, 0x9e, 0xb7,
+ 0x65, 0x35, 0xb6, 0xe9, 0xbf, 0xb0, 0x11, 0xbc, 0x5c, 0x50, 0xce, 0x60,
+ 0x40, 0x01, 0x3c, 0x9e, 0x5d, 0xc5, 0xaf, 0x02, 0x5f, 0x47, 0x46, 0x89,
+ 0xc4, 0xd3, 0xe1, 0x8e, 0x42, 0x80, 0x9b, 0xd5, 0x22, 0xba, 0x6b, 0x64,
+ 0x5e, 0xbc, 0x7a, 0xb1, 0x95, 0xcd, 0x15, 0xe5, 0x69, 0x20, 0x97, 0x88,
+ 0xd9, 0x6b, 0xb7, 0xf9, 0x04, 0xaa, 0xb4, 0xa3, 0x9e, 0x33, 0xeb, 0xc5,
+ 0x9b, 0x8f, 0x61, 0xcd, 0x88, 0x59, 0x22, 0xd8, 0x69, 0x7b, 0x26, 0x0a,
+ 0x0c, 0x4d, 0x6b, 0x09, 0x8f, 0xc2, 0x26, 0xf4, 0x07, 0x4a, 0x45, 0x76,
+ 0x71, 0x01, 0xb2, 0x9f, 0x48, 0x34, 0xaf, 0xbb, 0xaf, 0x10, 0xac, 0xbf,
+ 0x69, 0xa6, 0xea, 0x4c, 0x78, 0x67, 0x37, 0x76, 0x7b, 0xcc, 0x44, 0xaa,
+ 0xe2, 0x0d, 0x7b, 0x77, 0xc7, 0x28, 0xad, 0xd3, 0xd2, 0x6e, 0x2b, 0xd9,
+ 0x54, 0xa1, 0x25, 0x8a, 0x61, 0xf5, 0x31, 0x3b, 0xbb, 0x3b, 0xdf, 0x2e,
+ 0x9f, 0x75, 0x10, 0xd7, 0xaf, 0x7c, 0x79, 0xef, 0xe9, 0x8a, 0x45, 0x3b,
+ 0xad, 0x60, 0x8c, 0x67, 0x0a, 0x57, 0x84, 0x22, 0xe8, 0x22, 0x2f, 0xc1,
+ 0xb2, 0x99, 0x8d, 0x9f, 0x5d, 0xa5, 0xa8, 0xc3, 0xbc, 0xa2, 0xf7, 0x9a,
+ 0xbe, 0xd1, 0xe9, 0xca, 0x3b, 0x01, 0x50, 0xf3, 0x2f, 0x6b, 0x72, 0x8b,
+ 0xcd, 0x41, 0x8a, 0xe7, 0x6c, 0x57, 0x9b, 0xf9, 0xcd, 0x34, 0x0a, 0xde,
+ 0xdb, 0x2c, 0x39, 0x7b, 0x6d, 0x21, 0xa1, 0xbb, 0xa7, 0xca, 0xae, 0x16,
+ 0x4c, 0x5a, 0x51, 0xb2, 0xad, 0x4f, 0x3c, 0xd5, 0x72, 0x5e, 0x8d, 0x6c,
+ 0x26, 0xf8, 0x10, 0xef, 0x27, 0x08, 0xde, 0x71, 0xaa, 0x2a, 0xab, 0x94,
+ 0x52, 0xee, 0x5c, 0x0c, 0xe4, 0x94, 0x1d, 0x97, 0x33, 0xa9, 0xc5, 0xca,
+ 0xc7, 0xab, 0xf0, 0x72, 0xf0, 0x99, 0x88, 0x71, 0x80, 0xa4, 0x5c, 0xde,
+ 0x28, 0x56, 0xd8, 0x53, 0x06, 0x18, 0x45, 0xc3, 0x1a, 0x0e, 0x0b, 0xa0,
+ 0x81, 0x9e, 0xec, 0x5a, 0xb4, 0x64, 0x3f, 0x45, 0x12, 0xbf, 0x56, 0x42,
+ 0x4c, 0xa6, 0xce, 0x27, 0x67, 0xff, 0xe1, 0xe9, 0xfb, 0xb7, 0xc7, 0x5f,
+ 0x5b, 0xd6, 0x21, 0x16, 0xe2, 0x2d, 0x36, 0x0c, 0x76, 0x1f, 0xfb, 0x91,
+ 0x6e, 0x29, 0x71, 0x2b, 0x40, 0x59, 0x23, 0x9e, 0x3e, 0xfa, 0x3f, 0x80,
+ 0x00, 0x29, 0x9e, 0x90, 0x83, 0x9c, 0xa9, 0x3a, 0xea, 0x2d, 0xe7, 0x6e,
+ 0xe8, 0xb0, 0xca, 0x71, 0x42, 0x45, 0x5a, 0x35, 0x8b, 0xb9, 0x05, 0x11,
+ 0x7a, 0x25, 0x72, 0x85, 0x58, 0x5b, 0xb3, 0xc6, 0x17, 0x73, 0x16, 0x4d,
+ 0x92, 0xfb, 0xd9, 0xf2, 0xe6, 0xf2, 0x1d, 0x40, 0xee, 0x04, 0xa1, 0x3d,
+ 0x91, 0x0b, 0x20, 0xc0, 0xe5, 0x4c, 0x89, 0x89, 0xd3, 0x87, 0xb6, 0x6b,
+ 0xfc, 0x66, 0x92, 0xd6, 0xd7, 0x3c, 0x50, 0x5c, 0x1a, 0x39, 0x23, 0xaa,
+ 0x11, 0x6b, 0x4b, 0x27, 0x64, 0xa8, 0x3b, 0x30, 0x8e, 0x05, 0xea, 0xba,
+ 0xf8, 0x90, 0x2d, 0x71, 0xe6, 0xf0, 0x49, 0x9a, 0x71, 0x9a, 0x22, 0x54,
+ 0x89, 0x58, 0x27, 0x7e, 0xf2, 0x9a, 0xc2, 0x32, 0xfb, 0xc4, 0x2f, 0x3f,
+ 0x63, 0xee, 0x37, 0x3f, 0x53, 0x54, 0xa4, 0xa4, 0x23, 0x81, 0x3f, 0xbe,
+ 0xf4, 0x92, 0xcf, 0x18, 0x27, 0xa8, 0x9b, 0x8e, 0x7d, 0xc4, 0xe4, 0x60,
+ 0xd9, 0xf8, 0xe3, 0x46, 0xbf, 0xbe, 0x9f, 0x8d, 0xca, 0xa9, 0xe6, 0x48,
+ 0x58, 0xae, 0x07, 0x7d, 0xc8, 0xaf, 0x7d, 0x97, 0x70, 0xa4, 0xb6, 0xf1,
+ 0xdc, 0x92, 0x0e, 0x2b, 0xe5, 0xfa, 0xcf, 0xa5, 0x8d, 0x10, 0x1e, 0xd2,
+ 0x51, 0x80, 0x86, 0x87, 0x64, 0x3c, 0x57, 0x65, 0x94, 0x4a, 0x2c, 0x66,
+ 0xfb, 0x61, 0xa6, 0xda, 0x43, 0xa7, 0x88, 0x5f, 0xb9, 0x20, 0x0f, 0x07,
+ 0xca, 0x89, 0x18, 0x75, 0x67, 0x5d, 0xc8, 0x2f, 0x30, 0x40, 0x7a, 0x9b,
+ 0x7f, 0x21, 0x00, 0x7a, 0x8f, 0x8a, 0x86, 0xeb, 0x8f, 0x98, 0xae, 0xfe,
+ 0xc4, 0x0e, 0x45, 0x8e, 0xfb, 0xfd, 0x55, 0x3f, 0xae, 0x8f, 0x76, 0xa6,
+ 0xde, 0xec, 0xa7, 0xb4, 0xba, 0x12, 0x42, 0x3d, 0x89, 0xa4, 0xc1, 0x48,
+ 0xb4, 0x55, 0x6e, 0xac, 0x63, 0x92, 0x94, 0x12, 0x8b, 0x9a, 0x81, 0xfa,
+ 0xb4, 0xe0, 0xf4, 0x3f, 0x49, 0x8e, 0x62, 0x97, 0xa4, 0xdd, 0x88, 0x9e,
+ 0xc4, 0xf9, 0xa3, 0xc5, 0xa2, 0xa4, 0xee, 0x2e, 0xd3, 0x6a, 0x15, 0xce,
+ 0x3f, 0x2b, 0x97, 0x99, 0xf7, 0x1a, 0x39, 0xf1, 0x60, 0x09, 0x67, 0xe2,
+ 0x38, 0xe1, 0x4f, 0x41, 0x97, 0x20, 0x0a, 0x1a, 0x29, 0xe6, 0xe9, 0x9a,
+ 0xe0, 0xdf, 0xbf, 0x96, 0xa2, 0x65, 0xe6, 0x3c, 0x0b, 0xa9, 0x89, 0x30,
+ 0xfd, 0xbd, 0xd8, 0x11, 0xf7, 0x5b, 0x23, 0x70, 0xd5, 0x3a, 0x39, 0x38,
+ 0x3f, 0x32, 0x9a, 0xed, 0x55, 0x01, 0x3a, 0x89, 0xa2, 0xd1, 0xfc, 0xb7,
+ 0xac, 0x90, 0x3a, 0x69, 0x85, 0x9e, 0x0f, 0xfa, 0xe0, 0xad, 0xf7, 0x26,
+ 0x6d, 0x26, 0x01, 0x06, 0x70, 0xaa, 0xb5, 0xdb, 0x72, 0x63, 0xa5, 0x09,
+ 0x86, 0xd4, 0x21, 0x46, 0x03, 0xde, 0x52, 0x14, 0x22, 0x31, 0x9f, 0x2a,
+ 0x95, 0x22, 0xf8, 0x2c, 0x10, 0xeb, 0x3e, 0x37, 0xb0, 0xce, 0x35, 0x4e,
+ 0xb5, 0xcb, 0x1a, 0xf8, 0xbb, 0x72, 0x68, 0xca, 0xb7, 0x5a, 0x61, 0x4f,
+ 0xb7, 0x9d, 0x7a, 0x71, 0x97, 0xd1, 0xdf, 0x71, 0xcf, 0x90, 0x2e, 0xd2,
+ 0xd5, 0x0b, 0x32, 0x0b, 0x86, 0x67, 0xef, 0xf5, 0xc4, 0x53, 0x7e, 0x39,
+ 0x5b, 0xef, 0x3a, 0x9b, 0xce, 0xd9, 0x31, 0x2d, 0xa4, 0x3d, 0xe2, 0xd7,
+ 0x61, 0x73, 0x60, 0xb2, 0x66, 0xab, 0x91, 0x02, 0x2e, 0x3c, 0x22, 0x62,
+ 0xa3, 0x4f, 0xac, 0x00, 0xf8, 0xf2, 0x29, 0xea, 0xdb, 0xfd, 0xa3, 0x1d,
+ 0xad, 0xeb, 0xc3, 0x9a, 0x57, 0xe5, 0xde, 0x2c, 0xa9, 0x12, 0xd1, 0x51,
+ 0x2f, 0x06, 0xf4, 0x21, 0x88, 0x54, 0xc4, 0x4c, 0xe9, 0x2f, 0xf8, 0x31,
+ 0x50, 0x6f, 0xca, 0x4c, 0x0a, 0xa9, 0x63, 0xd9, 0xae, 0x4a, 0x89, 0xa9,
+ 0xba, 0x8e, 0x70, 0x60, 0x0f, 0x12, 0x7a, 0xe4, 0xab, 0xc6, 0xfd, 0x6f,
+ 0xb7, 0xb5, 0xba, 0x38, 0xf9, 0x6f, 0x28, 0xd7, 0x57, 0x0f, 0x7c, 0x9d,
+ 0xb5, 0xca, 0x91, 0xdb, 0xa4, 0x9e, 0xf5, 0xfe, 0xba, 0x99, 0x8b, 0x8d,
+ 0xe9, 0xd4, 0x09, 0x7c, 0x7d, 0x8c, 0x56, 0x15, 0xf9, 0x6f, 0x4e, 0x61,
+ 0x12, 0xd9, 0x45, 0x35, 0x36, 0xee, 0x5b, 0xd9, 0x08, 0x54, 0xb5, 0x8e,
+ 0x92, 0x75, 0x2c, 0x07, 0x17, 0x32, 0x3a, 0x00, 0x12, 0xb8, 0xc9, 0x6b,
+ 0x0d, 0x3e, 0x9a, 0xbd, 0x3d, 0x66, 0x4c, 0x44, 0xc3, 0xdc, 0x01, 0x59,
+ 0x33, 0xf6, 0xa6, 0x32, 0x1b, 0x5f, 0x97, 0x8c, 0xa9, 0x35, 0x93, 0xe6,
+ 0x25, 0x65, 0xae, 0x27, 0xff, 0x4b, 0xf6, 0xc0, 0xb7, 0x2e, 0xbf, 0x8e,
+ 0x36, 0xc2, 0x80, 0x29, 0x23, 0x07, 0x6e, 0x43, 0x1c, 0xfd, 0x70, 0x71,
+ 0x7e, 0x90, 0x7c, 0x73, 0x74, 0xf0, 0xe6, 0xe8, 0x7c, 0xd8, 0xb9, 0xf4,
+ 0x05, 0xfe, 0xc1, 0x1a, 0x1a, 0x39, 0x81, 0xa1, 0x1a, 0x2b, 0x47, 0x00,
+ 0x6c, 0xa2, 0x74, 0xa6, 0x52, 0xcf, 0x6c, 0x1e, 0x3a, 0x48, 0xe6, 0x7c,
+ 0x90, 0x41, 0xc4, 0xd1, 0x02, 0xf0, 0x19, 0xd7, 0x10, 0x36, 0xb6, 0x8d,
+ 0xb1, 0x91, 0x50, 0x04, 0x62, 0x50, 0x97, 0xb9, 0x9f, 0xdc, 0xe2, 0x68,
+ 0xf5, 0xdc, 0x65, 0x32, 0x29, 0x35, 0x6f, 0xaf, 0xbd, 0x72, 0xdf, 0xb8,
+ 0xd4, 0x6c, 0x4f, 0x6c, 0xc9, 0x25, 0x23, 0x5e, 0xc3, 0xf5, 0x1f, 0xfa,
+ 0xe6, 0xbb, 0x7d, 0x33, 0xf9, 0x7d, 0xe2, 0x5d, 0xbc, 0xcf, 0xea, 0xf5,
+ 0x8e, 0x0b, 0xb0, 0xfd, 0x79, 0xc8, 0xe8, 0xab, 0xf0, 0x24, 0x7d, 0x13,
+ 0x6d, 0x89, 0x4e, 0xd7, 0x94, 0xca, 0x25, 0x75, 0x2d, 0x08, 0x5c, 0xaa,
+ 0x9e, 0x92, 0x2c, 0x27, 0x28, 0xc8, 0x44, 0x11, 0x80, 0x92, 0x33, 0x33,
+ 0x05, 0x0f, 0x86, 0x8e, 0xc8, 0x10, 0xa0, 0xeb, 0x98, 0xb3, 0xc7, 0x97,
+ 0xfa, 0x94, 0xa9, 0x97, 0xd9, 0x63, 0x66, 0xba, 0x25, 0x0f, 0xf9, 0xf7,
+ 0x03, 0x02, 0x20, 0x82, 0xc1, 0xaf, 0x5b, 0xf1, 0x51, 0x71, 0x86, 0x4a,
+ 0x09, 0x47, 0x69, 0x8e, 0xfa, 0x60, 0xf7, 0xbc, 0x42, 0xf7, 0xe9, 0x93,
+ 0x5a, 0x30, 0x44, 0xde, 0x65, 0x14, 0x18, 0x19, 0xf5, 0xf0, 0x6f, 0x72,
+ 0x0d, 0x5d, 0x7a, 0x47, 0xf5, 0x55, 0x2f, 0x6d, 0xc7, 0xdf, 0xcc, 0xa8,
+ 0xd4, 0x06, 0xf4, 0xb8, 0x7d, 0x2e, 0x4b, 0xbe, 0x29, 0x6b, 0xdc, 0x05,
+ 0xe1, 0xe3, 0x74, 0xc9, 0xc7, 0xa6, 0x1f, 0x6f, 0x48, 0x7c, 0xcb, 0xf2,
+ 0xb9, 0xae, 0xad, 0x69, 0xf6, 0xd3, 0xd9, 0xc1, 0xc5, 0x37, 0x88, 0xae,
+ 0x62, 0x0b, 0xbf, 0x01, 0xb9, 0x89, 0xc6, 0xd4, 0xc2, 0xec, 0x29, 0x6b,
+ 0xc0, 0xb1, 0xfe, 0xab, 0x1c, 0x8a, 0xaa, 0x4f, 0x22, 0x7a, 0x97, 0x33,
+ 0x10, 0x69, 0xca, 0x75, 0x8b, 0x21, 0xa3, 0x5b, 0x65, 0x19, 0x01, 0x7d,
+ 0xb7, 0xa9, 0x71, 0x16, 0x6f, 0xb9, 0xc1, 0x39, 0xeb, 0x1b, 0x3c, 0x26,
+ 0x6c, 0x7a, 0x52, 0xe6, 0xc8, 0xe2, 0xf1, 0x49, 0x82, 0xf1, 0x0b, 0x4a,
+ 0x4a, 0xe6, 0x00, 0xd4, 0xa4, 0x8c, 0x53, 0x14, 0x7a, 0x47, 0xfa, 0xcb,
+ 0xd9, 0xfd, 0x20, 0xe4, 0xca, 0x49, 0xbe, 0x5a, 0x34, 0x6d, 0xb1, 0xd2,
+ 0xa1, 0x2a, 0xb6, 0x9a, 0x65, 0x55, 0x96, 0x8d, 0xd7, 0x07, 0x68, 0x3f,
+ 0x69, 0x23, 0x27, 0x9a, 0xb9, 0x28, 0xb9, 0x2f, 0xd4, 0x54, 0x21, 0x7a,
+ 0xb7, 0xaf, 0x18, 0xa6, 0xa3, 0xba, 0x9c, 0x2e, 0x1a, 0x0f, 0x7d, 0xfd,
+ 0xcb, 0xfa, 0xec, 0x75, 0x7a, 0xf3, 0x78, 0xa0, 0xbc, 0x9c, 0x05, 0xb3,
+ 0xc9, 0x19, 0x4b, 0xdf, 0xa8, 0x97, 0x08, 0x36, 0x56, 0x65, 0xd1, 0x2e,
+ 0x09, 0x07, 0xa0, 0xf7, 0xd6, 0xda, 0xda, 0x50, 0x17, 0x9b, 0x98, 0x59,
+ 0xc3, 0x45, 0xff, 0x1e, 0xda, 0x24, 0xf5, 0x81, 0x83, 0x05, 0x63, 0xf3,
+ 0x17, 0xe5, 0x6b, 0xcb, 0x78, 0x4d, 0x21, 0xc2, 0x79, 0x8d, 0xf3, 0xba,
+ 0x3d, 0x28, 0xfc, 0xca, 0x86, 0x2b, 0x34, 0x15, 0xec, 0xa2, 0x54, 0x8a,
+ 0x7e, 0x09, 0xd7, 0xb9, 0x0d, 0xd1, 0x4a, 0x5c, 0x8f, 0x92, 0x41, 0xd3,
+ 0x25, 0xa0, 0xd5, 0xb0, 0x2d, 0x1c, 0x97, 0x3a, 0xb9, 0xfd, 0xbf, 0xb7,
+ 0x93, 0x1e, 0x17, 0x2b, 0x88, 0xf0, 0xeb, 0x2c, 0x92, 0xff, 0x0f, 0x80,
+ 0x57, 0xc2, 0xc4, 0x4b, 0x6d, 0x0e, 0xda, 0x5c, 0xaf, 0x03, 0x63, 0x42,
+ 0x5d, 0x57, 0x63, 0xb7, 0xfb, 0x8d, 0x76, 0x90, 0xdd, 0x92, 0xfd, 0xa2,
+ 0x36, 0x82, 0x30, 0x7b, 0x70, 0x41, 0x6a, 0xcb, 0x95, 0x04, 0x66, 0x8c,
+ 0x4b, 0xeb, 0xd5, 0xa3, 0xf2, 0xaa, 0x5c, 0x83, 0x94, 0xd5, 0x7a, 0x54,
+ 0x57, 0xd2, 0xb0, 0xe9, 0x5a, 0xd2, 0xb2, 0xdb, 0xa9, 0x3a, 0x21, 0xff,
+ 0xa9, 0x49, 0x47, 0x02, 0xec, 0x92, 0xed, 0xef, 0x55, 0xec, 0x93, 0xda,
+ 0xc7, 0x48, 0x6d, 0x12, 0xc4, 0x29, 0xa3, 0xe9, 0x34, 0x1c, 0xa9, 0x9d,
+ 0x54, 0x2d, 0x80, 0xa2, 0x95, 0x60, 0xa0, 0x14, 0x92, 0x10, 0x42, 0x92,
+ 0x11, 0xdd, 0x30, 0xe7, 0x57, 0x53, 0x6d, 0x49, 0xb5, 0x64, 0xf4, 0x4a,
+ 0xd5, 0x34, 0x0e, 0xbb, 0x52, 0xae, 0xfb, 0x72, 0xf7, 0x23, 0x5f, 0x1e,
+ 0x91, 0x39, 0xaa, 0xa8, 0xe9, 0xab, 0x04, 0x3a, 0x24, 0x29, 0xf0, 0xcb,
+ 0xe0, 0x0d, 0x1f, 0x90, 0xe2, 0x10, 0x9b, 0x57, 0x94, 0xe5, 0x21, 0x2e,
+ 0x29, 0xa1, 0x1d, 0x81, 0xff, 0xeb, 0x3a, 0x17, 0x5c, 0x29, 0xcf, 0x7a,
+ 0xbb, 0xa8, 0x2a, 0x3c, 0x7c, 0x6b, 0x89, 0x1f, 0x55, 0xb5, 0xc0, 0x87,
+ 0x41, 0x78, 0x60, 0x06, 0x96, 0x00, 0x55, 0x2e, 0x91, 0x63, 0x3f, 0xfd,
+ 0x9b, 0x51, 0x18, 0x16, 0xeb, 0xfc, 0xc8, 0xaf, 0xfb, 0x9f, 0x24, 0x10,
+ 0x6b, 0x91, 0x70, 0x02, 0x89, 0xb0, 0xba, 0xd1, 0x85, 0xb2, 0xb7, 0x0b,
+ 0xc3, 0x94, 0x31, 0x1b, 0xa0, 0x14, 0xd5, 0x16, 0x5a, 0x75, 0xd9, 0xbc,
+ 0xc9, 0xdf, 0xea, 0xc9, 0x2c, 0xd9, 0xe4, 0x78, 0x09, 0x31, 0xb3, 0x5e,
+ 0xe8, 0xc5, 0x9d, 0x5a, 0x05, 0xe1, 0x38, 0xe1, 0xba, 0x6e, 0xaa, 0xc5,
+ 0xb8, 0x69, 0x97, 0x85, 0x75, 0x3b, 0xcc, 0x16, 0x9f, 0xe3, 0x39, 0x2e,
+ 0x7d, 0xdb, 0xfe, 0xf8, 0x4c, 0xcc, 0x7b, 0xb6, 0x3e, 0xa8, 0x67, 0x9b,
+ 0x69, 0x2b, 0xc9, 0xc5, 0x96, 0x24, 0xf5, 0xbf, 0xbb, 0x65, 0x77, 0x59,
+ 0xff, 0xcc, 0x26, 0xbf, 0xb7, 0x99, 0x8a, 0x90, 0x9d, 0xe0, 0xdd, 0xbd,
+ 0xa2, 0x88, 0x41, 0xf1, 0xa8, 0x12, 0xe1, 0x49, 0x84, 0x5a, 0x43, 0x2e,
+ 0xcb, 0x35, 0xcb, 0x65, 0x68, 0xba, 0xd4, 0x17, 0xa8, 0x2a, 0x47, 0x7f,
+ 0xb7, 0xcd, 0x44, 0x6a, 0xe1, 0x1f, 0x5b, 0xf4, 0xaa, 0x76, 0x7c, 0x88,
+ 0x1d, 0x9c, 0x2a, 0xd8, 0x94, 0xac, 0x7e, 0x28, 0xbc, 0x6e, 0x32, 0x7f,
+ 0x83, 0xe4, 0x8d, 0x1c, 0x0a, 0xf9, 0x42, 0x57, 0x9d, 0x08, 0xef, 0xc6,
+ 0x33, 0x66, 0x2d, 0x09, 0xf6, 0xd1, 0x1b, 0xf5, 0xa9, 0x42, 0xe4, 0x60,
+ 0x6e, 0xc8, 0xb2, 0xd1, 0x45, 0x32, 0xf3, 0xaa, 0x9f, 0x30, 0x5d, 0xa0,
+ 0x11, 0x6f, 0x4c, 0xb3, 0x9d, 0x0d, 0xaf, 0x6a, 0xd7, 0x26, 0x83, 0xfe,
+ 0x4b, 0x58, 0x3f, 0x96, 0x57, 0x90, 0xbd, 0x17, 0x04, 0x6e, 0xdb, 0x8a,
+ 0x74, 0xc5, 0x34, 0xf1, 0x4b, 0x3b, 0xb3, 0xfb, 0x72, 0x6f, 0xb0, 0xfb,
+ 0xfc, 0xc5, 0x60, 0x67, 0xb0, 0xbb, 0x43, 0xf2, 0x85, 0xba, 0xe2, 0x75,
+ 0x8e, 0xe7, 0x25, 0xf2, 0xa9, 0xd6, 0x7b, 0xe1, 0x37, 0xdf, 0x1f, 0x5d,
+ 0x7c, 0x7f, 0x7a, 0xfe, 0x6d, 0x72, 0xfc, 0xfe, 0xe2, 0xe8, 0xfc, 0xed,
+ 0xc1, 0xe1, 0x63, 0xb9, 0xf5, 0x7d, 0xb7, 0xb5, 0x57, 0xc2, 0x3c, 0x73,
+ 0x13, 0x13, 0xfa, 0x06, 0xdd, 0x9c, 0x65, 0xcd, 0xf5, 0xce, 0xfe, 0xee,
+ 0x4a, 0xf6, 0xe8, 0x88, 0x7b, 0xd0, 0xbd, 0xaf, 0x83, 0xda, 0xa5, 0x41,
+ 0x2d, 0x6f, 0xc5, 0xb2, 0x28, 0x0e, 0x19, 0x5b, 0x65, 0x71, 0xb9, 0x10,
+ 0xf3, 0x28, 0x8a, 0x04, 0xf2, 0x54, 0x11, 0xec, 0x23, 0xe6, 0xa9, 0xe5,
+ 0x12, 0x6f, 0xc2, 0x07, 0x23, 0x18, 0x74, 0x91, 0xb9, 0x6b, 0x5c, 0x2e,
+ 0xbc, 0x11, 0x77, 0x0a, 0x33, 0xcf, 0x4e, 0xa0, 0xe2, 0xa9, 0x54, 0x96,
+ 0xdc, 0x35, 0xda, 0x2d, 0x52, 0xb3, 0x94, 0xb9, 0x01, 0x27, 0x36, 0x4f,
+ 0xc4, 0x12, 0x06, 0xac, 0x25, 0x9e, 0x9e, 0x8e, 0xbe, 0xb6, 0x2b, 0xbe,
+ 0xfb, 0xf0, 0xd9, 0x0e, 0x4d, 0x6a, 0xad, 0xb8, 0x66, 0x0c, 0xac, 0xe5,
+ 0x1a, 0x3d, 0x94, 0x8e, 0xe0, 0x34, 0x78, 0xbd, 0xe1, 0x4f, 0x41, 0xa1,
+ 0x22, 0x3e, 0x33, 0x30, 0x39, 0xb6, 0xc8, 0x8c, 0xf9, 0x8e, 0x42, 0xee,
+ 0x04, 0xeb, 0x7f, 0x5a, 0x81, 0x82, 0x5a, 0xaf, 0x5b, 0x7c, 0x82, 0x09,
+ 0xd7, 0x28, 0xf1, 0x5f, 0x67, 0x55, 0x1b, 0xe8, 0xcc, 0x49, 0x95, 0xde,
+ 0xa2, 0xda, 0x4a, 0xee, 0xd8, 0x41, 0xd7, 0xda, 0xc5, 0xb6, 0x48, 0x71,
+ 0x72, 0x73, 0x9e, 0x9c, 0x1d, 0xbd, 0xeb, 0x6b, 0xc9, 0x63, 0xf3, 0x77,
+ 0x76, 0x46, 0x29, 0x15, 0x24, 0xe7, 0xf6, 0xcc, 0xb3, 0x42, 0xb1, 0x34,
+ 0x90, 0x89, 0x02, 0xfe, 0xf1, 0x07, 0x40, 0x87, 0xc6, 0x92, 0x45, 0x0a,
+ 0x64, 0x54, 0x31, 0x97, 0x9c, 0x5b, 0xd8, 0x65, 0xd0, 0xa4, 0xf5, 0x14,
+ 0xc0, 0x72, 0xb2, 0x69, 0x41, 0xba, 0xf4, 0x3d, 0x20, 0x51, 0x81, 0x1a,
+ 0xb0, 0x30, 0x81, 0x52, 0xab, 0xff, 0x9d, 0x7d, 0x7b, 0x38, 0xfc, 0xe3,
+ 0xee, 0x9e, 0x74, 0x67, 0x4b, 0xad, 0x02, 0x92, 0x55, 0xdd, 0xfc, 0x79,
+ 0x88, 0x6b, 0xbf, 0x8f, 0x9a, 0x62, 0x8d, 0x03, 0x8e, 0xc5, 0xd8, 0xb4,
+ 0x89, 0x41, 0x5b, 0xad, 0xcc, 0x20, 0x20, 0xbf, 0xee, 0xad, 0x8a, 0x69,
+ 0x4b, 0xf8, 0x52, 0x48, 0x04, 0xd5, 0x9e, 0xa4, 0xde, 0x52, 0x63, 0xa1,
+ 0x7e, 0x69, 0xa1, 0x3f, 0xe2, 0x96, 0xa5, 0xb5, 0x8d, 0x5a, 0x92, 0xac,
+ 0x18, 0xce, 0xd2, 0x5d, 0x73, 0x9a, 0x6f, 0xf7, 0x5b, 0xa2, 0x74, 0x95,
+ 0x9b, 0x5d, 0xb9, 0x7b, 0xdc, 0x67, 0x70, 0x00, 0x04, 0xbd, 0x3e, 0xd1,
+ 0x8a, 0x6e, 0x85, 0x2b, 0x59, 0x42, 0x4f, 0x9f, 0x9a, 0x85, 0x32, 0x27,
+ 0x8b, 0x29, 0x16, 0x48, 0x28, 0x94, 0x53, 0x32, 0x5d, 0xec, 0x23, 0x6f,
+ 0x2a, 0x2a, 0xf2, 0x32, 0x67, 0x1c, 0xe9, 0xfb, 0x41, 0xf2, 0x4d, 0x56,
+ 0x50, 0x8e, 0x3b, 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40, 0x2a, 0x29,
+ 0x89, 0x12, 0x7b, 0x27, 0x59, 0x2a, 0xf4, 0x99, 0x46, 0xd6, 0xd5, 0x6c,
+ 0xe1, 0x6a, 0x79, 0xa9, 0x94, 0xd0, 0x79, 0xc2, 0xf5, 0x69, 0x79, 0x29,
+ 0x98, 0xcf, 0x99, 0x1a, 0xd8, 0x6c, 0x73, 0x60, 0xa2, 0x7a, 0x01, 0x9a,
+ 0x93, 0x63, 0x8e, 0x58, 0x93, 0x78, 0x95, 0xaf, 0xc1, 0x7c, 0x4d, 0xde,
+ 0x42, 0xb6, 0xb8, 0x9c, 0x50, 0x99, 0x54, 0xd7, 0xe4, 0xfa, 0xa8, 0xcd,
+ 0x75, 0x93, 0x16, 0xe3, 0xfb, 0xc1, 0xc4, 0xe8, 0xb2, 0xe4, 0x3c, 0x1b,
+ 0x2c, 0x3e, 0x6d, 0x7b, 0xc7, 0x94, 0x44, 0xfe, 0x35, 0xa7, 0xf3, 0xb7,
+ 0x1d, 0xdf, 0x5a, 0xba, 0x38, 0x64, 0xf9, 0x4a, 0x5b, 0x67, 0x82, 0xb6,
+ 0x04, 0xa3, 0x22, 0xf5, 0x78, 0x2e, 0xe5, 0xc3, 0x3a, 0x4a, 0x2c, 0x19,
+ 0x31, 0xb5, 0x30, 0x98, 0x67, 0xb3, 0x7d, 0x9b, 0x8d, 0xac, 0xf2, 0x41,
+ 0x0a, 0x60, 0x58, 0xc3, 0xc2, 0x73, 0xd2, 0x16, 0xd9, 0xd5, 0x54, 0x14,
+ 0x0a, 0xdf, 0x74, 0xb1, 0x4d, 0x44, 0x52, 0x40, 0xd8, 0xe0, 0x91, 0xe2,
+ 0x47, 0xd0, 0xd8, 0xcd, 0x3e, 0x6c, 0x04, 0x52, 0xcb, 0x0f, 0x57, 0xa4,
+ 0xd0, 0xbb, 0x46, 0x84, 0xe4, 0x03, 0xbc, 0xc8, 0xa4, 0x0c, 0x8b, 0x8b,
+ 0x47, 0x91, 0x48, 0x12, 0x7e, 0x22, 0xce, 0x56, 0xec, 0x10, 0x30, 0xae,
+ 0x0b, 0x2a, 0x1a, 0xc1, 0x4f, 0x2d, 0x0f, 0xcc, 0x67, 0xc5, 0xfc, 0xfa,
+ 0xe6, 0x09, 0x79, 0xbc, 0x2f, 0x4e, 0x86, 0x1a, 0x15, 0x29, 0xb2, 0x5b,
+ 0x6f, 0x6b, 0x71, 0x95, 0x00, 0xd9, 0x7f, 0xe4, 0x00, 0x62, 0xf6, 0x63,
+ 0xb0, 0x1d, 0xa0, 0x27, 0x2c, 0x15, 0x5c, 0x98, 0xcc, 0x25, 0x3f, 0xe8,
+ 0x24, 0x08, 0x8c, 0x98, 0xba, 0xa2, 0x95, 0xcc, 0x58, 0x19, 0xb2, 0xa4,
+ 0x2c, 0x44, 0xb3, 0x67, 0x94, 0xa5, 0x27, 0xbd, 0xa4, 0xbf, 0x07, 0xaa,
+ 0x9b, 0xdd, 0xf6, 0x24, 0xa6, 0x0d, 0x33, 0xfa, 0x51, 0x1b, 0xa6, 0x25,
+ 0x6d, 0x45, 0xc4, 0xc1, 0xa6, 0x6c, 0xe9, 0x1b, 0xf3, 0x3e, 0xfd, 0xb1,
+ 0x27, 0x03, 0xba, 0xd9, 0x05, 0x62, 0x9b, 0x29, 0x26, 0xa7, 0xf7, 0xa1,
+ 0xca, 0xb0, 0xb7, 0x72, 0x55, 0x91, 0x1b, 0x71, 0x9b, 0x5b, 0xae, 0x67,
+ 0xae, 0x6f, 0x00, 0x57, 0xa8, 0xb0, 0x77, 0x6a, 0x07, 0xcc, 0x14, 0x8a,
+ 0x93, 0xbb, 0x48, 0x6e, 0xf6, 0x34, 0xd6, 0x4c, 0xbf, 0xd1, 0x79, 0x63,
+ 0x67, 0xbd, 0x13, 0x22, 0x41, 0xda, 0x22, 0xa1, 0xdc, 0xbc, 0x5d, 0x4b,
+ 0x59, 0x4f, 0x66, 0xcf, 0x1a, 0x29, 0xd2, 0x92, 0x32, 0x65, 0x21, 0x6e,
+ 0x05, 0x4e, 0x79, 0x67, 0xea, 0x78, 0x32, 0xe0, 0x3d, 0x98, 0x13, 0x90,
+ 0xdf, 0x1e, 0x22, 0xf2, 0xb8, 0xb0, 0x89, 0x12, 0xe2, 0xca, 0x07, 0x9b,
+ 0x1e, 0x96, 0xff, 0x3a, 0x67, 0xc7, 0x04, 0xb0, 0xa6, 0xb8, 0xce, 0xcd,
+ 0xc9, 0xdf, 0x48, 0xcc, 0x61, 0x5a, 0x90, 0xc4, 0x6f, 0x6c, 0x59, 0xb5,
+ 0x21, 0xb3, 0x70, 0x6e, 0xf8, 0x62, 0xae, 0xff, 0x05, 0x0d, 0xa5, 0xde,
+ 0x70, 0x63, 0x17, 0x36, 0xf2, 0xf6, 0x40, 0x24, 0xce, 0xa1, 0x85, 0xc4,
+ 0xce, 0x2a, 0x2d, 0x95, 0xbe, 0x71, 0x74, 0x47, 0x3a, 0xce, 0x86, 0x7c,
+ 0x89, 0x7f, 0xcd, 0x39, 0xfd, 0x98, 0xa3, 0xb3, 0xe3, 0xf7, 0x5c, 0xfd,
+ 0xdb, 0x9e, 0x85, 0x8c, 0x58, 0x12, 0xd7, 0xb8, 0xcc, 0x3c, 0xfa, 0x93,
+ 0x2a, 0x5d, 0x3b, 0x3b, 0x8e, 0x68, 0xcf, 0xd0, 0x1e, 0xcf, 0xe5, 0x5b,
+ 0xe7, 0x0b, 0xfe, 0xfa, 0x06, 0xdd, 0x73, 0x75, 0x3d, 0xdd, 0xe8, 0x54,
+ 0xb5, 0xb5, 0x6b, 0xd2, 0xb9, 0x50, 0xac, 0x47, 0x6a, 0x3c, 0x71, 0x0a,
+ 0x7e, 0x92, 0x48, 0x2b, 0x2d, 0x39, 0xd7, 0xeb, 0x64, 0x3a, 0xfa, 0xae,
+ 0xf0, 0x3f, 0x26, 0x83, 0x6d, 0xf3, 0xc1, 0x7a, 0x5b, 0x5f, 0x9c, 0x7f,
+ 0x1a, 0xd7, 0xe6, 0x86, 0xa3, 0xb4, 0xde, 0x1f, 0x61, 0x90, 0x63, 0x39,
+ 0x4c, 0x8f, 0x27, 0x3f, 0x27, 0xfd, 0xf1, 0x14, 0xe3, 0x4b, 0x50, 0x3e,
+ 0xfb, 0x47, 0xb3, 0xf2, 0xf4, 0xc4, 0xcf, 0x76, 0x0d, 0xdf, 0xe6, 0x74,
+ 0xde, 0xee, 0x7a, 0x3a, 0xf4, 0x53, 0x36, 0x18, 0x98, 0x8a, 0x36, 0x39,
+ 0x98, 0xdc, 0x50, 0xd2, 0xdd, 0x44, 0xfe, 0x49, 0xe3, 0x39, 0x2a, 0x50,
+ 0x79, 0x14, 0x23, 0x4d, 0x47, 0x5c, 0x68, 0xfc, 0xbb, 0xdc, 0x18, 0x1d,
+ 0x87, 0x1d, 0xfd, 0x82, 0xf2, 0xff, 0xa8, 0x83, 0x78, 0xcb, 0xfb, 0xa5,
+ 0x26, 0x73, 0xf4, 0x24, 0x67, 0xc1, 0x41, 0x4b, 0x49, 0x3a, 0xd3, 0xd2,
+ 0x0d, 0x92, 0xaf, 0x28, 0xc6, 0x59, 0x65, 0x1e, 0x51, 0xab, 0x5c, 0x7c,
+ 0x5c, 0xa1, 0x8f, 0x16, 0x23, 0x65, 0xfe, 0x89, 0x81, 0x1d, 0x49, 0x90,
+ 0x03, 0x63, 0xc7, 0x64, 0x7f, 0xd3, 0x1e, 0x1c, 0xfa, 0xa5, 0x29, 0xed,
+ 0x66, 0x28, 0x9a, 0x2f, 0x91, 0x04, 0x43, 0xf1, 0x28, 0x24, 0xb9, 0x87,
+ 0x7c, 0x61, 0x4e, 0x32, 0x4d, 0xec, 0x2f, 0x7d, 0x36, 0x15, 0xf5, 0x1c,
+ 0xa3, 0x29, 0xd5, 0x08, 0xec, 0x96, 0xc0, 0x1d, 0xee, 0x7a, 0x7d, 0x78,
+ 0x6d, 0x44, 0x73, 0x66, 0xbb, 0x3a, 0x64, 0x97, 0x9e, 0x76, 0x71, 0x48,
+ 0x77, 0x94, 0x2e, 0x82, 0xfd, 0xa5, 0x66, 0x47, 0x42, 0x0b, 0xdd, 0x66,
+ 0xd9, 0x65, 0xf7, 0x2e, 0xcf, 0x6e, 0x7b, 0x08, 0x94, 0xd4, 0x38, 0xfc,
+ 0xf0, 0x8e, 0xaa, 0x90, 0xa0, 0x20, 0xf5, 0xc5, 0xf9, 0xc1, 0xfb, 0xe1,
+ 0x5b, 0x76, 0x8d, 0x5f, 0x94, 0x5e, 0xa9, 0x6b, 0x89, 0x2b, 0x68, 0xfc,
+ 0xd8, 0x32, 0xba, 0xdd, 0x72, 0x69, 0x0c, 0xc5, 0xd3, 0x4b, 0x1d, 0xec,
+ 0x5e, 0x97, 0x1a, 0x9f, 0x8b, 0x68, 0xd3, 0x6c, 0x50, 0xd7, 0x36, 0x87,
+ 0x5b, 0x56, 0x11, 0xaa, 0xfd, 0xfa, 0x69, 0xae, 0x08, 0xbd, 0x92, 0x38,
+ 0xcb, 0x43, 0x34, 0x2d, 0x87, 0xda, 0x19, 0xfd, 0x29, 0xdf, 0xbd, 0x4b,
+ 0x79, 0x43, 0x0f, 0x8d, 0xa9, 0xd8, 0x97, 0xa2, 0x32, 0x8e, 0x3a, 0xcd,
+ 0xb9, 0x53, 0xf9, 0xee, 0x15, 0xd6, 0x3d, 0xdb, 0xb8, 0x9f, 0xf7, 0xa9,
+ 0x4d, 0x6f, 0xfe, 0x79, 0x77, 0x2b, 0xde, 0xfc, 0xc5, 0x2f, 0x6d, 0x3e,
+ 0xde, 0x77, 0xb5, 0xcd, 0x5c, 0x4a, 0xd1, 0xe6, 0x9f, 0xf7, 0xb6, 0x56,
+ 0x8e, 0xc8, 0xcf, 0x8a, 0x74, 0xdf, 0x34, 0x6f, 0x50, 0x67, 0x93, 0xd7,
+ 0x7c, 0xcc, 0xac, 0xce, 0x64, 0x11, 0x3a, 0x1e, 0x35, 0x70, 0x8b, 0xb0,
+ 0x83, 0x60, 0xdb, 0x56, 0x53, 0x77, 0x81, 0x37, 0xc9, 0x2e, 0x39, 0xfe,
+ 0x9f, 0x47, 0x3e, 0xe3, 0x63, 0xb1, 0xd1, 0xf8, 0x57, 0x14, 0xb1, 0x03,
+ 0xd4, 0xe5, 0x00, 0xdf, 0xde, 0x5b, 0xf1, 0x6d, 0x37, 0x3a, 0xcf, 0x2d,
+ 0x41, 0x51, 0x6c, 0x82, 0xc1, 0x29, 0x71, 0xb5, 0x7c, 0xc7, 0x7e, 0x7b,
+ 0xd5, 0xf7, 0x2e, 0x8e, 0xdf, 0x1d, 0x11, 0xc1, 0xf5, 0x9b, 0x63, 0xe2,
+ 0x89, 0x1b, 0x0a, 0x53, 0xa3, 0x7a, 0x20, 0x2c, 0x79, 0xae, 0x5f, 0xd8,
+ 0x84, 0xc3, 0xbb, 0x16, 0x6d, 0x66, 0x25, 0x87, 0x5d, 0x09, 0xfa, 0xb4,
+ 0x60, 0xa0, 0x6b, 0xcd, 0xb4, 0x3c, 0xbe, 0xec, 0xbf, 0x2b, 0x27, 0xb0,
+ 0x92, 0xfb, 0x43, 0x40, 0x05, 0xcd, 0x5b, 0xe6, 0x87, 0x1f, 0x8a, 0x59,
+ 0xeb, 0xc7, 0x83, 0x48, 0xa6, 0xee, 0xda, 0xb2, 0xfa, 0x39, 0xff, 0xd8,
+ 0xee, 0xf7, 0xa9, 0x33, 0x7d, 0x86, 0x75, 0x49, 0x70, 0xa7, 0xc5, 0xcf,
+ 0xa1, 0xa2, 0xc5, 0x4c, 0x50, 0x3e, 0xbd, 0x67, 0x20, 0x42, 0xea, 0xe0,
+ 0x63, 0x2e, 0x7b, 0xf3, 0x8a, 0x32, 0xc8, 0x9c, 0x8b, 0x8f, 0x9d, 0x78,
+ 0x6b, 0x3e, 0xcf, 0x28, 0x0c, 0xa9, 0xec, 0xd6, 0xe1, 0x9f, 0xa4, 0x1a,
+ 0x73, 0x39, 0xbf, 0xc7, 0x28, 0x6f, 0x5b, 0xd0, 0x8a, 0x68, 0x7c, 0xf5,
+ 0x1f, 0xfc, 0x4e, 0xab, 0x62, 0x94, 0xd0, 0x41, 0x7b, 0x3b, 0x50, 0x7e,
+ 0x22, 0x05, 0x96, 0x4e, 0x2b, 0xef, 0xba, 0x92, 0x6e, 0x6b, 0x21, 0x3a,
+ 0x8f, 0x83, 0xd4, 0xa3, 0x4c, 0x6d, 0xf7, 0xd3, 0xe7, 0x6b, 0x2d, 0x29,
+ 0xf5, 0xf5, 0x4d, 0x69, 0x83, 0x63, 0x46, 0xec, 0xcc, 0xdb, 0xf5, 0x8e,
+ 0xb3, 0x44, 0x93, 0xbc, 0x39, 0x87, 0x7f, 0xa3, 0xbf, 0x81, 0x12, 0x0a,
+ 0x79, 0x11, 0x19, 0x4c, 0xff, 0x97, 0x8f, 0x26, 0x08, 0xbd, 0x26, 0xeb,
+ 0x97, 0x44, 0x84, 0x41, 0x71, 0xac, 0x75, 0xee, 0x00, 0xf3, 0xc4, 0xf0,
+ 0xe6, 0x32, 0x17, 0x04, 0xc9, 0x35, 0x35, 0x24, 0xd9, 0xa8, 0xb6, 0xc8,
+ 0x58, 0xeb, 0x24, 0x67, 0xaf, 0x24, 0x09, 0xd2, 0xc5, 0x7c, 0x02, 0x50,
+ 0x06, 0xc3, 0x51, 0xff, 0x83, 0xf8, 0xab, 0xab, 0xfb, 0x64, 0x77, 0xaf,
+ 0x97, 0xec, 0xed, 0xec, 0xee, 0x45, 0xc6, 0xb0, 0xfe, 0x1f, 0x04, 0x8a,
+ 0xda, 0xc3, 0xaf, 0xd7, 0x1f, 0x3b, 0x0a, 0x97, 0xcf, 0x80, 0x9b, 0x44,
+ 0x32, 0x7f, 0x8d, 0xf0, 0xa1, 0xf8, 0x2c, 0x38, 0x93, 0x51, 0x04, 0x19,
+ 0xcc, 0x73, 0xb8, 0xb6, 0xd8, 0x49, 0xa8, 0xe5, 0x30, 0x6d, 0x95, 0xaf,
+ 0x09, 0x8a, 0xde, 0x70, 0x1d, 0x5a, 0x20, 0x5f, 0xac, 0xa7, 0x34, 0xad,
+ 0x50, 0xb5, 0xb3, 0xbd, 0x46, 0x79, 0xa3, 0xcb, 0x42, 0xd0, 0x1a, 0x5a,
+ 0x1b, 0xb3, 0xdf, 0xdf, 0x1c, 0x1f, 0x5e, 0x28, 0x35, 0xe1, 0x25, 0x29,
+ 0x4f, 0xd5, 0xfd, 0xe3, 0xea, 0x26, 0xae, 0x7c, 0x66, 0xb2, 0x7f, 0x9d,
+ 0x19, 0x35, 0xba, 0x18, 0x2d, 0xae, 0xf6, 0xff, 0x96, 0x56, 0x57, 0x65,
+ 0xf1, 0xd0, 0xf3, 0x13, 0x24, 0x94, 0xed, 0x1b, 0x09, 0xb5, 0xfb, 0x72,
+ 0xf7, 0x09, 0xf2, 0xbf, 0xa7, 0x39, 0x6a, 0xf7, 0x90, 0x80, 0xd8, 0x98,
+ 0x6d, 0x30, 0xc1, 0x06, 0xd2, 0x24, 0x2c, 0xab, 0x46, 0x31, 0xd9, 0xe0,
+ 0xeb, 0x3e, 0xf5, 0x9f, 0x9d, 0xc8, 0xb3, 0x9c, 0x7a, 0xbe, 0x21, 0xb9,
+ 0x0a, 0x1b, 0x94, 0xa6, 0xb9, 0x98, 0x6f, 0xb4, 0xd9, 0xdc, 0x1f, 0x18,
+ 0x2b, 0x7d, 0xc2, 0x96, 0x89, 0x3c, 0xb4, 0x1c, 0xf5, 0xc8, 0x20, 0xaa,
+ 0xb2, 0xf4, 0x93, 0xab, 0x8a, 0xec, 0xd8, 0x37, 0x34, 0xe4, 0x71, 0xfe,
+ 0xf6, 0x90, 0xc9, 0x46, 0x35, 0x5f, 0x0a, 0x53, 0x9d, 0x58, 0xd7, 0xd4,
+ 0x16, 0xf5, 0xf2, 0x81, 0xef, 0x53, 0x6e, 0xc3, 0xfe, 0x64, 0xf4, 0x88,
+ 0x87, 0xcc, 0xb9, 0x63, 0xb2, 0xb8, 0x83, 0x76, 0x95, 0x1c, 0x32, 0xd4,
+ 0x50, 0xea, 0x43, 0xcb, 0x1f, 0x6f, 0x72, 0xf5, 0x57, 0x8e, 0x38, 0x50,
+ 0xd7, 0xb4, 0xb0, 0xb4, 0x7a, 0x77, 0x4c, 0xbf, 0xa9, 0x20, 0xeb, 0x9b,
+ 0x83, 0x33, 0xcf, 0xd0, 0x85, 0x21, 0xe9, 0x9c, 0x7a, 0xf4, 0x1c, 0x19,
+ 0x3a, 0xa8, 0xb0, 0x2e, 0x85, 0x93, 0x7a, 0xce, 0x44, 0x69, 0x20, 0x27,
+ 0x49, 0x37, 0x02, 0x40, 0xbe, 0x94, 0xfb, 0x04, 0xfe, 0x27, 0x14, 0x1e,
+ 0x98, 0x4e, 0x52, 0x04, 0x42, 0xe5, 0x16, 0xa2, 0x0c, 0x88, 0xd3, 0x42,
+ 0xb3, 0x98, 0x7b, 0x9d, 0x2a, 0x0b, 0xe6, 0xc7, 0xf8, 0x0e, 0xae, 0xe8,
+ 0x33, 0xa3, 0x84, 0x83, 0xc6, 0x65, 0xf8, 0xe6, 0x5b, 0xea, 0xb1, 0x04,
+ 0x75, 0xa0, 0xb5, 0xa9, 0x2f, 0xdb, 0x46, 0xa2, 0xd4, 0x6a, 0x54, 0xe7,
+ 0x95, 0xfa, 0x16, 0xa9, 0xb9, 0x9b, 0x27, 0x03, 0xfe, 0x73, 0xcf, 0x56,
+ 0x22, 0xc6, 0x63, 0xc0, 0x79, 0x5e, 0x6a, 0x9d, 0xe3, 0x59, 0x46, 0x85,
+ 0x77, 0xf3, 0x7a, 0xe6, 0x60, 0x29, 0x97, 0xf2, 0xba, 0xab, 0x7e, 0x27,
+ 0x4a, 0x24, 0x85, 0x16, 0xd0, 0x0f, 0xf4, 0x36, 0x17, 0x5c, 0x97, 0xd9,
+ 0x65, 0x77, 0x89, 0xa4, 0xa3, 0x48, 0xde, 0x8d, 0x14, 0x39, 0xc1, 0x63,
+ 0x94, 0x5f, 0x7d, 0xaf, 0x4b, 0xc1, 0x37, 0x8d, 0x59, 0x86, 0xb4, 0xfe,
+ 0x64, 0x2e, 0x05, 0x86, 0x22, 0x98, 0x79, 0xcc, 0x25, 0x98, 0x4f, 0xee,
+ 0xab, 0x9c, 0x21, 0x41, 0xe4, 0x48, 0x03, 0xa3, 0x53, 0x6b, 0xeb, 0xf1,
+ 0x65, 0x4a, 0xb6, 0xf3, 0xb4, 0xce, 0x98, 0x2a, 0x11, 0x84, 0x40, 0x14,
+ 0xfb, 0xa3, 0xad, 0x07, 0x9b, 0x49, 0x31, 0xb5, 0x10, 0x67, 0xb4, 0x4b,
+ 0xf7, 0xf6, 0x9e, 0x3d, 0xeb, 0x25, 0xeb, 0xe4, 0x77, 0x44, 0x9f, 0x68,
+ 0x43, 0xbf, 0x85, 0xe0, 0x59, 0x8f, 0x16, 0xc3, 0xdd, 0xae, 0x2e, 0xc7,
+ 0xf4, 0x3f, 0x7a, 0x4f, 0x6b, 0x40, 0x5e, 0x48, 0x22, 0x0e, 0x75, 0x13,
+ 0x41, 0x56, 0x4b, 0x97, 0xc3, 0x3b, 0x8d, 0x7e, 0x77, 0x6c, 0x5d, 0x4b,
+ 0x14, 0x47, 0x9a, 0x67, 0xe5, 0x5c, 0x03, 0xc6, 0x33, 0xa9, 0xee, 0x81,
+ 0xef, 0x7b, 0x51, 0x36, 0x84, 0xf8, 0x19, 0x21, 0x27, 0xbc, 0x08, 0xf5,
+ 0x62, 0xd4, 0x97, 0x04, 0x61, 0x36, 0x34, 0x73, 0x73, 0x98, 0x67, 0xb4,
+ 0x08, 0xe2, 0xc1, 0x0f, 0x84, 0xf4, 0x57, 0xc9, 0xba, 0x6c, 0x37, 0xfa,
+ 0x63, 0x80, 0x78, 0x6f, 0x36, 0xa6, 0x61, 0x94, 0xaf, 0xe5, 0x1f, 0xff,
+ 0xfe, 0xef, 0xa6, 0xd9, 0x7f, 0xa7, 0x56, 0x5e, 0xff, 0xb9, 0x6e, 0xae,
+ 0xbd, 0x67, 0xd6, 0xe5, 0x0c, 0x1c, 0xbb, 0x68, 0x37, 0x10, 0x6c, 0x20,
+ 0x89, 0x45, 0x1e, 0xdb, 0xbb, 0x13, 0x11, 0xd2, 0x3d, 0x6f, 0x7c, 0x39,
+ 0x32, 0x0c, 0xd9, 0x6f, 0x6a, 0x01, 0x24, 0x5f, 0x51, 0x24, 0x3a, 0xa3,
+ 0xcc, 0x74, 0xb3, 0x08, 0x20, 0x16, 0xdc, 0x72, 0x90, 0x12, 0x96, 0xef,
+ 0xf0, 0x8d, 0x72, 0x75, 0xb8, 0x4e, 0xb5, 0xab, 0x5b, 0xbd, 0x29, 0xf8,
+ 0x14, 0x63, 0x9d, 0xcc, 0xaf, 0xd2, 0x69, 0x79, 0x65, 0x47, 0x1c, 0xab,
+ 0x2f, 0xf3, 0x8b, 0xc6, 0xbe, 0xee, 0x37, 0xa4, 0x6f, 0xfa, 0xf1, 0xf5,
+ 0x47, 0xb6, 0x42, 0x38, 0x01, 0x7b, 0x34, 0x01, 0x7f, 0x0d, 0xeb, 0x89,
+ 0x09, 0x79, 0xb0, 0xb1, 0x54, 0x54, 0x90, 0x6c, 0xeb, 0x41, 0xb7, 0x27,
+ 0x9f, 0xa0, 0xbb, 0x63, 0x3a, 0x02, 0x9d, 0x02, 0x37, 0x4e, 0x56, 0x58,
+ 0xe5, 0x46, 0x6a, 0x97, 0x88, 0x6e, 0x92, 0x19, 0x79, 0x95, 0x9b, 0xb3,
+ 0x80, 0x0b, 0x90, 0xbe, 0x43, 0x73, 0x86, 0xd0, 0x64, 0xc6, 0x84, 0x34,
+ 0x23, 0x2e, 0x0f, 0xd6, 0xef, 0x17, 0xcd, 0x74, 0xc6, 0x54, 0xcb, 0x13,
+ 0x94, 0x0a, 0xd3, 0x0c, 0x8d, 0xbc, 0x08, 0x49, 0x06, 0xdb, 0xf3, 0xcc,
+ 0xaf, 0xfe, 0x73, 0xb3, 0xe4, 0x0b, 0x3d, 0xae, 0xc0, 0x49, 0xed, 0x6c,
+ 0x3b, 0xe2, 0x46, 0x47, 0x8e, 0x46, 0xbe, 0xd0, 0x7e, 0x21, 0xd5, 0xcb,
+ 0x00, 0xed, 0xb7, 0xa2, 0x49, 0xd8, 0xc7, 0x7c, 0xc8, 0xaa, 0x66, 0x1a,
+ 0x11, 0x25, 0x34, 0x39, 0xdf, 0x8c, 0x7c, 0xcf, 0x00, 0x4a, 0xae, 0x93,
+ 0xcd, 0xe1, 0xf0, 0xec, 0x78, 0x5b, 0x8b, 0x9f, 0xad, 0xad, 0x1d, 0xbd,
+ 0xff, 0xee, 0xf8, 0xfc, 0xf4, 0xfd, 0xbb, 0xa3, 0xf7, 0x17, 0xc9, 0x77,
+ 0x07, 0xe7, 0xc7, 0x07, 0x5f, 0x9d, 0x08, 0xf9, 0x02, 0x0d, 0x93, 0x30,
+ 0x67, 0x6c, 0x0a, 0x76, 0xf8, 0x83, 0xbd, 0xbc, 0xb8, 0x68, 0xd5, 0x99,
+ 0x4e, 0x41, 0xed, 0x8f, 0x42, 0x7e, 0x0f, 0xc3, 0xf8, 0x23, 0x0a, 0x68,
+ 0xf5, 0xc8, 0x16, 0xfa, 0xa8, 0xb5, 0xb4, 0xc8, 0x96, 0xbf, 0xf7, 0xd2,
+ 0xf9, 0x09, 0x0e, 0x47, 0xe2, 0x4c, 0x85, 0xb9, 0xab, 0x22, 0x69, 0xcb,
+ 0xb2, 0x7c, 0xcd, 0x8c, 0x10, 0x5a, 0xa3, 0x46, 0x5f, 0x85, 0xfc, 0x60,
+ 0x5d, 0xc7, 0xf5, 0xe1, 0xe0, 0xe4, 0xc4, 0x7d, 0x6a, 0x75, 0xf9, 0x22,
+ 0x61, 0x03, 0xe3, 0x5c, 0x42, 0x34, 0x4a, 0x71, 0xea, 0xab, 0xd2, 0x31,
+ 0xf9, 0x17, 0xf7, 0x3e, 0x69, 0x3f, 0x7d, 0xcc, 0x6c, 0x97, 0x4d, 0xa6,
+ 0x71, 0x21, 0xd0, 0x42, 0x93, 0x55, 0x79, 0xfd, 0xa9, 0x97, 0x6c, 0xfc,
+ 0x79, 0x43, 0x0a, 0xd6, 0x83, 0x66, 0x9a, 0x8b, 0x23, 0x6d, 0xb9, 0x4e,
+ 0xbd, 0x3f, 0x75, 0x7d, 0x92, 0x38, 0xbc, 0xed, 0x80, 0x7d, 0xd1, 0xa1,
+ 0x28, 0x6a, 0x55, 0xaf, 0x01, 0x5f, 0x76, 0x8f, 0x4b, 0x05, 0x11, 0xcb,
+ 0x4e, 0x21, 0xf2, 0x91, 0xe2, 0xac, 0xd1, 0x77, 0xe1, 0x44, 0x48, 0xc7,
+ 0x1e, 0x9b, 0x38, 0xc6, 0x5a, 0x90, 0xe7, 0xcd, 0x56, 0x75, 0x53, 0xe7,
+ 0xb4, 0x99, 0xea, 0x89, 0x10, 0x2e, 0xa6, 0xda, 0xb2, 0xa4, 0x32, 0x23,
+ 0x55, 0xdc, 0x46, 0xa0, 0x3c, 0x27, 0x63, 0x2a, 0x80, 0xf6, 0x81, 0x99,
+ 0x69, 0x9c, 0x7c, 0x76, 0x22, 0xb5, 0xbc, 0xbb, 0x88, 0x09, 0x75, 0x72,
+ 0x3f, 0x25, 0xd6, 0x51, 0xb6, 0x7e, 0x26, 0xeb, 0x2a, 0x41, 0x28, 0xe6,
+ 0xd7, 0xe6, 0xd9, 0x07, 0x0b, 0x06, 0xbb, 0x33, 0x75, 0x26, 0x01, 0x98,
+ 0xf4, 0x5f, 0x5f, 0x47, 0x6e, 0x12, 0xc7, 0x5a, 0x2c, 0x29, 0x22, 0x51,
+ 0x0e, 0x61, 0x8e, 0x1d, 0x2e, 0x3d, 0xbb, 0x63, 0x2e, 0x21, 0xbb, 0xcb,
+ 0xdc, 0x4e, 0xe0, 0xc2, 0x77, 0x02, 0x43, 0xef, 0xf6, 0x58, 0x8b, 0x5a,
+ 0xa5, 0x5a, 0x44, 0x09, 0x71, 0x33, 0x56, 0xb9, 0xa0, 0x34, 0x75, 0x87,
+ 0x03, 0xa7, 0x21, 0x03, 0x9e, 0x5b, 0x9d, 0xee, 0x34, 0xbc, 0xae, 0x78,
+ 0x82, 0x45, 0x2d, 0x2a, 0x14, 0xee, 0x90, 0xbb, 0x6d, 0x2d, 0x4b, 0x05,
+ 0x90, 0x01, 0x25, 0x04, 0x55, 0x46, 0x8a, 0xd6, 0xcb, 0xab, 0x3f, 0x0d,
+ 0x10, 0x9b, 0x3e, 0x3f, 0x44, 0xf9, 0x84, 0x82, 0x0a, 0xa8, 0xba, 0xb2,
+ 0x37, 0x48, 0x1e, 0x28, 0xb2, 0xa6, 0xa2, 0x8c, 0xdc, 0x42, 0xac, 0x10,
+ 0x00, 0xf2, 0x61, 0xa4, 0xa7, 0x57, 0xa5, 0x1a, 0xe0, 0xa9, 0x45, 0xcd,
+ 0xd8, 0xe2, 0x80, 0x9e, 0x51, 0x6f, 0x99, 0x03, 0xad, 0xe0, 0x02, 0xbe,
+ 0x46, 0x23, 0x84, 0x84, 0x2f, 0xa5, 0x43, 0xa6, 0xc5, 0xde, 0x6b, 0x8f,
+ 0x9b, 0xc1, 0xa5, 0x2f, 0x91, 0x24, 0xe7, 0x2c, 0x1d, 0xa5, 0xf2, 0x03,
+ 0x7d, 0xa2, 0x72, 0x39, 0x00, 0xe9, 0x8c, 0x6e, 0xd1, 0x83, 0x68, 0x52,
+ 0x40, 0xeb, 0x68, 0x52, 0x83, 0x57, 0x46, 0x5e, 0x4d, 0x29, 0x83, 0x54,
+ 0xf5, 0x8e, 0x34, 0x19, 0xe5, 0x57, 0xcc, 0x09, 0x42, 0x04, 0x14, 0x74,
+ 0x2e, 0x41, 0xf1, 0x58, 0xce, 0x32, 0x3a, 0x1c, 0x20, 0x70, 0x84, 0xf1,
+ 0x7e, 0x5d, 0x4e, 0x7d, 0x96, 0x41, 0x1d, 0x89, 0xac, 0xbe, 0x8d, 0x7d,
+ 0x20, 0xf6, 0xb9, 0xa0, 0x79, 0x54, 0x38, 0xaa, 0x54, 0x12, 0x10, 0x70,
+ 0x2e, 0x05, 0xd5, 0xc0, 0x95, 0x5a, 0x20, 0x15, 0x50, 0xb9, 0x14, 0x30,
+ 0x0f, 0x9a, 0xb8, 0x40, 0x1b, 0x17, 0x8e, 0x74, 0x2a, 0xc9, 0xba, 0x69,
+ 0x4b, 0x01, 0x50, 0x2b, 0x63, 0x66, 0x68, 0x26, 0x31, 0xc3, 0x90, 0x92,
+ 0x76, 0xed, 0x2e, 0x59, 0x2c, 0xe1, 0xce, 0x33, 0x7b, 0x82, 0x3a, 0x6d,
+ 0x66, 0x6a, 0xd3, 0x53, 0x33, 0x0a, 0xb3, 0x45, 0xf8, 0x31, 0xf6, 0x20,
+ 0xc9, 0xbf, 0xfa, 0xb6, 0xec, 0xa0, 0x00, 0x4f, 0xb6, 0x1c, 0xf0, 0x88,
+ 0xcd, 0x00, 0x92, 0x0f, 0x63, 0x29, 0xfc, 0x0a, 0x88, 0x0e, 0x55, 0xad,
+ 0x05, 0x21, 0x5c, 0x2b, 0xf8, 0x90, 0x68, 0xc2, 0xdd, 0x74, 0xea, 0xd5,
+ 0x02, 0x60, 0x7f, 0x64, 0x1a, 0x18, 0x1f, 0x24, 0x27, 0x06, 0x2c, 0x73,
+ 0x19, 0xfa, 0xc7, 0xbc, 0xe1, 0xde, 0x40, 0x24, 0xa9, 0x84, 0xcc, 0xb3,
+ 0x4e, 0x4c, 0xc3, 0xbb, 0x42, 0x14, 0x1e, 0xe3, 0xab, 0xa1, 0x52, 0xfa,
+ 0x26, 0x4f, 0x67, 0x6c, 0x3c, 0xba, 0xdd, 0x37, 0xbb, 0x67, 0xd8, 0xf1,
+ 0xda, 0xda, 0xe1, 0x87, 0xe1, 0xc5, 0xe9, 0xbb, 0xe4, 0xf4, 0xc3, 0xc5,
+ 0xd9, 0x87, 0x0b, 0xd1, 0x53, 0x47, 0x9c, 0xb4, 0xc1, 0xd0, 0x25, 0xd6,
+ 0x9d, 0x75, 0x31, 0x67, 0x02, 0xf0, 0x01, 0xc6, 0xac, 0x04, 0xad, 0xa8,
+ 0xc7, 0x28, 0x66, 0x93, 0x32, 0xc1, 0xb5, 0xc7, 0xd4, 0xe2, 0x98, 0xf2,
+ 0x5b, 0x33, 0xe5, 0x48, 0xa8, 0x87, 0x27, 0x5f, 0x73, 0x3c, 0xe1, 0xf7,
+ 0xd0, 0xb3, 0xd6, 0x2e, 0x2b, 0x75, 0xdf, 0xf6, 0x63, 0x00, 0x9d, 0xd3,
+ 0x66, 0x70, 0xf3, 0xab, 0xdb, 0xb2, 0x73, 0xd7, 0xf9, 0x7e, 0x7d, 0x4c,
+ 0xb7, 0xd4, 0xc6, 0xd5, 0x08, 0x94, 0xc2, 0xea, 0x81, 0x35, 0x6c, 0x67,
+ 0x16, 0xfb, 0x09, 0xce, 0x4d, 0x69, 0x46, 0x78, 0x6d, 0x53, 0x62, 0x08,
+ 0x46, 0x08, 0x28, 0x30, 0x23, 0xa8, 0x08, 0x73, 0xcb, 0x2e, 0x83, 0x22,
+ 0xbb, 0x25, 0xc5, 0x27, 0xd0, 0xa9, 0x6f, 0x93, 0x8d, 0xef, 0x33, 0xbf,
+ 0xc1, 0x3f, 0xfd, 0x27, 0xe5, 0x6d, 0x7f, 0xd4, 0x9f, 0xfc, 0x17, 0x7f,
+ 0xf2, 0xa7, 0x62, 0x03, 0x02, 0xb3, 0x0d, 0x95, 0xf9, 0xf6, 0xe8, 0xfc,
+ 0xab, 0xa3, 0xf3, 0xd3, 0x21, 0xe4, 0x81, 0xfa, 0xbb, 0xc3, 0xbd, 0xfe,
+ 0x29, 0xab, 0x46, 0x59, 0x55, 0x4a, 0xc9, 0x3b, 0xfd, 0xd7, 0xb3, 0xed,
+ 0xaf, 0x87, 0xc3, 0x83, 0xb3, 0x63, 0x5b, 0x54, 0xca, 0x66, 0x90, 0xb2,
+ 0x8f, 0xa4, 0xe0, 0x1c, 0x67, 0x1a, 0xbf, 0xbe, 0x62, 0xf6, 0xc5, 0xf8,
+ 0x13, 0x67, 0x16, 0x04, 0xa0, 0x14, 0x0d, 0xac, 0x11, 0x1a, 0x45, 0x12,
+ 0x8b, 0xa9, 0x61, 0x65, 0x82, 0xf3, 0x0b, 0x43, 0x70, 0x05, 0x07, 0x0a,
+ 0x06, 0xf6, 0x2c, 0x04, 0xf7, 0x53, 0x35, 0xea, 0x9b, 0xdd, 0xfe, 0x49,
+ 0x6b, 0xac, 0x73, 0x22, 0x94, 0x11, 0x95, 0x9c, 0x21, 0xe1, 0x9c, 0x8d,
+ 0x9f, 0xf2, 0x22, 0x6f, 0xb6, 0x3f, 0xd1, 0xf9, 0xa0, 0x82, 0x47, 0xd3,
+ 0x01, 0x4b, 0x77, 0x3e, 0x50, 0x0a, 0x7b, 0x27, 0x11, 0xbb, 0x8a, 0x9d,
+ 0xc6, 0x7c, 0xcd, 0x56, 0x29, 0x65, 0x87, 0xb7, 0xf9, 0xc9, 0x53, 0x4b,
+ 0xd3, 0x27, 0x9a, 0x3f, 0x90, 0xb2, 0x97, 0xe6, 0xae, 0x9a, 0xdf, 0x4e,
+ 0xe4, 0x12, 0x01, 0x4b, 0x3d, 0x2b, 0x97, 0x22, 0xc3, 0xbb, 0x11, 0x6a,
+ 0xaa, 0xa4, 0x8a, 0x8c, 0x2d, 0xc9, 0x47, 0x49, 0x46, 0xd3, 0xb4, 0xf8,
+ 0x04, 0xfd, 0x01, 0x1a, 0x01, 0xdd, 0x7d, 0x4a, 0x3e, 0x47, 0x15, 0x6e,
+ 0x01, 0x48, 0x10, 0x3e, 0x18, 0x98, 0x7c, 0x53, 0x12, 0x6e, 0xf7, 0x1c,
+ 0xcc, 0xb3, 0x1c, 0x7b, 0x5e, 0xe8, 0x1d, 0xc7, 0xc9, 0x4d, 0x02, 0xf9,
+ 0x8e, 0x8f, 0x4e, 0xcc, 0xc5, 0x64, 0xb3, 0xcc, 0xe0, 0xa3, 0xcb, 0xa6,
+ 0x14, 0x0b, 0x52, 0x48, 0x20, 0x27, 0x56, 0xe7, 0x10, 0x64, 0x2c, 0x3d,
+ 0xb4, 0xd6, 0x01, 0x02, 0xc8, 0xd8, 0x2e, 0xc8, 0x1f, 0xaf, 0x6d, 0x45,
+ 0x20, 0x91, 0xdc, 0x2c, 0xc4, 0xc0, 0x0e, 0xec, 0x0a, 0x04, 0xf9, 0xa5,
+ 0xaa, 0x04, 0x6f, 0x7b, 0xe8, 0x00, 0x81, 0xb6, 0x76, 0x1f, 0x77, 0xc2,
+ 0x19, 0xa1, 0x16, 0x62, 0xd0, 0x4a, 0x6f, 0x5b, 0xba, 0x4c, 0xfc, 0x7a,
+ 0xcc, 0x0b, 0xc8, 0xa4, 0x86, 0x13, 0x09, 0x78, 0x5a, 0x3e, 0x30, 0xcd,
+ 0x59, 0x68, 0xe7, 0x09, 0x68, 0xc7, 0x19, 0x0e, 0x44, 0xd1, 0x9b, 0x69,
+ 0x63, 0x1d, 0x15, 0x35, 0x33, 0xac, 0x41, 0xe9, 0x9a, 0x40, 0xe4, 0x54,
+ 0x2d, 0xaa, 0x6a, 0x1f, 0x9e, 0xcf, 0x94, 0x35, 0xa5, 0x35, 0x32, 0xd9,
+ 0xfa, 0xb7, 0xd6, 0x6c, 0xff, 0x3d, 0x5d, 0x17, 0x65, 0x7f, 0xb4, 0x80,
+ 0x63, 0xc6, 0xab, 0xa9, 0xc7, 0x49, 0xdc, 0xe5, 0x25, 0x6b, 0x1e, 0xfc,
+ 0x7b, 0x0a, 0x48, 0x83, 0x1e, 0x83, 0x63, 0xd4, 0xc8, 0x97, 0x6e, 0x33,
+ 0x6d, 0x59, 0x7e, 0x25, 0x4e, 0x42, 0x72, 0xc5, 0xbe, 0xed, 0x00, 0x65,
+ 0x91, 0xad, 0x93, 0xc6, 0xb3, 0x69, 0x7a, 0x9d, 0x94, 0x8b, 0xc6, 0xd6,
+ 0xa6, 0xb8, 0x80, 0x9a, 0x90, 0x49, 0xc5, 0x06, 0xcd, 0xa5, 0xd0, 0xcc,
+ 0xad, 0x9b, 0x86, 0xaa, 0xc0, 0x31, 0x35, 0x4c, 0x3a, 0xe5, 0x92, 0x3a,
+ 0x4b, 0xaf, 0x12, 0x3e, 0x4c, 0xcd, 0xc5, 0xc5, 0x5f, 0xcf, 0x8e, 0x5e,
+ 0xeb, 0x9b, 0xab, 0xd6, 0x8c, 0x19, 0x13, 0x01, 0x9a, 0xcb, 0x84, 0xa1,
+ 0xd8, 0xab, 0x63, 0x6f, 0x36, 0x59, 0xbf, 0x51, 0x30, 0x0f, 0x7f, 0xa6,
+ 0x9f, 0xfc, 0xf0, 0xe6, 0x78, 0x78, 0x76, 0x72, 0x7a, 0xf8, 0xfa, 0xd5,
+ 0x0f, 0x2a, 0x92, 0xbf, 0xa0, 0x18, 0x21, 0xeb, 0x69, 0xf6, 0x67, 0x8e,
+ 0xd1, 0x45, 0xde, 0x7b, 0x7f, 0xf4, 0xfd, 0x47, 0x63, 0x8f, 0xbd, 0xa6,
+ 0xba, 0x0e, 0xbd, 0x9b, 0x74, 0x2a, 0x2f, 0x91, 0x7e, 0x1a, 0xd1, 0xed,
+ 0x06, 0x6d, 0x0a, 0xce, 0xee, 0xc4, 0xda, 0x52, 0xc2, 0x2e, 0x51, 0xe9,
+ 0x5e, 0x71, 0xb4, 0x5e, 0xd5, 0xb8, 0xb4, 0x95, 0x57, 0x1f, 0x29, 0xfc,
+ 0xed, 0xae, 0xff, 0x8d, 0x86, 0x41, 0xd5, 0x84, 0x21, 0xf2, 0xa1, 0x39,
+ 0x00, 0xae, 0xcb, 0x6f, 0x1c, 0xa0, 0x5f, 0xf8, 0xd3, 0x2b, 0xf2, 0xa3,
+ 0x59, 0x02, 0x5a, 0xa9, 0x26, 0x0f, 0xd0, 0x8b, 0xb0, 0xd4, 0x0a, 0xf5,
+ 0x1a, 0x61, 0xe8, 0x35, 0x9d, 0x46, 0xe5, 0x98, 0xa8, 0x30, 0xb6, 0x2f,
+ 0xa9, 0xd6, 0xb5, 0x46, 0xf1, 0xac, 0xb3, 0xa3, 0xf3, 0xe1, 0xf1, 0xf0,
+ 0x82, 0x0c, 0x57, 0x29, 0xb2, 0x2a, 0x41, 0x28, 0xad, 0x80, 0x0b, 0xd2,
+ 0x96, 0x36, 0xe1, 0xb0, 0x5f, 0xd8, 0xa7, 0x75, 0xa2, 0xad, 0x98, 0x6b,
+ 0x67, 0x71, 0xd3, 0x0d, 0xc0, 0xa9, 0xe1, 0xa4, 0x88, 0x32, 0x6d, 0x76,
+ 0x7a, 0xa9, 0x07, 0xb8, 0x94, 0xad, 0xd1, 0xa9, 0x6f, 0x83, 0xda, 0x54,
+ 0x58, 0x9d, 0x69, 0x3e, 0xf2, 0xaa, 0xda, 0xb7, 0x31, 0x24, 0x04, 0x4f,
+ 0x12, 0x8a, 0x1e, 0xff, 0x08, 0x69, 0x40, 0xcc, 0x51, 0x23, 0x48, 0xdd,
+ 0x6d, 0xb9, 0xd6, 0x24, 0xad, 0xd9, 0x4f, 0x60, 0xb7, 0x6e, 0x29, 0x18,
+ 0x2d, 0xaa, 0xa7, 0xd9, 0x9f, 0x7a, 0x28, 0x74, 0x61, 0x7d, 0x03, 0x61,
+ 0xb5, 0x88, 0x6c, 0x12, 0xca, 0x39, 0xa7, 0xa2, 0x92, 0x7f, 0xd2, 0x68,
+ 0x2d, 0xa0, 0xd6, 0x00, 0x50, 0x50, 0x46, 0x16, 0xa8, 0x20, 0xa2, 0x3a,
+ 0x5e, 0x51, 0x0e, 0x2b, 0xa8, 0xf5, 0x26, 0xa4, 0x6f, 0xc1, 0x05, 0xef,
+ 0x7f, 0x4c, 0xaf, 0x53, 0x9a, 0xc1, 0xd1, 0xc2, 0xaf, 0xda, 0x68, 0x7b,
+ 0xcf, 0x05, 0x84, 0x30, 0xf1, 0x80, 0x48, 0xa7, 0x15, 0x3c, 0x19, 0x8d,
+ 0x94, 0x8a, 0x50, 0xc3, 0x47, 0xf0, 0xce, 0x83, 0x36, 0x8b, 0x97, 0xee,
+ 0x4b, 0x35, 0xc2, 0x56, 0xcd, 0xa8, 0x57, 0xe6, 0x95, 0xb6, 0x6f, 0x95,
+ 0x29, 0x70, 0x91, 0x9d, 0x8a, 0x35, 0x45, 0x1c, 0x8b, 0xb1, 0xbd, 0x8c,
+ 0x29, 0xeb, 0x90, 0x00, 0x06, 0x95, 0x30, 0xa4, 0x19, 0xf1, 0x47, 0xa1,
+ 0x25, 0xd4, 0x86, 0x45, 0xd1, 0x74, 0x0a, 0xbb, 0x2b, 0x7b, 0xa6, 0xcb,
+ 0xe3, 0xe0, 0xe9, 0xf6, 0xb6, 0x15, 0xc7, 0xd7, 0xee, 0xe5, 0x83, 0x96,
+ 0x21, 0x43, 0x17, 0xab, 0xc7, 0x09, 0x97, 0x29, 0xf2, 0xfb, 0x34, 0xb0,
+ 0xe3, 0xe5, 0x89, 0xd7, 0x92, 0x7d, 0x6f, 0xf1, 0x29, 0x10, 0x78, 0xad,
+ 0x02, 0xd9, 0x34, 0xba, 0x16, 0x36, 0xc0, 0xe8, 0x97, 0x73, 0x54, 0x3b,
+ 0x1b, 0x4b, 0x0d, 0x09, 0xa0, 0xf6, 0x6d, 0x83, 0x7a, 0x89, 0xb8, 0xc9,
+ 0x32, 0xb3, 0xfa, 0xee, 0xc3, 0xc9, 0xc5, 0xf1, 0x99, 0x8f, 0x3f, 0x48,
+ 0xbe, 0x3f, 0xbe, 0xf8, 0xc6, 0x68, 0xed, 0xc3, 0xe3, 0xf7, 0x5f, 0x9f,
+ 0x50, 0x90, 0xf7, 0xdd, 0xbb, 0x83, 0xf7, 0x44, 0x2f, 0xf2, 0x1e, 0xd0,
+ 0xe6, 0x03, 0x18, 0x0e, 0x24, 0x8e, 0xcc, 0x14, 0xd3, 0xde, 0x21, 0xe2,
+ 0x89, 0x5e, 0x18, 0x6b, 0xec, 0x1c, 0x3f, 0x2e, 0x80, 0x5e, 0xb4, 0x27,
+ 0x69, 0x0d, 0xe5, 0xec, 0x61, 0x19, 0xdc, 0x93, 0x1b, 0x17, 0xc7, 0x96,
+ 0x8c, 0x2d, 0x9a, 0xe8, 0x6e, 0xf1, 0x08, 0x24, 0x39, 0xb3, 0x86, 0x0e,
+ 0x1c, 0x0d, 0xdf, 0xdd, 0x2e, 0x7e, 0x89, 0x15, 0xb5, 0xd4, 0xd3, 0xb0,
+ 0x63, 0x8c, 0xce, 0x54, 0x88, 0x5d, 0xc3, 0xf7, 0x65, 0x3b, 0xe9, 0xc8,
+ 0x7c, 0x11, 0x5d, 0x02, 0x90, 0xa8, 0x74, 0x8e, 0x74, 0xb2, 0x38, 0xc9,
+ 0x68, 0x3e, 0x3f, 0xf1, 0x2f, 0xd4, 0x41, 0xab, 0x3c, 0xa0, 0xe2, 0x83,
+ 0xaf, 0xca, 0xcc, 0x9d, 0xdc, 0xfe, 0xa9, 0x36, 0xa3, 0xf1, 0x1f, 0x98,
+ 0x61, 0x7c, 0xb9, 0xf4, 0x49, 0xae, 0xf5, 0xcd, 0x92, 0x6c, 0xd9, 0x92,
+ 0x60, 0x62, 0xf6, 0xef, 0xb3, 0x5a, 0x69, 0xc9, 0xd5, 0xb5, 0x92, 0xa6,
+ 0x69, 0x4e, 0x5b, 0x16, 0x2c, 0x1a, 0x12, 0x32, 0x24, 0xaf, 0x51, 0xc6,
+ 0x0c, 0x69, 0xa9, 0x8f, 0xb5, 0x68, 0x19, 0xf8, 0xbe, 0x3b, 0xd5, 0xe0,
+ 0xa4, 0xe6, 0xb5, 0xda, 0x1a, 0x8d, 0x0e, 0x3a, 0x81, 0x2a, 0x88, 0x70,
+ 0x57, 0x64, 0x84, 0x72, 0xa0, 0xbf, 0xfe, 0x6d, 0x7e, 0xe5, 0xa7, 0xbc,
+ 0x72, 0x0d, 0xf8, 0x79, 0x6c, 0x65, 0x85, 0xc9, 0x9d, 0xd5, 0x22, 0xa9,
+ 0x3b, 0xd9, 0xea, 0x81, 0x14, 0x93, 0xdc, 0x5d, 0xf6, 0x41, 0xf9, 0xfd,
+ 0x5e, 0xf8, 0xfb, 0x3d, 0x0e, 0x32, 0x1c, 0x9f, 0xdd, 0x3c, 0xb7, 0x0c,
+ 0xc8, 0x4c, 0xe4, 0xe0, 0xab, 0x6f, 0xaa, 0x14, 0xd0, 0x0e, 0xa3, 0x47,
+ 0xc5, 0x65, 0xce, 0x32, 0x91, 0x83, 0x7f, 0x04, 0x21, 0x5d, 0x54, 0x48,
+ 0x50, 0xc7, 0x23, 0x88, 0xae, 0x30, 0xee, 0x1f, 0x9e, 0x27, 0xc8, 0x29,
+ 0xba, 0xae, 0x4c, 0x83, 0xe6, 0xf7, 0x4f, 0x6d, 0x32, 0x8e, 0x93, 0x69,
+ 0xa8, 0xa7, 0x28, 0xe9, 0x90, 0xfd, 0x7c, 0x7e, 0xa3, 0x05, 0xb9, 0xcd,
+ 0x5f, 0x9f, 0xdb, 0x5a, 0x5a, 0x75, 0x2b, 0x48, 0xdd, 0x62, 0x1b, 0x57,
+ 0xe1, 0x8f, 0xce, 0xc1, 0x07, 0x46, 0x92, 0xc1, 0x19, 0x19, 0x9d, 0x7e,
+ 0x65, 0xed, 0x8c, 0x0c, 0xaf, 0xa2, 0x30, 0xb2, 0xbe, 0xa6, 0x48, 0x8d,
+ 0x87, 0x3c, 0xf2, 0x84, 0x8b, 0x5f, 0xe9, 0x43, 0x56, 0xfd, 0xc7, 0xbd,
+ 0x9d, 0x9d, 0xdd, 0xfd, 0xdd, 0x17, 0x2f, 0x77, 0xf6, 0x77, 0x77, 0x77,
+ 0xf7, 0xf6, 0x77, 0xf7, 0xf7, 0xf7, 0x76, 0x7e, 0xde, 0x26, 0xff, 0xd1,
+ 0x4d, 0x9e, 0xdd, 0x6a, 0x64, 0x9a, 0xfd, 0x7c, 0xd8, 0xd6, 0x75, 0x73,
+ 0xcf, 0x60, 0x00, 0xf6, 0xf4, 0x61, 0x5f, 0xab, 0xe6, 0x63, 0x69, 0x65,
+ 0x38, 0x67, 0x86, 0x29, 0x24, 0xe7, 0x2e, 0xd5, 0x1c, 0x67, 0xd0, 0xa3,
+ 0xb9, 0x47, 0xaf, 0xfe, 0xbe, 0xa0, 0x91, 0x8e, 0x48, 0x1d, 0x80, 0x4e,
+ 0x53, 0xdb, 0xc4, 0xde, 0xab, 0x69, 0x39, 0x1a, 0x21, 0x75, 0xc9, 0xe6,
+ 0xb6, 0x0f, 0x12, 0xe2, 0x52, 0xfe, 0xc4, 0x5b, 0x42, 0x42, 0x87, 0x40,
+ 0x15, 0xf3, 0x41, 0x77, 0xb3, 0xe3, 0x3c, 0x7b, 0x66, 0x07, 0x8c, 0x4b,
+ 0xaa, 0x2b, 0x02, 0x4f, 0xb7, 0x99, 0xa4, 0xca, 0xe6, 0xbc, 0x25, 0x97,
+ 0xd9, 0x8b, 0x9d, 0xfd, 0x7d, 0x2a, 0xfd, 0xf3, 0xa7, 0xdd, 0x9e, 0x00,
+ 0xc2, 0xfd, 0x2c, 0x97, 0x9e, 0xbd, 0x9e, 0xb8, 0x0d, 0x32, 0x3f, 0xfc,
+ 0x71, 0x16, 0x8b, 0x59, 0x56, 0x19, 0x43, 0x84, 0xea, 0x3c, 0x03, 0x11,
+ 0x0d, 0x8f, 0x21, 0x73, 0x2c, 0x82, 0x91, 0xa9, 0x93, 0x8d, 0x43, 0x37,
+ 0x02, 0x73, 0x45, 0x5b, 0x16, 0x0a, 0xe6, 0x0b, 0x73, 0x43, 0xb4, 0x6d,
+ 0xa3, 0xfc, 0x15, 0xc0, 0x9a, 0x9c, 0xcb, 0xc6, 0x59, 0x7c, 0x7c, 0xdf,
+ 0x8a, 0x64, 0xc0, 0xe1, 0x2a, 0xb8, 0xfa, 0x30, 0x3d, 0xce, 0x3a, 0x3c,
+ 0x3c, 0x26, 0x9e, 0x72, 0x2b, 0x09, 0x7c, 0x3f, 0x7a, 0x83, 0xdd, 0x7b,
+ 0xb6, 0xfb, 0x33, 0xe3, 0x95, 0xe9, 0x40, 0xb8, 0x59, 0xd3, 0xe0, 0x8b,
+ 0x9f, 0xa2, 0xa5, 0x1b, 0x69, 0x33, 0x1b, 0x5c, 0x0d, 0x54, 0xab, 0x10,
+ 0x6f, 0x63, 0xcf, 0xcf, 0x1a, 0xe1, 0x3a, 0x05, 0x5c, 0x53, 0x1c, 0x76,
+ 0x9a, 0x3a, 0x94, 0x7c, 0x57, 0xad, 0x0e, 0xcc, 0x56, 0x8e, 0x7b, 0x77,
+ 0x74, 0x71, 0x60, 0x2e, 0x8f, 0x6f, 0x43, 0x43, 0xff, 0x5d, 0x66, 0xac,
+ 0x72, 0x5a, 0xec, 0x4d, 0x9c, 0x87, 0x1b, 0xcb, 0x0e, 0x4e, 0x73, 0xf7,
+ 0x34, 0xd9, 0xa4, 0x10, 0xe5, 0xb3, 0x17, 0xcf, 0x9e, 0x6e, 0x71, 0x29,
+ 0x16, 0x7e, 0x2d, 0xa3, 0x04, 0x31, 0x78, 0x25, 0x85, 0x9d, 0x8a, 0x1c,
+ 0xf8, 0x56, 0x24, 0x7d, 0x38, 0x3f, 0xe6, 0x23, 0x7d, 0xcd, 0x24, 0x22,
+ 0x6c, 0xf4, 0x76, 0xd9, 0x24, 0x71, 0xdf, 0x7a, 0x4a, 0xc6, 0x2c, 0x27,
+ 0xa6, 0x53, 0x90, 0x2f, 0xd0, 0xc5, 0x68, 0xc9, 0x3f, 0x70, 0xc3, 0x9a,
+ 0x03, 0x5a, 0xa2, 0x96, 0xa8, 0xd4, 0x7d, 0x43, 0x67, 0x40, 0x8d, 0x4a,
+ 0xcc, 0xcc, 0xb2, 0xcf, 0xac, 0x05, 0x46, 0x76, 0x10, 0xcb, 0x23, 0x96,
+ 0xfe, 0x1d, 0x36, 0xfe, 0x2d, 0x86, 0xfc, 0x40, 0x29, 0xa4, 0x6d, 0x68,
+ 0x1e, 0x54, 0xec, 0x38, 0xf5, 0xb8, 0x95, 0x8e, 0xea, 0xb4, 0x4d, 0x8f,
+ 0xd4, 0x4d, 0xf9, 0x9c, 0x44, 0x14, 0xd9, 0x29, 0x64, 0x3c, 0x4b, 0x03,
+ 0xcf, 0x62, 0xde, 0x72, 0xf9, 0x08, 0x99, 0x06, 0x48, 0x2d, 0x90, 0x73,
+ 0x30, 0x33, 0xd7, 0x51, 0x75, 0x2f, 0x1a, 0x36, 0xcc, 0x04, 0x5b, 0xfa,
+ 0xb0, 0x83, 0x08, 0x62, 0xda, 0x18, 0x3f, 0x95, 0xc6, 0xb2, 0x26, 0xa9,
+ 0xd1, 0xdc, 0xea, 0x40, 0x4b, 0xec, 0xf7, 0x67, 0xfa, 0x2b, 0x0f, 0x30,
+ 0xe7, 0xe7, 0x97, 0xea, 0xdf, 0xf5, 0x39, 0x0f, 0x4b, 0x9d, 0x76, 0x07,
+ 0xb6, 0xa4, 0x6b, 0xcc, 0xa8, 0x0b, 0xfc, 0xa4, 0xb5, 0x7e, 0x36, 0xd1,
+ 0x93, 0xed, 0xed, 0xad, 0x25, 0xbd, 0x91, 0x5f, 0xc7, 0xbe, 0x7e, 0x06,
+ 0x52, 0x22, 0x2f, 0xa5, 0xdb, 0xac, 0x79, 0xbb, 0x71, 0x9a, 0xda, 0xbc,
+ 0xa6, 0x95, 0x9c, 0x08, 0x30, 0x9e, 0xdd, 0xa8, 0x6a, 0x5e, 0x71, 0xe7,
+ 0x55, 0x78, 0xb5, 0x07, 0x21, 0x58, 0x3c, 0x25, 0x89, 0xe3, 0x02, 0xf0,
+ 0x8c, 0x0a, 0x18, 0x24, 0x07, 0xb4, 0x1b, 0x5a, 0x1f, 0xf6, 0xba, 0xac,
+ 0xfe, 0x5c, 0xad, 0x7b, 0xa0, 0x4a, 0xac, 0x75, 0xe7, 0xf5, 0xbc, 0x5f,
+ 0xaa, 0x9a, 0xa7, 0x9c, 0x20, 0xd6, 0xd9, 0x3b, 0xca, 0x98, 0xff, 0xc8,
+ 0x4a, 0x4e, 0x8f, 0xcf, 0x3c, 0x2f, 0x5a, 0x35, 0x7d, 0xa5, 0x11, 0x20,
+ 0x5d, 0xec, 0x20, 0x40, 0x95, 0x5a, 0x29, 0x05, 0xb7, 0x5f, 0xe7, 0x13,
+ 0x14, 0x24, 0x92, 0xd5, 0xc2, 0x8a, 0xb5, 0xdd, 0xc4, 0x0c, 0x52, 0x18,
+ 0xf1, 0xf6, 0x6a, 0xcd, 0x47, 0x8f, 0x77, 0x3c, 0xa3, 0x98, 0x2c, 0xa4,
+ 0x82, 0x04, 0xc6, 0xc1, 0xf1, 0x09, 0xc1, 0x62, 0x4f, 0x8c, 0x89, 0x37,
+ 0x54, 0x55, 0x09, 0x30, 0x71, 0x00, 0x76, 0x8b, 0x9c, 0xd4, 0xf5, 0x9e,
+ 0x2d, 0x38, 0xa4, 0xd9, 0x92, 0xb0, 0x5b, 0x28, 0xc4, 0xca, 0xa6, 0xbf,
+ 0x90, 0x84, 0x9a, 0xd5, 0x32, 0xfa, 0x52, 0xcd, 0x4e, 0x5b, 0x10, 0x70,
+ 0x53, 0x69, 0x8a, 0x9b, 0x6c, 0x5a, 0xce, 0x61, 0x52, 0xb3, 0x98, 0x46,
+ 0xbd, 0xb3, 0x2a, 0x9b, 0x66, 0x37, 0xe2, 0x5d, 0x65, 0x3a, 0xe3, 0xaf,
+ 0x05, 0xb1, 0xc0, 0xb5, 0x89, 0x1b, 0xc9, 0x6a, 0x09, 0x50, 0x11, 0xf4,
+ 0xd1, 0x6d, 0x66, 0x85, 0x72, 0x64, 0x3f, 0xf4, 0x7d, 0x57, 0x84, 0xc3,
+ 0xcc, 0x90, 0x2d, 0xe2, 0xd0, 0x27, 0x23, 0x57, 0xc0, 0xed, 0x1f, 0x6a,
+ 0xe1, 0x73, 0xe9, 0x66, 0x8b, 0xb0, 0xb3, 0x50, 0xcb, 0x5b, 0xb2, 0xf7,
+ 0xbd, 0xa7, 0x34, 0xe9, 0x1c, 0x32, 0xa0, 0x9b, 0xa7, 0x47, 0x9e, 0x5a,
+ 0xb4, 0x74, 0x69, 0x2c, 0x32, 0x2a, 0x88, 0xd3, 0xe3, 0xd4, 0x71, 0x6c,
+ 0x8e, 0x72, 0x6a, 0xfe, 0x09, 0x40, 0x25, 0x43, 0xac, 0xcd, 0xb3, 0x14,
+ 0x6f, 0xf6, 0x30, 0xed, 0x84, 0xb9, 0x41, 0x3a, 0x94, 0xfc, 0x0b, 0x4d,
+ 0x55, 0x0b, 0xb0, 0x89, 0xf7, 0xf8, 0x36, 0xa4, 0x38, 0x6f, 0x33, 0x1e,
+ 0xd8, 0xde, 0x0b, 0xea, 0x87, 0xfb, 0xff, 0x86, 0xa7, 0x92, 0x06, 0xc1,
+ 0x7a, 0x48, 0x59, 0xe9, 0xf4, 0xf2, 0x32, 0x8c, 0xb8, 0x1a, 0xe9, 0x57,
+ 0x0b, 0x8a, 0x3f, 0xda, 0x02, 0x5e, 0xd4, 0x8b, 0x19, 0xdd, 0x45, 0x19,
+ 0x17, 0xfe, 0xb5, 0x8d, 0x93, 0x49, 0xb7, 0x30, 0xcb, 0xcb, 0xad, 0x9f,
+ 0x94, 0xb7, 0x54, 0xb5, 0xf8, 0xf2, 0x32, 0x1f, 0x53, 0xec, 0xdf, 0xb1,
+ 0x86, 0x93, 0x8c, 0xe7, 0x07, 0x67, 0x5a, 0x7d, 0xcd, 0x8c, 0x2d, 0x99,
+ 0x2f, 0x46, 0x53, 0x73, 0x59, 0x6b, 0x3e, 0x8b, 0x39, 0x55, 0x98, 0x25,
+ 0x63, 0x6d, 0xa1, 0x39, 0xa6, 0x37, 0x84, 0xc1, 0xd9, 0xc9, 0xa1, 0x40,
+ 0xb8, 0xb4, 0x82, 0x0a, 0x3e, 0x43, 0xf9, 0x66, 0x4a, 0x34, 0x98, 0x95,
+ 0x85, 0xa6, 0xc3, 0x2d, 0x6a, 0xa6, 0x93, 0x45, 0x34, 0x87, 0xab, 0x64,
+ 0x25, 0x78, 0x52, 0x8a, 0x36, 0x88, 0x69, 0x8e, 0x37, 0xfc, 0xc1, 0x4c,
+ 0xfa, 0xf3, 0xeb, 0xb9, 0xae, 0xb4, 0x2a, 0x44, 0xac, 0x2d, 0x49, 0x02,
+ 0x16, 0x8e, 0xde, 0xd9, 0x37, 0x67, 0x83, 0xe4, 0x88, 0x5a, 0xe2, 0x3e,
+ 0x89, 0xa2, 0x0b, 0x1f, 0x8d, 0xf9, 0x9d, 0x19, 0xec, 0x15, 0x5d, 0x60,
+ 0xa7, 0x15, 0xfd, 0x0b, 0xad, 0xc9, 0x2f, 0xd9, 0x2d, 0x8b, 0xdf, 0xb6,
+ 0xbf, 0x6a, 0x1a, 0xd2, 0x34, 0x8b, 0x33, 0xfc, 0xdd, 0x9c, 0x15, 0xa3,
+ 0x7e, 0xd9, 0x65, 0x72, 0x5f, 0x28, 0xab, 0x16, 0xf9, 0x16, 0xbf, 0x99,
+ 0x18, 0xad, 0x0c, 0xba, 0xd5, 0xfc, 0x1e, 0xeb, 0xe7, 0x09, 0x47, 0xd6,
+ 0x3f, 0xb9, 0x01, 0x6f, 0x6b, 0xc9, 0xf6, 0xb3, 0x00, 0x5e, 0x3e, 0x58,
+ 0x15, 0xd3, 0x4e, 0x55, 0x99, 0xc0, 0x9d, 0x4b, 0x09, 0x4c, 0xb3, 0x47,
+ 0xa3, 0xce, 0x3a, 0xe7, 0xd5, 0xb3, 0xdf, 0xf4, 0x17, 0x64, 0x76, 0x53,
+ 0x5f, 0x8c, 0xd6, 0x62, 0x96, 0x60, 0xb0, 0xf6, 0xff, 0x05, 0xe8, 0x55,
+ 0xa2, 0x40, 0x3e, 0x0c, 0x03, 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 bbbfc2a6..03f15974 100644
--- a/src/tool_metalink.c
+++ b/src/tool_metalink.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -243,7 +243,7 @@ static int nss_hash_init(void **pctx, SECOidTag hash_alg)
{
PK11Context *ctx;
- /* we have to initialize NSS if not initialized alraedy */
+ /* we have to initialize NSS if not initialized already */
if(!NSS_IsInitialized() && !nss_context) {
static NSSInitParameters params;
params.length = sizeof params;
@@ -461,6 +461,11 @@ static void SHA256_Final(unsigned char digest[32], SHA256_CTX *ctx)
#endif /* CRYPTO LIBS */
+/* Disable this picky gcc-8 compiler warning */
+#if defined(__GNUC__) && (__GNUC__ >= 8)
+#pragma GCC diagnostic ignored "-Wcast-function-type"
+#endif
+
const digest_params MD5_DIGEST_PARAMS[] = {
{
(Curl_digest_init_func) MD5_Init,
diff --git a/src/tool_operate.c b/src/tool_operate.c
index e8b434a5..626c3088 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -228,52 +228,76 @@ static CURLcode operate_do(struct GlobalConfig *global,
if(!config->cacert &&
!config->capath &&
!config->insecure_ok) {
- char *env;
- env = curlx_getenv("CURL_CA_BUNDLE");
- if(env) {
- config->cacert = strdup(env);
- if(!config->cacert) {
- curl_free(env);
- helpf(global->errors, "out of memory\n");
- result = CURLE_OUT_OF_MEMORY;
- goto quit_curl;
- }
+ struct curl_tlssessioninfo *tls_backend_info = NULL;
+
+ /* With the addition of CAINFO support for Schannel, this search could find
+ * a certificate bundle that was previously ignored. To maintain backward
+ * compatibility, only perform this search if not using Schannel.
+ */
+ result = curl_easy_getinfo(config->easy,
+ CURLINFO_TLS_SSL_PTR,
+ &tls_backend_info);
+ if(result) {
+ goto quit_curl;
}
- else {
- env = curlx_getenv("SSL_CERT_DIR");
+
+ /* Set the CA cert locations specified in the environment. For Windows if
+ * no environment-specified filename is found then check for CA bundle
+ * default filename curl-ca-bundle.crt in the user's PATH.
+ *
+ * If Schannel (WinSSL) is the selected SSL backend then these locations
+ * are ignored. We allow setting CA location for schannel only when
+ * explicitly specified by the user via CURLOPT_CAINFO / --cacert.
+ */
+ if(tls_backend_info->backend != CURLSSLBACKEND_SCHANNEL) {
+ char *env;
+ env = curlx_getenv("CURL_CA_BUNDLE");
if(env) {
- config->capath = strdup(env);
- if(!config->capath) {
+ config->cacert = strdup(env);
+ if(!config->cacert) {
curl_free(env);
helpf(global->errors, "out of memory\n");
result = CURLE_OUT_OF_MEMORY;
goto quit_curl;
}
- capath_from_env = true;
}
else {
- env = curlx_getenv("SSL_CERT_FILE");
+ env = curlx_getenv("SSL_CERT_DIR");
if(env) {
- config->cacert = strdup(env);
- if(!config->cacert) {
+ config->capath = strdup(env);
+ if(!config->capath) {
curl_free(env);
helpf(global->errors, "out of memory\n");
result = CURLE_OUT_OF_MEMORY;
goto quit_curl;
}
+ capath_from_env = true;
+ }
+ else {
+ env = curlx_getenv("SSL_CERT_FILE");
+ if(env) {
+ config->cacert = strdup(env);
+ if(!config->cacert) {
+ curl_free(env);
+ helpf(global->errors, "out of memory\n");
+ result = CURLE_OUT_OF_MEMORY;
+ goto quit_curl;
+ }
+ }
}
}
- }
- if(env)
- curl_free(env);
+ if(env)
+ curl_free(env);
#ifdef WIN32
- else {
- result = FindWin32CACert(config, "curl-ca-bundle.crt");
- if(result)
- goto quit_curl;
- }
+ else {
+ result = FindWin32CACert(config, tls_backend_info->backend,
+ "curl-ca-bundle.crt");
+ if(result)
+ goto quit_curl;
+ }
#endif
+ }
}
if(config->postfields) {
@@ -432,8 +456,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
the number of resources as urlnum. */
urlnum = count_next_metalink_resource(mlfile);
}
- else
- if(!config->globoff) {
+ 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,
@@ -1445,6 +1468,10 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,
config->happy_eyeballs_timeout_ms);
+ /* new in 7.60.0 */
+ if(config->haproxy_protocol)
+ my_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
+
/* initialize retry vars for loop below */
retry_sleep_default = (config->retry_delay) ?
config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
@@ -1566,9 +1593,13 @@ static CURLcode operate_do(struct GlobalConfig *global,
}
} /* if CURLE_OK */
else if(result) {
+ long protocol;
+
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+ curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &protocol);
- if(response/100 == 4)
+ if((protocol == CURLPROTO_FTP || protocol == CURLPROTO_FTPS) &&
+ response / 100 == 4)
/*
* This is typically when the FTP server only allows a certain
* amount of users and we are not one of them. All 4xx codes
@@ -1826,8 +1857,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
*/
break;
}
- else
- if(urlnum > 1) {
+ else if(urlnum > 1) {
/* when url globbing, exit loop upon critical error */
if(is_fatal_error(result))
break;
@@ -1973,7 +2003,7 @@ CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[])
size_t count = 0;
struct OperationConfig *operation = config->first;
- /* Get the required aguments for each operation */
+ /* Get the required arguments for each operation */
while(!result && operation) {
result = get_args(operation, count++);
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
index f78d058c..6fae2362 100644
--- a/src/tool_urlglob.c
+++ b/src/tool_urlglob.c
@@ -579,7 +579,7 @@ CURLcode glob_next_url(char **globbed, URLGlob *glob)
}
break;
case UPTNumRange:
- snprintf(buf, buflen, "%0*ld",
+ snprintf(buf, buflen, "%0*lu",
pat->content.NumRange.padlength,
pat->content.NumRange.ptr_n);
len = strlen(buf);
diff --git a/src/tool_version.h b/src/tool_version.h
index 6b0b55e5..0752dec2 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.59.0"
+#define CURL_VERSION "7.60.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/FILEFORMAT b/tests/FILEFORMAT
index 5426f333..d584ac16 100644
--- a/tests/FILEFORMAT
+++ b/tests/FILEFORMAT
@@ -231,6 +231,7 @@ ipv6
Kerberos
large_file
libz
+manual
Metalink
NSS
NTLM
@@ -293,8 +294,8 @@ command is run. They are cleared again after the command has been run.
Variables are first substituted as in the <command> section.
</setenv>
-<command [option="no-output/no-include"] [timeout="secs"] [delay="secs"]
- [type="perl"]>
+<command [option="no-output/no-include/force-output"] [timeout="secs"]
+ [delay="secs"][type="perl"]>
command line to run, there's a bunch of %variables that get replaced
accordingly.
@@ -317,6 +318,9 @@ Set option="no-output" to prevent the test script to slap on the --output
argument that directs the output to a file. The --output is also not added if
the verify/stdout section is used.
+Set option="force-output" to make use of --output even when the test is
+otherwise written to verify stdout.
+
Set option="no-include" to prevent the test script to slap on the --include
argument.
diff --git a/tests/certs/Makefile.am b/tests/certs/Makefile.am
index 7e7f1fa3..6a1c22aa 100644
--- a/tests/certs/Makefile.am
+++ b/tests/certs/Makefile.am
@@ -62,7 +62,25 @@ GENERATEDCERTS = \
Server-localhost0h-sv.key \
Server-localhost0h-sv.pem \
Server-localhost0h-sv.pub.der \
- Server-localhost0h-sv.pub.pem
+ Server-localhost0h-sv.pub.pem \
+ Server-localhost-firstSAN-sv.crl \
+ Server-localhost-firstSAN-sv.crt \
+ Server-localhost-firstSAN-sv.csr \
+ Server-localhost-firstSAN-sv.der \
+ Server-localhost-firstSAN-sv.dhp \
+ Server-localhost-firstSAN-sv.key \
+ Server-localhost-firstSAN-sv.pem \
+ Server-localhost-firstSAN-sv.pub.der \
+ Server-localhost-firstSAN-sv.pub.pem \
+ Server-localhost-lastSAN-sv.crl \
+ Server-localhost-lastSAN-sv.crt \
+ Server-localhost-lastSAN-sv.csr \
+ Server-localhost-lastSAN-sv.der \
+ Server-localhost-lastSAN-sv.dhp \
+ Server-localhost-lastSAN-sv.key \
+ Server-localhost-lastSAN-sv.pem \
+ Server-localhost-lastSAN-sv.pub.der \
+ Server-localhost-lastSAN-sv.pub.pem
SRPFILES = \
srp-verifier-conf \
@@ -76,7 +94,8 @@ clean-certs:
cd $(srcdir); rm -f $(GENERATEDCERTS)
build-certs: $(srcdir)/EdelCurlRoot-ca.cacert $(srcdir)/Server-localhost-sv.pem \
- $(srcdir)/Server-localhost.nn-sv.pem $(srcdir)/Server-localhost0h-sv.pem
+ $(srcdir)/Server-localhost.nn-sv.pem $(srcdir)/Server-localhost0h-sv.pem \
+ $(srcdir)/Server-localhost-firstSAN-sv.pem $(srcdir)/Server-localhost-lastSAN-sv.pem
$(srcdir)/EdelCurlRoot-ca.cacert:
cd $(srcdir); scripts/genroot.sh EdelCurlRoot
@@ -89,3 +108,9 @@ $(srcdir)/Server-localhost.nn-sv.pem: $(srcdir)/EdelCurlRoot-ca.cacert
$(srcdir)/Server-localhost0h-sv.pem: $(srcdir)/EdelCurlRoot-ca.cacert
cd $(srcdir); scripts/genserv.sh Server-localhost0h EdelCurlRoot
+
+$(srcdir)/Server-localhost-firstSAN-sv.pem: $(srcdir)/EdelCurlRoot-ca.cacert
+ cd $(srcdir); scripts/genserv.sh Server-localhost-firstSAN EdelCurlRoot
+
+$(srcdir)/Server-localhost-lastSAN-sv.pem: $(srcdir)/EdelCurlRoot-ca.cacert
+ cd $(srcdir); scripts/genserv.sh Server-localhost-firstSAN EdelCurlRoot
diff --git a/tests/certs/Server-localhost-firstSAN-sv.crl b/tests/certs/Server-localhost-firstSAN-sv.crl
new file mode 100644
index 00000000..af0be0d3
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.crl
@@ -0,0 +1,13 @@
+-----BEGIN X509 CRL-----
+MIIB9TCB3gIBATANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJOTjExMC8GA1UE
+CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDEmMCQG
+A1UEAwwdTm9ydGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IXDTE2MDgzMDE4MzIx
+NVoXDTE2MDkyOTE4MzIxNVowMjAXAgYNZJ8o86IXDTE2MDgzMDE4MzAxNVowFwIG
+DWSfO0UqFw0xNjA4MzAxODMyMTVaoA4wDDAKBgNVHRQEAwIBATANBgkqhkiG9w0B
+AQUFAAOCAQEAOUlXQDrOURgODds6feyO+87oPHkgTveOiTm8CtSVHObxwkPkHTIg
+pivd7iXccgEc8CstcGF9Pk5KLVJrXXxEKgGr69NZNGtHa8xXlYSIh+Vre0Pni3Px
+sUAMcsnvGt+cYw/5s/2Wy9u5UVzfJwdxjkxMMp9X648AqeSop229541zGV47M4ox
+h0wh2Mj/w/CFUKw0ijVgVWff5DhKXVaLPCXdh7hhgXcsYUZ4W3G/iOL/jd+Ji88o
+OmZvoP+MOco6or13rz178bGB1mS626z7EU/HNgP8sn25TyQwwopr9uW6H7VvRMaI
+6uwWvihKgoGCRVSVwYEfX+oOLadfJqdHdg==
+-----END X509 CRL-----
diff --git a/tests/certs/Server-localhost-firstSAN-sv.crt b/tests/certs/Server-localhost-firstSAN-sv.crt
new file mode 100644
index 00000000..5e37ef0e
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.crt
@@ -0,0 +1,80 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 14725819352362 (0xd649f3b452a)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = Northern Nowhere Trust Anchor
+ Validity
+ Not Before: Aug 30 18:32:15 2016 GMT
+ Not After : Nov 16 18:32:15 2024 GMT
+ Subject:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = localhost.nn
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:c5:87:2e:fb:f5:88:8a:39:4c:62:88:9f:fb:4a:
+ 02:1c:27:92:9d:0b:65:a2:70:1f:d1:b7:de:c8:1d:
+ 87:28:4b:9c:4b:cc:f6:f6:7c:83:1f:2d:76:be:41:
+ 29:5e:31:fa:23:0c:2d:7d:cb:38:c2:8b:54:8f:fc:
+ 6a:50:6d:c7:d7:af:72:fb:3b:a1:a7:4d:c4:1b:d2:
+ 0d:75:7c:92:62:97:48:c4:e8:12:c0:00:33:66:0e:
+ 28:17:0f:5c:36:d6:50:70:ec:c8:9f:a2:ae:b9:eb:
+ eb:19:05:f0:53:83:42:2a:ae:40:1f:fa:fb:7a:b7:
+ 86:4c:ab:6b:28:0b:2f:7f:81
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ DNS:localhost, DNS:localhost1, DNS:localhost2
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Key Agreement
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Key Identifier:
+ 2C:4D:DD:54:88:59:3F:A4:34:9C:E3:56:FF:95:0F:E2:CE:51:20:95
+ 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
+ 77:cd:d2:17:91:a6:4b:70:de:79:6a:20:82:a3:56:a3:d0:6a:
+ ba:f7:7d:6f:00:69:d2:06:06:0b:da:cd:49:9d:36:fd:d0:cc:
+ bd:8a:dc:e1:d6:89:c9:23:02:8a:19:2d:14:ca:c6:06:87:66:
+ c7:f4:32:37:95:0d:f1:a7:1c:a1:fe:43:4f:3b:03:03:e2:1a:
+ c6:fc:91:d5:0d:a0:7e:82:60:14:31:2f:6d:b8:f4:57:98:8d:
+ 04:74:a3:82:28:6d:1c:b4:de:1a:70:bd:fe:73:ac:b7:96:ec:
+ 7c:9b:6d:64:c6:f8:67:39:c7:ea:f4:aa:48:26:b8:14:85:f0:
+ 00:ab:8f:bd:1a:95:e2:a7:63:92:35:1e:37:04:c2:70:2c:1c:
+ 56:95:b1:83:70:8c:99:88:1c:8a:6f:7a:a2:0d:84:dd:4f:0e:
+ 3e:8b:fb:31:cf:ae:ee:b0:e4:f6:c1:8d:d1:98:a9:8d:17:1f:
+ 5d:5a:79:e8:7c:97:ab:40:bc:aa:7e:c4:0b:19:30:ad:18:aa:
+ 9c:9b:eb:3f:35:d3:86:9c:3a:cc:e6:9a:2c:47:d1:bb:36:6e:
+ f2:c5:d4:e3:0c:5b:c6:eb:30:e6:0d:3a:4b:3a:a3:6b:62:93:
+ 8b:6a:59:1f:48:66:2e:d9:70:14:b6:aa:4f:d1:3b:38:5e:e6:
+ 79:7f:b7:00
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIGDWSfO0UqMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
+IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
+Fw0xNjA4MzAxODMyMTVaFw0yNDExMTYxODMyMTVaMFcxCzAJBgNVBAYTAk5OMTEw
+LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
+MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMWHLvv1iIo5TGKIn/tKAhwnkp0LZaJwH9G33sgdhyhLnEvM9vZ8gx8tdr5B
+KV4x+iMMLX3LOMKLVI/8alBtx9evcvs7oadNxBvSDXV8kmKXSMToEsAAM2YOKBcP
+XDbWUHDsyJ+irrnr6xkF8FODQiquQB/6+3q3hkyraygLL3+BAgMBAAGjgZ4wgZsw
+LAYDVR0RBCUwI4IJbG9jYWxob3N0ggpsb2NhbGhvc3Qxggpsb2NhbGhvc3QyMAsG
+A1UdDwQEAwIDqDATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQULE3dVIhZ
+P6Q0nONW/5UP4s5RIJUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84w
+CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAd83SF5GmS3DeeWoggqNWo9Bq
+uvd9bwBp0gYGC9rNSZ02/dDMvYrc4daJySMCihktFMrGBodmx/QyN5UN8accof5D
+TzsDA+IaxvyR1Q2gfoJgFDEvbbj0V5iNBHSjgihtHLTeGnC9/nOst5bsfJttZMb4
+ZznH6vSqSCa4FIXwAKuPvRqV4qdjkjUeNwTCcCwcVpWxg3CMmYgcim96og2E3U8O
+Pov7Mc+u7rDk9sGN0ZipjRcfXVp56HyXq0C8qn7ECxkwrRiqnJvrPzXThpw6zOaa
+LEfRuzZu8sXU4wxbxusw5g06Szqja2KTi2pZH0hmLtlwFLaqT9E7OF7meX+3AA==
+-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-firstSAN-sv.csr b/tests/certs/Server-localhost-firstSAN-sv.csr
new file mode 100644
index 00000000..729034e4
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBlzCCAQACAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB
+cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z
+dC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxYcu+/WIijlMYoif+0oC
+HCeSnQtlonAf0bfeyB2HKEucS8z29nyDHy12vkEpXjH6Iwwtfcs4wotUj/xqUG3H
+169y+zuhp03EG9INdXySYpdIxOgSwAAzZg4oFw9cNtZQcOzIn6KuuevrGQXwU4NC
+Kq5AH/r7ereGTKtrKAsvf4ECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GBADlhAYRy
+2heMP/fGllGXW/uAEm2q6ubWhqgd3/5d+06LjTIs57qT/nwbr79e1PxholGWM+Zb
+/NGKZ4geZK0mJT/gnaJCyUsrjdp2KIEw9zmBoZyypJd/5Fhe1tzX0xwG40+3np9K
+orpp7wcILLeMho8+I4mNEzOJHidxy/9uia5U
+-----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost-firstSAN-sv.der b/tests/certs/Server-localhost-firstSAN-sv.der
new file mode 100644
index 00000000..c878bfb1
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.der
Binary files differ
diff --git a/tests/certs/Server-localhost-firstSAN-sv.dhp b/tests/certs/Server-localhost-firstSAN-sv.dhp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.dhp
diff --git a/tests/certs/Server-localhost-firstSAN-sv.key b/tests/certs/Server-localhost-firstSAN-sv.key
new file mode 100644
index 00000000..49032663
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDFhy779YiKOUxiiJ/7SgIcJ5KdC2WicB/Rt97IHYcoS5xLzPb2
+fIMfLXa+QSleMfojDC19yzjCi1SP/GpQbcfXr3L7O6GnTcQb0g11fJJil0jE6BLA
+ADNmDigXD1w21lBw7Mifoq656+sZBfBTg0IqrkAf+vt6t4ZMq2soCy9/gQIDAQAB
+AoGAUjKXErJyR1LgvoAsUt3RUvYExOVhPd963kKtqojfHZ2ZRNHeU2QtDGRW7YUg
+OdqCRONkatyOmiZw4hogA6graJKiqKLvM/F4qRoLsxH9T/cSOIl9QjZVkUd1HV/Z
+iJluibPTewVyfoYzkq48GN+QIi//msYKBjI5Q2Yybn4WrgECQQDk/mDp4sAvuLXL
+NxaQKuDZA5TxU2u8GTItFqOoHneVFSJLE4O3kr7wh47O817mnljZfskZwVXBYx6R
+VbXsy8ZJAkEA3NLRFh8cR03CN+eYPi33JrUVRSrn8eAB5MNOaOdO4mT0pTAzfVfe
+g6rMDnK2n7WZzwf6YmvRVyppW2/kQjyPeQJAXoa3ILTuWoSn3owN71MT3+E/oWKr
+LUlFUiFvSx3QhSTlNBKJI8UatpVumPUTbqVczeMtRkltidfNrXaxE1+GqQJAW9WU
+vMVtZj3xUnyPNPS6vy85zE0ertmBEBklJ71icgaYM4aLM0pysIE8YZnVVzAX6iCg
+QYQjSEPMEwnCfMVgyQJAcWnk6HPLbJmUt+ZGGAcqzfycR6jMKFnm4st2Ld6JuDT2
+h2lb40Uma9gO+aXLIf+K9prCxb+7nR1M3qLwV4krkQ==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost-firstSAN-sv.pem b/tests/certs/Server-localhost-firstSAN-sv.pem
new file mode 100644
index 00000000..2b5ada51
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.pem
@@ -0,0 +1,120 @@
+extensions = x509v3
+[ x509v3 ]
+subjectAltName = DNS:localhost,DNS:localhost1,DNS:localhost2
+keyUsage = keyEncipherment,digitalSignature,keyAgreement
+extendedKeyUsage = serverAuth
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid
+basicConstraints = CA:false
+[ req ]
+default_bits = 1024
+distinguished_name = req_DN
+default_md = sha256
+string_mask = utf8only
+[ req_DN ]
+countryName = "Country Name is Northern Nowhere"
+countryName_value = NN
+organizationName = "Organization Name"
+organizationName_value = Edel Curl Arctic Illudium Research Cloud
+commonName = "Common Name"
+commonName_value = localhost.nn
+
+[something]
+# The key
+# the certificate
+# some dhparam
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDFhy779YiKOUxiiJ/7SgIcJ5KdC2WicB/Rt97IHYcoS5xLzPb2
+fIMfLXa+QSleMfojDC19yzjCi1SP/GpQbcfXr3L7O6GnTcQb0g11fJJil0jE6BLA
+ADNmDigXD1w21lBw7Mifoq656+sZBfBTg0IqrkAf+vt6t4ZMq2soCy9/gQIDAQAB
+AoGAUjKXErJyR1LgvoAsUt3RUvYExOVhPd963kKtqojfHZ2ZRNHeU2QtDGRW7YUg
+OdqCRONkatyOmiZw4hogA6graJKiqKLvM/F4qRoLsxH9T/cSOIl9QjZVkUd1HV/Z
+iJluibPTewVyfoYzkq48GN+QIi//msYKBjI5Q2Yybn4WrgECQQDk/mDp4sAvuLXL
+NxaQKuDZA5TxU2u8GTItFqOoHneVFSJLE4O3kr7wh47O817mnljZfskZwVXBYx6R
+VbXsy8ZJAkEA3NLRFh8cR03CN+eYPi33JrUVRSrn8eAB5MNOaOdO4mT0pTAzfVfe
+g6rMDnK2n7WZzwf6YmvRVyppW2/kQjyPeQJAXoa3ILTuWoSn3owN71MT3+E/oWKr
+LUlFUiFvSx3QhSTlNBKJI8UatpVumPUTbqVczeMtRkltidfNrXaxE1+GqQJAW9WU
+vMVtZj3xUnyPNPS6vy85zE0ertmBEBklJ71icgaYM4aLM0pysIE8YZnVVzAX6iCg
+QYQjSEPMEwnCfMVgyQJAcWnk6HPLbJmUt+ZGGAcqzfycR6jMKFnm4st2Ld6JuDT2
+h2lb40Uma9gO+aXLIf+K9prCxb+7nR1M3qLwV4krkQ==
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 14725819352362 (0xd649f3b452a)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = Northern Nowhere Trust Anchor
+ Validity
+ Not Before: Aug 30 18:32:15 2016 GMT
+ Not After : Nov 16 18:32:15 2024 GMT
+ Subject:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = localhost.nn
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:c5:87:2e:fb:f5:88:8a:39:4c:62:88:9f:fb:4a:
+ 02:1c:27:92:9d:0b:65:a2:70:1f:d1:b7:de:c8:1d:
+ 87:28:4b:9c:4b:cc:f6:f6:7c:83:1f:2d:76:be:41:
+ 29:5e:31:fa:23:0c:2d:7d:cb:38:c2:8b:54:8f:fc:
+ 6a:50:6d:c7:d7:af:72:fb:3b:a1:a7:4d:c4:1b:d2:
+ 0d:75:7c:92:62:97:48:c4:e8:12:c0:00:33:66:0e:
+ 28:17:0f:5c:36:d6:50:70:ec:c8:9f:a2:ae:b9:eb:
+ eb:19:05:f0:53:83:42:2a:ae:40:1f:fa:fb:7a:b7:
+ 86:4c:ab:6b:28:0b:2f:7f:81
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ DNS:localhost, DNS:localhost1, DNS:localhost2
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Key Agreement
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Key Identifier:
+ 2C:4D:DD:54:88:59:3F:A4:34:9C:E3:56:FF:95:0F:E2:CE:51:20:95
+ 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
+ 77:cd:d2:17:91:a6:4b:70:de:79:6a:20:82:a3:56:a3:d0:6a:
+ ba:f7:7d:6f:00:69:d2:06:06:0b:da:cd:49:9d:36:fd:d0:cc:
+ bd:8a:dc:e1:d6:89:c9:23:02:8a:19:2d:14:ca:c6:06:87:66:
+ c7:f4:32:37:95:0d:f1:a7:1c:a1:fe:43:4f:3b:03:03:e2:1a:
+ c6:fc:91:d5:0d:a0:7e:82:60:14:31:2f:6d:b8:f4:57:98:8d:
+ 04:74:a3:82:28:6d:1c:b4:de:1a:70:bd:fe:73:ac:b7:96:ec:
+ 7c:9b:6d:64:c6:f8:67:39:c7:ea:f4:aa:48:26:b8:14:85:f0:
+ 00:ab:8f:bd:1a:95:e2:a7:63:92:35:1e:37:04:c2:70:2c:1c:
+ 56:95:b1:83:70:8c:99:88:1c:8a:6f:7a:a2:0d:84:dd:4f:0e:
+ 3e:8b:fb:31:cf:ae:ee:b0:e4:f6:c1:8d:d1:98:a9:8d:17:1f:
+ 5d:5a:79:e8:7c:97:ab:40:bc:aa:7e:c4:0b:19:30:ad:18:aa:
+ 9c:9b:eb:3f:35:d3:86:9c:3a:cc:e6:9a:2c:47:d1:bb:36:6e:
+ f2:c5:d4:e3:0c:5b:c6:eb:30:e6:0d:3a:4b:3a:a3:6b:62:93:
+ 8b:6a:59:1f:48:66:2e:d9:70:14:b6:aa:4f:d1:3b:38:5e:e6:
+ 79:7f:b7:00
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIGDWSfO0UqMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
+IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
+Fw0xNjA4MzAxODMyMTVaFw0yNDExMTYxODMyMTVaMFcxCzAJBgNVBAYTAk5OMTEw
+LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
+MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMWHLvv1iIo5TGKIn/tKAhwnkp0LZaJwH9G33sgdhyhLnEvM9vZ8gx8tdr5B
+KV4x+iMMLX3LOMKLVI/8alBtx9evcvs7oadNxBvSDXV8kmKXSMToEsAAM2YOKBcP
+XDbWUHDsyJ+irrnr6xkF8FODQiquQB/6+3q3hkyraygLL3+BAgMBAAGjgZ4wgZsw
+LAYDVR0RBCUwI4IJbG9jYWxob3N0ggpsb2NhbGhvc3Qxggpsb2NhbGhvc3QyMAsG
+A1UdDwQEAwIDqDATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQULE3dVIhZ
+P6Q0nONW/5UP4s5RIJUwHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84w
+CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAd83SF5GmS3DeeWoggqNWo9Bq
+uvd9bwBp0gYGC9rNSZ02/dDMvYrc4daJySMCihktFMrGBodmx/QyN5UN8accof5D
+TzsDA+IaxvyR1Q2gfoJgFDEvbbj0V5iNBHSjgihtHLTeGnC9/nOst5bsfJttZMb4
+ZznH6vSqSCa4FIXwAKuPvRqV4qdjkjUeNwTCcCwcVpWxg3CMmYgcim96og2E3U8O
+Pov7Mc+u7rDk9sGN0ZipjRcfXVp56HyXq0C8qn7ECxkwrRiqnJvrPzXThpw6zOaa
+LEfRuzZu8sXU4wxbxusw5g06Szqja2KTi2pZH0hmLtlwFLaqT9E7OF7meX+3AA==
+-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-firstSAN-sv.pub.der b/tests/certs/Server-localhost-firstSAN-sv.pub.der
new file mode 100644
index 00000000..fb1b486a
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.pub.der
Binary files differ
diff --git a/tests/certs/Server-localhost-firstSAN-sv.pub.pem b/tests/certs/Server-localhost-firstSAN-sv.pub.pem
new file mode 100644
index 00000000..ef145947
--- /dev/null
+++ b/tests/certs/Server-localhost-firstSAN-sv.pub.pem
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFhy779YiKOUxiiJ/7SgIcJ5Kd
+C2WicB/Rt97IHYcoS5xLzPb2fIMfLXa+QSleMfojDC19yzjCi1SP/GpQbcfXr3L7
+O6GnTcQb0g11fJJil0jE6BLAADNmDigXD1w21lBw7Mifoq656+sZBfBTg0IqrkAf
++vt6t4ZMq2soCy9/gQIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.crl b/tests/certs/Server-localhost-lastSAN-sv.crl
new file mode 100644
index 00000000..486bf926
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.crl
@@ -0,0 +1,14 @@
+-----BEGIN X509 CRL-----
+MIICDjCB9wIBATANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJOTjExMC8GA1UE
+CgwoRWRlbCBDdXJsIEFyY3RpYyBJbGx1ZGl1bSBSZXNlYXJjaCBDbG91ZDEmMCQG
+A1UEAwwdTm9ydGhlcm4gTm93aGVyZSBUcnVzdCBBbmNob3IXDTE2MDgzMDE4MzI1
+N1oXDTE2MDkyOTE4MzI1N1owSzAXAgYNZJ8o86IXDTE2MDgzMDE4MzAxNVowFwIG
+DWSfO0UqFw0xNjA4MzAxODMyMTVaMBcCBg1kn0GuixcNMTYwODMwMTgzMjU3WqAO
+MAwwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQEFBQADggEBAE0v3zGBeKKuODAUugh7
+l6bJi7Cs0CDhuBJ8wCpwL5XRGwWhYChJtEXWFUKLBhMarIPYKEv3f3rd8gtFII/8
+wmnxoTL6eXZNL+FpHkZJ+blsHi73G7xzpB6kdFHIxI4tixwiUCe85u6WIRWkIEBs
+kyPPAgbnosF37umQfEaBrweVy+EztrYw8jgd0oDBybQp25p7Noa0N4uDoDInuOgP
+A7Q1Zf0ndWjrlEQtjMAUdA6blGKlb8BjMPtX50mbXuXctLeICns8TVUSQSiKU+oR
+1QTgbkl+AfdaFlfNAum4a42bCLyeBQ/O31NydZbCE8o2q9PqPepAkL9dXhMLiK/a
+tjA=
+-----END X509 CRL-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.crt b/tests/certs/Server-localhost-lastSAN-sv.crt
new file mode 100644
index 00000000..a6d8ae9c
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.crt
@@ -0,0 +1,80 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 14725819772555 (0xd649f41ae8b)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = Northern Nowhere Trust Anchor
+ Validity
+ Not Before: Aug 30 18:32:57 2016 GMT
+ Not After : Nov 16 18:32:57 2024 GMT
+ Subject:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = localhost.nn
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:a3:2a:75:d7:bf:75:41:40:be:42:b8:b9:00:28:
+ f1:45:29:55:bc:36:ca:a6:b7:86:93:97:25:84:aa:
+ c9:80:ac:41:d9:28:fb:b0:68:4b:5b:ee:bd:94:83:
+ da:2b:f6:cc:cc:11:df:fb:48:e6:e9:d5:97:41:7f:
+ 9a:0d:b7:87:96:12:22:41:2a:7f:95:8a:14:d6:6c:
+ 4b:34:df:18:29:01:0d:b2:3c:4d:c8:c4:5e:87:fa:
+ 9f:aa:ee:a4:73:e9:bb:74:57:85:24:2a:51:e4:43:
+ 5c:4b:97:51:52:b9:82:6e:9c:ce:ae:0f:91:45:25:
+ f9:b4:24:66:8e:47:1f:d7:d5
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ DNS:localhost1, DNS:localhost2, DNS:localhost
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Key Agreement
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Key Identifier:
+ 2C:CF:E3:6E:08:F9:CE:9B:98:3B:B3:17:7F:0C:9D:E4:5B:1B:76:8A
+ 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
+ 2e:3d:c1:a2:a7:e4:70:f8:a8:13:86:c3:af:22:1f:e9:e1:62:
+ f4:cf:16:66:a8:3b:70:f6:12:30:be:fe:8e:44:1b:71:b5:c1:
+ e0:4b:66:c4:5d:d4:d7:7d:49:43:4a:6d:22:1b:ce:3d:e3:14:
+ 14:b3:6d:3a:93:39:0c:9b:2c:83:35:1d:7e:7c:29:29:3c:51:
+ 6b:27:c3:5b:2d:f2:61:18:f8:c7:90:be:3b:68:3f:08:9b:ac:
+ 68:01:d2:0c:ec:aa:5d:9e:78:b7:8b:84:04:01:b2:08:ef:df:
+ 0c:f2:29:99:fe:61:d1:65:80:aa:ef:df:8e:28:55:a6:f9:88:
+ 0c:01:bb:fc:1c:9e:9c:08:8d:c5:34:24:91:c1:ac:71:22:e1:
+ 12:78:e0:45:d5:e2:39:c4:3c:16:09:80:d0:5b:bc:49:0a:4c:
+ a3:5b:e1:36:40:ed:26:6d:8d:a0:d3:4a:3c:86:93:2f:d4:0a:
+ 3c:72:08:62:d7:66:d0:b3:05:c2:0f:1d:af:3c:65:67:f2:6c:
+ 76:a5:9c:37:ac:c4:ac:96:b7:e4:c0:ef:a4:5b:28:1e:16:09:
+ 15:f6:7b:bb:5d:a2:94:9a:df:52:7b:ae:c9:39:f4:18:9e:84:
+ 57:6c:d3:6d:ae:35:38:8f:8f:9b:0d:df:77:69:ae:25:ec:ce:
+ d0:2b:bd:8d
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIGDWSfQa6LMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
+IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
+Fw0xNjA4MzAxODMyNTdaFw0yNDExMTYxODMyNTdaMFcxCzAJBgNVBAYTAk5OMTEw
+LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
+MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAKMqdde/dUFAvkK4uQAo8UUpVbw2yqa3hpOXJYSqyYCsQdko+7BoS1vuvZSD
+2iv2zMwR3/tI5unVl0F/mg23h5YSIkEqf5WKFNZsSzTfGCkBDbI8TcjEXof6n6ru
+pHPpu3RXhSQqUeRDXEuXUVK5gm6czq4PkUUl+bQkZo5HH9fVAgMBAAGjgZ4wgZsw
+LAYDVR0RBCUwI4IKbG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsG
+A1UdDwQEAwIDqDATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQULM/jbgj5
+zpuYO7MXfwyd5FsbdoowHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84w
+CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEALj3BoqfkcPioE4bDryIf6eFi
+9M8WZqg7cPYSML7+jkQbcbXB4EtmxF3U131JQ0ptIhvOPeMUFLNtOpM5DJssgzUd
+fnwpKTxRayfDWy3yYRj4x5C+O2g/CJusaAHSDOyqXZ54t4uEBAGyCO/fDPIpmf5h
+0WWAqu/fjihVpvmIDAG7/ByenAiNxTQkkcGscSLhEnjgRdXiOcQ8FgmA0Fu8SQpM
+o1vhNkDtJm2NoNNKPIaTL9QKPHIIYtdm0LMFwg8drzxlZ/JsdqWcN6zErJa35MDv
+pFsoHhYJFfZ7u12ilJrfUnuuyTn0GJ6EV2zTba41OI+Pmw3fd2muJezO0Cu9jQ==
+-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.csr b/tests/certs/Server-localhost-lastSAN-sv.csr
new file mode 100644
index 00000000..bf635554
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.csr
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBlzCCAQACAQAwVzELMAkGA1UEBhMCTk4xMTAvBgNVBAoMKEVkZWwgQ3VybCBB
+cmN0aWMgSWxsdWRpdW0gUmVzZWFyY2ggQ2xvdWQxFTATBgNVBAMMDGxvY2FsaG9z
+dC5ubjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoyp11791QUC+Qri5ACjx
+RSlVvDbKpreGk5clhKrJgKxB2Sj7sGhLW+69lIPaK/bMzBHf+0jm6dWXQX+aDbeH
+lhIiQSp/lYoU1mxLNN8YKQENsjxNyMReh/qfqu6kc+m7dFeFJCpR5ENcS5dRUrmC
+bpzOrg+RRSX5tCRmjkcf19UCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GBACoIAlf0
+hSnZJOBBt7FS7iXlNRyKZAD881jhHFux+Gxq3gtbJsP57c+ALZ3MswjjUXW0Iq11
+IZLeZQGCAHYp4/GuTHbaq0qo1LjgpTqgQfwEB3BqNGs6yJiST+3risgawFbfqEDY
+LCm7rs/yyaOdMjwdwrUMciSv5KtlXZ1VThyt
+-----END CERTIFICATE REQUEST-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.der b/tests/certs/Server-localhost-lastSAN-sv.der
new file mode 100644
index 00000000..5ffa9ce3
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.der
Binary files differ
diff --git a/tests/certs/Server-localhost-lastSAN-sv.dhp b/tests/certs/Server-localhost-lastSAN-sv.dhp
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.dhp
diff --git a/tests/certs/Server-localhost-lastSAN-sv.key b/tests/certs/Server-localhost-lastSAN-sv.key
new file mode 100644
index 00000000..824ee6fe
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQCjKnXXv3VBQL5CuLkAKPFFKVW8Nsqmt4aTlyWEqsmArEHZKPuw
+aEtb7r2Ug9or9szMEd/7SObp1ZdBf5oNt4eWEiJBKn+VihTWbEs03xgpAQ2yPE3I
+xF6H+p+q7qRz6bt0V4UkKlHkQ1xLl1FSuYJunM6uD5FFJfm0JGaORx/X1QIDAQAB
+AoGAaC2QGDSSNRuVXxx6YnPBuJrvtsB1G4VKU6nJtq8lARb65CCassOkegow2UZm
+YnOtxw4SqGqfpOVPMe66+c8Yrd+6zimC7VorxmfhNxqOO34bxzztKKk8Q7c+odl3
++c4aVnFBk2hzuOW4PuJoFfFNQZWmh/XJdKK85X+bkryS/oECQQDTdzwYyDxvrPaw
+ZeR5oDleopk5W5QwmBAq4ehtie1oZfhzlNZzPOjnI9I71MRYdCwkesKHL2k6q7cT
+jA4sSmx5AkEAxYc6+o8l0/HE8HzypWe/ZfozaY3ccIFzmvcwQorbCvAxDtZ1DbFy
+VWLOgM/6gwDIUDF6ckaInaVmiVJl60Y3PQJAZFBOuO7cBJoHWDytuqiwLl1x1EzG
+KpsoKD+MU9I3RewBhUrYxEfjsCpFA8716YQKoK9/ckOiZouoyGQLISWY+QJAG5id
+AMxm+Ilafk62h61K7DBcZm7PUViEki3erC1CFPEhqXUEvXkBBDTdrNlholPFqI6B
+EN4R0BR/ksfUPV598QJAF8jl/8gz8pmAWmqw8tKbWdQeDgisyTHeYlPMxq4fUbLH
+mJk05csSX9CTg4eO7NRRwPxODKmPCd88sZZSOuTQmQ==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.pem b/tests/certs/Server-localhost-lastSAN-sv.pem
new file mode 100644
index 00000000..b563e0a7
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.pem
@@ -0,0 +1,120 @@
+extensions = x509v3
+[ x509v3 ]
+subjectAltName = DNS:localhost1,DNS:localhost2,DNS:localhost
+keyUsage = keyEncipherment,digitalSignature,keyAgreement
+extendedKeyUsage = serverAuth
+subjectKeyIdentifier = hash
+authorityKeyIdentifier = keyid
+basicConstraints = CA:false
+[ req ]
+default_bits = 1024
+distinguished_name = req_DN
+default_md = sha256
+string_mask = utf8only
+[ req_DN ]
+countryName = "Country Name is Northern Nowhere"
+countryName_value = NN
+organizationName = "Organization Name"
+organizationName_value = Edel Curl Arctic Illudium Research Cloud
+commonName = "Common Name"
+commonName_value = localhost.nn
+
+[something]
+# The key
+# the certificate
+# some dhparam
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQCjKnXXv3VBQL5CuLkAKPFFKVW8Nsqmt4aTlyWEqsmArEHZKPuw
+aEtb7r2Ug9or9szMEd/7SObp1ZdBf5oNt4eWEiJBKn+VihTWbEs03xgpAQ2yPE3I
+xF6H+p+q7qRz6bt0V4UkKlHkQ1xLl1FSuYJunM6uD5FFJfm0JGaORx/X1QIDAQAB
+AoGAaC2QGDSSNRuVXxx6YnPBuJrvtsB1G4VKU6nJtq8lARb65CCassOkegow2UZm
+YnOtxw4SqGqfpOVPMe66+c8Yrd+6zimC7VorxmfhNxqOO34bxzztKKk8Q7c+odl3
++c4aVnFBk2hzuOW4PuJoFfFNQZWmh/XJdKK85X+bkryS/oECQQDTdzwYyDxvrPaw
+ZeR5oDleopk5W5QwmBAq4ehtie1oZfhzlNZzPOjnI9I71MRYdCwkesKHL2k6q7cT
+jA4sSmx5AkEAxYc6+o8l0/HE8HzypWe/ZfozaY3ccIFzmvcwQorbCvAxDtZ1DbFy
+VWLOgM/6gwDIUDF6ckaInaVmiVJl60Y3PQJAZFBOuO7cBJoHWDytuqiwLl1x1EzG
+KpsoKD+MU9I3RewBhUrYxEfjsCpFA8716YQKoK9/ckOiZouoyGQLISWY+QJAG5id
+AMxm+Ilafk62h61K7DBcZm7PUViEki3erC1CFPEhqXUEvXkBBDTdrNlholPFqI6B
+EN4R0BR/ksfUPV598QJAF8jl/8gz8pmAWmqw8tKbWdQeDgisyTHeYlPMxq4fUbLH
+mJk05csSX9CTg4eO7NRRwPxODKmPCd88sZZSOuTQmQ==
+-----END RSA PRIVATE KEY-----
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 14725819772555 (0xd649f41ae8b)
+ Signature Algorithm: sha1WithRSAEncryption
+ Issuer:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = Northern Nowhere Trust Anchor
+ Validity
+ Not Before: Aug 30 18:32:57 2016 GMT
+ Not After : Nov 16 18:32:57 2024 GMT
+ Subject:
+ countryName = NN
+ organizationName = Edel Curl Arctic Illudium Research Cloud
+ commonName = localhost.nn
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ Public-Key: (1024 bit)
+ Modulus:
+ 00:a3:2a:75:d7:bf:75:41:40:be:42:b8:b9:00:28:
+ f1:45:29:55:bc:36:ca:a6:b7:86:93:97:25:84:aa:
+ c9:80:ac:41:d9:28:fb:b0:68:4b:5b:ee:bd:94:83:
+ da:2b:f6:cc:cc:11:df:fb:48:e6:e9:d5:97:41:7f:
+ 9a:0d:b7:87:96:12:22:41:2a:7f:95:8a:14:d6:6c:
+ 4b:34:df:18:29:01:0d:b2:3c:4d:c8:c4:5e:87:fa:
+ 9f:aa:ee:a4:73:e9:bb:74:57:85:24:2a:51:e4:43:
+ 5c:4b:97:51:52:b9:82:6e:9c:ce:ae:0f:91:45:25:
+ f9:b4:24:66:8e:47:1f:d7:d5
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Subject Alternative Name:
+ DNS:localhost1, DNS:localhost2, DNS:localhost
+ X509v3 Key Usage:
+ Digital Signature, Key Encipherment, Key Agreement
+ X509v3 Extended Key Usage:
+ TLS Web Server Authentication
+ X509v3 Subject Key Identifier:
+ 2C:CF:E3:6E:08:F9:CE:9B:98:3B:B3:17:7F:0C:9D:E4:5B:1B:76:8A
+ 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
+ 2e:3d:c1:a2:a7:e4:70:f8:a8:13:86:c3:af:22:1f:e9:e1:62:
+ f4:cf:16:66:a8:3b:70:f6:12:30:be:fe:8e:44:1b:71:b5:c1:
+ e0:4b:66:c4:5d:d4:d7:7d:49:43:4a:6d:22:1b:ce:3d:e3:14:
+ 14:b3:6d:3a:93:39:0c:9b:2c:83:35:1d:7e:7c:29:29:3c:51:
+ 6b:27:c3:5b:2d:f2:61:18:f8:c7:90:be:3b:68:3f:08:9b:ac:
+ 68:01:d2:0c:ec:aa:5d:9e:78:b7:8b:84:04:01:b2:08:ef:df:
+ 0c:f2:29:99:fe:61:d1:65:80:aa:ef:df:8e:28:55:a6:f9:88:
+ 0c:01:bb:fc:1c:9e:9c:08:8d:c5:34:24:91:c1:ac:71:22:e1:
+ 12:78:e0:45:d5:e2:39:c4:3c:16:09:80:d0:5b:bc:49:0a:4c:
+ a3:5b:e1:36:40:ed:26:6d:8d:a0:d3:4a:3c:86:93:2f:d4:0a:
+ 3c:72:08:62:d7:66:d0:b3:05:c2:0f:1d:af:3c:65:67:f2:6c:
+ 76:a5:9c:37:ac:c4:ac:96:b7:e4:c0:ef:a4:5b:28:1e:16:09:
+ 15:f6:7b:bb:5d:a2:94:9a:df:52:7b:ae:c9:39:f4:18:9e:84:
+ 57:6c:d3:6d:ae:35:38:8f:8f:9b:0d:df:77:69:ae:25:ec:ce:
+ d0:2b:bd:8d
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIGDWSfQa6LMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNVBAYT
+Ak5OMTEwLwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNo
+IENsb3VkMSYwJAYDVQQDDB1Ob3J0aGVybiBOb3doZXJlIFRydXN0IEFuY2hvcjAe
+Fw0xNjA4MzAxODMyNTdaFw0yNDExMTYxODMyNTdaMFcxCzAJBgNVBAYTAk5OMTEw
+LwYDVQQKDChFZGVsIEN1cmwgQXJjdGljIElsbHVkaXVtIFJlc2VhcmNoIENsb3Vk
+MRUwEwYDVQQDDAxsb2NhbGhvc3Qubm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAKMqdde/dUFAvkK4uQAo8UUpVbw2yqa3hpOXJYSqyYCsQdko+7BoS1vuvZSD
+2iv2zMwR3/tI5unVl0F/mg23h5YSIkEqf5WKFNZsSzTfGCkBDbI8TcjEXof6n6ru
+pHPpu3RXhSQqUeRDXEuXUVK5gm6czq4PkUUl+bQkZo5HH9fVAgMBAAGjgZ4wgZsw
+LAYDVR0RBCUwI4IKbG9jYWxob3N0MYIKbG9jYWxob3N0MoIJbG9jYWxob3N0MAsG
+A1UdDwQEAwIDqDATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQULM/jbgj5
+zpuYO7MXfwyd5FsbdoowHwYDVR0jBBgwFoAUEsq6S0YEp3WKLOgOVJS8EmWme84w
+CQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEALj3BoqfkcPioE4bDryIf6eFi
+9M8WZqg7cPYSML7+jkQbcbXB4EtmxF3U131JQ0ptIhvOPeMUFLNtOpM5DJssgzUd
+fnwpKTxRayfDWy3yYRj4x5C+O2g/CJusaAHSDOyqXZ54t4uEBAGyCO/fDPIpmf5h
+0WWAqu/fjihVpvmIDAG7/ByenAiNxTQkkcGscSLhEnjgRdXiOcQ8FgmA0Fu8SQpM
+o1vhNkDtJm2NoNNKPIaTL9QKPHIIYtdm0LMFwg8drzxlZ/JsdqWcN6zErJa35MDv
+pFsoHhYJFfZ7u12ilJrfUnuuyTn0GJ6EV2zTba41OI+Pmw3fd2muJezO0Cu9jQ==
+-----END CERTIFICATE-----
diff --git a/tests/certs/Server-localhost-lastSAN-sv.pub.der b/tests/certs/Server-localhost-lastSAN-sv.pub.der
new file mode 100644
index 00000000..06fe6d06
--- /dev/null
+++ 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
new file mode 100644
index 00000000..a8e2dd4c
--- /dev/null
+++ b/tests/certs/Server-localhost-lastSAN-sv.pub.pem
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjKnXXv3VBQL5CuLkAKPFFKVW8
+Nsqmt4aTlyWEqsmArEHZKPuwaEtb7r2Ug9or9szMEd/7SObp1ZdBf5oNt4eWEiJB
+Kn+VihTWbEs03xgpAQ2yPE3IxF6H+p+q7qRz6bt0V4UkKlHkQ1xLl1FSuYJunM6u
+D5FFJfm0JGaORx/X1QIDAQAB
+-----END PUBLIC KEY-----
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 97daf00c..12373ba6 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -127,9 +127,9 @@ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \
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 \
+test1152 test1153 test1154 test1155 \
\
-test1160 test1161 test1162 test1163 \
+test1160 test1161 test1162 test1163 test1164 \
test1170 test1171 \
test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
@@ -165,7 +165,7 @@ test1424 test1425 test1426 test1427 \
test1428 test1429 test1430 test1431 test1432 test1433 test1434 test1435 \
test1436 test1437 test1438 test1439 test1440 test1441 test1442 test1443 \
test1444 test1445 test1446 test1447 test1448 test1449 test1450 test1451 \
-test1452 test1453 test1454 \
+test1452 test1453 test1454 test1455 test1456 \
test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \
test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \
test1516 test1517 \
@@ -177,6 +177,7 @@ test1533 test1534 test1535 test1536 test1537 test1538 \
test1540 \
test1550 test1551 test1552 test1553 test1554 test1555 test1556 \
test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
+test1608 \
\
test1700 test1701 test1702 \
\
@@ -194,4 +195,6 @@ test2048 test2049 test2050 test2051 test2052 test2053 test2054 test2055 \
test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \
test2064 test2065 test2066 test2067 test2068 test2069 \
\
-test2070 test2071 test2072 test2073
+test2070 test2071 test2072 test2073 \
+\
+test3000 test3001
diff --git a/tests/data/test1026 b/tests/data/test1026
index e47b12a0..bd5dc9c8 100644
--- a/tests/data/test1026
+++ b/tests/data/test1026
@@ -13,6 +13,9 @@
#
# Client-side
<client>
+<features>
+manual
+</features>
<server>
none
</server>
diff --git a/tests/data/test1108 b/tests/data/test1108
index 7b779e11..f83eb957 100644
--- a/tests/data/test1108
+++ b/tests/data/test1108
@@ -11,7 +11,7 @@ PRET
<reply>
<servercmd>
-REPLY PRET 550 unkown command
+REPLY PRET 550 unknown command
</servercmd>
</reply>
diff --git a/tests/data/test1136 b/tests/data/test1136
index d3327e84..2030bd27 100644
--- a/tests/data/test1136
+++ b/tests/data/test1136
@@ -56,8 +56,8 @@ http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
-.www.example.ck TRUE / FALSE 0 test2 allowed2
.www.ck TRUE / FALSE 0 test4 allowed4
+.www.example.ck TRUE / FALSE 0 test2 allowed2
.z-1.compute-1.amazonaws.com TRUE / FALSE 0 test5 forbidden5
</file>
</verify>
diff --git a/tests/data/test1148 b/tests/data/test1148
index 52f6c7eb..f483bcd5 100644
--- a/tests/data/test1148
+++ b/tests/data/test1148
@@ -37,6 +37,10 @@ progress-bar
<command>
http://%HOSTIP:%HTTPPORT/1148 -# --stderr log/stderrlog1148
</command>
+<setenv>
+LC_ALL=
+LC_NUMERIC=en_US.UTF-8
+</setenv>
</client>
#
@@ -50,8 +54,13 @@ Host: %HOSTIP:%HTTPPORT
Accept: */*
</protocol>
+# This allows the last 4 letters of the bar to get updated without it
+# matters. We're mostly checking the width of it anyway.
<file name="log/stderrlog1148">
- ######################################################################## 100.0%
+ bar 100.0%
</file>
+<stripfile>
+s/####################################################################..../bar/
+</stripfile>
</verify>
</testcase>
diff --git a/tests/data/test1155 b/tests/data/test1155
new file mode 100644
index 00000000..0eae2a9d
--- /dev/null
+++ b/tests/data/test1155
@@ -0,0 +1,54 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+cookies
+</keywords>
+</info>
+
+# Server-side
+<reply>
+
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Content-Length: 0
+Set-Cookie: domain=value;secure;path=/
+
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP cookie with parameter word as name
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1155 -c log/cookies1155.txt
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1155 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+<file name="log/cookies1155.txt">
+# Netscape HTTP Cookie File
+# https://curl.haxx.se/docs/http-cookies.html
+# This file was generated by libcurl! Edit at your own risk.
+
+127.0.0.1 FALSE / TRUE 0 domain value
+</file>
+</verify>
+</testcase>
diff --git a/tests/data/test1164 b/tests/data/test1164
new file mode 100644
index 00000000..061e395c
--- /dev/null
+++ b/tests/data/test1164
@@ -0,0 +1,52 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+# perl -e 'print "swsclose" . "\0" x 200;' | base64
+# 'swsclose' is there to force server to close after send
+<data nocheck="yes" base64="yes">
+c3dzY2xvc2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP/0.9 GET and all zeroes
+ </name>
+ <command option="force-output">
+http://%HOSTIP:%HTTPPORT/1164 -w '%{size_download}\n'
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1164 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+<stdout>
+208
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1208 b/tests/data/test1208
index 504f6c7b..b4545b56 100644
--- a/tests/data/test1208
+++ b/tests/data/test1208
@@ -5,6 +5,7 @@ FTP
PORT
RETR
NODATACONN150
+flaky
</keywords>
</info>
# Server-side
diff --git a/tests/data/test1209 b/tests/data/test1209
index 7086829f..76bce5fd 100644
--- a/tests/data/test1209
+++ b/tests/data/test1209
@@ -39,7 +39,7 @@ s/^EPRT \|1\|(.*)/EPRT \|1\|/
# The protocol part does not include QUIT simply because the error is
# CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without
-# specificly saying for which connection it concerns, and for timeouts libcurl
+# specifically saying for which connection it concerns, and for timeouts libcurl
# marks the control channel as "invalid". As this test case times out for the
# data connection it could still use the control channel.
<protocol>
diff --git a/tests/data/test1455 b/tests/data/test1455
new file mode 100644
index 00000000..7768a1f8
--- /dev/null
+++ b/tests/data/test1455
@@ -0,0 +1,56 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+#
+# Server-side
+<reply name="1455">
+<data nocheck=yes>
+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
+Connection: close
+Content-Type: text/html
+Funny-head: barkbark
+
+-foo-
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+<name>
+HTTP GET when PROXY Protocol enabled
+</name>
+<command>
+http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol --local-port 37756
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+PROXY TCP4 %CLIENTIP %HOSTIP 37756 %HTTPPORT
+GET /1455 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1456 b/tests/data/test1456
new file mode 100644
index 00000000..07a6e7c0
--- /dev/null
+++ b/tests/data/test1456
@@ -0,0 +1,59 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+IPv6
+</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
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+ipv6
+</features>
+<server>
+http-ipv6
+</server>
+ <name>
+HTTP-IPv6 GET with PROXY protocol
+ </name>
+ <command>
+-g "http://%HOST6IP:%HTTP6PORT/1456" --local-port 44444 --haproxy-protocol
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:
+</strip>
+<protocol>
+PROXY TCP6 ::1 ::1 44444 %HTTP6PORT
+GET /1456 HTTP/1.1
+Host: %HOST6IP:%HTTP6PORT
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test155 b/tests/data/test155
index b6451ec2..9bdc8414 100644
--- a/tests/data/test155
+++ b/tests/data/test155
@@ -39,7 +39,7 @@ This is not the real page either!
# This is supposed to be returned when the server gets the second
# Authorization: NTLM line passed-in from the client
<data1002>
-HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
+HTTP/1.1 200 Type-3 Received and all Things are fine swsclose
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 32
@@ -62,7 +62,7 @@ Content-Length: 34
Content-Type: text/html; charset=iso-8859-1
WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAAAGgoEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
-HTTP/1.1 200 Type-3 Recevied and all Things are fine swsclose
+HTTP/1.1 200 Type-3 Received and all Things are fine swsclose
Server: Microsoft-IIS/5.0
Content-Type: text/html; charset=iso-8859-1
Content-Length: 32
diff --git a/tests/data/test1608 b/tests/data/test1608
new file mode 100644
index 00000000..70231075
--- /dev/null
+++ b/tests/data/test1608
@@ -0,0 +1,26 @@
+<testcase>
+<info>
+<keywords>
+unittest
+curlopt_dns_shuffle_addresses
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<features>
+unittest
+</features>
+ <name>
+verify DNS shuffling
+ </name>
+<tool>
+unit1608
+</tool>
+</client>
+
+</testcase>
diff --git a/tests/data/test2072 b/tests/data/test2072
index 2949c250..0d2489ff 100644
--- a/tests/data/test2072
+++ b/tests/data/test2072
@@ -6,6 +6,13 @@ FILE
</info>
<reply>
+<data>
+foo
+ bar
+bar
+ foo
+moo
+</data>
</reply>
# Client-side
@@ -14,12 +21,15 @@ FILE
file
</server>
<name>
-file:// with SMB path
+file:// with unix path resolution behavior for the case of extra slashes
</name>
<command>
-file:////bad-host%PWD/log/test1145.txt
+file:////%PWD/log/test2072.txt
</command>
-<file name="log/test1145.txt">
+<precheck>
+perl -e "print 'Test requires a unix system' if ( $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'dos');"
+</precheck>
+<file name="log/test2072.txt">
foo
bar
bar
@@ -30,9 +40,5 @@ moo
# Verify data after the test has been "shot"
<verify>
-# CURLE_URL_MALFORMAT is error code 3
-<errorcode>
-3
-</errorcode>
</verify>
</testcase>
diff --git a/tests/data/test3000 b/tests/data/test3000
new file mode 100644
index 00000000..e62e5316
--- /dev/null
+++ b/tests/data/test3000
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+HTTPS
+HTTP GET
+PEM certificate
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+SSL
+</features>
+<server>
+https Server-localhost-firstSAN-sv.pem
+</server>
+<name>
+HTTPS GET to localhost, first subject alt name matches, CN does not match
+</name>
+<command>
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/3000
+</command>
+# Ensure that we're running on localhost because we're checking the host name
+<precheck>
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+</precheck>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /3000 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test3001 b/tests/data/test3001
new file mode 100644
index 00000000..706c3f75
--- /dev/null
+++ b/tests/data/test3001
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+HTTPS
+HTTP GET
+PEM certificate
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 7
+
+MooMoo
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+SSL
+</features>
+<server>
+https Server-localhost-lastSAN-sv.pem
+</server>
+<name>
+HTTPS GET to localhost, last subject alt name matches, CN does not match
+</name>
+<command>
+--cacert %SRCDIR/certs/EdelCurlRoot-ca.crt https://localhost:%HTTPSPORT/3001
+</command>
+# Ensure that we're running on localhost because we're checking the host name
+<precheck>
+perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );"
+</precheck>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /3001 HTTP/1.1
+Host: localhost:%HTTPSPORT
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test46 b/tests/data/test46
index abcbda8e..fd0e666c 100644
--- a/tests/data/test46
+++ b/tests/data/test46
@@ -33,7 +33,7 @@ This server reply is for testing cookies
http
</server>
<name>
-HTTP, get cookies and store in cookie jar
+HTTP with bad domain name, get cookies and store in cookie jar
</name>
# Explicitly set the time zone to a known good one, in case the user is
# using one of the 'right' zones that take into account leap seconds
@@ -42,7 +42,7 @@ HTTP, get cookies and store in cookie jar
TZ=GMT
</setenv>
<command>
-%HOSTIP:%HTTPPORT/want/46 -c log/jar46 -b log/injar46
+domain..tld:%HTTPPORT/want/46 --resolve domain..tld:%HTTPPORT:%HOSTIP -c log/jar46 -b log/injar46
</command>
<file name="log/injar46">
# Netscape HTTP Cookie File
@@ -51,9 +51,9 @@ TZ=GMT
www.fake.come FALSE / FALSE 2022144953 cookiecliente si
www.loser.com FALSE / FALSE 2139150993 UID 99
-%HOSTIP FALSE / FALSE 1739150993 mooo indeed
-#HttpOnly_%HOSTIP FALSE /want FALSE 1739150993 mooo2 indeed2
-%HOSTIP FALSE /want FALSE 0 empty
+domain..tld FALSE / FALSE 1739150993 mooo indeed
+#HttpOnly_domain..tld FALSE /want FALSE 1739150993 mooo2 indeed2
+domain..tld FALSE /want FALSE 0 empty
</file>
</client>
@@ -64,7 +64,7 @@ www.loser.com FALSE / FALSE 2139150993 UID 99
</strip>
<protocol>
GET /want/46 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
+Host: domain..tld:%HTTPPORT
Accept: */*
Cookie: empty=; mooo2=indeed2; mooo=indeed
@@ -75,15 +75,15 @@ Cookie: empty=; mooo2=indeed2; mooo=indeed
# This file was generated by libcurl! Edit at your own risk.
www.fake.come FALSE / FALSE 2022144953 cookiecliente si
+domain..tld FALSE / FALSE 1739150993 mooo indeed
+#HttpOnly_domain..tld FALSE /want FALSE 1739150993 mooo2 indeed2
+domain..tld FALSE /want FALSE 0 empty
+domain..tld FALSE / FALSE 2054030187 ckyPersistent permanent
+domain..tld FALSE / FALSE 0 ckySession temporary
+domain..tld FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
+domain..tld FALSE / FALSE 0 justaname
+domain..tld FALSE /want/ FALSE 0 simplyhuge zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
www.loser.com FALSE / FALSE 2139150993 UID 99
-%HOSTIP FALSE / FALSE 1739150993 mooo indeed
-#HttpOnly_%HOSTIP FALSE /want FALSE 1739150993 mooo2 indeed2
-%HOSTIP FALSE /want FALSE 0 empty
-%HOSTIP FALSE / FALSE 2054030187 ckyPersistent permanent
-%HOSTIP FALSE / FALSE 0 ckySession temporary
-%HOSTIP FALSE / FALSE 0 ASPSESSIONIDQGGQQSJJ GKNBDIFAAOFDPDAIEAKDIBKE
-%HOSTIP FALSE / FALSE 0 justaname
-%HOSTIP FALSE /want/ FALSE 0 simplyhuge zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
</file>
</verify>
</testcase>
diff --git a/tests/libtest/lib1502.c b/tests/libtest/lib1502.c
index 6f253c7e..5b75e2f2 100644
--- a/tests/libtest/lib1502.c
+++ b/tests/libtest/lib1502.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -40,6 +40,7 @@
int test(char *URL)
{
CURL *easy = NULL;
+ CURL *dup;
CURLM *multi = NULL;
int still_running;
int res = 0;
@@ -72,6 +73,15 @@ int test(char *URL)
easy_setopt(easy, CURLOPT_HEADER, 1L);
easy_setopt(easy, CURLOPT_RESOLVE, dns_cache_list);
+ dup = curl_easy_duphandle(easy);
+ if(dup) {
+ curl_easy_cleanup(easy);
+ easy = dup;
+ }
+ else {
+ return CURLE_OUT_OF_MEMORY;
+ }
+
multi_init(multi);
multi_add_handle(multi, easy);
diff --git a/tests/libtest/lib1509.c b/tests/libtest/lib1509.c
index ccb66830..63bc589b 100644
--- a/tests/libtest/lib1509.c
+++ b/tests/libtest/lib1509.c
@@ -69,7 +69,7 @@ int test(char *URL)
goto test_cleanup;
}
- printf("header length is ........: %lu\n", headerSize);
+ printf("header length is ........: %ld\n", headerSize);
printf("header length should be..: %lu\n", realHeaderSize);
test_cleanup:
diff --git a/tests/libtest/lib1521.c b/tests/libtest/lib1521.c
index 905e33b7..9f9f17c7 100644
--- a/tests/libtest/lib1521.c
+++ b/tests/libtest/lib1521.c
@@ -2387,6 +2387,30 @@ int test(char *URL)
res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, NULL);
if(UNEX(res)) {
err("RESOLVER_START_DATA", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 0L);
+ if(UNEX(res)) {
+ err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 22L);
+ if(UNEX(res)) {
+ err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, LO);
+ if(UNEX(res)) {
+ err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, HI);
+ if(UNEX(res)) {
+ err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 0L);
+ if(UNEX(res)) {
+ err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 22L);
+ if(UNEX(res)) {
+ err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, LO);
+ if(UNEX(res)) {
+ err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
+ res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, HI);
+ if(UNEX(res)) {
+ err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &charp);
if(UNEX(res)) {
geterr("EFFECTIVE_URL", res, __LINE__); goto test_cleanup; }
diff --git a/tests/libtest/lib1535.c b/tests/libtest/lib1535.c
index 32519f20..6ff03467 100644
--- a/tests/libtest/lib1535.c
+++ b/tests/libtest/lib1535.c
@@ -71,7 +71,7 @@ int test(char *URL)
}
if(protocol != CURLPROTO_HTTP) {
fprintf(stderr, "%s:%d protocol of http resource is incorrect; "
- "expected %ld but is %ld\n",
+ "expected %d but is %ld\n",
__FILE__, __LINE__, CURLPROTO_HTTP, protocol);
res = CURLE_HTTP_RETURNED_ERROR;
goto test_cleanup;
diff --git a/tests/libtest/lib1536.c b/tests/libtest/lib1536.c
index 7f5b6149..0c04bbf8 100644
--- a/tests/libtest/lib1536.c
+++ b/tests/libtest/lib1536.c
@@ -72,7 +72,7 @@ int test(char *URL)
if(memcmp(scheme, "HTTP", 5) != 0) {
fprintf(stderr, "%s:%d scheme of http resource is incorrect; "
"expected 'HTTP' but is %s\n",
- __FILE__, __LINE__, CURLPROTO_HTTP,
+ __FILE__, __LINE__,
(scheme == NULL ? "NULL" : "invalid"));
res = CURLE_HTTP_RETURNED_ERROR;
goto test_cleanup;
diff --git a/tests/libtest/lib517.c b/tests/libtest/lib517.c
index e7451907..2f7d9a01 100644
--- a/tests/libtest/lib517.c
+++ b/tests/libtest/lib517.c
@@ -47,6 +47,7 @@ static struct dcheck dates[] = {
{"Sun/Nov/6/94/GMT", 784080000 },
{"Sun, 06 Nov 1994 08:49:37 CET", 784108177 },
{"06 Nov 1994 08:49:37 EST", 784129777 },
+ {"Sun, 06 Nov 1994 08:49:37 UT", 784111777 },
{"Sun, 12 Sep 2004 15:05:58 -0700", 1095026758 },
{"Sat, 11 Sep 2004 21:32:11 +0200", 1094931131 },
{"20040912 15:05:58 -0700", 1095026758 },
diff --git a/tests/libtest/lib552.c b/tests/libtest/lib552.c
index 5082eb04..83797f3c 100644
--- a/tests/libtest/lib552.c
+++ b/tests/libtest/lib552.c
@@ -46,11 +46,11 @@ void dump(const char *text,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stream, "%s, %d bytes (0x%x)\n", text, (int)size, (int)size);
+ fprintf(stream, "%s, %zu bytes (0x%zx)\n", text, size, size);
for(i = 0; i<size; i += width) {
- fprintf(stream, "%04x: ", (int)i);
+ fprintf(stream, "%04zx: ", i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/tests/libtest/stub_gssapi.c b/tests/libtest/stub_gssapi.c
index 168becf8..883cc190 100644
--- a/tests/libtest/stub_gssapi.c
+++ b/tests/libtest/stub_gssapi.c
@@ -324,7 +324,7 @@ OM_uint32 gss_display_status(OM_uint32 *min,
if(status_string->value)
status_string->length = strlen(status_string->value);
else
- return GSS_S_FAILURE;
+ return GSS_S_FAILURE;
}
return GSS_S_COMPLETE;
diff --git a/tests/libtest/testtrace.c b/tests/libtest/testtrace.c
index 5c68b3b1..63e022b3 100644
--- a/tests/libtest/testtrace.c
+++ b/tests/libtest/testtrace.c
@@ -43,12 +43,12 @@ void libtest_debug_dump(const char *timebuf, const char *text, FILE *stream,
/* without the hex output, we can fit more on screen */
width = 0x40;
- fprintf(stream, "%s%s, %d bytes (0x%x)\n", timebuf, text,
- (int)size, (int)size);
+ fprintf(stream, "%s%s, %zu bytes (0x%zx)\n", timebuf, text,
+ size, size);
for(i = 0; i < size; i += width) {
- fprintf(stream, "%04x: ", (int)i);
+ fprintf(stream, "%04zx: ", i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/tests/runtests.1 b/tests/runtests.1
index cd7d3848..5a51e04b 100644
--- a/tests/runtests.1
+++ b/tests/runtests.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH runtests.pl 1 "May 05, 2017" "Curl 7.59.0" "runtests"
+.TH runtests.pl 1 "May 05, 2017" "Curl 7.60.0" "runtests"
.SH NAME
runtests.pl \- run one or more test cases
diff --git a/tests/runtests.pl b/tests/runtests.pl
index d6aa5cac..054c64bf 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -235,6 +235,7 @@ my $has_threadedres;# set if built with threaded resolver
my $has_psl; # set if libcurl is built with PSL support
my $has_ldpreload; # set if curl is built for systems supporting LD_PRELOAD
my $has_multissl; # set if curl is build with MultiSSL support
+my $has_manual; # set if curl is built with built-in manual
# this version is decided by the particular nghttp2 library that is being used
my $h2cver = "h2c";
@@ -3033,6 +3034,17 @@ sub checksystem {
"TrackMemory feature (--enable-curldebug)";
}
+ open(M, "$CURL -M 2>&1|");
+ while(my $s = <M>) {
+ if($s =~ /built-in manual was disabled at build-time/) {
+ $has_manual = 0;
+ last;
+ }
+ $has_manual = 1;
+ last;
+ }
+ close(M);
+
$has_shared = `sh $CURLCONFIG --built-shared`;
chomp $has_shared;
@@ -3472,6 +3484,11 @@ sub singletest {
next;
}
}
+ elsif($1 eq "manual") {
+ if($has_manual) {
+ next;
+ }
+ }
elsif($1 eq "socks") {
next;
}
@@ -3909,7 +3926,8 @@ sub singletest {
if((!$cmdhash{'option'}) || ($cmdhash{'option'} !~ /no-output/)) {
#We may slap on --output!
- if (!@validstdout) {
+ if (!@validstdout ||
+ ($cmdhash{'option'} && $cmdhash{'option'} =~ /force-output/)) {
$out=" --output $CURLOUT ";
}
}
diff --git a/tests/server/fake_ntlm.c b/tests/server/fake_ntlm.c
index ca2b438b..ec127a8a 100644
--- a/tests/server/fake_ntlm.c
+++ b/tests/server/fake_ntlm.c
@@ -37,7 +37,7 @@
/* include memdebug.h last */
#include "memdebug.h"
-#define LOGFILE "log/fake_ntlm%d.log"
+#define LOGFILE "log/fake_ntlm%ld.log"
const char *serverlogfile;
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index 40f5bdb4..844d35a4 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -727,24 +727,20 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
}
/* allocate internal array for the internal data */
- data = malloc(nfds * sizeof(struct select_ws_data));
+ data = calloc(nfds, sizeof(struct select_ws_data));
if(data == NULL) {
errno = ENOMEM;
return -1;
}
/* allocate internal array for the internal event handles */
- handles = malloc(nfds * sizeof(HANDLE));
+ handles = calloc(nfds, sizeof(HANDLE));
if(handles == NULL) {
free(data);
errno = ENOMEM;
return -1;
}
- /* clear internal arrays */
- memset(data, 0, nfds * sizeof(struct select_ws_data));
- memset(handles, 0, nfds * sizeof(HANDLE));
-
/* loop over the handles in the input descriptor sets */
for(fds = 0; fds < nfds; fds++) {
networkevents = 0;
diff --git a/tests/testcurl.1 b/tests/testcurl.1
index 31970974..a866c94d 100644
--- a/tests/testcurl.1
+++ b/tests/testcurl.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH testcurl.pl 1 "October 22, 2016" "Curl 7.59.0" "testcurl"
+.TH testcurl.pl 1 "October 22, 2016" "Curl 7.60.0" "testcurl"
.SH NAME
testcurl.pl \- (automatically) test curl
diff --git a/tests/testcurl.pl b/tests/testcurl.pl
index 9749bc7d..69722fb3 100755
--- a/tests/testcurl.pl
+++ b/tests/testcurl.pl
@@ -31,7 +31,7 @@
# at a regular interval. The output is suitable to be mailed to
# curl-autocompile@haxx.se to be dealt with automatically (make sure the
# subject includes the word "autobuild" as the mail gets silently discarded
-# otherwise). The most current build status (with a resonable backlog) will
+# otherwise). The most current build status (with a reasonable backlog) will
# be published on the curl site, at https://curl.haxx.se/auto/
# USAGE:
diff --git a/tests/unit/Makefile.inc b/tests/unit/Makefile.inc
index 9a19f51d..f77da758 100644
--- a/tests/unit/Makefile.inc
+++ b/tests/unit/Makefile.inc
@@ -9,7 +9,8 @@ UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \
unit1308 unit1309 unit1323 \
unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \
unit1399 \
- unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607
+ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \
+ unit1608
unit1300_SOURCES = unit1300.c $(UNITFILES)
unit1300_CPPFLAGS = $(AM_CPPFLAGS)
@@ -88,3 +89,6 @@ unit1606_CPPFLAGS = $(AM_CPPFLAGS)
unit1607_SOURCES = unit1607.c $(UNITFILES)
unit1607_CPPFLAGS = $(AM_CPPFLAGS)
+
+unit1608_SOURCES = unit1608.c $(UNITFILES)
+unit1608_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/unit/unit1309.c b/tests/unit/unit1309.c
index 9a07c933..9d885389 100644
--- a/tests/unit/unit1309.c
+++ b/tests/unit/unit1309.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 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
@@ -73,6 +73,7 @@ UNITTEST_START
struct Curl_tree *root, *removed;
struct Curl_tree nodes[NUM_NODES*3];
+ size_t storage[NUM_NODES*3];
int rc;
int i, j;
struct curltime tv_now = {0, 0};
@@ -81,14 +82,11 @@ UNITTEST_START
/* add nodes */
for(i = 0; i < NUM_NODES; i++) {
struct curltime key;
- size_t payload;
key.tv_sec = 0;
key.tv_usec = (541*i)%1023;
- payload = (size_t) key.tv_usec;
-
- /* for simplicity */
- nodes[i].payload = CURLX_INTEGER_TO_POINTER_CAST(payload);
+ storage[i] = key.tv_usec;
+ nodes[i].payload = &storage[i];
root = Curl_splayinsert(key, root, &nodes[i]);
}
@@ -99,8 +97,8 @@ UNITTEST_START
int rem = (i + 7)%NUM_NODES;
printf("Tree look:\n");
splayprint(root, 0, 1);
- printf("remove pointer %d, payload %ld\n", rem,
- CURLX_POINTER_TO_INTEGER_CAST(nodes[rem].payload));
+ printf("remove pointer %d, payload %zu\n", rem,
+ *(size_t *)nodes[rem].payload);
rc = Curl_splayremovebyaddr(root, &nodes[rem], &root);
if(rc) {
/* failed! */
@@ -120,9 +118,8 @@ UNITTEST_START
/* add some nodes with the same key */
for(j = 0; j <= i % 3; j++) {
- size_t payload = key.tv_usec*10 + j;
- /* for simplicity */
- nodes[i * 3 + j].payload = CURLX_INTEGER_TO_POINTER_CAST(payload);
+ storage[i * 3 + j] = key.tv_usec*10 + j;
+ nodes[i * 3 + j].payload = &storage[i * 3 + j];
root = Curl_splayinsert(key, root, &nodes[i * 3 + j]);
}
}
@@ -133,9 +130,9 @@ UNITTEST_START
tv_now.tv_usec = i;
root = Curl_splaygetbest(tv_now, root, &removed);
while(removed != NULL) {
- printf("removed payload %ld[%ld]\n",
- CURLX_POINTER_TO_INTEGER_CAST(removed->payload) / 10,
- CURLX_POINTER_TO_INTEGER_CAST(removed->payload) % 10);
+ printf("removed payload %zu[%zu]\n",
+ (*(size_t *)removed->payload) / 10,
+ (*(size_t *)removed->payload) % 10);
root = Curl_splaygetbest(tv_now, root, &removed);
}
}
@@ -143,7 +140,3 @@ UNITTEST_START
fail_unless(root == NULL, "tree not empty when it should be");
UNITTEST_STOP
-
-
-
-
diff --git a/tests/unit/unit1395.c b/tests/unit/unit1395.c
index 527f2814..78fdfa02 100644
--- a/tests/unit/unit1395.c
+++ b/tests/unit/unit1395.c
@@ -79,13 +79,13 @@ UNITTEST_START
abort_unless(out != NULL, "returned NULL!");
if(strcmp(out, pairs[i].output)) {
- fprintf(stderr, "Test %d: '%s' gave '%s' instead of '%s'\n",
+ fprintf(stderr, "Test %u: '%s' gave '%s' instead of '%s'\n",
i, pairs[i].input, out, pairs[i].output);
fail("Test case output mismatched");
fails++;
}
else
- fprintf(stderr, "Test %d: OK\n", i);
+ fprintf(stderr, "Test %u: OK\n", i);
free(out);
}
diff --git a/tests/unit/unit1608.c b/tests/unit/unit1608.c
new file mode 100644
index 00000000..9ae474ba
--- /dev/null
+++ b/tests/unit/unit1608.c
@@ -0,0 +1,70 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 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
+ * 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 "hostip.h"
+
+#define NUM_ADDRS 8
+static struct Curl_addrinfo addrs[NUM_ADDRS];
+
+static CURLcode unit_setup(void)
+{
+ int i;
+ for(i = 0; i < NUM_ADDRS - 1; i++) {
+ addrs[i].ai_next = &addrs[i + 1];
+ }
+
+ return CURLE_OK;
+}
+
+static void unit_stop(void)
+{
+
+}
+
+UNITTEST_START
+{
+ int i;
+ CURLcode code;
+ struct Curl_addrinfo* addrhead = addrs;
+
+ struct Curl_easy *easy = curl_easy_init();
+ abort_unless(easy, "out of memory");
+
+ code = curl_easy_setopt(easy, CURLOPT_DNS_SHUFFLE_ADDRESSES, 1L);
+ abort_unless(code == CURLE_OK, "curl_easy_setopt failed");
+
+ /* Shuffle repeatedly and make sure that the list changes */
+ for(i = 0; i < 10; i++) {
+ if(CURLE_OK != Curl_shuffle_addr(easy, &addrhead))
+ break;
+ if(addrhead != addrs)
+ break;
+ }
+
+ curl_easy_cleanup(easy);
+
+ abort_unless(addrhead != addrs, "addresses are not being reordered");
+
+ return 0;
+}
+UNITTEST_STOP
diff --git a/winbuild/BUILD.WINDOWS.txt b/winbuild/BUILD.WINDOWS.txt
index 98deed01..33252f8e 100644
--- a/winbuild/BUILD.WINDOWS.txt
+++ b/winbuild/BUILD.WINDOWS.txt
@@ -12,7 +12,7 @@ Building with Visual C++, prerequisites
The latest Platform SDK can be downloaded freely from:
- https://msdn.microsoft.com/en-us/windows/bb980924
+ https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
If you are building with VC6 then you will also need the February 2003
Edition of the Platform SDK which can be downloaded from:
@@ -44,15 +44,25 @@ Building straight from git
Building with Visual C++
========================
-Open a Visual Studio Command prompt or the SDK CMD shell.
+Open a Visual Studio Command prompt:
- Using the CMD Shell:
- choose the right environment via the setenv command (see setenv /?)
- for the full list of options. setenv /xp /x86 /release for example.
+ Using the 'Developer Command Prompt for VS <version>' menu entry:
+ where version is the Visual Studio version. The developer prompt at default
+ uses the x86 mode. It is required to call Vcvarsall.bat to setup the prompt
+ for the machine type you want, using Vcvarsall.bat.
+ This type of command prompt may not exist in all Visual Studio versions.
- Using the Visual Studio command prompt Shell:
- Everything is already pre-configured by calling one of the command
- prompt.
+ For more information, check:
+ https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs
+ https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line
+
+ Using the 'VS <version> <platform> <type> Command Prompt' menu entry:
+ where version is the Visual Studio version, platform is e.g. x64
+ and type Native of Cross platform build. This type of command prompt
+ may not exist in all Visual Studio versions.
+
+ See also:
+ https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx
Once you are in the console, go to the winbuild directory in the Curl
sources:
@@ -65,26 +75,32 @@ a directory named using the options given to the nmake call.
nmake /f Makefile.vc mode=<static or dll> <options>
where <options> is one or many of:
- VC=<6,7,8,9,10,11,12,14,15> - VC versions
- WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
- Defaults to sibbling directory deps: ../deps
- Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/
- Uncompress them into the deps folder.
- WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
- WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
- WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
- WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
- WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
- WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
- ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
- ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
- ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
- Requires Windows Vista or later, or installation from:
- https://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
- ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
- GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
- DEBUG=<yes or no> - Debug builds
- MACHINE=<x86 or x64> - Target architecture (default is x86)
+ VC=<6,7,8,9,10,11,12,14,15> - VC versions
+ WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
+ Defaults to sibbling directory deps: ../deps
+ Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/
+ Uncompress them into the deps folder.
+ WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
+ WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
+ WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
+ WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
+ WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
+ WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
+ ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
+ ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
+ ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
+ Requires Windows Vista or later
+ ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
+ GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
+ DEBUG=<yes or no> - Debug builds
+ MACHINE=<x86 or x64> - Target architecture (default is x86)
+ CARES_PATH=<path to cares> - Custom path for c-ares
+ MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS
+ NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2
+ SSH2_PATH=<path to libSSH2> - Custom path for libSSH2
+ SSL_PATH=<path to OpenSSL> - Custom path for OpenSSL
+ ZLIB_PATH=<path to zlib> - Custom path for zlib
+
Static linking of Microsoft's C RunTime (CRT):
==============================================
diff --git a/winbuild/Makefile.vc b/winbuild/Makefile.vc
index 46919fc2..a874b77f 100644
--- a/winbuild/Makefile.vc
+++ b/winbuild/Makefile.vc
@@ -37,26 +37,31 @@ CFGSET=true
!MESSAGE Usage: nmake /f Makefile.vc mode=<static or dll> <options>
!MESSAGE where <options> is one or many of:
-!MESSAGE VC=<6,7,8,9,10,11,12,14,15> - VC versions
-!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
-!MESSAGE Defaults to sibbling directory deps: ../deps
-!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
-!MESSAGE Uncompress them into the deps folder.
-!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
-!MESSAGE WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
-!MESSAGE WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
-!MESSAGE WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
-!MESSAGE WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
-!MESSAGE WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
-!MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
-!MESSAGE Requires Windows Vista or later, or installation from:
-!MESSAGE https://www.microsoft.com/en-us/download/details.aspx?id=734
-!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
-!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
-!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
-!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)
+!MESSAGE VC=<6,7,8,9,10,11,12,14,15> - VC versions
+!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
+!MESSAGE Defaults to sibbling directory deps: ../deps
+!MESSAGE Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
+!MESSAGE Uncompress them into the deps folder.
+!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
+!MESSAGE WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
+!MESSAGE WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
+!MESSAGE WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
+!MESSAGE WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
+!MESSAGE WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
+!MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
+!MESSAGE Requires Windows Vista or later
+!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
+!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
+!MESSAGE ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
+!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)
+!MESSAGE CARES_PATH=<path to cares> - Custom path for c-ares
+!MESSAGE MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS
+!MESSAGE NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2
+!MESSAGE SSH2_PATH=<path to libSSH2> - Custom path for libSSH2
+!MESSAGE SSL_PATH=<path to OpenSSL> - Custom path for OpenSSL
+!MESSAGE ZLIB_PATH=<path to zlib> - Custom path for zlib
!ERROR please choose a valid mode
!ENDIF
@@ -270,3 +275,6 @@ $(MODE):
copy_from_lib:
echo copying .c...
FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\
+
+clean:
+ $(MAKE) /NOLOGO /F MakefileBuild.vc $@
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index 28500aeb..bf79db37 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -70,14 +70,19 @@ CFLAGS = /I. /I ../lib /I../include /nologo /W4 /wd4127 /EHsc /DWIN32 /FD /
LFLAGS = /nologo /machine:$(MACHINE)
LNKDLL = link.exe /DLL
-LNKLIB = link.exe /lib
+# Use lib.exe instead of link.exe as link.exe /lib has the following bad habits:
+# - optimizing options like /opt:ref raises warnings (at least in Visual Studio 2015)
+# - all (including Windows) dependencies are aggregated (as static parts)
+# - link.exe /lib is not documented (anymore) at MSDN
+# Instead of id: just create an archive, that contains all objects
+LNKLIB = lib.exe
CFLAGS_PDB = /Zi
LFLAGS_PDB = /incremental:no /opt:ref,icf /DEBUG
CFLAGS_LIBCURL_STATIC = /DCURL_STATICLIB
-WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib
+WIN_LIBS = ws2_32.lib wldap32.lib advapi32.lib crypt32.lib
BASE_NAME = libcurl
BASE_NAME_DEBUG = $(BASE_NAME)_debug
@@ -97,9 +102,9 @@ PDB_NAME_DLL = $(BASE_NAME).pdb
PDB_NAME_DLL_DEBUG = $(BASE_NAME_DEBUG).pdb
# CURL Command section
-PROGRAM_NAME = curl.exe
-CURL_CFLAGS = /I../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c
-CURL_LFLAGS = /nologo /out:$(DIRDIST)\bin\$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
+PROGRAM_NAME = curl.exe
+CURL_CFLAGS = /I../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c
+CURL_LFLAGS = /out:$(DIRDIST)\bin\$(PROGRAM_NAME) /subsystem:console $(LFLAGS)
CURL_RESFLAGS = /i../include
#############################################################
@@ -108,57 +113,92 @@ LIBCURL_SRC_DIR = ..\lib
CURL_SRC_DIR = ..\src
!IFNDEF WITH_DEVEL
-WITH_DEVEL = ../../deps
+WITH_DEVEL = ../../deps
!ENDIF
-DEVEL_INCLUDE = $(WITH_DEVEL)/include
-DEVEL_LIB = $(WITH_DEVEL)/lib
-DEVEL_BIN = $(WITH_DEVEL)/bin
+DEVEL_INCLUDE= $(WITH_DEVEL)/include
+DEVEL_LIB = $(WITH_DEVEL)/lib
-CFLAGS = $(CFLAGS) /I"$(DEVEL_INCLUDE)"
-LFLAGS = $(LFLAGS) "/LIBPATH:$(DEVEL_LIB)"
+!IF EXISTS("$(DEVEL_INCLUDE)")
+CFLAGS = $(CFLAGS) /I"$(DEVEL_INCLUDE)"
+!ENDIF
+!IF EXISTS("$(DEVEL_LIB)")
+LFLAGS = $(LFLAGS) "/LIBPATH:$(DEVEL_LIB)"
+!ENDIF
+!IFDEF SSL_PATH
+SSL_INC_DIR = $(SSL_PATH)\include
+SSL_LIB_DIR = $(SSL_PATH)\lib
+SSL_LFLAGS = $(SSL_LFLAGS) "/LIBPATH:$(SSL_LIB_DIR)"
+!ELSE
+SSL_INC_DIR=$(DEVEL_INCLUDE)\openssl
+SSL_LIB_DIR=$(DEVEL_LIB)
+!ENDIF
-!IF "$(WITH_SSL)"=="dll"
-!IF EXISTS("$(DEVEL_LIB)\libssl.lib")
+!IF "$(WITH_SSL)"=="dll" || "$(WITH_SSL)"=="static"
+!IF EXISTS("$(SSL_LIB_DIR)\libssl.lib")
SSL_LIBS = libssl.lib libcrypto.lib
!ELSE
SSL_LIBS = libeay32.lib ssleay32.lib
!ENDIF
USE_SSL = true
-SSL = dll
-!ELSEIF "$(WITH_SSL)"=="static"
-!IF EXISTS("$(DEVEL_LIB)\libssl.lib")
-SSL_LIBS = libssl.lib libcrypto.lib gdi32.lib user32.lib crypt32.lib
-!ELSE
-SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib crypt32.lib
+SSL = $(WITH_SSL)
+!IF "$(WITH_SSL)"=="static"
+WIN_LIBS = $(WIN_LIBS) gdi32.lib user32.lib crypt32.lib
!ENDIF
-USE_SSL = true
-SSL = static
!ENDIF
!IFDEF USE_SSL
-SSL_CFLAGS = /DUSE_OPENSSL /I"$(DEVEL_INCLUDE)/openssl"
-!IF EXISTS("$(DEVEL_INCLUDE)\openssl\is_boringssl.h")
+SSL_CFLAGS = /DUSE_OPENSSL /I"$(SSL_INC_DIR)"
+!IF EXISTS("$(SSL_INC_DIR)\is_boringssl.h")
SSL_CFLAGS = $(SSL_CFLAGS) /DHAVE_BORINGSSL
!ENDIF
!ENDIF
+
+!IFDEF NGHTTP2_PATH
+NGHTTP2_INC_DIR = $(NGHTTP2_PATH)\include
+NGHTTP2_LIB_DIR = $(NGHTTP2_PATH)\lib
+NGHTTP2_LFLAGS = $(NGHTTP2_LFLAGS) "/LIBPATH:$(NGHTTP2_LIB_DIR)"
+!ELSE
+NGHTTP2_INC_DIR = $(DEVEL_INCLUDE)
+NGHTTP2_LIB_DIR = $(DEVEL_LIB)
+!ENDIF
+
!IF "$(WITH_NGHTTP2)"=="dll"
-NGHTTP2_CFLAGS = /DUSE_NGHTTP2
+NGHTTP2_CFLAGS = /DUSE_NGHTTP2 /I"$(NGHTTP2_INC_DIR)"
NGHTTP2_LIBS = nghttp2.lib
!ELSEIF "$(WITH_NGHTTP2)"=="static"
-NGHTTP2_CFLAGS = /DUSE_NGHTTP2 /DNGHTTP2_STATICLIB
+NGHTTP2_CFLAGS = /DUSE_NGHTTP2 /DNGHTTP2_STATICLIB /I"$(NGHTTP2_INC_DIR)"
NGHTTP2_LIBS = nghttp2_static.lib
!ENDIF
+
+!IFDEF MBEDTLS_PATH
+MBEDTLS_INC_DIR = $(MBEDTLS_PATH)\include
+MBEDTLS_LIB_DIR = $(MBEDTLS_PATH)\lib
+MBEDTLS_LFLAGS = $(MBEDTLS_LFLAGS) "/LIBPATH:$(MBEDTLS_LIB_DIR)"
+!ELSE
+MBEDTLS_INC_DIR = $(DEVEL_INCLUDE)
+MBEDTLS_LIB_DIR = $(DEVEL_LIB)
+!ENDIF
+
!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"
USE_MBEDTLS = true
MBEDTLS = $(WITH_MBEDTLS)
-MBEDTLS_CFLAGS = /DUSE_MBEDTLS
+MBEDTLS_CFLAGS = /DUSE_MBEDTLS /I"$(MBEDTLS_INC_DIR)"
MBEDTLS_LIBS = mbedtls.lib mbedcrypto.lib mbedx509.lib
!ENDIF
+!IFDEF CARES_PATH
+CARES_INC_DIR = $(CARES_PATH)\include
+CARES_LIB_DIR = $(CARES_PATH)\lib
+CARES_LFLAGS = $(CARES_LFLAGS) "/LIBPATH:$(CARES_LIB_DIR)"
+!ELSE
+CARES_INC_DIR = $(DEVEL_INCLUDE)/cares
+CARES_LIB_DIR = $(DEVEL_LIB)
+!ENDIF
+
!IF "$(WITH_CARES)"=="dll"
!IF "$(DEBUG)"=="yes"
CARES_LIBS = caresd.lib
@@ -178,15 +218,25 @@ CARES = static
!ENDIF
!IFDEF USE_CARES
-CARES_CFLAGS = /DUSE_ARES /I"$(DEVEL_INCLUDE)/cares"
+CARES_CFLAGS = /DUSE_ARES /I"$(CARES_INC_DIR)"
+!ENDIF
+
+
+!IFDEF ZLIB_PATH
+ZLIB_INC_DIR = $(ZLIB_PATH)\include
+ZLIB_LIB_DIR = $(ZLIB_PATH)\lib
+ZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)"
+!ELSE
+ZLIB_INC_DIR = $(DEVEL_INCLUDE)
+ZLIB_LIB_DIR = $(DEVEL_LIB)
!ENDIF
# Depending on how zlib is built the libraries have different names, we
# try to handle them all.
!IF "$(WITH_ZLIB)"=="dll"
-!IF EXISTS("$(DEVEL_LIB)\zlibwapi.lib")
+!IF EXISTS("$(ZLIB_LIB_DIR)\zlibwapi.lib")
ZLIB_LIBS = zlibwapi.lib
-!ELSEIF EXISTS("$(DEVEL_LIB)\zdll.lib")
+!ELSEIF EXISTS("$(ZLIB_LIB_DIR)\zdll.lib")
ZLIB_LIBS = zdll.lib
!ELSE
ZLIB_LIBS = zlib.lib
@@ -194,9 +244,9 @@ ZLIB_LIBS = zlib.lib
USE_ZLIB = true
ZLIB = dll
!ELSEIF "$(WITH_ZLIB)"=="static"
-!IF EXISTS("$(DEVEL_LIB)\zlibstat.lib")
+!IF EXISTS("$(ZLIB_LIB_DIR)\zlibstat.lib")
ZLIB_LIBS = zlibstat.lib
-!ELSEIF EXISTS("$(DEVEL_LIB)\zlib.lib")
+!ELSEIF EXISTS("$(ZLIB_LIB_DIR)\zlib.lib")
ZLIB_LIBS = zlib.lib
!ELSE
ZLIB_LIBS = zlib_a.lib
@@ -206,23 +256,38 @@ ZLIB = static
!ENDIF
!IFDEF USE_ZLIB
-ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ
+ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I"$(ZLIB_INC_DIR)"
!ENDIF
+!IFDEF SSH2_PATH
+SSH2_INC_DIR= $(SSH2_PATH)\include
+SSH2_LIB_DIR= $(SSH2_PATH)\lib
+SSH2_LFLAGS = $(SSH2_LFLAGS) "/LIBPATH:$(SSH2_LIB_DIR)"
+!ELSE
+SSH2_LIB_DIR= $(DEVEL_LIB)
+SSH2_INC_DIR= $(DEVEL_INCLUDE)/libssh2
+!ENDIF
+
!IF "$(WITH_SSH2)"=="dll"
SSH2_LIBS = libssh2.lib
USE_SSH2 = true
SSH2 = dll
!ELSEIF "$(WITH_SSH2)"=="static"
-SSH2_LIBS = libssh2_a.lib user32.lib
+# libssh2 NMakefile on Windows at default creates a static library without _a suffix
+!IF EXISTS("$(SSH2_LIB_DIR)\libssh2.lib")
+SSH2_LIBS = libssh2.lib
+!ELSE
+SSH2_LIBS = libssh2_a.lib
+!ENDIF
+WIN_LIBS = $(WIN_LIBS) user32.lib
USE_SSH2 = true
SSH2 = static
!ENDIF
!IFDEF USE_SSH2
SSH2_CFLAGS = /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /DUSE_LIBSSH2
-SSH2_CFLAGS = $(SSH2_CFLAGS) /I$(WITH_DEVEL)/include/libssh2
+SSH2_CFLAGS = $(SSH2_CFLAGS) /I$(SSH2_INC_DIR)
!ENDIF
@@ -330,7 +395,7 @@ CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc
!IF "$(AS_DLL)" == "true"
-LNK = $(LNKDLL) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)
+LNK = $(LNKDLL) $(LFLAGS) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)
!IF "$(DEBUG)"=="yes"
TARGET = $(LIB_NAME_DLL_DEBUG)
LNK = $(LNK) /DEBUG /IMPLIB:$(LIB_DIROBJ)\$(LIB_NAME_IMP_DEBUG)
@@ -354,7 +419,7 @@ PDB = $(PDB_NAME_STATIC_DEBUG)
TARGET = $(LIB_NAME_STATIC)
PDB = $(PDB_NAME_STATIC)
!ENDIF
-LNK = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)
+LNK = $(LNKLIB) /out:$(LIB_DIROBJ)\$(TARGET)
CURL_CC = $(CURL_CC) $(CFLAGS_LIBCURL_STATIC)
# AS_DLL
@@ -416,27 +481,7 @@ DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
#
CURL_LINK = link.exe /incremental:no /libpath:"$(DIRDIST)\lib"
-#!IF "$(CFG)" == "release-ssh2-ssl-dll-zlib"
-#TARGET = $(LIB_NAME_STATIC)
-#LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBS) $(SSH2LIBS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) $(LFLAGSSSH) /out:$(LIB_DIROBJ)\$(TARGET)
-#CC = $(CCNODBG) $(RTLIB) $(SSL_CFLAGS) $(ZLIB_CFLAGS) $(CFLAGSLIB) $(SSH2_CFLAGS)
-#CFGSET = TRUE
-#!ENDIF
-
-#######################
-# Only the clean target can be used if a config was not provided.
-#
-!IF "$(CFGSET)" == "FALSE"
-clean:
- @-erase /s *.dll 2> NUL
- @-erase /s *.exp 2> NUL
- @-erase /s *.idb 2> NUL
- @-erase /s *.lib 2> NUL
- @-erase /s *.obj 2> NUL
- @-erase /s *.pch 2> NUL
- @-erase /s *.pdb 2> NUL
- @-erase /s *.res 2> NUL
-!ELSE
+!IF "$(CFGSET)" != "FALSE"
# A mode was provided, so the library can be built.
#
!include CURL_OBJS.inc
@@ -472,7 +517,7 @@ $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)
@echo GenPDB: $(GEN_PDB)
@echo Debug: $(DEBUG)
@echo Machine: $(MACHINE)
- $(LNK) $(LFLAGS) $(LIB_OBJS)
+ $(LNK) $(LIB_OBJS)
@echo Copying libs...
@if exist $(LIB_DIROBJ)\$(LIB_NAME_DLL) copy $(LIB_DIROBJ)\$(LIB_NAME_DLL) $(DIRDIST)\bin\ /y >nul 2<&1
@if exist $(LIB_DIROBJ)\$(LIB_NAME_STATIC) copy $(LIB_DIROBJ)\$(LIB_NAME_STATIC) $(DIRDIST)\lib\ /y >nul 2<&1
@@ -563,3 +608,17 @@ $(CURL_DIROBJ)\curl.res: $(CURL_SRC_DIR)\curl.rc
rc $(CURL_RC_FLAGS)
!ENDIF # End of case where a config was provided.
+
+clean:
+ @-erase /s *.dll 2> NUL
+ @-erase /s *.exp 2> NUL
+ @-erase /s *.idb 2> NUL
+ @-erase /s *.lib 2> NUL
+ @-erase /s *.obj 2> NUL
+ @-erase /s *.pch 2> NUL
+ @-erase /s *.pdb 2> NUL
+ @-erase /s *.res 2> NUL
+ @if exist $(LIB_DIROBJ) rd /s/q $(LIB_DIROBJ)
+ @if exist $(CURL_DIROBJ)rd /s/q $(CURL_DIROBJ)
+ @if exist $(DIRDIST) rd /s/q $(DIRDIST)
+