[Feature][ZXW-88]merge P50 version

Only Configure: No
Affected branch: master
Affected module: unknown
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No

Change-Id: I34667719d9e0e7e29e8e4368848601cde0a48408
diff --git a/ap/lib/libcurl/curl-7.86.0/src/CMakeLists.txt b/ap/lib/libcurl/curl-7.86.0/src/CMakeLists.txt
new file mode 100755
index 0000000..bf8ce7a
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/CMakeLists.txt
@@ -0,0 +1,114 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+set(EXE_NAME curl)
+
+if(USE_MANUAL)
+  # Use the C locale to ensure that only ASCII characters appear in the
+  # embedded text. NROFF and MANOPT are set in the parent CMakeLists.txt
+  add_custom_command(
+    OUTPUT tool_hugehelp.c
+    COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_setup.h\"" > tool_hugehelp.c
+    COMMAND ${CMAKE_COMMAND} -E echo "#ifndef HAVE_LIBZ" >> tool_hugehelp.c
+    COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT}
+            "${CURL_BINARY_DIR}/docs/curl.1" |
+            "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" >> tool_hugehelp.c
+    COMMAND ${CMAKE_COMMAND} -E echo "#else" >> tool_hugehelp.c
+    COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT}
+            "${CURL_BINARY_DIR}/docs/curl.1" |
+            "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" -c >> tool_hugehelp.c
+    COMMAND ${CMAKE_COMMAND} -E echo "#endif /* HAVE_LIBZ */" >> tool_hugehelp.c
+    DEPENDS
+      generate-curl.1
+      "${CURL_BINARY_DIR}/docs/curl.1"
+      "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl"
+      "${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h"
+    VERBATIM)
+else()
+  add_custom_command(
+    OUTPUT tool_hugehelp.c
+    COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_hugehelp.h\"" > tool_hugehelp.c
+    DEPENDS
+      "${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h"
+    VERBATIM)
+
+endif()
+
+transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake")
+include(${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake)
+
+if(WIN32)
+  list(APPEND CURL_FILES curl.rc)
+endif()
+
+# CURL_FILES comes from Makefile.inc
+add_executable(
+  ${EXE_NAME}
+  ${CURL_FILES}
+  )
+
+add_executable(
+  ${PROJECT_NAME}::${EXE_NAME}
+  ALIAS ${EXE_NAME}
+  )
+
+if(CURL_HAS_LTO)
+  set_target_properties(${EXE_NAME} PROPERTIES
+    INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
+    INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE)
+endif()
+
+if(ENABLE_UNICODE AND MINGW)
+  target_link_libraries(${EXE_NAME} -municode)
+  # GCC doesn't know about wmain
+  set_source_files_properties(tool_main.c PROPERTIES COMPILE_FLAGS "-Wno-missing-prototypes -Wno-missing-declarations")
+endif()
+
+source_group("curlX source files" FILES ${CURLX_CFILES})
+source_group("curl source files" FILES ${CURL_CFILES})
+source_group("curl header files" FILES ${CURL_HFILES})
+
+include_directories(
+  ${CURL_SOURCE_DIR}/lib        # To be able to reach "curl_setup_once.h"
+  ${CURL_BINARY_DIR}/lib        # To be able to reach "curl_config.h"
+  ${CURL_BINARY_DIR}/include    # To be able to reach "curl/curl.h"
+  # This is needed as tool_hugehelp.c is generated in the binary dir
+  ${CURL_SOURCE_DIR}/src        # To be able to reach "tool_hugehelp.h"
+  )
+
+#Build curl executable
+target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS})
+
+################################################################################
+
+#SET_TARGET_PROPERTIES(${EXE_NAME} ARCHIVE_OUTPUT_DIRECTORY "blah blah blah")
+#SET_TARGET_PROPERTIES(${EXE_NAME} RUNTIME_OUTPUT_DIRECTORY "blah blah blah")
+#SET_TARGET_PROPERTIES(${EXE_NAME} LIBRARY_OUTPUT_DIRECTORY "blah blah blah")
+
+#INCLUDE(ModuleInstall OPTIONAL)
+
+install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
+export(TARGETS ${EXE_NAME}
+       FILE ${PROJECT_BINARY_DIR}/curl-target.cmake
+       NAMESPACE ${PROJECT_NAME}::
+)
diff --git a/ap/lib/libcurl/curl-7.86.0/src/Makefile.am b/ap/lib/libcurl/curl-7.86.0/src/Makefile.am
new file mode 100755
index 0000000..d9180b0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/Makefile.am
@@ -0,0 +1,163 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+AUTOMAKE_OPTIONS = foreign nostdinc
+
+# remove targets if the command fails
+.DELETE_ON_ERROR:
+
+# Specify our include paths here, and do it relative to $(top_srcdir) and
+# $(top_builddir), to ensure that these paths which belong to the library
+# being currently built and tested are searched before the library which
+# might possibly already be installed in the system.
+#
+# $(top_srcdir)/include is for libcurl's external include files
+# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
+# $(top_builddir)/src is for curl's generated src/curl_config.h file
+# $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files
+# $(top_srcdir)/src is for curl's src/tool_setup.h and "curl-private" files
+
+AM_CPPFLAGS = -I$(top_srcdir)/include        \
+              -I$(top_builddir)/lib          \
+              -I$(top_builddir)/src          \
+              -I$(top_srcdir)/lib            \
+              -I$(top_srcdir)/src
+
+bin_PROGRAMS = curl
+
+SUBDIRS = ../docs
+
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS += -DCURL_STATICLIB
+endif
+
+include Makefile.inc
+
+# CURL_FILES comes from Makefile.inc
+curl_SOURCES = $(CURL_FILES)
+if OS_WINDOWS
+curl_SOURCES += $(CURL_RCFILES)
+$(CURL_RCFILES): tool_version.h
+endif
+
+# This might hold -Werror
+CFLAGS += @CURL_CFLAG_EXTRAS@
+
+# Prevent LIBS from being used for all link targets
+LIBS = $(BLANK_AT_MAKETIME)
+
+if USE_EXPLICIT_LIB_DEPS
+curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
+else
+curl_LDADD = $(top_builddir)/lib/libcurl.la @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
+endif
+
+# if unit tests are enabled, build a static library to link them with
+if BUILD_UNITTESTS
+noinst_LTLIBRARIES = libcurltool.la
+libcurltool_la_CPPFLAGS = $(AM_CPPFLAGS) \
+                          -DCURL_STATICLIB -DUNITTESTS
+libcurltool_la_CFLAGS =
+libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
+libcurltool_la_SOURCES = $(CURL_FILES)
+endif
+
+CLEANFILES = tool_hugehelp.c
+# Use the C locale to ensure that only ASCII characters appear in the
+# embedded text.
+NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
+
+EXTRA_DIST = mkhelp.pl makefile.dj                                     \
+ Makefile.m32 makefile.amiga curl.rc Makefile.inc CMakeLists.txt
+
+# Use absolute directory to disable VPATH
+MANPAGE=$(abs_top_builddir)/docs/curl.1
+MKHELP=$(top_srcdir)/src/mkhelp.pl
+HUGE=tool_hugehelp.c
+
+HUGECMD = $(HUGEIT_$(V))
+HUGEIT_0 = @echo "  HUGE    " $@;
+HUGEIT_1 =
+HUGEIT_ = $(HUGEIT_0)
+
+CHECKSRC = $(CS_$(V))
+CS_0 = @echo "  RUN     " $@;
+CS_1 =
+CS_ = $(CS_0)
+
+if USE_MANUAL
+# Here are the stuff to create a built-in manual
+
+$(MANPAGE):
+	cd $(top_builddir)/docs && $(MAKE)
+
+if HAVE_LIBZ
+# This generates the tool_hugehelp.c file in both uncompressed and
+# compressed formats.
+$(HUGE): $(MANPAGE) $(MKHELP)
+	$(HUGECMD) (echo '#include "tool_setup.h"' > $(HUGE);   \
+	echo '#ifndef HAVE_LIBZ' >> $(HUGE);                    \
+	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE);     \
+	echo '#else' >> $(HUGE);                                \
+	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c >> $(HUGE);  \
+	echo '#endif /* HAVE_LIBZ */' >> $(HUGE) )
+else # HAVE_LIBZ
+# This generates the tool_hugehelp.c file uncompressed only
+$(HUGE): $(MANPAGE) $(MKHELP)
+	$(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE);    \
+	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) )
+endif
+
+else # USE_MANUAL
+# built-in manual has been disabled, make a blank file
+$(HUGE):
+	echo '#include "tool_hugehelp.h"' >> $(HUGE)
+endif
+
+# ignore tool_hugehelp.c since it is generated source code and it plays
+# by slightly different rules!
+checksrc:
+	$(CHECKSRC)(@PERL@ $(top_srcdir)/scripts/checksrc.pl -D$(srcdir) \
+	-W$(srcdir)/tool_hugehelp.c $(srcdir)/*.[ch])
+
+if CURLDEBUG
+# for debug builds, we scan the sources on all regular make invokes
+all-local: checksrc
+endif
+
+# disable the tests that are mostly causing false positives
+TIDYFLAGS=-checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference
+
+TIDY:=clang-tidy
+
+tidy:
+	$(TIDY) $(CURL_CFILES) $(TIDYFLAGS) -- $(curl_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H
+
+listhelp:
+	(cd $(top_srcdir)/docs/cmdline-opts && ./gen.pl listhelp *.d) > tool_listhelp.c
+
+if OS_WINDOWS
+# Warning is "normal": libtool:   error: ignoring unknown tag RC
+.rc.o:
+	$(LIBTOOL) --tag=RC --mode=compile $(RC) -I$(top_srcdir)/include -DCURL_EMBED_MANIFEST $(RCFLAGS) -i $< -o $@
+endif
diff --git a/ap/lib/libcurl/curl-7.86.0/src/Makefile.in b/ap/lib/libcurl/curl-7.86.0/src/Makefile.in
new file mode 100755
index 0000000..652e6be
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/Makefile.in
@@ -0,0 +1,2007 @@
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# ./src/Makefile.inc
+# Using the backslash as line continuation character might be problematic with
+# some make flavours. If we ever want to change this in a portable manner then
+# we should consider this idea :
+# CSRC1 = file1.c file2.c file3.c
+# CSRC2 = file4.c file5.c file6.c
+# CSOURCES = $(CSRC1) $(CSRC2)
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = curl$(EXEEXT)
+@USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB
+@OS_WINDOWS_TRUE@am__append_2 = $(CURL_RCFILES)
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \
+	$(top_srcdir)/m4/curl-bearssl.m4 \
+	$(top_srcdir)/m4/curl-compilers.m4 \
+	$(top_srcdir)/m4/curl-confopts.m4 \
+	$(top_srcdir)/m4/curl-functions.m4 \
+	$(top_srcdir)/m4/curl-gnutls.m4 \
+	$(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \
+	$(top_srcdir)/m4/curl-openssl.m4 \
+	$(top_srcdir)/m4/curl-override.m4 \
+	$(top_srcdir)/m4/curl-reentrant.m4 \
+	$(top_srcdir)/m4/curl-rustls.m4 \
+	$(top_srcdir)/m4/curl-schannel.m4 \
+	$(top_srcdir)/m4/curl-sectransp.m4 \
+	$(top_srcdir)/m4/curl-sysconfig.m4 \
+	$(top_srcdir)/m4/curl-wolfssl.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/xc-am-iface.m4 \
+	$(top_srcdir)/m4/xc-cc-check.m4 \
+	$(top_srcdir)/m4/xc-lt-iface.m4 \
+	$(top_srcdir)/m4/xc-translit.m4 \
+	$(top_srcdir)/m4/xc-val-flgs.m4 \
+	$(top_srcdir)/m4/zz40-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz50-xc-ovr.m4 \
+	$(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/lib/curl_config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libcurltool_la_LIBADD =
+am__libcurltool_la_SOURCES_DIST = slist_wc.c tool_binmode.c \
+	tool_bname.c tool_cb_dbg.c tool_cb_hdr.c tool_cb_prg.c \
+	tool_cb_rea.c tool_cb_see.c tool_cb_wrt.c tool_cfgable.c \
+	tool_dirhie.c tool_doswin.c tool_easysrc.c tool_filetime.c \
+	tool_findfile.c tool_formparse.c tool_getparam.c \
+	tool_getpass.c tool_help.c tool_helpers.c tool_hugehelp.c \
+	tool_libinfo.c tool_listhelp.c tool_main.c tool_msgs.c \
+	tool_operate.c tool_operhlp.c tool_panykey.c tool_paramhlp.c \
+	tool_parsecfg.c tool_progress.c tool_strdup.c tool_setopt.c \
+	tool_sleep.c tool_urlglob.c tool_util.c tool_vms.c \
+	tool_writeout.c tool_writeout_json.c tool_xattr.c \
+	../lib/strtoofft.c ../lib/timediff.c ../lib/nonblock.c \
+	../lib/warnless.c ../lib/curl_multibyte.c \
+	../lib/version_win32.c ../lib/dynbuf.c slist_wc.h \
+	tool_binmode.h tool_bname.h tool_cb_dbg.h tool_cb_hdr.h \
+	tool_cb_prg.h tool_cb_rea.h tool_cb_see.h tool_cb_wrt.h \
+	tool_cfgable.h tool_dirhie.h tool_doswin.h tool_easysrc.h \
+	tool_filetime.h tool_findfile.h tool_formparse.h \
+	tool_getparam.h tool_getpass.h tool_help.h tool_helpers.h \
+	tool_hugehelp.h tool_libinfo.h tool_main.h tool_msgs.h \
+	tool_operate.h tool_operhlp.h tool_panykey.h tool_paramhlp.h \
+	tool_parsecfg.h tool_progress.h tool_sdecls.h tool_setopt.h \
+	tool_setup.h tool_sleep.h tool_strdup.h tool_urlglob.h \
+	tool_util.h tool_version.h tool_vms.h tool_writeout.h \
+	tool_writeout_json.h tool_xattr.h
+am__objects_1 = libcurltool_la-slist_wc.lo \
+	libcurltool_la-tool_binmode.lo libcurltool_la-tool_bname.lo \
+	libcurltool_la-tool_cb_dbg.lo libcurltool_la-tool_cb_hdr.lo \
+	libcurltool_la-tool_cb_prg.lo libcurltool_la-tool_cb_rea.lo \
+	libcurltool_la-tool_cb_see.lo libcurltool_la-tool_cb_wrt.lo \
+	libcurltool_la-tool_cfgable.lo libcurltool_la-tool_dirhie.lo \
+	libcurltool_la-tool_doswin.lo libcurltool_la-tool_easysrc.lo \
+	libcurltool_la-tool_filetime.lo \
+	libcurltool_la-tool_findfile.lo \
+	libcurltool_la-tool_formparse.lo \
+	libcurltool_la-tool_getparam.lo libcurltool_la-tool_getpass.lo \
+	libcurltool_la-tool_help.lo libcurltool_la-tool_helpers.lo \
+	libcurltool_la-tool_hugehelp.lo libcurltool_la-tool_libinfo.lo \
+	libcurltool_la-tool_listhelp.lo libcurltool_la-tool_main.lo \
+	libcurltool_la-tool_msgs.lo libcurltool_la-tool_operate.lo \
+	libcurltool_la-tool_operhlp.lo libcurltool_la-tool_panykey.lo \
+	libcurltool_la-tool_paramhlp.lo \
+	libcurltool_la-tool_parsecfg.lo \
+	libcurltool_la-tool_progress.lo libcurltool_la-tool_strdup.lo \
+	libcurltool_la-tool_setopt.lo libcurltool_la-tool_sleep.lo \
+	libcurltool_la-tool_urlglob.lo libcurltool_la-tool_util.lo \
+	libcurltool_la-tool_vms.lo libcurltool_la-tool_writeout.lo \
+	libcurltool_la-tool_writeout_json.lo \
+	libcurltool_la-tool_xattr.lo
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_2 = ../lib/libcurltool_la-strtoofft.lo \
+	../lib/libcurltool_la-timediff.lo \
+	../lib/libcurltool_la-nonblock.lo \
+	../lib/libcurltool_la-warnless.lo \
+	../lib/libcurltool_la-curl_multibyte.lo \
+	../lib/libcurltool_la-version_win32.lo \
+	../lib/libcurltool_la-dynbuf.lo
+am__objects_3 =
+am__objects_4 = $(am__objects_1) $(am__objects_2) $(am__objects_3)
+@BUILD_UNITTESTS_TRUE@am_libcurltool_la_OBJECTS = $(am__objects_4)
+libcurltool_la_OBJECTS = $(am_libcurltool_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
+libcurltool_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(libcurltool_la_CFLAGS) $(CFLAGS) $(libcurltool_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+@BUILD_UNITTESTS_TRUE@am_libcurltool_la_rpath =
+am__curl_SOURCES_DIST = slist_wc.c tool_binmode.c tool_bname.c \
+	tool_cb_dbg.c tool_cb_hdr.c tool_cb_prg.c tool_cb_rea.c \
+	tool_cb_see.c tool_cb_wrt.c tool_cfgable.c tool_dirhie.c \
+	tool_doswin.c tool_easysrc.c tool_filetime.c tool_findfile.c \
+	tool_formparse.c tool_getparam.c tool_getpass.c tool_help.c \
+	tool_helpers.c tool_hugehelp.c tool_libinfo.c tool_listhelp.c \
+	tool_main.c tool_msgs.c tool_operate.c tool_operhlp.c \
+	tool_panykey.c tool_paramhlp.c tool_parsecfg.c tool_progress.c \
+	tool_strdup.c tool_setopt.c tool_sleep.c tool_urlglob.c \
+	tool_util.c tool_vms.c tool_writeout.c tool_writeout_json.c \
+	tool_xattr.c ../lib/strtoofft.c ../lib/timediff.c \
+	../lib/nonblock.c ../lib/warnless.c ../lib/curl_multibyte.c \
+	../lib/version_win32.c ../lib/dynbuf.c slist_wc.h \
+	tool_binmode.h tool_bname.h tool_cb_dbg.h tool_cb_hdr.h \
+	tool_cb_prg.h tool_cb_rea.h tool_cb_see.h tool_cb_wrt.h \
+	tool_cfgable.h tool_dirhie.h tool_doswin.h tool_easysrc.h \
+	tool_filetime.h tool_findfile.h tool_formparse.h \
+	tool_getparam.h tool_getpass.h tool_help.h tool_helpers.h \
+	tool_hugehelp.h tool_libinfo.h tool_main.h tool_msgs.h \
+	tool_operate.h tool_operhlp.h tool_panykey.h tool_paramhlp.h \
+	tool_parsecfg.h tool_progress.h tool_sdecls.h tool_setopt.h \
+	tool_setup.h tool_sleep.h tool_strdup.h tool_urlglob.h \
+	tool_util.h tool_version.h tool_vms.h tool_writeout.h \
+	tool_writeout_json.h tool_xattr.h curl.rc
+am__objects_5 = slist_wc.$(OBJEXT) tool_binmode.$(OBJEXT) \
+	tool_bname.$(OBJEXT) tool_cb_dbg.$(OBJEXT) \
+	tool_cb_hdr.$(OBJEXT) tool_cb_prg.$(OBJEXT) \
+	tool_cb_rea.$(OBJEXT) tool_cb_see.$(OBJEXT) \
+	tool_cb_wrt.$(OBJEXT) tool_cfgable.$(OBJEXT) \
+	tool_dirhie.$(OBJEXT) tool_doswin.$(OBJEXT) \
+	tool_easysrc.$(OBJEXT) tool_filetime.$(OBJEXT) \
+	tool_findfile.$(OBJEXT) tool_formparse.$(OBJEXT) \
+	tool_getparam.$(OBJEXT) tool_getpass.$(OBJEXT) \
+	tool_help.$(OBJEXT) tool_helpers.$(OBJEXT) \
+	tool_hugehelp.$(OBJEXT) tool_libinfo.$(OBJEXT) \
+	tool_listhelp.$(OBJEXT) tool_main.$(OBJEXT) \
+	tool_msgs.$(OBJEXT) tool_operate.$(OBJEXT) \
+	tool_operhlp.$(OBJEXT) tool_panykey.$(OBJEXT) \
+	tool_paramhlp.$(OBJEXT) tool_parsecfg.$(OBJEXT) \
+	tool_progress.$(OBJEXT) tool_strdup.$(OBJEXT) \
+	tool_setopt.$(OBJEXT) tool_sleep.$(OBJEXT) \
+	tool_urlglob.$(OBJEXT) tool_util.$(OBJEXT) tool_vms.$(OBJEXT) \
+	tool_writeout.$(OBJEXT) tool_writeout_json.$(OBJEXT) \
+	tool_xattr.$(OBJEXT)
+am__objects_6 = ../lib/strtoofft.$(OBJEXT) ../lib/timediff.$(OBJEXT) \
+	../lib/nonblock.$(OBJEXT) ../lib/warnless.$(OBJEXT) \
+	../lib/curl_multibyte.$(OBJEXT) ../lib/version_win32.$(OBJEXT) \
+	../lib/dynbuf.$(OBJEXT)
+am__objects_7 = $(am__objects_5) $(am__objects_6) $(am__objects_3)
+am__objects_8 = curl.$(OBJEXT)
+@OS_WINDOWS_TRUE@am__objects_9 = $(am__objects_8)
+am_curl_OBJECTS = $(am__objects_7) $(am__objects_9)
+curl_OBJECTS = $(am_curl_OBJECTS)
+@USE_EXPLICIT_LIB_DEPS_FALSE@curl_DEPENDENCIES =  \
+@USE_EXPLICIT_LIB_DEPS_FALSE@	$(top_builddir)/lib/libcurl.la
+@USE_EXPLICIT_LIB_DEPS_TRUE@curl_DEPENDENCIES =  \
+@USE_EXPLICIT_LIB_DEPS_TRUE@	$(top_builddir)/lib/libcurl.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+DEFAULT_INCLUDES = 
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ../lib/$(DEPDIR)/curl_multibyte.Po \
+	../lib/$(DEPDIR)/dynbuf.Po \
+	../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-dynbuf.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-nonblock.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-strtoofft.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-timediff.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-version_win32.Plo \
+	../lib/$(DEPDIR)/libcurltool_la-warnless.Plo \
+	../lib/$(DEPDIR)/nonblock.Po ../lib/$(DEPDIR)/strtoofft.Po \
+	../lib/$(DEPDIR)/timediff.Po ../lib/$(DEPDIR)/version_win32.Po \
+	../lib/$(DEPDIR)/warnless.Po \
+	./$(DEPDIR)/libcurltool_la-slist_wc.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_binmode.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_bname.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_dbg.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_hdr.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_prg.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_rea.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_see.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cb_wrt.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_cfgable.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_dirhie.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_doswin.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_easysrc.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_filetime.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_findfile.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_formparse.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_getparam.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_getpass.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_help.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_helpers.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_hugehelp.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_libinfo.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_listhelp.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_main.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_msgs.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_operate.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_operhlp.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_panykey.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_paramhlp.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_parsecfg.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_progress.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_setopt.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_sleep.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_strdup.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_urlglob.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_util.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_vms.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_writeout.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_writeout_json.Plo \
+	./$(DEPDIR)/libcurltool_la-tool_xattr.Plo \
+	./$(DEPDIR)/slist_wc.Po ./$(DEPDIR)/tool_binmode.Po \
+	./$(DEPDIR)/tool_bname.Po ./$(DEPDIR)/tool_cb_dbg.Po \
+	./$(DEPDIR)/tool_cb_hdr.Po ./$(DEPDIR)/tool_cb_prg.Po \
+	./$(DEPDIR)/tool_cb_rea.Po ./$(DEPDIR)/tool_cb_see.Po \
+	./$(DEPDIR)/tool_cb_wrt.Po ./$(DEPDIR)/tool_cfgable.Po \
+	./$(DEPDIR)/tool_dirhie.Po ./$(DEPDIR)/tool_doswin.Po \
+	./$(DEPDIR)/tool_easysrc.Po ./$(DEPDIR)/tool_filetime.Po \
+	./$(DEPDIR)/tool_findfile.Po ./$(DEPDIR)/tool_formparse.Po \
+	./$(DEPDIR)/tool_getparam.Po ./$(DEPDIR)/tool_getpass.Po \
+	./$(DEPDIR)/tool_help.Po ./$(DEPDIR)/tool_helpers.Po \
+	./$(DEPDIR)/tool_hugehelp.Po ./$(DEPDIR)/tool_libinfo.Po \
+	./$(DEPDIR)/tool_listhelp.Po ./$(DEPDIR)/tool_main.Po \
+	./$(DEPDIR)/tool_msgs.Po ./$(DEPDIR)/tool_operate.Po \
+	./$(DEPDIR)/tool_operhlp.Po ./$(DEPDIR)/tool_panykey.Po \
+	./$(DEPDIR)/tool_paramhlp.Po ./$(DEPDIR)/tool_parsecfg.Po \
+	./$(DEPDIR)/tool_progress.Po ./$(DEPDIR)/tool_setopt.Po \
+	./$(DEPDIR)/tool_sleep.Po ./$(DEPDIR)/tool_strdup.Po \
+	./$(DEPDIR)/tool_urlglob.Po ./$(DEPDIR)/tool_util.Po \
+	./$(DEPDIR)/tool_vms.Po ./$(DEPDIR)/tool_writeout.Po \
+	./$(DEPDIR)/tool_writeout_json.Po ./$(DEPDIR)/tool_xattr.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
+SOURCES = $(libcurltool_la_SOURCES) $(curl_SOURCES)
+DIST_SOURCES = $(am__libcurltool_la_SOURCES_DIST) \
+	$(am__curl_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+	ctags-recursive dvi-recursive html-recursive info-recursive \
+	install-data-recursive install-dvi-recursive \
+	install-exec-recursive install-html-recursive \
+	install-info-recursive install-pdf-recursive \
+	install-ps-recursive install-recursive installcheck-recursive \
+	installdirs-recursive pdf-recursive ps-recursive \
+	tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+  $(RECURSIVE_TARGETS) \
+  $(RECURSIVE_CLEAN_TARGETS) \
+  $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+	distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.inc \
+	$(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AR_FLAGS = @AR_FLAGS@
+AS = @AS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+
+# This might hold -Werror
+CFLAGS = @CFLAGS@ @CURL_CFLAG_EXTRAS@
+CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
+CURLVERSION = @CURLVERSION@
+CURL_CA_BUNDLE = @CURL_CA_BUNDLE@
+CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@
+CURL_DISABLE_DICT = @CURL_DISABLE_DICT@
+CURL_DISABLE_FILE = @CURL_DISABLE_FILE@
+CURL_DISABLE_FTP = @CURL_DISABLE_FTP@
+CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@
+CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@
+CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@
+CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@
+CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@
+CURL_DISABLE_MQTT = @CURL_DISABLE_MQTT@
+CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@
+CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@
+CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@
+CURL_DISABLE_SMB = @CURL_DISABLE_SMB@
+CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@
+CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@
+CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@
+CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@
+CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@
+CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@
+CURL_PLIST_VERSION = @CURL_PLIST_VERSION@
+CURL_WITH_MULTI_SSL = @CURL_WITH_MULTI_SSL@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_SSL_BACKEND = @DEFAULT_SSL_BACKEND@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+ENABLE_SHARED = @ENABLE_SHARED@
+ENABLE_STATIC = @ENABLE_STATIC@
+ETAGS = @ETAGS@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FILECMD = @FILECMD@
+FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@
+GCOV = @GCOV@
+GREP = @GREP@
+HAVE_BROTLI = @HAVE_BROTLI@
+HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@
+HAVE_LDAP_SSL = @HAVE_LDAP_SSL@
+HAVE_LIBZ = @HAVE_LIBZ@
+HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@
+HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@
+HAVE_ZSTD = @HAVE_ZSTD@
+IDN_ENABLED = @IDN_ENABLED@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPV6_ENABLED = @IPV6_ENABLED@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBCURL_LIBS = @LIBCURL_LIBS@
+LIBCURL_NO_SHARED = @LIBCURL_NO_SHARED@
+LIBOBJS = @LIBOBJS@
+
+# Prevent LIBS from being used for all link targets
+LIBS = $(BLANK_AT_MAKETIME)
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MANOPT = @MANOPT@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+# Use the C locale to ensure that only ASCII characters appear in the
+# embedded text.
+NROFF = env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
+NSS_LIBS = @NSS_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKGADD_NAME = @PKGADD_NAME@
+PKGADD_PKG = @PKGADD_PKG@
+PKGADD_VENDOR = @PKGADD_VENDOR@
+PKGCONFIG = @PKGCONFIG@
+RANDOM_FILE = @RANDOM_FILE@
+RANLIB = @RANLIB@
+RC = @RC@
+REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SSL_BACKENDS = @SSL_BACKENDS@
+SSL_ENABLED = @SSL_ENABLED@
+SSL_LIBS = @SSL_LIBS@
+STRIP = @STRIP@
+SUPPORT_FEATURES = @SUPPORT_FEATURES@
+SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@
+USE_ARES = @USE_ARES@
+USE_BEARSSL = @USE_BEARSSL@
+USE_GNUTLS = @USE_GNUTLS@
+USE_HYPER = @USE_HYPER@
+USE_LIBRTMP = @USE_LIBRTMP@
+USE_LIBSSH = @USE_LIBSSH@
+USE_LIBSSH2 = @USE_LIBSSH2@
+USE_MBEDTLS = @USE_MBEDTLS@
+USE_MSH3 = @USE_MSH3@
+USE_NGHTTP2 = @USE_NGHTTP2@
+USE_NGHTTP3 = @USE_NGHTTP3@
+USE_NGTCP2 = @USE_NGTCP2@
+USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@
+USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@
+USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@
+USE_NSS = @USE_NSS@
+USE_OPENLDAP = @USE_OPENLDAP@
+USE_QUICHE = @USE_QUICHE@
+USE_RUSTLS = @USE_RUSTLS@
+USE_SCHANNEL = @USE_SCHANNEL@
+USE_SECTRANSP = @USE_SECTRANSP@
+USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@
+USE_WIN32_CRYPTO = @USE_WIN32_CRYPTO@
+USE_WIN32_LARGE_FILES = @USE_WIN32_LARGE_FILES@
+USE_WIN32_SMALL_FILES = @USE_WIN32_SMALL_FILES@
+USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@
+USE_WOLFSSH = @USE_WOLFSSH@
+USE_WOLFSSL = @USE_WOLFSSL@
+VERSION = @VERSION@
+VERSIONNUM = @VERSIONNUM@
+ZLIB_LIBS = @ZLIB_LIBS@
+ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+libext = @libext@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+AUTOMAKE_OPTIONS = foreign nostdinc
+
+# Specify our include paths here, and do it relative to $(top_srcdir) and
+# $(top_builddir), to ensure that these paths which belong to the library
+# being currently built and tested are searched before the library which
+# might possibly already be installed in the system.
+#
+# $(top_srcdir)/include is for libcurl's external include files
+# $(top_builddir)/lib is for libcurl's generated lib/curl_config.h file
+# $(top_builddir)/src is for curl's generated src/curl_config.h file
+# $(top_srcdir)/lib for libcurl's lib/curl_setup.h and other "borrowed" files
+# $(top_srcdir)/src is for curl's src/tool_setup.h and "curl-private" files
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/lib \
+	-I$(top_builddir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/src \
+	$(am__append_1)
+SUBDIRS = ../docs
+
+# libcurl has sources that provide functions named curlx_* that aren't part of
+# the official API, but we re-use the code here to avoid duplication.
+CURLX_CFILES = \
+  ../lib/strtoofft.c \
+  ../lib/timediff.c \
+  ../lib/nonblock.c \
+  ../lib/warnless.c \
+  ../lib/curl_multibyte.c \
+  ../lib/version_win32.c \
+  ../lib/dynbuf.c
+
+CURLX_HFILES = \
+  ../lib/curl_setup.h \
+  ../lib/strtoofft.h \
+  ../lib/timediff.h \
+  ../lib/nonblock.h \
+  ../lib/warnless.h \
+  ../lib/curl_ctype.h \
+  ../lib/curl_multibyte.h \
+  ../lib/version_win32.h \
+  ../lib/dynbuf.h
+
+CURL_CFILES = \
+  slist_wc.c \
+  tool_binmode.c \
+  tool_bname.c \
+  tool_cb_dbg.c \
+  tool_cb_hdr.c \
+  tool_cb_prg.c \
+  tool_cb_rea.c \
+  tool_cb_see.c \
+  tool_cb_wrt.c \
+  tool_cfgable.c \
+  tool_dirhie.c \
+  tool_doswin.c \
+  tool_easysrc.c \
+  tool_filetime.c \
+  tool_findfile.c \
+  tool_formparse.c \
+  tool_getparam.c \
+  tool_getpass.c \
+  tool_help.c \
+  tool_helpers.c \
+  tool_hugehelp.c \
+  tool_libinfo.c \
+  tool_listhelp.c \
+  tool_main.c \
+  tool_msgs.c \
+  tool_operate.c \
+  tool_operhlp.c \
+  tool_panykey.c \
+  tool_paramhlp.c \
+  tool_parsecfg.c \
+  tool_progress.c \
+  tool_strdup.c \
+  tool_setopt.c \
+  tool_sleep.c \
+  tool_urlglob.c \
+  tool_util.c \
+  tool_vms.c \
+  tool_writeout.c \
+  tool_writeout_json.c \
+  tool_xattr.c
+
+CURL_HFILES = \
+  slist_wc.h \
+  tool_binmode.h \
+  tool_bname.h \
+  tool_cb_dbg.h \
+  tool_cb_hdr.h \
+  tool_cb_prg.h \
+  tool_cb_rea.h \
+  tool_cb_see.h \
+  tool_cb_wrt.h \
+  tool_cfgable.h \
+  tool_dirhie.h \
+  tool_doswin.h \
+  tool_easysrc.h \
+  tool_filetime.h \
+  tool_findfile.h \
+  tool_formparse.h \
+  tool_getparam.h \
+  tool_getpass.h \
+  tool_help.h \
+  tool_helpers.h \
+  tool_hugehelp.h \
+  tool_libinfo.h \
+  tool_main.h \
+  tool_msgs.h \
+  tool_operate.h \
+  tool_operhlp.h \
+  tool_panykey.h \
+  tool_paramhlp.h \
+  tool_parsecfg.h \
+  tool_progress.h \
+  tool_sdecls.h \
+  tool_setopt.h \
+  tool_setup.h \
+  tool_sleep.h \
+  tool_strdup.h \
+  tool_urlglob.h \
+  tool_util.h \
+  tool_version.h \
+  tool_vms.h \
+  tool_writeout.h \
+  tool_writeout_json.h \
+  tool_xattr.h
+
+CURL_RCFILES = curl.rc
+
+# curl_SOURCES is special and gets assigned in src/Makefile.am
+CURL_FILES = $(CURL_CFILES) $(CURLX_CFILES) $(CURL_HFILES)
+
+# CURL_FILES comes from Makefile.inc
+curl_SOURCES = $(CURL_FILES) $(am__append_2)
+@USE_EXPLICIT_LIB_DEPS_FALSE@curl_LDADD = $(top_builddir)/lib/libcurl.la @NSS_LIBS@ @SSL_LIBS@ @ZLIB_LIBS@ @CURL_NETWORK_AND_TIME_LIBS@
+@USE_EXPLICIT_LIB_DEPS_TRUE@curl_LDADD = $(top_builddir)/lib/libcurl.la @LIBCURL_LIBS@
+
+# if unit tests are enabled, build a static library to link them with
+@BUILD_UNITTESTS_TRUE@noinst_LTLIBRARIES = libcurltool.la
+@BUILD_UNITTESTS_TRUE@libcurltool_la_CPPFLAGS = $(AM_CPPFLAGS) \
+@BUILD_UNITTESTS_TRUE@                          -DCURL_STATICLIB -DUNITTESTS
+
+@BUILD_UNITTESTS_TRUE@libcurltool_la_CFLAGS = 
+@BUILD_UNITTESTS_TRUE@libcurltool_la_LDFLAGS = -static $(LINKFLAGS)
+@BUILD_UNITTESTS_TRUE@libcurltool_la_SOURCES = $(CURL_FILES)
+CLEANFILES = tool_hugehelp.c
+EXTRA_DIST = mkhelp.pl makefile.dj                                     \
+ Makefile.m32 makefile.amiga curl.rc Makefile.inc CMakeLists.txt
+
+
+# Use absolute directory to disable VPATH
+MANPAGE = $(abs_top_builddir)/docs/curl.1
+MKHELP = $(top_srcdir)/src/mkhelp.pl
+HUGE = tool_hugehelp.c
+HUGECMD = $(HUGEIT_$(V))
+HUGEIT_0 = @echo "  HUGE    " $@;
+HUGEIT_1 = 
+HUGEIT_ = $(HUGEIT_0)
+CHECKSRC = $(CS_$(V))
+CS_0 = @echo "  RUN     " $@;
+CS_1 = 
+CS_ = $(CS_0)
+
+# disable the tests that are mostly causing false positives
+TIDYFLAGS = -checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference
+TIDY := clang-tidy
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj .rc
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+	esac;
+$(srcdir)/Makefile.inc $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	if test -n "$$list"; then \
+	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+	fi; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p \
+	 || test -f $$p1 \
+	  ; then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' \
+	    -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-binPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' \
+	`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
+../lib/$(am__dirstamp):
+	@$(MKDIR_P) ../lib
+	@: > ../lib/$(am__dirstamp)
+../lib/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) ../lib/$(DEPDIR)
+	@: > ../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-strtoofft.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-timediff.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-nonblock.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-warnless.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-curl_multibyte.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-version_win32.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/libcurltool_la-dynbuf.lo: ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+
+libcurltool.la: $(libcurltool_la_OBJECTS) $(libcurltool_la_DEPENDENCIES) $(EXTRA_libcurltool_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libcurltool_la_LINK) $(am_libcurltool_la_rpath) $(libcurltool_la_OBJECTS) $(libcurltool_la_LIBADD) $(LIBS)
+../lib/strtoofft.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/timediff.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/nonblock.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/warnless.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/curl_multibyte.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/version_win32.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+../lib/dynbuf.$(OBJEXT): ../lib/$(am__dirstamp) \
+	../lib/$(DEPDIR)/$(am__dirstamp)
+
+curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) $(EXTRA_curl_DEPENDENCIES) 
+	@rm -f curl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(curl_OBJECTS) $(curl_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+	-rm -f ../lib/*.$(OBJEXT)
+	-rm -f ../lib/*.lo
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/curl_multibyte.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/dynbuf.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-dynbuf.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-nonblock.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-strtoofft.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-timediff.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-version_win32.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/libcurltool_la-warnless.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/nonblock.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/strtoofft.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/timediff.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/version_win32.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/warnless.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-slist_wc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_binmode.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_bname.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_dbg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_hdr.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_prg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_rea.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_see.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cb_wrt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_cfgable.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_dirhie.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_doswin.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_easysrc.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_filetime.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_findfile.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_formparse.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_getparam.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_getpass.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_help.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_helpers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_hugehelp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_libinfo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_listhelp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_main.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_msgs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_operate.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_operhlp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_panykey.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_paramhlp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_parsecfg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_progress.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_setopt.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_sleep.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_strdup.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_urlglob.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_util.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_vms.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_writeout.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_writeout_json.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurltool_la-tool_xattr.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slist_wc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_binmode.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_bname.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_dbg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_hdr.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_prg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_rea.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_see.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cb_wrt.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_cfgable.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_dirhie.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_doswin.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_easysrc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_filetime.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_findfile.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_formparse.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_getparam.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_getpass.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_help.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_helpers.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_hugehelp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_libinfo.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_listhelp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_msgs.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_operate.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_operhlp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_panykey.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_paramhlp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_parsecfg.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_progress.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_setopt.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_sleep.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_strdup.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_urlglob.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_util.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_vms.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_writeout.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_writeout_json.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_xattr.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+	@$(MKDIR_P) $(@D)
+	@echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libcurltool_la-slist_wc.lo: slist_wc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-slist_wc.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-slist_wc.Tpo -c -o libcurltool_la-slist_wc.lo `test -f 'slist_wc.c' || echo '$(srcdir)/'`slist_wc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-slist_wc.Tpo $(DEPDIR)/libcurltool_la-slist_wc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='slist_wc.c' object='libcurltool_la-slist_wc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-slist_wc.lo `test -f 'slist_wc.c' || echo '$(srcdir)/'`slist_wc.c
+
+libcurltool_la-tool_binmode.lo: tool_binmode.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_binmode.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_binmode.Tpo -c -o libcurltool_la-tool_binmode.lo `test -f 'tool_binmode.c' || echo '$(srcdir)/'`tool_binmode.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_binmode.Tpo $(DEPDIR)/libcurltool_la-tool_binmode.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_binmode.c' object='libcurltool_la-tool_binmode.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_binmode.lo `test -f 'tool_binmode.c' || echo '$(srcdir)/'`tool_binmode.c
+
+libcurltool_la-tool_bname.lo: tool_bname.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_bname.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_bname.Tpo -c -o libcurltool_la-tool_bname.lo `test -f 'tool_bname.c' || echo '$(srcdir)/'`tool_bname.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_bname.Tpo $(DEPDIR)/libcurltool_la-tool_bname.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_bname.c' object='libcurltool_la-tool_bname.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_bname.lo `test -f 'tool_bname.c' || echo '$(srcdir)/'`tool_bname.c
+
+libcurltool_la-tool_cb_dbg.lo: tool_cb_dbg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_dbg.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_dbg.Tpo -c -o libcurltool_la-tool_cb_dbg.lo `test -f 'tool_cb_dbg.c' || echo '$(srcdir)/'`tool_cb_dbg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_dbg.Tpo $(DEPDIR)/libcurltool_la-tool_cb_dbg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_dbg.c' object='libcurltool_la-tool_cb_dbg.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_dbg.lo `test -f 'tool_cb_dbg.c' || echo '$(srcdir)/'`tool_cb_dbg.c
+
+libcurltool_la-tool_cb_hdr.lo: tool_cb_hdr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_hdr.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_hdr.Tpo -c -o libcurltool_la-tool_cb_hdr.lo `test -f 'tool_cb_hdr.c' || echo '$(srcdir)/'`tool_cb_hdr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_hdr.Tpo $(DEPDIR)/libcurltool_la-tool_cb_hdr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_hdr.c' object='libcurltool_la-tool_cb_hdr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_hdr.lo `test -f 'tool_cb_hdr.c' || echo '$(srcdir)/'`tool_cb_hdr.c
+
+libcurltool_la-tool_cb_prg.lo: tool_cb_prg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_prg.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_prg.Tpo -c -o libcurltool_la-tool_cb_prg.lo `test -f 'tool_cb_prg.c' || echo '$(srcdir)/'`tool_cb_prg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_prg.Tpo $(DEPDIR)/libcurltool_la-tool_cb_prg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_prg.c' object='libcurltool_la-tool_cb_prg.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_prg.lo `test -f 'tool_cb_prg.c' || echo '$(srcdir)/'`tool_cb_prg.c
+
+libcurltool_la-tool_cb_rea.lo: tool_cb_rea.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_rea.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_rea.Tpo -c -o libcurltool_la-tool_cb_rea.lo `test -f 'tool_cb_rea.c' || echo '$(srcdir)/'`tool_cb_rea.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_rea.Tpo $(DEPDIR)/libcurltool_la-tool_cb_rea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_rea.c' object='libcurltool_la-tool_cb_rea.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_rea.lo `test -f 'tool_cb_rea.c' || echo '$(srcdir)/'`tool_cb_rea.c
+
+libcurltool_la-tool_cb_see.lo: tool_cb_see.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_see.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_see.Tpo -c -o libcurltool_la-tool_cb_see.lo `test -f 'tool_cb_see.c' || echo '$(srcdir)/'`tool_cb_see.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_see.Tpo $(DEPDIR)/libcurltool_la-tool_cb_see.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_see.c' object='libcurltool_la-tool_cb_see.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_see.lo `test -f 'tool_cb_see.c' || echo '$(srcdir)/'`tool_cb_see.c
+
+libcurltool_la-tool_cb_wrt.lo: tool_cb_wrt.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cb_wrt.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cb_wrt.Tpo -c -o libcurltool_la-tool_cb_wrt.lo `test -f 'tool_cb_wrt.c' || echo '$(srcdir)/'`tool_cb_wrt.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cb_wrt.Tpo $(DEPDIR)/libcurltool_la-tool_cb_wrt.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cb_wrt.c' object='libcurltool_la-tool_cb_wrt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cb_wrt.lo `test -f 'tool_cb_wrt.c' || echo '$(srcdir)/'`tool_cb_wrt.c
+
+libcurltool_la-tool_cfgable.lo: tool_cfgable.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_cfgable.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_cfgable.Tpo -c -o libcurltool_la-tool_cfgable.lo `test -f 'tool_cfgable.c' || echo '$(srcdir)/'`tool_cfgable.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_cfgable.Tpo $(DEPDIR)/libcurltool_la-tool_cfgable.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_cfgable.c' object='libcurltool_la-tool_cfgable.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_cfgable.lo `test -f 'tool_cfgable.c' || echo '$(srcdir)/'`tool_cfgable.c
+
+libcurltool_la-tool_dirhie.lo: tool_dirhie.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_dirhie.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_dirhie.Tpo -c -o libcurltool_la-tool_dirhie.lo `test -f 'tool_dirhie.c' || echo '$(srcdir)/'`tool_dirhie.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_dirhie.Tpo $(DEPDIR)/libcurltool_la-tool_dirhie.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_dirhie.c' object='libcurltool_la-tool_dirhie.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_dirhie.lo `test -f 'tool_dirhie.c' || echo '$(srcdir)/'`tool_dirhie.c
+
+libcurltool_la-tool_doswin.lo: tool_doswin.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_doswin.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_doswin.Tpo -c -o libcurltool_la-tool_doswin.lo `test -f 'tool_doswin.c' || echo '$(srcdir)/'`tool_doswin.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_doswin.Tpo $(DEPDIR)/libcurltool_la-tool_doswin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_doswin.c' object='libcurltool_la-tool_doswin.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_doswin.lo `test -f 'tool_doswin.c' || echo '$(srcdir)/'`tool_doswin.c
+
+libcurltool_la-tool_easysrc.lo: tool_easysrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_easysrc.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_easysrc.Tpo -c -o libcurltool_la-tool_easysrc.lo `test -f 'tool_easysrc.c' || echo '$(srcdir)/'`tool_easysrc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_easysrc.Tpo $(DEPDIR)/libcurltool_la-tool_easysrc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_easysrc.c' object='libcurltool_la-tool_easysrc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_easysrc.lo `test -f 'tool_easysrc.c' || echo '$(srcdir)/'`tool_easysrc.c
+
+libcurltool_la-tool_filetime.lo: tool_filetime.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_filetime.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_filetime.Tpo -c -o libcurltool_la-tool_filetime.lo `test -f 'tool_filetime.c' || echo '$(srcdir)/'`tool_filetime.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_filetime.Tpo $(DEPDIR)/libcurltool_la-tool_filetime.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_filetime.c' object='libcurltool_la-tool_filetime.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_filetime.lo `test -f 'tool_filetime.c' || echo '$(srcdir)/'`tool_filetime.c
+
+libcurltool_la-tool_findfile.lo: tool_findfile.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_findfile.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_findfile.Tpo -c -o libcurltool_la-tool_findfile.lo `test -f 'tool_findfile.c' || echo '$(srcdir)/'`tool_findfile.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_findfile.Tpo $(DEPDIR)/libcurltool_la-tool_findfile.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_findfile.c' object='libcurltool_la-tool_findfile.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_findfile.lo `test -f 'tool_findfile.c' || echo '$(srcdir)/'`tool_findfile.c
+
+libcurltool_la-tool_formparse.lo: tool_formparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_formparse.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_formparse.Tpo -c -o libcurltool_la-tool_formparse.lo `test -f 'tool_formparse.c' || echo '$(srcdir)/'`tool_formparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_formparse.Tpo $(DEPDIR)/libcurltool_la-tool_formparse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_formparse.c' object='libcurltool_la-tool_formparse.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_formparse.lo `test -f 'tool_formparse.c' || echo '$(srcdir)/'`tool_formparse.c
+
+libcurltool_la-tool_getparam.lo: tool_getparam.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_getparam.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_getparam.Tpo -c -o libcurltool_la-tool_getparam.lo `test -f 'tool_getparam.c' || echo '$(srcdir)/'`tool_getparam.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_getparam.Tpo $(DEPDIR)/libcurltool_la-tool_getparam.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_getparam.c' object='libcurltool_la-tool_getparam.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_getparam.lo `test -f 'tool_getparam.c' || echo '$(srcdir)/'`tool_getparam.c
+
+libcurltool_la-tool_getpass.lo: tool_getpass.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_getpass.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_getpass.Tpo -c -o libcurltool_la-tool_getpass.lo `test -f 'tool_getpass.c' || echo '$(srcdir)/'`tool_getpass.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_getpass.Tpo $(DEPDIR)/libcurltool_la-tool_getpass.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_getpass.c' object='libcurltool_la-tool_getpass.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_getpass.lo `test -f 'tool_getpass.c' || echo '$(srcdir)/'`tool_getpass.c
+
+libcurltool_la-tool_help.lo: tool_help.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_help.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_help.Tpo -c -o libcurltool_la-tool_help.lo `test -f 'tool_help.c' || echo '$(srcdir)/'`tool_help.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_help.Tpo $(DEPDIR)/libcurltool_la-tool_help.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_help.c' object='libcurltool_la-tool_help.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_help.lo `test -f 'tool_help.c' || echo '$(srcdir)/'`tool_help.c
+
+libcurltool_la-tool_helpers.lo: tool_helpers.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_helpers.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_helpers.Tpo -c -o libcurltool_la-tool_helpers.lo `test -f 'tool_helpers.c' || echo '$(srcdir)/'`tool_helpers.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_helpers.Tpo $(DEPDIR)/libcurltool_la-tool_helpers.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_helpers.c' object='libcurltool_la-tool_helpers.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_helpers.lo `test -f 'tool_helpers.c' || echo '$(srcdir)/'`tool_helpers.c
+
+libcurltool_la-tool_hugehelp.lo: tool_hugehelp.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_hugehelp.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_hugehelp.Tpo -c -o libcurltool_la-tool_hugehelp.lo `test -f 'tool_hugehelp.c' || echo '$(srcdir)/'`tool_hugehelp.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_hugehelp.Tpo $(DEPDIR)/libcurltool_la-tool_hugehelp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_hugehelp.c' object='libcurltool_la-tool_hugehelp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_hugehelp.lo `test -f 'tool_hugehelp.c' || echo '$(srcdir)/'`tool_hugehelp.c
+
+libcurltool_la-tool_libinfo.lo: tool_libinfo.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_libinfo.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_libinfo.Tpo -c -o libcurltool_la-tool_libinfo.lo `test -f 'tool_libinfo.c' || echo '$(srcdir)/'`tool_libinfo.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_libinfo.Tpo $(DEPDIR)/libcurltool_la-tool_libinfo.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_libinfo.c' object='libcurltool_la-tool_libinfo.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_libinfo.lo `test -f 'tool_libinfo.c' || echo '$(srcdir)/'`tool_libinfo.c
+
+libcurltool_la-tool_listhelp.lo: tool_listhelp.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_listhelp.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_listhelp.Tpo -c -o libcurltool_la-tool_listhelp.lo `test -f 'tool_listhelp.c' || echo '$(srcdir)/'`tool_listhelp.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_listhelp.Tpo $(DEPDIR)/libcurltool_la-tool_listhelp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_listhelp.c' object='libcurltool_la-tool_listhelp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_listhelp.lo `test -f 'tool_listhelp.c' || echo '$(srcdir)/'`tool_listhelp.c
+
+libcurltool_la-tool_main.lo: tool_main.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_main.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_main.Tpo -c -o libcurltool_la-tool_main.lo `test -f 'tool_main.c' || echo '$(srcdir)/'`tool_main.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_main.Tpo $(DEPDIR)/libcurltool_la-tool_main.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_main.c' object='libcurltool_la-tool_main.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_main.lo `test -f 'tool_main.c' || echo '$(srcdir)/'`tool_main.c
+
+libcurltool_la-tool_msgs.lo: tool_msgs.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_msgs.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_msgs.Tpo -c -o libcurltool_la-tool_msgs.lo `test -f 'tool_msgs.c' || echo '$(srcdir)/'`tool_msgs.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_msgs.Tpo $(DEPDIR)/libcurltool_la-tool_msgs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_msgs.c' object='libcurltool_la-tool_msgs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_msgs.lo `test -f 'tool_msgs.c' || echo '$(srcdir)/'`tool_msgs.c
+
+libcurltool_la-tool_operate.lo: tool_operate.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_operate.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_operate.Tpo -c -o libcurltool_la-tool_operate.lo `test -f 'tool_operate.c' || echo '$(srcdir)/'`tool_operate.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_operate.Tpo $(DEPDIR)/libcurltool_la-tool_operate.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_operate.c' object='libcurltool_la-tool_operate.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_operate.lo `test -f 'tool_operate.c' || echo '$(srcdir)/'`tool_operate.c
+
+libcurltool_la-tool_operhlp.lo: tool_operhlp.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_operhlp.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_operhlp.Tpo -c -o libcurltool_la-tool_operhlp.lo `test -f 'tool_operhlp.c' || echo '$(srcdir)/'`tool_operhlp.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_operhlp.Tpo $(DEPDIR)/libcurltool_la-tool_operhlp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_operhlp.c' object='libcurltool_la-tool_operhlp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_operhlp.lo `test -f 'tool_operhlp.c' || echo '$(srcdir)/'`tool_operhlp.c
+
+libcurltool_la-tool_panykey.lo: tool_panykey.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_panykey.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_panykey.Tpo -c -o libcurltool_la-tool_panykey.lo `test -f 'tool_panykey.c' || echo '$(srcdir)/'`tool_panykey.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_panykey.Tpo $(DEPDIR)/libcurltool_la-tool_panykey.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_panykey.c' object='libcurltool_la-tool_panykey.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_panykey.lo `test -f 'tool_panykey.c' || echo '$(srcdir)/'`tool_panykey.c
+
+libcurltool_la-tool_paramhlp.lo: tool_paramhlp.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_paramhlp.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_paramhlp.Tpo -c -o libcurltool_la-tool_paramhlp.lo `test -f 'tool_paramhlp.c' || echo '$(srcdir)/'`tool_paramhlp.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_paramhlp.Tpo $(DEPDIR)/libcurltool_la-tool_paramhlp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_paramhlp.c' object='libcurltool_la-tool_paramhlp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_paramhlp.lo `test -f 'tool_paramhlp.c' || echo '$(srcdir)/'`tool_paramhlp.c
+
+libcurltool_la-tool_parsecfg.lo: tool_parsecfg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_parsecfg.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_parsecfg.Tpo -c -o libcurltool_la-tool_parsecfg.lo `test -f 'tool_parsecfg.c' || echo '$(srcdir)/'`tool_parsecfg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_parsecfg.Tpo $(DEPDIR)/libcurltool_la-tool_parsecfg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_parsecfg.c' object='libcurltool_la-tool_parsecfg.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_parsecfg.lo `test -f 'tool_parsecfg.c' || echo '$(srcdir)/'`tool_parsecfg.c
+
+libcurltool_la-tool_progress.lo: tool_progress.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_progress.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_progress.Tpo -c -o libcurltool_la-tool_progress.lo `test -f 'tool_progress.c' || echo '$(srcdir)/'`tool_progress.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_progress.Tpo $(DEPDIR)/libcurltool_la-tool_progress.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_progress.c' object='libcurltool_la-tool_progress.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_progress.lo `test -f 'tool_progress.c' || echo '$(srcdir)/'`tool_progress.c
+
+libcurltool_la-tool_strdup.lo: tool_strdup.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_strdup.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_strdup.Tpo -c -o libcurltool_la-tool_strdup.lo `test -f 'tool_strdup.c' || echo '$(srcdir)/'`tool_strdup.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_strdup.Tpo $(DEPDIR)/libcurltool_la-tool_strdup.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_strdup.c' object='libcurltool_la-tool_strdup.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_strdup.lo `test -f 'tool_strdup.c' || echo '$(srcdir)/'`tool_strdup.c
+
+libcurltool_la-tool_setopt.lo: tool_setopt.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_setopt.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_setopt.Tpo -c -o libcurltool_la-tool_setopt.lo `test -f 'tool_setopt.c' || echo '$(srcdir)/'`tool_setopt.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_setopt.Tpo $(DEPDIR)/libcurltool_la-tool_setopt.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_setopt.c' object='libcurltool_la-tool_setopt.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_setopt.lo `test -f 'tool_setopt.c' || echo '$(srcdir)/'`tool_setopt.c
+
+libcurltool_la-tool_sleep.lo: tool_sleep.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_sleep.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_sleep.Tpo -c -o libcurltool_la-tool_sleep.lo `test -f 'tool_sleep.c' || echo '$(srcdir)/'`tool_sleep.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_sleep.Tpo $(DEPDIR)/libcurltool_la-tool_sleep.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_sleep.c' object='libcurltool_la-tool_sleep.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_sleep.lo `test -f 'tool_sleep.c' || echo '$(srcdir)/'`tool_sleep.c
+
+libcurltool_la-tool_urlglob.lo: tool_urlglob.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_urlglob.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_urlglob.Tpo -c -o libcurltool_la-tool_urlglob.lo `test -f 'tool_urlglob.c' || echo '$(srcdir)/'`tool_urlglob.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_urlglob.Tpo $(DEPDIR)/libcurltool_la-tool_urlglob.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_urlglob.c' object='libcurltool_la-tool_urlglob.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_urlglob.lo `test -f 'tool_urlglob.c' || echo '$(srcdir)/'`tool_urlglob.c
+
+libcurltool_la-tool_util.lo: tool_util.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_util.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_util.Tpo -c -o libcurltool_la-tool_util.lo `test -f 'tool_util.c' || echo '$(srcdir)/'`tool_util.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_util.Tpo $(DEPDIR)/libcurltool_la-tool_util.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_util.c' object='libcurltool_la-tool_util.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_util.lo `test -f 'tool_util.c' || echo '$(srcdir)/'`tool_util.c
+
+libcurltool_la-tool_vms.lo: tool_vms.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_vms.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_vms.Tpo -c -o libcurltool_la-tool_vms.lo `test -f 'tool_vms.c' || echo '$(srcdir)/'`tool_vms.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_vms.Tpo $(DEPDIR)/libcurltool_la-tool_vms.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_vms.c' object='libcurltool_la-tool_vms.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_vms.lo `test -f 'tool_vms.c' || echo '$(srcdir)/'`tool_vms.c
+
+libcurltool_la-tool_writeout.lo: tool_writeout.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_writeout.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_writeout.Tpo -c -o libcurltool_la-tool_writeout.lo `test -f 'tool_writeout.c' || echo '$(srcdir)/'`tool_writeout.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_writeout.Tpo $(DEPDIR)/libcurltool_la-tool_writeout.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_writeout.c' object='libcurltool_la-tool_writeout.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_writeout.lo `test -f 'tool_writeout.c' || echo '$(srcdir)/'`tool_writeout.c
+
+libcurltool_la-tool_writeout_json.lo: tool_writeout_json.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_writeout_json.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_writeout_json.Tpo -c -o libcurltool_la-tool_writeout_json.lo `test -f 'tool_writeout_json.c' || echo '$(srcdir)/'`tool_writeout_json.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_writeout_json.Tpo $(DEPDIR)/libcurltool_la-tool_writeout_json.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_writeout_json.c' object='libcurltool_la-tool_writeout_json.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_writeout_json.lo `test -f 'tool_writeout_json.c' || echo '$(srcdir)/'`tool_writeout_json.c
+
+libcurltool_la-tool_xattr.lo: tool_xattr.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT libcurltool_la-tool_xattr.lo -MD -MP -MF $(DEPDIR)/libcurltool_la-tool_xattr.Tpo -c -o libcurltool_la-tool_xattr.lo `test -f 'tool_xattr.c' || echo '$(srcdir)/'`tool_xattr.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libcurltool_la-tool_xattr.Tpo $(DEPDIR)/libcurltool_la-tool_xattr.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tool_xattr.c' object='libcurltool_la-tool_xattr.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o libcurltool_la-tool_xattr.lo `test -f 'tool_xattr.c' || echo '$(srcdir)/'`tool_xattr.c
+
+../lib/libcurltool_la-strtoofft.lo: ../lib/strtoofft.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-strtoofft.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-strtoofft.Tpo -c -o ../lib/libcurltool_la-strtoofft.lo `test -f '../lib/strtoofft.c' || echo '$(srcdir)/'`../lib/strtoofft.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-strtoofft.Tpo ../lib/$(DEPDIR)/libcurltool_la-strtoofft.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/strtoofft.c' object='../lib/libcurltool_la-strtoofft.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-strtoofft.lo `test -f '../lib/strtoofft.c' || echo '$(srcdir)/'`../lib/strtoofft.c
+
+../lib/libcurltool_la-timediff.lo: ../lib/timediff.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-timediff.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-timediff.Tpo -c -o ../lib/libcurltool_la-timediff.lo `test -f '../lib/timediff.c' || echo '$(srcdir)/'`../lib/timediff.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-timediff.Tpo ../lib/$(DEPDIR)/libcurltool_la-timediff.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/timediff.c' object='../lib/libcurltool_la-timediff.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-timediff.lo `test -f '../lib/timediff.c' || echo '$(srcdir)/'`../lib/timediff.c
+
+../lib/libcurltool_la-nonblock.lo: ../lib/nonblock.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-nonblock.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-nonblock.Tpo -c -o ../lib/libcurltool_la-nonblock.lo `test -f '../lib/nonblock.c' || echo '$(srcdir)/'`../lib/nonblock.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-nonblock.Tpo ../lib/$(DEPDIR)/libcurltool_la-nonblock.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/nonblock.c' object='../lib/libcurltool_la-nonblock.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-nonblock.lo `test -f '../lib/nonblock.c' || echo '$(srcdir)/'`../lib/nonblock.c
+
+../lib/libcurltool_la-warnless.lo: ../lib/warnless.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-warnless.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-warnless.Tpo -c -o ../lib/libcurltool_la-warnless.lo `test -f '../lib/warnless.c' || echo '$(srcdir)/'`../lib/warnless.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-warnless.Tpo ../lib/$(DEPDIR)/libcurltool_la-warnless.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/warnless.c' object='../lib/libcurltool_la-warnless.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-warnless.lo `test -f '../lib/warnless.c' || echo '$(srcdir)/'`../lib/warnless.c
+
+../lib/libcurltool_la-curl_multibyte.lo: ../lib/curl_multibyte.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-curl_multibyte.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Tpo -c -o ../lib/libcurltool_la-curl_multibyte.lo `test -f '../lib/curl_multibyte.c' || echo '$(srcdir)/'`../lib/curl_multibyte.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Tpo ../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/curl_multibyte.c' object='../lib/libcurltool_la-curl_multibyte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-curl_multibyte.lo `test -f '../lib/curl_multibyte.c' || echo '$(srcdir)/'`../lib/curl_multibyte.c
+
+../lib/libcurltool_la-version_win32.lo: ../lib/version_win32.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-version_win32.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-version_win32.Tpo -c -o ../lib/libcurltool_la-version_win32.lo `test -f '../lib/version_win32.c' || echo '$(srcdir)/'`../lib/version_win32.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-version_win32.Tpo ../lib/$(DEPDIR)/libcurltool_la-version_win32.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/version_win32.c' object='../lib/libcurltool_la-version_win32.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-version_win32.lo `test -f '../lib/version_win32.c' || echo '$(srcdir)/'`../lib/version_win32.c
+
+../lib/libcurltool_la-dynbuf.lo: ../lib/dynbuf.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -MT ../lib/libcurltool_la-dynbuf.lo -MD -MP -MF ../lib/$(DEPDIR)/libcurltool_la-dynbuf.Tpo -c -o ../lib/libcurltool_la-dynbuf.lo `test -f '../lib/dynbuf.c' || echo '$(srcdir)/'`../lib/dynbuf.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/libcurltool_la-dynbuf.Tpo ../lib/$(DEPDIR)/libcurltool_la-dynbuf.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../lib/dynbuf.c' object='../lib/libcurltool_la-dynbuf.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurltool_la_CPPFLAGS) $(CPPFLAGS) $(libcurltool_la_CFLAGS) $(CFLAGS) -c -o ../lib/libcurltool_la-dynbuf.lo `test -f '../lib/dynbuf.c' || echo '$(srcdir)/'`../lib/dynbuf.c
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+	-rm -rf ../lib/.libs ../lib/_libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+	@fail=; \
+	if $(am__make_keepgoing); then \
+	  failcom='fail=yes'; \
+	else \
+	  failcom='exit 1'; \
+	fi; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+	$(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	$(am__define_uniq_tagged_files); \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+	$(am__define_uniq_tagged_files); \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+	list='$(am__tagged_files)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+distdir: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    $(am__make_dryrun) \
+	      || test -d "$(distdir)/$$subdir" \
+	      || $(MKDIR_P) "$(distdir)/$$subdir" \
+	      || exit 1; \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+@CURLDEBUG_FALSE@all-local:
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) all-local
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f ../lib/$(DEPDIR)/$(am__dirstamp)
+	-rm -f ../lib/$(am__dirstamp)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool \
+	clean-noinstLTLIBRARIES mostlyclean-am
+
+distclean: distclean-recursive
+		-rm -f ../lib/$(DEPDIR)/curl_multibyte.Po
+	-rm -f ../lib/$(DEPDIR)/dynbuf.Po
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-dynbuf.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-nonblock.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-strtoofft.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-timediff.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-version_win32.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-warnless.Plo
+	-rm -f ../lib/$(DEPDIR)/nonblock.Po
+	-rm -f ../lib/$(DEPDIR)/strtoofft.Po
+	-rm -f ../lib/$(DEPDIR)/timediff.Po
+	-rm -f ../lib/$(DEPDIR)/version_win32.Po
+	-rm -f ../lib/$(DEPDIR)/warnless.Po
+	-rm -f ./$(DEPDIR)/libcurltool_la-slist_wc.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_binmode.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_bname.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_dbg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_hdr.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_prg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_rea.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_see.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_wrt.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cfgable.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_dirhie.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_doswin.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_easysrc.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_filetime.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_findfile.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_formparse.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_getparam.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_getpass.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_help.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_helpers.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_hugehelp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_libinfo.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_listhelp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_main.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_msgs.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_operate.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_operhlp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_panykey.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_paramhlp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_parsecfg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_progress.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_setopt.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_sleep.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_strdup.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_urlglob.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_util.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_vms.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_writeout.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_writeout_json.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_xattr.Plo
+	-rm -f ./$(DEPDIR)/slist_wc.Po
+	-rm -f ./$(DEPDIR)/tool_binmode.Po
+	-rm -f ./$(DEPDIR)/tool_bname.Po
+	-rm -f ./$(DEPDIR)/tool_cb_dbg.Po
+	-rm -f ./$(DEPDIR)/tool_cb_hdr.Po
+	-rm -f ./$(DEPDIR)/tool_cb_prg.Po
+	-rm -f ./$(DEPDIR)/tool_cb_rea.Po
+	-rm -f ./$(DEPDIR)/tool_cb_see.Po
+	-rm -f ./$(DEPDIR)/tool_cb_wrt.Po
+	-rm -f ./$(DEPDIR)/tool_cfgable.Po
+	-rm -f ./$(DEPDIR)/tool_dirhie.Po
+	-rm -f ./$(DEPDIR)/tool_doswin.Po
+	-rm -f ./$(DEPDIR)/tool_easysrc.Po
+	-rm -f ./$(DEPDIR)/tool_filetime.Po
+	-rm -f ./$(DEPDIR)/tool_findfile.Po
+	-rm -f ./$(DEPDIR)/tool_formparse.Po
+	-rm -f ./$(DEPDIR)/tool_getparam.Po
+	-rm -f ./$(DEPDIR)/tool_getpass.Po
+	-rm -f ./$(DEPDIR)/tool_help.Po
+	-rm -f ./$(DEPDIR)/tool_helpers.Po
+	-rm -f ./$(DEPDIR)/tool_hugehelp.Po
+	-rm -f ./$(DEPDIR)/tool_libinfo.Po
+	-rm -f ./$(DEPDIR)/tool_listhelp.Po
+	-rm -f ./$(DEPDIR)/tool_main.Po
+	-rm -f ./$(DEPDIR)/tool_msgs.Po
+	-rm -f ./$(DEPDIR)/tool_operate.Po
+	-rm -f ./$(DEPDIR)/tool_operhlp.Po
+	-rm -f ./$(DEPDIR)/tool_panykey.Po
+	-rm -f ./$(DEPDIR)/tool_paramhlp.Po
+	-rm -f ./$(DEPDIR)/tool_parsecfg.Po
+	-rm -f ./$(DEPDIR)/tool_progress.Po
+	-rm -f ./$(DEPDIR)/tool_setopt.Po
+	-rm -f ./$(DEPDIR)/tool_sleep.Po
+	-rm -f ./$(DEPDIR)/tool_strdup.Po
+	-rm -f ./$(DEPDIR)/tool_urlglob.Po
+	-rm -f ./$(DEPDIR)/tool_util.Po
+	-rm -f ./$(DEPDIR)/tool_vms.Po
+	-rm -f ./$(DEPDIR)/tool_writeout.Po
+	-rm -f ./$(DEPDIR)/tool_writeout_json.Po
+	-rm -f ./$(DEPDIR)/tool_xattr.Po
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+		-rm -f ../lib/$(DEPDIR)/curl_multibyte.Po
+	-rm -f ../lib/$(DEPDIR)/dynbuf.Po
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-curl_multibyte.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-dynbuf.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-nonblock.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-strtoofft.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-timediff.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-version_win32.Plo
+	-rm -f ../lib/$(DEPDIR)/libcurltool_la-warnless.Plo
+	-rm -f ../lib/$(DEPDIR)/nonblock.Po
+	-rm -f ../lib/$(DEPDIR)/strtoofft.Po
+	-rm -f ../lib/$(DEPDIR)/timediff.Po
+	-rm -f ../lib/$(DEPDIR)/version_win32.Po
+	-rm -f ../lib/$(DEPDIR)/warnless.Po
+	-rm -f ./$(DEPDIR)/libcurltool_la-slist_wc.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_binmode.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_bname.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_dbg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_hdr.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_prg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_rea.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_see.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cb_wrt.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_cfgable.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_dirhie.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_doswin.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_easysrc.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_filetime.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_findfile.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_formparse.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_getparam.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_getpass.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_help.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_helpers.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_hugehelp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_libinfo.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_listhelp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_main.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_msgs.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_operate.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_operhlp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_panykey.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_paramhlp.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_parsecfg.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_progress.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_setopt.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_sleep.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_strdup.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_urlglob.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_util.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_vms.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_writeout.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_writeout_json.Plo
+	-rm -f ./$(DEPDIR)/libcurltool_la-tool_xattr.Plo
+	-rm -f ./$(DEPDIR)/slist_wc.Po
+	-rm -f ./$(DEPDIR)/tool_binmode.Po
+	-rm -f ./$(DEPDIR)/tool_bname.Po
+	-rm -f ./$(DEPDIR)/tool_cb_dbg.Po
+	-rm -f ./$(DEPDIR)/tool_cb_hdr.Po
+	-rm -f ./$(DEPDIR)/tool_cb_prg.Po
+	-rm -f ./$(DEPDIR)/tool_cb_rea.Po
+	-rm -f ./$(DEPDIR)/tool_cb_see.Po
+	-rm -f ./$(DEPDIR)/tool_cb_wrt.Po
+	-rm -f ./$(DEPDIR)/tool_cfgable.Po
+	-rm -f ./$(DEPDIR)/tool_dirhie.Po
+	-rm -f ./$(DEPDIR)/tool_doswin.Po
+	-rm -f ./$(DEPDIR)/tool_easysrc.Po
+	-rm -f ./$(DEPDIR)/tool_filetime.Po
+	-rm -f ./$(DEPDIR)/tool_findfile.Po
+	-rm -f ./$(DEPDIR)/tool_formparse.Po
+	-rm -f ./$(DEPDIR)/tool_getparam.Po
+	-rm -f ./$(DEPDIR)/tool_getpass.Po
+	-rm -f ./$(DEPDIR)/tool_help.Po
+	-rm -f ./$(DEPDIR)/tool_helpers.Po
+	-rm -f ./$(DEPDIR)/tool_hugehelp.Po
+	-rm -f ./$(DEPDIR)/tool_libinfo.Po
+	-rm -f ./$(DEPDIR)/tool_listhelp.Po
+	-rm -f ./$(DEPDIR)/tool_main.Po
+	-rm -f ./$(DEPDIR)/tool_msgs.Po
+	-rm -f ./$(DEPDIR)/tool_operate.Po
+	-rm -f ./$(DEPDIR)/tool_operhlp.Po
+	-rm -f ./$(DEPDIR)/tool_panykey.Po
+	-rm -f ./$(DEPDIR)/tool_paramhlp.Po
+	-rm -f ./$(DEPDIR)/tool_parsecfg.Po
+	-rm -f ./$(DEPDIR)/tool_progress.Po
+	-rm -f ./$(DEPDIR)/tool_setopt.Po
+	-rm -f ./$(DEPDIR)/tool_sleep.Po
+	-rm -f ./$(DEPDIR)/tool_strdup.Po
+	-rm -f ./$(DEPDIR)/tool_urlglob.Po
+	-rm -f ./$(DEPDIR)/tool_util.Po
+	-rm -f ./$(DEPDIR)/tool_vms.Po
+	-rm -f ./$(DEPDIR)/tool_writeout.Po
+	-rm -f ./$(DEPDIR)/tool_writeout_json.Po
+	-rm -f ./$(DEPDIR)/tool_xattr.Po
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
+	am--depfiles check check-am clean clean-binPROGRAMS \
+	clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	cscopelist-am ctags ctags-am distclean distclean-compile \
+	distclean-generic distclean-libtool distclean-tags distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-binPROGRAMS install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+	uninstall-am uninstall-binPROGRAMS
+
+.PRECIOUS: Makefile
+
+
+# remove targets if the command fails
+.DELETE_ON_ERROR:
+@OS_WINDOWS_TRUE@$(CURL_RCFILES): tool_version.h
+
+# Here are the stuff to create a built-in manual
+
+@USE_MANUAL_TRUE@$(MANPAGE):
+@USE_MANUAL_TRUE@	cd $(top_builddir)/docs && $(MAKE)
+
+# This generates the tool_hugehelp.c file in both uncompressed and
+# compressed formats.
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@$(HUGE): $(MANPAGE) $(MKHELP)
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	$(HUGECMD) (echo '#include "tool_setup.h"' > $(HUGE);   \
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#ifndef HAVE_LIBZ' >> $(HUGE);                    \
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE);     \
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#else' >> $(HUGE);                                \
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c >> $(HUGE);  \
+@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@	echo '#endif /* HAVE_LIBZ */' >> $(HUGE) )
+# This generates the tool_hugehelp.c file uncompressed only
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@$(HUGE): $(MANPAGE) $(MKHELP)
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@	$(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE);    \
+@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@	$(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) )
+
+# built-in manual has been disabled, make a blank file
+@USE_MANUAL_FALSE@$(HUGE):
+@USE_MANUAL_FALSE@	echo '#include "tool_hugehelp.h"' >> $(HUGE)
+
+# ignore tool_hugehelp.c since it is generated source code and it plays
+# by slightly different rules!
+checksrc:
+	$(CHECKSRC)(@PERL@ $(top_srcdir)/scripts/checksrc.pl -D$(srcdir) \
+	-W$(srcdir)/tool_hugehelp.c $(srcdir)/*.[ch])
+
+# for debug builds, we scan the sources on all regular make invokes
+@CURLDEBUG_TRUE@all-local: checksrc
+
+tidy:
+	$(TIDY) $(CURL_CFILES) $(TIDYFLAGS) -- $(curl_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H
+
+listhelp:
+	(cd $(top_srcdir)/docs/cmdline-opts && ./gen.pl listhelp *.d) > tool_listhelp.c
+
+# Warning is "normal": libtool:   error: ignoring unknown tag RC
+@OS_WINDOWS_TRUE@.rc.o:
+@OS_WINDOWS_TRUE@	$(LIBTOOL) --tag=RC --mode=compile $(RC) -I$(top_srcdir)/include -DCURL_EMBED_MANIFEST $(RCFLAGS) -i $< -o $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/ap/lib/libcurl/curl-7.86.0/src/Makefile.inc b/ap/lib/libcurl/curl-7.86.0/src/Makefile.inc
new file mode 100755
index 0000000..bdf663f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/Makefile.inc
@@ -0,0 +1,143 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# ./src/Makefile.inc
+# Using the backslash as line continuation character might be problematic with
+# some make flavours. If we ever want to change this in a portable manner then
+# we should consider this idea :
+# CSRC1 = file1.c file2.c file3.c
+# CSRC2 = file4.c file5.c file6.c
+# CSOURCES = $(CSRC1) $(CSRC2)
+
+# libcurl has sources that provide functions named curlx_* that aren't part of
+# the official API, but we re-use the code here to avoid duplication.
+CURLX_CFILES = \
+  ../lib/strtoofft.c \
+  ../lib/timediff.c \
+  ../lib/nonblock.c \
+  ../lib/warnless.c \
+  ../lib/curl_multibyte.c \
+  ../lib/version_win32.c \
+  ../lib/dynbuf.c
+
+CURLX_HFILES = \
+  ../lib/curl_setup.h \
+  ../lib/strtoofft.h \
+  ../lib/timediff.h \
+  ../lib/nonblock.h \
+  ../lib/warnless.h \
+  ../lib/curl_ctype.h \
+  ../lib/curl_multibyte.h \
+  ../lib/version_win32.h \
+  ../lib/dynbuf.h
+
+CURL_CFILES = \
+  slist_wc.c \
+  tool_binmode.c \
+  tool_bname.c \
+  tool_cb_dbg.c \
+  tool_cb_hdr.c \
+  tool_cb_prg.c \
+  tool_cb_rea.c \
+  tool_cb_see.c \
+  tool_cb_wrt.c \
+  tool_cfgable.c \
+  tool_dirhie.c \
+  tool_doswin.c \
+  tool_easysrc.c \
+  tool_filetime.c \
+  tool_findfile.c \
+  tool_formparse.c \
+  tool_getparam.c \
+  tool_getpass.c \
+  tool_help.c \
+  tool_helpers.c \
+  tool_hugehelp.c \
+  tool_libinfo.c \
+  tool_listhelp.c \
+  tool_main.c \
+  tool_msgs.c \
+  tool_operate.c \
+  tool_operhlp.c \
+  tool_panykey.c \
+  tool_paramhlp.c \
+  tool_parsecfg.c \
+  tool_progress.c \
+  tool_strdup.c \
+  tool_setopt.c \
+  tool_sleep.c \
+  tool_urlglob.c \
+  tool_util.c \
+  tool_vms.c \
+  tool_writeout.c \
+  tool_writeout_json.c \
+  tool_xattr.c
+
+CURL_HFILES = \
+  slist_wc.h \
+  tool_binmode.h \
+  tool_bname.h \
+  tool_cb_dbg.h \
+  tool_cb_hdr.h \
+  tool_cb_prg.h \
+  tool_cb_rea.h \
+  tool_cb_see.h \
+  tool_cb_wrt.h \
+  tool_cfgable.h \
+  tool_dirhie.h \
+  tool_doswin.h \
+  tool_easysrc.h \
+  tool_filetime.h \
+  tool_findfile.h \
+  tool_formparse.h \
+  tool_getparam.h \
+  tool_getpass.h \
+  tool_help.h \
+  tool_helpers.h \
+  tool_hugehelp.h \
+  tool_libinfo.h \
+  tool_main.h \
+  tool_msgs.h \
+  tool_operate.h \
+  tool_operhlp.h \
+  tool_panykey.h \
+  tool_paramhlp.h \
+  tool_parsecfg.h \
+  tool_progress.h \
+  tool_sdecls.h \
+  tool_setopt.h \
+  tool_setup.h \
+  tool_sleep.h \
+  tool_strdup.h \
+  tool_urlglob.h \
+  tool_util.h \
+  tool_version.h \
+  tool_vms.h \
+  tool_writeout.h \
+  tool_writeout_json.h \
+  tool_xattr.h
+
+CURL_RCFILES = curl.rc
+
+# curl_SOURCES is special and gets assigned in src/Makefile.am
+CURL_FILES = $(CURL_CFILES) $(CURLX_CFILES) $(CURL_HFILES)
diff --git a/ap/lib/libcurl/curl-7.86.0/src/Makefile.m32 b/ap/lib/libcurl/curl-7.86.0/src/Makefile.m32
new file mode 100755
index 0000000..096e093
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/Makefile.m32
@@ -0,0 +1,72 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1999 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+#***************************************************************************
+
+# See usage in lib/Makefile.m32
+
+PROOT := ..
+
+RCFLAGS  += -DCURL_EMBED_MANIFEST
+CPPFLAGS += -I$(PROOT)/lib
+LDFLAGS  += -L$(PROOT)/lib
+LIBS     += -lcurl
+
+ifneq ($(findstring -dyn,$(CFG)),)
+  curl_DEPENDENCIES := $(PROOT)/lib/libcurl$(CURL_DLL_SUFFIX).dll
+  curl_DEPENDENCIES += $(PROOT)/lib/libcurl.dll.a
+  DYN := 1
+else
+  curl_DEPENDENCIES := $(PROOT)/lib/libcurl.a
+  CPPFLAGS += -DCURL_STATICLIB
+  LDFLAGS += -static
+endif
+
+### Sources and targets
+
+# Provides CURL_CFILES, CURLX_CFILES, CURL_RCFILES
+include Makefile.inc
+
+TARGETS := curl.exe
+
+curl_OBJECTS := $(patsubst %.c,%.o,$(strip $(CURL_CFILES)))
+curl_OBJECTS += $(patsubst %.c,%.o,$(notdir $(strip $(CURLX_CFILES))))
+curl_OBJECTS += $(patsubst %.rc,%.res,$(strip $(CURL_RCFILES)))
+vpath %.c $(PROOT)/lib
+
+TOCLEAN := $(curl_OBJECTS)
+ifneq ($(wildcard tool_hugehelp.c.cvs),)
+TOCLEAN += tool_hugehelp.c
+endif
+
+### Local rules
+
+$(TARGETS): $(curl_OBJECTS) $(curl_DEPENDENCIES)
+	$(CC) $(LDFLAGS) $(CURL_LDFLAGS_BIN) -o $@ $(curl_OBJECTS) $(LIBS)
+
+tool_hugehelp.c:
+	@echo Creating $@
+	@$(call COPY, $@.cvs, $@)
+
+### Global script
+
+include $(PROOT)/lib/Makefile.m32
diff --git a/ap/lib/libcurl/curl-7.86.0/src/curl.rc b/ap/lib/libcurl/curl-7.86.0/src/curl.rc
new file mode 100755
index 0000000..b0e3287
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/curl.rc
@@ -0,0 +1,113 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include <winver.h>
+#include "tool_version.h"
+
+LANGUAGE  0, 0
+
+#define RC_VERSION  CURL_VERSION_MAJOR, CURL_VERSION_MINOR, CURL_VERSION_PATCH, 0
+
+VS_VERSION_INFO VERSIONINFO
+  FILEVERSION     RC_VERSION
+  PRODUCTVERSION  RC_VERSION
+  FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
+#if defined(DEBUGBUILD) || defined(_DEBUG)
+  FILEFLAGS VS_FF_DEBUG
+#else
+  FILEFLAGS 0L
+#endif
+  FILEOS      VOS__WINDOWS32
+  FILETYPE    VFT_APP
+  FILESUBTYPE 0L
+
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904b0"
+    BEGIN
+      VALUE "CompanyName",      "curl, https://curl.se/\0"
+      VALUE "FileDescription",  "The curl executable\0"
+      VALUE "FileVersion",      CURL_VERSION "\0"
+      VALUE "InternalName",     "curl\0"
+      VALUE "OriginalFilename", "curl.exe\0"
+      VALUE "ProductName",      "The curl executable\0"
+      VALUE "ProductVersion",   CURL_VERSION "\0"
+      VALUE "LegalCopyright",   "\xa9 " CURL_COPYRIGHT "\0"  /* a9: Copyright symbol */
+      VALUE "License",          "https://curl.se/docs/copyright.html\0"
+    END
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN
+    VALUE "Translation", 0x409, 1200
+  END
+END
+
+/* Manifest */
+
+#if defined(CURL_EMBED_MANIFEST)
+
+/* String escaping rules:
+     https://msdn.microsoft.com/library/aa381050
+   Application Manifest doc, including the list of 'supportedOS Id's:
+     https://msdn.microsoft.com/library/aa374191 */
+
+#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1
+#endif
+#ifndef RT_MANIFEST
+#define RT_MANIFEST  24
+#endif
+
+#define _STR(macro)   _STR_(macro)
+#define _STR_(macro)  #macro
+
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST
+BEGIN
+  "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>"
+  "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">"
+    "<assemblyIdentity name=""The curl executable"" version="""
+      _STR(LIBCURL_VERSION_MAJOR) "."
+      _STR(LIBCURL_VERSION_MINOR) "."
+      _STR(LIBCURL_VERSION_PATCH) ".0"" type=""win32""/>"
+    "<compatibility xmlns=""urn:schemas-microsoft-com:compatibility.v1"">"
+      "<application>"
+        "<supportedOS Id=""{e2011457-1546-43c5-a5fe-008deee3d3f0}""/>"  /* Vista / Server 2008 */
+        "<supportedOS Id=""{35138b9a-5d96-4fbd-8e2d-a2440225f93a}""/>"  /* 7 / Server 2008 R2 */
+        "<supportedOS Id=""{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}""/>"  /* 8 / Server 2012 */
+        "<supportedOS Id=""{1f676c76-80e1-4239-95bb-83d0f6d0da78}""/>"  /* 8.1 / Server 2012 R2 */
+        "<supportedOS Id=""{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}""/>"  /* 10 / Server 2016 */
+      "</application>"
+    "</compatibility>"
+    "<trustInfo xmlns=""urn:schemas-microsoft-com:asm.v3"">"
+      "<security>"
+        "<requestedPrivileges>"
+          "<requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>"
+        "</requestedPrivileges>"
+      "</security>"
+    "</trustInfo>"
+  "</assembly>"
+END
+
+#endif
diff --git a/ap/lib/libcurl/curl-7.86.0/src/makefile.amiga b/ap/lib/libcurl/curl-7.86.0/src/makefile.amiga
new file mode 100755
index 0000000..9aac7a0
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/makefile.amiga
@@ -0,0 +1,52 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+#
+# curl Makefile for AmigaOS ...
+#
+
+# change the follow to where you have the AmiTCP SDK v4.3 includes:
+
+ATCPSDKI= /GG/netinclude
+
+
+CC = m68k-amigaos-gcc
+CFLAGS  = -I$(ATCPSDKI) -m68020-60 -O2 -msoft-float -noixemul -g -I. -I../include -W -Wall -DUSE_OPENSSL -DHAVE_LIBZ
+LIBS    = ../lib/libcurl.a -lssl -lcrypto -lz
+MANPAGE = ../docs/curl.1
+README  = ../docs/MANUAL
+MKHELP  = ../src/mkhelp.pl
+
+include Makefile.inc
+
+OBJS = $(CURL_CFILES:.c=.o) $(CURLX_CFILES:.c=.o)
+
+all: tool_hugehelp.c $(OBJS)
+	$(CC) $(CFLAGS) -o curl $(OBJS) $(LIBS) -Wl,-Map,curl.map,--cref
+
+tool_hugehelp.c: $(README) $(MANPAGE)  mkhelp.pl
+	rm -f tool_hugehelp.c
+	/bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > tool_hugehelp.c
+
+install:
+	$(INSTALL) -c curl /c/curl
diff --git a/ap/lib/libcurl/curl-7.86.0/src/makefile.dj b/ap/lib/libcurl/curl-7.86.0/src/makefile.dj
new file mode 100755
index 0000000..84c127b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/makefile.dj
@@ -0,0 +1,101 @@
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 2003 - 2022, Gisle Vanem <gvanem@yahoo.no>.
+# Copyright (C) 2003 - 2020, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+#***************************************************************************
+
+#
+#  Adapted for djgpp2 / Watt-32 / DOS
+#
+
+DEPEND_PREREQ = # tool_hugehelp.c
+
+TOPDIR = ..
+
+vpath %.c ../lib
+
+include ../packages/DOS/common.dj
+include Makefile.inc
+
+CSOURCES = $(CURL_CFILES) $(CURLX_CFILES)
+
+ifeq ($(USE_OPENSSL),1)
+  EX_LIBS += $(OPENSSL_LIBS)
+endif
+
+ifeq ($(USE_ARES),1)
+  EX_LIBS += $(ARES_ROOT)/libcares.a
+endif
+
+ifeq ($(USE_ZLIB),1)
+  EX_LIBS += $(ZLIB_ROOT)/libz.a
+  CFLAGS  += -DUSE_MANUAL
+endif
+
+ifeq ($(USE_IDNA),1)
+  EX_LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv
+endif
+
+EX_LIBS += $(WATT32_ROOT)/lib/libwatt.a
+
+PROGRAM = curl.exe
+OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(CSOURCES:.c=.o)))
+
+all: $(OBJ_DIR) $(PROGRAM)
+	@echo Welcome to curl
+
+$(PROGRAM): $(OBJECTS) ../lib/libcurl.a
+	$(CC) -o $@ $^ $(LDFLAGS) $(EX_LIBS)
+
+#
+# groff 1.18+ requires "-P -c"
+# If 'USE_ZLIB = 1', create a compressed help-file.
+#
+ifeq ($(USE_ZLIB),1)
+  COMPRESS_OPT = -c
+endif
+
+tool_hugehelp.c: ../docs/curl.1 mkhelp.pl Makefile.dj
+	groff -Tascii -man $< | perl -w mkhelp.pl $(COMPRESS_OPT) $< > $@
+
+# clean generated files
+#
+genclean:
+	- $(DELETE) tool_hugehelp.c
+
+# clean object files and subdir
+#
+objclean: genclean
+	- $(DELETE) $(OBJ_DIR)$(DS)*.o
+	- $(RMDIR) $(OBJ_DIR)
+
+# clean without removing built program
+#
+clean: objclean
+	- $(DELETE) depend.dj
+
+# clean everything
+#
+realclean vclean: clean
+	- $(DELETE) $(PROGRAM)
+
+-include depend.dj
diff --git a/ap/lib/libcurl/curl-7.86.0/src/mkhelp.pl b/ap/lib/libcurl/curl-7.86.0/src/mkhelp.pl
new file mode 100755
index 0000000..bf146d7
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/mkhelp.pl
@@ -0,0 +1,233 @@
+#!/usr/bin/env perl
+#***************************************************************************
+#                                  _   _ ____  _
+#  Project                     ___| | | |  _ \| |
+#                             / __| | | | |_) | |
+#                            | (__| |_| |  _ <| |___
+#                             \___|\___/|_| \_\_____|
+#
+# Copyright (C) 1998 - 2022, 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.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.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+
+# Yeah, I know, probably 1000 other persons already wrote a script like
+# this, but I'll tell ya:
+
+# THEY DON'T FIT ME :-)
+
+# Get readme file as parameter:
+
+if($ARGV[0] eq "-c") {
+    $c=1;
+    shift @ARGV;
+}
+
+push @out, "                                  _   _ ____  _\n";
+push @out, "  Project                     ___| | | |  _ \\| |\n";
+push @out, "                             / __| | | | |_) | |\n";
+push @out, "                            | (__| |_| |  _ <| |___\n";
+push @out, "                             \\___|\\___/|_| \\_\\_____|\n";
+
+my $olen=0;
+while (<STDIN>) {
+    my $line = $_;
+
+    # this should be removed:
+    $line =~ s/(.|_)//g;
+
+    # remove trailing CR from line. msysgit checks out files as line+CRLF
+    $line =~ s/\r$//;
+
+    if($line =~ /^([ \t]*\n|curl)/i) {
+        # cut off headers and empty lines
+        $wline++; # count number of cut off lines
+        next;
+    }
+
+    my $text = $line;
+    $text =~ s/^\s+//g; # cut off preceding...
+    $text =~ s/\s+$//g; # and trailing whitespaces
+
+    $tlen = length($text);
+
+    if($wline && ($olen == $tlen)) {
+        # if the previous line with contents was exactly as long as
+        # this line, then we ignore the newlines!
+
+        # We do this magic because a header may abort a paragraph at
+        # any line, but we don't want that to be noticed in the output
+        # here
+        $wline=0;
+    }
+    $olen = $tlen;
+
+    if($wline) {
+        # we only make one empty line max
+        $wline = 0;
+        push @out, "\n";
+    }
+    push @out, $line;
+}
+push @out, "\n"; # just an extra newline
+
+print <<HEAD
+/*
+ * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+ */
+#ifdef USE_MANUAL
+#include "tool_hugehelp.h"
+HEAD
+    ;
+if($c) {
+    # If compression requested, check that the Gzip module is available
+    # or else disable compression
+    $c = eval
+    {
+      require IO::Compress::Gzip;
+      IO::Compress::Gzip->import();
+      1;
+    };
+    print STDERR "Warning: compression requested but Gzip is not available\n" if (!$c)
+}
+
+if($c)
+{
+    my $content = join("", @out);
+    my $gzippedContent;
+    IO::Compress::Gzip::gzip(
+        \$content, \$gzippedContent, Level => 9, TextFlag => 1, Time=>0) or die "gzip failed:";
+    $gzip = length($content);
+    $gzipped = length($gzippedContent);
+
+    print <<HEAD
+#include <zlib.h>
+#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 $gzip
+     to $gzipped bytes. You can disable the use of compressed help
+     texts by NOT passing -c to the mkhelp.pl tool. */
+HEAD
+;
+
+    my $c=0;
+    print " ";
+    for(split(//, $gzippedContent)) {
+        my $num=ord($_);
+        printf(" 0x%02x,", 0+$num);
+        if(!(++$c % 12)) {
+            print "\n ";
+        }
+    }
+    print "\n};\n";
+
+    print <<EOF
+#define BUF_SIZE 0x10000
+static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
+{
+  (void) opaque;
+  /* not a typo, keep it calloc() */
+  return (voidpf) calloc(items, size);
+}
+static void zfree_func(voidpf opaque, voidpf ptr)
+{
+  (void) opaque;
+  free(ptr);
+}
+/* Decompress and send to stdout a gzip-compressed buffer */
+void hugehelp(void)
+{
+  unsigned char* buf;
+  int status,headerlen;
+  z_stream z;
+
+  /* Make sure no gzip options are set */
+  if (hugehelpgz[3] & 0xfe)
+    return;
+
+  headerlen = 10;
+  memset(&z, 0, sizeof(z_stream));
+  z.zalloc = (alloc_func)zalloc_func;
+  z.zfree = (free_func)zfree_func;
+  z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
+  z.next_in = (unsigned char *)hugehelpgz + headerlen;
+
+  if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
+    return;
+
+  buf = malloc(BUF_SIZE);
+  if (buf) {
+    while(1) {
+      z.avail_out = BUF_SIZE;
+      z.next_out = buf;
+      status = inflate(&z, Z_SYNC_FLUSH);
+      if (status == Z_OK || status == Z_STREAM_END) {
+        fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
+        if (status == Z_STREAM_END)
+          break;
+      }
+      else
+        break;    /* Error */
+    }
+    free(buf);
+  }
+  inflateEnd(&z);
+}
+EOF
+    ;
+foot();
+exit;
+}
+else {
+    print <<HEAD
+void hugehelp(void)
+{
+   fputs(
+HEAD
+         ;
+}
+
+$outsize=0;
+for(@out) {
+    chop;
+
+    $new = $_;
+
+    $outsize += length($new)+1; # one for the newline
+
+    $new =~ s/\\/\\\\/g;
+    $new =~ s/\"/\\\"/g;
+
+    # gcc 2.96 claims ISO C89 only is required to support 509 letter strings
+    if($outsize > 500) {
+        # terminate and make another fputs() call here
+        print ", stdout);\n fputs(\n";
+        $outsize=length($new)+1;
+    }
+    printf("\"%s\\n\"\n", $new);
+
+}
+
+print ", stdout) ;\n}\n";
+
+foot();
+
+sub foot {
+  print <<FOOT
+#endif /* USE_MANUAL */
+FOOT
+  ;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/slist_wc.c b/ap/lib/libcurl/curl-7.86.0/src/slist_wc.c
new file mode 100755
index 0000000..68021e6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/slist_wc.c
@@ -0,0 +1,74 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#include "tool_setup.h"
+
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+#include "slist_wc.h"
+
+/* The last #include files should be: */
+#include "memdebug.h"
+
+/*
+ * slist_wc_append() appends a string to the linked list. This function can be
+ * used as an initialization function as well as an append function.
+ */
+struct slist_wc *slist_wc_append(struct slist_wc *list,
+                                 const char *data)
+{
+  struct curl_slist *new_item = curl_slist_append(NULL, data);
+
+  if(!new_item)
+    return NULL;
+
+  if(!list) {
+    list = malloc(sizeof(struct slist_wc));
+
+    if(!list) {
+      curl_slist_free_all(new_item);
+      return NULL;
+    }
+
+    list->first = new_item;
+    list->last = new_item;
+    return list;
+  }
+
+  list->last->next = new_item;
+  list->last = list->last->next;
+  return list;
+}
+
+/* be nice and clean up resources */
+void slist_wc_free_all(struct slist_wc *list)
+{
+  if(!list)
+    return;
+
+  curl_slist_free_all(list->first);
+  free(list);
+}
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/slist_wc.h b/ap/lib/libcurl/curl-7.86.0/src/slist_wc.h
new file mode 100755
index 0000000..e309fd5
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/slist_wc.h
@@ -0,0 +1,57 @@
+#ifndef HEADER_CURL_SLIST_WC_H
+#define HEADER_CURL_SLIST_WC_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#include "tool_setup.h"
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+/* linked-list structure with last node cache for easysrc */
+struct slist_wc {
+  struct curl_slist *first;
+  struct curl_slist *last;
+};
+
+/*
+ * NAME curl_slist_wc_append()
+ *
+ * DESCRIPTION
+ *
+ * Appends a string to a linked list. If no list exists, it will be created
+ * first. Returns the new list, after appending.
+ */
+struct slist_wc *slist_wc_append(struct slist_wc *, const char *);
+
+/*
+ * NAME curl_slist_free_all()
+ *
+ * DESCRIPTION
+ *
+ * free a previously built curl_slist_wc.
+ */
+void slist_wc_free_all(struct slist_wc *);
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
+
+#endif /* HEADER_CURL_SLIST_WC_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.c b/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.c
new file mode 100755
index 0000000..68c6c36
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.c
@@ -0,0 +1,53 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_SETMODE
+
+#ifdef HAVE_IO_H
+#  include <io.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#  include <fcntl.h>
+#endif
+
+#include "tool_binmode.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void set_binmode(FILE *stream)
+{
+#ifdef O_BINARY
+#  ifdef __HIGHC__
+  _setmode(stream, O_BINARY);
+#  else
+  (void)setmode(fileno(stream), O_BINARY);
+#  endif
+#else
+  (void)stream;
+#endif
+}
+
+#endif /* HAVE_SETMODE */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.h b/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.h
new file mode 100755
index 0000000..0b3d24b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_binmode.h
@@ -0,0 +1,38 @@
+#ifndef HEADER_CURL_TOOL_BINMODE_H
+#define HEADER_CURL_TOOL_BINMODE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_SETMODE
+
+void set_binmode(FILE *stream);
+
+#else
+
+#define set_binmode(x) Curl_nop_stmt
+
+#endif /* HAVE_SETMODE */
+
+#endif /* HEADER_CURL_TOOL_BINMODE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_bname.c b/ap/lib/libcurl/curl-7.86.0/src/tool_bname.c
new file mode 100755
index 0000000..e70f7d7
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_bname.c
@@ -0,0 +1,51 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "tool_bname.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifndef HAVE_BASENAME
+
+char *tool_basename(char *path)
+{
+  char *s1;
+  char *s2;
+
+  s1 = strrchr(path, '/');
+  s2 = strrchr(path, '\\');
+
+  if(s1 && s2) {
+    path = (s1 > s2) ? s1 + 1 : s2 + 1;
+  }
+  else if(s1)
+    path = s1 + 1;
+  else if(s2)
+    path = s2 + 1;
+
+  return path;
+}
+
+#endif /* HAVE_BASENAME */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_bname.h b/ap/lib/libcurl/curl-7.86.0/src/tool_bname.h
new file mode 100755
index 0000000..0efd7f1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_bname.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_TOOL_BNAME_H
+#define HEADER_CURL_TOOL_BNAME_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifndef HAVE_BASENAME
+
+char *tool_basename(char *path);
+
+#define basename(x) tool_basename((x))
+
+#endif /* HAVE_BASENAME */
+
+#endif /* HEADER_CURL_TOOL_BNAME_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.c
new file mode 100755
index 0000000..c1dba85
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.c
@@ -0,0 +1,248 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+#include "tool_cb_dbg.h"
+#include "tool_util.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+static void dump(const char *timebuf, const char *text,
+                 FILE *stream, const unsigned char *ptr, size_t size,
+                 trace tracetype, curl_infotype infotype);
+
+/*
+** callback for CURLOPT_DEBUGFUNCTION
+*/
+
+int tool_debug_cb(CURL *handle, curl_infotype type,
+                  char *data, size_t size,
+                  void *userdata)
+{
+  struct OperationConfig *operation = userdata;
+  struct GlobalConfig *config = operation->global;
+  FILE *output = config->errors;
+  const char *text;
+  struct timeval tv;
+  char timebuf[20];
+  time_t secs;
+
+  (void)handle; /* not used */
+
+  if(config->tracetime) {
+    struct tm *now;
+    static time_t epoch_offset;
+    static int    known_offset;
+    tv = tvnow();
+    if(!known_offset) {
+      epoch_offset = time(NULL) - tv.tv_sec;
+      known_offset = 1;
+    }
+    secs = epoch_offset + tv.tv_sec;
+    /* !checksrc! disable BANNEDFUNC 1 */
+    now = localtime(&secs);  /* not thread safe but we don't care */
+    msnprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld ",
+              now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec);
+  }
+  else
+    timebuf[0] = 0;
+
+  if(!config->trace_stream) {
+    /* open for append */
+    if(!strcmp("-", config->trace_dump))
+      config->trace_stream = stdout;
+    else if(!strcmp("%", config->trace_dump))
+      /* Ok, this is somewhat hackish but we do it undocumented for now */
+      config->trace_stream = config->errors;  /* aka stderr */
+    else {
+      config->trace_stream = fopen(config->trace_dump, FOPEN_WRITETEXT);
+      config->trace_fopened = TRUE;
+    }
+  }
+
+  if(config->trace_stream)
+    output = config->trace_stream;
+
+  if(!output) {
+    warnf(config, "Failed to create/open output");
+    return 0;
+  }
+
+  if(config->tracetype == TRACE_PLAIN) {
+    /*
+     * This is the trace look that is similar to what libcurl makes on its
+     * own.
+     */
+    static const char * const s_infotype[] = {
+      "*", "<", ">", "{", "}", "{", "}"
+    };
+    static bool newl = FALSE;
+    static bool traced_data = FALSE;
+
+    switch(type) {
+    case CURLINFO_HEADER_OUT:
+      if(size > 0) {
+        size_t st = 0;
+        size_t i;
+        for(i = 0; i < size - 1; i++) {
+          if(data[i] == '\n') { /* LF */
+            if(!newl) {
+              fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+            }
+            (void)fwrite(data + st, i - st + 1, 1, output);
+            st = i + 1;
+            newl = FALSE;
+          }
+        }
+        if(!newl)
+          fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+        (void)fwrite(data + st, i - st + 1, 1, output);
+      }
+      newl = (size && (data[size - 1] != '\n')) ? TRUE : FALSE;
+      traced_data = FALSE;
+      break;
+    case CURLINFO_TEXT:
+    case CURLINFO_HEADER_IN:
+      if(!newl)
+        fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+      (void)fwrite(data, size, 1, output);
+      newl = (size && (data[size - 1] != '\n')) ? TRUE : FALSE;
+      traced_data = FALSE;
+      break;
+    case CURLINFO_DATA_OUT:
+    case CURLINFO_DATA_IN:
+    case CURLINFO_SSL_DATA_IN:
+    case CURLINFO_SSL_DATA_OUT:
+      if(!traced_data) {
+        /* if the data is output to a tty and we're sending this debug trace
+           to stderr or stdout, we don't display the alert about the data not
+           being shown as the data _is_ shown then just not via this
+           function */
+        if(!config->isatty || ((output != stderr) && (output != stdout))) {
+          if(!newl)
+            fprintf(output, "%s%s ", timebuf, s_infotype[type]);
+          fprintf(output, "[%zu bytes data]\n", size);
+          newl = FALSE;
+          traced_data = TRUE;
+        }
+      }
+      break;
+    default: /* nada */
+      newl = FALSE;
+      traced_data = FALSE;
+      break;
+    }
+
+    return 0;
+  }
+
+  switch(type) {
+  case CURLINFO_TEXT:
+    fprintf(output, "%s== Info: %.*s", timebuf, (int)size, data);
+    /* FALLTHROUGH */
+  default: /* in case a new one is introduced to shock us */
+    return 0;
+
+  case CURLINFO_HEADER_OUT:
+    text = "=> Send header";
+    break;
+  case CURLINFO_DATA_OUT:
+    text = "=> Send data";
+    break;
+  case CURLINFO_HEADER_IN:
+    text = "<= Recv header";
+    break;
+  case CURLINFO_DATA_IN:
+    text = "<= Recv data";
+    break;
+  case CURLINFO_SSL_DATA_IN:
+    text = "<= Recv SSL data";
+    break;
+  case CURLINFO_SSL_DATA_OUT:
+    text = "=> Send SSL data";
+    break;
+  }
+
+  dump(timebuf, text, output, (unsigned char *) data, size, config->tracetype,
+       type);
+  return 0;
+}
+
+static void dump(const char *timebuf, const char *text,
+                 FILE *stream, const unsigned char *ptr, size_t size,
+                 trace tracetype, curl_infotype infotype)
+{
+  size_t i;
+  size_t c;
+
+  unsigned int width = 0x10;
+
+  if(tracetype == TRACE_ASCII)
+    /* without the hex output, we can fit more on screen */
+    width = 0x40;
+
+  fprintf(stream, "%s%s, %zu bytes (0x%zx)\n", timebuf, text, size, size);
+
+  for(i = 0; i < size; i += width) {
+
+    fprintf(stream, "%04zx: ", i);
+
+    if(tracetype == TRACE_BIN) {
+      /* hex not disabled, show it */
+      for(c = 0; c < width; c++)
+        if(i + c < size)
+          fprintf(stream, "%02x ", ptr[i + c]);
+        else
+          fputs("   ", stream);
+    }
+
+    for(c = 0; (c < width) && (i + c < size); c++) {
+      /* check for 0D0A; if found, skip past and start a new line of output */
+      if((tracetype == TRACE_ASCII) &&
+         (i + c + 1 < size) && (ptr[i + c] == 0x0D) &&
+         (ptr[i + c + 1] == 0x0A)) {
+        i += (c + 2 - width);
+        break;
+      }
+      (void)infotype;
+      fprintf(stream, "%c", ((ptr[i + c] >= 0x20) && (ptr[i + c] < 0x7F)) ?
+              ptr[i + c] : UNPRINTABLE_CHAR);
+      /* check again for 0D0A, to avoid an extra \n if it's at width */
+      if((tracetype == TRACE_ASCII) &&
+         (i + c + 2 < size) && (ptr[i + c + 1] == 0x0D) &&
+         (ptr[i + c + 2] == 0x0A)) {
+        i += (c + 3 - width);
+        break;
+      }
+    }
+    fputc('\n', stream); /* newline */
+  }
+  fflush(stream);
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.h
new file mode 100755
index 0000000..bc69e56
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_dbg.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_TOOL_CB_DBG_H
+#define HEADER_CURL_TOOL_CB_DBG_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/*
+** callback for CURLOPT_DEBUGFUNCTION
+*/
+
+int tool_debug_cb(CURL *handle, curl_infotype type,
+                  char *data, size_t size,
+                  void *userdata);
+
+#endif /* HEADER_CURL_TOOL_CB_DBG_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.c
new file mode 100755
index 0000000..23700de
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.c
@@ -0,0 +1,417 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_doswin.h"
+#include "tool_msgs.h"
+#include "tool_cb_hdr.h"
+#include "tool_cb_wrt.h"
+#include "tool_operate.h"
+#include "tool_libinfo.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+static char *parse_filename(const char *ptr, size_t len);
+
+#ifdef WIN32
+#define BOLD
+#define BOLDOFF
+#else
+#define BOLD "\x1b[1m"
+/* Switch off bold by setting "all attributes off" since the explicit
+   bold-off code (21) isn't supported everywhere - like in the mac
+   Terminal. */
+#define BOLDOFF "\x1b[0m"
+/* OSC 8 hyperlink escape sequence */
+#define LINK "\x1b]8;;"
+#define LINKST "\x1b\\"
+#define LINKOFF LINK LINKST
+#endif
+
+#ifdef LINK
+static void write_linked_location(CURL *curl, const char *location,
+    size_t loclen, FILE *stream);
+#endif
+
+/*
+** callback for CURLOPT_HEADERFUNCTION
+*/
+
+size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
+{
+  struct per_transfer *per = userdata;
+  struct HdrCbData *hdrcbdata = &per->hdrcbdata;
+  struct OutStruct *outs = &per->outs;
+  struct OutStruct *heads = &per->heads;
+  struct OutStruct *etag_save = &per->etag_save;
+  const char *str = ptr;
+  const size_t cb = size * nmemb;
+  const char *end = (char *)ptr + cb;
+  const char *scheme = NULL;
+
+  /*
+   * Once that libcurl has called back tool_header_cb() the returned value
+   * is checked against the amount that was intended to be written, if
+   * it does not match then it fails with CURLE_WRITE_ERROR. So at this
+   * point returning a value different from sz*nmemb indicates failure.
+   */
+  size_t failure = (size && nmemb) ? 0 : 1;
+
+  if(!per->config)
+    return failure;
+
+#ifdef DEBUGBUILD
+  if(size * nmemb > (size_t)CURL_MAX_HTTP_HEADER) {
+    warnf(per->config->global, "Header data exceeds single call write "
+          "limit!\n");
+    return failure;
+  }
+#endif
+
+  /*
+   * Write header data when curl option --dump-header (-D) is given.
+   */
+
+  if(per->config->headerfile && heads->stream) {
+    size_t rc = fwrite(ptr, size, nmemb, heads->stream);
+    if(rc != cb)
+      return rc;
+    /* flush the stream to send off what we got earlier */
+    (void)fflush(heads->stream);
+  }
+
+  /*
+   * Write etag to file when --etag-save option is given.
+   */
+  if(per->config->etag_save_file && etag_save->stream) {
+    /* match only header that start with etag (case insensitive) */
+    if(curl_strnequal(str, "etag:", 5)) {
+      const char *etag_h = &str[5];
+      const char *eot = end - 1;
+      if(*eot == '\n') {
+        while(ISBLANK(*etag_h) && (etag_h < eot))
+          etag_h++;
+        while(ISSPACE(*eot))
+          eot--;
+
+        if(eot >= etag_h) {
+          size_t etag_length = eot - etag_h + 1;
+          fwrite(etag_h, size, etag_length, etag_save->stream);
+          /* terminate with newline */
+          fputc('\n', etag_save->stream);
+          (void)fflush(etag_save->stream);
+        }
+      }
+    }
+  }
+
+  /*
+   * This callback sets the filename where output shall be written when
+   * curl options --remote-name (-O) and --remote-header-name (-J) have
+   * been simultaneously given and additionally server returns an HTTP
+   * Content-Disposition header specifying a filename property.
+   */
+
+  curl_easy_getinfo(per->curl, CURLINFO_SCHEME, &scheme);
+  scheme = proto_token(scheme);
+  if(hdrcbdata->honor_cd_filename &&
+     (cb > 20) && checkprefix("Content-disposition:", str) &&
+     (scheme == proto_http || scheme == proto_https)) {
+    const char *p = str + 20;
+
+    /* look for the 'filename=' parameter
+       (encoded filenames (*=) are not supported) */
+    for(;;) {
+      char *filename;
+      size_t len;
+
+      while(*p && (p < end) && !ISALPHA(*p))
+        p++;
+      if(p > end - 9)
+        break;
+
+      if(memcmp(p, "filename=", 9)) {
+        /* no match, find next parameter */
+        while((p < end) && (*p != ';'))
+          p++;
+        continue;
+      }
+      p += 9;
+
+      /* this expression below typecasts 'cb' only to avoid
+         warning: signed and unsigned type in conditional expression
+      */
+      len = (ssize_t)cb - (p - str);
+      filename = parse_filename(p, len);
+      if(filename) {
+        if(outs->stream) {
+          /* indication of problem, get out! */
+          free(filename);
+          return failure;
+        }
+
+        outs->is_cd_filename = TRUE;
+        outs->s_isreg = TRUE;
+        outs->fopened = FALSE;
+        outs->filename = filename;
+        outs->alloc_filename = TRUE;
+        hdrcbdata->honor_cd_filename = FALSE; /* done now! */
+        if(!tool_create_output_file(outs, per->config))
+          return failure;
+      }
+      break;
+    }
+    if(!outs->stream && !tool_create_output_file(outs, per->config))
+      return failure;
+  }
+  if(hdrcbdata->config->writeout) {
+    char *value = memchr(ptr, ':', cb);
+    if(value) {
+      if(per->was_last_header_empty)
+        per->num_headers = 0;
+      per->was_last_header_empty = FALSE;
+      per->num_headers++;
+    }
+    else if(ptr[0] == '\r' || ptr[0] == '\n')
+      per->was_last_header_empty = TRUE;
+  }
+  if(hdrcbdata->config->show_headers &&
+    (scheme == proto_http || scheme == proto_https ||
+     scheme == proto_rtsp || scheme == proto_file)) {
+    /* bold headers only for selected protocols */
+    char *value = NULL;
+
+    if(!outs->stream && !tool_create_output_file(outs, per->config))
+      return failure;
+
+    if(hdrcbdata->global->isatty && hdrcbdata->global->styled_output)
+      value = memchr(ptr, ':', cb);
+    if(value) {
+      size_t namelen = value - ptr;
+      fprintf(outs->stream, BOLD "%.*s" BOLDOFF ":", namelen, ptr);
+#ifndef LINK
+      fwrite(&value[1], cb - namelen - 1, 1, outs->stream);
+#else
+      if(curl_strnequal("Location", ptr, namelen)) {
+        write_linked_location(per->curl, &value[1], cb - namelen - 1,
+            outs->stream);
+      }
+      else
+        fwrite(&value[1], cb - namelen - 1, 1, outs->stream);
+#endif
+    }
+    else
+      /* not "handled", just show it */
+      fwrite(ptr, cb, 1, outs->stream);
+  }
+  return cb;
+}
+
+/*
+ * Copies a file name part and returns an ALLOCATED data buffer.
+ */
+static char *parse_filename(const char *ptr, size_t len)
+{
+  char *copy;
+  char *p;
+  char *q;
+  char  stop = '\0';
+
+  /* simple implementation of strndup() */
+  copy = malloc(len + 1);
+  if(!copy)
+    return NULL;
+  memcpy(copy, ptr, len);
+  copy[len] = '\0';
+
+  p = copy;
+  if(*p == '\'' || *p == '"') {
+    /* store the starting quote */
+    stop = *p;
+    p++;
+  }
+  else
+    stop = ';';
+
+  /* scan for the end letter and stop there */
+  q = strchr(p, stop);
+  if(q)
+    *q = '\0';
+
+  /* if the filename contains a path, only use filename portion */
+  q = strrchr(p, '/');
+  if(q) {
+    p = q + 1;
+    if(!*p) {
+      Curl_safefree(copy);
+      return NULL;
+    }
+  }
+
+  /* If the filename contains a backslash, only use filename portion. The idea
+     is that even systems that don't handle backslashes as path separators
+     probably want the path removed for convenience. */
+  q = strrchr(p, '\\');
+  if(q) {
+    p = q + 1;
+    if(!*p) {
+      Curl_safefree(copy);
+      return NULL;
+    }
+  }
+
+  /* make sure the file name doesn't end in \r or \n */
+  q = strchr(p, '\r');
+  if(q)
+    *q = '\0';
+
+  q = strchr(p, '\n');
+  if(q)
+    *q = '\0';
+
+  if(copy != p)
+    memmove(copy, p, strlen(p) + 1);
+
+#if defined(MSDOS) || defined(WIN32)
+  {
+    char *sanitized;
+    SANITIZEcode sc = sanitize_file_name(&sanitized, copy, 0);
+    Curl_safefree(copy);
+    if(sc)
+      return NULL;
+    copy = sanitized;
+  }
+#endif /* MSDOS || WIN32 */
+
+  /* in case we built debug enabled, we allow an environment variable
+   * named CURL_TESTDIR to prefix the given file name to put it into a
+   * specific directory
+   */
+#ifdef DEBUGBUILD
+  {
+    char *tdir = curlx_getenv("CURL_TESTDIR");
+    if(tdir) {
+      char buffer[512]; /* suitably large */
+      msnprintf(buffer, sizeof(buffer), "%s/%s", tdir, copy);
+      Curl_safefree(copy);
+      copy = strdup(buffer); /* clone the buffer, we don't use the libcurl
+                                aprintf() or similar since we want to use the
+                                same memory code as the "real" parse_filename
+                                function */
+      curl_free(tdir);
+    }
+  }
+#endif
+
+  return copy;
+}
+
+#ifdef LINK
+/*
+ * Treat the Location: header specially, by writing a special escape
+ * sequence that adds a hyperlink to the displayed text. This makes
+ * the absolute URL of the redirect clickable in supported terminals,
+ * which couldn't happen otherwise for relative URLs. The Location:
+ * header is supposed to always be absolute so this theoretically
+ * shouldn't be needed but the real world returns plenty of relative
+ * URLs here.
+ */
+static
+void write_linked_location(CURL *curl, const char *location, size_t loclen,
+                           FILE *stream) {
+  /* This would so simple if CURLINFO_REDIRECT_URL were available here */
+  CURLU *u = NULL;
+  char *copyloc = NULL, *locurl = NULL, *scheme = NULL, *finalurl = NULL;
+  const char *loc = location;
+  size_t llen = loclen;
+
+  /* Strip leading whitespace of the redirect URL */
+  while(llen && *loc == ' ') {
+    ++loc;
+    --llen;
+  }
+
+  /* Strip the trailing end-of-line characters, normally "\r\n" */
+  while(llen && (loc[llen-1] == '\n' || loc[llen-1] == '\r'))
+    --llen;
+
+  /* CURLU makes it easy to handle the relative URL case */
+  u = curl_url();
+  if(!u)
+    goto locout;
+
+  /* Create a NUL-terminated and whitespace-stripped copy of Location: */
+  copyloc = malloc(llen + 1);
+  if(!copyloc)
+    goto locout;
+  memcpy(copyloc, loc, llen);
+  copyloc[llen] = 0;
+
+  /* The original URL to use as a base for a relative redirect URL */
+  if(curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &locurl))
+    goto locout;
+  if(curl_url_set(u, CURLUPART_URL, locurl, 0))
+    goto locout;
+
+  /* Redirected location. This can be either absolute or relative. */
+  if(curl_url_set(u, CURLUPART_URL, copyloc, 0))
+    goto locout;
+
+  if(curl_url_get(u, CURLUPART_URL, &finalurl, CURLU_NO_DEFAULT_PORT))
+    goto locout;
+
+  if(curl_url_get(u, CURLUPART_SCHEME, &scheme, 0))
+    goto locout;
+
+  if(!strcmp("http", scheme) ||
+     !strcmp("https", scheme) ||
+     !strcmp("ftp", scheme) ||
+     !strcmp("ftps", scheme)) {
+    fprintf(stream, LINK "%s" LINKST "%.*s" LINKOFF,
+            finalurl, loclen, location);
+    goto locdone;
+  }
+
+  /* Not a "safe" URL: don't linkify it */
+
+locout:
+  /* Write the normal output in case of error or unsafe */
+  fwrite(location, loclen, 1, stream);
+
+locdone:
+  if(u) {
+    curl_free(finalurl);
+    curl_free(scheme);
+    curl_url_cleanup(u);
+    free(copyloc);
+  }
+}
+#endif
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.h
new file mode 100755
index 0000000..01175bb
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_hdr.h
@@ -0,0 +1,58 @@
+#ifndef HEADER_CURL_TOOL_CB_HDR_H
+#define HEADER_CURL_TOOL_CB_HDR_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/*
+ * curl operates using a single HdrCbData struct variable, a
+ * pointer to this is passed as userdata pointer to tool_header_cb.
+ *
+ * 'outs' member is a pointer to the OutStruct variable used to keep
+ * track of information relative to curl's output writing.
+ *
+ * 'heads' member is a pointer to the OutStruct variable used to keep
+ * track of information relative to header response writing.
+ *
+ * 'honor_cd_filename' member is TRUE when tool_header_cb is allowed
+ * to honor Content-Disposition filename property and accordingly
+ * set 'outs' filename, otherwise FALSE;
+ */
+
+struct HdrCbData {
+  struct GlobalConfig *global;
+  struct OperationConfig *config;
+  struct OutStruct *outs;
+  struct OutStruct *heads;
+  struct OutStruct *etag_save;
+  bool honor_cd_filename;
+};
+
+/*
+** callback for CURLOPT_HEADERFUNCTION
+*/
+
+size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata);
+
+#endif /* HEADER_CURL_TOOL_CB_HDR_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.c
new file mode 100755
index 0000000..3532c31
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.c
@@ -0,0 +1,280 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_cb_prg.h"
+#include "tool_util.h"
+#include "tool_operate.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef HAVE_TERMIOS_H
+#  include <termios.h>
+#elif defined(HAVE_TERMIO_H)
+#  include <termio.h>
+#endif
+
+/* 200 values generated by this perl code:
+
+   my $pi = 3.1415;
+   foreach my $i (1 .. 200) {
+     printf "%d, ", sin($i/200 * 2 * $pi) * 500000 + 500000;
+   }
+*/
+static const unsigned int sinus[] = {
+  515704, 531394, 547052, 562664, 578214, 593687, 609068, 624341, 639491,
+  654504, 669364, 684057, 698568, 712883, 726989, 740870, 754513, 767906,
+  781034, 793885, 806445, 818704, 830647, 842265, 853545, 864476, 875047,
+  885248, 895069, 904500, 913532, 922156, 930363, 938145, 945495, 952406,
+  958870, 964881, 970434, 975522, 980141, 984286, 987954, 991139, 993840,
+  996054, 997778, 999011, 999752, 999999, 999754, 999014, 997783, 996060,
+  993848, 991148, 987964, 984298, 980154, 975536, 970449, 964898, 958888,
+  952426, 945516, 938168, 930386, 922180, 913558, 904527, 895097, 885277,
+  875077, 864507, 853577, 842299, 830682, 818739, 806482, 793922, 781072,
+  767945, 754553, 740910, 727030, 712925, 698610, 684100, 669407, 654548,
+  639536, 624386, 609113, 593733, 578260, 562710, 547098, 531440, 515751,
+  500046, 484341, 468651, 452993, 437381, 421830, 406357, 390976, 375703,
+  360552, 345539, 330679, 315985, 301474, 287158, 273052, 259170, 245525,
+  232132, 219003, 206152, 193590, 181331, 169386, 157768, 146487, 135555,
+  124983, 114781, 104959, 95526, 86493, 77868, 69660, 61876, 54525, 47613,
+  41147, 35135, 29581, 24491, 19871, 15724, 12056, 8868, 6166, 3951, 2225,
+  990, 248, 0, 244, 982, 2212, 3933, 6144, 8842, 12025, 15690, 19832, 24448,
+  29534, 35084, 41092, 47554, 54462, 61809, 69589, 77794, 86415, 95445,
+  104873, 114692, 124891, 135460, 146389, 157667, 169282, 181224, 193480,
+  206039, 218888, 232015, 245406, 259048, 272928, 287032, 301346, 315856,
+  330548, 345407, 360419, 375568, 390841, 406221, 421693, 437243, 452854,
+  468513, 484202, 499907
+};
+
+static void fly(struct ProgressData *bar, bool moved)
+{
+  char buf[256];
+  int pos;
+  int check = bar->width - 2;
+
+  msnprintf(buf, sizeof(buf), "%*s\r", bar->width-1, " ");
+  memcpy(&buf[bar->bar], "-=O=-", 5);
+
+  pos = sinus[bar->tick%200] / (1000000 / check);
+  buf[pos] = '#';
+  pos = sinus[(bar->tick + 5)%200] / (1000000 / check);
+  buf[pos] = '#';
+  pos = sinus[(bar->tick + 10)%200] / (1000000 / check);
+  buf[pos] = '#';
+  pos = sinus[(bar->tick + 15)%200] / (1000000 / check);
+  buf[pos] = '#';
+
+  fputs(buf, bar->out);
+  bar->tick += 2;
+  if(bar->tick >= 200)
+    bar->tick -= 200;
+
+  bar->bar += (moved?bar->barmove:0);
+  if(bar->bar >= (bar->width - 6)) {
+    bar->barmove = -1;
+    bar->bar = bar->width - 6;
+  }
+  else if(bar->bar < 0) {
+    bar->barmove = 1;
+    bar->bar = 0;
+  }
+}
+
+/*
+** callback for CURLOPT_XFERINFOFUNCTION
+*/
+
+#define MAX_BARLENGTH 256
+
+#if (SIZEOF_CURL_OFF_T == 4)
+#  define CURL_OFF_T_MAX CURL_OFF_T_C(0x7FFFFFFF)
+#else
+   /* assume SIZEOF_CURL_OFF_T == 8 */
+#  define CURL_OFF_T_MAX CURL_OFF_T_C(0x7FFFFFFFFFFFFFFF)
+#endif
+
+int tool_progress_cb(void *clientp,
+                     curl_off_t dltotal, curl_off_t dlnow,
+                     curl_off_t ultotal, curl_off_t ulnow)
+{
+  struct timeval now = tvnow();
+  struct per_transfer *per = clientp;
+  struct OperationConfig *config = per->config;
+  struct ProgressData *bar = &per->progressbar;
+  curl_off_t total;
+  curl_off_t point;
+
+  /* Calculate expected transfer size. initial_size can be less than zero when
+     indicating that we are expecting to get the filesize from the remote */
+  if(bar->initial_size < 0) {
+    if(dltotal || ultotal)
+      total = dltotal + ultotal;
+    else
+      total = CURL_OFF_T_MAX;
+  }
+  else if((CURL_OFF_T_MAX - bar->initial_size) < (dltotal + ultotal))
+    total = CURL_OFF_T_MAX;
+  else
+    total = dltotal + ultotal + bar->initial_size;
+
+  /* Calculate the current progress. initial_size can be less than zero when
+     indicating that we are expecting to get the filesize from the remote */
+  if(bar->initial_size < 0) {
+    if(dltotal || ultotal)
+      point = dlnow + ulnow;
+    else
+      point = CURL_OFF_T_MAX;
+  }
+  else if((CURL_OFF_T_MAX - bar->initial_size) < (dlnow + ulnow))
+    point = CURL_OFF_T_MAX;
+  else
+    point = dlnow + ulnow + bar->initial_size;
+
+  if(bar->calls) {
+    /* after first call... */
+    if(total) {
+      /* we know the total data to get... */
+      if(bar->prev == point)
+        /* progress didn't change since last invoke */
+        return 0;
+      else if((tvdiff(now, bar->prevtime) < 100L) && point < total)
+        /* limit progress-bar updating to 10 Hz except when we're at 100% */
+        return 0;
+    }
+    else {
+      /* total is unknown */
+      if(tvdiff(now, bar->prevtime) < 100L)
+        /* limit progress-bar updating to 10 Hz */
+        return 0;
+      fly(bar, point != bar->prev);
+    }
+  }
+
+  /* simply count invokes */
+  bar->calls++;
+
+  if((total > 0) && (point != bar->prev)) {
+    char line[MAX_BARLENGTH + 1];
+    char format[40];
+    double frac;
+    double percent;
+    int barwidth;
+    int num;
+    if(point > total)
+      /* we have got more than the expected total! */
+      total = point;
+
+    frac = (double)point / (double)total;
+    percent = frac * 100.0;
+    barwidth = bar->width - 7;
+    num = (int) (((double)barwidth) * frac);
+    if(num > MAX_BARLENGTH)
+      num = MAX_BARLENGTH;
+    memset(line, '#', num);
+    line[num] = '\0';
+    msnprintf(format, sizeof(format), "\r%%-%ds %%5.1f%%%%", barwidth);
+    fprintf(bar->out, format, line, percent);
+  }
+  fflush(bar->out);
+  bar->prev = point;
+  bar->prevtime = now;
+
+  if(config->readbusy) {
+    config->readbusy = FALSE;
+    curl_easy_pause(per->curl, CURLPAUSE_CONT);
+  }
+
+  return 0;
+}
+
+void progressbarinit(struct ProgressData *bar,
+                     struct OperationConfig *config)
+{
+  char *colp;
+  memset(bar, 0, sizeof(struct ProgressData));
+
+  /* pass the resume from value through to the progress function so it can
+   * display progress towards total file not just the part that's left. */
+  if(config->use_resume)
+    bar->initial_size = config->resume_from;
+
+  colp = curlx_getenv("COLUMNS");
+  if(colp) {
+    char *endptr;
+    long num = strtol(colp, &endptr, 10);
+    if((endptr != colp) && (endptr == colp + strlen(colp)) && (num > 20) &&
+       (num < 10000))
+      bar->width = (int)num;
+    curl_free(colp);
+  }
+
+  if(!bar->width) {
+    int cols = 0;
+
+#ifdef TIOCGSIZE
+    struct ttysize ts;
+    if(!ioctl(STDIN_FILENO, TIOCGSIZE, &ts))
+      cols = ts.ts_cols;
+#elif defined(TIOCGWINSZ)
+    struct winsize ts;
+    if(!ioctl(STDIN_FILENO, TIOCGWINSZ, &ts))
+      cols = ts.ws_col;
+#elif defined(WIN32)
+    {
+      HANDLE  stderr_hnd = GetStdHandle(STD_ERROR_HANDLE);
+      CONSOLE_SCREEN_BUFFER_INFO console_info;
+
+      if((stderr_hnd != INVALID_HANDLE_VALUE) &&
+         GetConsoleScreenBufferInfo(stderr_hnd, &console_info)) {
+        /*
+         * Do not use +1 to get the true screen-width since writing a
+         * character at the right edge will cause a line wrap.
+         */
+        cols = (int)
+          (console_info.srWindow.Right - console_info.srWindow.Left);
+      }
+    }
+#endif /* TIOCGSIZE */
+    if(cols > 20)
+      bar->width = cols;
+  }
+
+  if(!bar->width)
+    bar->width = 79;
+  else if(bar->width > MAX_BARLENGTH)
+    bar->width = MAX_BARLENGTH;
+
+  bar->out = config->global->errors;
+  bar->tick = 150;
+  bar->barmove = 1;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.h
new file mode 100755
index 0000000..7d8fbae
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_prg.h
@@ -0,0 +1,54 @@
+#ifndef HEADER_CURL_TOOL_CB_PRG_H
+#define HEADER_CURL_TOOL_CB_PRG_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define CURL_PROGRESS_STATS 0 /* default progress display */
+#define CURL_PROGRESS_BAR   1
+
+struct ProgressData {
+  int         calls;
+  curl_off_t  prev;
+  struct timeval prevtime;
+  int         width;
+  FILE       *out;  /* where to write everything to */
+  curl_off_t  initial_size;
+  unsigned int tick;
+  int bar;
+  int barmove;
+};
+
+void progressbarinit(struct ProgressData *bar,
+                     struct OperationConfig *config);
+
+/*
+** callback for CURLOPT_PROGRESSFUNCTION
+*/
+
+int tool_progress_cb(void *clientp,
+                     curl_off_t dltotal, curl_off_t dlnow,
+                     curl_off_t ultotal, curl_off_t ulnow);
+
+#endif /* HEADER_CURL_TOOL_CB_PRG_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.c
new file mode 100755
index 0000000..4aed55c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.c
@@ -0,0 +1,81 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_cb_rea.h"
+#include "tool_operate.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/*
+** callback for CURLOPT_READFUNCTION
+*/
+
+size_t tool_read_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
+{
+  ssize_t rc;
+  struct InStruct *in = userdata;
+
+  rc = read(in->fd, buffer, sz*nmemb);
+  if(rc < 0) {
+    if(errno == EAGAIN) {
+      errno = 0;
+      in->config->readbusy = TRUE;
+      return CURL_READFUNC_PAUSE;
+    }
+    /* since size_t is unsigned we can't return negative values fine */
+    rc = 0;
+  }
+  in->config->readbusy = FALSE;
+  return (size_t)rc;
+}
+
+/*
+** callback for CURLOPT_XFERINFOFUNCTION used to unpause busy reads
+*/
+
+int tool_readbusy_cb(void *clientp,
+                     curl_off_t dltotal, curl_off_t dlnow,
+                     curl_off_t ultotal, curl_off_t ulnow)
+{
+  struct per_transfer *per = clientp;
+  struct OperationConfig *config = per->config;
+
+  (void)dltotal;  /* unused */
+  (void)dlnow;  /* unused */
+  (void)ultotal;  /* unused */
+  (void)ulnow;  /* unused */
+
+  if(config->readbusy) {
+    config->readbusy = FALSE;
+    curl_easy_pause(per->curl, CURLPAUSE_CONT);
+  }
+
+  return per->noprogress? 0 : CURL_PROGRESSFUNC_CONTINUE;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.h
new file mode 100755
index 0000000..81b5f87
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_rea.h
@@ -0,0 +1,42 @@
+#ifndef HEADER_CURL_TOOL_CB_REA_H
+#define HEADER_CURL_TOOL_CB_REA_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/*
+** callback for CURLOPT_READFUNCTION
+*/
+
+size_t tool_read_cb(char *buffer, size_t sz, size_t nmemb, void *userdata);
+
+/*
+** callback for CURLOPT_XFERINFOFUNCTION used to unpause busy reads
+*/
+
+int tool_readbusy_cb(void *clientp,
+                     curl_off_t dltotal, curl_off_t dlnow,
+                     curl_off_t ultotal, curl_off_t ulnow);
+
+#endif /* HEADER_CURL_TOOL_CB_REA_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.c
new file mode 100755
index 0000000..d24d526
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.c
@@ -0,0 +1,135 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_cb_see.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* OUR_MAX_SEEK_L has 'long' data type, OUR_MAX_SEEK_O has 'curl_off_t,
+   both represent the same value. Maximum offset used here when we lseek
+   using a 'long' data type offset */
+
+#define OUR_MAX_SEEK_L  2147483647L - 1L
+#define OUR_MAX_SEEK_O  CURL_OFF_T_C(0x7FFFFFFF) - CURL_OFF_T_C(0x1)
+
+/*
+** callback for CURLOPT_SEEKFUNCTION
+**
+** Notice that this is not supposed to return the resulting offset. This
+** shall only return CURL_SEEKFUNC_* return codes.
+*/
+
+int tool_seek_cb(void *userdata, curl_off_t offset, int whence)
+{
+  struct InStruct *in = userdata;
+
+#if(SIZEOF_CURL_OFF_T > SIZEOF_OFF_T) && !defined(USE_WIN32_LARGE_FILES)
+
+  /* The offset check following here is only interesting if curl_off_t is
+     larger than off_t and we are not using the WIN32 large file support
+     macros that provide the support to do 64bit seeks correctly */
+
+  if(offset > OUR_MAX_SEEK_O) {
+    /* Some precaution code to work around problems with different data sizes
+       to allow seeking >32bit even if off_t is 32bit. Should be very rare and
+       is really valid on weirdo-systems. */
+    curl_off_t left = offset;
+
+    if(whence != SEEK_SET)
+      /* this code path doesn't support other types */
+      return CURL_SEEKFUNC_FAIL;
+
+    if(LSEEK_ERROR == lseek(in->fd, 0, SEEK_SET))
+      /* couldn't rewind to beginning */
+      return CURL_SEEKFUNC_FAIL;
+
+    while(left) {
+      long step = (left > OUR_MAX_SEEK_O) ? OUR_MAX_SEEK_L : (long)left;
+      if(LSEEK_ERROR == lseek(in->fd, step, SEEK_CUR))
+        /* couldn't seek forwards the desired amount */
+        return CURL_SEEKFUNC_FAIL;
+      left -= step;
+    }
+    return CURL_SEEKFUNC_OK;
+  }
+#endif
+
+  if(LSEEK_ERROR == lseek(in->fd, offset, whence))
+    /* couldn't rewind, the reason is in errno but errno is just not portable
+       enough and we don't actually care that much why we failed. We'll let
+       libcurl know that it may try other means if it wants to. */
+    return CURL_SEEKFUNC_CANTSEEK;
+
+  return CURL_SEEKFUNC_OK;
+}
+
+#ifdef USE_TOOL_FTRUNCATE
+
+#ifdef __BORLANDC__
+/* 64-bit lseek-like function unavailable */
+#  define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+#endif
+
+#ifdef __POCC__
+#  if(__POCC__ < 450)
+/* 64-bit lseek-like function unavailable */
+#    define _lseeki64(hnd,ofs,whence) _lseek(hnd,ofs,whence)
+#  else
+#    undef _lseeki64
+#    define _lseeki64(hnd,ofs,whence) _lseek64(hnd,ofs,whence)
+#  endif
+#endif
+
+#ifdef _WIN32_WCE
+/* 64-bit lseek-like function unavailable */
+#  undef _lseeki64
+#  define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+#  undef _get_osfhandle
+#  define _get_osfhandle(fd) (fd)
+#endif
+
+/*
+ * Truncate a file handle at a 64-bit position 'where'.
+ */
+
+int tool_ftruncate64(int fd, curl_off_t where)
+{
+  intptr_t handle = _get_osfhandle(fd);
+
+  if(_lseeki64(fd, where, SEEK_SET) < 0)
+    return -1;
+
+  if(!SetEndOfFile((HANDLE)handle))
+    return -1;
+
+  return 0;
+}
+
+#endif /* USE_TOOL_FTRUNCATE */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.h
new file mode 100755
index 0000000..4af0b0a
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_see.h
@@ -0,0 +1,46 @@
+#ifndef HEADER_CURL_TOOL_CB_SEE_H
+#define HEADER_CURL_TOOL_CB_SEE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(WIN32) && !defined(HAVE_FTRUNCATE)
+
+int tool_ftruncate64(int fd, curl_off_t where);
+
+#undef  ftruncate
+#define ftruncate(fd,where) tool_ftruncate64(fd,where)
+
+#define HAVE_FTRUNCATE 1
+#define USE_TOOL_FTRUNCATE 1
+
+#endif /* WIN32  && ! HAVE_FTRUNCATE */
+
+/*
+** callback for CURLOPT_SEEKFUNCTION
+*/
+
+int tool_seek_cb(void *userdata, curl_off_t offset, int whence);
+
+#endif /* HEADER_CURL_TOOL_CB_SEE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.c
new file mode 100755
index 0000000..c9d1dbd
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.c
@@ -0,0 +1,296 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_FCNTL_H
+/* for open() */
+#include <fcntl.h>
+#endif
+
+#include <sys/stat.h>
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+#include "tool_cb_wrt.h"
+#include "tool_operate.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+#ifdef WIN32
+#define OPENMODE S_IREAD | S_IWRITE
+#else
+#define OPENMODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH
+#endif
+
+/* create/open a local file for writing, return TRUE on success */
+bool tool_create_output_file(struct OutStruct *outs,
+                             struct OperationConfig *config)
+{
+  struct GlobalConfig *global;
+  FILE *file = NULL;
+  char *fname = outs->filename;
+  char *aname = NULL;
+  DEBUGASSERT(outs);
+  DEBUGASSERT(config);
+  global = config->global;
+  if(!fname || !*fname) {
+    warnf(global, "Remote filename has no length!\n");
+    return FALSE;
+  }
+
+  if(config->output_dir && outs->is_cd_filename) {
+    aname = aprintf("%s/%s", config->output_dir, fname);
+    if(!aname) {
+      errorf(global, "out of memory\n");
+      return FALSE;
+    }
+    fname = aname;
+  }
+
+  if(config->file_clobber_mode == CLOBBER_ALWAYS ||
+     (config->file_clobber_mode == CLOBBER_DEFAULT &&
+      !outs->is_cd_filename)) {
+    /* open file for writing */
+    file = fopen(fname, "wb");
+  }
+  else {
+    int fd;
+    do {
+      fd = open(fname, O_CREAT | O_WRONLY | O_EXCL | O_BINARY, OPENMODE);
+      /* Keep retrying in the hope that it isn't interrupted sometime */
+    } while(fd == -1 && errno == EINTR);
+    if(config->file_clobber_mode == CLOBBER_NEVER && fd == -1) {
+      int next_num = 1;
+      size_t len = strlen(fname);
+      size_t newlen = len + 13; /* nul + 1-11 digits + dot */
+      char *newname;
+      /* Guard against wraparound in new filename */
+      if(newlen < len) {
+        free(aname);
+        errorf(global, "overflow in filename generation\n");
+        return FALSE;
+      }
+      newname = malloc(newlen);
+      if(!newname) {
+        errorf(global, "out of memory\n");
+        free(aname);
+        return FALSE;
+      }
+      memcpy(newname, fname, len);
+      newname[len] = '.';
+      while(fd == -1 && /* haven't successfully opened a file */
+            (errno == EEXIST || errno == EISDIR) &&
+            /* because we keep having files that already exist */
+            next_num < 100 /* and we haven't reached the retry limit */ ) {
+        curlx_msnprintf(newname + len + 1, 12, "%d", next_num);
+        next_num++;
+        do {
+          fd = open(newname, O_CREAT | O_WRONLY | O_EXCL | O_BINARY, OPENMODE);
+          /* Keep retrying in the hope that it isn't interrupted sometime */
+        } while(fd == -1 && errno == EINTR);
+      }
+      outs->filename = newname; /* remember the new one */
+      outs->alloc_filename = TRUE;
+    }
+    /* An else statement to not overwrite existing files and not retry with
+       new numbered names (which would cover
+       config->file_clobber_mode == CLOBBER_DEFAULT && outs->is_cd_filename)
+       is not needed because we would have failed earlier, in the while loop
+       and `fd` would now be -1 */
+    if(fd != -1) {
+      file = fdopen(fd, "wb");
+      if(!file)
+        close(fd);
+    }
+  }
+
+  if(!file) {
+    warnf(global, "Failed to open the file %s: %s\n", fname,
+          strerror(errno));
+    free(aname);
+    return FALSE;
+  }
+  free(aname);
+  outs->s_isreg = TRUE;
+  outs->fopened = TRUE;
+  outs->stream = file;
+  outs->bytes = 0;
+  outs->init = 0;
+  return TRUE;
+}
+
+/*
+** callback for CURLOPT_WRITEFUNCTION
+*/
+
+size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
+{
+  size_t rc;
+  struct per_transfer *per = userdata;
+  struct OutStruct *outs = &per->outs;
+  struct OperationConfig *config = per->config;
+  size_t bytes = sz * nmemb;
+  bool is_tty = config->global->isatty;
+#ifdef WIN32
+  CONSOLE_SCREEN_BUFFER_INFO console_info;
+  intptr_t fhnd;
+#endif
+
+  /*
+   * Once that libcurl has called back tool_write_cb() the returned value
+   * is checked against the amount that was intended to be written, if
+   * it does not match then it fails with CURLE_WRITE_ERROR. So at this
+   * point returning a value different from sz*nmemb indicates failure.
+   */
+  const size_t failure = bytes ? 0 : 1;
+
+#ifdef DEBUGBUILD
+  {
+    char *tty = curlx_getenv("CURL_ISATTY");
+    if(tty) {
+      is_tty = TRUE;
+      curl_free(tty);
+    }
+  }
+
+  if(config->show_headers) {
+    if(bytes > (size_t)CURL_MAX_HTTP_HEADER) {
+      warnf(config->global, "Header data size exceeds single call write "
+            "limit!\n");
+      return failure;
+    }
+  }
+  else {
+    if(bytes > (size_t)CURL_MAX_WRITE_SIZE) {
+      warnf(config->global, "Data size exceeds single call write limit!\n");
+      return failure;
+    }
+  }
+
+  {
+    /* Some internal congruency checks on received OutStruct */
+    bool check_fails = FALSE;
+    if(outs->filename) {
+      /* regular file */
+      if(!*outs->filename)
+        check_fails = TRUE;
+      if(!outs->s_isreg)
+        check_fails = TRUE;
+      if(outs->fopened && !outs->stream)
+        check_fails = TRUE;
+      if(!outs->fopened && outs->stream)
+        check_fails = TRUE;
+      if(!outs->fopened && outs->bytes)
+        check_fails = TRUE;
+    }
+    else {
+      /* standard stream */
+      if(!outs->stream || outs->s_isreg || outs->fopened)
+        check_fails = TRUE;
+      if(outs->alloc_filename || outs->is_cd_filename || outs->init)
+        check_fails = TRUE;
+    }
+    if(check_fails) {
+      warnf(config->global, "Invalid output struct data for write callback\n");
+      return failure;
+    }
+  }
+#endif
+
+  if(!outs->stream && !tool_create_output_file(outs, per->config))
+    return failure;
+
+  if(is_tty && (outs->bytes < 2000) && !config->terminal_binary_ok) {
+    /* binary output to terminal? */
+    if(memchr(buffer, 0, bytes)) {
+      warnf(config->global, "Binary output can mess up your terminal. "
+            "Use \"--output -\" to tell curl to output it to your terminal "
+            "anyway, or consider \"--output <FILE>\" to save to a file.\n");
+      config->synthetic_error = TRUE;
+      return failure;
+    }
+  }
+
+#ifdef WIN32
+  fhnd = _get_osfhandle(fileno(outs->stream));
+  if(isatty(fileno(outs->stream)) &&
+     GetConsoleScreenBufferInfo((HANDLE)fhnd, &console_info)) {
+    DWORD in_len = (DWORD)(sz * nmemb);
+    wchar_t* wc_buf;
+    DWORD wc_len;
+
+    /* calculate buffer size for wide characters */
+    wc_len = MultiByteToWideChar(CP_UTF8, 0, buffer, in_len,  NULL, 0);
+    wc_buf = (wchar_t*) malloc(wc_len * sizeof(wchar_t));
+    if(!wc_buf)
+      return failure;
+
+    /* calculate buffer size for multi-byte characters */
+    wc_len = MultiByteToWideChar(CP_UTF8, 0, buffer, in_len, wc_buf, wc_len);
+    if(!wc_len) {
+      free(wc_buf);
+      return failure;
+    }
+
+    if(!WriteConsoleW(
+        (HANDLE) fhnd,
+        wc_buf,
+        wc_len,
+        &wc_len,
+        NULL)) {
+      free(wc_buf);
+      return failure;
+    }
+    free(wc_buf);
+    rc = bytes;
+  }
+  else
+#endif
+    rc = fwrite(buffer, sz, nmemb, outs->stream);
+
+  if(bytes == rc)
+    /* we added this amount of data to the output */
+    outs->bytes += bytes;
+
+  if(config->readbusy) {
+    config->readbusy = FALSE;
+    curl_easy_pause(per->curl, CURLPAUSE_CONT);
+  }
+
+  if(config->nobuffer) {
+    /* output buffering disabled */
+    int res = fflush(outs->stream);
+    if(res)
+      return failure;
+  }
+
+  return rc;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.h
new file mode 100755
index 0000000..0cbbcee
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cb_wrt.h
@@ -0,0 +1,38 @@
+#ifndef HEADER_CURL_TOOL_CB_WRT_H
+#define HEADER_CURL_TOOL_CB_WRT_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/*
+** callback for CURLOPT_WRITEFUNCTION
+*/
+
+size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata);
+
+/* create a local file for writing, return TRUE on success */
+bool tool_create_output_file(struct OutStruct *outs,
+                             struct OperationConfig *config);
+
+#endif /* HEADER_CURL_TOOL_CB_WRT_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.c b/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.c
new file mode 100755
index 0000000..eccb3bc
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.c
@@ -0,0 +1,188 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "tool_cfgable.h"
+#include "tool_main.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void config_init(struct OperationConfig *config)
+{
+  memset(config, 0, sizeof(struct OperationConfig));
+
+  config->postfieldsize = -1;
+  config->use_httpget = FALSE;
+  config->create_dirs = FALSE;
+  config->maxredirs = DEFAULT_MAXREDIRS;
+  config->proto_present = FALSE;
+  config->proto_redir_present = FALSE;
+  config->proto_default = NULL;
+  config->tcp_nodelay = TRUE; /* enabled by default */
+  config->happy_eyeballs_timeout_ms = CURL_HET_DEFAULT;
+  config->http09_allowed = FALSE;
+  config->ftp_skip_ip = TRUE;
+  config->file_clobber_mode = CLOBBER_DEFAULT;
+}
+
+static void free_config_fields(struct OperationConfig *config)
+{
+  struct getout *urlnode;
+
+  Curl_safefree(config->useragent);
+  Curl_safefree(config->altsvc);
+  Curl_safefree(config->hsts);
+  curl_slist_free_all(config->cookies);
+  Curl_safefree(config->cookiejar);
+  curl_slist_free_all(config->cookiefiles);
+
+  Curl_safefree(config->postfields);
+  Curl_safefree(config->referer);
+
+  Curl_safefree(config->headerfile);
+  Curl_safefree(config->ftpport);
+  Curl_safefree(config->iface);
+
+  Curl_safefree(config->range);
+
+  Curl_safefree(config->userpwd);
+  Curl_safefree(config->tls_username);
+  Curl_safefree(config->tls_password);
+  Curl_safefree(config->tls_authtype);
+  Curl_safefree(config->proxy_tls_username);
+  Curl_safefree(config->proxy_tls_password);
+  Curl_safefree(config->proxy_tls_authtype);
+  Curl_safefree(config->proxyuserpwd);
+  Curl_safefree(config->proxy);
+
+  Curl_safefree(config->dns_ipv6_addr);
+  Curl_safefree(config->dns_ipv4_addr);
+  Curl_safefree(config->dns_interface);
+  Curl_safefree(config->dns_servers);
+
+  Curl_safefree(config->noproxy);
+
+  Curl_safefree(config->mail_from);
+  curl_slist_free_all(config->mail_rcpt);
+  Curl_safefree(config->mail_auth);
+
+  Curl_safefree(config->netrc_file);
+  Curl_safefree(config->output_dir);
+
+  urlnode = config->url_list;
+  while(urlnode) {
+    struct getout *next = urlnode->next;
+    Curl_safefree(urlnode->url);
+    Curl_safefree(urlnode->outfile);
+    Curl_safefree(urlnode->infile);
+    Curl_safefree(urlnode);
+    urlnode = next;
+  }
+  config->url_list = NULL;
+  config->url_last = NULL;
+  config->url_get = NULL;
+  config->url_out = NULL;
+
+  Curl_safefree(config->doh_url);
+  Curl_safefree(config->cipher_list);
+  Curl_safefree(config->proxy_cipher_list);
+  Curl_safefree(config->cert);
+  Curl_safefree(config->proxy_cert);
+  Curl_safefree(config->cert_type);
+  Curl_safefree(config->proxy_cert_type);
+  Curl_safefree(config->cacert);
+  Curl_safefree(config->login_options);
+  Curl_safefree(config->proxy_cacert);
+  Curl_safefree(config->capath);
+  Curl_safefree(config->proxy_capath);
+  Curl_safefree(config->crlfile);
+  Curl_safefree(config->pinnedpubkey);
+  Curl_safefree(config->proxy_pinnedpubkey);
+  Curl_safefree(config->proxy_crlfile);
+  Curl_safefree(config->key);
+  Curl_safefree(config->proxy_key);
+  Curl_safefree(config->key_type);
+  Curl_safefree(config->proxy_key_type);
+  Curl_safefree(config->key_passwd);
+  Curl_safefree(config->proxy_key_passwd);
+  Curl_safefree(config->pubkey);
+  Curl_safefree(config->hostpubmd5);
+  Curl_safefree(config->hostpubsha256);
+  Curl_safefree(config->engine);
+  Curl_safefree(config->etag_save_file);
+  Curl_safefree(config->etag_compare_file);
+  Curl_safefree(config->request_target);
+  Curl_safefree(config->customrequest);
+  Curl_safefree(config->krblevel);
+
+  Curl_safefree(config->oauth_bearer);
+  Curl_safefree(config->sasl_authzid);
+
+  Curl_safefree(config->unix_socket_path);
+  Curl_safefree(config->writeout);
+  Curl_safefree(config->proto_default);
+
+  curl_slist_free_all(config->quote);
+  curl_slist_free_all(config->postquote);
+  curl_slist_free_all(config->prequote);
+
+  curl_slist_free_all(config->headers);
+  curl_slist_free_all(config->proxyheaders);
+
+  curl_mime_free(config->mimepost);
+  config->mimepost = NULL;
+  tool_mime_free(config->mimeroot);
+  config->mimeroot = NULL;
+  config->mimecurrent = NULL;
+
+  curl_slist_free_all(config->telnet_options);
+  curl_slist_free_all(config->resolve);
+  curl_slist_free_all(config->connect_to);
+
+  Curl_safefree(config->preproxy);
+  Curl_safefree(config->proxy_service_name);
+  Curl_safefree(config->service_name);
+
+  Curl_safefree(config->ftp_account);
+  Curl_safefree(config->ftp_alternative_to_user);
+
+  Curl_safefree(config->aws_sigv4);
+  Curl_safefree(config->proto_str);
+  Curl_safefree(config->proto_redir_str);
+}
+
+void config_free(struct OperationConfig *config)
+{
+  struct OperationConfig *last = config;
+
+  /* Free each of the structures in reverse order */
+  while(last) {
+    struct OperationConfig *prev = last->prev;
+
+    free_config_fields(last);
+    free(last);
+
+    last = prev;
+  }
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.h b/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.h
new file mode 100755
index 0000000..c26cddd
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_cfgable.h
@@ -0,0 +1,337 @@
+#ifndef HEADER_CURL_TOOL_CFGABLE_H
+#define HEADER_CURL_TOOL_CFGABLE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_sdecls.h"
+#include "tool_urlglob.h"
+#include "tool_formparse.h"
+
+struct GlobalConfig;
+
+struct State {
+  struct getout *urlnode;
+  struct URLGlob *inglob;
+  struct URLGlob *urls;
+  char *outfiles;
+  char *httpgetfields;
+  char *uploadfile;
+  unsigned long infilenum; /* number of files to upload */
+  unsigned long up;  /* upload file counter within a single upload glob */
+  unsigned long urlnum; /* how many iterations this single URL has with ranges
+                           etc */
+  unsigned long li;
+};
+
+struct OperationConfig {
+  bool remote_time;
+  char *useragent;
+  struct curl_slist *cookies;  /* cookies to serialize into a single line */
+  char *cookiejar;          /* write to this file */
+  struct curl_slist *cookiefiles;  /* file(s) to load cookies from */
+  char *altsvc;             /* alt-svc cache file name */
+  char *hsts;               /* HSTS cache file name */
+  bool cookiesession;       /* new session? */
+  bool encoding;            /* Accept-Encoding please */
+  bool tr_encoding;         /* Transfer-Encoding please */
+  unsigned long authtype;   /* auth bitmask */
+  bool use_resume;
+  bool resume_from_current;
+  bool disable_epsv;
+  bool disable_eprt;
+  bool ftp_pret;
+  char *proto_str;
+  bool proto_present;
+  char *proto_redir_str;
+  bool proto_redir_present;
+  char *proto_default;
+  curl_off_t resume_from;
+  char *postfields;
+  curl_off_t postfieldsize;
+  char *referer;
+  double timeout;
+  double connecttimeout;
+  long maxredirs;
+  curl_off_t max_filesize;
+  char *output_dir;
+  char *headerfile;
+  char *ftpport;
+  char *iface;
+  long localport;
+  long localportrange;
+  unsigned short porttouse;
+  char *range;
+  long low_speed_limit;
+  long low_speed_time;
+  char *dns_servers;   /* dot notation: 1.1.1.1;2.2.2.2 */
+  char *dns_interface; /* interface name */
+  char *dns_ipv4_addr; /* dot notation */
+  char *dns_ipv6_addr; /* dot notation */
+  char *userpwd;
+  char *login_options;
+  char *tls_username;
+  char *tls_password;
+  char *tls_authtype;
+  char *proxy_tls_username;
+  char *proxy_tls_password;
+  char *proxy_tls_authtype;
+  char *proxyuserpwd;
+  char *proxy;
+  int proxyver;             /* set to CURLPROXY_HTTP* define */
+  char *noproxy;
+  char *mail_from;
+  struct curl_slist *mail_rcpt;
+  char *mail_auth;
+  bool mail_rcpt_allowfails; /* --mail-rcpt-allowfails */
+  char *sasl_authzid;       /* Authorization identity (identity to use) */
+  bool sasl_ir;             /* Enable/disable SASL initial response */
+  bool proxytunnel;
+  bool ftp_append;          /* APPE on ftp */
+  bool use_ascii;           /* select ascii or text transfer */
+  bool autoreferer;         /* automatically set referer */
+  bool failonerror;         /* fail on (HTTP) errors */
+  bool failwithbody;        /* fail on (HTTP) errors but still store body */
+  bool show_headers;        /* show headers to data output */
+  bool no_body;             /* don't get the body */
+  bool dirlistonly;         /* only get the FTP dir list */
+  bool followlocation;      /* follow http redirects */
+  bool unrestricted_auth;   /* Continue to send authentication (user+password)
+                               when following ocations, even when hostname
+                               changed */
+  bool netrc_opt;
+  bool netrc;
+  char *netrc_file;
+  struct getout *url_list;  /* point to the first node */
+  struct getout *url_last;  /* point to the last/current node */
+  struct getout *url_get;   /* point to the node to fill in URL */
+  struct getout *url_out;   /* point to the node to fill in outfile */
+  struct getout *url_ul;    /* point to the node to fill in upload */
+  char *doh_url;
+  char *cipher_list;
+  char *proxy_cipher_list;
+  char *cipher13_list;
+  char *proxy_cipher13_list;
+  char *cert;
+  char *proxy_cert;
+  char *cert_type;
+  char *proxy_cert_type;
+  char *cacert;
+  char *proxy_cacert;
+  char *capath;
+  char *proxy_capath;
+  char *crlfile;
+  char *proxy_crlfile;
+  char *pinnedpubkey;
+  char *proxy_pinnedpubkey;
+  char *key;
+  char *proxy_key;
+  char *key_type;
+  char *proxy_key_type;
+  char *key_passwd;
+  char *proxy_key_passwd;
+  char *pubkey;
+  char *hostpubmd5;
+  char *hostpubsha256;
+  char *engine;
+  char *etag_save_file;
+  char *etag_compare_file;
+  bool crlf;
+  char *customrequest;
+  char *ssl_ec_curves;
+  char *krblevel;
+  char *request_target;
+  long httpversion;
+  bool http09_allowed;
+  bool nobuffer;
+  bool readbusy;            /* set when reading input returns EAGAIN */
+  bool globoff;
+  bool use_httpget;
+  bool insecure_ok;         /* set TRUE to allow insecure SSL connects */
+  bool doh_insecure_ok;     /* set TRUE to allow insecure SSL connects
+                               for DoH */
+  bool proxy_insecure_ok;   /* set TRUE to allow insecure SSL connects
+                               for proxy */
+  bool terminal_binary_ok;
+  bool verifystatus;
+  bool doh_verifystatus;
+  bool create_dirs;
+  bool ftp_create_dirs;
+  bool ftp_skip_ip;
+  bool proxynegotiate;
+  bool proxyntlm;
+  bool proxydigest;
+  bool proxybasic;
+  bool proxyanyauth;
+  bool jsoned; /* added json content-type */
+  char *writeout;           /* %-styled format string to output */
+  struct curl_slist *quote;
+  struct curl_slist *postquote;
+  struct curl_slist *prequote;
+  long ssl_version;
+  long ssl_version_max;
+  long proxy_ssl_version;
+  long ip_version;
+  long create_file_mode; /* CURLOPT_NEW_FILE_PERMS */
+  curl_TimeCond timecond;
+  curl_off_t condtime;
+  struct curl_slist *headers;
+  struct curl_slist *proxyheaders;
+  struct tool_mime *mimeroot;
+  struct tool_mime *mimecurrent;
+  curl_mime *mimepost;
+  struct curl_slist *telnet_options;
+  struct curl_slist *resolve;
+  struct curl_slist *connect_to;
+  HttpReq httpreq;
+
+  /* for bandwidth limiting features: */
+  curl_off_t sendpersecond; /* send to peer */
+  curl_off_t recvpersecond; /* receive from peer */
+
+  bool ftp_ssl;
+  bool ftp_ssl_reqd;
+  bool ftp_ssl_control;
+  bool ftp_ssl_ccc;
+  int ftp_ssl_ccc_mode;
+  char *preproxy;
+  int socks5_gssapi_nec;    /* The NEC reference server does not protect the
+                               encryption type exchange */
+  unsigned long socks5_auth;/* auth bitmask for socks5 proxies */
+  char *proxy_service_name; /* set authentication service name for HTTP and
+                               SOCKS5 proxies */
+  char *service_name;       /* set authentication service name for DIGEST-MD5,
+                               Kerberos 5 and SPNEGO */
+
+  bool tcp_nodelay;
+  bool tcp_fastopen;
+  long req_retry;           /* number of retries */
+  bool retry_all_errors;    /* retry on any error */
+  bool retry_connrefused;   /* set connection refused as a transient error */
+  long retry_delay;         /* delay between retries (in seconds) */
+  long retry_maxtime;       /* maximum time to keep retrying */
+
+  char *ftp_account;        /* for ACCT */
+  char *ftp_alternative_to_user;  /* send command if USER/PASS fails */
+  int ftp_filemethod;
+  long mime_options;        /* Mime option flags. */
+  long tftp_blksize;        /* TFTP BLKSIZE option */
+  bool tftp_no_options;     /* do not send TFTP options requests */
+  bool ignorecl;            /* --ignore-content-length */
+  bool disable_sessionid;
+
+  bool raw;
+  bool post301;
+  bool post302;
+  bool post303;
+  bool nokeepalive;         /* for keepalive needs */
+  long alivetime;
+  bool content_disposition; /* use Content-disposition filename */
+
+  int default_node_flags;   /* default flags to search for each 'node', which
+                               is basically each given URL to transfer */
+
+  bool xattr;               /* store metadata in extended attributes */
+  long gssapi_delegation;
+  bool ssl_allow_beast;     /* allow this SSL vulnerability */
+  bool proxy_ssl_allow_beast; /* allow this SSL vulnerability for proxy*/
+
+  bool ssl_no_revoke;       /* disable SSL certificate revocation checks */
+  /*bool proxy_ssl_no_revoke; */
+
+  bool ssl_revoke_best_effort; /* ignore SSL revocation offline/missing
+                                  revocation list errors */
+
+  bool native_ca_store;        /* use the native os ca store */
+  bool ssl_auto_client_cert;   /* automatically locate and use a client
+                                  certificate for authentication (Schannel) */
+  bool proxy_ssl_auto_client_cert; /* proxy version of ssl_auto_client_cert */
+  char *oauth_bearer;             /* OAuth 2.0 bearer token */
+  bool noalpn;                    /* enable/disable TLS ALPN extension */
+  char *unix_socket_path;         /* path to Unix domain socket */
+  bool abstract_unix_socket;      /* path to an abstract Unix domain socket */
+  bool falsestart;
+  bool path_as_is;
+  double expect100timeout;
+  bool suppress_connect_headers;  /* suppress proxy CONNECT response headers
+                                     from user callbacks */
+  bool synthetic_error;           /* if TRUE, this is tool-internal error */
+  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 protocol v1 */
+  bool disallow_username_in_url;  /* disallow usernames in URLs */
+  char *aws_sigv4;
+  enum {
+    CLOBBER_DEFAULT, /* Provides compatibility with previous versions of curl,
+                        by using the default behavior for -o, -O, and -J.
+                        If those options would have overwritten files, like
+                        -o and -O would, then overwrite them. In the case of
+                        -J, this will not overwrite any files. */
+    CLOBBER_NEVER, /* If the file exists, always fail */
+    CLOBBER_ALWAYS /* If the file exists, always overwrite it */
+  } file_clobber_mode;
+  struct GlobalConfig *global;
+  struct OperationConfig *prev;
+  struct OperationConfig *next;   /* Always last in the struct */
+  struct State state;             /* for create_transfer() */
+  bool rm_partial;                /* on error, remove partially written output
+                                     files */
+};
+
+struct GlobalConfig {
+  int showerror;                  /* -1 == unset, default => show errors
+                                      0 => -s is used to NOT show errors
+                                      1 => -S has been used to show errors */
+  bool mute;                      /* don't show messages, --silent given */
+  bool noprogress;                /* don't show progress bar --silent given */
+  bool isatty;                    /* Updated internally if output is a tty */
+  FILE *errors;                   /* Error stream, defaults to stderr */
+  bool errors_fopened;            /* Whether error stream isn't stderr */
+  char *trace_dump;               /* file to dump the network trace to */
+  FILE *trace_stream;
+  bool trace_fopened;
+  trace tracetype;
+  bool tracetime;                 /* include timestamp? */
+  int progressmode;               /* CURL_PROGRESS_BAR / CURL_PROGRESS_STATS */
+  char *libcurl;                  /* Output libcurl code to this file name */
+  bool fail_early;                /* exit on first transfer error */
+  bool styled_output;             /* enable fancy output style detection */
+  long ms_per_transfer;           /* start next transfer after (at least) this
+                                     many milliseconds */
+#ifdef CURLDEBUG
+  bool test_event_based;
+#endif
+  bool parallel;
+  long parallel_max;
+  bool parallel_connect;
+  char *help_category;            /* The help category, if set */
+  struct OperationConfig *first;
+  struct OperationConfig *current;
+  struct OperationConfig *last;   /* Always last in the struct */
+};
+
+void config_init(struct OperationConfig *config);
+void config_free(struct OperationConfig *config);
+
+#endif /* HEADER_CURL_TOOL_CFGABLE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.c b/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.c
new file mode 100755
index 0000000..1b6ac17
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.c
@@ -0,0 +1,172 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include <sys/stat.h>
+
+#ifdef WIN32
+#  include <direct.h>
+#endif
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_dirhie.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef NETWARE
+#  ifndef __NOVELL_LIBC__
+#    define mkdir mkdir_510
+#  endif
+#endif
+
+#if defined(WIN32) || (defined(MSDOS) && !defined(__DJGPP__))
+#  define mkdir(x,y) (mkdir)((x))
+#  ifndef F_OK
+#    define F_OK 0
+#  endif
+#endif
+
+static void show_dir_errno(FILE *errors, const char *name)
+{
+  switch(errno) {
+#ifdef EACCES
+  case EACCES:
+    fprintf(errors, "You don't have permission to create %s.\n", name);
+    break;
+#endif
+#ifdef ENAMETOOLONG
+  case ENAMETOOLONG:
+    fprintf(errors, "The directory name %s is too long.\n", name);
+    break;
+#endif
+#ifdef EROFS
+  case EROFS:
+    fprintf(errors, "%s resides on a read-only file system.\n", name);
+    break;
+#endif
+#ifdef ENOSPC
+  case ENOSPC:
+    fprintf(errors, "No space left on the file system that will "
+            "contain the directory %s.\n", name);
+    break;
+#endif
+#ifdef EDQUOT
+  case EDQUOT:
+    fprintf(errors, "Cannot create directory %s because you "
+            "exceeded your quota.\n", name);
+    break;
+#endif
+  default :
+    fprintf(errors, "Error creating directory %s.\n", name);
+    break;
+  }
+}
+
+/*
+ * Create the needed directory hierarchy recursively in order to save
+ *  multi-GETs in file output, ie:
+ *  curl "http://my.site/dir[1-5]/file[1-5].txt" -o "dir#1/file#2.txt"
+ *  should create all the dir* automagically
+ */
+
+#if defined(WIN32) || defined(__DJGPP__)
+/* systems that may use either or when specifying a path */
+#define PATH_DELIMITERS "\\/"
+#else
+#define PATH_DELIMITERS DIR_CHAR
+#endif
+
+
+CURLcode create_dir_hierarchy(const char *outfile, FILE *errors)
+{
+  char *tempdir;
+  char *tempdir2;
+  char *outdup;
+  char *dirbuildup;
+  CURLcode result = CURLE_OK;
+  size_t outlen;
+
+  outlen = strlen(outfile);
+  outdup = strdup(outfile);
+  if(!outdup)
+    return CURLE_OUT_OF_MEMORY;
+
+  dirbuildup = malloc(outlen + 1);
+  if(!dirbuildup) {
+    Curl_safefree(outdup);
+    return CURLE_OUT_OF_MEMORY;
+  }
+  dirbuildup[0] = '\0';
+
+  /* Allow strtok() here since this isn't used threaded */
+  /* !checksrc! disable BANNEDFUNC 2 */
+  tempdir = strtok(outdup, PATH_DELIMITERS);
+
+  while(tempdir) {
+    bool skip = false;
+    tempdir2 = strtok(NULL, PATH_DELIMITERS);
+    /* since strtok returns a token for the last word even
+       if not ending with DIR_CHAR, we need to prune it */
+    if(tempdir2) {
+      size_t dlen = strlen(dirbuildup);
+      if(dlen)
+        msnprintf(&dirbuildup[dlen], outlen - dlen, "%s%s", DIR_CHAR, tempdir);
+      else {
+        if(outdup == tempdir) {
+#if defined(MSDOS) || defined(WIN32)
+          /* Skip creating a drive's current directory.
+             It may seem as though that would harmlessly fail but it could be
+             a corner case if X: did not exist, since we would be creating it
+             erroneously.
+             eg if outfile is X:\foo\bar\filename then don't mkdir X:
+             This logic takes into account unsupported drives !:, 1:, etc. */
+          char *p = strchr(tempdir, ':');
+          if(p && !p[1])
+            skip = true;
+#endif
+          /* the output string doesn't start with a separator */
+          strcpy(dirbuildup, tempdir);
+        }
+        else
+          msnprintf(dirbuildup, outlen, "%s%s", DIR_CHAR, tempdir);
+      }
+      /* Create directory. Ignore access denied error to allow traversal. */
+      if(!skip && (-1 == mkdir(dirbuildup, (mode_t)0000750)) &&
+         (errno != EACCES) && (errno != EEXIST)) {
+        show_dir_errno(errors, dirbuildup);
+        result = CURLE_WRITE_ERROR;
+        break; /* get out of loop */
+      }
+    }
+    tempdir = tempdir2;
+  }
+
+  Curl_safefree(dirbuildup);
+  Curl_safefree(outdup);
+
+  return result;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.h b/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.h
new file mode 100755
index 0000000..954f3e2
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_dirhie.h
@@ -0,0 +1,30 @@
+#ifndef HEADER_CURL_TOOL_DIRHIE_H
+#define HEADER_CURL_TOOL_DIRHIE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+CURLcode create_dir_hierarchy(const char *outfile, FILE *errors);
+
+#endif /* HEADER_CURL_TOOL_DIRHIE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.c b/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.c
new file mode 100755
index 0000000..d8695e9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.c
@@ -0,0 +1,787 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(MSDOS) || defined(WIN32)
+
+#if defined(HAVE_LIBGEN_H) && defined(HAVE_BASENAME)
+#  include <libgen.h>
+#endif
+
+#ifdef WIN32
+#  include <stdlib.h>
+#  include <tlhelp32.h>
+#  include "tool_cfgable.h"
+#  include "tool_libinfo.h"
+#endif
+
+#include "tool_bname.h"
+#include "tool_doswin.h"
+
+#include "curlx.h"
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef WIN32
+#  undef  PATH_MAX
+#  define PATH_MAX MAX_PATH
+#endif
+
+#ifndef S_ISCHR
+#  ifdef S_IFCHR
+#    define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#  else
+#    define S_ISCHR(m) (0) /* cannot tell if file is a device */
+#  endif
+#endif
+
+#ifdef WIN32
+#  define _use_lfn(f) (1)   /* long file names always available */
+#elif !defined(__DJGPP__) || (__DJGPP__ < 2)  /* DJGPP 2.0 has _use_lfn() */
+#  define _use_lfn(f) (0)  /* long file names never available */
+#elif defined(__DJGPP__)
+#  include <fcntl.h>                /* _use_lfn(f) prototype */
+#endif
+
+#ifndef UNITTESTS
+static SANITIZEcode truncate_dryrun(const char *path,
+                                    const size_t truncate_pos);
+#ifdef MSDOS
+static SANITIZEcode msdosify(char **const sanitized, const char *file_name,
+                             int flags);
+#endif
+static SANITIZEcode rename_if_reserved_dos_device_name(char **const sanitized,
+                                                       const char *file_name,
+                                                       int flags);
+#endif /* !UNITTESTS (static declarations used if no unit tests) */
+
+
+/*
+Sanitize a file or path name.
+
+All banned characters are replaced by underscores, for example:
+f?*foo => f__foo
+f:foo::$DATA => f_foo__$DATA
+f:\foo:bar => f__foo_bar
+f:\foo:bar => f:\foo:bar   (flag SANITIZE_ALLOW_PATH)
+
+This function was implemented according to the guidelines in 'Naming Files,
+Paths, and Namespaces' section 'Naming Conventions'.
+https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx
+
+Flags
+-----
+SANITIZE_ALLOW_COLONS:     Allow colons.
+Without this flag colons are sanitized.
+
+SANITIZE_ALLOW_PATH:       Allow path separators and colons.
+Without this flag path separators and colons are sanitized.
+
+SANITIZE_ALLOW_RESERVED:   Allow reserved device names.
+Without this flag a reserved device name is renamed (COM1 => _COM1) unless it's
+in a UNC prefixed path.
+
+SANITIZE_ALLOW_TRUNCATE:   Allow truncating a long filename.
+Without this flag if the sanitized filename or path will be too long an error
+occurs. With this flag the filename --and not any other parts of the path-- may
+be truncated to at least a single character. A filename followed by an
+alternate data stream (ADS) cannot be truncated in any case.
+
+Success: (SANITIZE_ERR_OK) *sanitized points to a sanitized copy of file_name.
+Failure: (!= SANITIZE_ERR_OK) *sanitized is NULL.
+*/
+SANITIZEcode sanitize_file_name(char **const sanitized, const char *file_name,
+                                int flags)
+{
+  char *p, *target;
+  size_t len;
+  SANITIZEcode sc;
+  size_t max_sanitized_len;
+
+  if(!sanitized)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  *sanitized = NULL;
+
+  if(!file_name)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  if((flags & SANITIZE_ALLOW_PATH)) {
+#ifndef MSDOS
+    if(file_name[0] == '\\' && file_name[1] == '\\')
+      /* UNC prefixed path \\ (eg \\?\C:\foo) */
+      max_sanitized_len = 32767-1;
+    else
+#endif
+      max_sanitized_len = PATH_MAX-1;
+  }
+  else
+    /* The maximum length of a filename.
+       FILENAME_MAX is often the same as PATH_MAX, in other words it is 260 and
+       does not discount the path information therefore we shouldn't use it. */
+    max_sanitized_len = (PATH_MAX-1 > 255) ? 255 : PATH_MAX-1;
+
+  len = strlen(file_name);
+  if(len > max_sanitized_len) {
+    if(!(flags & SANITIZE_ALLOW_TRUNCATE) ||
+       truncate_dryrun(file_name, max_sanitized_len))
+      return SANITIZE_ERR_INVALID_PATH;
+
+    len = max_sanitized_len;
+  }
+
+  target = malloc(len + 1);
+  if(!target)
+    return SANITIZE_ERR_OUT_OF_MEMORY;
+
+  strncpy(target, file_name, len);
+  target[len] = '\0';
+
+#ifndef MSDOS
+  if((flags & SANITIZE_ALLOW_PATH) && !strncmp(target, "\\\\?\\", 4))
+    /* Skip the literal path prefix \\?\ */
+    p = target + 4;
+  else
+#endif
+    p = target;
+
+  /* replace control characters and other banned characters */
+  for(; *p; ++p) {
+    const char *banned;
+
+    if((1 <= *p && *p <= 31) ||
+       (!(flags & (SANITIZE_ALLOW_COLONS|SANITIZE_ALLOW_PATH)) && *p == ':') ||
+       (!(flags & SANITIZE_ALLOW_PATH) && (*p == '/' || *p == '\\'))) {
+      *p = '_';
+      continue;
+    }
+
+    for(banned = "|<>\"?*"; *banned; ++banned) {
+      if(*p == *banned) {
+        *p = '_';
+        break;
+      }
+    }
+  }
+
+  /* remove trailing spaces and periods if not allowing paths */
+  if(!(flags & SANITIZE_ALLOW_PATH) && len) {
+    char *clip = NULL;
+
+    p = &target[len];
+    do {
+      --p;
+      if(*p != ' ' && *p != '.')
+        break;
+      clip = p;
+    } while(p != target);
+
+    if(clip) {
+      *clip = '\0';
+      len = clip - target;
+    }
+  }
+
+#ifdef MSDOS
+  sc = msdosify(&p, target, flags);
+  free(target);
+  if(sc)
+    return sc;
+  target = p;
+  len = strlen(target);
+
+  if(len > max_sanitized_len) {
+    free(target);
+    return SANITIZE_ERR_INVALID_PATH;
+  }
+#endif
+
+  if(!(flags & SANITIZE_ALLOW_RESERVED)) {
+    sc = rename_if_reserved_dos_device_name(&p, target, flags);
+    free(target);
+    if(sc)
+      return sc;
+    target = p;
+    len = strlen(target);
+
+    if(len > max_sanitized_len) {
+      free(target);
+      return SANITIZE_ERR_INVALID_PATH;
+    }
+  }
+
+  *sanitized = target;
+  return SANITIZE_ERR_OK;
+}
+
+
+/*
+Test if truncating a path to a file will leave at least a single character in
+the filename. Filenames suffixed by an alternate data stream can't be
+truncated. This performs a dry run, nothing is modified.
+
+Good truncate_pos 9:    C:\foo\bar  =>  C:\foo\ba
+Good truncate_pos 6:    C:\foo      =>  C:\foo
+Good truncate_pos 5:    C:\foo      =>  C:\fo
+Bad* truncate_pos 5:    C:foo       =>  C:foo
+Bad truncate_pos 5:     C:\foo:ads  =>  C:\fo
+Bad truncate_pos 9:     C:\foo:ads  =>  C:\foo:ad
+Bad truncate_pos 5:     C:\foo\bar  =>  C:\fo
+Bad truncate_pos 5:     C:\foo\     =>  C:\fo
+Bad truncate_pos 7:     C:\foo\     =>  C:\foo\
+Error truncate_pos 7:   C:\foo      =>  (pos out of range)
+Bad truncate_pos 1:     C:\foo\     =>  C
+
+* C:foo is ambiguous, C could end up being a drive or file therefore something
+  like C:superlongfilename can't be truncated.
+
+Returns
+SANITIZE_ERR_OK: Good -- 'path' can be truncated
+SANITIZE_ERR_INVALID_PATH: Bad -- 'path' cannot be truncated
+!= SANITIZE_ERR_OK && != SANITIZE_ERR_INVALID_PATH: Error
+*/
+SANITIZEcode truncate_dryrun(const char *path, const size_t truncate_pos)
+{
+  size_t len;
+
+  if(!path)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  len = strlen(path);
+
+  if(truncate_pos > len)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  if(!len || !truncate_pos)
+    return SANITIZE_ERR_INVALID_PATH;
+
+  if(strpbrk(&path[truncate_pos - 1], "\\/:"))
+    return SANITIZE_ERR_INVALID_PATH;
+
+  /* C:\foo can be truncated but C:\foo:ads can't */
+  if(truncate_pos > 1) {
+    const char *p = &path[truncate_pos - 1];
+    do {
+      --p;
+      if(*p == ':')
+        return SANITIZE_ERR_INVALID_PATH;
+    } while(p != path && *p != '\\' && *p != '/');
+  }
+
+  return SANITIZE_ERR_OK;
+}
+
+/* The functions msdosify, rename_if_dos_device_name and __crt0_glob_function
+ * were taken with modification from the DJGPP port of tar 1.12. They use
+ * algorithms originally from DJTAR.
+ */
+
+/*
+Extra sanitization MSDOS for file_name.
+
+This is a supporting function for sanitize_file_name.
+
+Warning: This is an MSDOS legacy function and was purposely written in a way
+that some path information may pass through. For example drive letter names
+(C:, D:, etc) are allowed to pass through. For sanitizing a filename use
+sanitize_file_name.
+
+Success: (SANITIZE_ERR_OK) *sanitized points to a sanitized copy of file_name.
+Failure: (!= SANITIZE_ERR_OK) *sanitized is NULL.
+*/
+#if defined(MSDOS) || defined(UNITTESTS)
+SANITIZEcode msdosify(char **const sanitized, const char *file_name,
+                      int flags)
+{
+  char dos_name[PATH_MAX];
+  static const char illegal_chars_dos[] = ".+, ;=[]" /* illegal in DOS */
+    "|<>/\\\":?*"; /* illegal in DOS & W95 */
+  static const char *illegal_chars_w95 = &illegal_chars_dos[8];
+  int idx, dot_idx;
+  const char *s = file_name;
+  char *d = dos_name;
+  const char *const dlimit = dos_name + sizeof(dos_name) - 1;
+  const char *illegal_aliens = illegal_chars_dos;
+  size_t len = sizeof(illegal_chars_dos) - 1;
+
+  if(!sanitized)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  *sanitized = NULL;
+
+  if(!file_name)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  if(strlen(file_name) > PATH_MAX-1 &&
+     (!(flags & SANITIZE_ALLOW_TRUNCATE) ||
+      truncate_dryrun(file_name, PATH_MAX-1)))
+    return SANITIZE_ERR_INVALID_PATH;
+
+  /* Support for Windows 9X VFAT systems, when available. */
+  if(_use_lfn(file_name)) {
+    illegal_aliens = illegal_chars_w95;
+    len -= (illegal_chars_w95 - illegal_chars_dos);
+  }
+
+  /* Get past the drive letter, if any. */
+  if(s[0] >= 'A' && s[0] <= 'z' && s[1] == ':') {
+    *d++ = *s++;
+    *d = ((flags & (SANITIZE_ALLOW_COLONS|SANITIZE_ALLOW_PATH))) ? ':' : '_';
+    ++d, ++s;
+  }
+
+  for(idx = 0, dot_idx = -1; *s && d < dlimit; s++, d++) {
+    if(memchr(illegal_aliens, *s, len)) {
+
+      if((flags & (SANITIZE_ALLOW_COLONS|SANITIZE_ALLOW_PATH)) && *s == ':')
+        *d = ':';
+      else if((flags & SANITIZE_ALLOW_PATH) && (*s == '/' || *s == '\\'))
+        *d = *s;
+      /* Dots are special: DOS doesn't allow them as the leading character,
+         and a file name cannot have more than a single dot.  We leave the
+         first non-leading dot alone, unless it comes too close to the
+         beginning of the name: we want sh.lex.c to become sh_lex.c, not
+         sh.lex-c.  */
+      else if(*s == '.') {
+        if((flags & SANITIZE_ALLOW_PATH) && idx == 0 &&
+           (s[1] == '/' || s[1] == '\\' ||
+            (s[1] == '.' && (s[2] == '/' || s[2] == '\\')))) {
+          /* Copy "./" and "../" verbatim.  */
+          *d++ = *s++;
+          if(d == dlimit)
+            break;
+          if(*s == '.') {
+            *d++ = *s++;
+            if(d == dlimit)
+              break;
+          }
+          *d = *s;
+        }
+        else if(idx == 0)
+          *d = '_';
+        else if(dot_idx >= 0) {
+          if(dot_idx < 5) { /* 5 is a heuristic ad-hoc'ery */
+            d[dot_idx - idx] = '_'; /* replace previous dot */
+            *d = '.';
+          }
+          else
+            *d = '-';
+        }
+        else
+          *d = '.';
+
+        if(*s == '.')
+          dot_idx = idx;
+      }
+      else if(*s == '+' && s[1] == '+') {
+        if(idx - 2 == dot_idx) { /* .c++, .h++ etc. */
+          *d++ = 'x';
+          if(d == dlimit)
+            break;
+          *d   = 'x';
+        }
+        else {
+          /* libg++ etc.  */
+          if(dlimit - d < 4) {
+            *d++ = 'x';
+            if(d == dlimit)
+              break;
+            *d   = 'x';
+          }
+          else {
+            memcpy(d, "plus", 4);
+            d += 3;
+          }
+        }
+        s++;
+        idx++;
+      }
+      else
+        *d = '_';
+    }
+    else
+      *d = *s;
+    if(*s == '/' || *s == '\\') {
+      idx = 0;
+      dot_idx = -1;
+    }
+    else
+      idx++;
+  }
+  *d = '\0';
+
+  if(*s) {
+    /* dos_name is truncated, check that truncation requirements are met,
+       specifically truncating a filename suffixed by an alternate data stream
+       or truncating the entire filename is not allowed. */
+    if(!(flags & SANITIZE_ALLOW_TRUNCATE) || strpbrk(s, "\\/:") ||
+       truncate_dryrun(dos_name, d - dos_name))
+      return SANITIZE_ERR_INVALID_PATH;
+  }
+
+  *sanitized = strdup(dos_name);
+  return (*sanitized ? SANITIZE_ERR_OK : SANITIZE_ERR_OUT_OF_MEMORY);
+}
+#endif /* MSDOS || UNITTESTS */
+
+/*
+Rename file_name if it's a reserved dos device name.
+
+This is a supporting function for sanitize_file_name.
+
+Warning: This is an MSDOS legacy function and was purposely written in a way
+that some path information may pass through. For example drive letter names
+(C:, D:, etc) are allowed to pass through. For sanitizing a filename use
+sanitize_file_name.
+
+Success: (SANITIZE_ERR_OK) *sanitized points to a sanitized copy of file_name.
+Failure: (!= SANITIZE_ERR_OK) *sanitized is NULL.
+*/
+SANITIZEcode rename_if_reserved_dos_device_name(char **const sanitized,
+                                                const char *file_name,
+                                                int flags)
+{
+  /* We could have a file whose name is a device on MS-DOS.  Trying to
+   * retrieve such a file would fail at best and wedge us at worst.  We need
+   * to rename such files. */
+  char *p, *base;
+  char fname[PATH_MAX];
+#ifdef MSDOS
+  struct_stat st_buf;
+#endif
+
+  if(!sanitized)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  *sanitized = NULL;
+
+  if(!file_name)
+    return SANITIZE_ERR_BAD_ARGUMENT;
+
+  /* Ignore UNC prefixed paths, they are allowed to contain a reserved name. */
+#ifndef MSDOS
+  if((flags & SANITIZE_ALLOW_PATH) &&
+     file_name[0] == '\\' && file_name[1] == '\\') {
+    size_t len = strlen(file_name);
+    *sanitized = malloc(len + 1);
+    if(!*sanitized)
+      return SANITIZE_ERR_OUT_OF_MEMORY;
+    strncpy(*sanitized, file_name, len + 1);
+    return SANITIZE_ERR_OK;
+  }
+#endif
+
+  if(strlen(file_name) > PATH_MAX-1 &&
+     (!(flags & SANITIZE_ALLOW_TRUNCATE) ||
+      truncate_dryrun(file_name, PATH_MAX-1)))
+    return SANITIZE_ERR_INVALID_PATH;
+
+  strncpy(fname, file_name, PATH_MAX-1);
+  fname[PATH_MAX-1] = '\0';
+  base = basename(fname);
+
+  /* Rename reserved device names that are known to be accessible without \\.\
+     Examples: CON => _CON, CON.EXT => CON_EXT, CON:ADS => CON_ADS
+     https://support.microsoft.com/en-us/kb/74496
+     https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx
+     */
+  for(p = fname; p; p = (p == fname && fname != base ? base : NULL)) {
+    size_t p_len;
+    int x = (curl_strnequal(p, "CON", 3) ||
+             curl_strnequal(p, "PRN", 3) ||
+             curl_strnequal(p, "AUX", 3) ||
+             curl_strnequal(p, "NUL", 3)) ? 3 :
+            (curl_strnequal(p, "CLOCK$", 6)) ? 6 :
+            (curl_strnequal(p, "COM", 3) || curl_strnequal(p, "LPT", 3)) ?
+              (('1' <= p[3] && p[3] <= '9') ? 4 : 3) : 0;
+
+    if(!x)
+      continue;
+
+    /* the devices may be accessible with an extension or ADS, for
+       example CON.AIR and 'CON . AIR' and CON:AIR access console */
+
+    for(; p[x] == ' '; ++x)
+      ;
+
+    if(p[x] == '.') {
+      p[x] = '_';
+      continue;
+    }
+    else if(p[x] == ':') {
+      if(!(flags & (SANITIZE_ALLOW_COLONS|SANITIZE_ALLOW_PATH))) {
+        p[x] = '_';
+        continue;
+      }
+      ++x;
+    }
+    else if(p[x]) /* no match */
+      continue;
+
+    /* p points to 'CON' or 'CON ' or 'CON:', etc */
+    p_len = strlen(p);
+
+    /* Prepend a '_' */
+    if(strlen(fname) == PATH_MAX-1) {
+      --p_len;
+      if(!(flags & SANITIZE_ALLOW_TRUNCATE) || truncate_dryrun(p, p_len))
+        return SANITIZE_ERR_INVALID_PATH;
+      p[p_len] = '\0';
+    }
+    memmove(p + 1, p, p_len + 1);
+    p[0] = '_';
+    ++p_len;
+
+    /* if fname was just modified then the basename pointer must be updated */
+    if(p == fname)
+      base = basename(fname);
+  }
+
+  /* This is the legacy portion from rename_if_dos_device_name that checks for
+     reserved device names. It only works on MSDOS. On Windows XP the stat
+     check errors with EINVAL if the device name is reserved. On Windows
+     Vista/7/8 it sets mode S_IFREG (regular file or device). According to MSDN
+     stat doc the latter behavior is correct, but that doesn't help us identify
+     whether it's a reserved device name and not a regular file name. */
+#ifdef MSDOS
+  if(base && ((stat(base, &st_buf)) == 0) && (S_ISCHR(st_buf.st_mode))) {
+    /* Prepend a '_' */
+    size_t blen = strlen(base);
+    if(blen) {
+      if(strlen(fname) == PATH_MAX-1) {
+        --blen;
+        if(!(flags & SANITIZE_ALLOW_TRUNCATE) || truncate_dryrun(base, blen))
+          return SANITIZE_ERR_INVALID_PATH;
+        base[blen] = '\0';
+      }
+      memmove(base + 1, base, blen + 1);
+      base[0] = '_';
+    }
+  }
+#endif
+
+  *sanitized = strdup(fname);
+  return (*sanitized ? SANITIZE_ERR_OK : SANITIZE_ERR_OUT_OF_MEMORY);
+}
+
+#if defined(MSDOS) && (defined(__DJGPP__) || defined(__GO32__))
+
+/*
+ * Disable program default argument globbing. We do it on our own.
+ */
+char **__crt0_glob_function(char *arg)
+{
+  (void)arg;
+  return (char **)0;
+}
+
+#endif /* MSDOS && (__DJGPP__ || __GO32__) */
+
+#ifdef WIN32
+
+/*
+ * Function to find CACert bundle on a Win32 platform using SearchPath.
+ * (SearchPath is already declared via inclusions done in setup header file)
+ * (Use the ASCII version instead of the unicode one!)
+ * The order of the directories it searches is:
+ *  1. application's directory
+ *  2. current working directory
+ *  3. Windows System directory (e.g. C:\windows\system32)
+ *  4. Windows Directory (e.g. C:\windows)
+ *  5. all directories along %PATH%
+ *
+ * For WinXP and later search order actually depends on registry value:
+ * HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SafeProcessSearchMode
+ */
+
+CURLcode FindWin32CACert(struct OperationConfig *config,
+                         curl_sslbackend backend,
+                         const TCHAR *bundle_file)
+{
+  CURLcode result = CURLE_OK;
+
+  /* Search and set cert file only if libcurl supports SSL.
+   *
+   * If Schannel 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;
+    TCHAR buf[PATH_MAX];
+    TCHAR *ptr = NULL;
+
+    buf[0] = TEXT('\0');
+
+    res_len = SearchPath(NULL, bundle_file, NULL, PATH_MAX, buf, &ptr);
+    if(res_len > 0) {
+      char *mstr = curlx_convert_tchar_to_UTF8(buf);
+      Curl_safefree(config->cacert);
+      if(mstr)
+        config->cacert = strdup(mstr);
+      curlx_unicodefree(mstr);
+      if(!config->cacert)
+        result = CURLE_OUT_OF_MEMORY;
+    }
+  }
+
+  return result;
+}
+
+
+/* Get a list of all loaded modules with full paths.
+ * Returns slist on success or NULL on error.
+ */
+struct curl_slist *GetLoadedModulePaths(void)
+{
+  HANDLE hnd = INVALID_HANDLE_VALUE;
+  MODULEENTRY32 mod = {0};
+  struct curl_slist *slist = NULL;
+
+  mod.dwSize = sizeof(MODULEENTRY32);
+
+  do {
+    hnd = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 0);
+  } while(hnd == INVALID_HANDLE_VALUE && GetLastError() == ERROR_BAD_LENGTH);
+
+  if(hnd == INVALID_HANDLE_VALUE)
+    goto error;
+
+  if(!Module32First(hnd, &mod))
+    goto error;
+
+  do {
+    char *path; /* points to stack allocated buffer */
+    struct curl_slist *temp;
+
+#ifdef UNICODE
+    /* sizeof(mod.szExePath) is the max total bytes of wchars. the max total
+       bytes of multibyte chars won't be more than twice that. */
+    char buffer[sizeof(mod.szExePath) * 2];
+    if(!WideCharToMultiByte(CP_ACP, 0, mod.szExePath, -1,
+                            buffer, sizeof(buffer), NULL, NULL))
+      goto error;
+    path = buffer;
+#else
+    path = mod.szExePath;
+#endif
+    temp = curl_slist_append(slist, path);
+    if(!temp)
+      goto error;
+    slist = temp;
+  } while(Module32Next(hnd, &mod));
+
+  goto cleanup;
+
+error:
+  curl_slist_free_all(slist);
+  slist = NULL;
+cleanup:
+  if(hnd != INVALID_HANDLE_VALUE)
+    CloseHandle(hnd);
+  return slist;
+}
+
+/* The terminal settings to restore on exit */
+static struct TerminalSettings {
+  HANDLE hStdOut;
+  DWORD dwOutputMode;
+  LONG valid;
+} TerminalSettings;
+
+#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
+#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
+#endif
+
+static void restore_terminal(void)
+{
+  if(InterlockedExchange(&TerminalSettings.valid, (LONG)FALSE))
+    SetConsoleMode(TerminalSettings.hStdOut, TerminalSettings.dwOutputMode);
+}
+
+/* This is the console signal handler.
+ * The system calls it in a separate thread.
+ */
+static BOOL WINAPI signal_handler(DWORD type)
+{
+  if(type == CTRL_C_EVENT || type == CTRL_BREAK_EVENT)
+    restore_terminal();
+  return FALSE;
+}
+
+static void init_terminal(void)
+{
+  TerminalSettings.hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
+  /*
+   * Enable VT (Virtual Terminal) output.
+   * Note: VT mode flag can be set on any version of Windows, but VT
+   * processing only performed on Win10 >= Creators Update)
+   */
+  if((TerminalSettings.hStdOut != INVALID_HANDLE_VALUE) &&
+     GetConsoleMode(TerminalSettings.hStdOut,
+                    &TerminalSettings.dwOutputMode) &&
+     !(TerminalSettings.dwOutputMode &
+       ENABLE_VIRTUAL_TERMINAL_PROCESSING)) {
+    /* The signal handler is set before attempting to change the console mode
+       because otherwise a signal would not be caught after the change but
+       before the handler was installed. */
+    (void)InterlockedExchange(&TerminalSettings.valid, (LONG)TRUE);
+    if(SetConsoleCtrlHandler(signal_handler, TRUE)) {
+      if(SetConsoleMode(TerminalSettings.hStdOut,
+                        (TerminalSettings.dwOutputMode |
+                         ENABLE_VIRTUAL_TERMINAL_PROCESSING))) {
+        atexit(restore_terminal);
+      }
+      else {
+        SetConsoleCtrlHandler(signal_handler, FALSE);
+        (void)InterlockedExchange(&TerminalSettings.valid, (LONG)FALSE);
+      }
+    }
+  }
+}
+
+LARGE_INTEGER tool_freq;
+bool tool_isVistaOrGreater;
+
+CURLcode win32_init(void)
+{
+  /* curlx_verify_windows_version must be called during init at least once
+     because it has its own initialization routine. */
+  if(curlx_verify_windows_version(6, 0, 0, PLATFORM_WINNT,
+                                  VERSION_GREATER_THAN_EQUAL))
+    tool_isVistaOrGreater = true;
+  else
+    tool_isVistaOrGreater = false;
+
+  QueryPerformanceFrequency(&tool_freq);
+
+  init_terminal();
+
+  return CURLE_OK;
+}
+
+#endif /* WIN32 */
+
+#endif /* MSDOS || WIN32 */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.h b/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.h
new file mode 100755
index 0000000..ff9bad9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_doswin.h
@@ -0,0 +1,72 @@
+#ifndef HEADER_CURL_TOOL_DOSWIN_H
+#define HEADER_CURL_TOOL_DOSWIN_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(MSDOS) || defined(WIN32)
+
+#define SANITIZE_ALLOW_COLONS    (1<<0)  /* Allow colons */
+#define SANITIZE_ALLOW_PATH      (1<<1)  /* Allow path separators and colons */
+#define SANITIZE_ALLOW_RESERVED  (1<<2)  /* Allow reserved device names */
+#define SANITIZE_ALLOW_TRUNCATE  (1<<3)  /* Allow truncating a long filename */
+
+typedef enum {
+  SANITIZE_ERR_OK = 0,           /* 0 - OK */
+  SANITIZE_ERR_INVALID_PATH,     /* 1 - the path is invalid */
+  SANITIZE_ERR_BAD_ARGUMENT,     /* 2 - bad function parameter */
+  SANITIZE_ERR_OUT_OF_MEMORY,    /* 3 - out of memory */
+  SANITIZE_ERR_LAST /* never use! */
+} SANITIZEcode;
+
+SANITIZEcode sanitize_file_name(char **const sanitized, const char *file_name,
+                                int flags);
+#ifdef UNITTESTS
+SANITIZEcode truncate_dryrun(const char *path, const size_t truncate_pos);
+SANITIZEcode msdosify(char **const sanitized, const char *file_name,
+                      int flags);
+SANITIZEcode rename_if_reserved_dos_device_name(char **const sanitized,
+                                                const char *file_name,
+                                                int flags);
+#endif /* UNITTESTS */
+
+#if defined(MSDOS) && (defined(__DJGPP__) || defined(__GO32__))
+
+char **__crt0_glob_function(char *arg);
+
+#endif /* MSDOS && (__DJGPP__ || __GO32__) */
+
+#ifdef WIN32
+
+CURLcode FindWin32CACert(struct OperationConfig *config,
+                         curl_sslbackend backend,
+                         const TCHAR *bundle_file);
+struct curl_slist *GetLoadedModulePaths(void);
+CURLcode win32_init(void);
+
+#endif /* WIN32 */
+
+#endif /* MSDOS || WIN32 */
+
+#endif /* HEADER_CURL_TOOL_DOSWIN_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.c b/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.c
new file mode 100755
index 0000000..e653b31
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.c
@@ -0,0 +1,238 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "slist_wc.h"
+
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_easysrc.h"
+#include "tool_msgs.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* global variable definitions, for easy-interface source code generation */
+
+struct slist_wc *easysrc_decl = NULL; /* Variable declarations */
+struct slist_wc *easysrc_data = NULL; /* Build slists, forms etc. */
+struct slist_wc *easysrc_code = NULL; /* Setopt calls */
+struct slist_wc *easysrc_toohard = NULL; /* Unconvertible setopt */
+struct slist_wc *easysrc_clean = NULL;  /* Clean up allocated data */
+int easysrc_mime_count = 0;
+int easysrc_slist_count = 0;
+
+static const char *const srchead[]={
+  "/********* Sample code generated by the curl command line tool **********",
+  " * All curl_easy_setopt() options are documented at:",
+  " * https://curl.se/libcurl/c/curl_easy_setopt.html",
+  " ************************************************************************/",
+  "#include <curl/curl.h>",
+  "",
+  "int main(int argc, char *argv[])",
+  "{",
+  "  CURLcode ret;",
+  "  CURL *hnd;",
+  NULL
+};
+/* easysrc_decl declarations come here */
+/* easysrc_data initialization come here */
+/* easysrc_code statements come here */
+static const char *const srchard[]={
+  "/* Here is a list of options the curl code used that cannot get generated",
+  "   as source easily. You may choose to either not use them or implement",
+  "   them yourself.",
+  "",
+  NULL
+};
+static const char *const srcend[]={
+  "",
+  "  return (int)ret;",
+  "}",
+  "/**** End of sample code ****/",
+  NULL
+};
+
+/* Clean up all source code if we run out of memory */
+static void easysrc_free(void)
+{
+  slist_wc_free_all(easysrc_decl);
+  easysrc_decl = NULL;
+  slist_wc_free_all(easysrc_data);
+  easysrc_data = NULL;
+  slist_wc_free_all(easysrc_code);
+  easysrc_code = NULL;
+  slist_wc_free_all(easysrc_toohard);
+  easysrc_toohard = NULL;
+  slist_wc_free_all(easysrc_clean);
+  easysrc_clean = NULL;
+}
+
+/* Add a source line to the main code or remarks */
+CURLcode easysrc_add(struct slist_wc **plist, const char *line)
+{
+  CURLcode ret = CURLE_OK;
+  struct slist_wc *list = slist_wc_append(*plist, line);
+  if(!list) {
+    easysrc_free();
+    ret = CURLE_OUT_OF_MEMORY;
+  }
+  else
+    *plist = list;
+  return ret;
+}
+
+CURLcode easysrc_addf(struct slist_wc **plist, const char *fmt, ...)
+{
+  CURLcode ret;
+  char *bufp;
+  va_list ap;
+  va_start(ap, fmt);
+  bufp = curlx_mvaprintf(fmt, ap);
+  va_end(ap);
+  if(!bufp) {
+    ret = CURLE_OUT_OF_MEMORY;
+  }
+  else {
+    ret = easysrc_add(plist, bufp);
+    curl_free(bufp);
+  }
+  return ret;
+}
+
+#define CHKRET(v) do {CURLcode ret = (v); if(ret) return ret;} while(0)
+
+CURLcode easysrc_init(void)
+{
+  CHKRET(easysrc_add(&easysrc_code,
+                     "hnd = curl_easy_init();"));
+  return CURLE_OK;
+}
+
+CURLcode easysrc_perform(void)
+{
+  /* Note any setopt calls which we could not convert */
+  if(easysrc_toohard) {
+    int i;
+    struct curl_slist *ptr;
+    const char *c;
+    CHKRET(easysrc_add(&easysrc_code, ""));
+    /* Preamble comment */
+    for(i = 0; ((c = srchard[i]) != NULL); i++)
+      CHKRET(easysrc_add(&easysrc_code, c));
+    /* Each unconverted option */
+    if(easysrc_toohard) {
+      for(ptr = easysrc_toohard->first; ptr; ptr = ptr->next)
+        CHKRET(easysrc_add(&easysrc_code, ptr->data));
+    }
+    CHKRET(easysrc_add(&easysrc_code, ""));
+    CHKRET(easysrc_add(&easysrc_code, "*/"));
+
+    slist_wc_free_all(easysrc_toohard);
+    easysrc_toohard = NULL;
+  }
+
+  CHKRET(easysrc_add(&easysrc_code, ""));
+  CHKRET(easysrc_add(&easysrc_code, "ret = curl_easy_perform(hnd);"));
+  CHKRET(easysrc_add(&easysrc_code, ""));
+
+  return CURLE_OK;
+}
+
+CURLcode easysrc_cleanup(void)
+{
+  CHKRET(easysrc_add(&easysrc_code, "curl_easy_cleanup(hnd);"));
+  CHKRET(easysrc_add(&easysrc_code, "hnd = NULL;"));
+
+  return CURLE_OK;
+}
+
+void dumpeasysrc(struct GlobalConfig *config)
+{
+  struct curl_slist *ptr;
+  char *o = config->libcurl;
+
+  FILE *out;
+  bool fopened = FALSE;
+  if(strcmp(o, "-")) {
+    out = fopen(o, FOPEN_WRITETEXT);
+    fopened = TRUE;
+  }
+  else
+    out = stdout;
+  if(!out)
+    warnf(config, "Failed to open %s to write libcurl code!\n", o);
+  else {
+    int i;
+    const char *c;
+
+    for(i = 0; ((c = srchead[i]) != NULL); i++)
+      fprintf(out, "%s\n", c);
+
+    /* Declare variables used for complex setopt values */
+    if(easysrc_decl) {
+      for(ptr = easysrc_decl->first; ptr; ptr = ptr->next)
+        fprintf(out, "  %s\n", ptr->data);
+    }
+
+    /* Set up complex values for setopt calls */
+    if(easysrc_data) {
+      fprintf(out, "\n");
+
+      for(ptr = easysrc_data->first; ptr; ptr = ptr->next)
+        fprintf(out, "  %s\n", ptr->data);
+    }
+
+    fprintf(out, "\n");
+    if(easysrc_code) {
+      for(ptr = easysrc_code->first; ptr; ptr = ptr->next) {
+        if(ptr->data[0]) {
+          fprintf(out, "  %s\n", ptr->data);
+        }
+        else {
+          fprintf(out, "\n");
+        }
+      }
+    }
+
+    if(easysrc_clean) {
+      for(ptr = easysrc_clean->first; ptr; ptr = ptr->next)
+        fprintf(out, "  %s\n", ptr->data);
+    }
+
+    for(i = 0; ((c = srcend[i]) != NULL); i++)
+      fprintf(out, "%s\n", c);
+
+    if(fopened)
+      fclose(out);
+  }
+
+  easysrc_free();
+}
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.h b/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.h
new file mode 100755
index 0000000..ec2fdd2
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_easysrc.h
@@ -0,0 +1,58 @@
+#ifndef HEADER_CURL_TOOL_EASYSRC_H
+#define HEADER_CURL_TOOL_EASYSRC_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+/* global variable declarations, for easy-interface source code generation */
+
+extern struct slist_wc *easysrc_decl; /* Variable declarations */
+extern struct slist_wc *easysrc_data; /* Build slists, forms etc. */
+extern struct slist_wc *easysrc_code; /* Setopt calls etc. */
+extern struct slist_wc *easysrc_toohard; /* Unconvertible setopt */
+extern struct slist_wc *easysrc_clean;  /* Clean up (reverse order) */
+
+extern int easysrc_mime_count;  /* Number of curl_mime variables */
+extern int easysrc_slist_count; /* Number of curl_slist variables */
+
+extern CURLcode easysrc_init(void);
+extern CURLcode easysrc_add(struct slist_wc **plist, const char *bupf);
+extern CURLcode easysrc_addf(struct slist_wc **plist,
+                             const char *fmt, ...);
+extern CURLcode easysrc_perform(void);
+extern CURLcode easysrc_cleanup(void);
+
+void dumpeasysrc(struct GlobalConfig *config);
+
+#else /* CURL_DISABLE_LIBCURL_OPTION is defined */
+
+#define easysrc_init() CURLE_OK
+#define easysrc_cleanup()
+#define dumpeasysrc(x)
+#define easysrc_perform(x) CURLE_OK
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
+
+#endif /* HEADER_CURL_TOOL_EASYSRC_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.c b/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.c
new file mode 100755
index 0000000..c095a49
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.c
@@ -0,0 +1,155 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_filetime.h"
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+#include "curlx.h"
+
+#ifdef HAVE_UTIME_H
+#  include <utime.h>
+#elif defined(HAVE_SYS_UTIME_H)
+#  include <sys/utime.h>
+#endif
+
+curl_off_t getfiletime(const char *filename, struct GlobalConfig *global)
+{
+  curl_off_t result = -1;
+
+/* Windows stat() may attempt to adjust the unix GMT file time by a daylight
+   saving time offset and since it's GMT that is bad behavior. When we have
+   access to a 64-bit type we can bypass stat and get the times directly. */
+#if defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)
+  HANDLE hfile;
+  TCHAR *tchar_filename = curlx_convert_UTF8_to_tchar((char *)filename);
+
+  hfile = CreateFile(tchar_filename, FILE_READ_ATTRIBUTES,
+                      (FILE_SHARE_READ | FILE_SHARE_WRITE |
+                       FILE_SHARE_DELETE),
+                      NULL, OPEN_EXISTING, 0, NULL);
+  curlx_unicodefree(tchar_filename);
+  if(hfile != INVALID_HANDLE_VALUE) {
+    FILETIME ft;
+    if(GetFileTime(hfile, NULL, NULL, &ft)) {
+      curl_off_t converted = (curl_off_t)ft.dwLowDateTime
+          | ((curl_off_t)ft.dwHighDateTime) << 32;
+
+      if(converted < CURL_OFF_T_C(116444736000000000)) {
+        warnf(global, "Failed to get filetime: underflow\n");
+      }
+      else {
+        result = (converted - CURL_OFF_T_C(116444736000000000)) / 10000000;
+      }
+    }
+    else {
+      warnf(global, "Failed to get filetime: "
+            "GetFileTime failed: GetLastError %u\n",
+            (unsigned int)GetLastError());
+    }
+    CloseHandle(hfile);
+  }
+  else if(GetLastError() != ERROR_FILE_NOT_FOUND) {
+    warnf(global, "Failed to get filetime: "
+          "CreateFile failed: GetLastError %u\n",
+          (unsigned int)GetLastError());
+  }
+#else
+  struct_stat statbuf;
+  if(-1 != stat(filename, &statbuf)) {
+    result = (curl_off_t)statbuf.st_mtime;
+  }
+  else if(errno != ENOENT) {
+    warnf(global, "Failed to get filetime: %s\n", strerror(errno));
+  }
+#endif
+  return result;
+}
+
+#if defined(HAVE_UTIME) || defined(HAVE_UTIMES) ||      \
+  (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
+void setfiletime(curl_off_t filetime, const char *filename,
+                 struct GlobalConfig *global)
+{
+  if(filetime >= 0) {
+/* Windows utime() may attempt to adjust the unix GMT file time by a daylight
+   saving time offset and since it's GMT that is bad behavior. When we have
+   access to a 64-bit type we can bypass utime and set the times directly. */
+#if defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)
+    HANDLE hfile;
+    TCHAR *tchar_filename = curlx_convert_UTF8_to_tchar((char *)filename);
+
+    /* 910670515199 is the maximum unix filetime that can be used as a
+       Windows FILETIME without overflow: 30827-12-31T23:59:59. */
+    if(filetime > CURL_OFF_T_C(910670515199)) {
+      warnf(global, "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+            " on outfile: overflow\n", filetime);
+      curlx_unicodefree(tchar_filename);
+      return;
+    }
+
+    hfile = CreateFile(tchar_filename, FILE_WRITE_ATTRIBUTES,
+                       (FILE_SHARE_READ | FILE_SHARE_WRITE |
+                        FILE_SHARE_DELETE),
+                       NULL, OPEN_EXISTING, 0, NULL);
+    curlx_unicodefree(tchar_filename);
+    if(hfile != INVALID_HANDLE_VALUE) {
+      curl_off_t converted = ((curl_off_t)filetime * 10000000) +
+        CURL_OFF_T_C(116444736000000000);
+      FILETIME ft;
+      ft.dwLowDateTime = (DWORD)(converted & 0xFFFFFFFF);
+      ft.dwHighDateTime = (DWORD)(converted >> 32);
+      if(!SetFileTime(hfile, NULL, &ft, &ft)) {
+        warnf(global, "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+              " on outfile: SetFileTime failed: GetLastError %u\n",
+              filetime, (unsigned int)GetLastError());
+      }
+      CloseHandle(hfile);
+    }
+    else {
+      warnf(global, "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+            " on outfile: CreateFile failed: GetLastError %u\n",
+            filetime, (unsigned int)GetLastError());
+    }
+
+#elif defined(HAVE_UTIMES)
+    struct timeval times[2];
+    times[0].tv_sec = times[1].tv_sec = (time_t)filetime;
+    times[0].tv_usec = times[1].tv_usec = 0;
+    if(utimes(filename, times)) {
+      warnf(global, "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+            " on '%s': %s\n", filetime, filename, strerror(errno));
+    }
+
+#elif defined(HAVE_UTIME)
+    struct utimbuf times;
+    times.actime = (time_t)filetime;
+    times.modtime = (time_t)filetime;
+    if(utime(filename, &times)) {
+      warnf(global, "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+            " on '%s': %s\n", filetime, filename, strerror(errno));
+    }
+#endif
+  }
+}
+#endif /* defined(HAVE_UTIME) || defined(HAVE_UTIMES) || \
+          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.h b/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.h
new file mode 100755
index 0000000..3d88d89
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_filetime.h
@@ -0,0 +1,41 @@
+#ifndef HEADER_CURL_TOOL_FILETIME_H
+#define HEADER_CURL_TOOL_FILETIME_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+struct GlobalConfig;
+
+curl_off_t getfiletime(const char *filename, struct GlobalConfig *global);
+
+#if defined(HAVE_UTIME) || defined(HAVE_UTIMES) ||      \
+  (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
+void setfiletime(curl_off_t filetime, const char *filename,
+                 struct GlobalConfig *global);
+#else
+#define setfiletime(a,b,c) Curl_nop_stmt
+#endif /* defined(HAVE_UTIME) || defined(HAVE_UTIMES) ||        \
+          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
+
+#endif /* HEADER_CURL_TOOL_FILETIME_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.c b/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.c
new file mode 100755
index 0000000..51a45ff
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.c
@@ -0,0 +1,157 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_PWD_H
+#  undef __NO_NET_API /* required for building for AmigaOS */
+#  include <pwd.h>
+#endif
+
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#include <curl/mprintf.h>
+
+#include "tool_findfile.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+struct finder {
+  const char *env;
+  const char *append;
+  bool withoutdot;
+};
+
+/* The order of the variables below is important, as the index number is used
+   in the findfile() function */
+static const struct finder list[] = {
+  { "CURL_HOME", NULL, FALSE },
+  { "XDG_CONFIG_HOME", NULL, FALSE }, /* index == 1, used in the code */
+  { "HOME", NULL, FALSE },
+#ifdef WIN32
+  { "USERPROFILE", NULL, FALSE },
+  { "APPDATA", NULL, FALSE },
+  { "USERPROFILE", "\\Application Data", FALSE},
+#endif
+  /* these are for .curlrc if XDG_CONFIG_HOME is not defined */
+  { "CURL_HOME", "/.config", TRUE },
+  { "HOME", "/.config", TRUE },
+
+  { NULL, NULL, FALSE }
+};
+
+static char *checkhome(const char *home, const char *fname, bool dotscore)
+{
+  const char pref[2] = { '.', '_' };
+  int i;
+  for(i = 0; i < (dotscore ? 2 : 1); i++) {
+    char *c;
+    if(dotscore)
+      c = curl_maprintf("%s" DIR_CHAR "%c%s", home, pref[i], &fname[1]);
+    else
+      c = curl_maprintf("%s" DIR_CHAR "%s", home, fname);
+    if(c) {
+      int fd = open(c, O_RDONLY);
+      if(fd >= 0) {
+        char *path = strdup(c);
+        close(fd);
+        curl_free(c);
+        return path;
+      }
+      curl_free(c);
+    }
+  }
+  return NULL;
+}
+
+/*
+ * findfile() - return the full path name of the file.
+ *
+ * If 'dotscore' is TRUE, then check for the file first with a leading dot
+ * and then with a leading underscore.
+ *
+ * 1. Iterate over the environment variables in order, and if set, check for
+ *    the given file to be accessed there, then it is a match.
+ * 2. Non-windows: try getpwuid
+ */
+char *findfile(const char *fname, int dotscore)
+{
+  int i;
+  bool xdg = FALSE;
+  DEBUGASSERT(fname && fname[0]);
+  DEBUGASSERT((dotscore != 1) || (fname[0] == '.'));
+
+  if(!fname[0])
+    return NULL;
+
+  for(i = 0; list[i].env; i++) {
+    char *home = curl_getenv(list[i].env);
+    if(home) {
+      char *path;
+      const char *filename = fname;
+      if(i == 1 /* XDG_CONFIG_HOME */)
+        xdg = TRUE;
+      if(!home[0]) {
+        curl_free(home);
+        continue;
+      }
+      if(list[i].append) {
+        char *c = curl_maprintf("%s%s", home, list[i].append);
+        curl_free(home);
+        if(!c)
+          return NULL;
+        home = c;
+      }
+      if(list[i].withoutdot) {
+        if(!dotscore || xdg) {
+          /* this is not looking for .curlrc, or the XDG_CONFIG_HOME was
+             defined so we skip the extended check */
+          curl_free(home);
+          continue;
+        }
+        filename++; /* move past the leading dot */
+        dotscore = 0; /* disable it for this check */
+      }
+      path = checkhome(home, filename, dotscore ? dotscore - 1 : 0);
+      curl_free(home);
+      if(path)
+        return path;
+    }
+  }
+#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID)
+  {
+    struct passwd *pw = getpwuid(geteuid());
+    if(pw) {
+      char *home = pw->pw_dir;
+      if(home && home[0])
+        return checkhome(home, fname, FALSE);
+    }
+  }
+#endif /* PWD-stuff */
+  return NULL;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.h b/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.h
new file mode 100755
index 0000000..5bae579
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_findfile.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_TOOL_HOMEDIR_H
+#define HEADER_CURL_TOOL_HOMEDIR_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef WIN32
+#define CURLRC_DOTSCORE 2 /* look for underscore-prefixed name too */
+#else
+#define CURLRC_DOTSCORE 1 /* regular .curlrc check */
+#endif
+
+char *findfile(const char *fname, int dotscore);
+
+#endif /* HEADER_CURL_TOOL_HOMEDIR_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.c b/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.c
new file mode 100755
index 0000000..d4fc651
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.c
@@ -0,0 +1,907 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+#include "tool_binmode.h"
+#include "tool_getparam.h"
+#include "tool_paramhlp.h"
+#include "tool_formparse.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* tool_mime functions. */
+static struct tool_mime *tool_mime_new(struct tool_mime *parent,
+                                       toolmimekind kind)
+{
+  struct tool_mime *m = (struct tool_mime *) calloc(1, sizeof(*m));
+
+  if(m) {
+    m->kind = kind;
+    m->parent = parent;
+    if(parent) {
+      m->prev = parent->subparts;
+      parent->subparts = m;
+    }
+  }
+  return m;
+}
+
+static struct tool_mime *tool_mime_new_parts(struct tool_mime *parent)
+{
+  return tool_mime_new(parent, TOOLMIME_PARTS);
+}
+
+static struct tool_mime *tool_mime_new_data(struct tool_mime *parent,
+                                            char *data)
+{
+  struct tool_mime *m = NULL;
+
+  data = strdup(data);
+  if(data) {
+    m = tool_mime_new(parent, TOOLMIME_DATA);
+    if(!m)
+      free(data);
+    else
+      m->data = data;
+  }
+  return m;
+}
+
+static struct tool_mime *tool_mime_new_filedata(struct tool_mime *parent,
+                                                const char *filename,
+                                                bool isremotefile,
+                                                CURLcode *errcode)
+{
+  CURLcode result = CURLE_OK;
+  struct tool_mime *m = NULL;
+
+  *errcode = CURLE_OUT_OF_MEMORY;
+  if(strcmp(filename, "-")) {
+    /* This is a normal file. */
+    char *filedup = strdup(filename);
+    if(filedup) {
+      m = tool_mime_new(parent, TOOLMIME_FILE);
+      if(!m)
+        free(filedup);
+      else {
+        m->data = filedup;
+        if(!isremotefile)
+          m->kind = TOOLMIME_FILEDATA;
+       *errcode = CURLE_OK;
+      }
+    }
+  }
+  else {        /* Standard input. */
+    int fd = fileno(stdin);
+    char *data = NULL;
+    curl_off_t size;
+    curl_off_t origin;
+    struct_stat sbuf;
+
+    set_binmode(stdin);
+    origin = ftell(stdin);
+    /* If stdin is a regular file, do not buffer data but read it
+       when needed. */
+    if(fd >= 0 && origin >= 0 && !fstat(fd, &sbuf) &&
+#ifdef __VMS
+       sbuf.st_fab_rfm != FAB$C_VAR && sbuf.st_fab_rfm != FAB$C_VFC &&
+#endif
+       S_ISREG(sbuf.st_mode)) {
+      size = sbuf.st_size - origin;
+      if(size < 0)
+        size = 0;
+    }
+    else {  /* Not suitable for direct use, buffer stdin data. */
+      size_t stdinsize = 0;
+
+      switch(file2memory(&data, &stdinsize, stdin)) {
+      case PARAM_NO_MEM:
+        return m;
+      case PARAM_READ_ERROR:
+        result = CURLE_READ_ERROR;
+        break;
+      default:
+        if(!stdinsize) {
+          /* Zero-length data has been freed. Re-create it. */
+          data = strdup("");
+          if(!data)
+            return m;
+        }
+        break;
+      }
+      size = curlx_uztoso(stdinsize);
+      origin = 0;
+    }
+    m = tool_mime_new(parent, TOOLMIME_STDIN);
+    if(!m)
+      Curl_safefree(data);
+    else {
+      m->data = data;
+      m->origin = origin;
+      m->size = size;
+      m->curpos = 0;
+      if(!isremotefile)
+        m->kind = TOOLMIME_STDINDATA;
+      *errcode = result;
+    }
+  }
+  return m;
+}
+
+void tool_mime_free(struct tool_mime *mime)
+{
+  if(mime) {
+    if(mime->subparts)
+      tool_mime_free(mime->subparts);
+    if(mime->prev)
+      tool_mime_free(mime->prev);
+    Curl_safefree(mime->name);
+    Curl_safefree(mime->filename);
+    Curl_safefree(mime->type);
+    Curl_safefree(mime->encoder);
+    Curl_safefree(mime->data);
+    curl_slist_free_all(mime->headers);
+    free(mime);
+  }
+}
+
+
+/* Mime part callbacks for stdin. */
+size_t tool_mime_stdin_read(char *buffer,
+                            size_t size, size_t nitems, void *arg)
+{
+  struct tool_mime *sip = (struct tool_mime *) arg;
+  curl_off_t bytesleft;
+  (void) size;  /* Always 1: ignored. */
+
+  if(sip->size >= 0) {
+    if(sip->curpos >= sip->size)
+      return 0;  /* At eof. */
+    bytesleft = sip->size - sip->curpos;
+    if(curlx_uztoso(nitems) > bytesleft)
+      nitems = curlx_sotouz(bytesleft);
+  }
+  if(nitems) {
+    if(sip->data) {
+      /* Return data from memory. */
+      memcpy(buffer, sip->data + curlx_sotouz(sip->curpos), nitems);
+    }
+    else {
+      /* Read from stdin. */
+      nitems = fread(buffer, 1, nitems, stdin);
+      if(ferror(stdin)) {
+        /* Show error only once. */
+        if(sip->config) {
+          warnf(sip->config, "stdin: %s\n", strerror(errno));
+          sip->config = NULL;
+        }
+        return CURL_READFUNC_ABORT;
+      }
+    }
+    sip->curpos += curlx_uztoso(nitems);
+  }
+  return nitems;
+}
+
+int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence)
+{
+  struct tool_mime *sip = (struct tool_mime *) instream;
+
+  switch(whence) {
+  case SEEK_CUR:
+    offset += sip->curpos;
+    break;
+  case SEEK_END:
+    offset += sip->size;
+    break;
+  }
+  if(offset < 0)
+    return CURL_SEEKFUNC_CANTSEEK;
+  if(!sip->data) {
+    if(fseek(stdin, (long) (offset + sip->origin), SEEK_SET))
+      return CURL_SEEKFUNC_CANTSEEK;
+  }
+  sip->curpos = offset;
+  return CURL_SEEKFUNC_OK;
+}
+
+/* Translate an internal mime tree into a libcurl mime tree. */
+
+static CURLcode tool2curlparts(CURL *curl, struct tool_mime *m,
+                               curl_mime *mime)
+{
+  CURLcode ret = CURLE_OK;
+  curl_mimepart *part = NULL;
+  curl_mime *submime = NULL;
+  const char *filename = NULL;
+
+  if(m) {
+    ret = tool2curlparts(curl, m->prev, mime);
+    if(!ret) {
+      part = curl_mime_addpart(mime);
+      if(!part)
+        ret = CURLE_OUT_OF_MEMORY;
+    }
+    if(!ret) {
+      filename = m->filename;
+      switch(m->kind) {
+      case TOOLMIME_PARTS:
+        ret = tool2curlmime(curl, m, &submime);
+        if(!ret) {
+          ret = curl_mime_subparts(part, submime);
+          if(ret)
+            curl_mime_free(submime);
+        }
+        break;
+
+      case TOOLMIME_DATA:
+        ret = curl_mime_data(part, m->data, CURL_ZERO_TERMINATED);
+        break;
+
+      case TOOLMIME_FILE:
+      case TOOLMIME_FILEDATA:
+        ret = curl_mime_filedata(part, m->data);
+        if(!ret && m->kind == TOOLMIME_FILEDATA && !filename)
+          ret = curl_mime_filename(part, NULL);
+        break;
+
+      case TOOLMIME_STDIN:
+        if(!filename)
+          filename = "-";
+        /* FALLTHROUGH */
+      case TOOLMIME_STDINDATA:
+        ret = curl_mime_data_cb(part, m->size,
+                                (curl_read_callback) tool_mime_stdin_read,
+                                (curl_seek_callback) tool_mime_stdin_seek,
+                                NULL, m);
+        break;
+
+      default:
+        /* Other cases not possible in this context. */
+        break;
+      }
+    }
+    if(!ret && filename)
+      ret = curl_mime_filename(part, filename);
+    if(!ret)
+      ret = curl_mime_type(part, m->type);
+    if(!ret)
+      ret = curl_mime_headers(part, m->headers, 0);
+    if(!ret)
+      ret = curl_mime_encoder(part, m->encoder);
+    if(!ret)
+      ret = curl_mime_name(part, m->name);
+  }
+  return ret;
+}
+
+CURLcode tool2curlmime(CURL *curl, struct tool_mime *m, curl_mime **mime)
+{
+  CURLcode ret = CURLE_OK;
+
+  *mime = curl_mime_init(curl);
+  if(!*mime)
+    ret = CURLE_OUT_OF_MEMORY;
+  else
+    ret = tool2curlparts(curl, m->subparts, *mime);
+  if(ret) {
+    curl_mime_free(*mime);
+    *mime = NULL;
+  }
+  return ret;
+}
+
+/*
+ * helper function to get a word from form param
+ * after call get_parm_word, str either point to string end
+ * or point to any of end chars.
+ */
+static char *get_param_word(struct OperationConfig *config, char **str,
+                            char **end_pos, char endchar)
+{
+  char *ptr = *str;
+  /* the first non-space char is here */
+  char *word_begin = ptr;
+  char *ptr2;
+  char *escape = NULL;
+
+  if(*ptr == '"') {
+    ++ptr;
+    while(*ptr) {
+      if(*ptr == '\\') {
+        if(ptr[1] == '\\' || ptr[1] == '"') {
+          /* remember the first escape position */
+          if(!escape)
+            escape = ptr;
+          /* skip escape of back-slash or double-quote */
+          ptr += 2;
+          continue;
+        }
+      }
+      if(*ptr == '"') {
+        bool trailing_data = FALSE;
+        *end_pos = ptr;
+        if(escape) {
+          /* has escape, we restore the unescaped string here */
+          ptr = ptr2 = escape;
+          do {
+            if(*ptr == '\\' && (ptr[1] == '\\' || ptr[1] == '"'))
+              ++ptr;
+            *ptr2++ = *ptr++;
+          }
+          while(ptr < *end_pos);
+          *end_pos = ptr2;
+        }
+        ++ptr;
+        while(*ptr && *ptr != ';' && *ptr != endchar) {
+          if(!ISSPACE(*ptr))
+            trailing_data = TRUE;
+          ++ptr;
+        }
+        if(trailing_data)
+          warnf(config->global, "Trailing data after quoted form parameter\n");
+        *str = ptr;
+        return word_begin + 1;
+      }
+      ++ptr;
+    }
+    /* end quote is missing, treat it as non-quoted. */
+    ptr = word_begin;
+  }
+
+  while(*ptr && *ptr != ';' && *ptr != endchar)
+    ++ptr;
+  *str = *end_pos = ptr;
+  return word_begin;
+}
+
+/* Append slist item and return -1 if failed. */
+static int slist_append(struct curl_slist **plist, const char *data)
+{
+  struct curl_slist *s = curl_slist_append(*plist, data);
+
+  if(!s)
+    return -1;
+
+  *plist = s;
+  return 0;
+}
+
+/* Read headers from a file and append to list. */
+static int read_field_headers(struct OperationConfig *config,
+                              const char *filename, FILE *fp,
+                              struct curl_slist **pheaders)
+{
+  size_t hdrlen = 0;
+  size_t pos = 0;
+  bool incomment = FALSE;
+  int lineno = 1;
+  char hdrbuf[999] = ""; /* Max. header length + 1. */
+
+  for(;;) {
+    int c = getc(fp);
+    if(c == EOF || (!pos && !ISSPACE(c))) {
+      /* Strip and flush the current header. */
+      while(hdrlen && ISSPACE(hdrbuf[hdrlen - 1]))
+        hdrlen--;
+      if(hdrlen) {
+        hdrbuf[hdrlen] = '\0';
+        if(slist_append(pheaders, hdrbuf)) {
+          fprintf(config->global->errors,
+                  "Out of memory for field headers!\n");
+          return -1;
+        }
+        hdrlen = 0;
+      }
+    }
+
+    switch(c) {
+    case EOF:
+      if(ferror(fp)) {
+        fprintf(config->global->errors,
+                "Header file %s read error: %s\n", filename, strerror(errno));
+        return -1;
+      }
+      return 0;    /* Done. */
+    case '\r':
+      continue;    /* Ignore. */
+    case '\n':
+      pos = 0;
+      incomment = FALSE;
+      lineno++;
+      continue;
+    case '#':
+      if(!pos)
+        incomment = TRUE;
+      break;
+    }
+
+    pos++;
+    if(!incomment) {
+      if(hdrlen == sizeof(hdrbuf) - 1) {
+        warnf(config->global, "File %s line %d: header too long (truncated)\n",
+              filename, lineno);
+        c = ' ';
+      }
+      if(hdrlen <= sizeof(hdrbuf) - 1)
+        hdrbuf[hdrlen++] = (char) c;
+    }
+  }
+  /* NOTREACHED */
+}
+
+static int get_param_part(struct OperationConfig *config, char endchar,
+                          char **str, char **pdata, char **ptype,
+                          char **pfilename, char **pencoder,
+                          struct curl_slist **pheaders)
+{
+  char *p = *str;
+  char *type = NULL;
+  char *filename = NULL;
+  char *encoder = NULL;
+  char *endpos;
+  char *tp;
+  char sep;
+  char type_major[128] = "";
+  char type_minor[128] = "";
+  char *endct = NULL;
+  struct curl_slist *headers = NULL;
+
+  if(ptype)
+    *ptype = NULL;
+  if(pfilename)
+    *pfilename = NULL;
+  if(pheaders)
+    *pheaders = NULL;
+  if(pencoder)
+    *pencoder = NULL;
+  while(ISSPACE(*p))
+    p++;
+  tp = p;
+  *pdata = get_param_word(config, &p, &endpos, endchar);
+  /* If not quoted, strip trailing spaces. */
+  if(*pdata == tp)
+    while(endpos > *pdata && ISSPACE(endpos[-1]))
+      endpos--;
+  sep = *p;
+  *endpos = '\0';
+  while(sep == ';') {
+    while(p++ && ISSPACE(*p))
+      ;
+
+    if(!endct && checkprefix("type=", p)) {
+      for(p += 5; ISSPACE(*p); p++)
+        ;
+      /* set type pointer */
+      type = p;
+
+      /* verify that this is a fine type specifier */
+      if(2 != sscanf(type, "%127[^/ ]/%127[^;, \n]", type_major, type_minor)) {
+        warnf(config->global, "Illegally formatted content-type field!\n");
+        curl_slist_free_all(headers);
+        return -1; /* illegal content-type syntax! */
+      }
+
+      /* now point beyond the content-type specifier */
+      p = type + strlen(type_major) + strlen(type_minor) + 1;
+      for(endct = p; *p && *p != ';' && *p != endchar; p++)
+        if(!ISSPACE(*p))
+          endct = p + 1;
+      sep = *p;
+    }
+    else if(checkprefix("filename=", p)) {
+      if(endct) {
+        *endct = '\0';
+        endct = NULL;
+      }
+      for(p += 9; ISSPACE(*p); p++)
+        ;
+      tp = p;
+      filename = get_param_word(config, &p, &endpos, endchar);
+      /* If not quoted, strip trailing spaces. */
+      if(filename == tp)
+        while(endpos > filename && ISSPACE(endpos[-1]))
+          endpos--;
+      sep = *p;
+      *endpos = '\0';
+    }
+    else if(checkprefix("headers=", p)) {
+      if(endct) {
+        *endct = '\0';
+        endct = NULL;
+      }
+      p += 8;
+      if(*p == '@' || *p == '<') {
+        char *hdrfile;
+        FILE *fp;
+        /* Read headers from a file. */
+
+        do {
+          p++;
+        } while(ISSPACE(*p));
+        tp = p;
+        hdrfile = get_param_word(config, &p, &endpos, endchar);
+        /* If not quoted, strip trailing spaces. */
+        if(hdrfile == tp)
+          while(endpos > hdrfile && ISSPACE(endpos[-1]))
+            endpos--;
+        sep = *p;
+        *endpos = '\0';
+        fp = fopen(hdrfile, FOPEN_READTEXT);
+        if(!fp)
+          warnf(config->global, "Cannot read from %s: %s\n", hdrfile,
+                strerror(errno));
+        else {
+          int i = read_field_headers(config, hdrfile, fp, &headers);
+
+          fclose(fp);
+          if(i) {
+            curl_slist_free_all(headers);
+            return -1;
+          }
+        }
+      }
+      else {
+        char *hdr;
+
+        while(ISSPACE(*p))
+          p++;
+        tp = p;
+        hdr = get_param_word(config, &p, &endpos, endchar);
+        /* If not quoted, strip trailing spaces. */
+        if(hdr == tp)
+          while(endpos > hdr && ISSPACE(endpos[-1]))
+            endpos--;
+        sep = *p;
+        *endpos = '\0';
+        if(slist_append(&headers, hdr)) {
+          fprintf(config->global->errors, "Out of memory for field header!\n");
+          curl_slist_free_all(headers);
+          return -1;
+        }
+      }
+    }
+    else if(checkprefix("encoder=", p)) {
+      if(endct) {
+        *endct = '\0';
+        endct = NULL;
+      }
+      for(p += 8; ISSPACE(*p); p++)
+        ;
+      tp = p;
+      encoder = get_param_word(config, &p, &endpos, endchar);
+      /* If not quoted, strip trailing spaces. */
+      if(encoder == tp)
+        while(endpos > encoder && ISSPACE(endpos[-1]))
+          endpos--;
+      sep = *p;
+      *endpos = '\0';
+    }
+    else if(endct) {
+      /* This is part of content type. */
+      for(endct = p; *p && *p != ';' && *p != endchar; p++)
+        if(!ISSPACE(*p))
+          endct = p + 1;
+      sep = *p;
+    }
+    else {
+      /* unknown prefix, skip to next block */
+      char *unknown = get_param_word(config, &p, &endpos, endchar);
+
+      sep = *p;
+      *endpos = '\0';
+      if(*unknown)
+        warnf(config->global, "skip unknown form field: %s\n", unknown);
+    }
+  }
+
+  /* Terminate content type. */
+  if(endct)
+    *endct = '\0';
+
+  if(ptype)
+    *ptype = type;
+  else if(type)
+    warnf(config->global, "Field content type not allowed here: %s\n", type);
+
+  if(pfilename)
+    *pfilename = filename;
+  else if(filename)
+    warnf(config->global,
+          "Field file name not allowed here: %s\n", filename);
+
+  if(pencoder)
+    *pencoder = encoder;
+  else if(encoder)
+    warnf(config->global,
+          "Field encoder not allowed here: %s\n", encoder);
+
+  if(pheaders)
+    *pheaders = headers;
+  else if(headers) {
+    warnf(config->global,
+          "Field headers not allowed here: %s\n", headers->data);
+    curl_slist_free_all(headers);
+  }
+
+  *str = p;
+  return sep & 0xFF;
+}
+
+
+/***************************************************************************
+ *
+ * formparse()
+ *
+ * Reads a 'name=value' parameter and builds the appropriate linked list.
+ *
+ * If the value is of the form '<filename', field data is read from the
+ * given file.
+
+ * Specify files to upload with 'name=@filename', or 'name=@"filename"'
+ * in case the filename contain ',' or ';'. Supports specified
+ * given Content-Type of the files. Such as ';type=<content-type>'.
+ *
+ * If literal_value is set, any initial '@' or '<' in the value string
+ * loses its special meaning, as does any embedded ';type='.
+ *
+ * You may specify more than one file for a single name (field). Specify
+ * multiple files by writing it like:
+ *
+ * 'name=@filename,filename2,filename3'
+ *
+ * or use double-quotes quote the filename:
+ *
+ * 'name=@"filename","filename2","filename3"'
+ *
+ * If you want content-types specified for each too, write them like:
+ *
+ * 'name=@filename;type=image/gif,filename2,filename3'
+ *
+ * If you want custom headers added for a single part, write them in a separate
+ * file and do like this:
+ *
+ * 'name=foo;headers=@headerfile' or why not
+ * 'name=@filemame;headers=@headerfile'
+ *
+ * To upload a file, but to fake the file name that will be included in the
+ * formpost, do like this:
+ *
+ * 'name=@filename;filename=/dev/null' or quote the faked filename like:
+ * 'name=@filename;filename="play, play, and play.txt"'
+ *
+ * If filename/path contains ',' or ';', it must be quoted by double-quotes,
+ * else curl will fail to figure out the correct filename. if the filename
+ * tobe quoted contains '"' or '\', '"' and '\' must be escaped by backslash.
+ *
+ ***************************************************************************/
+
+#define SET_TOOL_MIME_PTR(m, field)                                     \
+  do {                                                                  \
+    if(field) {                                                         \
+      (m)->field = strdup(field);                                       \
+      if(!(m)->field)                                                   \
+        goto fail;                                                      \
+    }                                                                   \
+  } while(0)
+
+int formparse(struct OperationConfig *config,
+              const char *input,
+              struct tool_mime **mimeroot,
+              struct tool_mime **mimecurrent,
+              bool literal_value)
+{
+  /* input MUST be a string in the format 'name=contents' and we'll
+     build a linked list with the info */
+  char *name = NULL;
+  char *contents = NULL;
+  char *contp;
+  char *data;
+  char *type = NULL;
+  char *filename = NULL;
+  char *encoder = NULL;
+  struct curl_slist *headers = NULL;
+  struct tool_mime *part = NULL;
+  CURLcode res;
+  int err = 1;
+
+  /* Allocate the main mime structure if needed. */
+  if(!*mimecurrent) {
+    *mimeroot = tool_mime_new_parts(NULL);
+    if(!*mimeroot)
+      goto fail;
+    *mimecurrent = *mimeroot;
+  }
+
+  /* Make a copy we can overwrite. */
+  contents = strdup(input);
+  if(!contents)
+    goto fail;
+
+  /* Scan for the end of the name. */
+  contp = strchr(contents, '=');
+  if(contp) {
+    int sep = '\0';
+    if(contp > contents)
+      name = contents;
+    *contp++ = '\0';
+
+    if(*contp == '(' && !literal_value) {
+      /* Starting a multipart. */
+      sep = get_param_part(config, '\0',
+                           &contp, &data, &type, NULL, NULL, &headers);
+      if(sep < 0)
+        goto fail;
+      part = tool_mime_new_parts(*mimecurrent);
+      if(!part)
+        goto fail;
+      *mimecurrent = part;
+      part->headers = headers;
+      headers = NULL;
+      SET_TOOL_MIME_PTR(part, type);
+    }
+    else if(!name && !strcmp(contp, ")") && !literal_value) {
+      /* Ending a multipart. */
+      if(*mimecurrent == *mimeroot) {
+        warnf(config->global, "no multipart to terminate!\n");
+        goto fail;
+      }
+      *mimecurrent = (*mimecurrent)->parent;
+    }
+    else if('@' == contp[0] && !literal_value) {
+
+      /* we use the @-letter to indicate file name(s) */
+
+      struct tool_mime *subparts = NULL;
+
+      do {
+        /* since this was a file, it may have a content-type specifier
+           at the end too, or a filename. Or both. */
+        ++contp;
+        sep = get_param_part(config, ',', &contp,
+                             &data, &type, &filename, &encoder, &headers);
+        if(sep < 0) {
+          goto fail;
+        }
+
+        /* now contp point to comma or string end.
+           If more files to come, make sure we have multiparts. */
+        if(!subparts) {
+          if(sep != ',')    /* If there is a single file. */
+            subparts = *mimecurrent;
+          else {
+            subparts = tool_mime_new_parts(*mimecurrent);
+            if(!subparts)
+              goto fail;
+          }
+        }
+
+        /* Store that file in a part. */
+        part = tool_mime_new_filedata(subparts, data, TRUE, &res);
+        if(!part)
+          goto fail;
+        part->headers = headers;
+        headers = NULL;
+        part->config = config->global;
+        if(res == CURLE_READ_ERROR) {
+            /* An error occurred while reading stdin: if read has started,
+               issue the error now. Else, delay it until processed by
+               libcurl. */
+          if(part->size > 0) {
+            warnf(config->global,
+                  "error while reading standard input\n");
+            goto fail;
+          }
+          Curl_safefree(part->data);
+          part->data = NULL;
+          part->size = -1;
+          res = CURLE_OK;
+        }
+        SET_TOOL_MIME_PTR(part, filename);
+        SET_TOOL_MIME_PTR(part, type);
+        SET_TOOL_MIME_PTR(part, encoder);
+
+        /* *contp could be '\0', so we just check with the delimiter */
+      } while(sep); /* loop if there's another file name */
+      part = (*mimecurrent)->subparts;  /* Set name on group. */
+    }
+    else {
+      if(*contp == '<' && !literal_value) {
+        ++contp;
+        sep = get_param_part(config, '\0', &contp,
+                             &data, &type, NULL, &encoder, &headers);
+        if(sep < 0)
+          goto fail;
+
+        part = tool_mime_new_filedata(*mimecurrent, data, FALSE,
+                                      &res);
+        if(!part)
+          goto fail;
+        part->headers = headers;
+        headers = NULL;
+        part->config = config->global;
+        if(res == CURLE_READ_ERROR) {
+            /* An error occurred while reading stdin: if read has started,
+               issue the error now. Else, delay it until processed by
+               libcurl. */
+          if(part->size > 0) {
+            warnf(config->global,
+                  "error while reading standard input\n");
+            goto fail;
+          }
+          Curl_safefree(part->data);
+          part->data = NULL;
+          part->size = -1;
+          res = CURLE_OK;
+        }
+      }
+      else {
+        if(literal_value)
+          data = contp;
+        else {
+          sep = get_param_part(config, '\0', &contp,
+                               &data, &type, &filename, &encoder, &headers);
+          if(sep < 0)
+            goto fail;
+        }
+
+        part = tool_mime_new_data(*mimecurrent, data);
+        if(!part)
+          goto fail;
+        part->headers = headers;
+        headers = NULL;
+      }
+
+      SET_TOOL_MIME_PTR(part, filename);
+      SET_TOOL_MIME_PTR(part, type);
+      SET_TOOL_MIME_PTR(part, encoder);
+
+      if(sep) {
+        *contp = (char) sep;
+        warnf(config->global,
+              "garbage at end of field specification: %s\n", contp);
+      }
+    }
+
+    /* Set part name. */
+    SET_TOOL_MIME_PTR(part, name);
+  }
+  else {
+    warnf(config->global, "Illegally formatted input field!\n");
+    goto fail;
+  }
+  err = 0;
+  fail:
+  Curl_safefree(contents);
+  curl_slist_free_all(headers);
+  return err;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.h b/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.h
new file mode 100755
index 0000000..8c0461c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_formparse.h
@@ -0,0 +1,73 @@
+#ifndef HEADER_CURL_TOOL_FORMPARSE_H
+#define HEADER_CURL_TOOL_FORMPARSE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/* Private structure for mime/parts. */
+
+typedef enum {
+  TOOLMIME_NONE = 0,
+  TOOLMIME_PARTS,
+  TOOLMIME_DATA,
+  TOOLMIME_FILE,
+  TOOLMIME_FILEDATA,
+  TOOLMIME_STDIN,
+  TOOLMIME_STDINDATA
+} toolmimekind;
+
+struct tool_mime {
+  /* Structural fields. */
+  toolmimekind kind;            /* Part kind. */
+  struct tool_mime *parent;     /* Parent item. */
+  struct tool_mime *prev;       /* Previous sibling (reverse order link). */
+  /* Common fields. */
+  char *data;                   /* Actual data or data filename. */
+  char *name;                   /* Part name. */
+  char *filename;               /* Part's filename. */
+  char *type;                   /* Part's mime type. */
+  char *encoder;                /* Part's requested encoding. */
+  struct curl_slist *headers;   /* User-defined headers. */
+  /* TOOLMIME_PARTS fields. */
+  struct tool_mime *subparts;   /* Part's subparts. */
+  /* TOOLMIME_STDIN/TOOLMIME_STDINDATA fields. */
+  curl_off_t origin;            /* Stdin read origin offset. */
+  curl_off_t size;              /* Stdin data size. */
+  curl_off_t curpos;            /* Stdin current read position. */
+  struct GlobalConfig *config;  /* For access from callback. */
+};
+
+size_t tool_mime_stdin_read(char *buffer,
+                            size_t size, size_t nitems, void *arg);
+int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence);
+
+int formparse(struct OperationConfig *config,
+              const char *input,
+              struct tool_mime **mimeroot,
+              struct tool_mime **mimecurrent,
+              bool literal_value);
+CURLcode tool2curlmime(CURL *curl, struct tool_mime *m, curl_mime **mime);
+void tool_mime_free(struct tool_mime *mime);
+
+#endif /* HEADER_CURL_TOOL_FORMPARSE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.c b/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.c
new file mode 100755
index 0000000..af4b3a6
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.c
@@ -0,0 +1,2552 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_binmode.h"
+#include "tool_cfgable.h"
+#include "tool_cb_prg.h"
+#include "tool_filetime.h"
+#include "tool_formparse.h"
+#include "tool_getparam.h"
+#include "tool_helpers.h"
+#include "tool_libinfo.h"
+#include "tool_msgs.h"
+#include "tool_paramhlp.h"
+#include "tool_parsecfg.h"
+#include "tool_main.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef MSDOS
+#  define USE_WATT32
+#endif
+
+#define GetStr(str,val) do { \
+  if(*(str)) { \
+    free(*(str)); \
+    *(str) = NULL; \
+  } \
+  if((val)) {              \
+    *(str) = strdup((val)); \
+    if(!(*(str)))          \
+      return PARAM_NO_MEM; \
+  } \
+} while(0)
+
+struct LongShort {
+  const char *letter; /* short name option */
+  const char *lname;  /* long name option */
+  enum {
+    ARG_NONE,   /* stand-alone but not a boolean */
+    ARG_BOOL,   /* accepts a --no-[name] prefix */
+    ARG_STRING, /* requires an argument */
+    ARG_FILENAME /* requires an argument, usually a file name */
+  } desc;
+};
+
+static const struct LongShort aliases[]= {
+  /* 'letter' strings with more than one character have *no* short option to
+     mention. */
+  {"*@", "url",                      ARG_STRING},
+  {"*4", "dns-ipv4-addr",            ARG_STRING},
+  {"*6", "dns-ipv6-addr",            ARG_STRING},
+  {"*a", "random-file",              ARG_FILENAME},
+  {"*b", "egd-file",                 ARG_STRING},
+  {"*B", "oauth2-bearer",            ARG_STRING},
+  {"*c", "connect-timeout",          ARG_STRING},
+  {"*C", "doh-url"        ,          ARG_STRING},
+  {"*d", "ciphers",                  ARG_STRING},
+  {"*D", "dns-interface",            ARG_STRING},
+  {"*e", "disable-epsv",             ARG_BOOL},
+  {"*f", "disallow-username-in-url", ARG_BOOL},
+  {"*E", "epsv",                     ARG_BOOL},
+         /* 'epsv' made like this to make --no-epsv and --epsv to work
+             although --disable-epsv is the documented option */
+  {"*F", "dns-servers",              ARG_STRING},
+  {"*g", "trace",                    ARG_FILENAME},
+  {"*G", "npn",                      ARG_BOOL},
+  {"*h", "trace-ascii",              ARG_FILENAME},
+  {"*H", "alpn",                     ARG_BOOL},
+  {"*i", "limit-rate",               ARG_STRING},
+  {"*I", "rate",                     ARG_STRING},
+  {"*j", "compressed",               ARG_BOOL},
+  {"*J", "tr-encoding",              ARG_BOOL},
+  {"*k", "digest",                   ARG_BOOL},
+  {"*l", "negotiate",                ARG_BOOL},
+  {"*m", "ntlm",                     ARG_BOOL},
+  {"*M", "ntlm-wb",                  ARG_BOOL},
+  {"*n", "basic",                    ARG_BOOL},
+  {"*o", "anyauth",                  ARG_BOOL},
+#ifdef USE_WATT32
+  {"*p", "wdebug",                   ARG_BOOL},
+#endif
+  {"*q", "ftp-create-dirs",          ARG_BOOL},
+  {"*r", "create-dirs",              ARG_BOOL},
+  {"*R", "create-file-mode",         ARG_STRING},
+  {"*s", "max-redirs",               ARG_STRING},
+  {"*t", "proxy-ntlm",               ARG_BOOL},
+  {"*u", "crlf",                     ARG_BOOL},
+  {"*v", "stderr",                   ARG_FILENAME},
+  {"*V", "aws-sigv4",                ARG_STRING},
+  {"*w", "interface",                ARG_STRING},
+  {"*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},
+         /* 'eprt' made like this to make --no-eprt and --eprt to work
+             although --disable-eprt is the documented option */
+  {"*~", "xattr",                    ARG_BOOL},
+  {"$a", "ftp-ssl",                  ARG_BOOL},
+         /* 'ftp-ssl' deprecated name since 7.20.0 */
+  {"$a", "ssl",                      ARG_BOOL},
+         /* 'ssl' new option name in 7.20.0, previously this was ftp-ssl */
+  {"$b", "ftp-pasv",                 ARG_BOOL},
+  {"$c", "socks5",                   ARG_STRING},
+  {"$d", "tcp-nodelay",              ARG_BOOL},
+  {"$e", "proxy-digest",             ARG_BOOL},
+  {"$f", "proxy-basic",              ARG_BOOL},
+  {"$g", "retry",                    ARG_STRING},
+  {"$V", "retry-connrefused",        ARG_BOOL},
+  {"$h", "retry-delay",              ARG_STRING},
+  {"$i", "retry-max-time",           ARG_STRING},
+  {"$k", "proxy-negotiate",          ARG_BOOL},
+  {"$l", "form-escape",              ARG_BOOL},
+  {"$m", "ftp-account",              ARG_STRING},
+  {"$n", "proxy-anyauth",            ARG_BOOL},
+  {"$o", "trace-time",               ARG_BOOL},
+  {"$p", "ignore-content-length",    ARG_BOOL},
+  {"$q", "ftp-skip-pasv-ip",         ARG_BOOL},
+  {"$r", "ftp-method",               ARG_STRING},
+  {"$s", "local-port",               ARG_STRING},
+  {"$t", "socks4",                   ARG_STRING},
+  {"$T", "socks4a",                  ARG_STRING},
+  {"$u", "ftp-alternative-to-user",  ARG_STRING},
+  {"$v", "ftp-ssl-reqd",             ARG_BOOL},
+         /* 'ftp-ssl-reqd' deprecated name since 7.20.0 */
+  {"$v", "ssl-reqd",                 ARG_BOOL},
+         /* 'ssl-reqd' new in 7.20.0, previously this was ftp-ssl-reqd */
+  {"$w", "sessionid",                ARG_BOOL},
+         /* 'sessionid' listed as --no-sessionid in the help */
+  {"$x", "ftp-ssl-control",          ARG_BOOL},
+  {"$y", "ftp-ssl-ccc",              ARG_BOOL},
+  {"$j", "ftp-ssl-ccc-mode",         ARG_STRING},
+  {"$z", "libcurl",                  ARG_STRING},
+  {"$#", "raw",                      ARG_BOOL},
+  {"$0", "post301",                  ARG_BOOL},
+  {"$1", "keepalive",                ARG_BOOL},
+         /* 'keepalive' listed as --no-keepalive in the help */
+  {"$2", "socks5-hostname",          ARG_STRING},
+  {"$3", "keepalive-time",           ARG_STRING},
+  {"$4", "post302",                  ARG_BOOL},
+  {"$5", "noproxy",                  ARG_STRING},
+  {"$7", "socks5-gssapi-nec",        ARG_BOOL},
+  {"$8", "proxy1.0",                 ARG_STRING},
+  {"$9", "tftp-blksize",             ARG_STRING},
+  {"$A", "mail-from",                ARG_STRING},
+  {"$B", "mail-rcpt",                ARG_STRING},
+  {"$C", "ftp-pret",                 ARG_BOOL},
+  {"$D", "proto",                    ARG_STRING},
+  {"$E", "proto-redir",              ARG_STRING},
+  {"$F", "resolve",                  ARG_STRING},
+  {"$G", "delegation",               ARG_STRING},
+  {"$H", "mail-auth",                ARG_STRING},
+  {"$I", "post303",                  ARG_BOOL},
+  {"$J", "metalink",                 ARG_BOOL},
+  {"$6", "sasl-authzid",             ARG_STRING},
+  {"$K", "sasl-ir",                  ARG_BOOL },
+  {"$L", "test-event",               ARG_BOOL},
+  {"$M", "unix-socket",              ARG_FILENAME},
+  {"$N", "path-as-is",               ARG_BOOL},
+  {"$O", "socks5-gssapi-service",    ARG_STRING},
+         /* 'socks5-gssapi-service' merged with'proxy-service-name' and
+            deprecated since 7.49.0 */
+  {"$O", "proxy-service-name",       ARG_STRING},
+  {"$P", "service-name",             ARG_STRING},
+  {"$Q", "proto-default",            ARG_STRING},
+  {"$R", "expect100-timeout",        ARG_STRING},
+  {"$S", "tftp-no-options",          ARG_BOOL},
+  {"$U", "connect-to",               ARG_STRING},
+  {"$W", "abstract-unix-socket",     ARG_FILENAME},
+  {"$X", "tls-max",                  ARG_STRING},
+  {"$Y", "suppress-connect-headers", ARG_BOOL},
+  {"$Z", "compressed-ssh",           ARG_BOOL},
+  {"$~", "happy-eyeballs-timeout-ms", ARG_STRING},
+  {"$!", "retry-all-errors",         ARG_BOOL},
+  {"0",   "http1.0",                 ARG_NONE},
+  {"01",  "http1.1",                 ARG_NONE},
+  {"02",  "http2",                   ARG_NONE},
+  {"03",  "http2-prior-knowledge",   ARG_NONE},
+  {"04",  "http3",                   ARG_NONE},
+  {"09",  "http0.9",                 ARG_BOOL},
+  {"1",  "tlsv1",                    ARG_NONE},
+  {"10",  "tlsv1.0",                 ARG_NONE},
+  {"11",  "tlsv1.1",                 ARG_NONE},
+  {"12",  "tlsv1.2",                 ARG_NONE},
+  {"13",  "tlsv1.3",                 ARG_NONE},
+  {"1A", "tls13-ciphers",            ARG_STRING},
+  {"1B", "proxy-tls13-ciphers",      ARG_STRING},
+  {"2",  "sslv2",                    ARG_NONE},
+  {"3",  "sslv3",                    ARG_NONE},
+  {"4",  "ipv4",                     ARG_NONE},
+  {"6",  "ipv6",                     ARG_NONE},
+  {"a",  "append",                   ARG_BOOL},
+  {"A",  "user-agent",               ARG_STRING},
+  {"b",  "cookie",                   ARG_STRING},
+  {"ba", "alt-svc",                  ARG_STRING},
+  {"bb", "hsts",                     ARG_STRING},
+  {"B",  "use-ascii",                ARG_BOOL},
+  {"c",  "cookie-jar",               ARG_STRING},
+  {"C",  "continue-at",              ARG_STRING},
+  {"d",  "data",                     ARG_STRING},
+  {"dr", "data-raw",                 ARG_STRING},
+  {"da", "data-ascii",               ARG_STRING},
+  {"db", "data-binary",              ARG_STRING},
+  {"de", "data-urlencode",           ARG_STRING},
+  {"df", "json",                     ARG_STRING},
+  {"D",  "dump-header",              ARG_FILENAME},
+  {"e",  "referer",                  ARG_STRING},
+  {"E",  "cert",                     ARG_FILENAME},
+  {"Ea", "cacert",                   ARG_FILENAME},
+  {"Eb", "cert-type",                ARG_STRING},
+  {"Ec", "key",                      ARG_FILENAME},
+  {"Ed", "key-type",                 ARG_STRING},
+  {"Ee", "pass",                     ARG_STRING},
+  {"Ef", "engine",                   ARG_STRING},
+  {"Eg", "capath",                   ARG_FILENAME},
+  {"Eh", "pubkey",                   ARG_STRING},
+  {"Ei", "hostpubmd5",               ARG_STRING},
+  {"EF", "hostpubsha256",            ARG_STRING},
+  {"Ej", "crlfile",                  ARG_FILENAME},
+  {"Ek", "tlsuser",                  ARG_STRING},
+  {"El", "tlspassword",              ARG_STRING},
+  {"Em", "tlsauthtype",              ARG_STRING},
+  {"En", "ssl-allow-beast",          ARG_BOOL},
+  {"Eo", "ssl-auto-client-cert",     ARG_BOOL},
+  {"EO", "proxy-ssl-auto-client-cert", ARG_BOOL},
+  {"Ep", "pinnedpubkey",             ARG_STRING},
+  {"EP", "proxy-pinnedpubkey",       ARG_STRING},
+  {"Eq", "cert-status",              ARG_BOOL},
+  {"EQ", "doh-cert-status",          ARG_BOOL},
+  {"Er", "false-start",              ARG_BOOL},
+  {"Es", "ssl-no-revoke",            ARG_BOOL},
+  {"ES", "ssl-revoke-best-effort",   ARG_BOOL},
+  {"Et", "tcp-fastopen",             ARG_BOOL},
+  {"Eu", "proxy-tlsuser",            ARG_STRING},
+  {"Ev", "proxy-tlspassword",        ARG_STRING},
+  {"Ew", "proxy-tlsauthtype",        ARG_STRING},
+  {"Ex", "proxy-cert",               ARG_FILENAME},
+  {"Ey", "proxy-cert-type",          ARG_STRING},
+  {"Ez", "proxy-key",                ARG_FILENAME},
+  {"E0", "proxy-key-type",           ARG_STRING},
+  {"E1", "proxy-pass",               ARG_STRING},
+  {"E2", "proxy-ciphers",            ARG_STRING},
+  {"E3", "proxy-crlfile",            ARG_FILENAME},
+  {"E4", "proxy-ssl-allow-beast",    ARG_BOOL},
+  {"E5", "login-options",            ARG_STRING},
+  {"E6", "proxy-cacert",             ARG_FILENAME},
+  {"E7", "proxy-capath",             ARG_FILENAME},
+  {"E8", "proxy-insecure",           ARG_BOOL},
+  {"E9", "proxy-tlsv1",              ARG_NONE},
+  {"EA", "socks5-basic",             ARG_BOOL},
+  {"EB", "socks5-gssapi",            ARG_BOOL},
+  {"EC", "etag-save",                ARG_FILENAME},
+  {"ED", "etag-compare",             ARG_FILENAME},
+  {"EE", "curves",                   ARG_STRING},
+  {"f",  "fail",                     ARG_BOOL},
+  {"fa", "fail-early",               ARG_BOOL},
+  {"fb", "styled-output",            ARG_BOOL},
+  {"fc", "mail-rcpt-allowfails",     ARG_BOOL},
+  {"fd", "fail-with-body",           ARG_BOOL},
+  {"fe", "remove-on-error",          ARG_BOOL},
+  {"F",  "form",                     ARG_STRING},
+  {"Fs", "form-string",              ARG_STRING},
+  {"g",  "globoff",                  ARG_BOOL},
+  {"G",  "get",                      ARG_NONE},
+  {"Ga", "request-target",           ARG_STRING},
+  {"h",  "help",                     ARG_BOOL},
+  {"H",  "header",                   ARG_STRING},
+  {"Hp", "proxy-header",             ARG_STRING},
+  {"i",  "include",                  ARG_BOOL},
+  {"I",  "head",                     ARG_BOOL},
+  {"j",  "junk-session-cookies",     ARG_BOOL},
+  {"J",  "remote-header-name",       ARG_BOOL},
+  {"k",  "insecure",                 ARG_BOOL},
+  {"kd", "doh-insecure",             ARG_BOOL},
+  {"K",  "config",                   ARG_FILENAME},
+  {"l",  "list-only",                ARG_BOOL},
+  {"L",  "location",                 ARG_BOOL},
+  {"Lt", "location-trusted",         ARG_BOOL},
+  {"m",  "max-time",                 ARG_STRING},
+  {"M",  "manual",                   ARG_BOOL},
+  {"n",  "netrc",                    ARG_BOOL},
+  {"no", "netrc-optional",           ARG_BOOL},
+  {"ne", "netrc-file",               ARG_FILENAME},
+  {"N",  "buffer",                   ARG_BOOL},
+         /* 'buffer' listed as --no-buffer in the help */
+  {"o",  "output",                   ARG_FILENAME},
+  {"O",  "remote-name",              ARG_BOOL},
+  {"Oa", "remote-name-all",          ARG_BOOL},
+  {"Ob", "output-dir",               ARG_STRING},
+  {"Oc", "clobber",                  ARG_BOOL},
+  {"p",  "proxytunnel",              ARG_BOOL},
+  {"P",  "ftp-port",                 ARG_STRING},
+  {"q",  "disable",                  ARG_BOOL},
+  {"Q",  "quote",                    ARG_STRING},
+  {"r",  "range",                    ARG_STRING},
+  {"R",  "remote-time",              ARG_BOOL},
+  {"s",  "silent",                   ARG_BOOL},
+  {"S",  "show-error",               ARG_BOOL},
+  {"t",  "telnet-option",            ARG_STRING},
+  {"T",  "upload-file",              ARG_FILENAME},
+  {"u",  "user",                     ARG_STRING},
+  {"U",  "proxy-user",               ARG_STRING},
+  {"v",  "verbose",                  ARG_BOOL},
+  {"V",  "version",                  ARG_BOOL},
+  {"w",  "write-out",                ARG_STRING},
+  {"x",  "proxy",                    ARG_STRING},
+  {"xa", "preproxy",                 ARG_STRING},
+  {"X",  "request",                  ARG_STRING},
+  {"Y",  "speed-limit",              ARG_STRING},
+  {"y",  "speed-time",               ARG_STRING},
+  {"z",  "time-cond",                ARG_STRING},
+  {"Z",  "parallel",                 ARG_BOOL},
+  {"Zb", "parallel-max",             ARG_STRING},
+  {"Zc", "parallel-immediate",       ARG_BOOL},
+  {"#",  "progress-bar",             ARG_BOOL},
+  {"#m", "progress-meter",           ARG_BOOL},
+  {":",  "next",                     ARG_NONE},
+};
+
+/* Split the argument of -E to 'certname' and 'passphrase' separated by colon.
+ * We allow ':' and '\' to be escaped by '\' so that we can use certificate
+ * nicknames containing ':'.  See <https://sourceforge.net/p/curl/bugs/1196/>
+ * for details. */
+#ifndef UNITTESTS
+static
+#endif
+void parse_cert_parameter(const char *cert_parameter,
+                          char **certname,
+                          char **passphrase)
+{
+  size_t param_length = strlen(cert_parameter);
+  size_t span;
+  const char *param_place = NULL;
+  char *certname_place = NULL;
+  *certname = NULL;
+  *passphrase = NULL;
+
+  /* most trivial assumption: cert_parameter is empty */
+  if(param_length == 0)
+    return;
+
+  /* next less trivial: cert_parameter starts 'pkcs11:' and thus
+   * looks like a RFC7512 PKCS#11 URI which can be used as-is.
+   * Also if cert_parameter contains no colon nor backslash, this
+   * means no passphrase was given and no characters escaped */
+  if(curl_strnequal(cert_parameter, "pkcs11:", 7) ||
+     !strpbrk(cert_parameter, ":\\")) {
+    *certname = strdup(cert_parameter);
+    return;
+  }
+  /* deal with escaped chars; find unescaped colon if it exists */
+  certname_place = malloc(param_length + 1);
+  if(!certname_place)
+    return;
+
+  *certname = certname_place;
+  param_place = cert_parameter;
+  while(*param_place) {
+    span = strcspn(param_place, ":\\");
+    strncpy(certname_place, param_place, span);
+    param_place += span;
+    certname_place += span;
+    /* we just ate all the non-special chars. now we're on either a special
+     * char or the end of the string. */
+    switch(*param_place) {
+    case '\0':
+      break;
+    case '\\':
+      param_place++;
+      switch(*param_place) {
+        case '\0':
+          *certname_place++ = '\\';
+          break;
+        case '\\':
+          *certname_place++ = '\\';
+          param_place++;
+          break;
+        case ':':
+          *certname_place++ = ':';
+          param_place++;
+          break;
+        default:
+          *certname_place++ = '\\';
+          *certname_place++ = *param_place;
+          param_place++;
+          break;
+      }
+      break;
+    case ':':
+      /* Since we live in a world of weirdness and confusion, the win32
+         dudes can use : when using drive letters and thus c:\file:password
+         needs to work. In order not to break compatibility, we still use : as
+         separator, but we try to detect when it is used for a file name! On
+         windows. */
+#ifdef WIN32
+      if((param_place == &cert_parameter[1]) &&
+         (cert_parameter[2] == '\\' || cert_parameter[2] == '/') &&
+         (ISALPHA(cert_parameter[0])) ) {
+        /* colon in the second column, followed by a backslash, and the
+           first character is an alphabetic letter:
+
+           this is a drive letter colon */
+        *certname_place++ = ':';
+        param_place++;
+        break;
+      }
+#endif
+      /* escaped colons and Windows drive letter colons were handled
+       * above; if we're still here, this is a separating colon */
+      param_place++;
+      if(*param_place) {
+        *passphrase = strdup(param_place);
+      }
+      goto done;
+    }
+  }
+done:
+  *certname_place = '\0';
+}
+
+/* Replace (in-place) '%20' by '+' according to RFC1866 */
+static size_t replace_url_encoded_space_by_plus(char *url)
+{
+  size_t orig_len = strlen(url);
+  size_t orig_index = 0;
+  size_t new_index = 0;
+
+  while(orig_index < orig_len) {
+    if((url[orig_index] == '%') &&
+       (url[orig_index + 1] == '2') &&
+       (url[orig_index + 2] == '0')) {
+      url[new_index] = '+';
+      orig_index += 3;
+    }
+    else{
+      if(new_index != orig_index) {
+        url[new_index] = url[orig_index];
+      }
+      orig_index++;
+    }
+    new_index++;
+  }
+
+  url[new_index] = 0; /* terminate string */
+
+  return new_index; /* new size */
+}
+
+static void
+GetFileAndPassword(char *nextarg, char **file, char **password)
+{
+  char *certname, *passphrase;
+  parse_cert_parameter(nextarg, &certname, &passphrase);
+  Curl_safefree(*file);
+  *file = certname;
+  if(passphrase) {
+    Curl_safefree(*password);
+    *password = passphrase;
+  }
+}
+
+/* Get a size parameter for '--limit-rate' or '--max-filesize'.
+ * We support a 'G', 'M' or 'K' suffix too.
+  */
+static ParameterError GetSizeParameter(struct GlobalConfig *global,
+                                       const char *arg,
+                                       const char *which,
+                                       curl_off_t *value_out)
+{
+  char *unit;
+  curl_off_t value;
+
+  if(curlx_strtoofft(arg, &unit, 0, &value)) {
+    warnf(global, "invalid number specified for %s\n", which);
+    return PARAM_BAD_USE;
+  }
+
+  if(!*unit)
+    unit = (char *)"b";
+  else if(strlen(unit) > 1)
+    unit = (char *)"w"; /* unsupported */
+
+  switch(*unit) {
+  case 'G':
+  case 'g':
+    if(value > (CURL_OFF_T_MAX / (1024*1024*1024)))
+      return PARAM_NUMBER_TOO_LARGE;
+    value *= 1024*1024*1024;
+    break;
+  case 'M':
+  case 'm':
+    if(value > (CURL_OFF_T_MAX / (1024*1024)))
+      return PARAM_NUMBER_TOO_LARGE;
+    value *= 1024*1024;
+    break;
+  case 'K':
+  case 'k':
+    if(value > (CURL_OFF_T_MAX / 1024))
+      return PARAM_NUMBER_TOO_LARGE;
+    value *= 1024;
+    break;
+  case 'b':
+  case 'B':
+    /* for plain bytes, leave as-is */
+    break;
+  default:
+    warnf(global, "unsupported %s unit. Use G, M, K or B!\n", which);
+    return PARAM_BAD_USE;
+  }
+  *value_out = value;
+  return PARAM_OK;
+}
+
+#ifdef HAVE_WRITABLE_ARGV
+static void cleanarg(argv_item_t str)
+{
+  /* now that GetStr has copied the contents of nextarg, wipe the next
+   * argument out so that the username:password isn't displayed in the
+   * system process list */
+  if(str) {
+    size_t len = strlen(str);
+    memset(str, ' ', len);
+  }
+}
+#else
+#define cleanarg(x)
+#endif
+
+/* --data-urlencode */
+static ParameterError data_urlencode(struct GlobalConfig *global,
+                                     char *nextarg,
+                                     char **postp,
+                                     size_t *lenp)
+{
+  /* [name]=[content], we encode the content part only
+   * [name]@[file name]
+   *
+   * Case 2: we first load the file using that name and then encode
+   * the content.
+   */
+  ParameterError err;
+  const char *p = strchr(nextarg, '=');
+  size_t nlen;
+  char is_file;
+  char *postdata = NULL;
+  size_t size = 0;
+  if(!p)
+    /* there was no '=' letter, check for a '@' instead */
+    p = strchr(nextarg, '@');
+  if(p) {
+    nlen = p - nextarg; /* length of the name part */
+    is_file = *p++; /* pass the separator */
+  }
+  else {
+    /* neither @ nor =, so no name and it isn't a file */
+    nlen = is_file = 0;
+    p = nextarg;
+  }
+  if('@' == is_file) {
+    FILE *file;
+    /* a '@' letter, it means that a file name or - (stdin) follows */
+    if(!strcmp("-", p)) {
+      file = stdin;
+      set_binmode(stdin);
+    }
+    else {
+      file = fopen(p, "rb");
+      if(!file)
+        warnf(global,
+              "Couldn't read data from file \"%s\", this makes "
+              "an empty POST.\n", nextarg);
+    }
+
+    err = file2memory(&postdata, &size, file);
+
+    if(file && (file != stdin))
+      fclose(file);
+    if(err)
+      return err;
+  }
+  else {
+    GetStr(&postdata, p);
+    if(postdata)
+      size = strlen(postdata);
+  }
+
+  if(!postdata) {
+    /* no data from the file, point to a zero byte string to make this
+       get sent as a POST anyway */
+    postdata = strdup("");
+    if(!postdata)
+      return PARAM_NO_MEM;
+    size = 0;
+  }
+  else {
+    char *enc = curl_easy_escape(NULL, postdata, (int)size);
+    Curl_safefree(postdata); /* no matter if it worked or not */
+    if(enc) {
+      /* replace (in-place) '%20' by '+' according to RFC1866 */
+      size_t enclen = replace_url_encoded_space_by_plus(enc);
+      /* now make a string with the name from above and append the
+         encoded string */
+      size_t outlen = nlen + enclen + 2;
+      char *n = malloc(outlen);
+      if(!n) {
+        curl_free(enc);
+        return PARAM_NO_MEM;
+      }
+      if(nlen > 0) { /* only append '=' if we have a name */
+        msnprintf(n, outlen, "%.*s=%s", (int)nlen, nextarg, enc);
+        size = outlen-1;
+      }
+      else {
+        strcpy(n, enc);
+        size = outlen-2; /* since no '=' was inserted */
+      }
+      curl_free(enc);
+      postdata = n;
+    }
+    else
+      return PARAM_NO_MEM;
+  }
+  *postp = postdata;
+  *lenp = size;
+  return PARAM_OK;
+}
+
+
+ParameterError getparameter(const char *flag, /* f or -long-flag */
+                            char *nextarg,    /* NULL if unset */
+                            bool *usedarg,    /* set to TRUE if the arg
+                                                 has been used */
+                            struct GlobalConfig *global,
+                            struct OperationConfig *config)
+{
+  char letter;
+  char subletter = '\0'; /* subletters can only occur on long options */
+  int rc;
+  const char *parse = NULL;
+  unsigned int j;
+  time_t now;
+  int hit = -1;
+  bool longopt = FALSE;
+  bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */
+  ParameterError err;
+  bool toggle = TRUE; /* how to switch boolean options, on or off. Controlled
+                         by using --OPTION or --no-OPTION */
+#ifdef HAVE_WRITABLE_ARGV
+  argv_item_t clearthis = NULL;
+#endif
+
+  static const char *redir_protos[] = {
+    "http",
+    "https",
+    "ftp",
+    "ftps",
+    NULL
+  };
+
+  *usedarg = FALSE; /* default is that we don't use the arg */
+
+  if(('-' != flag[0]) || ('-' == flag[1])) {
+    /* this should be a long name */
+    const char *word = ('-' == flag[0]) ? flag + 2 : flag;
+    size_t fnam = strlen(word);
+    int numhits = 0;
+    bool noflagged = FALSE;
+
+    if(!strncmp(word, "no-", 3)) {
+      /* disable this option but ignore the "no-" part when looking for it */
+      word += 3;
+      toggle = FALSE;
+      noflagged = TRUE;
+    }
+
+    for(j = 0; j < sizeof(aliases)/sizeof(aliases[0]); j++) {
+      if(curl_strnequal(aliases[j].lname, word, fnam)) {
+        longopt = TRUE;
+        numhits++;
+        if(curl_strequal(aliases[j].lname, word)) {
+          parse = aliases[j].letter;
+          hit = j;
+          numhits = 1; /* a single unique hit */
+          break;
+        }
+        parse = aliases[j].letter;
+        hit = j;
+      }
+    }
+    if(numhits > 1) {
+      /* this is at least the second match! */
+      return PARAM_OPTION_AMBIGUOUS;
+    }
+    if(hit < 0) {
+      return PARAM_OPTION_UNKNOWN;
+    }
+    if(noflagged && (aliases[hit].desc != ARG_BOOL))
+      /* --no- prefixed an option that isn't boolean! */
+      return PARAM_NO_NOT_BOOLEAN;
+  }
+  else {
+    flag++; /* prefixed with one dash, pass it */
+    hit = -1;
+    parse = flag;
+  }
+
+  do {
+    /* we can loop here if we have multiple single-letters */
+
+    if(!longopt) {
+      letter = (char)*parse;
+      subletter = '\0';
+    }
+    else {
+      letter = parse[0];
+      subletter = parse[1];
+    }
+
+    if(hit < 0) {
+      for(j = 0; j < sizeof(aliases)/sizeof(aliases[0]); j++) {
+        if(letter == aliases[j].letter[0]) {
+          hit = j;
+          break;
+        }
+      }
+      if(hit < 0) {
+        return PARAM_OPTION_UNKNOWN;
+      }
+    }
+
+    if(aliases[hit].desc >= ARG_STRING) {
+      /* this option requires an extra parameter */
+      if(!longopt && parse[1]) {
+        nextarg = (char *)&parse[1]; /* this is the actual extra parameter */
+#ifdef HAVE_WRITABLE_ARGV
+        clearthis = nextarg;
+#endif
+        singleopt = TRUE;   /* don't loop anymore after this */
+      }
+      else if(!nextarg)
+        return PARAM_REQUIRES_PARAMETER;
+      else
+        *usedarg = TRUE; /* mark it as used */
+
+      if((aliases[hit].desc == ARG_FILENAME) &&
+         (nextarg[0] == '-') && nextarg[1]) {
+        /* if the file name looks like a command line option */
+        warnf(global, "The file name argument '%s' looks like a flag.\n",
+              nextarg);
+      }
+    }
+    else if((aliases[hit].desc == ARG_NONE) && !toggle)
+      return PARAM_NO_PREFIX;
+
+    switch(letter) {
+    case '*': /* options without a short option */
+      switch(subletter) {
+      case '4': /* --dns-ipv4-addr */
+        if(!curlinfo->ares_num) /* c-ares is needed for this */
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        /* addr in dot notation */
+        GetStr(&config->dns_ipv4_addr, nextarg);
+        break;
+      case '6': /* --dns-ipv6-addr */
+        if(!curlinfo->ares_num) /* c-ares is needed for this */
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        /* addr in dot notation */
+        GetStr(&config->dns_ipv6_addr, nextarg);
+        break;
+      case 'a': /* random-file */
+        break;
+      case 'b': /* egd-file */
+        break;
+      case 'B': /* OAuth 2.0 bearer token */
+        GetStr(&config->oauth_bearer, nextarg);
+        cleanarg(clearthis);
+        config->authtype |= CURLAUTH_BEARER;
+        break;
+      case 'c': /* connect-timeout */
+        err = str2udouble(&config->connecttimeout, nextarg,
+                          (double)LONG_MAX/1000);
+        if(err)
+          return err;
+        break;
+      case 'C': /* doh-url */
+        GetStr(&config->doh_url, nextarg);
+        if(config->doh_url && !config->doh_url[0])
+          /* if given a blank string, we make it NULL again */
+          Curl_safefree(config->doh_url);
+        break;
+      case 'd': /* ciphers */
+        GetStr(&config->cipher_list, nextarg);
+        break;
+      case 'D': /* --dns-interface */
+        if(!curlinfo->ares_num) /* c-ares is needed for this */
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        /* interface name */
+        GetStr(&config->dns_interface, nextarg);
+        break;
+      case 'e': /* --disable-epsv */
+        config->disable_epsv = toggle;
+        break;
+      case 'f': /* --disallow-username-in-url */
+        config->disallow_username_in_url = toggle;
+        break;
+      case 'E': /* --epsv */
+        config->disable_epsv = (!toggle)?TRUE:FALSE;
+        break;
+      case 'F': /* --dns-servers */
+        if(!curlinfo->ares_num) /* c-ares is needed for this */
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        /* IP addrs of DNS servers */
+        GetStr(&config->dns_servers, nextarg);
+        break;
+      case 'g': /* --trace */
+        GetStr(&global->trace_dump, nextarg);
+        if(global->tracetype && (global->tracetype != TRACE_BIN))
+          warnf(global, "--trace overrides an earlier trace/verbose option\n");
+        global->tracetype = TRACE_BIN;
+        break;
+      case 'G': /* --npn */
+        warnf(global, "--npn is no longer supported\n");
+        break;
+      case 'h': /* --trace-ascii */
+        GetStr(&global->trace_dump, nextarg);
+        if(global->tracetype && (global->tracetype != TRACE_ASCII))
+          warnf(global,
+                "--trace-ascii overrides an earlier trace/verbose option\n");
+        global->tracetype = TRACE_ASCII;
+        break;
+      case 'H': /* --alpn */
+        config->noalpn = (!toggle)?TRUE:FALSE;
+        break;
+      case 'i': /* --limit-rate */
+      {
+        curl_off_t value;
+        ParameterError pe = GetSizeParameter(global, nextarg, "rate", &value);
+
+        if(pe != PARAM_OK)
+           return pe;
+        config->recvpersecond = value;
+        config->sendpersecond = value;
+      }
+      break;
+      case 'I': /* --rate (request rate) */
+      {
+        /* support a few different suffixes, extract the suffix first, then
+           get the number and convert to per hour.
+           /s == per second
+           /m == per minute
+           /h == per hour (default)
+           /d == per day (24 hours)
+        */
+        char *div = strchr(nextarg, '/');
+        char number[26];
+        long denominator;
+        long numerator = 60*60*1000; /* default per hour */
+        size_t numlen = div ? (size_t)(div - nextarg) : strlen(nextarg);
+        if(numlen > sizeof(number)-1)
+          return PARAM_NUMBER_TOO_LARGE;
+        strncpy(number, nextarg, numlen);
+        number[numlen] = 0;
+        err = str2unum(&denominator, number);
+        if(err)
+          return err;
+        if(denominator < 1)
+          return PARAM_BAD_USE;
+        if(div) {
+          char unit = div[1];
+          switch(unit) {
+          case 's': /* per second */
+            numerator = 1000;
+            break;
+          case 'm': /* per minute */
+            numerator = 60*1000;
+            break;
+          case 'h': /* per hour */
+            break;
+          case 'd': /* per day */
+            numerator = 24*60*60*1000;
+            break;
+          default:
+            errorf(global, "unsupported --rate unit\n");
+            return PARAM_BAD_USE;
+          }
+        }
+        global->ms_per_transfer = numerator/denominator;
+      }
+      break;
+
+      case 'j': /* --compressed */
+        if(toggle &&
+           !(curlinfo->features & (CURL_VERSION_LIBZ |
+                                   CURL_VERSION_BROTLI | CURL_VERSION_ZSTD)))
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        config->encoding = toggle;
+        break;
+
+      case 'J': /* --tr-encoding */
+        config->tr_encoding = toggle;
+        break;
+
+      case 'k': /* --digest */
+        if(toggle)
+          config->authtype |= CURLAUTH_DIGEST;
+        else
+          config->authtype &= ~CURLAUTH_DIGEST;
+        break;
+
+      case 'l': /* --negotiate */
+        if(toggle) {
+          if(curlinfo->features & CURL_VERSION_SPNEGO)
+            config->authtype |= CURLAUTH_NEGOTIATE;
+          else
+            return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        else
+          config->authtype &= ~CURLAUTH_NEGOTIATE;
+        break;
+
+      case 'm': /* --ntlm */
+        if(toggle) {
+          if(curlinfo->features & CURL_VERSION_NTLM)
+            config->authtype |= CURLAUTH_NTLM;
+          else
+            return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        else
+          config->authtype &= ~CURLAUTH_NTLM;
+        break;
+
+      case 'M': /* --ntlm-wb */
+        if(toggle) {
+          if(curlinfo->features & CURL_VERSION_NTLM_WB)
+            config->authtype |= CURLAUTH_NTLM_WB;
+          else
+            return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        else
+          config->authtype &= ~CURLAUTH_NTLM_WB;
+        break;
+
+      case 'n': /* --basic for completeness */
+        if(toggle)
+          config->authtype |= CURLAUTH_BASIC;
+        else
+          config->authtype &= ~CURLAUTH_BASIC;
+        break;
+
+      case 'o': /* --anyauth, let libcurl pick it */
+        if(toggle)
+          config->authtype = CURLAUTH_ANY;
+        /* --no-anyauth simply doesn't touch it */
+        break;
+
+#ifdef USE_WATT32
+      case 'p': /* --wdebug */
+        dbug_init();
+        break;
+#endif
+      case 'q': /* --ftp-create-dirs */
+        config->ftp_create_dirs = toggle;
+        break;
+
+      case 'r': /* --create-dirs */
+        config->create_dirs = toggle;
+        break;
+
+      case 'R': /* --create-file-mode */
+        err = oct2nummax(&config->create_file_mode, nextarg, 0777);
+        if(err)
+          return err;
+        break;
+
+      case 's': /* --max-redirs */
+        /* specified max no of redirects (http(s)), this accepts -1 as a
+           special condition */
+        err = str2num(&config->maxredirs, nextarg);
+        if(err)
+          return err;
+        if(config->maxredirs < -1)
+          return PARAM_BAD_NUMERIC;
+        break;
+
+      case 't': /* --proxy-ntlm */
+        if(curlinfo->features & CURL_VERSION_NTLM)
+          config->proxyntlm = toggle;
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+
+      case 'u': /* --crlf */
+        /* LF -> CRLF conversion? */
+        config->crlf = toggle;
+        break;
+
+      case 'V': /* --aws-sigv4 */
+        config->authtype |= CURLAUTH_AWS_SIGV4;
+        GetStr(&config->aws_sigv4, nextarg);
+        break;
+
+      case 'v': /* --stderr */
+        if(strcmp(nextarg, "-")) {
+          FILE *newfile = fopen(nextarg, FOPEN_WRITETEXT);
+          if(!newfile)
+            warnf(global, "Failed to open %s!\n", nextarg);
+          else {
+            if(global->errors_fopened)
+              fclose(global->errors);
+            global->errors = newfile;
+            global->errors_fopened = TRUE;
+          }
+        }
+        else
+          global->errors = stdout;
+        break;
+      case 'w': /* --interface */
+        /* interface */
+        GetStr(&config->iface, nextarg);
+        break;
+      case 'x': /* --krb */
+        /* kerberos level string */
+        if(curlinfo->features & CURL_VERSION_SPNEGO)
+          GetStr(&config->krblevel, nextarg);
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case 'X': /* --haproxy-protocol */
+        config->haproxy_protocol = toggle;
+        break;
+      case 'y': /* --max-filesize */
+        {
+          curl_off_t value;
+          ParameterError pe =
+            GetSizeParameter(global, nextarg, "max-filesize", &value);
+
+          if(pe != PARAM_OK)
+             return pe;
+          config->max_filesize = value;
+        }
+        break;
+      case 'z': /* --disable-eprt */
+        config->disable_eprt = toggle;
+        break;
+      case 'Z': /* --eprt */
+        config->disable_eprt = (!toggle)?TRUE:FALSE;
+        break;
+      case '~': /* --xattr */
+        config->xattr = toggle;
+        break;
+      case '@': /* the URL! */
+      {
+        struct getout *url;
+
+        if(!config->url_get)
+          config->url_get = config->url_list;
+
+        if(config->url_get) {
+          /* there's a node here, if it already is filled-in continue to find
+             an "empty" node */
+          while(config->url_get && (config->url_get->flags & GETOUT_URL))
+            config->url_get = config->url_get->next;
+        }
+
+        /* now there might or might not be an available node to fill in! */
+
+        if(config->url_get)
+          /* existing node */
+          url = config->url_get;
+        else
+          /* there was no free node, create one! */
+          config->url_get = url = new_getout(config);
+
+        if(!url)
+          return PARAM_NO_MEM;
+
+        /* fill in the URL */
+        GetStr(&url->url, nextarg);
+        url->flags |= GETOUT_URL;
+      }
+      }
+      break;
+    case '$': /* more options without a short option */
+      switch(subletter) {
+      case 'a': /* --ssl */
+        if(toggle && !(curlinfo->features & CURL_VERSION_SSL))
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        config->ftp_ssl = toggle;
+        if(config->ftp_ssl)
+          warnf(global,
+                "--ssl is an insecure option, consider --ssl-reqd instead\n");
+        break;
+      case 'b': /* --ftp-pasv */
+        Curl_safefree(config->ftpport);
+        break;
+      case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves
+                   the name locally and passes on the resolved address */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_SOCKS5;
+        break;
+      case 't': /* --socks4 specifies a socks4 proxy to use */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_SOCKS4;
+        break;
+      case 'T': /* --socks4a specifies a socks4a proxy to use */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_SOCKS4A;
+        break;
+      case '2': /* --socks5-hostname specifies a socks5 proxy and enables name
+                   resolving with the proxy */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_SOCKS5_HOSTNAME;
+        break;
+      case 'd': /* --tcp-nodelay option */
+        config->tcp_nodelay = toggle;
+        break;
+      case 'e': /* --proxy-digest */
+        config->proxydigest = toggle;
+        break;
+      case 'f': /* --proxy-basic */
+        config->proxybasic = toggle;
+        break;
+      case 'g': /* --retry */
+        err = str2unum(&config->req_retry, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'V': /* --retry-connrefused */
+        config->retry_connrefused = toggle;
+        break;
+      case 'h': /* --retry-delay */
+        err = str2unummax(&config->retry_delay, nextarg, LONG_MAX/1000);
+        if(err)
+          return err;
+        break;
+      case 'i': /* --retry-max-time */
+        err = str2unummax(&config->retry_maxtime, nextarg, LONG_MAX/1000);
+        if(err)
+          return err;
+        break;
+      case '!': /* --retry-all-errors */
+        config->retry_all_errors = toggle;
+        break;
+
+      case 'k': /* --proxy-negotiate */
+        if(curlinfo->features & CURL_VERSION_SPNEGO)
+          config->proxynegotiate = toggle;
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+
+      case 'l': /* --form-escape */
+        config->mime_options &= ~CURLMIMEOPT_FORMESCAPE;
+        if(toggle)
+          config->mime_options |= CURLMIMEOPT_FORMESCAPE;
+        break;
+
+      case 'm': /* --ftp-account */
+        GetStr(&config->ftp_account, nextarg);
+        break;
+      case 'n': /* --proxy-anyauth */
+        config->proxyanyauth = toggle;
+        break;
+      case 'o': /* --trace-time */
+        global->tracetime = toggle;
+        break;
+      case 'p': /* --ignore-content-length */
+        config->ignorecl = toggle;
+        break;
+      case 'q': /* --ftp-skip-pasv-ip */
+        config->ftp_skip_ip = toggle;
+        break;
+      case 'r': /* --ftp-method (undocumented at this point) */
+        config->ftp_filemethod = ftpfilemethod(config, nextarg);
+        break;
+      case 's': { /* --local-port */
+        /* 16bit base 10 is 5 digits, but we allow 6 so that this catches
+           overflows, not just truncates */
+        char lrange[7]="";
+        char *p = nextarg;
+        while(ISDIGIT(*p))
+          p++;
+        if(*p) {
+          /* if there's anything more than a plain decimal number */
+          rc = sscanf(p, " - %6s", lrange);
+          *p = 0; /* null-terminate to make str2unum() work below */
+        }
+        else
+          rc = 0;
+
+        err = str2unum(&config->localport, nextarg);
+        if(err || (config->localport > 65535))
+          return PARAM_BAD_USE;
+        if(!rc)
+          config->localportrange = 1; /* default number of ports to try */
+        else {
+          err = str2unum(&config->localportrange, lrange);
+          if(err || (config->localportrange > 65535))
+            return PARAM_BAD_USE;
+          config->localportrange -= (config->localport-1);
+          if(config->localportrange < 1)
+            return PARAM_BAD_USE;
+        }
+        break;
+      }
+      case 'u': /* --ftp-alternative-to-user */
+        GetStr(&config->ftp_alternative_to_user, nextarg);
+        break;
+      case 'v': /* --ssl-reqd */
+        if(toggle && !(curlinfo->features & CURL_VERSION_SSL))
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        config->ftp_ssl_reqd = toggle;
+        break;
+      case 'w': /* --no-sessionid */
+        config->disable_sessionid = (!toggle)?TRUE:FALSE;
+        break;
+      case 'x': /* --ftp-ssl-control */
+        if(toggle && !(curlinfo->features & CURL_VERSION_SSL))
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        config->ftp_ssl_control = toggle;
+        break;
+      case 'y': /* --ftp-ssl-ccc */
+        config->ftp_ssl_ccc = toggle;
+        if(!config->ftp_ssl_ccc_mode)
+          config->ftp_ssl_ccc_mode = CURLFTPSSL_CCC_PASSIVE;
+        break;
+      case 'j': /* --ftp-ssl-ccc-mode */
+        config->ftp_ssl_ccc = TRUE;
+        config->ftp_ssl_ccc_mode = ftpcccmethod(config, nextarg);
+        break;
+      case 'z': /* --libcurl */
+#ifdef CURL_DISABLE_LIBCURL_OPTION
+        warnf(global,
+              "--libcurl option was disabled at build-time!\n");
+        return PARAM_OPTION_UNKNOWN;
+#else
+        GetStr(&global->libcurl, nextarg);
+        break;
+#endif
+      case '#': /* --raw */
+        config->raw = toggle;
+        break;
+      case '0': /* --post301 */
+        config->post301 = toggle;
+        break;
+      case '1': /* --no-keepalive */
+        config->nokeepalive = (!toggle)?TRUE:FALSE;
+        break;
+      case '3': /* --keepalive-time */
+        err = str2unum(&config->alivetime, nextarg);
+        if(err)
+          return err;
+        break;
+      case '4': /* --post302 */
+        config->post302 = toggle;
+        break;
+      case 'I': /* --post303 */
+        config->post303 = toggle;
+        break;
+      case '5': /* --noproxy */
+        /* This specifies the noproxy list */
+        GetStr(&config->noproxy, nextarg);
+        break;
+       case '7': /* --socks5-gssapi-nec*/
+        config->socks5_gssapi_nec = toggle;
+        break;
+      case '8': /* --proxy1.0 */
+        /* http 1.0 proxy */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_HTTP_1_0;
+        break;
+      case '9': /* --tftp-blksize */
+        err = str2unum(&config->tftp_blksize, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'A': /* --mail-from */
+        GetStr(&config->mail_from, nextarg);
+        break;
+      case 'B': /* --mail-rcpt */
+        /* append receiver to a list */
+        err = add2list(&config->mail_rcpt, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'C': /* --ftp-pret */
+        config->ftp_pret = toggle;
+        break;
+      case 'D': /* --proto */
+        config->proto_present = TRUE;
+        err = proto2num(config, built_in_protos, &config->proto_str, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'E': /* --proto-redir */
+        config->proto_redir_present = TRUE;
+        if(proto2num(config, redir_protos, &config->proto_redir_str, nextarg))
+          return PARAM_BAD_USE;
+        break;
+      case 'F': /* --resolve */
+        err = add2list(&config->resolve, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'G': /* --delegation LEVEL */
+        config->gssapi_delegation = delegation(config, nextarg);
+        break;
+      case 'H': /* --mail-auth */
+        GetStr(&config->mail_auth, nextarg);
+        break;
+      case 'J': /* --metalink */
+        errorf(global, "--metalink is disabled\n");
+        return PARAM_BAD_USE;
+      case '6': /* --sasl-authzid */
+        GetStr(&config->sasl_authzid, nextarg);
+        break;
+      case 'K': /* --sasl-ir */
+        config->sasl_ir = toggle;
+        break;
+      case 'L': /* --test-event */
+#ifdef CURLDEBUG
+        global->test_event_based = toggle;
+#else
+        warnf(global, "--test-event is ignored unless a debug build!\n");
+#endif
+        break;
+      case 'M': /* --unix-socket */
+        config->abstract_unix_socket = FALSE;
+        GetStr(&config->unix_socket_path, nextarg);
+        break;
+      case 'N': /* --path-as-is */
+        config->path_as_is = toggle;
+        break;
+      case 'O': /* --proxy-service-name */
+        GetStr(&config->proxy_service_name, nextarg);
+        break;
+      case 'P': /* --service-name */
+        GetStr(&config->service_name, nextarg);
+        break;
+      case 'Q': /* --proto-default */
+        GetStr(&config->proto_default, nextarg);
+        err = check_protocol(config->proto_default);
+        if(err)
+          return err;
+        break;
+      case 'R': /* --expect100-timeout */
+        err = str2udouble(&config->expect100timeout, nextarg,
+                          (double)LONG_MAX/1000);
+        if(err)
+          return err;
+        break;
+      case 'S': /* --tftp-no-options */
+        config->tftp_no_options = toggle;
+        break;
+      case 'U': /* --connect-to */
+        err = add2list(&config->connect_to, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'W': /* --abstract-unix-socket */
+        config->abstract_unix_socket = TRUE;
+        GetStr(&config->unix_socket_path, nextarg);
+        break;
+      case 'X': /* --tls-max */
+        err = str2tls_max(&config->ssl_version_max, nextarg);
+        if(err)
+          return err;
+        break;
+      case 'Y': /* --suppress-connect-headers */
+        config->suppress_connect_headers = toggle;
+        break;
+      case 'Z': /* --compressed-ssh */
+        config->ssh_compression = toggle;
+        break;
+      case '~': /* --happy-eyeballs-timeout-ms */
+        err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg);
+        if(err)
+          return err;
+        /* 0 is a valid value for this timeout */
+        break;
+      }
+      break;
+    case '#':
+      switch(subletter) {
+      case 'm': /* --progress-meter */
+        global->noprogress = !toggle;
+        break;
+      default:  /* --progress-bar */
+        global->progressmode =
+          toggle ? CURL_PROGRESS_BAR : CURL_PROGRESS_STATS;
+        break;
+      }
+      break;
+    case ':': /* --next */
+      return PARAM_NEXT_OPERATION;
+    case '0': /* --http* options */
+      switch(subletter) {
+      case '\0':
+        /* HTTP version 1.0 */
+        config->httpversion = CURL_HTTP_VERSION_1_0;
+        break;
+      case '1':
+        /* HTTP version 1.1 */
+        config->httpversion = CURL_HTTP_VERSION_1_1;
+        break;
+      case '2':
+        /* HTTP version 2.0 */
+        config->httpversion = CURL_HTTP_VERSION_2_0;
+        break;
+      case '3': /* --http2-prior-knowledge */
+        /* HTTP version 2.0 over clean TCP*/
+        config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE;
+        break;
+      case '4': /* --http3 */
+        /* HTTP version 3 go over QUIC - at once */
+        if(curlinfo->features & CURL_VERSION_HTTP3)
+          config->httpversion = CURL_HTTP_VERSION_3;
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case '9':
+        /* Allow HTTP/0.9 responses! */
+        config->http09_allowed = toggle;
+        break;
+      }
+      break;
+    case '1': /* --tlsv1* options */
+      switch(subletter) {
+      case '\0':
+        /* TLS version 1.x */
+        config->ssl_version = CURL_SSLVERSION_TLSv1;
+        break;
+      case '0':
+        /* TLS version 1.0 */
+        config->ssl_version = CURL_SSLVERSION_TLSv1_0;
+        break;
+      case '1':
+        /* TLS version 1.1 */
+        config->ssl_version = CURL_SSLVERSION_TLSv1_1;
+        break;
+      case '2':
+        /* TLS version 1.2 */
+        config->ssl_version = CURL_SSLVERSION_TLSv1_2;
+        break;
+      case '3':
+        /* TLS version 1.3 */
+        config->ssl_version = CURL_SSLVERSION_TLSv1_3;
+        break;
+      case 'A': /* --tls13-ciphers */
+        GetStr(&config->cipher13_list, nextarg);
+        break;
+      case 'B': /* --proxy-tls13-ciphers */
+        GetStr(&config->proxy_cipher13_list, nextarg);
+        break;
+      }
+      break;
+    case '2':
+      /* SSL version 2 */
+      warnf(global, "Ignores instruction to use SSLv2\n");
+      break;
+    case '3':
+      /* SSL version 3 */
+      warnf(global, "Ignores instruction to use SSLv3\n");
+      break;
+    case '4':
+      /* IPv4 */
+      config->ip_version = CURL_IPRESOLVE_V4;
+      break;
+    case '6':
+      /* IPv6 */
+      config->ip_version = CURL_IPRESOLVE_V6;
+      break;
+    case 'a':
+      /* This makes the FTP sessions use APPE instead of STOR */
+      config->ftp_append = toggle;
+      break;
+    case 'A':
+      /* This specifies the User-Agent name */
+      GetStr(&config->useragent, nextarg);
+      break;
+    case 'b':
+      switch(subletter) {
+      case 'a': /* --alt-svc */
+        if(curlinfo->features & CURL_VERSION_ALTSVC)
+          GetStr(&config->altsvc, nextarg);
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case 'b': /* --hsts */
+        if(curlinfo->features & CURL_VERSION_HSTS)
+          GetStr(&config->hsts, nextarg);
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      default:  /* --cookie string coming up: */
+        if(nextarg[0] == '@') {
+          nextarg++;
+        }
+        else if(strchr(nextarg, '=')) {
+          /* A cookie string must have a =-letter */
+          err = add2list(&config->cookies, nextarg);
+          if(err)
+            return err;
+          break;
+        }
+        /* We have a cookie file to read from! */
+        err = add2list(&config->cookiefiles, nextarg);
+        if(err)
+          return err;
+      }
+      break;
+    case 'B':
+      /* use ASCII/text when transferring */
+      config->use_ascii = toggle;
+      break;
+    case 'c':
+      /* get the file name to dump all cookies in */
+      GetStr(&config->cookiejar, nextarg);
+      break;
+    case 'C':
+      /* This makes us continue an ftp transfer at given position */
+      if(strcmp(nextarg, "-")) {
+        err = str2offset(&config->resume_from, nextarg);
+        if(err)
+          return err;
+        config->resume_from_current = FALSE;
+      }
+      else {
+        config->resume_from_current = TRUE;
+        config->resume_from = 0;
+      }
+      config->use_resume = TRUE;
+      break;
+    case 'd':
+      /* postfield data */
+    {
+      char *postdata = NULL;
+      FILE *file;
+      size_t size = 0;
+      bool raw_mode = (subletter == 'r');
+
+      if(subletter == 'e') { /* --data-urlencode */
+        err = data_urlencode(global, nextarg, &postdata, &size);
+        if(err)
+          return err;
+      }
+      else if('@' == *nextarg && !raw_mode) {
+        /* the data begins with a '@' letter, it means that a file name
+           or - (stdin) follows */
+        nextarg++; /* pass the @ */
+
+        if(!strcmp("-", nextarg)) {
+          file = stdin;
+          if(subletter == 'b') /* forced data-binary */
+            set_binmode(stdin);
+        }
+        else {
+          file = fopen(nextarg, "rb");
+          if(!file)
+            warnf(global, "Couldn't read data from file \"%s\", this makes "
+                  "an empty POST.\n", nextarg);
+        }
+
+        if((subletter == 'b') || /* --data-binary */
+           (subletter == 'f') /* --json */)
+          /* forced binary */
+          err = file2memory(&postdata, &size, file);
+        else {
+          err = file2string(&postdata, file);
+          if(postdata)
+            size = strlen(postdata);
+        }
+
+        if(file && (file != stdin))
+          fclose(file);
+        if(err)
+          return err;
+
+        if(!postdata) {
+          /* no data from the file, point to a zero byte string to make this
+             get sent as a POST anyway */
+          postdata = strdup("");
+          if(!postdata)
+            return PARAM_NO_MEM;
+        }
+      }
+      else {
+        GetStr(&postdata, nextarg);
+        if(postdata)
+          size = strlen(postdata);
+      }
+      if(subletter == 'f')
+        config->jsoned = TRUE;
+
+      if(config->postfields) {
+        /* we already have a string, we append this one with a separating
+           &-letter */
+        char *oldpost = config->postfields;
+        curl_off_t oldlen = config->postfieldsize;
+        curl_off_t newlen = oldlen + curlx_uztoso(size) + 2;
+        config->postfields = malloc((size_t)newlen);
+        if(!config->postfields) {
+          Curl_safefree(oldpost);
+          Curl_safefree(postdata);
+          return PARAM_NO_MEM;
+        }
+        memcpy(config->postfields, oldpost, (size_t)oldlen);
+        if(subletter != 'f') {
+          /* skip this treatment for --json */
+          /* use byte value 0x26 for '&' to accommodate non-ASCII platforms */
+          config->postfields[oldlen] = '\x26';
+          memcpy(&config->postfields[oldlen + 1], postdata, size);
+          config->postfields[oldlen + 1 + size] = '\0';
+          config->postfieldsize += size + 1;
+        }
+        else {
+          memcpy(&config->postfields[oldlen], postdata, size);
+          config->postfields[oldlen + size] = '\0';
+          config->postfieldsize += size;
+        }
+        Curl_safefree(oldpost);
+        Curl_safefree(postdata);
+      }
+      else {
+        config->postfields = postdata;
+        config->postfieldsize = curlx_uztoso(size);
+      }
+    }
+    /*
+      We can't set the request type here, as this data might be used in
+      a simple GET if -G is used. Already or soon.
+
+      if(SetHTTPrequest(HTTPREQ_SIMPLEPOST, &config->httpreq)) {
+        Curl_safefree(postdata);
+        return PARAM_BAD_USE;
+      }
+    */
+    break;
+    case 'D':
+      /* dump-header to given file name */
+      GetStr(&config->headerfile, nextarg);
+      break;
+    case 'e':
+    {
+      char *ptr = strstr(nextarg, ";auto");
+      if(ptr) {
+        /* Automatic referer requested, this may be combined with a
+           set initial one */
+        config->autoreferer = TRUE;
+        *ptr = 0; /* null-terminate here */
+      }
+      else
+        config->autoreferer = FALSE;
+      ptr = *nextarg ? nextarg : NULL;
+      GetStr(&config->referer, ptr);
+    }
+    break;
+    case 'E':
+      switch(subletter) {
+      case '\0': /* certificate file */
+        cleanarg(clearthis);
+        GetFileAndPassword(nextarg, &config->cert, &config->key_passwd);
+        break;
+      case 'a': /* CA info PEM file */
+        GetStr(&config->cacert, nextarg);
+        break;
+      case 'b': /* cert file type */
+        GetStr(&config->cert_type, nextarg);
+        break;
+      case 'c': /* private key file */
+        GetStr(&config->key, nextarg);
+        break;
+      case 'd': /* private key file type */
+        GetStr(&config->key_type, nextarg);
+        break;
+      case 'e': /* private key passphrase */
+        GetStr(&config->key_passwd, nextarg);
+        cleanarg(clearthis);
+        break;
+      case 'f': /* crypto engine */
+        GetStr(&config->engine, nextarg);
+        if(config->engine && curl_strequal(config->engine, "list"))
+          return PARAM_ENGINES_REQUESTED;
+        break;
+      case 'g': /* CA cert directory */
+        GetStr(&config->capath, nextarg);
+        break;
+      case 'h': /* --pubkey public key file */
+        GetStr(&config->pubkey, nextarg);
+        break;
+      case 'i': /* --hostpubmd5 md5 of the host public key */
+        GetStr(&config->hostpubmd5, nextarg);
+        if(!config->hostpubmd5 || strlen(config->hostpubmd5) != 32)
+          return PARAM_BAD_USE;
+        break;
+      case 'F': /* --hostpubsha256 sha256 of the host public key */
+        GetStr(&config->hostpubsha256, nextarg);
+        break;
+      case 'j': /* CRL file */
+        GetStr(&config->crlfile, nextarg);
+        break;
+      case 'k': /* TLS username */
+        if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) {
+          cleanarg(clearthis);
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        GetStr(&config->tls_username, nextarg);
+        cleanarg(clearthis);
+        break;
+      case 'l': /* TLS password */
+        if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) {
+          cleanarg(clearthis);
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        GetStr(&config->tls_password, nextarg);
+        cleanarg(clearthis);
+        break;
+      case 'm': /* TLS authentication type */
+        if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) {
+          GetStr(&config->tls_authtype, nextarg);
+          if(!curl_strequal(config->tls_authtype, "SRP"))
+            return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */
+        }
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+      case 'n': /* no empty SSL fragments, --ssl-allow-beast */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->ssl_allow_beast = toggle;
+        break;
+
+      case 'o': /* --ssl-auto-client-cert */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->ssl_auto_client_cert = toggle;
+        break;
+
+      case 'O': /* --proxy-ssl-auto-client-cert */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->proxy_ssl_auto_client_cert = toggle;
+        break;
+
+      case 'p': /* Pinned public key DER file */
+        GetStr(&config->pinnedpubkey, nextarg);
+        break;
+
+      case 'P': /* proxy pinned public key */
+        GetStr(&config->proxy_pinnedpubkey, nextarg);
+        break;
+
+      case 'q': /* --cert-status */
+        config->verifystatus = TRUE;
+        break;
+
+      case 'Q': /* --doh-cert-status */
+        config->doh_verifystatus = TRUE;
+        break;
+
+      case 'r': /* --false-start */
+        config->falsestart = TRUE;
+        break;
+
+      case 's': /* --ssl-no-revoke */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->ssl_no_revoke = TRUE;
+        break;
+
+      case 'S': /* --ssl-revoke-best-effort */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->ssl_revoke_best_effort = TRUE;
+        break;
+
+      case 't': /* --tcp-fastopen */
+        config->tcp_fastopen = TRUE;
+        break;
+
+      case 'u': /* TLS username for proxy */
+        cleanarg(clearthis);
+        if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) {
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        GetStr(&config->proxy_tls_username, nextarg);
+        break;
+
+      case 'v': /* TLS password for proxy */
+        cleanarg(clearthis);
+        if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) {
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        }
+        GetStr(&config->proxy_tls_password, nextarg);
+        break;
+
+      case 'w': /* TLS authentication type for proxy */
+        if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) {
+          GetStr(&config->proxy_tls_authtype, nextarg);
+          if(!curl_strequal(config->proxy_tls_authtype, "SRP"))
+            return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */
+        }
+        else
+          return PARAM_LIBCURL_DOESNT_SUPPORT;
+        break;
+
+      case 'x': /* certificate file for proxy */
+        cleanarg(clearthis);
+        GetFileAndPassword(nextarg, &config->proxy_cert,
+                           &config->proxy_key_passwd);
+        break;
+
+      case 'y': /* cert file type for proxy */
+        GetStr(&config->proxy_cert_type, nextarg);
+        break;
+
+      case 'z': /* private key file for proxy */
+        GetStr(&config->proxy_key, nextarg);
+        break;
+
+      case '0': /* private key file type for proxy */
+        GetStr(&config->proxy_key_type, nextarg);
+        break;
+
+      case '1': /* private key passphrase for proxy */
+        GetStr(&config->proxy_key_passwd, nextarg);
+        cleanarg(clearthis);
+        break;
+
+      case '2': /* ciphers for proxy */
+        GetStr(&config->proxy_cipher_list, nextarg);
+        break;
+
+      case '3': /* CRL file for proxy */
+        GetStr(&config->proxy_crlfile, nextarg);
+        break;
+
+      case '4': /* no empty SSL fragments for proxy */
+        if(curlinfo->features & CURL_VERSION_SSL)
+          config->proxy_ssl_allow_beast = toggle;
+        break;
+
+      case '5': /* --login-options */
+        GetStr(&config->login_options, nextarg);
+        break;
+
+      case '6': /* CA info PEM file for proxy */
+        GetStr(&config->proxy_cacert, nextarg);
+        break;
+
+      case '7': /* CA cert directory for proxy */
+        GetStr(&config->proxy_capath, nextarg);
+        break;
+
+      case '8': /* allow insecure SSL connects for proxy */
+        config->proxy_insecure_ok = toggle;
+        break;
+
+      case '9': /* --proxy-tlsv1 */
+        /* TLS version 1 for proxy */
+        config->proxy_ssl_version = CURL_SSLVERSION_TLSv1;
+        break;
+
+      case 'A':
+        /* --socks5-basic */
+        if(toggle)
+          config->socks5_auth |= CURLAUTH_BASIC;
+        else
+          config->socks5_auth &= ~CURLAUTH_BASIC;
+        break;
+
+      case 'B':
+        /* --socks5-gssapi */
+        if(toggle)
+          config->socks5_auth |= CURLAUTH_GSSAPI;
+        else
+          config->socks5_auth &= ~CURLAUTH_GSSAPI;
+        break;
+
+      case 'C':
+        GetStr(&config->etag_save_file, nextarg);
+        break;
+
+      case 'D':
+        GetStr(&config->etag_compare_file, nextarg);
+        break;
+
+      case 'E':
+        GetStr(&config->ssl_ec_curves, nextarg);
+        break;
+
+      default: /* unknown flag */
+        return PARAM_OPTION_UNKNOWN;
+      }
+      break;
+    case 'f':
+      switch(subletter) {
+      case 'a': /* --fail-early */
+        global->fail_early = toggle;
+        break;
+      case 'b': /* --styled-output */
+        global->styled_output = toggle;
+        break;
+      case 'c': /* --mail-rcpt-allowfails */
+        config->mail_rcpt_allowfails = toggle;
+        break;
+      case 'd': /* --fail-with-body */
+        config->failwithbody = toggle;
+        break;
+      case 'e': /* --remove-on-error */
+        config->rm_partial = toggle;
+        break;
+       default: /* --fail (hard on errors)  */
+        config->failonerror = toggle;
+        break;
+      }
+      if(config->failonerror && config->failwithbody) {
+        errorf(config->global, "You must select either --fail or "
+               "--fail-with-body, not both.\n");
+        return PARAM_BAD_USE;
+      }
+      break;
+    case 'F':
+      /* "form data" simulation, this is a little advanced so lets do our best
+         to sort this out slowly and carefully */
+      if(formparse(config,
+                   nextarg,
+                   &config->mimeroot,
+                   &config->mimecurrent,
+                   (subletter == 's')?TRUE:FALSE)) /* 's' is literal string */
+        return PARAM_BAD_USE;
+      if(SetHTTPrequest(config, HTTPREQ_MIMEPOST, &config->httpreq))
+        return PARAM_BAD_USE;
+      break;
+
+    case 'g': /* g disables URLglobbing */
+      config->globoff = toggle;
+      break;
+
+    case 'G': /* HTTP GET */
+      if(subletter == 'a') { /* --request-target */
+        GetStr(&config->request_target, nextarg);
+      }
+      else
+        config->use_httpget = TRUE;
+      break;
+
+    case 'h': /* h for help */
+      if(toggle) {
+        if(nextarg) {
+          global->help_category = strdup(nextarg);
+          if(!global->help_category)
+            return PARAM_NO_MEM;
+        }
+        return PARAM_HELP_REQUESTED;
+      }
+      /* we now actually support --no-help too! */
+      break;
+    case 'H':
+      /* A custom header to append to a list */
+      if(nextarg[0] == '@') {
+        /* read many headers from a file or stdin */
+        char *string;
+        size_t len;
+        bool use_stdin = !strcmp(&nextarg[1], "-");
+        FILE *file = use_stdin?stdin:fopen(&nextarg[1], FOPEN_READTEXT);
+        if(!file)
+          warnf(global, "Failed to open %s!\n", &nextarg[1]);
+        else {
+          err = file2memory(&string, &len, file);
+          if(!err && string) {
+            /* Allow strtok() here since this isn't used threaded */
+            /* !checksrc! disable BANNEDFUNC 2 */
+            char *h = strtok(string, "\r\n");
+            while(h) {
+              if(subletter == 'p') /* --proxy-header */
+                err = add2list(&config->proxyheaders, h);
+              else
+                err = add2list(&config->headers, h);
+              if(err)
+                break;
+              h = strtok(NULL, "\r\n");
+            }
+            free(string);
+          }
+          if(!use_stdin)
+            fclose(file);
+          if(err)
+            return err;
+        }
+      }
+      else {
+        if(subletter == 'p') /* --proxy-header */
+          err = add2list(&config->proxyheaders, nextarg);
+        else
+          err = add2list(&config->headers, nextarg);
+        if(err)
+          return err;
+      }
+      break;
+    case 'i':
+      config->show_headers = toggle; /* show the headers as well in the
+                                        general output stream */
+      break;
+    case 'j':
+      config->cookiesession = toggle;
+      break;
+    case 'I': /* --head */
+      config->no_body = toggle;
+      config->show_headers = toggle;
+      if(SetHTTPrequest(config,
+                        (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET,
+                        &config->httpreq))
+        return PARAM_BAD_USE;
+      break;
+    case 'J': /* --remote-header-name */
+      config->content_disposition = toggle;
+      break;
+    case 'k': /* allow insecure SSL connects */
+      if(subletter == 'd') /* --doh-insecure */
+        config->doh_insecure_ok = toggle;
+      else
+        config->insecure_ok = toggle;
+      break;
+    case 'K': /* parse config file */
+      if(parseconfig(nextarg, global)) {
+        errorf(global, "cannot read config from '%s'\n", nextarg);
+        return PARAM_READ_ERROR;
+      }
+      break;
+    case 'l':
+      config->dirlistonly = toggle; /* only list the names of the FTP dir */
+      break;
+    case 'L':
+      config->followlocation = toggle; /* Follow Location: HTTP headers */
+      switch(subletter) {
+      case 't':
+        /* Continue to send authentication (user+password) when following
+         * locations, even when hostname changed */
+        config->unrestricted_auth = toggle;
+        break;
+      }
+      break;
+    case 'm':
+      /* specified max time */
+      err = str2udouble(&config->timeout, nextarg, (double)LONG_MAX/1000);
+      if(err)
+        return err;
+      break;
+    case 'M': /* M for manual, huge help */
+      if(toggle) { /* --no-manual shows no manual... */
+#ifndef USE_MANUAL
+        warnf(global,
+              "built-in manual was disabled at build-time!\n");
+#endif
+        return PARAM_MANUAL_REQUESTED;
+      }
+      break;
+    case 'n':
+      switch(subletter) {
+      case 'o': /* use .netrc or URL */
+        config->netrc_opt = toggle;
+        break;
+      case 'e': /* netrc-file */
+        GetStr(&config->netrc_file, nextarg);
+        break;
+      default:
+        /* pick info from .netrc, if this is used for http, curl will
+           automatically enforce user+password with the request */
+        config->netrc = toggle;
+        break;
+      }
+      break;
+    case 'N':
+      /* disable the output I/O buffering. note that the option is called
+         --buffer but is mostly used in the negative form: --no-buffer */
+      config->nobuffer = longopt ? !toggle : TRUE;
+      break;
+    case 'O': /* --remote-name */
+      if(subletter == 'a') { /* --remote-name-all */
+        config->default_node_flags = toggle?GETOUT_USEREMOTE:0;
+        break;
+      }
+      else if(subletter == 'b') { /* --output-dir */
+        GetStr(&config->output_dir, nextarg);
+        break;
+      }
+      else if(subletter == 'c') { /* --clobber / --no-clobber */
+        config->file_clobber_mode = toggle ? CLOBBER_ALWAYS : CLOBBER_NEVER;
+        break;
+      }
+      /* FALLTHROUGH */
+    case 'o': /* --output */
+      /* output file */
+    {
+      struct getout *url;
+      if(!config->url_out)
+        config->url_out = config->url_list;
+      if(config->url_out) {
+        /* there's a node here, if it already is filled-in continue to find
+           an "empty" node */
+        while(config->url_out && (config->url_out->flags & GETOUT_OUTFILE))
+          config->url_out = config->url_out->next;
+      }
+
+      /* now there might or might not be an available node to fill in! */
+
+      if(config->url_out)
+        /* existing node */
+        url = config->url_out;
+      else
+        /* there was no free node, create one! */
+        config->url_out = url = new_getout(config);
+
+      if(!url)
+        return PARAM_NO_MEM;
+
+      /* fill in the outfile */
+      if('o' == letter) {
+        if(!*nextarg) {
+          warnf(global, "output file name has no length\n");
+          return PARAM_BAD_USE;
+        }
+        GetStr(&url->outfile, nextarg);
+        url->flags &= ~GETOUT_USEREMOTE; /* switch off */
+      }
+      else {
+        url->outfile = NULL; /* leave it */
+        if(toggle)
+          url->flags |= GETOUT_USEREMOTE;  /* switch on */
+        else
+          url->flags &= ~GETOUT_USEREMOTE; /* switch off */
+      }
+      url->flags |= GETOUT_OUTFILE;
+    }
+    break;
+    case 'P':
+      /* This makes the FTP sessions use PORT instead of PASV */
+      /* use <eth0> or <192.168.10.10> style addresses. Anything except
+         this will make us try to get the "default" address.
+         NOTE: this is a changed behavior since the released 4.1!
+      */
+      GetStr(&config->ftpport, nextarg);
+      break;
+    case 'p':
+      /* proxy tunnel for non-http protocols */
+      config->proxytunnel = toggle;
+      break;
+
+    case 'q': /* if used first, already taken care of, we do it like
+                 this so we don't cause an error! */
+      break;
+    case 'Q':
+      /* QUOTE command to send to FTP server */
+      switch(nextarg[0]) {
+      case '-':
+        /* prefixed with a dash makes it a POST TRANSFER one */
+        nextarg++;
+        err = add2list(&config->postquote, nextarg);
+        break;
+      case '+':
+        /* prefixed with a plus makes it a just-before-transfer one */
+        nextarg++;
+        err = add2list(&config->prequote, nextarg);
+        break;
+      default:
+        err = add2list(&config->quote, nextarg);
+        break;
+      }
+      if(err)
+        return err;
+      break;
+    case 'r':
+      /* Specifying a range WITHOUT A DASH will create an illegal HTTP range
+         (and won't actually be range by definition). The man page previously
+         claimed that to be a good way, why this code is added to work-around
+         it. */
+      if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) {
+        char buffer[32];
+        curl_off_t off;
+        if(curlx_strtoofft(nextarg, NULL, 10, &off)) {
+          warnf(global, "unsupported range point\n");
+          return PARAM_BAD_USE;
+        }
+        warnf(global,
+              "A specified range MUST include at least one dash (-). "
+              "Appending one for you!\n");
+        msnprintf(buffer, sizeof(buffer), "%" CURL_FORMAT_CURL_OFF_T "-", off);
+        Curl_safefree(config->range);
+        config->range = strdup(buffer);
+        if(!config->range)
+          return PARAM_NO_MEM;
+      }
+      else {
+        /* byte range requested */
+        const char *tmp_range = nextarg;
+        while(*tmp_range != '\0') {
+          if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') {
+            warnf(global, "Invalid character is found in given range. "
+                  "A specified range MUST have only digits in "
+                  "\'start\'-\'stop\'. The server's response to this "
+                  "request is uncertain.\n");
+            break;
+          }
+          tmp_range++;
+        }
+        GetStr(&config->range, nextarg);
+      }
+      break;
+    case 'R':
+      /* use remote file's time */
+      config->remote_time = toggle;
+      break;
+    case 's':
+      /* don't show progress meter, don't show errors : */
+      if(toggle)
+        global->mute = global->noprogress = TRUE;
+      else
+        global->mute = global->noprogress = FALSE;
+      if(global->showerror < 0)
+        /* if still on the default value, set showerror to the reverse of
+           toggle. This is to allow -S and -s to be used in an independent
+           order but still have the same effect. */
+        global->showerror = (!toggle)?TRUE:FALSE; /* toggle off */
+      break;
+    case 'S':
+      /* show errors */
+      global->showerror = toggle?1:0; /* toggle on if used with -s */
+      break;
+    case 't':
+      /* Telnet options */
+      err = add2list(&config->telnet_options, nextarg);
+      if(err)
+        return err;
+      break;
+    case 'T':
+      /* we are uploading */
+    {
+      struct getout *url;
+      if(!config->url_ul)
+        config->url_ul = config->url_list;
+      if(config->url_ul) {
+        /* there's a node here, if it already is filled-in continue to find
+           an "empty" node */
+        while(config->url_ul && (config->url_ul->flags & GETOUT_UPLOAD))
+          config->url_ul = config->url_ul->next;
+      }
+
+      /* now there might or might not be an available node to fill in! */
+
+      if(config->url_ul)
+        /* existing node */
+        url = config->url_ul;
+      else
+        /* there was no free node, create one! */
+        config->url_ul = url = new_getout(config);
+
+      if(!url)
+        return PARAM_NO_MEM;
+
+      url->flags |= GETOUT_UPLOAD; /* mark -T used */
+      if(!*nextarg)
+        url->flags |= GETOUT_NOUPLOAD;
+      else {
+        /* "-" equals stdin, but keep the string around for now */
+        GetStr(&url->infile, nextarg);
+      }
+    }
+    break;
+    case 'u':
+      /* user:password  */
+      GetStr(&config->userpwd, nextarg);
+      cleanarg(clearthis);
+      break;
+    case 'U':
+      /* Proxy user:password  */
+      GetStr(&config->proxyuserpwd, nextarg);
+      cleanarg(clearthis);
+      break;
+    case 'v':
+      if(toggle) {
+        /* the '%' thing here will cause the trace get sent to stderr */
+        Curl_safefree(global->trace_dump);
+        global->trace_dump = strdup("%");
+        if(!global->trace_dump)
+          return PARAM_NO_MEM;
+        if(global->tracetype && (global->tracetype != TRACE_PLAIN))
+          warnf(global,
+                "-v, --verbose overrides an earlier trace/verbose option\n");
+        global->tracetype = TRACE_PLAIN;
+      }
+      else
+        /* verbose is disabled here */
+        global->tracetype = TRACE_NONE;
+      break;
+    case 'V':
+      if(toggle)    /* --no-version yields no output! */
+        return PARAM_VERSION_INFO_REQUESTED;
+      break;
+
+    case 'w':
+      /* get the output string */
+      if('@' == *nextarg) {
+        /* the data begins with a '@' letter, it means that a file name
+           or - (stdin) follows */
+        FILE *file;
+        const char *fname;
+        nextarg++; /* pass the @ */
+        if(!strcmp("-", nextarg)) {
+          fname = "<stdin>";
+          file = stdin;
+        }
+        else {
+          fname = nextarg;
+          file = fopen(nextarg, FOPEN_READTEXT);
+        }
+        Curl_safefree(config->writeout);
+        err = file2string(&config->writeout, file);
+        if(file && (file != stdin))
+          fclose(file);
+        if(err)
+          return err;
+        if(!config->writeout)
+          warnf(global, "Failed to read %s", fname);
+      }
+      else
+        GetStr(&config->writeout, nextarg);
+      break;
+    case 'x':
+      switch(subletter) {
+      case 'a': /* --preproxy */
+        GetStr(&config->preproxy, nextarg);
+        break;
+      default:
+        /* --proxy */
+        GetStr(&config->proxy, nextarg);
+        config->proxyver = CURLPROXY_HTTP;
+        break;
+      }
+      break;
+    case 'X':
+      /* set custom request */
+      GetStr(&config->customrequest, nextarg);
+      break;
+    case 'y':
+      /* low speed time */
+      err = str2unum(&config->low_speed_time, nextarg);
+      if(err)
+        return err;
+      if(!config->low_speed_limit)
+        config->low_speed_limit = 1;
+      break;
+    case 'Y':
+      /* low speed limit */
+      err = str2unum(&config->low_speed_limit, nextarg);
+      if(err)
+        return err;
+      if(!config->low_speed_time)
+        config->low_speed_time = 30;
+      break;
+    case 'Z':
+      switch(subletter) {
+      case '\0':  /* --parallel */
+        global->parallel = toggle;
+        break;
+      case 'b':   /* --parallel-max */
+        err = str2unum(&global->parallel_max, nextarg);
+        if(err)
+          return err;
+        if(global->parallel_max > MAX_PARALLEL)
+          global->parallel_max = MAX_PARALLEL;
+        else if(global->parallel_max < 1)
+          global->parallel_max = PARALLEL_DEFAULT;
+        break;
+      case 'c':   /* --parallel-connect */
+        global->parallel_connect = toggle;
+        break;
+      }
+      break;
+    case 'z': /* time condition coming up */
+      switch(*nextarg) {
+      case '+':
+        nextarg++;
+        /* FALLTHROUGH */
+      default:
+        /* If-Modified-Since: (section 14.28 in RFC2068) */
+        config->timecond = CURL_TIMECOND_IFMODSINCE;
+        break;
+      case '-':
+        /* If-Unmodified-Since:  (section 14.24 in RFC2068) */
+        config->timecond = CURL_TIMECOND_IFUNMODSINCE;
+        nextarg++;
+        break;
+      case '=':
+        /* Last-Modified:  (section 14.29 in RFC2068) */
+        config->timecond = CURL_TIMECOND_LASTMOD;
+        nextarg++;
+        break;
+      }
+      now = time(NULL);
+      config->condtime = (curl_off_t)curl_getdate(nextarg, &now);
+      if(-1 == config->condtime) {
+        /* now let's see if it is a file name to get the time from instead! */
+        curl_off_t filetime = getfiletime(nextarg, global);
+        if(filetime >= 0) {
+          /* pull the time out from the file */
+          config->condtime = filetime;
+        }
+        else {
+          /* failed, remove time condition */
+          config->timecond = CURL_TIMECOND_NONE;
+          warnf(global,
+                "Illegal date format for -z, --time-cond (and not "
+                "a file name). Disabling time condition. "
+                "See curl_getdate(3) for valid date syntax.\n");
+        }
+      }
+      break;
+    default: /* unknown flag */
+      return PARAM_OPTION_UNKNOWN;
+    }
+    hit = -1;
+
+  } while(!longopt && !singleopt && *++parse && !*usedarg);
+
+  return PARAM_OK;
+}
+
+ParameterError parse_args(struct GlobalConfig *global, int argc,
+                          argv_item_t argv[])
+{
+  int i;
+  bool stillflags;
+  char *orig_opt = NULL;
+  ParameterError result = PARAM_OK;
+  struct OperationConfig *config = global->first;
+
+  for(i = 1, stillflags = TRUE; i < argc && !result; i++) {
+    orig_opt = curlx_convert_tchar_to_UTF8(argv[i]);
+    if(!orig_opt)
+      return PARAM_NO_MEM;
+
+    if(stillflags && ('-' == orig_opt[0])) {
+      bool passarg;
+
+      if(!strcmp("--", orig_opt))
+        /* This indicates the end of the flags and thus enables the
+           following (URL) argument to start with -. */
+        stillflags = FALSE;
+      else {
+        char *nextarg = NULL;
+        if(i < (argc - 1)) {
+          nextarg = curlx_convert_tchar_to_UTF8(argv[i + 1]);
+          if(!nextarg) {
+            curlx_unicodefree(orig_opt);
+            return PARAM_NO_MEM;
+          }
+        }
+
+        result = getparameter(orig_opt, nextarg, &passarg,
+                              global, config);
+
+        curlx_unicodefree(nextarg);
+        config = global->last;
+        if(result == PARAM_NEXT_OPERATION) {
+          /* Reset result as PARAM_NEXT_OPERATION is only used here and not
+             returned from this function */
+          result = PARAM_OK;
+
+          if(config->url_list && config->url_list->url) {
+            /* Allocate the next config */
+            config->next = malloc(sizeof(struct OperationConfig));
+            if(config->next) {
+              /* Initialise the newly created config */
+              config_init(config->next);
+
+              /* Set the global config pointer */
+              config->next->global = global;
+
+              /* Update the last config pointer */
+              global->last = config->next;
+
+              /* Move onto the new config */
+              config->next->prev = config;
+              config = config->next;
+            }
+            else
+              result = PARAM_NO_MEM;
+          }
+        }
+        else if(!result && passarg)
+          i++; /* we're supposed to skip this */
+      }
+    }
+    else {
+      bool used;
+
+      /* Just add the URL please */
+      result = getparameter("--url", orig_opt, &used, global, config);
+    }
+
+    if(!result)
+      curlx_unicodefree(orig_opt);
+  }
+
+  if(!result && config->content_disposition) {
+    if(config->show_headers)
+      result = PARAM_CONTDISP_SHOW_HEADER;
+    else if(config->resume_from_current)
+      result = PARAM_CONTDISP_RESUME_FROM;
+  }
+
+  if(result && result != PARAM_HELP_REQUESTED &&
+     result != PARAM_MANUAL_REQUESTED &&
+     result != PARAM_VERSION_INFO_REQUESTED &&
+     result != PARAM_ENGINES_REQUESTED) {
+    const char *reason = param2text(result);
+
+    if(orig_opt && strcmp(":", orig_opt))
+      helpf(global->errors, "option %s: %s\n", orig_opt, reason);
+    else
+      helpf(global->errors, "%s\n", reason);
+  }
+
+  curlx_unicodefree(orig_opt);
+  return result;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.h b/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.h
new file mode 100755
index 0000000..3eb1773
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_getparam.h
@@ -0,0 +1,71 @@
+#ifndef HEADER_CURL_TOOL_GETPARAM_H
+#define HEADER_CURL_TOOL_GETPARAM_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+typedef enum {
+  PARAM_OK = 0,
+  PARAM_OPTION_AMBIGUOUS,
+  PARAM_OPTION_UNKNOWN,
+  PARAM_REQUIRES_PARAMETER,
+  PARAM_BAD_USE,
+  PARAM_HELP_REQUESTED,
+  PARAM_MANUAL_REQUESTED,
+  PARAM_VERSION_INFO_REQUESTED,
+  PARAM_ENGINES_REQUESTED,
+  PARAM_GOT_EXTRA_PARAMETER,
+  PARAM_BAD_NUMERIC,
+  PARAM_NEGATIVE_NUMERIC,
+  PARAM_LIBCURL_DOESNT_SUPPORT,
+  PARAM_LIBCURL_UNSUPPORTED_PROTOCOL,
+  PARAM_NO_MEM,
+  PARAM_NEXT_OPERATION,
+  PARAM_NO_PREFIX,
+  PARAM_NUMBER_TOO_LARGE,
+  PARAM_NO_NOT_BOOLEAN,
+  PARAM_CONTDISP_SHOW_HEADER, /* --include and --remote-header-name */
+  PARAM_CONTDISP_RESUME_FROM, /* --continue-at and --remote-header-name */
+  PARAM_READ_ERROR,
+  PARAM_LAST
+} ParameterError;
+
+struct GlobalConfig;
+struct OperationConfig;
+
+ParameterError getparameter(const char *flag, char *nextarg,
+                            bool *usedarg,
+                            struct GlobalConfig *global,
+                            struct OperationConfig *operation);
+
+#ifdef UNITTESTS
+void parse_cert_parameter(const char *cert_parameter,
+                          char **certname,
+                          char **passphrase);
+#endif
+
+ParameterError parse_args(struct GlobalConfig *config, int argc,
+                          argv_item_t argv[]);
+
+#endif /* HEADER_CURL_TOOL_GETPARAM_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.c b/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.c
new file mode 100755
index 0000000..c959c5a
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.c
@@ -0,0 +1,254 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(__AMIGA__) && !defined(__amigaos4__)
+#  undef HAVE_TERMIOS_H
+#endif
+
+#ifndef HAVE_GETPASS_R
+/* this file is only for systems without getpass_r() */
+
+#ifdef HAVE_FCNTL_H
+#  include <fcntl.h>
+#endif
+
+#ifdef HAVE_TERMIOS_H
+#  include <termios.h>
+#elif defined(HAVE_TERMIO_H)
+#  include <termio.h>
+#endif
+
+#ifdef __VMS
+#  include descrip
+#  include starlet
+#  include iodef
+#endif
+
+#ifdef WIN32
+#  include <conio.h>
+#endif
+
+#ifdef NETWARE
+#  ifdef __NOVELL_LIBC__
+#    include <screen.h>
+#  else
+#    include <nwconio.h>
+#  endif
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include "tool_getpass.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef __VMS
+/* VMS implementation */
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  long sts;
+  short chan;
+
+  /* MSK, 23-JAN-2004, iosbdef.h wasn't in VAX V7.2 or CC 6.4  */
+  /* distribution so I created this.  May revert back later to */
+  /* struct _iosb iosb;                                        */
+  struct _iosb
+     {
+     short int iosb$w_status; /* status     */
+     short int iosb$w_bcnt;   /* byte count */
+     int       unused;        /* unused     */
+     } iosb;
+
+  $DESCRIPTOR(ttdesc, "TT");
+
+  buffer[0] = '\0';
+  sts = sys$assign(&ttdesc, &chan, 0, 0);
+  if(sts & 1) {
+    sts = sys$qiow(0, chan,
+                   IO$_READPROMPT | IO$M_NOECHO,
+                   &iosb, 0, 0, buffer, buflen, 0, 0,
+                   prompt, strlen(prompt));
+
+    if((sts & 1) && (iosb.iosb$w_status & 1))
+      buffer[iosb.iosb$w_bcnt] = '\0';
+
+    sys$dassgn(chan);
+  }
+  return buffer; /* we always return success */
+}
+#define DONE
+#endif /* __VMS */
+
+#if defined(WIN32)
+
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  size_t i;
+  fputs(prompt, stderr);
+
+  for(i = 0; i < buflen; i++) {
+    buffer[i] = (char)getch();
+    if(buffer[i] == '\r' || buffer[i] == '\n') {
+      buffer[i] = '\0';
+      break;
+    }
+    else
+      if(buffer[i] == '\b')
+        /* remove this letter and if this is not the first key, remove the
+           previous one as well */
+        i = i - (i >= 1 ? 2 : 1);
+  }
+  /* since echo is disabled, print a newline */
+  fputs("\n", stderr);
+  /* if user didn't hit ENTER, terminate buffer */
+  if(i == buflen)
+    buffer[buflen-1] = '\0';
+
+  return buffer; /* we always return success */
+}
+#define DONE
+#endif /* WIN32 */
+
+#ifdef NETWARE
+/* NetWare implementation */
+#ifdef __NOVELL_LIBC__
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  return getpassword(prompt, buffer, buflen);
+}
+#else
+char *getpass_r(const char *prompt, char *buffer, size_t buflen)
+{
+  size_t i = 0;
+
+  printf("%s", prompt);
+  do {
+    buffer[i++] = getch();
+    if(buffer[i-1] == '\b') {
+      /* remove this letter and if this is not the first key,
+         remove the previous one as well */
+      if(i > 1) {
+        printf("\b \b");
+        i = i - 2;
+      }
+      else {
+        RingTheBell();
+        i = i - 1;
+      }
+    }
+    else if(buffer[i-1] != 13)
+      putchar('*');
+
+  } while((buffer[i-1] != 13) && (i < buflen));
+  buffer[i-1] = '\0';
+  printf("\r\n");
+  return buffer;
+}
+#endif /* __NOVELL_LIBC__ */
+#define DONE
+#endif /* NETWARE */
+
+#ifndef DONE /* not previously provided */
+
+#ifdef HAVE_TERMIOS_H
+#  define struct_term  struct termios
+#elif defined(HAVE_TERMIO_H)
+#  define struct_term  struct termio
+#else
+#  undef  struct_term
+#endif
+
+static bool ttyecho(bool enable, int fd)
+{
+#ifdef struct_term
+  static struct_term withecho;
+  static struct_term noecho;
+#endif
+  if(!enable) {
+    /* disable echo by extracting the current 'withecho' mode and remove the
+       ECHO bit and set back the struct */
+#ifdef HAVE_TERMIOS_H
+    tcgetattr(fd, &withecho);
+    noecho = withecho;
+    noecho.c_lflag &= ~ECHO;
+    tcsetattr(fd, TCSANOW, &noecho);
+#elif defined(HAVE_TERMIO_H)
+    ioctl(fd, TCGETA, &withecho);
+    noecho = withecho;
+    noecho.c_lflag &= ~ECHO;
+    ioctl(fd, TCSETA, &noecho);
+#else
+    /* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H, we can't disable echo! */
+    (void)fd;
+    return FALSE; /* not disabled */
+#endif
+    return TRUE; /* disabled */
+  }
+  /* re-enable echo, assumes we disabled it before (and set the structs we
+     now use to reset the terminal status) */
+#ifdef HAVE_TERMIOS_H
+  tcsetattr(fd, TCSAFLUSH, &withecho);
+#elif defined(HAVE_TERMIO_H)
+  ioctl(fd, TCSETA, &withecho);
+#else
+  return FALSE; /* not enabled */
+#endif
+  return TRUE; /* enabled */
+}
+
+char *getpass_r(const char *prompt, /* prompt to display */
+                char *password,     /* buffer to store password in */
+                size_t buflen)      /* size of buffer to store password in */
+{
+  ssize_t nread;
+  bool disabled;
+  int fd = open("/dev/tty", O_RDONLY);
+  if(-1 == fd)
+    fd = STDIN_FILENO; /* use stdin if the tty couldn't be used */
+
+  disabled = ttyecho(FALSE, fd); /* disable terminal echo */
+
+  fputs(prompt, stderr);
+  nread = read(fd, password, buflen);
+  if(nread > 0)
+    password[--nread] = '\0'; /* null-terminate where enter is stored */
+  else
+    password[0] = '\0'; /* got nothing */
+
+  if(disabled) {
+    /* if echo actually was disabled, add a newline */
+    fputs("\n", stderr);
+    (void)ttyecho(TRUE, fd); /* enable echo */
+  }
+
+  if(STDIN_FILENO != fd)
+    close(fd);
+
+  return password; /* return pointer to buffer */
+}
+
+#endif /* DONE */
+#endif /* HAVE_GETPASS_R */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.h b/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.h
new file mode 100755
index 0000000..01dc464
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_getpass.h
@@ -0,0 +1,38 @@
+#ifndef HEADER_CURL_TOOL_GETPASS_H
+#define HEADER_CURL_TOOL_GETPASS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifndef HAVE_GETPASS_R
+/* If there's a system-provided function named like this, we trust it is
+   also found in one of the standard headers. */
+
+/*
+ * Returning NULL will abort the continued operation!
+ */
+char *getpass_r(const char *prompt, char *buffer, size_t buflen);
+#endif
+
+#endif /* HEADER_CURL_TOOL_GETPASS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_help.c b/ap/lib/libcurl/curl-7.86.0/src/tool_help.c
new file mode 100755
index 0000000..65a1f43
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_help.c
@@ -0,0 +1,253 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_panykey.h"
+#include "tool_help.h"
+#include "tool_libinfo.h"
+#include "tool_util.h"
+#include "tool_version.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef MSDOS
+#  define USE_WATT32
+#endif
+
+struct category_descriptors {
+  const char *opt;
+  const char *desc;
+  curlhelp_t category;
+};
+
+static const struct category_descriptors categories[] = {
+  {"auth", "Different types of authentication methods", CURLHELP_AUTH},
+  {"connection", "Low level networking operations",
+   CURLHELP_CONNECTION},
+  {"curl", "The command line tool itself", CURLHELP_CURL},
+  {"dns", "General DNS options", CURLHELP_DNS},
+  {"file", "FILE protocol options", CURLHELP_FILE},
+  {"ftp", "FTP protocol options", CURLHELP_FTP},
+  {"http", "HTTP and HTTPS protocol options", CURLHELP_HTTP},
+  {"imap", "IMAP protocol options", CURLHELP_IMAP},
+  /* important is left out because it is the default help page */
+  {"misc", "Options that don't fit into any other category", CURLHELP_MISC},
+  {"output", "Filesystem output", CURLHELP_OUTPUT},
+  {"pop3", "POP3 protocol options", CURLHELP_POP3},
+  {"post", "HTTP Post specific options", CURLHELP_POST},
+  {"proxy", "All options related to proxies", CURLHELP_PROXY},
+  {"scp", "SCP protocol options", CURLHELP_SCP},
+  {"sftp", "SFTP protocol options", CURLHELP_SFTP},
+  {"smtp", "SMTP protocol options", CURLHELP_SMTP},
+  {"ssh", "SSH protocol options", CURLHELP_SSH},
+  {"telnet", "TELNET protocol options", CURLHELP_TELNET},
+  {"tftp", "TFTP protocol options", CURLHELP_TFTP},
+  {"tls", "All TLS/SSL related options", CURLHELP_TLS},
+  {"upload", "All options for uploads",
+   CURLHELP_UPLOAD},
+  {"verbose", "Options related to any kind of command line output of curl",
+   CURLHELP_VERBOSE},
+  {NULL, NULL, CURLHELP_HIDDEN}
+};
+
+extern const struct helptxt helptext[];
+
+struct feat {
+  const char *name;
+  int bitmask;
+};
+
+static const struct feat feats[] = {
+  {"AsynchDNS",      CURL_VERSION_ASYNCHDNS},
+  {"Debug",          CURL_VERSION_DEBUG},
+  {"TrackMemory",    CURL_VERSION_CURLDEBUG},
+  {"IDN",            CURL_VERSION_IDN},
+  {"IPv6",           CURL_VERSION_IPV6},
+  {"Largefile",      CURL_VERSION_LARGEFILE},
+  {"Unicode",        CURL_VERSION_UNICODE},
+  {"SSPI",           CURL_VERSION_SSPI},
+  {"GSS-API",        CURL_VERSION_GSSAPI},
+  {"Kerberos",       CURL_VERSION_KERBEROS5},
+  {"SPNEGO",         CURL_VERSION_SPNEGO},
+  {"NTLM",           CURL_VERSION_NTLM},
+  {"NTLM_WB",        CURL_VERSION_NTLM_WB},
+  {"SSL",            CURL_VERSION_SSL},
+  {"libz",           CURL_VERSION_LIBZ},
+  {"brotli",         CURL_VERSION_BROTLI},
+  {"zstd",           CURL_VERSION_ZSTD},
+  {"CharConv",       CURL_VERSION_CONV},
+  {"TLS-SRP",        CURL_VERSION_TLSAUTH_SRP},
+  {"HTTP2",          CURL_VERSION_HTTP2},
+  {"HTTP3",          CURL_VERSION_HTTP3},
+  {"UnixSockets",    CURL_VERSION_UNIX_SOCKETS},
+  {"HTTPS-proxy",    CURL_VERSION_HTTPS_PROXY},
+  {"MultiSSL",       CURL_VERSION_MULTI_SSL},
+  {"PSL",            CURL_VERSION_PSL},
+  {"alt-svc",        CURL_VERSION_ALTSVC},
+  {"HSTS",           CURL_VERSION_HSTS},
+  {"gsasl",          CURL_VERSION_GSASL},
+  {"threadsafe",     CURL_VERSION_THREADSAFE},
+};
+
+static void print_category(curlhelp_t category)
+{
+  unsigned int i;
+  size_t longopt = 5;
+  size_t longdesc = 5;
+
+  for(i = 0; helptext[i].opt; ++i) {
+    size_t len;
+    if(!(helptext[i].categories & category))
+      continue;
+    len = strlen(helptext[i].opt);
+    if(len > longopt)
+      longopt = len;
+    len = strlen(helptext[i].desc);
+    if(len > longdesc)
+      longdesc = len;
+  }
+  if(longopt + longdesc > 80)
+    longopt = 80 - longdesc;
+
+  for(i = 0; helptext[i].opt; ++i)
+    if(helptext[i].categories & category) {
+      printf(" %-*s %s\n", (int)longopt, helptext[i].opt, helptext[i].desc);
+    }
+}
+
+/* Prints category if found. If not, it returns 1 */
+static int get_category_content(const char *category)
+{
+  unsigned int i;
+  for(i = 0; categories[i].opt; ++i)
+    if(curl_strequal(categories[i].opt, category)) {
+      printf("%s: %s\n", categories[i].opt, categories[i].desc);
+      print_category(categories[i].category);
+      return 0;
+    }
+  return 1;
+}
+
+/* Prints all categories and their description */
+static void get_categories(void)
+{
+  unsigned int i;
+  for(i = 0; categories[i].opt; ++i)
+    printf(" %-11s %s\n", categories[i].opt, categories[i].desc);
+}
+
+
+void tool_help(char *category)
+{
+  puts("Usage: curl [options...] <url>");
+  /* If no category was provided */
+  if(!category) {
+    const char *category_note = "\nThis is not the full help, this "
+      "menu is stripped into categories.\nUse \"--help category\" to get "
+      "an overview of all categories.\nFor all options use the manual"
+      " or \"--help all\".";
+    print_category(CURLHELP_IMPORTANT);
+    puts(category_note);
+  }
+  /* Lets print everything if "all" was provided */
+  else if(curl_strequal(category, "all"))
+    /* Print everything except hidden */
+    print_category(~(CURLHELP_HIDDEN));
+  /* Lets handle the string "category" differently to not print an errormsg */
+  else if(curl_strequal(category, "category"))
+    get_categories();
+  /* Otherwise print category and handle the case if the cat was not found */
+  else if(get_category_content(category)) {
+    puts("Invalid category provided, here is a list of all categories:\n");
+    get_categories();
+  }
+  free(category);
+}
+
+
+void tool_version_info(void)
+{
+  const char *const *proto;
+
+  printf(CURL_ID "%s\n", curl_version());
+#ifdef CURL_PATCHSTAMP
+  printf("Release-Date: %s, security patched: %s\n",
+         LIBCURL_TIMESTAMP, CURL_PATCHSTAMP);
+#else
+  printf("Release-Date: %s\n", LIBCURL_TIMESTAMP);
+#endif
+  if(curlinfo->protocols) {
+    printf("Protocols: ");
+    for(proto = curlinfo->protocols; *proto; ++proto) {
+      /* Special case: do not list rtmp?* protocols.
+         They may only appear together with "rtmp" */
+      if(!curl_strnequal(*proto, "rtmp", 4) || !proto[0][4])
+        printf("%s ", *proto);
+    }
+    puts(""); /* newline */
+  }
+  if(curlinfo->features) {
+    char *featp[ sizeof(feats) / sizeof(feats[0]) + 1];
+    size_t numfeat = 0;
+    unsigned int i;
+    printf("Features:");
+    for(i = 0; i < sizeof(feats)/sizeof(feats[0]); i++) {
+      if(curlinfo->features & feats[i].bitmask)
+        featp[numfeat++] = (char *)feats[i].name;
+    }
+    qsort(&featp[0], numfeat, sizeof(char *), struplocompare4sort);
+    for(i = 0; i< numfeat; i++)
+      printf(" %s", featp[i]);
+    puts(""); /* newline */
+  }
+  if(strcmp(CURL_VERSION, curlinfo->version)) {
+    printf("WARNING: curl and libcurl versions do not match. "
+           "Functionality may be affected.\n");
+  }
+}
+
+void tool_list_engines(void)
+{
+  CURL *curl = curl_easy_init();
+  struct curl_slist *engines = NULL;
+
+  /* Get the list of engines */
+  curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
+
+  puts("Build-time engines:");
+  if(engines) {
+    for(; engines; engines = engines->next)
+      printf("  %s\n", engines->data);
+  }
+  else {
+    puts("  <none>");
+  }
+
+  /* Cleanup the list of engines */
+  curl_slist_free_all(engines);
+  curl_easy_cleanup(curl);
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_help.h b/ap/lib/libcurl/curl-7.86.0/src/tool_help.h
new file mode 100755
index 0000000..6fe244e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_help.h
@@ -0,0 +1,74 @@
+#ifndef HEADER_CURL_TOOL_HELP_H
+#define HEADER_CURL_TOOL_HELP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+void tool_help(char *category);
+void tool_list_engines(void);
+void tool_version_info(void);
+
+typedef unsigned int curlhelp_t;
+
+struct helptxt {
+  const char *opt;
+  const char *desc;
+  curlhelp_t categories;
+};
+
+/*
+ * The bitmask output is generated with the following command
+ ------------------------------------------------------------
+  cd $srcroot/docs/cmdline-opts
+  ./gen.pl listcats *.d
+ */
+
+#define CURLHELP_HIDDEN 1u << 0u
+#define CURLHELP_AUTH 1u << 1u
+#define CURLHELP_CONNECTION 1u << 2u
+#define CURLHELP_CURL 1u << 3u
+#define CURLHELP_DNS 1u << 4u
+#define CURLHELP_FILE 1u << 5u
+#define CURLHELP_FTP 1u << 6u
+#define CURLHELP_HTTP 1u << 7u
+#define CURLHELP_IMAP 1u << 8u
+#define CURLHELP_IMPORTANT 1u << 9u
+#define CURLHELP_MISC 1u << 10u
+#define CURLHELP_OUTPUT 1u << 11u
+#define CURLHELP_POP3 1u << 12u
+#define CURLHELP_POST 1u << 13u
+#define CURLHELP_PROXY 1u << 14u
+#define CURLHELP_SCP 1u << 15u
+#define CURLHELP_SFTP 1u << 16u
+#define CURLHELP_SMTP 1u << 17u
+#define CURLHELP_SSH 1u << 18u
+#define CURLHELP_TELNET 1u << 19u
+#define CURLHELP_TFTP 1u << 20u
+#define CURLHELP_TLS 1u << 21u
+#define CURLHELP_UPLOAD 1u << 22u
+#define CURLHELP_VERBOSE 1u << 23u
+
+extern const struct helptxt helptext[];
+
+#endif /* HEADER_CURL_TOOL_HELP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.c b/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.c
new file mode 100755
index 0000000..3b2fe9d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.c
@@ -0,0 +1,132 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+#include "tool_getparam.h"
+#include "tool_helpers.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/*
+** Helper functions that are used from more than one source file.
+*/
+
+const char *param2text(int res)
+{
+  ParameterError error = (ParameterError)res;
+  switch(error) {
+  case PARAM_GOT_EXTRA_PARAMETER:
+    return "had unsupported trailing garbage";
+  case PARAM_OPTION_UNKNOWN:
+    return "is unknown";
+  case PARAM_OPTION_AMBIGUOUS:
+    return "is ambiguous";
+  case PARAM_REQUIRES_PARAMETER:
+    return "requires parameter";
+  case PARAM_BAD_USE:
+    return "is badly used here";
+  case PARAM_BAD_NUMERIC:
+    return "expected a proper numerical parameter";
+  case PARAM_NEGATIVE_NUMERIC:
+    return "expected a positive numerical parameter";
+  case PARAM_LIBCURL_DOESNT_SUPPORT:
+    return "the installed libcurl version doesn't support this";
+  case PARAM_LIBCURL_UNSUPPORTED_PROTOCOL:
+    return "a specified protocol is unsupported by libcurl";
+  case PARAM_NO_MEM:
+    return "out of memory";
+  case PARAM_NO_PREFIX:
+    return "the given option can't be reversed with a --no- prefix";
+  case PARAM_NUMBER_TOO_LARGE:
+    return "too large number";
+  case PARAM_NO_NOT_BOOLEAN:
+    return "used '--no-' for option that isn't a boolean";
+  case PARAM_CONTDISP_SHOW_HEADER:
+    return "showing headers and --remote-header-name cannot be combined";
+  case PARAM_CONTDISP_RESUME_FROM:
+    return "--continue-at and --remote-header-name cannot be combined";
+  case PARAM_READ_ERROR:
+    return "error encountered when reading a file";
+  default:
+    return "unknown error";
+  }
+}
+
+int SetHTTPrequest(struct OperationConfig *config, HttpReq req, HttpReq *store)
+{
+  /* this mirrors the HttpReq enum in tool_sdecls.h */
+  const char *reqname[]= {
+    "", /* unspec */
+    "GET (-G, --get)",
+    "HEAD (-I, --head)",
+    "multipart formpost (-F, --form)",
+    "POST (-d, --data)",
+    "PUT (-T, --upload-file)"
+  };
+
+  if((*store == HTTPREQ_UNSPEC) ||
+     (*store == req)) {
+    *store = req;
+    return 0;
+  }
+  warnf(config->global, "You can only select one HTTP request method! "
+        "You asked for both %s and %s.\n",
+        reqname[req], reqname[*store]);
+
+  return 1;
+}
+
+void customrequest_helper(struct OperationConfig *config, HttpReq req,
+                          char *method)
+{
+  /* this mirrors the HttpReq enum in tool_sdecls.h */
+  const char *dflt[]= {
+    "GET",
+    "GET",
+    "HEAD",
+    "POST",
+    "POST",
+    "PUT"
+  };
+
+  if(!method)
+    ;
+  else if(curl_strequal(method, dflt[req])) {
+    notef(config->global, "Unnecessary use of -X or --request, %s is already "
+          "inferred.\n", dflt[req]);
+  }
+  else if(curl_strequal(method, "head")) {
+    warnf(config->global,
+          "Setting custom HTTP method to HEAD with -X/--request may not work "
+          "the way you want. Consider using -I/--head instead.\n");
+  }
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.h b/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.h
new file mode 100755
index 0000000..cdc8410
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_helpers.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_TOOL_HELPERS_H
+#define HEADER_CURL_TOOL_HELPERS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+const char *param2text(int res);
+
+int SetHTTPrequest(struct OperationConfig *config, HttpReq req,
+                   HttpReq *store);
+
+void customrequest_helper(struct OperationConfig *config, HttpReq req,
+                          char *method);
+
+#endif /* HEADER_CURL_TOOL_HELPERS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.c b/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.c
new file mode 100755
index 0000000..b1c2113
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.c
@@ -0,0 +1,12248 @@
+#include "tool_setup.h"
+#ifndef HAVE_LIBZ
+/*
+ * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+ */
+#ifdef USE_MANUAL
+#include "tool_hugehelp.h"
+void hugehelp(void)
+{
+   fputs(
+"                                  _   _ ____  _\n"
+"  Project                     ___| | | |  _ \\| |\n"
+"                             / __| | | | |_) | |\n"
+"                            | (__| |_| |  _ <| |___\n"
+"                             \\___|\\___/|_| \\_\\_____|\n"
+"\n"
+"NAME\n"
+"       curl - transfer a URL\n"
+"\n"
+"SYNOPSIS\n"
+"       curl [options / URLs]\n"
+"\n"
+"DESCRIPTION\n"
+"       curl  is  a tool for transferring data from or to a server. It supports\n"
+"       these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS,  HTTP,  HTTPS,\n"
+, stdout);
+ fputs(
+"       IMAP,  IMAPS,  LDAP,  LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP,\n"
+"       SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. The command  is\n"
+"       designed to work without user interaction.\n"
+"\n"
+"       curl offers a busload of useful tricks like proxy support, user authen-\n"
+"       tication, FTP upload, HTTP post, SSL connections, cookies, file  trans-\n"
+"       fer resume and more. As you will see below, the number of features will\n"
+"       make your head spin.\n"
+"\n"
+, stdout);
+ fputs(
+"       curl is powered by  libcurl  for  all  transfer-related  features.  See\n"
+"       libcurl(3) for details.\n"
+"\n"
+"URL\n"
+"       The  URL  syntax is protocol-dependent. You find a detailed description\n"
+"       in RFC 3986.\n"
+"\n"
+"       You can specify multiple URLs or parts of URLs  by  writing  part  sets\n"
+"       within braces and quoting the URL as in:\n"
+"\n"
+"         \"http://site.{one,two,three}.com\"\n"
+"\n"
+"       or you can get sequences of alphanumeric series by using [] as in:\n"
+"\n"
+, stdout);
+ fputs(
+"         \"ftp://ftp.example.com/file[1-100].txt\"\n"
+"\n"
+"         \"ftp://ftp.example.com/file[001-100].txt\"    (with leading zeros)\n"
+"\n"
+"         \"ftp://ftp.example.com/file[a-z].txt\"\n"
+"\n"
+"       Nested  sequences  are not supported, but you can use several ones next\n"
+"       to each other:\n"
+"\n"
+"         \"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"
+, stdout);
+ fputs(
+"       fetched  in a sequential manner in the specified order. You can specify\n"
+"       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"
+"         \"http://example.com/file[1-100:10].txt\"\n"
+"\n"
+"         \"http://example.com/file[a-z:2].txt\"\n"
+"\n"
+"       When using [] or {} sequences when invoked from a command line  prompt,\n"
+, stdout);
+ fputs(
+"       you probably have to put the full URL within double quotes to avoid the\n"
+"       shell from interfering with it. This also  goes  for  other  characters\n"
+"       treated special, like for example '&', '?' and '*'.\n"
+"\n"
+"       Provide  the IPv6 zone index in the URL with an escaped percentage sign\n"
+"       and the interface name. Like in\n"
+"\n"
+"         \"http://[fe80::3%25eth0]/\"\n"
+"\n"
+"       If you specify URL without protocol:// prefix,  curl  will  attempt  to\n"
+, stdout);
+ fputs(
+"       guess  what  protocol  you might want. It will then default to HTTP but\n"
+"       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"
+"       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 fairly liberal with what it accepts.\n"
+"\n"
+, stdout);
+ fputs(
+"       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"
+"       files  specified  on  a  single command line and cannot be used between\n"
+"       separate curl invocations.\n"
+"\n"
+"OUTPUT\n"
+"       If not told otherwise, curl writes the received data to stdout. It  can\n"
+, stdout);
+ fputs(
+"       be  instructed  to  instead save that data into a local file, using the\n"
+"       --output or --remote-name options. If curl is given  multiple  URLs  to\n"
+"       transfer  on  the command line, it similarly needs multiple options for\n"
+"       where to save them.\n"
+"\n"
+"       curl does not parse or otherwise \"understand\" the content  it  gets  or\n"
+"       writes  as  output.  It does no encoding or decoding, unless explicitly\n"
+"       asked to with dedicated command line options.\n"
+"\n"
+"PROTOCOLS\n"
+, stdout);
+ fputs(
+"       curl supports numerous protocols, or put in URL  terms:  schemes.  Your\n"
+"       particular build may not support them all.\n"
+"\n"
+"       DICT   Lets you lookup words using online dictionaries.\n"
+"\n"
+"       FILE   Read  or  write  local  files.  curl  does not support accessing\n"
+"              file:// URL remotely, but when running on Microsoft Windows  us-\n"
+"              ing the native UNC approach will work.\n"
+"\n"
+"       FTP(S) curl  supports  the  File Transfer Protocol with a lot of tweaks\n"
+, stdout);
+ fputs(
+"              and levers. With or without using TLS.\n"
+"\n"
+"       GOPHER(S)\n"
+"              Retrieve files.\n"
+"\n"
+"       HTTP(S)\n"
+"              curl supports HTTP with numerous options and variations. It  can\n"
+"              speak HTTP version 0.9, 1.0, 1.1, 2 and 3 depending on build op-\n"
+"              tions and the correct command line options.\n"
+"\n"
+"       IMAP(S)\n"
+"              Using the mail reading protocol, curl can \"download\" emails  for\n"
+"              you. With or without using TLS.\n"
+"\n"
+"       LDAP(S)\n"
+, stdout);
+ fputs(
+"              curl can do directory lookups for you, with or without TLS.\n"
+"\n"
+"       MQTT   curl supports MQTT version 3. Downloading over MQTT equals \"sub-\n"
+"              scribe\" to a topic while uploading/posting equals \"publish\" on a\n"
+"              topic. MQTT over TLS is not supported (yet).\n"
+"\n"
+"       POP3(S)\n"
+"              Downloading  from  a  pop3  server means getting a mail. With or\n"
+"              without using TLS.\n"
+"\n"
+"       RTMP(S)\n"
+, stdout);
+ fputs(
+"              The Realtime Messaging Protocol  is  primarily  used  to  server\n"
+"              streaming media and curl can download it.\n"
+"\n"
+"       RTSP   curl supports RTSP 1.0 downloads.\n"
+"\n"
+"       SCP    curl supports SSH version 2 scp transfers.\n"
+"\n"
+"       SFTP   curl supports SFTP (draft 5) done over SSH version 2.\n"
+"\n"
+"       SMB(S) curl supports SMB version 1 for upload and download.\n"
+"\n"
+"       SMTP(S)\n"
+"              Uploading  contents  to  an  SMTP server means sending an email.\n"
+, stdout);
+ fputs(
+"              With or without TLS.\n"
+"\n"
+"       TELNET Telling curl to fetch a telnet URL starts an interactive session\n"
+"              where  it  sends  what  it  reads  on stdin and outputs what the\n"
+"              server sends it.\n"
+"\n"
+"       TFTP   curl can do TFTP downloads and uploads.\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"
+"       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  (>),\n"
+"       --output or similar.\n"
+"\n"
+"       This  does  not apply to FTP upload as that operation does not spit out\n"
+"       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 --silent option.\n"
+"\n"
+"OPTIONS\n"
+"       Options start with one or two dashes. Many of the  options  require  an\n"
+"       additional value next to them.\n"
+"\n"
+"       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, --data for ex-\n"
+, stdout);
+ fputs(
+"       ample, requires a space between it and its value.\n"
+"\n"
+"       Short version options that do not need any  additional  values  can  be\n"
+"       used  immediately  next to each other, like for example you can specify\n"
+"       all 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 same option name but\n"
+, stdout);
+ fputs(
+"       prefix it with \"no-\". However, in this list we  mostly  only  list  and\n"
+"       show the --option version of them.\n"
+"\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  ab-\n"
+"              stract  socket  prefixed  with  '@', however the <path> argument\n"
+"              should not have this leading character.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --abstract-unix-socket is provided several  times,  the  last\n"
+"              set value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --abstract-unix-socket socketpath https://example.com\n"
+"\n"
+"              See also --unix-socket. Added in 7.53.0.\n"
+"\n"
+"       --alt-svc <file name>\n"
+"              (HTTPS)  This  option enables the alt-svc parser in curl. If the\n"
+"              file name points to an existing alt-svc cache file, that will be\n"
+, stdout);
+ fputs(
+"              used. After a completed transfer, the cache will be saved to the\n"
+"              file name again if it has been modified.\n"
+"\n"
+"              Specify a \"\" file name (zero length) to avoid loading/saving and\n"
+"              make curl just handle the cache in memory.\n"
+"\n"
+"              If  this  option  is used several times, curl will load contents\n"
+"              from all the files but the last one will be used for saving.\n"
+"\n"
+"              --alt-svc can be used several times in a command line\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --alt-svc svc.txt https://example.com\n"
+"\n"
+"              See also --resolve and --connect-to. Added in 7.64.1.\n"
+"\n"
+"       --anyauth\n"
+"              (HTTP) Tells curl to figure out authentication method by itself,\n"
+"              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"
+"              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"
+"              Providing --anyauth multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --anyauth --user me:pwd https://example.com\n"
+"\n"
+"              See also --proxy-anyauth, --basic and --digest.\n"
+"\n"
+"       -a, --append\n"
+"              (FTP SFTP) When used in an upload, this makes curl append to the\n"
+"              target file instead of overwriting it. If the remote  file  does\n"
+, stdout);
+ fputs(
+"              not exist, it will be created. Note that this flag is ignored by\n"
+"              some SFTP servers (including OpenSSH).\n"
+"\n"
+"              Providing --append multiple times has no extra effect.   Disable\n"
+"              it again with --no-append.\n"
+"\n"
+"              Example:\n"
+"               curl --upload-file local --append ftp://example.com/\n"
+"\n"
+"              See also -r, --range and -C, --continue-at.\n"
+"\n"
+"       --aws-sigv4 <provider1[:provider2[:region[:service]]]>\n"
+, stdout);
+ fputs(
+"              Use AWS V4 signature authentication in the transfer.\n"
+"\n"
+"              The  provider argument is a string that is used by the algorithm\n"
+"              when creating outgoing authentication headers.\n"
+"\n"
+"              The region argument is a string that points to a geographic area\n"
+"              of  a resources collection (region-code) when the region name is\n"
+"              omitted from the endpoint.\n"
+"\n"
+"              The service argument is a string that points to a function  pro-\n"
+, stdout);
+ fputs(
+"              vided by a cloud (service-code) when the service name is omitted\n"
+"              from the endpoint.\n"
+"\n"
+"              If --aws-sigv4 is provided several times,  the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --aws-sigv4 \"aws:amz:east-2:es\" --user \"key:secret\" https://example.com\n"
+"\n"
+"              See also --basic and -u, --user. Added in 7.75.0.\n"
+"\n"
+"       --basic\n"
+"              (HTTP)  Tells curl to use HTTP Basic authentication with the re-\n"
+, stdout);
+ fputs(
+"              mote host. This is the default and this option is usually point-\n"
+"              less, unless you use it to override a previously set option that\n"
+"              sets a different authentication method (such  as  --ntlm,  --di-\n"
+"              gest, or --negotiate).\n"
+"\n"
+"              Used together with -u, --user.\n"
+"\n"
+"              Providing --basic multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl -u name:password --basic https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              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"
+"              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"
+"              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 op-\n"
+"              tion to work properly.\n"
+"\n"
+"              (iOS and macOS only) If curl is built against Secure  Transport,\n"
+"              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"
+"              (Schannel only) This option is supported for Schannel in Windows\n"
+"              7 or later with libcurl 7.60 or later. This option is  supported\n"
+"              for backward compatibility with other SSL engines; instead it is\n"
+"              recommended to use Windows' store of root certificates (the  de-\n"
+"              fault for Schannel).\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --cacert  is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --cacert CA-file.txt https://example.com\n"
+"\n"
+"              See also --capath and -k, --insecure.\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"
+, stdout);
+ fputs(
+"              be  in PEM format, and if curl is built against OpenSSL, the di-\n"
+"              rectory must have been processed using the c_rehash utility sup-\n"
+"              plied  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"
+"              If this option is set, the default capath value will be ignored.\n"
+, stdout);
+ fputs(
+"              If  --capath  is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --capath /local/directory https://example.com\n"
+"\n"
+"              See also --cacert and -k, --insecure.\n"
+"\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"
+"              extension.\n"
+"\n"
+, stdout);
+ fputs(
+"              If this option is enabled and the server sends an invalid  (e.g.\n"
+"              expired) response, if the response suggests that the server cer-\n"
+"              tificate has been revoked, or no response at  all  is  received,\n"
+"              the verification fails.\n"
+"\n"
+"              This  is  currently  only implemented in the OpenSSL, GnuTLS and\n"
+"              NSS backends.\n"
+"\n"
+"              Providing --cert-status multiple  times  has  no  extra  effect.\n"
+, stdout);
+ fputs(
+"              Disable it again with --no-cert-status.\n"
+"\n"
+"              Example:\n"
+"               curl --cert-status https://example.com\n"
+"\n"
+"              See also --pinnedpubkey. Added in 7.41.0.\n"
+"\n"
+"       --cert-type <type>\n"
+"              (TLS)  Tells  curl  what type the provided client certificate is\n"
+"              using. PEM, DER, ENG and P12 are recognized types.\n"
+"\n"
+"              The default type depends on the TLS backend and is usually  PEM,\n"
+, stdout);
+ fputs(
+"              however  for  Secure Transport and Schannel it is P12. If --cert\n"
+"              is a pkcs11: URI then ENG is the default type.\n"
+"\n"
+"              If --cert-type is provided several times,  the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --cert-type PEM --cert file https://example.com\n"
+"\n"
+"              See also -E, --cert, --key and --key-type.\n"
+"\n"
+"       -E, --cert <certificate[:password]>\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  op-\n"
+"              tional  password is not specified, it will be queried for on the\n"
+"              terminal. Note that this option assumes a certificate file  that\n"
+, stdout);
+ fputs(
+"              is  the private key and the client certificate concatenated. See\n"
+"              --cert and --key to specify them independently.\n"
+"\n"
+"              In the <certificate> portion of the argument,  you  must  escape\n"
+"              the  character  \":\"  as \"\\:\" so that it is not recognized as the\n"
+"              password delimiter. Similarly, you must escape the character \"\\\"\n"
+"              as \"\\\\\" so that it is not recognized as an escape character.\n"
+"\n"
+, stdout);
+ fputs(
+"              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.\n"
+"\n"
+"              If  you  provide  a  path relative to the current directory, you\n"
+, stdout);
+ fputs(
+"              must prefix the path with \"./\" in order to avoid confusion  with\n"
+"              an NSS database nickname.\n"
+"\n"
+"              If  curl is built against OpenSSL library, and the engine pkcs11\n"
+"              is available, then a PKCS#11 URI (RFC 7512) can be used to spec-\n"
+"              ify  a  certificate located in a PKCS#11 device. A string begin-\n"
+"              ning with \"pkcs11:\" will be interpreted as a PKCS#11 URI.  If  a\n"
+, stdout);
+ fputs(
+"              PKCS#11 URI is provided, then the --engine option will be set as\n"
+"              \"pkcs11\" if none was provided and the --cert-type option will be\n"
+"              set as \"ENG\" if none was provided.\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"
+, stdout);
+ fputs(
+"              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"
+"              \"./\" prefix, in order to avoid confusion with a nickname.\n"
+"\n"
+"              (Schannel only) Client certificates must be specified by a  path\n"
+"              expression  to  a  certificate  store.  (Loading PFX is not sup-\n"
+"              ported; you can import it to a store first). You can use \"<store\n"
+, stdout);
+ fputs(
+"              location>\\<store  name>\\<thumbprint>\"  to refer to a certificate\n"
+"              in  the  system  certificates  store,  for   example,   \"Curren-\n"
+"              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"
+, stdout);
+ fputs(
+"              LocalMachineGroupPolicy, LocalMachineEnterprise.\n"
+"\n"
+"              If  --cert is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --cert certfile --key keyfile https://example.com\n"
+"\n"
+"              See also --cert-type, --key and --key-type.\n"
+"\n"
+"       --ciphers <list of ciphers>\n"
+"              (TLS) Specifies which ciphers to use in the connection. The list\n"
+, stdout);
+ fputs(
+"              of  ciphers  must  specify  valid ciphers. Read up on SSL cipher\n"
+"              list details on this URL:\n"
+"\n"
+"               https://curl.se/docs/ssl-ciphers.html\n"
+"\n"
+"              If --ciphers is provided several times, the last set value  will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --ciphers ECDHE-ECDSA-AES256-CCM8 https://example.com\n"
+"\n"
+"              See also --tlsv1.3.\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"
+"              Providing --compressed-ssh multiple times has no  extra  effect.\n"
+"              Disable it again with --no-compressed-ssh.\n"
+"\n"
+"              Example:\n"
+"               curl --compressed-ssh sftp://example.com/\n"
+"\n"
+"              See also --compressed. Added in 7.56.0.\n"
+"\n"
+"       --compressed\n"
+, stdout);
+ fputs(
+"              (HTTP) Request a compressed response using one of the algorithms\n"
+"              curl supports, and automatically decompress the content. Headers\n"
+"              are not modified.\n"
+"\n"
+"              If  this  option is used and the server sends an unsupported en-\n"
+"              coding, curl will report an error. This is a request, not an or-\n"
+"              der; the server may or may not deliver data compressed.\n"
+"\n"
+"              Providing --compressed multiple times has no extra effect.  Dis-\n"
+, stdout);
+ fputs(
+"              able it again with --no-compressed.\n"
+"\n"
+"              Example:\n"
+"               curl --compressed https://example.com\n"
+"\n"
+"              See also --compressed-ssh.\n"
+"\n"
+"       -K, --config <file>\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"
+"              were provided on the command line.\n"
+"\n"
+"              Options and their parameters must be specified on the same  line\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"
+"              ter between the option and its parameter.\n"
+"\n"
+, stdout);
+ fputs(
+"              If the parameter contains whitespace (or starts with  :  or  =),\n"
+"              the  parameter  must  be  enclosed  within quotes. Within double\n"
+"              quotes, the following escape sequences are  available:  \\\\,  \\\",\n"
+"              \\t, \\n, \\r and \\v. A backslash preceding any other letter is ig-\n"
+"              nored.\n"
+"\n"
+"              If the first column of a config line is  a  '#'  character,  the\n"
+"              rest of the line will be treated as a comment.\n"
+"\n"
+, stdout);
+ fputs(
+"              Only write one option per physical line in the config file.\n"
+"\n"
+"              Specify  the  filename  to --config as '-' to make curl read the\n"
+"              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"
+"              this:\n"
+"\n"
+"              url = \"https://curl.se/docs/\"\n"
+"\n"
+, stdout);
+ fputs(
+"               # --- Example file ---\n"
+"               # this is a comment\n"
+"               url = \"example.com\"\n"
+"               output = \"curlhere.html\"\n"
+"               user-agent = \"superagent/1.0\"\n"
+"\n"
+"               # and fetch another URL too\n"
+"               url = \"example.com/docs/manpage.html\"\n"
+"               -O\n"
+"               referer = \"http://nowhereatall.example.com/\"\n"
+"               # --- End of example file ---\n"
+"\n"
+"              When curl is invoked, it (unless --disable is used) checks for a\n"
+, stdout);
+ fputs(
+"              default config file and uses it if found, even when --config  is\n"
+"              used.  The  default  config file is checked for in the following\n"
+"              places in this order:\n"
+"\n"
+"              1) \"$CURL_HOME/.curlrc\"\n"
+"\n"
+"              2) \"$XDG_CONFIG_HOME/.curlrc\" (Added in 7.73.0)\n"
+"\n"
+"              3) \"$HOME/.curlrc\"\n"
+"\n"
+"              4) Windows: \"%USERPROFILE%\\.curlrc\"\n"
+"\n"
+"              5) Windows: \"%APPDATA%\\.curlrc\"\n"
+"\n"
+"              6) Windows: \"%USERPROFILE%\\Application Data\\.curlrc\"\n"
+"\n"
+, stdout);
+ fputs(
+"              7) Non-Windows: use getpwuid to find the home directory\n"
+"\n"
+"              8) On Windows, if it finds no .curlrc file in the  sequence  de-\n"
+"              scribed  above,  it checks for one in the same dir the curl exe-\n"
+"              cutable is placed.\n"
+"\n"
+"              On Windows two filenames are checked per location:  .curlrc  and\n"
+"              _curlrc,  preferring  the  former.  Older  versions  on  Windows\n"
+"              checked for _curlrc only.\n"
+"\n"
+, stdout);
+ fputs(
+"              --config can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --config file.txt https://example.com\n"
+"\n"
+"              See also -q, --disable.\n"
+"\n"
+"       --connect-timeout <fractional 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"
+, stdout);
+ fputs(
+"              exit.  Since version 7.32.0, this option accepts decimal values.\n"
+"              If  --connect-timeout  is  provided  several times, the last set\n"
+"              value will be used.\n"
+"\n"
+"              Examples:\n"
+"               curl --connect-timeout 20 https://example.com\n"
+"               curl --connect-timeout 3.14 https://example.com\n"
+"\n"
+"              See also -m, --max-time.\n"
+"\n"
+"       --connect-to <HOST1:PORT1:HOST2:PORT2>\n"
+"\n"
+, stdout);
+ fputs(
+"              For  a  request  to  the  given  HOST1:PORT1  pair,  connect  to\n"
+"              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"
+"              used for TLS/SSL (e.g. SNI, certificate verification) or for the\n"
+, stdout);
+ fputs(
+"              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"
+"              host/port\".\n"
+"\n"
+"              A \"host\" specified to this option is compared as a string, so it\n"
+"              needs to match the name used in request URL. It  can  be  either\n"
+, stdout);
+ fputs(
+"              numerical such as \"127.0.0.1\" or the full host name such as \"ex-\n"
+"              ample.org\".\n"
+"\n"
+"              --connect-to can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --connect-to example.com:443:example.net:8443 https://example.com\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"
+, 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"
+"              to figure that out.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --continue-at is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Examples:\n"
+"               curl -C - https://example.com\n"
+"               curl -C 400 https://example.com\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"
+, stdout);
+ fputs(
+"              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(
+"              makes curl record and use cookies. Another way to activate it is\n"
+"              to use the --cookie option.\n"
+"\n"
+"              If  the  cookie  jar  cannot be created or written to, the whole\n"
+"              curl operation will not fail or even report  an  error  clearly.\n"
+"              Using  --verbose  will  get a warning displayed, but that is the\n"
+"              only visible feedback you get about this possibly lethal  situa-\n"
+"              tion.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --cookie-jar  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Examples:\n"
+"               curl -c store-here.txt https://example.com\n"
+"               curl -c store-here.txt -b read-these https://example.com\n"
+"\n"
+"              See also -b, --cookie.\n"
+"\n"
+"       -b, --cookie <data|filename>\n"
+"              (HTTP) Pass the data to the HTTP server in the Cookie header. It\n"
+"              is  supposedly the data previously received from the server in a\n"
+, stdout);
+ fputs(
+"              \"Set-Cookie:\"  line.  The  data  should   be   in   the   format\n"
+"              \"NAME1=VALUE1;  NAME2=VALUE2\".  This  makes  curl use the cookie\n"
+"              header with this content explicitly in all outgoing  request(s).\n"
+"              If  multiple  requests  are done due to authentication, followed\n"
+"              redirects or similar, they will all get this cookie passed on.\n"
+"\n"
+"              If no '=' symbol is used in the argument, it is instead  treated\n"
+, stdout);
+ fputs(
+"              as a filename to read previously stored cookie from. This option\n"
+"              also activates the cookie engine which will make curl record in-\n"
+"              coming cookies, which may be handy if you are using this in com-\n"
+"              bination with the --location option or do multiple URL transfers\n"
+"              on  the  same invoke. If the file name is exactly a minus (\"-\"),\n"
+"              curl will instead read the contents from stdin.\n"
+"\n"
+, stdout);
+ fputs(
+"              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 --cookie is only used as input. No cook-\n"
+"              ies  will  be  written  to  the  file. To store cookies, use the\n"
+"              --cookie-jar option.\n"
+"\n"
+"              If you use the Set-Cookie file format and do not specify  a  do-\n"
+, stdout);
+ fputs(
+"              main  then  the  cookie  is not sent since the domain will never\n"
+"              match. To address this, set a domain in Set-Cookie  line  (doing\n"
+"              that  will  include sub-domains) or preferably: use the Netscape\n"
+"              format.\n"
+"\n"
+"              Users often want to both read cookies from a file and write  up-\n"
+"              dated  cookies  back  to  a  file,  so  using  both --cookie and\n"
+"              --cookie-jar in the same command line is common.\n"
+"\n"
+, stdout);
+ fputs(
+"              --cookie can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl -b cookiefile https://example.com\n"
+"               curl -b cookiefile -c cookiefile https://example.com\n"
+"\n"
+"              See also -c, --cookie-jar and -j, --junk-session-cookies.\n"
+"\n"
+"       --create-dirs\n"
+"              When used in conjunction with the  --output  option,  curl  will\n"
+"              create  the  necessary local directory hierarchy as needed. This\n"
+, stdout);
+ fputs(
+"              option creates the directories mentioned with the  --output  op-\n"
+"              tion, nothing else. If the --output file name uses no directory,\n"
+"              or if the directories it mentions already exist, no  directories\n"
+"              will be created.\n"
+"\n"
+"              Created dirs are made with mode 0750 on unix style file systems.\n"
+"              To  create remote directories when using FTP or SFTP, try --ftp-\n"
+"              create-dirs.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --create-dirs multiple  times  has  no  extra  effect.\n"
+"              Disable it again with --no-create-dirs.\n"
+"\n"
+"              Example:\n"
+"               curl --create-dirs --output local/dir/file https://example.com\n"
+"\n"
+"              See also --ftp-create-dirs and --output-dir.\n"
+"\n"
+"       --create-file-mode <mode>\n"
+"              (SFTP SCP FILE) When curl is used to create files remotely using\n"
+"              one of the supported protocols, this option allows the  user  to\n"
+, stdout);
+ fputs(
+"              set which 'mode' to set on the file at creation time, instead of\n"
+"              the default 0644.\n"
+"\n"
+"              This option takes an octal number as argument.\n"
+"\n"
+"              If --create-file-mode is provided several times,  the  last  set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --create-file-mode 0777 -T localfile sftp://example.com/new\n"
+"\n"
+"              See also --ftp-create-dirs. Added in 7.75.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --crlf (FTP  SMTP)  Convert  LF  to  CRLF  in  upload.  Useful  for MVS\n"
+"              (OS/390).\n"
+"\n"
+"              (SMTP added in 7.40.0)\n"
+"\n"
+"              Providing --crlf multiple times has no extra effect.  Disable it\n"
+"              again with --no-crlf.\n"
+"\n"
+"              Example:\n"
+"               curl --crlf -T file ftp://example.com/\n"
+"\n"
+"              See also -B, --use-ascii.\n"
+"\n"
+"       --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"
+"              If  --crlfile is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --crlfile rejects.txt https://example.com\n"
+"\n"
+"              See also --cacert and --capath.\n"
+"\n"
+"       --curves <algorithm list>\n"
+"              (TLS) Tells curl to request specific curves to  use  during  SSL\n"
+, stdout);
+ fputs(
+"              session  establishment according to RFC 8422, 5.1.  Multiple al-\n"
+"              gorithms can be provided  by  separating  them  with  \":\"  (e.g.\n"
+"              \"X25519:P-521\").   The parameter is available identically in the\n"
+"              \"openssl s_client/s_server\" utilities.\n"
+"\n"
+"              --curves allows a OpenSSL powered curl to  make  SSL-connections\n"
+"              with  exactly  the  (EC) curve requested by the client, avoiding\n"
+, stdout);
+ fputs(
+"              nontransparent client/server negotiations.\n"
+"\n"
+"              If this option is  set,  the  default  curves  list  built  into\n"
+"              openssl will be ignored.\n"
+"\n"
+"              If  --curves  is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --curves X25519 https://example.com\n"
+"\n"
+"              See also --ciphers. Added in 7.73.0.\n"
+"\n"
+"       --data-ascii <data>\n"
+"              (HTTP) This is just an alias for -d, --data.\n"
+"\n"
+, stdout);
+ fputs(
+"              --data-ascii can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --data-ascii @file https://example.com\n"
+"\n"
+"              See also --data-binary, --data-raw and --data-urlencode.\n"
+"\n"
+"       --data-binary <data>\n"
+"              (HTTP) This posts data exactly as specified with no  extra  pro-\n"
+"              cessing whatsoever.\n"
+"\n"
+"              If  you  start  the data with the letter @, the rest should be a\n"
+, stdout);
+ fputs(
+"              filename. Data is posted in a similar manner as --data does, ex-\n"
+"              cept  that  newlines and carriage returns are preserved and con-\n"
+"              versions are never done.\n"
+"\n"
+"              Like --data the default content-type sent to the server  is  ap-\n"
+"              plication/x-www-form-urlencoded.  If  you  want  the  data to be\n"
+"              treated as arbitrary binary data by the server then set the con-\n"
+, stdout);
+ fputs(
+"              tent-type  to octet-stream: -H \"Content-Type: application/octet-\n"
+"              stream\".\n"
+"\n"
+"              If this option is used several times,  the  ones  following  the\n"
+"              first will append data as described in -d, --data.\n"
+"\n"
+"              --data-binary can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --data-binary @filename https://example.com\n"
+"\n"
+"              See also --data-ascii.\n"
+"\n"
+"       --data-raw <data>\n"
+, stdout);
+ fputs(
+"              (HTTP)  This posts data similarly to --data but without the spe-\n"
+"              cial interpretation of the @ character.\n"
+"\n"
+"              --data-raw can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl --data-raw \"hello\" https://example.com\n"
+"               curl --data-raw \"@at@at@\" https://example.com\n"
+"\n"
+"              See also -d, --data. Added in 7.43.0.\n"
+"\n"
+"       --data-urlencode <data>\n"
+, stdout);
+ fputs(
+"              (HTTP) This posts data, similar to the other --data options with\n"
+"              the exception that this performs URL-encoding.\n"
+"\n"
+"              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"
+"              content\n"
+"                     This  will make curl URL-encode the content and pass that\n"
+, stdout);
+ fputs(
+"                     on. Just be careful so that the content does not  contain\n"
+"                     any  =  or  @  symbols, as that will then make the syntax\n"
+"                     match one of the other cases below!\n"
+"\n"
+"              =content\n"
+"                     This will make curl URL-encode the content and pass  that\n"
+"                     on. The preceding = symbol is not included in the data.\n"
+"\n"
+"              name=content\n"
+, stdout);
+ fputs(
+"                     This  will make curl URL-encode the content part and pass\n"
+"                     that on. Note that the name part is expected to  be  URL-\n"
+"                     encoded already.\n"
+"\n"
+"              @filename\n"
+"                     This  will  make  curl load data from the given file (in-\n"
+"                     cluding any newlines), URL-encode that data and  pass  it\n"
+"                     on in the POST.\n"
+"\n"
+"              name@filename\n"
+, stdout);
+ fputs(
+"                     This  will  make  curl load data from the given file (in-\n"
+"                     cluding any newlines), URL-encode that data and  pass  it\n"
+"                     on  in  the  POST.  The  name part gets an equal sign ap-\n"
+"                     pended, resulting in  name=urlencoded-file-content.  Note\n"
+"                     that the name is expected to be URL-encoded already.\n"
+"\n"
+"       --data-urlencode can be used several times in a command line\n"
+"\n"
+"       Examples:\n"
+, stdout);
+ fputs(
+"        curl --data-urlencode name=val https://example.com\n"
+"        curl --data-urlencode =encodethis https://example.com\n"
+"        curl --data-urlencode name@file https://example.com\n"
+"        curl --data-urlencode @fileonly https://example.com\n"
+"\n"
+"       See also -d, --data and --data-raw.\n"
+"\n"
+"       -d, --data <data>\n"
+"              (HTTP  MQTT)  Sends  the specified data in a POST request to the\n"
+"              HTTP server, in the same way that a browser does when a user has\n"
+, stdout);
+ fputs(
+"              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"
+"              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"
+"              pretation of the @ character. To post data  purely  binary,  you\n"
+"              should  instead  use the --data-binary option. To URL-encode the\n"
+, stdout);
+ fputs(
+"              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"
+"              mand line, the data pieces specified will be merged with a sepa-\n"
+"              rating &-symbol. Thus, using  '-d  name=daniel  -d  skill=lousy'\n"
+"              would    generate    a    post    chunk    that    looks    like\n"
+"              'name=daniel&skill=lousy'.\n"
+"\n"
+, stdout);
+ fputs(
+"              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"
+"              the data from stdin. Posting data from  a  file  named  'foobar'\n"
+"              would  thus be done with -d, --data @foobar. When --data is told\n"
+"              to read from a file like that,  carriage  returns  and  newlines\n"
+"              will be stripped out. If you do not want the @ character to have\n"
+, stdout);
+ fputs(
+"              a special interpretation use --data-raw instead.\n"
+"\n"
+"              --data can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl -d \"name=curl\" https://example.com\n"
+"               curl -d \"name=curl\" -d \"tool=cmdline\" https://example.com\n"
+"               curl -d @filename https://example.com\n"
+"\n"
+"              See also --data-binary, --data-urlencode  and  --data-raw.  This\n"
+"              option  is  mutually  exclusive to -F, --form and -I, --head and\n"
+, stdout);
+ fputs(
+"              -T, --upload-file.\n"
+"\n"
+"       --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"
+"\n"
+"              none   Do not allow any delegation.\n"
+"\n"
+"              policy Delegates  if  and only if the OK-AS-DELEGATE flag is set\n"
+"                     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"
+"       If  --delegation  is provided several times, the last set value will be\n"
+"       used.\n"
+"\n"
+"       Example:\n"
+"        curl --delegation \"none\" https://example.com\n"
+"\n"
+"       See also -k, --insecure and --ssl.\n"
+"\n"
+"       --digest\n"
+"              (HTTP) Enables HTTP Digest authentication. This is an  authenti-\n"
+"              cation  scheme  that  prevents the password from being sent over\n"
+, stdout);
+ fputs(
+"              the wire in clear text. Use this in combination with the  normal\n"
+"              --user option to set user name and password.\n"
+"\n"
+"              Providing  --digest multiple times has no extra effect.  Disable\n"
+"              it again with --no-digest.\n"
+"\n"
+"              Example:\n"
+"               curl -u name:password --digest https://example.com\n"
+"\n"
+"              See also -u, --user, --proxy-digest and --anyauth.  This  option\n"
+, stdout);
+ fputs(
+"              is mutually exclusive to --basic and --ntlm and --negotiate.\n"
+"\n"
+"       --disable-eprt\n"
+"              (FTP) Tell curl to disable the use of the EPRT and LPRT commands\n"
+"              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(
+"              servers, but they enable more functionality in a better way than\n"
+"              the traditional PORT command.\n"
+"\n"
+"              --eprt can be used to explicitly enable EPRT again and --no-eprt\n"
+"              is an alias for --disable-eprt.\n"
+"\n"
+"              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(
+"              switch to passive mode you need to not use --ftp-port  or  force\n"
+"              it with --ftp-pasv.\n"
+"\n"
+"              Providing  --disable-eprt  multiple  times  has no extra effect.\n"
+"              Disable it again with --no-disable-eprt.\n"
+"\n"
+"              Example:\n"
+"               curl --disable-eprt ftp://example.com/\n"
+"\n"
+"              See also --disable-epsv and -P, --ftp-port.\n"
+"\n"
+"       --disable-epsv\n"
+"              (FTP) Tell curl to disable the use of the EPSV command when  do-\n"
+, stdout);
+ fputs(
+"              ing  passive  FTP transfers. Curl will normally always first at-\n"
+"              tempt to use EPSV before PASV, but with this option, it will not\n"
+"              try using EPSV.\n"
+"\n"
+"              --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"
+"              as EPSV is necessary then.\n"
+"\n"
+, stdout);
+ fputs(
+"              Disabling EPSV only changes the passive behavior. If you want to\n"
+"              switch to active mode you need to use -P, --ftp-port.\n"
+"\n"
+"              Providing --disable-epsv multiple times  has  no  extra  effect.\n"
+"              Disable it again with --no-disable-epsv.\n"
+"\n"
+"              Example:\n"
+"               curl --disable-epsv ftp://example.com/\n"
+"\n"
+"              See also --disable-eprt and -P, --ftp-port.\n"
+"\n"
+"       -q, --disable\n"
+, stdout);
+ fputs(
+"              If  used  as the first parameter on the command line, the curlrc\n"
+"              config file will not be read and used. See the --config for  de-\n"
+"              tails on the default config file search path.\n"
+"\n"
+"              Providing --disable multiple times has no extra effect.  Disable\n"
+"              it again with --no-disable.\n"
+"\n"
+"              Example:\n"
+"               curl -q https://example.com\n"
+"\n"
+"              See also -K, --config.\n"
+"\n"
+"       --disallow-username-in-url\n"
+, stdout);
+ fputs(
+"              (HTTP) This tells curl to exit if  passed  a  URL  containing  a\n"
+"              username.  This  is  probably  most useful when the URL is being\n"
+"              provided at runtime or similar.\n"
+"\n"
+"              Providing --disallow-username-in-url multiple times has no extra\n"
+"              effect.  Disable it again with --no-disallow-username-in-url.\n"
+"\n"
+"              Example:\n"
+"               curl --disallow-username-in-url https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --proto. Added in 7.61.0.\n"
+"\n"
+"       --dns-interface <interface>\n"
+"              (DNS)  Tell  curl  to send outgoing DNS requests through <inter-\n"
+"              face>. This option is a counterpart to --interface  (which  does\n"
+"              not  affect  DNS). The supplied string must be an interface name\n"
+"              (not an address).\n"
+"\n"
+"              If --dns-interface is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --dns-interface eth0 https://example.com\n"
+"\n"
+"              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"
+"       --dns-ipv4-addr <address>\n"
+"              (DNS) Tell curl to bind to <ip-address> when making IPv4 DNS re-\n"
+"              quests, so that the DNS requests originate  from  this  address.\n"
+, stdout);
+ fputs(
+"              The argument should be a single IPv4 address.\n"
+"\n"
+"              If --dns-ipv4-addr is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --dns-ipv4-addr 10.1.2.3 https://example.com\n"
+"\n"
+"              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"
+"       --dns-ipv6-addr <address>\n"
+, stdout);
+ fputs(
+"              (DNS) Tell curl to bind to <ip-address> when making IPv6 DNS re-\n"
+"              quests,  so  that  the DNS requests originate from this address.\n"
+"              The argument should be a single IPv6 address.\n"
+"\n"
+"              If --dns-ipv6-addr is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --dns-ipv6-addr 2a04:4e42::561 https://example.com\n"
+"\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"
+"       --dns-servers <addresses>\n"
+"              Set the list of DNS servers to be used instead of the system de-\n"
+"              fault.  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"
+"              If --dns-servers is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --dns-servers 192.168.0.1,192.168.0.2 https://example.com\n"
+"\n"
+"              See  also --dns-interface and --dns-ipv4-addr. --dns-servers re-\n"
+"              quires that the underlying libcurl was built to support  c-ares.\n"
+"              Added in 7.33.0.\n"
+"\n"
+"       --doh-cert-status\n"
+, stdout);
+ fputs(
+"              Same as --cert-status but used for DoH (DNS-over-HTTPS).\n"
+"\n"
+"              Providing  --doh-cert-status multiple times has no extra effect.\n"
+"              Disable it again with --no-doh-cert-status.\n"
+"\n"
+"              Example:\n"
+"               curl --doh-cert-status --doh-url https://doh.example https://example.com\n"
+"\n"
+"              See also --doh-insecure. Added in 7.76.0.\n"
+"\n"
+"       --doh-insecure\n"
+"              Same as --insecure but used for DoH (DNS-over-HTTPS).\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --doh-insecure multiple times  has  no  extra  effect.\n"
+"              Disable it again with --no-doh-insecure.\n"
+"\n"
+"              Example:\n"
+"               curl --doh-insecure --doh-url https://doh.example https://example.com\n"
+"\n"
+"              See also --doh-url. Added in 7.76.0.\n"
+"\n"
+"       --doh-url <URL>\n"
+"              Specifies  which  DNS-over-HTTPS  (DoH) server to use to resolve\n"
+"              hostnames, instead of using the default name resolver mechanism.\n"
+, stdout);
+ fputs(
+"              The URL must be HTTPS.\n"
+"\n"
+"              Some  SSL  options  that you set for your transfer will apply to\n"
+"              DoH since the name lookups take place  over  SSL.  However,  the\n"
+"              certificate  verification  settings are not inherited and can be\n"
+"              controlled separately via --doh-insecure and --doh-cert-status.\n"
+"\n"
+"              This option is unset if an empty string \"\" is used as  the  URL.\n"
+"              (Added in 7.85.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --doh-url is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --doh-url https://doh.example https://example.com\n"
+"\n"
+"              See also --doh-insecure. Added in 7.62.0.\n"
+"\n"
+"       -D, --dump-header <filename>\n"
+"              (HTTP FTP) Write the received protocol headers to the  specified\n"
+"              file.  If  no  headers are received, the use of this option will\n"
+"              create an empty file.\n"
+"\n"
+, stdout);
+ fputs(
+"              When used in FTP, the FTP server response lines  are  considered\n"
+"              being \"headers\" and thus are saved there.\n"
+"\n"
+"              If  --dump-header  is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --dump-header store.txt https://example.com\n"
+"\n"
+"              See also -o, --output.\n"
+"\n"
+"       --egd-file <file>\n"
+"              (TLS) Deprecated option. This option is ignored  by  curl  since\n"
+, stdout);
+ fputs(
+"              7.84.0.  Prior to that it only had an effect on curl if built to\n"
+"              use old versions of OpenSSL.\n"
+"\n"
+"              Specify the path name to the Entropy  Gathering  Daemon  socket.\n"
+"              The  socket  is  used  to seed the random engine for SSL connec-\n"
+"              tions.\n"
+"\n"
+"              If --egd-file is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --egd-file /random/here https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --random-file.\n"
+"\n"
+"       --engine <name>\n"
+"              (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 (and possibly none) of the engines\n"
+"              may be available at runtime.\n"
+"\n"
+"              If --engine is provided several times, the last set  value  will\n"
+"              be used.\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --engine flavor https://example.com\n"
+"\n"
+"              See also --ciphers and --curves.\n"
+"\n"
+"       --etag-compare <file>\n"
+"              (HTTP) This option makes a conditional HTTP request for the spe-\n"
+"              cific ETag read from the given file by sending a custom If-None-\n"
+"              Match header using the stored ETag.\n"
+"\n"
+"              For  correct results, make sure that the specified file contains\n"
+, stdout);
+ fputs(
+"              only a single line with the  desired  ETag.  An  empty  file  is\n"
+"              parsed as an empty ETag.\n"
+"\n"
+"              Use  the  option  --etag-save  to first save the ETag from a re-\n"
+"              sponse, and then use this option to compare  against  the  saved\n"
+"              ETag in a subsequent request.\n"
+"\n"
+"              If  --etag-compare is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --etag-compare etag.txt https://example.com\n"
+"\n"
+"              See also --etag-save and -z, --time-cond. Added in 7.68.0.\n"
+"\n"
+"       --etag-save <file>\n"
+"              (HTTP) This option saves an HTTP ETag to the specified file.  An\n"
+"              ETag  is  a  caching  related  header, usually returned in a re-\n"
+"              sponse.\n"
+"\n"
+"              If no ETag is sent by the server, an empty file is created.\n"
+"\n"
+"              If --etag-save is provided several times,  the  last  set  value\n"
+, stdout);
+ fputs(
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --etag-save storetag.txt https://example.com\n"
+"\n"
+"              See also --etag-compare. Added in 7.68.0.\n"
+"\n"
+"       --expect100-timeout <seconds>\n"
+"              (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"
+, stdout);
+ fputs(
+"              This option accepts decimal values! When curl stops waiting,  it\n"
+"              will continue as if the response has been received.\n"
+"\n"
+"              If  --expect100-timeout  is provided several times, the last set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --expect100-timeout 2.5 -T file https://example.com\n"
+"\n"
+"              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 de-\n"
+"              fault, it will ignore errors if there are more  URLs  given  and\n"
+"              the  last  URL's  success will determine the error code curl re-\n"
+"              turns. So early failures will be \"hidden\" by subsequent success-\n"
+"              ful 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"
+"              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 --fail is not global and is therefore\n"
+"              contained by -:, --next.\n"
+"\n"
+"              Providing --fail-early multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-fail-early.\n"
+"\n"
+"              Example:\n"
+"               curl --fail-early https://example.com https://two.example\n"
+"\n"
+"              See also -f, --fail and --fail-with-body. Added in 7.52.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --fail-with-body\n"
+"              (HTTP)  Return an error on server errors where the HTTP response\n"
+"              code is 400 or greater). In normal cases  when  an  HTTP  server\n"
+"              fails to deliver a document, it returns an HTML document stating\n"
+"              so (which often also describes why and  more).  This  flag  will\n"
+"              still allow curl to output and save that content but also to re-\n"
+"              turn error 22.\n"
+"\n"
+, stdout);
+ fputs(
+"              This is an alternative option to --fail which  makes  curl  fail\n"
+"              for the same circumstances but without saving the content.\n"
+"\n"
+"              Providing  --fail-with-body  multiple times has no extra effect.\n"
+"              Disable it again with --no-fail-with-body.\n"
+"\n"
+"              Example:\n"
+"               curl --fail-with-body https://example.com\n"
+"\n"
+"              See also -f, --fail. This option is mutually  exclusive  to  -f,\n"
+"              --fail. Added in 7.76.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       -f, --fail\n"
+"              (HTTP) Fail fast with no output at all on server errors. This is\n"
+"              useful to enable scripts and users to better  deal  with  failed\n"
+"              attempts. In normal cases when an HTTP server fails to deliver a\n"
+"              document, it returns an HTML document stating  so  (which  often\n"
+"              also  describes  why and more). This flag will prevent curl from\n"
+"              outputting that and return error 22.\n"
+"\n"
+, stdout);
+ fputs(
+"              This method is not fail-safe and there are occasions where  non-\n"
+"              successful response codes will slip through, especially when au-\n"
+"              thentication is involved (response codes 401 and 407).\n"
+"\n"
+"              Providing --fail multiple times has no extra effect.  Disable it\n"
+"              again with --no-fail.\n"
+"\n"
+"              Example:\n"
+"               curl --fail https://example.com\n"
+"\n"
+"              See  also --fail-with-body. This option is mutually exclusive to\n"
+, stdout);
+ fputs(
+"              --fail-with-body.\n"
+"\n"
+"       --false-start\n"
+"              (TLS) Tells curl to use false start during  the  TLS  handshake.\n"
+"              False  start is a mode where a TLS client will start sending ap-\n"
+"              plication data before verifying the server's  Finished  message,\n"
+"              thus saving a round trip when performing a full handshake.\n"
+"\n"
+"              This  is currently only implemented in the NSS and Secure Trans-\n"
+, stdout);
+ fputs(
+"              port (on iOS 7.0 or later, or OS X 10.9 or later) backends.\n"
+"\n"
+"              Providing --false-start multiple  times  has  no  extra  effect.\n"
+"              Disable it again with --no-false-start.\n"
+"\n"
+"              Example:\n"
+"               curl --false-start https://example.com\n"
+"\n"
+"              See also --tcp-fastopen. Added in 7.42.0.\n"
+"\n"
+"       --form-escape\n"
+"              (HTTP)  Tells curl to pass on names of multipart form fields and\n"
+, stdout);
+ fputs(
+"              files using backslash-escaping instead of percent-encoding.\n"
+"\n"
+"              If --form-escape is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --form-escape -F 'field\\name=curl' -F 'file=@load\"this' https://example.com\n"
+"\n"
+"              See also -F, --form. Added in 7.81.0.\n"
+"\n"
+"       --form-string <name=string>\n"
+"              (HTTP  SMTP IMAP) Similar to --form except that the value string\n"
+, stdout);
+ fputs(
+"              for the named parameter is used literally. Leading '@'  and  '<'\n"
+"              characters, and the ';type=' string in the value have no special\n"
+"              meaning. Use this in preference to --form if there's any  possi-\n"
+"              bility that the string value may accidentally trigger the '@' or\n"
+"              '<' features of -F, --form.\n"
+"\n"
+"              --form-string can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --form-string \"data\" https://example.com\n"
+"\n"
+"              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"
+"              button. This causes curl to POST  data  using  the  Content-Type\n"
+"              multipart/form-data according to RFC 2388.\n"
+"\n"
+, stdout);
+ fputs(
+"              For SMTP and IMAP protocols, this is the means 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"
+"              just get the content part from a file, prefix the file name with\n"
+"              the  symbol  <.  The  difference  between @ and < is then that @\n"
+, stdout);
+ fputs(
+"              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"
+"              field from a file.\n"
+"\n"
+"              Tell curl to read content from stdin instead of a file by  using\n"
+"              - as filename. This goes for both @ and < constructs. When stdin\n"
+"              is used, the contents is buffered in memory first by curl to de-\n"
+, stdout);
+ fputs(
+"              termine  its size and allow a possible resend. Defining a part's\n"
+"              data from a named non-regular file (such as a named pipe or sim-\n"
+"              ilar)  is unfortunately not subject to buffering and will be ef-\n"
+"              fectively read at transmission time; since the full size is  un-\n"
+"              known before the transfer starts, such data is sent as chunks by\n"
+"              HTTP and rejected by IMAP.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example: send an image to an HTTP server, where 'profile' is the\n"
+"              name  of  the  form-field to which the file portrait.jpg will be\n"
+"              the input:\n"
+"\n"
+"               curl -F profile=@portrait.jpg https://example.com/upload.cgi\n"
+"\n"
+"              Example: send your name and shoe size in two text fields to  the\n"
+"              server:\n"
+"\n"
+"               curl -F name=John -F shoesize=11 https://example.com/\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:  send your essay in a text field to the server. Send it\n"
+"              as a plain text field, but get the contents for it from a  local\n"
+"              file:\n"
+"\n"
+"               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"
+"               curl -F \"web=@index.html;type=text/html\" example.com\n"
+"\n"
+"              or\n"
+"\n"
+, stdout);
+ fputs(
+"               curl -F \"name=daniel;type=text/foo\" example.com\n"
+"\n"
+"              You can also explicitly change the name field of a  file  upload\n"
+"              part by setting filename=, like this:\n"
+"\n"
+"               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"
+"               curl -F \"file=@\\\"local,file\\\";filename=\\\"name;in;post\\\"\" example.com\n"
+"\n"
+"              or\n"
+"\n"
+, stdout);
+ fputs(
+"               curl -F 'file=@\"local,file\";filename=\"name;in;post\"' example.com\n"
+"              Note that if a filename/path is  quoted  by  double-quotes,  any\n"
+"              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"
+"              semicolons, leading/trailing spaces or leading double quotes:\n"
+"\n"
+, stdout);
+ fputs(
+"               curl -F 'colors=\"red; green; blue\";type=text/x-myapp' example.com\n"
+"\n"
+"              You  can  add  custom  headers to the field by setting headers=,\n"
+"              like\n"
+"\n"
+"                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"
+"              The headers= keyword may appear more that once and  above  notes\n"
+, stdout);
+ fputs(
+"              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"
+"              header file contents:\n"
+"\n"
+"                # This file contain two headers.\n"
+, stdout);
+ fputs(
+"                X-header-1: this is a header\n"
+"\n"
+"                # The following header is folded.\n"
+"                X-header-2: this is\n"
+"                 another header\n"
+"\n"
+"              To support sending multipart mail messages, the  syntax  is  ex-\n"
+"              tended as follows:\n"
+"              -  name can be omitted: the equal sign is the first character of\n"
+"              the argument,\n"
+"              - if data starts with '(', this signals to start  a  new  multi-\n"
+, stdout);
+ fputs(
+"              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 email consist-\n"
+"              ing in an inline part in two alternative formats: plain text and\n"
+"              HTML. It attaches a text file:\n"
+"\n"
+"               curl -F '=(;type=multipart/alternative' \\\n"
+"                    -F '=plain text message' \\\n"
+, stdout);
+ fputs(
+"                    -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 en-\n"
+"              codings are binary and 8bit that do nothing else than adding the\n"
+"              corresponding  Content-Transfer-Encoding  header, 7bit that only\n"
+"              rejects 8-bit characters with a transfer error, quoted-printable\n"
+, stdout);
+ fputs(
+"              and  base64  that  encodes  data  according to the corresponding\n"
+"              schemes, limiting lines length to 76 characters.\n"
+"\n"
+"              Example: send multipart mail with a quoted-printable  text  mes-\n"
+"              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"
+"              See further examples and details in the MANUAL.\n"
+"\n"
+, stdout);
+ fputs(
+"              --form can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --form \"name=curl\" --form \"file=@loadthis\" https://example.com\n"
+"\n"
+"              See  also  -d, --data, --form-string and --form-escape. This op-\n"
+"              tion is mutually exclusive to -d, --data and -I, --head and  -T,\n"
+"              --upload-file.\n"
+"\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  --ftp-account  is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-account \"mr.robot\" ftp://example.com/\n"
+"\n"
+"              See also -u, --user.\n"
+"\n"
+"       --ftp-alternative-to-user <command>\n"
+"              (FTP) If authenticating with the USER and PASS  commands  fails,\n"
+, stdout);
+ fputs(
+"              send  this  command.   When  connecting  to  Tumbleweed's Secure\n"
+"              Transport server over FTPS using  a  client  certificate,  using\n"
+"              \"SITE  AUTH\"  will tell the server to retrieve the username from\n"
+"              the certificate.\n"
+"\n"
+"              If --ftp-alternative-to-user is provided several times, the last\n"
+"              set value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-alternative-to-user \"U53r\" ftp://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --ftp-account and -u, --user.\n"
+"\n"
+"       --ftp-create-dirs\n"
+"              (FTP  SFTP)  When  an FTP or SFTP URL/operation uses a path that\n"
+"              does not currently exist on the server, the standard behavior of\n"
+"              curl is to fail. Using this option, curl will instead attempt to\n"
+"              create missing directories.\n"
+"\n"
+"              Providing --ftp-create-dirs multiple times has no extra  effect.\n"
+"              Disable it again with --no-ftp-create-dirs.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --ftp-create-dirs -T file ftp://example.com/remote/path/file\n"
+"\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"
+"              FTP(S) server. The method argument should be one of the  follow-\n"
+"              ing alternatives:\n"
+"\n"
+"              multicwd\n"
+"                     curl  does  a  single CWD operation for each path part in\n"
+, stdout);
+ fputs(
+"                     the given URL. For deep hierarchies this means many  com-\n"
+"                     mands.  This is how RFC 1738 says it should be done. This\n"
+"                     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"
+"\n"
+"              singlecwd\n"
+, stdout);
+ fputs(
+"                     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"
+"                     'nocwd' but without the full penalty of 'multicwd'.\n"
+"\n"
+"       If  --ftp-method  is provided several times, the last set value will be\n"
+"       used.\n"
+"\n"
+"       Examples:\n"
+"        curl --ftp-method multicwd ftp://example.com/dir1/dir2/file\n"
+, stdout);
+ fputs(
+"        curl --ftp-method nocwd ftp://example.com/dir1/dir2/file\n"
+"        curl --ftp-method singlecwd ftp://example.com/dir1/dir2/file\n"
+"\n"
+"       See also -l, --list-only.\n"
+"\n"
+"       --ftp-pasv\n"
+"              (FTP) Use passive mode for the data connection. Passive  is  the\n"
+"              internal  default behavior, but using this option can be used to\n"
+"              override a previous --ftp-port option.\n"
+"\n"
+"              Reversing an enforced passive really is not doable but you  must\n"
+, stdout);
+ fputs(
+"              then instead enforce the correct --ftp-port again.\n"
+"\n"
+"              Passive mode means that curl will try the EPSV command first and\n"
+"              then PASV, unless --disable-epsv is used.\n"
+"\n"
+"              Providing --ftp-pasv multiple times has no extra  effect.   Dis-\n"
+"              able it again with --no-ftp-pasv.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-pasv ftp://example.com/\n"
+"\n"
+"              See also --disable-epsv.\n"
+"       -P, --ftp-port <address>\n"
+, stdout);
+ fputs(
+"              (FTP)  Reverses  the  default initiator/listener roles when con-\n"
+"              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"
+, stdout);
+ fputs(
+"                     e.g. \"eth0\" to specify which interface's IP  address  you\n"
+"                     want to use (Unix only)\n"
+"\n"
+"              IP address\n"
+"                     e.g. \"192.168.10.1\" to specify the exact IP address\n"
+"\n"
+"              host name\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"
+"\n"
+, stdout);
+ fputs(
+"       Disable the use of PORT with --ftp-pasv. Disable the attempt to use the\n"
+"       EPRT  command  instead  of PORT by using --disable-eprt. EPRT is really\n"
+"       PORT++.\n"
+"\n"
+"       You can also append \":[start]-[end]\" to the right of  the  address,  to\n"
+"       tell  curl  what  TCP  port range to use. That means you specify a port\n"
+"       range, from a lower to a higher number. A single number works as  well,\n"
+"       but  do  note  that it increases the risk of failure since the port may\n"
+, stdout);
+ fputs(
+"       not be available.\n"
+"\n"
+"       If --ftp-port is provided several times, the last  set  value  will  be\n"
+"       used.\n"
+"\n"
+"       Examples:\n"
+"        curl -P - ftp:/example.com\n"
+"        curl -P eth0 ftp:/example.com\n"
+"        curl -P 192.168.0.2 ftp:/example.com\n"
+"\n"
+"       See also --ftp-pasv and --disable-eprt.\n"
+"\n"
+"       --ftp-pret\n"
+"              (FTP)  Tell  curl to send a PRET command before PASV (and EPSV).\n"
+"              Certain FTP servers, mainly drftpd,  require  this  non-standard\n"
+, stdout);
+ fputs(
+"              command  for  directory  listings as well as up and downloads in\n"
+"              PASV mode.\n"
+"\n"
+"              Providing --ftp-pret multiple times has no extra  effect.   Dis-\n"
+"              able it again with --no-ftp-pret.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-pret ftp://example.com/\n"
+"\n"
+"              See also -P, --ftp-port and --ftp-pasv.\n"
+"\n"
+"       --ftp-skip-pasv-ip\n"
+"              (FTP) Tell curl to not use the IP address the server suggests in\n"
+, stdout);
+ fputs(
+"              its response to curl's PASV command when curl connects the  data\n"
+"              connection.  Instead curl will re-use the same IP address it al-\n"
+"              ready uses for the control connection.\n"
+"\n"
+"              Since curl 7.74.0 this option is enabled by default.\n"
+"\n"
+"              This option has no effect if PORT, EPRT or EPSV is used  instead\n"
+"              of PASV.\n"
+"\n"
+"              Providing --ftp-skip-pasv-ip multiple times has no extra effect.\n"
+, stdout);
+ fputs(
+"              Disable it again with --no-ftp-skip-pasv-ip.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-skip-pasv-ip ftp://example.com/\n"
+"\n"
+"              See also --ftp-pasv.\n"
+"\n"
+"       --ftp-ssl-ccc-mode <active/passive>\n"
+"              (FTP) Sets the CCC mode. The passive mode will not initiate  the\n"
+"              shutdown, but instead wait for the server to do it, and will not\n"
+"              reply to the shutdown from the server. The active mode initiates\n"
+, stdout);
+ fputs(
+"              the shutdown and waits for a reply from the server.\n"
+"\n"
+"              Providing --ftp-ssl-ccc-mode multiple times has no extra effect.\n"
+"              Disable it again with --no-ftp-ssl-ccc-mode.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-ssl-ccc-mode active --ftp-ssl-ccc ftps://example.com/\n"
+"\n"
+"              See also --ftp-ssl-ccc.\n"
+"\n"
+"       --ftp-ssl-ccc\n"
+"              (FTP) Use CCC (Clear Command Channel)  Shuts  down  the  SSL/TLS\n"
+, stdout);
+ fputs(
+"              layer after authenticating. The rest of the control channel com-\n"
+"              munication will be unencrypted. This allows NAT routers to  fol-\n"
+"              low the FTP transaction. The default mode is passive.\n"
+"\n"
+"              Providing  --ftp-ssl-ccc  multiple  times  has  no extra effect.\n"
+"              Disable it again with --no-ftp-ssl-ccc.\n"
+"\n"
+"              Example:\n"
+"               curl --ftp-ssl-ccc ftps://example.com/\n"
+"              See also --ssl and --ftp-ssl-ccc-mode.\n"
+"\n"
+, stdout);
+ fputs(
+"       --ftp-ssl-control\n"
+"              (FTP) Require SSL/TLS for the FTP  login,  clear  for  transfer.\n"
+"              Allows  secure  authentication, but non-encrypted data transfers\n"
+"              for efficiency.  Fails the transfer if the server does not  sup-\n"
+"              port SSL/TLS.\n"
+"\n"
+"              Providing  --ftp-ssl-control multiple times has no extra effect.\n"
+"              Disable it again with --no-ftp-ssl-control.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --ftp-ssl-control ftp://example.com\n"
+"\n"
+"              See also --ssl.\n"
+"\n"
+"       -G, --get\n"
+"              When used, this option will make all  data  specified  with  -d,\n"
+"              --data,  --data-binary or --data-urlencode to be used in an HTTP\n"
+"              GET request instead of the POST request that otherwise would  be\n"
+"              used. The data will be appended to the URL with a '?' separator.\n"
+"              If  used  in combination with -I, --head, the POST data will in-\n"
+, stdout);
+ fputs(
+"              stead be appended to the URL with a HEAD request.\n"
+"\n"
+"              Providing --get multiple times has no extra effect.  Disable  it\n"
+"              again with --no-get.\n"
+"\n"
+"              Examples:\n"
+"               curl --get https://example.com\n"
+"               curl --get -d \"tool=curl\" -d \"age=old\" https://example.com\n"
+"               curl --get -I -d \"tool=curl\" https://example.com\n"
+"\n"
+"              See also -d, --data and -X, --request.\n"
+"\n"
+"       -g, --globoff\n"
+, stdout);
+ fputs(
+"              This option switches off the \"URL globbing parser\". When you set\n"
+"              this option, you can specify URLs that contain the letters  {}[]\n"
+"              without  having curl itself interpret them. Note that these let-\n"
+"              ters are not normal legal URL contents but they  should  be  en-\n"
+"              coded according to the URI standard.\n"
+"\n"
+"              Providing --globoff multiple times has no extra effect.  Disable\n"
+"              it again with --no-globoff.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl -g \"https://example.com/{[]}}}}\"\n"
+"\n"
+"              See also -K, --config and -q, --disable.\n"
+"\n"
+"       --happy-eyeballs-timeout-ms <milliseconds>\n"
+"              Happy Eyeballs is an algorithm that attempts to connect to  both\n"
+"              IPv4  and  IPv6  addresses  for  dual-stack hosts, giving IPv6 a\n"
+"              head-start of the specified number of milliseconds. If the  IPv6\n"
+"              address  cannot be connected to within that time, then a connec-\n"
+, stdout);
+ fputs(
+"              tion attempt is made to the IPv4 address in parallel. The  first\n"
+"              connection to be established is the one that is used.\n"
+"\n"
+"              The  range of suggested useful values is limited. Happy Eyeballs\n"
+"              RFC 6555 says \"It is RECOMMENDED  that  connection  attempts  be\n"
+"              paced  150-250 ms apart to balance human factors against network\n"
+"              load.\" libcurl currently defaults to 200 ms. Firefox and  Chrome\n"
+, stdout);
+ fputs(
+"              currently default to 300 ms.\n"
+"\n"
+"              If  --happy-eyeballs-timeout-ms  is  provided several times, the\n"
+"              last set value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --happy-eyeballs-timeout-ms 500 https://example.com\n"
+"\n"
+"              See also -m, --max-time and --connect-timeout. Added in 7.59.0.\n"
+"\n"
+"       --haproxy-protocol\n"
+"              (HTTP) Send a HAProxy PROXY protocol v1 header at the  beginning\n"
+, stdout);
+ fputs(
+"              of  the  connection. This is used by some load balancers and re-\n"
+"              verse proxies to indicate the client's true IP address and port.\n"
+"              This option is primarily useful when sending test requests to  a\n"
+"              service that expects this header.\n"
+"\n"
+"              Providing --haproxy-protocol multiple times has no extra effect.\n"
+"              Disable it again with --no-haproxy-protocol.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --haproxy-protocol https://example.com\n"
+"\n"
+"              See also -x, --proxy. 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(
+"              Providing --head multiple times has no extra effect.  Disable it\n"
+"              again with --no-head.\n"
+"\n"
+"              Example:\n"
+"               curl -I https://example.com\n"
+"\n"
+"              See also -G, --get, -v, --verbose and --trace-ascii.\n"
+"\n"
+"       -H, --header <header/@file>\n"
+"              (HTTP IMAP SMTP) Extra header to include  in  information  sent.\n"
+"              When used within an HTTP request, it is added to the regular re-\n"
+"              quest headers.\n"
+"\n"
+, stdout);
+ fputs(
+"              For an IMAP or SMTP MIME uploaded mail  built  with  --form  op-\n"
+"              tions,  it  is  prepended to the resulting MIME document, effec-\n"
+"              tively including it at the mail global level. It does not affect\n"
+"              raw uploaded mails (Added in 7.56.0).\n"
+"\n"
+"              You  may  specify  any number of extra headers. Note that if you\n"
+"              should add a custom header that has the same name as one of  the\n"
+, stdout);
+ fputs(
+"              internal ones curl would use, your externally set header will be\n"
+"              used instead of the internal one.  This allows you to make  even\n"
+"              trickier  stuff  than curl would normally do. You should not re-\n"
+"              place internally set headers without knowing perfectly well what\n"
+"              you are doing. Remove an internal header by giving a replacement\n"
+"              without content on the right  side  of  the  colon,  as  in:  -H\n"
+, stdout);
+ fputs(
+"              \"Host:\".  If  you  send the custom header with no-value then its\n"
+"              header must be terminated with a semicolon, such as  -H  \"X-Cus-\n"
+"              tom-Header;\" to send \"X-Custom-Header:\".\n"
+"\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"
+, stdout);
+ fputs(
+"              returns, they will only mess things up for you.\n"
+"\n"
+"              This option can take an argument in @filename style, which  then\n"
+"              adds  a  header  for  each line in the input file. Using @- will\n"
+"              make curl read the header file from stdin. Added in 7.55.0.\n"
+"\n"
+"              Please note that most anti-spam utilities check the presence and\n"
+"              value  of  several  MIME mail headers: these are \"From:\", \"To:\",\n"
+, stdout);
+ fputs(
+"              \"Date:\" and \"Subject:\" among others and  should  be  added  with\n"
+"              this option.\n"
+"\n"
+"              You  need  --proxy-header to send custom headers intended for an\n"
+"              HTTP proxy. Added in 7.37.0.\n"
+"\n"
+"              Passing on a \"Transfer-Encoding: chunked\" header when  doing  an\n"
+"              HTTP  request  with a request body, will make curl send the data\n"
+"              using chunked encoding.\n"
+"\n"
+, stdout);
+ fputs(
+"              WARNING: headers set with this option will be set  in  all  HTTP\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"
+"              --header can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+, stdout);
+ fputs(
+"               curl -H \"X-First-Name: Joe\" https://example.com\n"
+"               curl -H \"User-Agent: yes-please/2000\" https://example.com\n"
+"               curl -H \"Host:\" https://example.com\n"
+"\n"
+"              See also -A, --user-agent and -e, --referer.\n"
+"\n"
+"       -h, --help <category>\n"
+"              Usage help. This lists all commands of the  <category>.   If  no\n"
+"              arg  was  provided, curl will display the most important command\n"
+, stdout);
+ fputs(
+"              line arguments.  If the argument \"all\" was provided,  curl  will\n"
+"              display  all  options available.  If the argument \"category\" was\n"
+"              provided, curl will display all categories and their meanings.\n"
+"\n"
+"              Providing --help multiple times has no extra effect.  Disable it\n"
+"              again with --no-help.\n"
+"\n"
+"              Example:\n"
+"               curl --help all\n"
+"\n"
+"              See also -v, --verbose.\n"
+"\n"
+"       --hostpubmd5 <md5>\n"
+, stdout);
+ fputs(
+"              (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"
+"              If --hostpubmd5 is provided several times, the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --hostpubsha256.\n"
+"\n"
+"       --hostpubsha256 <sha256>\n"
+"              (SFTP SCP) Pass a string containing a Base64-encoded SHA256 hash\n"
+"              of the remote host's public key. Curl will refuse the connection\n"
+"              with the host unless the hashes match.\n"
+"\n"
+"              If --hostpubsha256 is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/\n"
+"\n"
+"              See also --hostpubmd5. Added in 7.80.0.\n"
+"\n"
+"       --hsts <file name>\n"
+"              (HTTPS) This option enables HSTS for the transfer. If  the  file\n"
+"              name  points  to an existing HSTS cache file, that will be used.\n"
+"              After a completed transfer, the cache will be saved to the  file\n"
+"              name again if it has been modified.\n"
+"\n"
+, stdout);
+ fputs(
+"              Specify a \"\" file name (zero length) to avoid loading/saving and\n"
+"              make curl just handle HSTS in memory.\n"
+"\n"
+"              If this option is used several times, curl  will  load  contents\n"
+"              from all the files but the last one will be used for saving.\n"
+"\n"
+"              --hsts can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --hsts cache.txt https://example.com\n"
+"\n"
+"              See also --proto. Added in 7.74.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --http0.9\n"
+"              (HTTP) Tells curl to be fine with HTTP version 0.9 response.\n"
+"\n"
+"              HTTP/0.9  is  a completely headerless response and therefore you\n"
+"              can also connect with this to non-HTTP servers and still  get  a\n"
+"              response since curl will simply transparently downgrade - if al-\n"
+"              lowed.\n"
+"\n"
+"              Since curl 7.66.0, HTTP/0.9 is disabled by default.\n"
+"\n"
+"              Providing --http0.9 multiple times has no extra effect.  Disable\n"
+, stdout);
+ fputs(
+"              it again with --no-http0.9.\n"
+"\n"
+"              Example:\n"
+"               curl --http0.9 https://example.com\n"
+"\n"
+"              See also --http1.1, --http2 and --http3. Added in 7.64.0.\n"
+"\n"
+"       -0, --http1.0\n"
+"              (HTTP)  Tells  curl to use HTTP version 1.0 instead of using its\n"
+"              internally preferred HTTP version.\n"
+"\n"
+"              Providing --http1.0 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --http1.0 https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --http0.9 and --http1.1. This option is mutually exclu-\n"
+"              sive  to  --http1.1  and --http2 and --http2-prior-knowledge and\n"
+"              --http3.\n"
+"\n"
+"       --http1.1\n"
+"              (HTTP) Tells curl to use HTTP version 1.1.\n"
+"\n"
+"              Providing --http1.1 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --http1.1 https://example.com\n"
+"\n"
+"              See also -0, --http1.0 and --http0.9. This  option  is  mutually\n"
+, stdout);
+ fputs(
+"              exclusive  to -0, --http1.0 and --http2 and --http2-prior-knowl-\n"
+"              edge and --http3. Added in 7.33.0.\n"
+"\n"
+"       --http2-prior-knowledge\n"
+"              (HTTP) Tells curl to  issue  its  non-TLS  HTTP  requests  using\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"
+, stdout);
+ fputs(
+"              version in the TLS handshake.\n"
+"\n"
+"              Providing --http2-prior-knowledge multiple times  has  no  extra\n"
+"              effect.  Disable it again with --no-http2-prior-knowledge.\n"
+"\n"
+"              Example:\n"
+"               curl --http2-prior-knowledge https://example.com\n"
+"\n"
+"              See  also  --http2 and --http3. --http2-prior-knowledge requires\n"
+"              that the underlying libcurl was built to  support  HTTP/2.  This\n"
+, stdout);
+ fputs(
+"              option  is mutually exclusive to --http1.1 and -0, --http1.0 and\n"
+"              --http2 and --http3. Added in 7.49.0.\n"
+"\n"
+"       --http2\n"
+"              (HTTP) Tells curl to use HTTP version 2.\n"
+"\n"
+"              For HTTPS, this means curl will attempt to negotiate  HTTP/2  in\n"
+"              the TLS handshake. curl does this by default.\n"
+"\n"
+"              For HTTP, this means curl will attempt to upgrade the request to\n"
+"              HTTP/2 using the Upgrade: request header.\n"
+"\n"
+, stdout);
+ fputs(
+"              When curl uses HTTP/2 over HTTPS, it does not itself  insist  on\n"
+"              TLS 1.2 or higher even though that is required by the specifica-\n"
+"              tion. A user can add this version requirement with --tlsv1.2.\n"
+"\n"
+"              Providing --http2 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --http2 https://example.com\n"
+"\n"
+"              See also --http1.1 and --http3. --http2 requires that the under-\n"
+, stdout);
+ fputs(
+"              lying  libcurl was built to support HTTP/2. This option is mutu-\n"
+"              ally exclusive to --http1.1 and -0, --http1.0 and --http2-prior-\n"
+"              knowledge and --http3. Added in 7.33.0.\n"
+"\n"
+"       --http3\n"
+"              (HTTP)  **WARNING**:  this option is experimental. Do not use in\n"
+"              production.\n"
+"\n"
+"              Tells curl to use HTTP version 3 directly to the host  and  port\n"
+"              number used in the URL. A normal HTTP/3 transaction will be done\n"
+, stdout);
+ fputs(
+"              to a host and then get redirected via Alt-Svc, but  this  option\n"
+"              allows  a  user to circumvent that when you know that the target\n"
+"              speaks HTTP/3 on the given host and port.\n"
+"\n"
+"              This option will make curl fail if a QUIC connection  cannot  be\n"
+"              established,  it cannot fall back to a lower HTTP version on its\n"
+"              own.\n"
+"\n"
+"              Providing --http3 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --http3 https://example.com\n"
+"\n"
+"              See also --http1.1 and --http2. --http3 requires that the under-\n"
+"              lying  libcurl was built to support HTTP/3. This option is mutu-\n"
+"              ally exclusive to --http1.1 and -0, --http1.0  and  --http2  and\n"
+"              --http2-prior-knowledge. Added in 7.66.0.\n"
+"\n"
+"       --ignore-content-length\n"
+"              (FTP  HTTP)  For HTTP, Ignore the Content-Length header. This is\n"
+, stdout);
+ fputs(
+"              particularly useful for servers running Apache 1.x,  which  will\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"
+"              size before downloading a file.\n"
+"\n"
+"              This  option  does not work for HTTP if libcurl was built to use\n"
+"              hyper.\n"
+"\n"
+"              Providing --ignore-content-length multiple times  has  no  extra\n"
+, stdout);
+ fputs(
+"              effect.  Disable it again with --no-ignore-content-length.\n"
+"\n"
+"              Example:\n"
+"               curl --ignore-content-length https://example.com\n"
+"\n"
+"              See also --ftp-skip-pasv-ip.\n"
+"\n"
+"       -i, --include\n"
+"              Include  the  HTTP  response headers in the output. The HTTP re-\n"
+"              sponse headers can include things  like  server  name,  cookies,\n"
+"              date of the document, HTTP version and more...\n"
+"\n"
+, stdout);
+ fputs(
+"              To view the request headers, consider the --verbose option.\n"
+"\n"
+"              Providing --include multiple times has no extra effect.  Disable\n"
+"              it again with --no-include.\n"
+"\n"
+"              Example:\n"
+"               curl -i https://example.com\n"
+"\n"
+"              See also -v, --verbose.\n"
+"\n"
+"       -k, --insecure\n"
+"              (TLS SFTP SCP) By default, every secure connection curl makes is\n"
+"              verified  to be secure before the transfer takes place. This op-\n"
+, stdout);
+ fputs(
+"              tion makes curl skip the verification step and  proceed  without\n"
+"              checking.\n"
+"\n"
+"              When this option is not used for protocols using TLS, curl veri-\n"
+"              fies the server's TLS certificate before it continues: that  the\n"
+"              certificate  contains the right name which matches the host name\n"
+"              used in the URL and that the certificate has been signed by a CA\n"
+"              certificate present in the cert store.  See this online resource\n"
+, stdout);
+ fputs(
+"              for further details:\n"
+"               https://curl.se/docs/sslcerts.html\n"
+"\n"
+"              For SFTP and SCP, this option makes curl  skip  the  known_hosts\n"
+"              verification.   known_hosts  is  a  file  normally stored in the\n"
+"              user's home directory in the \".ssh\" subdirectory, which contains\n"
+"              host names and their public keys.\n"
+"\n"
+"              WARNING: using this option makes the transfer insecure.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing  --insecure  multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-insecure.\n"
+"\n"
+"              Example:\n"
+"               curl --insecure https://example.com\n"
+"\n"
+"              See also --proxy-insecure, --cacert and --capath.\n"
+"\n"
+"       --interface <name>\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);
+ fputs(
+"               curl --interface eth0:1 https://www.example.com/\n"
+"\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"
+"              If  --interface  is  provided  several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --interface eth0 https://example.com\n"
+"\n"
+"              See also --dns-interface.\n"
+"\n"
+"       -4, --ipv4\n"
+"              This option tells curl to use IPv4 addresses only, and  not  for\n"
+"              example try IPv6.\n"
+"\n"
+"              Providing --ipv4 multiple times has no extra effect.  Disable it\n"
+"              again with --no-ipv4.\n"
+"\n"
+"              Example:\n"
+"               curl --ipv4 https://example.com\n"
+"\n"
+"              See also --http1.1 and --http2. This option is  mutually  exclu-\n"
+, stdout);
+ fputs(
+"              sive to -6, --ipv6.\n"
+"\n"
+"       -6, --ipv6\n"
+"              This  option  tells curl to use IPv6 addresses only, and not for\n"
+"              example try IPv4.\n"
+"\n"
+"              Providing --ipv6 multiple times has no extra effect.  Disable it\n"
+"              again with --no-ipv6.\n"
+"\n"
+"              Example:\n"
+"               curl --ipv6 https://example.com\n"
+"\n"
+"              See  also  --http1.1 and --http2. This option is mutually exclu-\n"
+"              sive to -4, --ipv4.\n"
+"\n"
+"       --json <data>\n"
+, stdout);
+ fputs(
+"              (HTTP) Sends the specified JSON data in a POST  request  to  the\n"
+"              HTTP  server.  --json  works  as a shortcut for passing on these\n"
+"              three options:\n"
+"\n"
+"               --data [arg]\n"
+"               --header \"Content-Type: application/json\"\n"
+"               --header \"Accept: application/json\"\n"
+"\n"
+"              There is no verification that the passed in data is actual  JSON\n"
+"              or that the syntax is correct.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  you  start  the data with the letter @, the rest should be a\n"
+"              file name to read the data from, or a single  dash  (-)  if  you\n"
+"              want  curl to read the data from stdin. Posting data from a file\n"
+"              named 'foobar' would thus be done with --json @foobar and to in-\n"
+"              stead read the data from stdin, use --json @-.\n"
+"\n"
+"              If  this option is used more than once on the same command line,\n"
+, stdout);
+ fputs(
+"              the additional data pieces will be concatenated to the  previous\n"
+"              before sending.\n"
+"\n"
+"              The  headers this option sets can be overridden with --header as\n"
+"              usual.\n"
+"\n"
+"              --json can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl --json '{ \"drink\": \"coffe\" }' https://example.com\n"
+"               curl --json '{ \"drink\":' --json ' \"coffe\" }' https://example.com\n"
+, stdout);
+ fputs(
+"               curl --json @prepared https://example.com\n"
+"               curl --json @- https://example.com < json.txt\n"
+"\n"
+"              See also --data-binary and --data-raw. This option  is  mutually\n"
+"              exclusive  to  -F,  --form and -I, --head and -T, --upload-file.\n"
+"              Added in 7.82.0.\n"
+"\n"
+"       -j, --junk-session-cookies\n"
+"              (HTTP) When curl is told to read cookies from a given file, this\n"
+, stdout);
+ fputs(
+"              option will make it discard all \"session cookies\". This will ba-\n"
+"              sically have the same effect as if a  new  session  is  started.\n"
+"              Typical  browsers  always  discard session cookies when they are\n"
+"              closed down.\n"
+"\n"
+"              Providing --junk-session-cookies multiple times has no extra ef-\n"
+"              fect.  Disable it again with --no-junk-session-cookies.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --junk-session-cookies -b cookies.txt https://example.com\n"
+"\n"
+"              See also -b, --cookie and -c, --cookie-jar.\n"
+"\n"
+"       --keepalive-time <seconds>\n"
+"              This  option sets the time a connection needs to remain idle be-\n"
+"              fore 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"
+, stdout);
+ fputs(
+"              (meaning  Linux,  recent  AIX,  HP-UX and more).  Keepalives are\n"
+"              used by the TCP stack to detect broken networks on idle  connec-\n"
+"              tions.  The  number  of missed keepalive probes before declaring\n"
+"              the connection down is OS dependent and is  commonly  9  or  10.\n"
+"              This option has no effect if --no-keepalive is used.\n"
+"\n"
+"              If unspecified, the option defaults to 60 seconds.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --keepalive-time  is  provided  several  times, the last set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --keepalive-time 20 https://example.com\n"
+"\n"
+"              See also --no-keepalive and -m, --max-time.\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"
+"              specified, PEM is assumed.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --key-type is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --key-type DER --key here https://example.com\n"
+"\n"
+"              See also --key.\n"
+"\n"
+"       --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"
+"              tries   the  following  candidates  in  order:  '~/.ssh/id_rsa',\n"
+, stdout);
+ fputs(
+"              '~/.ssh/id_dsa', './id_rsa', './id_dsa'.\n"
+"\n"
+"              If curl is built against OpenSSL library, and the engine  pkcs11\n"
+"              is available, then a PKCS#11 URI (RFC 7512) can be used to spec-\n"
+"              ify a private key located in a PKCS#11 device. A  string  begin-\n"
+"              ning  with  \"pkcs11:\" will be interpreted as a PKCS#11 URI. If a\n"
+"              PKCS#11 URI is provided, then the --engine option will be set as\n"
+, stdout);
+ fputs(
+"              \"pkcs11\"  if none was provided and the --key-type option will be\n"
+"              set as \"ENG\" if none was provided.\n"
+"\n"
+"              If curl is built against Secure Transport or Schannel then  this\n"
+"              option is ignored for TLS protocols (HTTPS, etc). Those backends\n"
+"              expect the private key to be already present in the keychain  or\n"
+"              PKCS#12 file containing the certificate.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --key  is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --cert certificate --key here https://example.com\n"
+"\n"
+"              See also --key-type and -E, --cert.\n"
+"\n"
+"       --krb <level>\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' will instead be used.\n"
+"\n"
+"              If  --krb  is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --krb clear ftp://example.com/\n"
+"\n"
+"              See also --delegation and --ssl. --krb requires that the  under-\n"
+"              lying libcurl was built to support Kerberos.\n"
+"\n"
+"       --libcurl <file>\n"
+, stdout);
+ fputs(
+"              Append  this  option  to any ordinary curl command line, and you\n"
+"              will get libcurl-using C source code written to  the  file  that\n"
+"              does the equivalent of what your command-line operation does!\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              If --libcurl is provided several times, the last set value  will\n"
+"              be used.\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --libcurl client.c https://example.com\n"
+"\n"
+"              See also -v, --verbose.\n"
+"\n"
+"       --limit-rate <speed>\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 would like your transfer not to use your\n"
+"              entire bandwidth. To make it slower than it otherwise would be.\n"
+"\n"
+, stdout);
+ fputs(
+"              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.  The suffixes (k, M, G, T, P) are 1024 based. For ex-\n"
+"              ample 1k is 1024. Examples: 200K, 3m and 1G.\n"
+"\n"
+"              The rate limiting logic works on averaging the transfer speed to\n"
+, stdout);
+ fputs(
+"              no  more  than  the set threshold over a period of multiple sec-\n"
+"              onds.\n"
+"\n"
+"              If you also use the --speed-limit option, that option will  take\n"
+"              precedence and might cripple the rate-limiting slightly, to help\n"
+"              keeping the speed-limit logic working.\n"
+"\n"
+"              If --limit-rate is provided several times, the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Examples:\n"
+, stdout);
+ fputs(
+"               curl --limit-rate 100K https://example.com\n"
+"               curl --limit-rate 1000 https://example.com\n"
+"               curl --limit-rate 10M https://example.com\n"
+"\n"
+"              See also -Y, --speed-limit and -y, --speed-time.\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"
+, stdout);
+ fputs(
+"              the normal directory view does not use a standard look  or  for-\n"
+"              mat.  When  used like this, the option causes an NLST command to\n"
+"              be sent to the server instead of LIST.\n"
+"\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"
+, 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"
+"              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"
+"              to  send a UIDL command instead, so the user may use the email's\n"
+"              unique identifier rather than its message-id  to  make  the  re-\n"
+"              quest.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing  --list-only multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-list-only.\n"
+"\n"
+"              Example:\n"
+"               curl --list-only ftp://example.com/dir/\n"
+"              See also -Q, --quote and -X, --request.\n"
+"\n"
+"       --local-port <num/range>\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"
+, stdout);
+ fputs(
+"              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"
+"              If --local-port is provided several times, the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --local-port 1000-3000 https://example.com\n"
+"\n"
+"              See also -g, --globoff.\n"
+"\n"
+"       --location-trusted\n"
+, stdout);
+ fputs(
+"              (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 will send your authentication info (which is\n"
+"              plaintext in the case of HTTP Basic authentication).\n"
+"\n"
+"              Providing --location-trusted multiple times has no extra effect.\n"
+, stdout);
+ fputs(
+"              Disable it again with --no-location-trusted.\n"
+"\n"
+"              Example:\n"
+"               curl --location-trusted -u user:password https://example.com\n"
+"\n"
+"              See also -u, --user.\n"
+"\n"
+"       -L, --location\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"
+, stdout);
+ fputs(
+"              on the new place. If used together with --include or -I, --head,\n"
+"              headers from all requested pages will be shown. When authentica-\n"
+"              tion  is  used,  curl  only sends its credentials to the initial\n"
+"              host. If a redirect takes curl to a different host, it will  not\n"
+"              be  able  to  intercept  the user+password. See also --location-\n"
+"              trusted on how to change this. You can limit the amount of redi-\n"
+, stdout);
+ fputs(
+"              rects to follow by using the --max-redirs option.\n"
+"\n"
+"              When  curl  follows  a redirect and if the request is a POST, it\n"
+"              will send the following request with a GET if the HTTP  response\n"
+"              was  301,  302,  or  303. If the response code was any other 3xx\n"
+"              code, curl will re-send the following request using the same un-\n"
+"              modified method.\n"
+"\n"
+"              You can tell curl to not change POST requests to GET after a 30x\n"
+, stdout);
+ fputs(
+"              response by using the dedicated  options  for  that:  --post301,\n"
+"              --post302 and --post303.\n"
+"\n"
+"              The  method  set  with --request overrides the method curl would\n"
+"              otherwise select to use.\n"
+"\n"
+"              Providing --location multiple times has no extra  effect.   Dis-\n"
+"              able it again with --no-location.\n"
+"\n"
+"              Example:\n"
+"               curl -L https://example.com\n"
+"\n"
+"              See also --resolve and --alt-svc.\n"
+"\n"
+, stdout);
+ fputs(
+"       --login-options <options>\n"
+"              (IMAP  LDAP  POP3  SMTP) Specify the login options to use during\n"
+"              server authentication.\n"
+"\n"
+"              You can use login options to specify protocol  specific  options\n"
+"              that  may  be  used during authentication. At present only IMAP,\n"
+"              POP3 and SMTP support login options. For more information  about\n"
+"              login  options  please  see  RFC  2384,  RFC 5092 and IETF draft\n"
+, stdout);
+ fputs(
+"              draft-earhart-url-smtp-00.txt\n"
+"\n"
+"              If --login-options is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --login-options 'AUTH=*' imap://example.com\n"
+"\n"
+"              See also -u, --user. 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"
+, stdout);
+ fputs(
+"              that is being relayed to another server.\n"
+"\n"
+"              If  --mail-auth  is  provided  several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --mail-auth user@example.come -T mail smtp://example.com/\n"
+"\n"
+"              See also --mail-rcpt and --mail-from.\n"
+"\n"
+"       --mail-from <address>\n"
+"              (SMTP) Specify a single address that the given mail  should  get\n"
+"              sent from.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --mail-from  is  provided  several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --mail-from user@example.com -T mail smtp://example.com/\n"
+"\n"
+"              See also --mail-rcpt and --mail-auth.\n"
+"\n"
+"       --mail-rcpt-allowfails\n"
+"              (SMTP) When sending data to multiple recipients, by default curl\n"
+"              will  abort  SMTP conversation if at least one of the recipients\n"
+, stdout);
+ fputs(
+"              causes RCPT TO command to return an error.\n"
+"\n"
+"              The default behavior can be changed by  passing  --mail-rcpt-al-\n"
+"              lowfails  command-line option which will make curl ignore errors\n"
+"              and proceed with the remaining valid recipients.\n"
+"\n"
+"              If all recipients trigger RCPT TO  failures  and  this  flag  is\n"
+"              specified,  curl  will still abort the SMTP conversation and re-\n"
+, stdout);
+ fputs(
+"              turn the error received from to the last RCPT TO command.\n"
+"\n"
+"              Providing --mail-rcpt-allowfails multiple times has no extra ef-\n"
+"              fect.  Disable it again with --no-mail-rcpt-allowfails.\n"
+"\n"
+"              Example:\n"
+"               curl --mail-rcpt-allowfails --mail-rcpt dest@example.com smtp://example.com\n"
+"\n"
+"              See also --mail-rcpt. Added in 7.69.0.\n"
+"\n"
+"       --mail-rcpt <address>\n"
+"              (SMTP) Specify a single email address, user name or mailing list\n"
+, stdout);
+ fputs(
+"              name. Repeat this option several times to send to  multiple  re-\n"
+"              cipients.\n"
+"\n"
+"              When  performing an address verification (VRFY command), the re-\n"
+"              cipient 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"
+, stdout);
+ fputs(
+"              \"Friends\" or \"London-Office\".  (Added in 7.34.0)\n"
+"\n"
+"              --mail-rcpt can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --mail-rcpt user@example.net smtp://example.com\n"
+"\n"
+"              See also --mail-rcpt-allowfails.\n"
+"\n"
+"       -M, --manual\n"
+"              Manual. Display the huge help text.\n"
+"\n"
+"              Providing  --manual multiple times has no extra effect.  Disable\n"
+"              it again with --no-manual.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --manual\n"
+"\n"
+"              See also -v, --verbose, --libcurl and --trace.\n"
+"\n"
+"       --max-filesize <bytes>\n"
+"              (FTP HTTP MQTT) Specify the maximum size (in bytes) of a file to\n"
+"              download.  If  the file requested is larger than this value, the\n"
+"              transfer will 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"
+, stdout);
+ fputs(
+"              will  count  the  number  as  kilobytes,  'm'  or  'M'  makes it\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"
+"              for such files this option has no effect even if the file trans-\n"
+"              fer  ends up being larger than this given limit.  If --max-file-\n"
+, stdout);
+ fputs(
+"              size is provided several times, the last set value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --max-filesize 100K https://example.com\n"
+"\n"
+"              See also --limit-rate.\n"
+"\n"
+"       --max-redirs <num>\n"
+"              (HTTP) Set maximum number of redirections to follow. When  --lo-\n"
+"              cation  is  used,  to prevent curl from following too many redi-\n"
+"              rects, by default, the limit is set to 50  redirects.  Set  this\n"
+, stdout);
+ fputs(
+"              option to -1 to make it unlimited.\n"
+"\n"
+"              If  --max-redirs  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --max-redirs 3 --location https://example.com\n"
+"\n"
+"              See also -L, --location.\n"
+"\n"
+"       -m, --max-time <fractional seconds>\n"
+"              Maximum time in seconds that you allow each  transfer  to  take.\n"
+"              This  is  useful for preventing your batch jobs from hanging for\n"
+, stdout);
+ fputs(
+"              hours due to slow networks or links going down.   Since  7.32.0,\n"
+"              this  option accepts decimal values, but the actual timeout will\n"
+"              decrease in accuracy as the specified timeout increases in deci-\n"
+"              mal precision.\n"
+"\n"
+"              If  you  enable retrying the transfer (--retry) then the maximum\n"
+"              time counter is reset each time the transfer is retried. You can\n"
+"              use --retry-max-time to limit the retry time.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --max-time is provided several times, the last set value will\n"
+"              be used.\n"
+"\n"
+"              Examples:\n"
+"               curl --max-time 10 https://example.com\n"
+"               curl --max-time 2.92 https://example.com\n"
+"\n"
+"              See also --connect-timeout and --retry-max-time.\n"
+"\n"
+"       --metalink\n"
+"              This option was previously used to specify a metalink  resource.\n"
+"              Metalink  support has been disabled in curl since 7.78.0 for se-\n"
+, stdout);
+ fputs(
+"              curity reasons.\n"
+"\n"
+"              If --metalink is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --metalink file https://example.com\n"
+"\n"
+"              See also -Z, --parallel.\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 --version to see if your curl supports GSS-API/SSPI or\n"
+, stdout);
+ fputs(
+"              SPNEGO.\n"
+"\n"
+"              When  using this option, you must also provide a fake --user op-\n"
+"              tion to activate the authentication code properly. Sending a '-u\n"
+"              :'  is  enough as the user name and password from the --user op-\n"
+"              tion are not actually used.\n"
+"\n"
+"              If this option is used several times,  only  the  first  one  is\n"
+"              used.\n"
+"\n"
+"              Providing --negotiate multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --negotiate -u : https://example.com\n"
+"\n"
+"              See also --basic, --ntlm, --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"
+"              should use. You can only specify one netrc file per invocation.\n"
+"\n"
+"              It will abide by --netrc-optional if specified.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --netrc-file  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --netrc-file netrc https://example.com\n"
+"\n"
+"              See also -n, --netrc, -u, --user and -K, --config.  This  option\n"
+"              is mutually exclusive to -n, --netrc.\n"
+"\n"
+"       --netrc-optional\n"
+"              Similar  to  -n, --netrc, but this option makes the .netrc usage\n"
+"              optional and not mandatory as the --netrc option does.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --netrc-optional multiple times has no  extra  effect.\n"
+"              Disable it again with --no-netrc-optional.\n"
+"\n"
+"              Example:\n"
+"               curl --netrc-optional https://example.com\n"
+"\n"
+"              See  also --netrc-file. This option is mutually exclusive to -n,\n"
+"              --netrc.\n"
+"\n"
+"       -n, --netrc\n"
+"              Makes curl scan the .netrc  (_netrc  on  Windows)  file  in  the\n"
+"              user's home directory for login name and password. This is typi-\n"
+, stdout);
+ fputs(
+"              cally used for FTP on Unix. If used with HTTP, curl will  enable\n"
+"              user  authentication. See netrc(5) and ftp(1) for details on the\n"
+"              file format. Curl will not complain if that file does  not  have\n"
+"              the  right  permissions  (it should be neither world- nor group-\n"
+"              readable). The environment variable \"HOME\" is used to  find  the\n"
+"              home directory.\n"
+"\n"
+, stdout);
+ fputs(
+"              A  quick  and  simple  example of how to setup a .netrc to allow\n"
+"              curl to FTP to the machine host.domain.com with user  name  'my-\n"
+"              self' and password 'secret' could look similar to:\n"
+"\n"
+"               machine host.domain.com\n"
+"               login myself\n"
+"               password secret\n"
+"\n"
+"              Providing  --netrc  multiple times has no extra effect.  Disable\n"
+"              it again with --no-netrc.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --netrc https://example.com\n"
+"\n"
+"              See also --netrc-file, -K, --config and -u, --user.\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 re-\n"
+"              quests, each with their own specific options, for example,  such\n"
+"              as different user names or custom requests for each.\n"
+"\n"
+, stdout);
+ fputs(
+"              --next  will  reset  all local options and only global ones will\n"
+"              have their values survive over to the  operation  following  the\n"
+"              --next   instruction.  Global  options  include  -v,  --verbose,\n"
+"              --trace, --trace-ascii and --fail-early.\n"
+"\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"
+"\n"
+, stdout);
+ fputs(
+"              --next can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl https://example.com --next -d postthis www2.example.com\n"
+"               curl -I https://example.com --next https://example.net/\n"
+"\n"
+"              See also -Z, --parallel and -K, --config. Added in 7.36.0.\n"
+"\n"
+"       --no-alpn\n"
+"              (HTTPS)  Disable  the ALPN TLS extension. ALPN is enabled by de-\n"
+"              fault if libcurl was built with an  SSL  library  that  supports\n"
+, stdout);
+ fputs(
+"              ALPN.  ALPN is used by a libcurl that supports HTTP/2 to negoti-\n"
+"              ate HTTP/2 support with the server during https sessions.\n"
+"\n"
+"              Providing --no-alpn multiple times has no extra effect.  Disable\n"
+"              it again with --alpn.\n"
+"\n"
+"              Example:\n"
+"               curl --no-alpn https://example.com\n"
+"\n"
+"              See  also  --no-npn and --http2. --no-alpn requires that the un-\n"
+"              derlying libcurl was built to support TLS. Added in 7.36.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       -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"
+"              will have the effect that it will output the data in chunks, not\n"
+"              necessarily  exactly  when  the data arrives.  Using this option\n"
+"              will disable that buffering.\n"
+"\n"
+"              Providing --no-buffer multiple times has no extra effect.   Dis-\n"
+, stdout);
+ fputs(
+"              able it again with --buffer.\n"
+"\n"
+"              Example:\n"
+"               curl --no-buffer https://example.com\n"
+"\n"
+"              See also -#, --progress-bar.\n"
+"\n"
+"       --no-clobber\n"
+"              When  used  in  conjunction with the -o, --output, -J, --remote-\n"
+"              header-name, -O, --remote-name,  or  --remote-name-all  options,\n"
+"              curl avoids overwriting files that already exist. Instead, a dot\n"
+"              and a number gets appended to the name of the file that would be\n"
+, stdout);
+ fputs(
+"              created,  up  to filename.100 after which it will not create any\n"
+"              file.\n"
+"\n"
+"              Note that this is the negated option name documented.   You  can\n"
+"              thus  use --clobber to enforce the clobbering, even if --remote-\n"
+"              header-name or -J is specified.\n"
+"\n"
+"              Providing --no-clobber multiple times has no extra effect.  Dis-\n"
+"              able it again with --clobber.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --no-clobber --output local/dir/file https://example.com\n"
+"              See also -o, --output and -O, --remote-name. Added in 7.83.0.\n"
+"\n"
+"       --no-keepalive\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"
+"              thus use --keepalive to enforce keepalive.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing  --no-keepalive  multiple  times  has no extra effect.\n"
+"              Disable it again with --keepalive.\n"
+"\n"
+"              Example:\n"
+"               curl --no-keepalive https://example.com\n"
+"\n"
+"              See also --keepalive-time.\n"
+"\n"
+"       --no-npn\n"
+"              (HTTPS) In curl 7.86.0 and later, curl never uses NPN.\n"
+"\n"
+"              Disable the NPN TLS extension. NPN  is  enabled  by  default  if\n"
+"              libcurl  was built with an SSL library that supports NPN. NPN is\n"
+, stdout);
+ fputs(
+"              used by a libcurl that supports HTTP/2 to negotiate HTTP/2  sup-\n"
+"              port with the server during https sessions.\n"
+"\n"
+"              Providing  --no-npn multiple times has no extra effect.  Disable\n"
+"              it again with --npn.\n"
+"\n"
+"              Example:\n"
+"               curl --no-npn https://example.com\n"
+"\n"
+"              See also --no-alpn and --http2. --no-npn requires that  the  un-\n"
+"              derlying libcurl was built to support TLS. Added in 7.36.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --no-progress-meter\n"
+"              Option to switch off the progress meter output without muting or\n"
+"              otherwise affecting  warning  and  informational  messages  like\n"
+"              --silent does.\n"
+"\n"
+"              Note  that  this  is the negated option name documented. You can\n"
+"              thus use --progress-meter to enable the progress meter again.\n"
+"\n"
+"              Providing --no-progress-meter multiple times has  no  extra  ef-\n"
+, stdout);
+ fputs(
+"              fect.  Disable it again with --progress-meter.\n"
+"\n"
+"              Example:\n"
+"               curl --no-progress-meter -o store https://example.com\n"
+"\n"
+"              See also -v, --verbose and -s, --silent. Added in 7.67.0.\n"
+"\n"
+"       --no-sessionid\n"
+"              (TLS)  Disable  curl's use of SSL session-ID caching. By default\n"
+"              all transfers are done using the cache. Note that while  nothing\n"
+"              should  ever  get  hurt  by attempting to reuse SSL session-IDs,\n"
+, stdout);
+ fputs(
+"              there seem to be broken SSL implementations in the wild that may\n"
+"              require you to disable this in order for you to succeed.\n"
+"\n"
+"              Note  that  this  is the negated option name documented. You can\n"
+"              thus use --sessionid to enforce session-ID caching.\n"
+"\n"
+"              Providing --no-sessionid multiple times  has  no  extra  effect.\n"
+"              Disable it again with --sessionid.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --no-sessionid https://example.com\n"
+"\n"
+"              See also -k, --insecure.\n"
+"\n"
+"       --noproxy <no-proxy-list>\n"
+"              Comma-separated  list  of hosts for which not to use a proxy, if\n"
+"              one is specified. The only wildcard is  a  single  *  character,\n"
+"              which  matches  all  hosts,  and effectively disables the proxy.\n"
+"              Each name in this list is matched as either a domain which  con-\n"
+, stdout);
+ fputs(
+"              tains  the  hostname,  or  the hostname itself. For example, lo-\n"
+"              cal.com would match local.com, local.com:80, and  www.local.com,\n"
+"              but not www.notlocal.com.\n"
+"\n"
+"              Since  7.53.0,  This  option overrides the environment variables\n"
+"              that disable the proxy ('no_proxy' and 'NO_PROXY').  If  there's\n"
+"              an  environment  variable disabling a proxy, you can set the no-\n"
+"              proxy list to \"\" to override it.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --noproxy is provided several times, the last set value  will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --noproxy \"www.example\" https://example.com\n"
+"\n"
+"              See also -x, --proxy.\n"
+"\n"
+"       --ntlm-wb\n"
+"              (HTTP) Enables NTLM much in the style --ntlm does, but hand over\n"
+"              the authentication to the separate binary  ntlmauth  application\n"
+"              that is executed when needed.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --ntlm-wb multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --ntlm-wb -u user:password https://example.com\n"
+"\n"
+"              See also --ntlm and --proxy-ntlm.\n"
+"\n"
+"       --ntlm (HTTP)  Enables  NTLM  authentication.  The  NTLM authentication\n"
+"              method was designed by Microsoft and is used by IIS web servers.\n"
+"              It  is a proprietary protocol, reverse-engineered by clever peo-\n"
+, stdout);
+ fputs(
+"              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"
+"              tion method instead, such as Digest.\n"
+"\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"
+"              used.\n"
+, stdout);
+ fputs(
+"\n"
+"              Providing --ntlm multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --ntlm -u user:password https://example.com\n"
+"\n"
+"              See  also  --proxy-ntlm.  --ntlm  requires  that  the underlying\n"
+"              libcurl was built to support TLS. This option is mutually exclu-\n"
+"              sive to --basic and --negotiate and --digest and --anyauth.\n"
+"\n"
+"       --oauth2-bearer <token>\n"
+"              (IMAP  LDAP  POP3  SMTP HTTP) Specify the Bearer Token for OAUTH\n"
+, stdout);
+ fputs(
+"              2.0 server authentication. The Bearer Token is used in  conjunc-\n"
+"              tion  with  the  user name which can be specified as part of the\n"
+"              --url or --user options.\n"
+"\n"
+"              The Bearer Token and user name are formatted  according  to  RFC\n"
+"              6750.\n"
+"\n"
+"              If --oauth2-bearer is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --oauth2-bearer \"mF_9.B5f-4.1JqM\" https://example.com\n"
+"\n"
+"              See also --basic, --ntlm and --digest. Added in 7.33.0.\n"
+"\n"
+"       --output-dir <dir>\n"
+"              This option specifies the directory in  which  files  should  be\n"
+"              stored, when --remote-name or --output are used.\n"
+"\n"
+"              The  given  output directory is used for all URLs and output op-\n"
+"              tions on the command line, up until the first -:, --next.\n"
+"\n"
+, stdout);
+ fputs(
+"              If the specified target directory does not exist, the  operation\n"
+"              will fail unless --create-dirs is also used.\n"
+"\n"
+"              If  --output-dir  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --output-dir \"tmp\" -O https://example.com\n"
+"\n"
+"              See also -O, --remote-name and -J,  --remote-header-name.  Added\n"
+"              in 7.73.0.\n"
+"\n"
+"       -o, --output <file>\n"
+, stdout);
+ fputs(
+"              Write output to <file> instead of stdout. If you are using {} or\n"
+"              [] to fetch multiple documents, you should quote the URL and you\n"
+"              can  use  '#' followed by a number in the <file> specifier. That\n"
+"              variable will be replaced with the current string  for  the  URL\n"
+"              being fetched. Like in:\n"
+"\n"
+"               curl \"http://{one,two}.example.com\" -o \"file_#1.txt\"\n"
+"\n"
+"              or use several variables like:\n"
+"\n"
+, stdout);
+ fputs(
+"               curl \"http://{site,host}.host[1-5].com\" -o \"#1_#2\"\n"
+"\n"
+"              You  may use this option as many times as the number of URLs you\n"
+"              have. For example, if you specify two URLs on the  same  command\n"
+"              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 does not matter,\n"
+"              just that the first -o is for the first URL and so  on,  so  the\n"
+, stdout);
+ fputs(
+"              above command line can also be written as\n"
+"\n"
+"                curl example.com example.net -o aa -o bb\n"
+"\n"
+"              See  also  the --create-dirs option to create the local directo-\n"
+"              ries dynamically. Specifying the output as '-' (a  single  dash)\n"
+"              will force the output to be done to stdout.\n"
+"\n"
+"              To   suppress  response  bodies,  you  can  redirect  output  to\n"
+"              /dev/null:\n"
+"\n"
+"                curl example.com -o /dev/null\n"
+"\n"
+, stdout);
+ fputs(
+"              Or for Windows use nul:\n"
+"                curl example.com -o nul\n"
+"\n"
+"              --output can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl -o file https://example.com\n"
+"               curl \"http://{one,two}.example.com\" -o \"file_#1.txt\"\n"
+"               curl \"http://{site,host}.host[1-5].com\" -o \"#1_#2\"\n"
+"               curl -o file https://example.com -o file2 https://example.net\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -O, --remote-name, --remote-name-all and -J,  --remote-\n"
+"              header-name.\n"
+"\n"
+"       --parallel-immediate\n"
+"              When  doing  parallel  transfers, this option will instruct curl\n"
+"              that it should rather prefer opening up more connections in par-\n"
+"              allel at once rather than waiting to see if new transfers can be\n"
+"              added as multiplexed streams on another connection.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Providing  --parallel-immediate  multiple times has no extra ef-\n"
+"              fect.  Disable it again with --no-parallel-immediate.\n"
+"\n"
+"              Example:\n"
+"               curl --parallel-immediate -Z https://example.com -o file1 https://example.com -o file2\n"
+"\n"
+"              See also -Z, --parallel and --parallel-max. Added in 7.68.0.\n"
+"\n"
+"       --parallel-max <num>\n"
+, stdout);
+ fputs(
+"              When asked to do parallel transfers, using -Z, --parallel,  this\n"
+"              option controls the maximum amount of transfers to do simultane-\n"
+"              ously.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"              The default is 50.\n"
+"\n"
+"              If  --parallel-max is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --parallel-max 100 -Z https://example.com ftp://example.com/\n"
+"\n"
+"              See also -Z, --parallel. Added in 7.66.0.\n"
+"\n"
+"       -Z, --parallel\n"
+"              Makes curl perform its transfers in parallel as compared to  the\n"
+"              regular serial manner.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Providing --parallel multiple times has no extra  effect.   Dis-\n"
+, stdout);
+ fputs(
+"              able it again with --no-parallel.\n"
+"\n"
+"              Example:\n"
+"               curl --parallel https://example.com -o file1 https://example.com -o file2\n"
+"\n"
+"              See also -:, --next and -v, --verbose. Added in 7.66.0.\n"
+"\n"
+"       --pass <phrase>\n"
+"              (SSH TLS) Passphrase for the private key.\n"
+"\n"
+"              If  --pass is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --pass secret --key file https://example.com\n"
+"\n"
+"              See also --key and -u, --user.\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"
+"              standards but with this option set you tell it not to do that.\n"
+"\n"
+"              Providing --path-as-is multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-path-as-is.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --path-as-is https://example.com/../../etc/passwd\n"
+"\n"
+"              See also --request-target. Added in 7.42.0.\n"
+"\n"
+"       --pinnedpubkey <hashes>\n"
+"              (TLS)  Tells  curl  to  use  the  specified  public key file (or\n"
+"              hashes) to verify the peer. This can be a path to a  file  which\n"
+"              contains a single public key in PEM or DER format, or any number\n"
+"              of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
+, stdout);
+ fputs(
+"              rated by ';'.\n"
+"\n"
+"              When  negotiating  a  TLS  or SSL connection, the server sends a\n"
+"              certificate indicating its identity. A public key  is  extracted\n"
+"              from  this certificate and if it does not exactly match the pub-\n"
+"              lic key provided to this option, curl will abort the  connection\n"
+"              before sending or receiving any data.\n"
+"\n"
+"              PEM/DER support:\n"
+"\n"
+"              7.39.0: OpenSSL, GnuTLS and GSKit\n"
+"\n"
+, stdout);
+ fputs(
+"              7.43.0: NSS and wolfSSL\n"
+"\n"
+"              7.47.0: mbedtls\n"
+"              sha256 support:\n"
+"\n"
+"              7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL\n"
+"\n"
+"              7.47.0: mbedtls\n"
+"\n"
+"              Other SSL backends not supported.\n"
+"\n"
+"              If  --pinnedpubkey is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Examples:\n"
+"               curl --pinnedpubkey keyfile https://example.com\n"
+, stdout);
+ fputs(
+"               curl --pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com\n"
+"\n"
+"              See also --hostpubsha256. Added in 7.39.0.\n"
+"\n"
+"       --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 behavior is ubiquitous in web browsers, so curl does the\n"
+"              conversion by default to maintain consistency. However, a server\n"
+, stdout);
+ fputs(
+"              may require a POST to remain a POST after  such  a  redirection.\n"
+"              This option is meaningful only when using -L, --location.\n"
+"\n"
+"              Providing --post301 multiple times has no extra effect.  Disable\n"
+"              it again with --no-post301.\n"
+"\n"
+"              Example:\n"
+"               curl --post301 --location -d \"data\" https://example.com\n"
+"\n"
+"              See also --post302, --post303 and -L, --location.\n"
+"\n"
+"       --post302\n"
+, stdout);
+ fputs(
+"              (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n"
+"              requests into GET requests when following a 302 redirection. The\n"
+"              non-RFC behavior is ubiquitous in web browsers, so curl does the\n"
+"              conversion by default to maintain consistency. However, a server\n"
+"              may require a POST to remain a POST after  such  a  redirection.\n"
+"              This option is meaningful only when using -L, --location.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --post302 multiple times has no extra effect.  Disable\n"
+"              it again with --no-post302.\n"
+"\n"
+"              Example:\n"
+"               curl --post302 --location -d \"data\" https://example.com\n"
+"\n"
+"              See also --post301, --post303 and -L, --location.\n"
+"\n"
+"       --post303\n"
+"              (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n"
+"              requests  into  GET  requests when following 303 redirections. A\n"
+, stdout);
+ fputs(
+"              server may require a POST to remain a POST after a 303 redirect-\n"
+"              ion. This option is meaningful only when using -L, --location.\n"
+"\n"
+"              Providing --post303 multiple times has no extra effect.  Disable\n"
+"              it again with --no-post303.\n"
+"\n"
+"              Example:\n"
+"               curl --post303 --location -d \"data\" https://example.com\n"
+"\n"
+"              See also --post302, --post301 and -L, --location.\n"
+"\n"
+"       --preproxy [protocol://]host[:port]\n"
+, stdout);
+ fputs(
+"              Use the specified SOCKS proxy before connecting to  an  HTTP  or\n"
+"              HTTPS  -x,  --proxy.  In  such a case curl first connects to the\n"
+"              SOCKS proxy and then connects (through SOCKS)  to  the  HTTP  or\n"
+"              HTTPS proxy. Hence pre proxy.\n"
+"\n"
+"              The pre proxy string should be specified with a protocol:// pre-\n"
+"              fix to  specify  alternative  proxy  protocols.  Use  socks4://,\n"
+, stdout);
+ fputs(
+"              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"
+"              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"
+, stdout);
+ fputs(
+"              ters such as @ by using %40 or pass in a colon with %3a.\n"
+"\n"
+"              If --preproxy is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --preproxy socks5://proxy.example -x http://http.example https://example.com\n"
+"\n"
+"              See also -x, --proxy and --socks5. Added in 7.52.0.\n"
+"\n"
+"       -#, --progress-bar\n"
+"              Make curl display transfer progress as a simple progress bar in-\n"
+, stdout);
+ fputs(
+"              stead of the standard, more informational, meter.\n"
+"\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"
+"              transferred, with a set of flying hash sign symbols on top.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Providing  --progress-bar  multiple  times  has no extra effect.\n"
+"              Disable it again with --no-progress-bar.\n"
+"\n"
+"              Example:\n"
+"               curl -# -O https://example.com\n"
+"\n"
+"              See also --styled-output.\n"
+"\n"
+"       --proto-default <protocol>\n"
+"              Tells curl to use protocol for any URL missing a scheme name.\n"
+"\n"
+, stdout);
+ fputs(
+"              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 set, curl guesses protocol based on the host\n"
+"              name, see --url for details.\n"
+"\n"
+"              If --proto-default is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proto-default https ftp.example.com\n"
+"\n"
+"              See also --proto and --proto-redir. 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"
+"              --proto for how protocols are represented.\n"
+"\n"
+"              Example, allow only HTTP and HTTPS on redirect:\n"
+"\n"
+, stdout);
+ fputs(
+"               curl --proto-redir -all,http,https http://example.com\n"
+"\n"
+"              By default curl will only allow HTTP, HTTPS, FTP and FTPS on re-\n"
+"              direct (since 7.65.2). Specifying all or +all enables all proto-\n"
+"              cols on redirects, which is not good for security.\n"
+"\n"
+"              If  --proto-redir  is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proto-redir =http,https https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --proto.\n"
+"\n"
+"       --proto <protocols>\n"
+"              Tells curl to limit what protocols it  may  use  for  transfers.\n"
+"              Protocols  are evaluated left to right, are comma separated, and\n"
+"              are each a protocol name or 'all', optionally prefixed  by  zero\n"
+"              or more modifiers. Available modifiers are:\n"
+"\n"
+"              +  Permit this protocol in addition to protocols already permit-\n"
+, stdout);
+ fputs(
+"                 ted (this is the default if no modifier is used).\n"
+"\n"
+"              -  Deny this protocol, removing it from the  list  of  protocols\n"
+"                 already permitted.\n"
+"\n"
+"              =  Permit  only this protocol (ignoring the list already permit-\n"
+"                 ted), though subject to later modification by subsequent  en-\n"
+"                 tries in the comma separated list.\n"
+"\n"
+"              For example:\n"
+"\n"
+"              --proto -ftps  uses the default protocols, but disables ftps\n"
+"\n"
+, stdout);
+ fputs(
+"              --proto -all,https,+http\n"
+"                             only enables http and https\n"
+"\n"
+"              --proto =http,https\n"
+"                             also only enables http and https\n"
+"\n"
+"              Unknown  and  disabled  protocols produce a warning. This allows\n"
+"              scripts to safely rely on being able to disable potentially dan-\n"
+"              gerous protocols, without relying upon support for that protocol\n"
+"              being built into curl to avoid an error.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option can be used multiple times, in which case the effect\n"
+"              is  the same as concatenating the protocols into one instance of\n"
+"              the option.\n"
+"\n"
+"              If --proto is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --proto =http,https,sftp https://example.com\n"
+"\n"
+"              See also --proto-redir and --proto-default.\n"
+"\n"
+"       --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"
+"              request/response round-trip.\n"
+"\n"
+"              Providing --proxy-anyauth multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-anyauth --proxy-user user:passwd -x proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy, --proxy-basic and --proxy-digest.\n"
+"\n"
+"       --proxy-basic\n"
+, stdout);
+ fputs(
+"              Tells  curl  to use HTTP Basic authentication when communicating\n"
+"              with the given proxy. Use --basic for enabling HTTP Basic with a\n"
+"              remote  host.  Basic  is  the default authentication method curl\n"
+"              uses with proxies.\n"
+"\n"
+"              Providing --proxy-basic multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-basic --proxy-user user:passwd -x proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -x, --proxy, --proxy-anyauth and --proxy-digest.\n"
+"\n"
+"       --proxy-cacert <file>\n"
+"              Same as --cacert but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-cacert is provided several times, the last set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-cacert CA-file.txt -x https://proxy https://example.com\n"
+"\n"
+"              See  also  --proxy-capath,  --cacert,  --capath and -x, --proxy.\n"
+"              Added in 7.52.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --proxy-capath <dir>\n"
+"              Same as --capath but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-capath is provided several times, the last set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-capath /local/directory -x https://proxy https://example.com\n"
+"\n"
+"              See  also  --proxy-cacert,  -x,  --proxy  and --capath. Added in\n"
+"              7.52.0.\n"
+"\n"
+"       --proxy-cert-type <type>\n"
+, stdout);
+ fputs(
+"              Same as --cert-type but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-cert-type is provided several  times,  the  last  set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-cert-type PEM --proxy-cert file -x https://proxy https://example.com\n"
+"\n"
+"              See also --proxy-cert. Added in 7.52.0.\n"
+"\n"
+"       --proxy-cert <cert[:passwd]>\n"
+"              Same as --cert but used in HTTPS proxy context.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --proxy-cert  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-cert file -x https://proxy https://example.com\n"
+"\n"
+"              See also --proxy-cert-type. Added in 7.52.0.\n"
+"\n"
+"       --proxy-ciphers <list>\n"
+"              Same as --ciphers but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-ciphers is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-ciphers ECDHE-ECDSA-AES256-CCM8 -x https://proxy https://example.com\n"
+"\n"
+"              See also --ciphers, --curves and -x, --proxy. Added in 7.52.0.\n"
+"\n"
+"       --proxy-crlfile <file>\n"
+"              Same as --crlfile but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-crlfile is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-crlfile rejects.txt -x https://proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --crlfile and -x, --proxy. Added in 7.52.0.\n"
+"\n"
+"       --proxy-digest\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"
+"              Providing --proxy-digest multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-digest --proxy-user user:passwd -x proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -x, --proxy, --proxy-anyauth and --proxy-basic.\n"
+"\n"
+"       --proxy-header <header/@file>\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 --header but is for proxy communication\n"
+"              only  like  in  CONNECT requests when you want a separate header\n"
+"              sent to the proxy to what is sent to the actual remote host.\n"
+, stdout);
+ fputs(
+"\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"
+"              Headers  specified  with this option will not be included in re-\n"
+"              quests that curl knows will not be sent to a proxy.\n"
+"\n"
+, stdout);
+ fputs(
+"              Starting in 7.55.0, this option can take an argument  in  @file-\n"
+"              name  style, which then adds a header for each line in the input\n"
+"              file. Using @- will make curl read the header file from stdin.\n"
+"\n"
+"              This option can be used  multiple  times  to  add/replace/remove\n"
+"              multiple headers.\n"
+"\n"
+"              --proxy-header can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+, stdout);
+ fputs(
+"               curl --proxy-header \"X-First-Name: Joe\" -x http://proxy https://example.com\n"
+"               curl --proxy-header \"User-Agent: surprise\" -x http://proxy https://example.com\n"
+"               curl --proxy-header \"Host:\" -x http://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy. Added in 7.37.0.\n"
+"\n"
+"       --proxy-insecure\n"
+"              Same as --insecure but used in HTTPS proxy context.\n"
+"\n"
+"              Providing  --proxy-insecure  multiple times has no extra effect.\n"
+, stdout);
+ fputs(
+"              Disable it again with --no-proxy-insecure.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-insecure -x https://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy and -k, --insecure. Added in 7.52.0.\n"
+"\n"
+"       --proxy-key-type <type>\n"
+"              Same as --key-type but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-key-type is provided  several  times,  the  last  set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-key-type DER --proxy-key here -x https://proxy https://example.com\n"
+"\n"
+"              See also --proxy-key and -x, --proxy. Added in 7.52.0.\n"
+"\n"
+"       --proxy-key <key>\n"
+"              Same as --key but used in HTTPS proxy context.\n"
+"\n"
+"              If  --proxy-key  is  provided  several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-key here -x https://proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --proxy-key-type and -x, --proxy. Added in 7.52.0.\n"
+"\n"
+"       --proxy-negotiate\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"
+"              Providing --proxy-negotiate multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-negotiate --proxy-user user:passwd -x proxy https://example.com\n"
+"\n"
+"              See also --proxy-anyauth and --proxy-basic.\n"
+"\n"
+"       --proxy-ntlm\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"
+"              Providing --proxy-ntlm multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-ntlm --proxy-user user:passwd -x http://proxy https://example.com\n"
+"\n"
+"              See also --proxy-negotiate and --proxy-anyauth.\n"
+"\n"
+"       --proxy-pass <phrase>\n"
+"              Same as --pass but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-pass is provided several times, the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-pass secret --proxy-key here -x https://proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -x, --proxy and --proxy-key. Added in 7.52.0.\n"
+"\n"
+"       --proxy-pinnedpubkey <hashes>\n"
+"              (TLS)  Tells  curl  to  use  the  specified  public key file (or\n"
+"              hashes) to verify the proxy. This can be a path to a file  which\n"
+"              contains a single public key in PEM or DER format, or any number\n"
+"              of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
+"              rated by ';'.\n"
+"\n"
+, stdout);
+ fputs(
+"              When  negotiating  a  TLS  or SSL connection, the server sends a\n"
+"              certificate indicating its identity. A public key  is  extracted\n"
+"              from  this certificate and if it does not exactly match the pub-\n"
+"              lic key provided to this option, curl will abort the  connection\n"
+"              before sending or receiving any data.\n"
+"\n"
+"              If  --proxy-pinnedpubkey is provided several times, the last set\n"
+"              value will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Examples:\n"
+"               curl --proxy-pinnedpubkey keyfile https://example.com\n"
+"               curl --proxy-pinnedpubkey 'sha256//ce118b51897f4452dc' https://example.com\n"
+"\n"
+"              See also --pinnedpubkey and -x, --proxy. Added in 7.59.0.\n"
+"\n"
+"       --proxy-service-name <name>\n"
+"              This option allows you to change the service name for proxy  ne-\n"
+"              gotiation.\n"
+"\n"
+"              If  --proxy-service-name is provided several times, the last set\n"
+, stdout);
+ fputs(
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-service-name \"shrubbery\" -x proxy https://example.com\n"
+"\n"
+"              See also --service-name and -x, --proxy. Added in 7.43.0.\n"
+"\n"
+"       --proxy-ssl-allow-beast\n"
+"              Same as --ssl-allow-beast but used in HTTPS proxy context.\n"
+"\n"
+"              Providing --proxy-ssl-allow-beast multiple times  has  no  extra\n"
+"              effect.  Disable it again with --no-proxy-ssl-allow-beast.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-ssl-allow-beast -x https://proxy https://example.com\n"
+"\n"
+"              See also --ssl-allow-beast and -x, --proxy. Added in 7.52.0.\n"
+"\n"
+"       --proxy-ssl-auto-client-cert\n"
+"              Same as --ssl-auto-client-cert but used in HTTPS proxy context.\n"
+"\n"
+"              Providing --proxy-ssl-auto-client-cert multiple times has no ex-\n"
+"              tra effect.  Disable it again  with  --no-proxy-ssl-auto-client-\n"
+"              cert.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-ssl-auto-client-cert -x https://proxy https://example.com\n"
+"\n"
+"              See  also  --ssl-auto-client-cert  and  -x,  --proxy.  Added  in\n"
+"              7.77.0.\n"
+"\n"
+"       --proxy-tls13-ciphers <ciphersuite list>\n"
+"              (TLS) Specifies which cipher suites to use in the connection  to\n"
+"              your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n"
+"              suites must specify valid ciphers. Read up  on  TLS  1.3  cipher\n"
+, stdout);
+ fputs(
+"              suite details on this URL:\n"
+"\n"
+"               https://curl.se/docs/ssl-ciphers.html\n"
+"\n"
+"              This  option  is  currently  used only when curl is built to use\n"
+"              OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
+"              you  can try setting TLS 1.3 cipher suites by using the --proxy-\n"
+"              ciphers option.\n"
+"\n"
+"              If --proxy-tls13-ciphers is provided several times, the last set\n"
+"              value will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --proxy-tls13-ciphers TLS_AES_128_GCM_SHA256 -x proxy https://example.com\n"
+"\n"
+"              See also --tls13-ciphers and --curves. Added in 7.61.0.\n"
+"\n"
+"       --proxy-tlsauthtype <type>\n"
+"              Same as --tlsauthtype but used in HTTPS proxy context.\n"
+"\n"
+"              If  --proxy-tlsauthtype  is provided several times, the last set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-tlsauthtype SRP -x https://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy and --proxy-tlsuser. Added in 7.52.0.\n"
+"\n"
+"       --proxy-tlspassword <string>\n"
+"              Same as --tlspassword but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-tlspassword is provided several times, the  last  set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-tlspassword passwd -x https://proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -x, --proxy and --proxy-tlsuser. Added in 7.52.0.\n"
+"\n"
+"       --proxy-tlsuser <name>\n"
+"              Same as --tlsuser but used in HTTPS proxy context.\n"
+"\n"
+"              If --proxy-tlsuser is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-tlsuser smith -x https://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy and --proxy-tlspassword. Added in 7.52.0.\n"
+"\n"
+"       --proxy-tlsv1\n"
+, stdout);
+ fputs(
+"              Same as --tlsv1 but used in HTTPS proxy context.\n"
+"\n"
+"              Providing --proxy-tlsv1 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy-tlsv1 -x https://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy. 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"
+"              tion.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  you use a Windows SSPI-enabled curl binary and do either Ne-\n"
+"              gotiate or NTLM authentication then you can tell curl to  select\n"
+"              the user name and password from your environment by specifying a\n"
+"              single colon with this option: \"-U :\".\n"
+"\n"
+"              On systems where it works, curl will hide the given option argu-\n"
+"              ment  from  process listings. This is not enough to protect cre-\n"
+, stdout);
+ fputs(
+"              dentials from possibly getting seen by other users on  the  same\n"
+"              system  as  they  will  still  be  visible  for  a moment before\n"
+"              cleared. Such sensitive data should be retrieved from a file in-\n"
+"              stead or similar and never used in clear text in a command line.\n"
+"              If  --proxy-user  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --proxy-user name:pwd -x proxy https://example.com\n"
+"\n"
+"              See also --proxy-pass.\n"
+"\n"
+"       -x, --proxy [protocol://]host[:port]\n"
+"              Use the specified proxy.\n"
+"\n"
+"              The proxy string can be specified with a protocol:// prefix.  No\n"
+"              protocol specified or http:// will be treated as HTTP proxy. Use\n"
+"              socks4://, socks4a://, socks5:// or socks5h:// to request a spe-\n"
+"              cific SOCKS version to be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Unix domain sockets are supported for socks proxy. Set localhost\n"
+"              for the host part. e.g. socks5h://localhost/path/to/socket.sock\n"
+"\n"
+"              HTTPS proxy support via https:// protocol prefix  was  added  in\n"
+"              7.52.0 for OpenSSL, GnuTLS and NSS.\n"
+"\n"
+"              Unrecognized  and  unsupported  proxy  protocols  cause an error\n"
+"              since 7.52.0.  Prior versions may ignore the  protocol  and  use\n"
+"              http:// instead.\n"
+"\n"
+, stdout);
+ fputs(
+"              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"
+"              proxy, you can set proxy to \"\" to override it.\n"
+"\n"
+"              All operations that are performed over an HTTP proxy will trans-\n"
+"              parently  be  converted  to HTTP. It means that certain protocol\n"
+, stdout);
+ fputs(
+"              specific operations might not be available. This is not the case\n"
+"              if you can tunnel through the proxy, as one with the --proxytun-\n"
+"              nel option.\n"
+"\n"
+"              User and password that might be provided in the proxy string are\n"
+"              URL  decoded by curl. This allows you to pass in special charac-\n"
+"              ters such as @ by using %40 or pass in a colon with %3a.\n"
+"\n"
+"              The proxy host can be specified the same way as the proxy  envi-\n"
+, stdout);
+ fputs(
+"              ronment  variables,  including the protocol prefix (http://) and\n"
+"              the embedded user + password.\n"
+"\n"
+"              If --proxy is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy http://proxy.example https://example.com\n"
+"\n"
+"              See also --socks5 and --proxy-basic.\n"
+"\n"
+"       --proxy1.0 <host[:port]>\n"
+"              Use  the  specified  HTTP  1.0  proxy. If the port number is not\n"
+, stdout);
+ fputs(
+"              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"
+"              specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n"
+"\n"
+"              Providing --proxy1.0 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --proxy1.0 -x http://proxy https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -x, --proxy, --socks5 and --preproxy.\n"
+"\n"
+"       -p, --proxytunnel\n"
+"              When an HTTP proxy is used -x, --proxy, this  option  will  make\n"
+"              curl  tunnel through the proxy. The tunnel approach is made with\n"
+"              the HTTP proxy CONNECT request and requires that the  proxy  al-\n"
+"              lows direct connect to the remote port number curl wants to tun-\n"
+"              nel through to.\n"
+"\n"
+, stdout);
+ fputs(
+"              To suppress proxy CONNECT response headers when curl is  set  to\n"
+"              output headers use --suppress-connect-headers.\n"
+"\n"
+"              Providing  --proxytunnel  multiple  times  has  no extra effect.\n"
+"              Disable it again with --no-proxytunnel.\n"
+"\n"
+"              Example:\n"
+"               curl --proxytunnel -x http://proxy https://example.com\n"
+"\n"
+"              See also -x, --proxy.\n"
+"\n"
+"       --pubkey <key>\n"
+, stdout);
+ fputs(
+"              (SFTP SCP) Public key file name. Allows you to provide your pub-\n"
+"              lic key in this separate file.\n"
+"\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"
+"              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"
+"              that is itself linked against OpenSSL.)\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --pubkey  is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --pubkey file.pub sftp://example.com/\n"
+"\n"
+"              See also --pass.\n"
+"\n"
+"       -Q, --quote <command>\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 '-'.\n"
+"\n"
+"              (FTP only) To make commands be sent after curl has  changed  the\n"
+"              working  directory,  just  before  the file transfer command(s),\n"
+"              prefix the command with a '+'. This is not performed when a  di-\n"
+"              rectory listing is performed.\n"
+"\n"
+"              You may specify any number of commands.\n"
+"\n"
+, stdout);
+ fputs(
+"              By  default  curl  will stop at first failure. To make curl con-\n"
+"              tinue even if the command fails, prefix the command with an  as-\n"
+"              terisk  (*). Otherwise, if the server returns failure for one of\n"
+"              the commands, the entire operation will be aborted.\n"
+"\n"
+"              You must send syntactically correct FTP commands as RFC 959  de-\n"
+"              fines  to  FTP  servers,  or one of the commands listed below to\n"
+"              SFTP servers.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option can be used multiple times.\n"
+"\n"
+"              SFTP is a binary protocol. Unlike for FTP, curl interprets  SFTP\n"
+"              quote  commands  itself  before sending them to the server. File\n"
+"              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"
+"              mands:\n"
+"\n"
+"              atime date file\n"
+, stdout);
+ fputs(
+"                     The atime command sets the last access time of  the  file\n"
+"                     named  by  the file operand. The <date expression> can be\n"
+"                     all sorts of date strings, see  the  curl_getdate(3)  man\n"
+"                     page for date expression details. (Added in 7.73.0)\n"
+"\n"
+"              chgrp group file\n"
+"                     The  chgrp command sets the group ID of the file named by\n"
+"                     the file operand to the group ID specified by  the  group\n"
+, stdout);
+ fputs(
+"                     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"
+"                     specified file. The mode operand is an octal integer mode\n"
+"                     number.\n"
+"\n"
+"              chown user file\n"
+"                     The chown command sets the owner of the file named by the\n"
+"                     file operand to the user ID specified by the  user  oper-\n"
+, stdout);
+ fputs(
+"                     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"
+"                     tion.\n"
+"\n"
+"              mkdir directory_name\n"
+"                     The  mkdir command creates the directory named by the di-\n"
+"                     rectory_name operand.\n"
+"\n"
+"              mtime date file\n"
+, stdout);
+ fputs(
+"                     The mtime command sets the last modification time of  the\n"
+"                     file named by the file operand. The <date expression> can\n"
+"                     be all sorts of date strings, see the curl_getdate(3) man\n"
+"                     page for date expression details. (Added in 7.73.0)\n"
+"\n"
+"              pwd    The pwd command returns the absolute pathname of the cur-\n"
+"                     rent working directory.\n"
+"\n"
+"              rename source target\n"
+, stdout);
+ fputs(
+"                     The rename command renames the file or directory named by\n"
+"                     the  source  operand to the destination path named by the\n"
+"                     target operand.\n"
+"\n"
+"              rm file\n"
+"                     The rm command removes the file specified by the file op-\n"
+"                     erand.\n"
+"\n"
+"              rmdir directory\n"
+"                     The  rmdir  command removes the directory entry specified\n"
+, stdout);
+ fputs(
+"                     by the directory operand, provided it is empty.\n"
+"\n"
+"              symlink source_file target_file\n"
+"                     See ln.\n"
+"\n"
+"       --quote can be used several times in a command line\n"
+"\n"
+"       Example:\n"
+"        curl --quote \"DELE file\" ftp://example.com/foo\n"
+"\n"
+"       See also -X, --request.\n"
+"\n"
+"       --random-file <file>\n"
+"              Deprecated option. This option is ignored by curl since  7.84.0.\n"
+"              Prior  to that it only had an effect on curl if built to use old\n"
+, stdout);
+ fputs(
+"              versions of OpenSSL.\n"
+"\n"
+"              Specify the path name to file containing what will be considered\n"
+"              as  random  data. The data may be used to seed the random engine\n"
+"              for SSL connections.\n"
+"\n"
+"              If --random-file is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --random-file rubbish https://example.com\n"
+"\n"
+"              See also --egd-file.\n"
+"\n"
+"       -r, --range <range>\n"
+, stdout);
+ fputs(
+"              (HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial docu-\n"
+"              ment) from an HTTP/1.1, FTP or SFTP  server  or  a  local  FILE.\n"
+"              Ranges can be specified in a number of ways.\n"
+"\n"
+"              0-499     specifies the first 500 bytes\n"
+"\n"
+"              500-999   specifies the second 500 bytes\n"
+"\n"
+"              -500      specifies the last 500 bytes\n"
+"\n"
+"              9500-     specifies the bytes from offset 9500 and forward\n"
+"\n"
+, stdout);
+ fputs(
+"              0-0,-1    specifies the first and last byte only(*)(HTTP)\n"
+"\n"
+"              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"
+"              tipart response, which will be returned as-is by  curl!  Parsing\n"
+"              or otherwise transforming this response is the responsibility of\n"
+"              the caller.\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"
+"              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"
+, stdout);
+ fputs(
+"              you will 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"
+"              use depends on the extended FTP command SIZE.\n"
+"\n"
+"              If --range is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --range 22-44 https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -C, --continue-at and -a, --append.\n"
+"\n"
+"       --rate <max request rate>\n"
+"              Specify the maximum transfer frequency you allow curl to  use  -\n"
+"              in number of transfer starts per time unit (sometimes called re-\n"
+"              quest rate). Without this  option,  curl  will  start  the  next\n"
+"              transfer as fast as possible.\n"
+"\n"
+"              If  given  several URLs and a transfer completes faster than the\n"
+, stdout);
+ fputs(
+"              allowed rate, curl will wait until the next transfer is  started\n"
+"              to  maintain  the requested rate. This option has no effect when\n"
+"              --parallel is used.\n"
+"\n"
+"              The request rate is provided as \"N/U\" where N is an integer num-\n"
+"              ber  and U is a time unit. Supported units are 's' (second), 'm'\n"
+"              (minute), 'h' (hour) and 'd' /(day, as in a 24 hour  unit).  The\n"
+, stdout);
+ fputs(
+"              default  time  unit, if no \"/U\" is provided, is number of trans-\n"
+"              fers per hour.\n"
+"\n"
+"              If curl is told to allow 10 requests per  minute,  it  will  not\n"
+"              start  the  next  request until 6 seconds have elapsed since the\n"
+"              previous transfer was started.\n"
+"\n"
+"              This function uses millisecond resolution. If the  allowed  fre-\n"
+"              quency is set more than 1000 per second, it will instead run un-\n"
+"              restricted.\n"
+"\n"
+, stdout);
+ fputs(
+"              When retrying transfers,  enabled  with  --retry,  the  separate\n"
+"              retry delay logic is used and not this setting.\n"
+"\n"
+"              If  --rate is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Examples:\n"
+"               curl --rate 2/s https://example.com\n"
+"               curl --rate 3/h https://example.com\n"
+"               curl --rate 14/m https://example.com\n"
+"\n"
+"              See also --limit-rate and --retry-delay. Added in 7.84.0.\n"
+"\n"
+, stdout);
+ fputs(
+"       --raw  (HTTP) When used, it disables all internal HTTP decoding of con-\n"
+"              tent  or transfer encodings and instead makes them passed on un-\n"
+"              altered, raw.\n"
+"\n"
+"              Providing --raw multiple times has no extra effect.  Disable  it\n"
+"              again with --no-raw.\n"
+"\n"
+"              Example:\n"
+"               curl --raw https://example.com\n"
+"\n"
+"              See also --tr-encoding.\n"
+"\n"
+"       -e, --referer <URL>\n"
+, stdout);
+ fputs(
+"              (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n"
+"              This can also be set with the --header flag of course. When used\n"
+"              with  --location  you can append \";auto\" to the --referer URL to\n"
+"              make curl automatically set the previous URL when it  follows  a\n"
+"              Location:  header. The \";auto\" string can be used alone, even if\n"
+"              you do not set an initial -e, --referer.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --referer is provided several times, the last set value  will\n"
+"              be used.\n"
+"\n"
+"              Examples:\n"
+"               curl --referer \"https://fake.example\" https://example.com\n"
+"               curl --referer \"https://fake.example;auto\" -L https://example.com\n"
+"               curl --referer \";auto\" -L https://example.com\n"
+"\n"
+"              See also -A, --user-agent and -H, --header.\n"
+"\n"
+"       -J, --remote-header-name\n"
+, stdout);
+ fputs(
+"              (HTTP)  This  option  tells  the --remote-name option to use the\n"
+"              server-specified Content-Disposition  filename  instead  of  ex-\n"
+"              tracting  a  filename  from the URL. If the server-provided file\n"
+"              name contains a path, that will be stripped off before the  file\n"
+"              name is used.\n"
+"\n"
+"              The  file is saved in the current directory, or in the directory\n"
+"              specified with --output-dir.\n"
+"\n"
+, stdout);
+ fputs(
+"              If the server specifies a file name and a file  with  that  name\n"
+"              already  exists  in  the  destination  directory, it will not be\n"
+"              overwritten and an error will occur.  If  the  server  does  not\n"
+"              specify a file name then this option has no effect.\n"
+"\n"
+"              There's  no  attempt to decode %-sequences (yet) in the provided\n"
+"              file name, so this option may provide you with rather unexpected\n"
+"              file names.\n"
+"\n"
+, stdout);
+ fputs(
+"              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 be loaded automatically by Windows or some\n"
+"              third party software.\n"
+"\n"
+"              Providing --remote-header-name multiple times has no  extra  ef-\n"
+"              fect.  Disable it again with --no-remote-header-name.\n"
+"\n"
+"              Example:\n"
+"               curl -OJ https://example.com/file\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -O, --remote-name.\n"
+"\n"
+"       --remote-name-all\n"
+"              This  option changes the default action for all given URLs to be\n"
+"              dealt with as if --remote-name were used for each one. So if you\n"
+"              want  to disable that for a specific URL after --remote-name-all\n"
+"              has been used, you must use \"-o -\" or --no-remote-name.\n"
+"\n"
+"              Providing --remote-name-all multiple times has no extra  effect.\n"
+, stdout);
+ fputs(
+"              Disable it again with --no-remote-name-all.\n"
+"\n"
+"              Example:\n"
+"               curl --remote-name-all ftp://example.com/file1 ftp://example.com/file2\n"
+"\n"
+"              See also -O, --remote-name.\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"
+"              off.)\n"
+"\n"
+"              The  file will be saved in the current working directory. If you\n"
+, stdout);
+ fputs(
+"              want the file saved in a  different  directory,  make  sure  you\n"
+"              change  the  current working directory before invoking curl with\n"
+"              this option or use --output-dir.\n"
+"\n"
+"              The remote file name to use for saving  is  extracted  from  the\n"
+"              given  URL,  nothing  else,  and if it already exists it will be\n"
+"              overwritten. If you want the server to be  able  to  choose  the\n"
+, stdout);
+ fputs(
+"              file name refer to --remote-header-name which can be used in ad-\n"
+"              dition 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"
+"              file name.\n"
+"\n"
+"              You  may use this option as many times as the number of URLs you\n"
+, stdout);
+ fputs(
+"              have.\n"
+"\n"
+"              --remote-name can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl -O https://example.com/filename\n"
+"\n"
+"              See  also  --remote-name-all,  --output-dir  and  -J,  --remote-\n"
+"              header-name.\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  lo-\n"
+, stdout);
+ fputs(
+"              cal file get that same timestamp.\n"
+"\n"
+"              Providing  --remote-time  multiple  times  has  no extra effect.\n"
+"              Disable it again with --no-remote-time.\n"
+"\n"
+"              Example:\n"
+"               curl --remote-time -o foo https://example.com\n"
+"\n"
+"              See also -O, --remote-name and -z, --time-cond.\n"
+"\n"
+"       --remove-on-error\n"
+"              When curl returns an error when told to save output in  a  local\n"
+, stdout);
+ fputs(
+"              file,  this  option removes that saved file before exiting. This\n"
+"              prevents curl from leaving a partial file in the case of an  er-\n"
+"              ror during transfer.\n"
+"\n"
+"              If the output is not a file, this option has no effect.\n"
+"\n"
+"              Providing  --remove-on-error multiple times has no extra effect.\n"
+"              Disable it again with --no-remove-on-error.\n"
+"\n"
+"              Example:\n"
+"               curl --remove-on-error -o output https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -f, --fail. Added in 7.83.0.\n"
+"\n"
+"       --request-target <path>\n"
+"              (HTTP) Tells curl to use an alternative \"target\" (path)  instead\n"
+"              of  using  the  path as provided in the URL. Particularly useful\n"
+"              when wanting to issue HTTP requests  without  leading  slash  or\n"
+"              other  data  that  does not follow the regular URL pattern, like\n"
+"              \"OPTIONS *\".\n"
+"\n"
+, stdout);
+ fputs(
+"              If --request-target is provided  several  times,  the  last  set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --request-target \"*\" -X OPTIONS https://example.com\n"
+"\n"
+"              See also -X, --request. Added in 7.55.0.\n"
+"\n"
+"       -X, --request <method>\n"
+"              (HTTP) Specifies a custom request method to use when communicat-\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"
+"              but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n"
+"              and more.\n"
+"\n"
+"              Normally  you  do  not 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 re-\n"
+"              quest, it does not alter the way curl behaves. So for example if\n"
+"              you  want  to make a proper HEAD request, using -X HEAD will not\n"
+"              suffice. You need to use the --head option.\n"
+"\n"
+"              The method string you set with --request will be  used  for  all\n"
+"              requests,  which if you for example use --location may cause un-\n"
+, stdout);
+ fputs(
+"              intended side-effects when curl does not change  request  method\n"
+"              according to the HTTP 30x response codes - and similar.\n"
+"\n"
+"              (FTP) Specifies a custom FTP command to use instead of LIST when\n"
+"              doing file lists with FTP.\n"
+"\n"
+"              (POP3) Specifies a custom POP3 command to use instead of LIST or\n"
+"              RETR.\n"
+"\n"
+"              (IMAP)  Specifies  a custom IMAP command to use instead of LIST.\n"
+"              (Added in 7.30.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              (SMTP) Specifies a custom SMTP command to use instead of HELP or\n"
+"              VRFY. (Added in 7.34.0)\n"
+"\n"
+"              If  --request is provided several times, the last set value will\n"
+"              be used.\n"
+"\n"
+"              Examples:\n"
+"               curl -X \"DELETE\" https://example.com\n"
+"               curl -X NLST ftp://example.com/\n"
+"\n"
+"              See also --request-target.\n"
+"\n"
+"       --resolve <[+]host:port:addr[,addr]...>\n"
+, stdout);
+ fputs(
+"              Provide a custom address for a specific host and port pair.  Us-\n"
+"              ing  this, you can make the curl requests(s) use a specified ad-\n"
+"              dress and prevent the otherwise normally resolved address to  be\n"
+"              used.  Consider  it a sort of /etc/hosts alternative provided on\n"
+"              the command line. The port number should be the number used  for\n"
+"              the  specific  protocol  the host will be used for. It means you\n"
+, stdout);
+ fputs(
+"              need several entries if you want to provide address for the same\n"
+"              host but different ports.\n"
+"\n"
+"              By  specifying '*' as host you can tell curl to resolve any host\n"
+"              and specific port pair to the specified address. Wildcard is re-\n"
+"              solved  last so any --resolve with a specific host and port will\n"
+"              be used first.\n"
+"\n"
+"              The provided address set by this option will  be  used  even  if\n"
+, stdout);
+ fputs(
+"              --ipv4 or --ipv6 is set to make curl use another IP version.\n"
+"\n"
+"              By prefixing the host with a '+' you can make the entry time out\n"
+"              after curl's default timeout (1 minute).  Note  that  this  will\n"
+"              only  make  sense for long running parallel transfers with a lot\n"
+"              of files. In such cases, if this option is used curl will try to\n"
+"              resolve  the  host as it normally would once the timeout has ex-\n"
+"              pired.\n"
+"\n"
+, stdout);
+ fputs(
+"              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"
+"              in 7.59.0.\n"
+"\n"
+"              Support for resolving with wildcard was added in 7.64.0.\n"
+"\n"
+"              Support for the '+' prefix was was added in 7.75.0.\n"
+"\n"
+"              This option can be used many times to add many host names to re-\n"
+"              solve.\n"
+"\n"
+, stdout);
+ fputs(
+"              --resolve can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --resolve example.com:443:127.0.0.1 https://example.com\n"
+"\n"
+"              See also --connect-to and --alt-svc.\n"
+"\n"
+"       --retry-all-errors\n"
+"              Retry on any error. This option is used together with --retry.\n"
+"\n"
+"              This  option  is the \"sledgehammer\" of retrying. Do not use this\n"
+"              option by default (eg in curlrc), there may be unintended conse-\n"
+, stdout);
+ fputs(
+"              quences  such as sending or receiving duplicate data. Do not use\n"
+"              with redirected input or output. You'd be much better  off  han-\n"
+"              dling  your unique problems in shell script. Please read the ex-\n"
+"              ample below.\n"
+"\n"
+"              WARNING: For server compatibility curl attempts to retry  failed\n"
+"              flaky  transfers  as close as possible to how they were started,\n"
+, stdout);
+ fputs(
+"              but this is not possible with redirected input  or  output.  For\n"
+"              example,  before  retrying  it removes output data from a failed\n"
+"              partial transfer that was written to  an  output  file.  However\n"
+"              this is not true of data redirected to a | pipe or > file, which\n"
+"              are not reset. We strongly suggest you do not  parse  or  record\n"
+"              output  via  redirect in combination with this option, since you\n"
+, stdout);
+ fputs(
+"              may receive duplicate data.\n"
+"\n"
+"              By default curl will not error on an HTTP response code that in-\n"
+"              dicates an HTTP error, if the transfer was successful. For exam-\n"
+"              ple, if a server replies 404 Not Found and the  reply  is  fully\n"
+"              received  then  that  is not an error. When --retry is used then\n"
+"              curl will retry on some HTTP response codes that indicate  tran-\n"
+, stdout);
+ fputs(
+"              sient  HTTP  errors, but that does not include most 4xx response\n"
+"              codes such as 404. If you want to retry on  all  response  codes\n"
+"              that  indicate  HTTP  errors (4xx and 5xx) then combine with -f,\n"
+"              --fail.\n"
+"\n"
+"              Providing --retry-all-errors multiple times has no extra effect.\n"
+"              Disable it again with --no-retry-all-errors.\n"
+"\n"
+"              Example:\n"
+"               curl --retry 5 --retry-all-errors https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --retry. Added in 7.71.0.\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"
+"              with --retry.\n"
+"\n"
+"              Providing  --retry-connrefused  multiple  times has no extra ef-\n"
+"              fect.  Disable it again with --no-retry-connrefused.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --retry-connrefused --retry https://example.com\n"
+"\n"
+"              See also --retry and --retry-all-errors. Added in 7.52.0.\n"
+"\n"
+"       --retry-delay <seconds>\n"
+"              Make curl sleep this amount of time before  each  retry  when  a\n"
+"              transfer  has  failed with a transient error (it changes the de-\n"
+"              fault backoff time algorithm between retries).  This  option  is\n"
+"              only  interesting if --retry is also used. Setting this delay to\n"
+, stdout);
+ fputs(
+"              zero will make curl use the default backoff time.\n"
+"\n"
+"              If --retry-delay is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --retry-delay 5 --retry https://example.com\n"
+"\n"
+"              See also --retry.\n"
+"\n"
+"       --retry-max-time <seconds>\n"
+"              The  retry timer is reset before the first transfer attempt. Re-\n"
+"              tries will be done as usual (see --retry) as long as  the  timer\n"
+, stdout);
+ fputs(
+"              has  not  reached this given limit. Notice that if the timer has\n"
+"              not reached the limit, the request will be made and  while  per-\n"
+"              forming,  it  may  take  longer  than this given time period. To\n"
+"              limit a single request's maximum time, use -m,  --max-time.  Set\n"
+"              this option to zero to not timeout retries.\n"
+"\n"
+"              If  --retry-max-time  is  provided  several  times, the last set\n"
+"              value will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --retry-max-time 30 --retry 10 https://example.com\n"
+"\n"
+"              See also --retry.\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"
+, stdout);
+ fputs(
+"              response code or an HTTP 408, 429, 500, 502, 503 or 504 response\n"
+"              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"
+, stdout);
+ fputs(
+"              --retry-max-time to limit the total time allowed for retries.\n"
+"\n"
+"              Since curl 7.66.0, curl will comply with  the  Retry-After:  re-\n"
+"              sponse  header if one was present to know when to issue the next\n"
+"              retry.\n"
+"\n"
+"              If --retry is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --retry 7 https://example.com\n"
+"\n"
+"              See also --retry-max-time.\n"
+"\n"
+, stdout);
+ fputs(
+"       --sasl-authzid <identity>\n"
+"              Use this authorization identity (authzid), during SASL PLAIN au-\n"
+"              thentication, in addition to the authentication identity  (auth-\n"
+"              cid) as specified by -u, --user.\n"
+"\n"
+"              If  the  option is not specified, the server will derive the au-\n"
+"              thzid from the authcid, but if specified, and depending  on  the\n"
+"              server  implementation,  it may be used to access another user's\n"
+, stdout);
+ fputs(
+"              inbox, that the user has been granted access  to,  or  a  shared\n"
+"              mailbox for example.\n"
+"\n"
+"              If  --sasl-authzid is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --sasl-authzid zid imap://example.com/\n"
+"\n"
+"              See also --login-options. Added in 7.66.0.\n"
+"\n"
+"       --sasl-ir\n"
+"              Enable initial response in SASL authentication.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --sasl-ir multiple times has no extra effect.  Disable\n"
+"              it again with --no-sasl-ir.\n"
+"\n"
+"              Example:\n"
+"               curl --sasl-ir imap://example.com/\n"
+"\n"
+"              See also --sasl-authzid. Added in 7.31.0.\n"
+"\n"
+"       --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"
+"              sockd/server-name.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --service-name is provided several times, the last set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --service-name sockd/server https://example.com\n"
+"\n"
+"              See also --negotiate and --proxy-service-name. Added in 7.43.0.\n"
+"\n"
+"       -S, --show-error\n"
+"              When used with -s, --silent, it makes curl show an error message\n"
+"              if it fails.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+, stdout);
+ fputs(
+"              use of -:, --next.\n"
+"\n"
+"              Providing --show-error multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-show-error.\n"
+"\n"
+"              Example:\n"
+"               curl --show-error --silent https://example.com\n"
+"\n"
+"              See also --no-progress-meter.\n"
+"\n"
+"       -s, --silent\n"
+"              Silent or quiet mode. Do not show progress meter or  error  mes-\n"
+"              sages.  Makes  Curl  mute. It will still output the data you ask\n"
+, stdout);
+ fputs(
+"              for, potentially even to the terminal/stdout unless you redirect\n"
+"              it.\n"
+"\n"
+"              Use  --show-error in addition to this option to disable progress\n"
+"              meter but still show error messages.\n"
+"\n"
+"              Providing --silent multiple times has no extra effect.   Disable\n"
+"              it again with --no-silent.\n"
+"\n"
+"              Example:\n"
+"               curl -s https://example.com\n"
+"\n"
+"              See also -v, --verbose, --stderr and --no-progress-meter.\n"
+"\n"
+, stdout);
+ fputs(
+"       --socks4 <host[:port]>\n"
+"              Use the specified SOCKS4 proxy. If the port number is not speci-\n"
+"              fied, it is assumed at port 1080. Using this  socket  type  make\n"
+"              curl  resolve  the  host  name and passing the address on to the\n"
+"              proxy.\n"
+"\n"
+"              To specify proxy on a unix  domain  socket,  use  localhost  for\n"
+"              host, e.g.  socks4://localhost/path/to/socket.sock\n"
+"\n"
+, stdout);
+ fputs(
+"              This  option  overrides any previous use of -x, --proxy, as they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              This option is superfluous since you can specify a socks4  proxy\n"
+"              with --proxy using a socks4:// protocol prefix.\n"
+"\n"
+"              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
+"              the same time --proxy is used with an HTTP/HTTPS proxy. In  such\n"
+"              a  case curl first connects to the SOCKS proxy and then connects\n"
+, stdout);
+ fputs(
+"              (through SOCKS) to the HTTP or HTTPS proxy.\n"
+"\n"
+"              If --socks4 is provided several times, the last set  value  will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --socks4 hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks4a, --socks5 and --socks5-hostname.\n"
+"\n"
+"       --socks4a <host[:port]>\n"
+"              Use the specified SOCKS4a proxy. If the port number is not spec-\n"
+, stdout);
+ fputs(
+"              ified, it is assumed at port 1080. This asks the  proxy  to  re-\n"
+"              solve the host name.\n"
+"\n"
+"              To  specify  proxy  on  a  unix domain socket, use localhost for\n"
+"              host, e.g.  socks4a://localhost/path/to/socket.sock\n"
+"\n"
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              This option is superfluous since you can specify a socks4a proxy\n"
+, stdout);
+ fputs(
+"              with --proxy using a socks4a:// protocol prefix.\n"
+"\n"
+"              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
+"              the  same time --proxy is used with an HTTP/HTTPS proxy. In such\n"
+"              a case curl first connects to the SOCKS proxy and then  connects\n"
+"              (through SOCKS) to the HTTP or HTTPS proxy.\n"
+"\n"
+"              If  --socks4a is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --socks4a hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks4, --socks5 and --socks5-hostname.\n"
+"\n"
+"       --socks5-basic\n"
+"              Tells curl to use username/password authentication when connect-\n"
+"              ing  to a SOCKS5 proxy.  The username/password authentication is\n"
+"              enabled by default.  Use --socks5-gssapi to  force  GSS-API  au-\n"
+"              thentication to SOCKS5 proxies.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --socks5-basic multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --socks5-basic --socks5 hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks5. Added in 7.55.0.\n"
+"\n"
+"       --socks5-gssapi-nec\n"
+"              As  part of the GSS-API negotiation a protection mode is negoti-\n"
+"              ated. RFC 1961 says in section 4.3/4.4 it should  be  protected,\n"
+"              but  the  NEC  reference  implementation  does  not.  The option\n"
+, stdout);
+ fputs(
+"              --socks5-gssapi-nec allows the unprotected exchange of the  pro-\n"
+"              tection mode negotiation.\n"
+"\n"
+"              Providing  --socks5-gssapi-nec  multiple  times has no extra ef-\n"
+"              fect.  Disable it again with --no-socks5-gssapi-nec.\n"
+"\n"
+"              Example:\n"
+"               curl --socks5-gssapi-nec --socks5 hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks5.\n"
+"\n"
+"       --socks5-gssapi-service <name>\n"
+, stdout);
+ fputs(
+"              The default service name for a socks server is rcmd/server-fqdn.\n"
+"              This option allows you to change it.\n"
+"\n"
+"              Examples:   --socks5  proxy-name  --socks5-gssapi-service  sockd\n"
+"              would use sockd/proxy-name --socks5 proxy-name  --socks5-gssapi-\n"
+"              service  sockd/real-name  would  use  sockd/real-name  for cases\n"
+"              where the proxy-name does not match the principal name.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --socks5-gssapi-service is provided several times,  the  last\n"
+"              set value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --socks5-gssapi-service sockd --socks5 hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks5.\n"
+"\n"
+"       --socks5-gssapi\n"
+"              Tells  curl  to  use GSS-API authentication when connecting to a\n"
+"              SOCKS5 proxy.  The GSS-API authentication is enabled by  default\n"
+, stdout);
+ fputs(
+"              (if  curl is compiled with GSS-API support).  Use --socks5-basic\n"
+"              to force username/password authentication to SOCKS5 proxies.\n"
+"\n"
+"              Providing --socks5-gssapi multiple times has  no  extra  effect.\n"
+"              Disable it again with --no-socks5-gssapi.\n"
+"\n"
+"              Example:\n"
+"               curl --socks5-gssapi --socks5 hostname:4096 https://example.com\n"
+"\n"
+"              See also --socks5. Added in 7.55.0.\n"
+"\n"
+"       --socks5-hostname <host[:port]>\n"
+, stdout);
+ fputs(
+"              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"
+"              To  specify  proxy  on  a  unix domain socket, use localhost for\n"
+"              host, e.g.  socks5h://localhost/path/to/socket.sock\n"
+"\n"
+"              This option overrides any previous use of -x, --proxy,  as  they\n"
+"              are mutually exclusive.\n"
+"\n"
+, stdout);
+ fputs(
+"              This  option is superfluous since you can specify a socks5 host-\n"
+"              name proxy with --proxy using a socks5h:// protocol prefix.\n"
+"\n"
+"              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
+"              the  same time --proxy is used with an HTTP/HTTPS proxy. In such\n"
+"              a case curl first connects to the SOCKS proxy and then  connects\n"
+"              (through SOCKS) to the HTTP or HTTPS proxy.\n"
+"\n"
+, stdout);
+ fputs(
+"              If  --socks5-hostname  is  provided  several times, the last set\n"
+"              value will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --socks5-hostname proxy.example:7000 https://example.com\n"
+"\n"
+"              See also --socks5 and --socks4a.\n"
+"\n"
+"       --socks5 <host[:port]>\n"
+"              Use the specified SOCKS5 proxy - but resolve the host  name  lo-\n"
+"              cally.  If  the  port  number is not specified, it is assumed at\n"
+"              port 1080.\n"
+"\n"
+, stdout);
+ fputs(
+"              To specify proxy on a unix  domain  socket,  use  localhost  for\n"
+"              host, e.g.  socks5://localhost/path/to/socket.sock\n"
+"\n"
+"              This  option  overrides any previous use of -x, --proxy, as they\n"
+"              are mutually exclusive.\n"
+"\n"
+"              This option is superfluous since you can specify a socks5  proxy\n"
+"              with --proxy using a socks5:// protocol prefix.\n"
+"\n"
+"              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
+, stdout);
+ fputs(
+"              the same time --proxy is used with an HTTP/HTTPS proxy. In  such\n"
+"              a  case curl first connects to the SOCKS proxy and then connects\n"
+"              (through SOCKS) to the HTTP or HTTPS proxy.\n"
+"\n"
+"              This option (as well as --socks4) does not work with IPV6,  FTPS\n"
+"              or LDAP.\n"
+"\n"
+"              If  --socks5  is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --socks5 proxy.example:7000 https://example.com\n"
+"\n"
+"              See also --socks5-hostname and --socks4a.\n"
+"\n"
+"       -Y, --speed-limit <speed>\n"
+"              If a transfer is slower than this given speed (in bytes per sec-\n"
+"              ond)  for  speed-time seconds it gets aborted. speed-time is set\n"
+"              with --speed-time and is 30 if not set.\n"
+"\n"
+"              If --speed-limit is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --speed-limit 300 --speed-time 10 https://example.com\n"
+"\n"
+"              See also -y, --speed-time, --limit-rate and -m, --max-time.\n"
+"\n"
+"       -y, --speed-time <seconds>\n"
+"              If a transfer runs slower than speed-limit bytes per second dur-\n"
+"              ing a speed-time period, the transfer is aborted. If  speed-time\n"
+"              is  used,  the default speed-limit will be 1 unless set with -Y,\n"
+"              --speed-limit.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option controls transfers (in both directions) but will not\n"
+"              affect  slow connects etc. If this is a concern for you, try the\n"
+"              --connect-timeout option.\n"
+"\n"
+"              If --speed-time is provided several times, the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --speed-limit 300 --speed-time 10 https://example.com\n"
+"\n"
+"              See also -Y, --speed-limit and --limit-rate.\n"
+"\n"
+"       --ssl-allow-beast\n"
+, stdout);
+ fputs(
+"              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 is not\n"
+"              used,  the SSL layer may use workarounds known to cause interop-\n"
+"              erability problems with some older SSL implementations.\n"
+"\n"
+"              WARNING: this option loosens the SSL security, and by using this\n"
+"              flag you ask for exactly that.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing  --ssl-allow-beast multiple times has no extra effect.\n"
+"              Disable it again with --no-ssl-allow-beast.\n"
+"\n"
+"              Example:\n"
+"               curl --ssl-allow-beast https://example.com\n"
+"\n"
+"              See also --proxy-ssl-allow-beast and -k, --insecure.\n"
+"\n"
+"       --ssl-auto-client-cert\n"
+"              Tell libcurl to automatically locate and use a  client  certifi-\n"
+"              cate  for authentication, when requested by the server. This op-\n"
+, stdout);
+ fputs(
+"              tion is only supported for Schannel (the native Windows SSL  li-\n"
+"              brary). Prior to 7.77.0 this was the default behavior in libcurl\n"
+"              with Schannel. Since the server can request any certificate that\n"
+"              supports  client  authentication  in the OS certificate store it\n"
+"              could be a privacy violation and unexpected.\n"
+"\n"
+"              Providing --ssl-auto-client-cert multiple times has no extra ef-\n"
+, stdout);
+ fputs(
+"              fect.  Disable it again with --no-ssl-auto-client-cert.\n"
+"\n"
+"              Example:\n"
+"               curl --ssl-auto-client-cert https://example.com\n"
+"\n"
+"              See also --proxy-ssl-auto-client-cert. Added in 7.77.0.\n"
+"\n"
+"       --ssl-no-revoke\n"
+"              (Schannel) This option tells curl to disable certificate revoca-\n"
+"              tion checks.  WARNING: this option loosens the SSL security, and\n"
+"              by using this flag you ask for exactly that.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing  --ssl-no-revoke  multiple  times has no extra effect.\n"
+"              Disable it again with --no-ssl-no-revoke.\n"
+"\n"
+"              Example:\n"
+"               curl --ssl-no-revoke https://example.com\n"
+"\n"
+"              See also --crlfile. Added in 7.44.0.\n"
+"\n"
+"       --ssl-reqd\n"
+"              (FTP IMAP POP3 SMTP LDAP) Require SSL/TLS  for  the  connection.\n"
+"              Terminates  the  connection  if  the  server  does  not  support\n"
+"              SSL/TLS.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option is handled in LDAP since version 7.81.0. It is fully\n"
+"              supported  by  the  OpenLDAP backend and rejected by the generic\n"
+"              ldap backend if explicit TLS is required.\n"
+"\n"
+"              This option was formerly known as --ftp-ssl-reqd.\n"
+"\n"
+"              Providing --ssl-reqd multiple times has no extra  effect.   Dis-\n"
+"              able it again with --no-ssl-reqd.\n"
+"\n"
+"              Example:\n"
+"               curl --ssl-reqd ftp://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --ssl and -k, --insecure.\n"
+"\n"
+"       --ssl-revoke-best-effort\n"
+"              (Schannel)  This option tells curl to ignore certificate revoca-\n"
+"              tion checks when they failed due to missing/offline distribution\n"
+"              points for the revocation check lists.\n"
+"\n"
+"              Providing  --ssl-revoke-best-effort  multiple times has no extra\n"
+"              effect.  Disable it again with --no-ssl-revoke-best-effort.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --ssl-revoke-best-effort https://example.com\n"
+"\n"
+"              See also --crlfile and -k, --insecure. Added in 7.70.0.\n"
+"\n"
+"       --ssl  (FTP IMAP POP3 SMTP LDAP) Warning: this is considered  an  inse-\n"
+"              cure  option.  Consider using --ssl-reqd instead to be sure curl\n"
+"              upgrades to a secure connection.\n"
+"\n"
+"              Try to use SSL/TLS for the connection. Reverts to  a  non-secure\n"
+, stdout);
+ fputs(
+"              connection  if  the  server  does  not support SSL/TLS. See also\n"
+"              --ftp-ssl-control and --ssl-reqd for different levels of encryp-\n"
+"              tion required.\n"
+"\n"
+"              This option is handled in LDAP since version 7.81.0. It is fully\n"
+"              supported by the OpenLDAP backend and  ignored  by  the  generic\n"
+"              ldap backend.\n"
+"\n"
+"              Please  note that a server may close the connection if the nego-\n"
+"              tiation does not succeed.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option was formerly known as --ftp-ssl.  That  option  name\n"
+"              can still be used but will be removed in a future version.\n"
+"\n"
+"              Providing  --ssl multiple times has no extra effect.  Disable it\n"
+"              again with --no-ssl.\n"
+"\n"
+"              Example:\n"
+"               curl --ssl pop3://example.com/\n"
+"\n"
+"              See also --ssl-reqd, -k, --insecure and --ciphers.\n"
+"\n"
+"       -2, --sslv2\n"
+, stdout);
+ fputs(
+"              (SSL) This option previously asked curl to use SSLv2, but start-\n"
+"              ing  in curl 7.77.0 this instruction is ignored. SSLv2 is widely\n"
+"              considered insecure (see RFC 6176).\n"
+"\n"
+"              Providing --sslv2 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --sslv2 https://example.com\n"
+"\n"
+"              See also --http1.1 and --http2. -2, --sslv2  requires  that  the\n"
+, stdout);
+ fputs(
+"              underlying  libcurl was built to support TLS. This option is mu-\n"
+"              tually exclusive to -3, --sslv3 and -1,  --tlsv1  and  --tlsv1.1\n"
+"              and --tlsv1.2.\n"
+"\n"
+"       -3, --sslv3\n"
+"              (SSL) This option previously asked curl to use SSLv3, but start-\n"
+"              ing in curl 7.77.0 this instruction is ignored. SSLv3 is  widely\n"
+"              considered insecure (see RFC 7568).\n"
+"\n"
+"              Providing --sslv3 multiple times has no extra effect.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --sslv3 https://example.com\n"
+"\n"
+"              See  also  --http1.1  and --http2. -3, --sslv3 requires that the\n"
+"              underlying libcurl was built to support TLS. This option is  mu-\n"
+"              tually  exclusive  to  -2, --sslv2 and -1, --tlsv1 and --tlsv1.1\n"
+"              and --tlsv1.2.\n"
+"\n"
+"       --stderr <file>\n"
+"              Redirect all writes to stderr to the specified file instead.  If\n"
+, stdout);
+ fputs(
+"              the file name is a plain '-', it is instead written to stdout.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              If --stderr is provided several times, the last set  value  will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --stderr output.txt https://example.com\n"
+"\n"
+"              See also -v, --verbose and -s, --silent.\n"
+"\n"
+"       --styled-output\n"
+, stdout);
+ fputs(
+"              Enables  the automatic use of bold font styles when writing HTTP\n"
+"              headers to the terminal. Use --no-styled-output to  switch  them\n"
+"              off.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Providing --styled-output multiple times has  no  extra  effect.\n"
+"              Disable it again with --no-styled-output.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --styled-output -I https://example.com\n"
+"\n"
+"              See also -I, --head and -v, --verbose. Added in 7.61.0.\n"
+"\n"
+"       --suppress-connect-headers\n"
+"              When  --proxytunnel is used and a CONNECT request is made do not\n"
+"              output proxy CONNECT response headers. This option is  meant  to\n"
+"              be  used  with --dump-header or --include which are used to show\n"
+"              protocol headers in the output. It has no effect  on  debug  op-\n"
+, stdout);
+ fputs(
+"              tions such as --verbose or --trace, or any statistics.\n"
+"\n"
+"              Providing --suppress-connect-headers multiple times has no extra\n"
+"              effect.  Disable it again with --no-suppress-connect-headers.\n"
+"\n"
+"              Example:\n"
+"               curl --suppress-connect-headers --include -x proxy https://example.com\n"
+"\n"
+"              See also -D, --dump-header, -i, --include and -p, --proxytunnel.\n"
+"              Added in 7.54.0.\n"
+"\n"
+"       --tcp-fastopen\n"
+, stdout);
+ fputs(
+"              Enable use of TCP Fast Open (RFC7413).\n"
+"\n"
+"              Providing  --tcp-fastopen  multiple  times  has no extra effect.\n"
+"              Disable it again with --no-tcp-fastopen.\n"
+"\n"
+"              Example:\n"
+"               curl --tcp-fastopen https://example.com\n"
+"\n"
+"              See also --false-start. Added in 7.49.0.\n"
+"\n"
+"       --tcp-nodelay\n"
+"              Turn on the TCP_NODELAY option. See the curl_easy_setopt(3)  man\n"
+"              page for details about this option.\n"
+"\n"
+, stdout);
+ fputs(
+"              Since  7.50.2,  curl sets this option by default and you need to\n"
+"              explicitly switch it off if you do not want it on.\n"
+"\n"
+"              Providing --tcp-nodelay multiple  times  has  no  extra  effect.\n"
+"              Disable it again with --no-tcp-nodelay.\n"
+"\n"
+"              Example:\n"
+"               curl --tcp-nodelay https://example.com\n"
+"\n"
+"              See also -N, --no-buffer.\n"
+"\n"
+"       -t, --telnet-option <opt=val>\n"
+, stdout);
+ fputs(
+"              Pass options to the telnet protocol. Supported options are:\n"
+"\n"
+"              TTYPE=<term> Sets the terminal type.\n"
+"\n"
+"              XDISPLOC=<X display> Sets the X display location.\n"
+"\n"
+"              NEW_ENV=<var,val> Sets an environment variable.\n"
+"\n"
+"              --telnet-option can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl -t TTYPE=vt100 telnet://example.com/\n"
+"\n"
+"              See also -K, --config.\n"
+"       --tftp-blksize <value>\n"
+, stdout);
+ fputs(
+"              (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block\n"
+"              size that curl will try to use when transferring data to or from\n"
+"              a TFTP server. By default 512 bytes will be used.\n"
+"\n"
+"              If  --tftp-blksize is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --tftp-blksize 1024 tftp://example.com/file\n"
+"\n"
+"              See also --tftp-no-options.\n"
+"\n"
+"       --tftp-no-options\n"
+, stdout);
+ fputs(
+"              (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"
+"              option is used --tftp-blksize is ignored.\n"
+"\n"
+"              Providing --tftp-no-options multiple times has no extra  effect.\n"
+"              Disable it again with --no-tftp-no-options.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl --tftp-no-options tftp://192.168.0.1/\n"
+"\n"
+"              See also --tftp-blksize. Added in 7.48.0.\n"
+"\n"
+"       -z, --time-cond <time>\n"
+"              (HTTP  FTP) Request a file that has been modified later than the\n"
+"              given time and date, or one that has been modified  before  that\n"
+"              time.  The <date expression> can be all sorts of date strings or\n"
+"              if it does not match any internal ones, it is taken as  a  file-\n"
+, stdout);
+ fputs(
+"              name  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"
+"              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  --time-cond  is  provided  several times, the last set value\n"
+, stdout);
+ fputs(
+"              will be used.\n"
+"\n"
+"              Examples:\n"
+"               curl -z \"Wed 01 Sep 2021 12:18:00\" https://example.com\n"
+"               curl -z \"-Wed 01 Sep 2021 12:18:00\" https://example.com\n"
+"               curl -z file https://example.com\n"
+"\n"
+"              See also --etag-compare and -R, --remote-time.\n"
+"\n"
+"       --tls-max <VERSION>\n"
+"              (SSL) VERSION defines maximum supported TLS version. The minimum\n"
+"              acceptable  version  is  set  by  tlsv1.0,  tlsv1.1,  tlsv1.2 or\n"
+, stdout);
+ fputs(
+"              tlsv1.3.\n"
+"\n"
+"              If the connection is done without TLS, this option  has  no  ef-\n"
+"              fect. This includes QUIC-using (HTTP/3) transfers.\n"
+"\n"
+"              default\n"
+"                     Use up to recommended TLS version.\n"
+"\n"
+"              1.0    Use up to TLSv1.0.\n"
+"              1.1    Use up to TLSv1.1.\n"
+"              1.2    Use up to TLSv1.2.\n"
+"              1.3    Use up to TLSv1.3.\n"
+"\n"
+"       If  --tls-max  is  provided  several  times, the last set value will be\n"
+, stdout);
+ fputs(
+"       used.\n"
+"\n"
+"       Examples:\n"
+"        curl --tls-max 1.2 https://example.com\n"
+"        curl --tls-max 1.3 --tlsv1.2 https://example.com\n"
+"\n"
+"       See also --tlsv1.0, --tlsv1.1, --tlsv1.2 and --tlsv1.3.  --tls-max  re-\n"
+"       quires  that  the underlying libcurl was built to support TLS. Added in\n"
+"       7.54.0.\n"
+"\n"
+"       --tls13-ciphers <ciphersuite list>\n"
+"              (TLS) Specifies which cipher suites to use in the connection  if\n"
+, stdout);
+ fputs(
+"              it  negotiates  TLS 1.3. The list of ciphers suites must specify\n"
+"              valid ciphers. Read up on TLS 1.3 cipher suite details  on  this\n"
+"              URL:\n"
+"\n"
+"               https://curl.se/docs/ssl-ciphers.html\n"
+"\n"
+"              This  option  is  currently  used only when curl is built to use\n"
+"              OpenSSL 1.1.1 or later. If you are using a different SSL backend\n"
+"              you can try setting TLS 1.3 cipher suites by using the --ciphers\n"
+"              option.\n"
+"\n"
+, stdout);
+ fputs(
+"              If --tls13-ciphers is provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --tls13-ciphers TLS_AES_128_GCM_SHA256 https://example.com\n"
+"\n"
+"              See also --ciphers and --curves. Added in 7.61.0.\n"
+"\n"
+"       --tlsauthtype <type>\n"
+"              Set  TLS  authentication type. Currently, the only supported op-\n"
+"              tion  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 underly-\n"
+"              ing  libcurl  is  built  with  TLS-SRP  support,  which requires\n"
+"              OpenSSL or GnuTLS with TLS-SRP support.\n"
+"\n"
+"              If --tlsauthtype is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsauthtype SRP https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --tlsuser.\n"
+"\n"
+"       --tlspassword <string>\n"
+"              Set  password  for use with the TLS authentication method speci-\n"
+"              fied with --tlsauthtype. Requires that --tlsuser also be set.\n"
+"\n"
+"              This option does not work with TLS 1.3.\n"
+"\n"
+"              If --tlspassword is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --tlspassword pwd --tlsuser user https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --tlsuser.\n"
+"\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.\n"
+"\n"
+"              This option does not work with TLS 1.3.\n"
+"\n"
+"              If  --tlsuser is provided several times, the last set value will\n"
+"              be used.\n"
+"              Example:\n"
+"               curl --tlspassword pwd --tlsuser user https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --tlspassword.\n"
+"\n"
+"       --tlsv1.0\n"
+"              (TLS) Forces curl to use TLS version 1.0 or later when  connect-\n"
+"              ing to a remote TLS server.\n"
+"\n"
+"              In  old  versions  of  curl  this option was documented to allow\n"
+"              _only_ TLS 1.0.  That behavior was inconsistent depending on the\n"
+"              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
+"              sion.\n"
+"\n"
+, stdout);
+ fputs(
+"              Providing --tlsv1.0 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsv1.0 https://example.com\n"
+"\n"
+"              See also --tlsv1.3. Added in 7.34.0.\n"
+"\n"
+"       --tlsv1.1\n"
+"              (TLS) Forces curl to use TLS version 1.1 or later when  connect-\n"
+"              ing to a remote TLS server.\n"
+"\n"
+"              In  old  versions  of  curl  this option was documented to allow\n"
+"              _only_ TLS 1.1.  That behavior was inconsistent depending on the\n"
+, stdout);
+ fputs(
+"              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
+"              sion.\n"
+"\n"
+"              Providing --tlsv1.1 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsv1.1 https://example.com\n"
+"\n"
+"              See also --tlsv1.3 and --tls-max. Added in 7.34.0.\n"
+"\n"
+"       --tlsv1.2\n"
+"              (TLS) Forces curl to use TLS version 1.2 or later when  connect-\n"
+"              ing to a remote TLS server.\n"
+"\n"
+, stdout);
+ fputs(
+"              In  old  versions  of  curl  this option was documented to allow\n"
+"              _only_ TLS 1.2.  That behavior was inconsistent depending on the\n"
+"              TLS library. Use --tls-max if you want to set a maximum TLS ver-\n"
+"              sion.\n"
+"\n"
+"              Providing --tlsv1.2 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsv1.2 https://example.com\n"
+"\n"
+"              See also --tlsv1.3 and --tls-max. Added in 7.34.0.\n"
+"\n"
+"       --tlsv1.3\n"
+, stdout);
+ fputs(
+"              (TLS) Forces curl to use TLS version 1.3 or later when  connect-\n"
+"              ing to a remote TLS server.\n"
+"\n"
+"              If  the  connection  is done without TLS, this option has no ef-\n"
+"              fect. This includes QUIC-using (HTTP/3) transfers.\n"
+"\n"
+"              Note that TLS 1.3 is not supported by all TLS backends.\n"
+"              Providing --tlsv1.3 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsv1.3 https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also --tlsv1.2 and --tls-max. Added in 7.52.0.\n"
+"\n"
+"       -1, --tlsv1\n"
+"              (SSL) Tells curl to use at least TLS version 1.x when  negotiat-\n"
+"              ing  with  a  remote  TLS  server. That means TLS version 1.0 or\n"
+"              higher\n"
+"\n"
+"              Providing --tlsv1 multiple times has no extra effect.\n"
+"\n"
+"              Example:\n"
+"               curl --tlsv1 https://example.com\n"
+"\n"
+"              See also --http1.1 and --http2. -1, --tlsv1  requires  that  the\n"
+, stdout);
+ fputs(
+"              underlying  libcurl was built to support TLS. This option is mu-\n"
+"              tually exclusive to --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"
+"              receiving it.\n"
+"\n"
+"              Providing --tr-encoding multiple  times  has  no  extra  effect.\n"
+"              Disable it again with --no-tr-encoding.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --tr-encoding https://example.com\n"
+"\n"
+"              See also --compressed.\n"
+"\n"
+"       --trace-ascii <file>\n"
+"              Enables a full trace dump of all incoming and outgoing data, in-\n"
+"              cluding descriptive information, to the given output  file.  Use\n"
+"              \"-\" as filename to have the output sent to stdout.\n"
+"\n"
+"              This is similar to --trace, but leaves out the hex part and only\n"
+, stdout);
+ fputs(
+"              shows the ASCII part of the dump. It makes smaller  output  that\n"
+"              might be easier to read for untrained humans.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              If --trace-ascii is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --trace-ascii log.txt https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See  also -v, --verbose and --trace. This option is mutually ex-\n"
+"              clusive to --trace and -v, --verbose.\n"
+"\n"
+"       --trace-time\n"
+"              Prepends a time stamp to each trace or verbose  line  that  curl\n"
+"              displays.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Providing --trace-time multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-trace-time.\n"
+"\n"
+, stdout);
+ fputs(
+"              Example:\n"
+"               curl --trace-time --trace-ascii output https://example.com\n"
+"\n"
+"              See also --trace and -v, --verbose.\n"
+"\n"
+"       --trace <file>\n"
+"              Enables a full trace dump of all incoming and outgoing data, in-\n"
+"              cluding descriptive information, to the given output  file.  Use\n"
+"              \"-\"  as  filename  to have the output sent to stdout. Use \"%\" as\n"
+"              filename to have the output sent to stderr.\n"
+"\n"
+, stdout);
+ fputs(
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              If --trace is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl --trace log.txt https://example.com\n"
+"\n"
+"              See also --trace-ascii and --trace-time. This option is mutually\n"
+"              exclusive to -v, --verbose and --trace-ascii.\n"
+"\n"
+"       --unix-socket <path>\n"
+, stdout);
+ fputs(
+"              (HTTP) Connect through this Unix domain socket, instead of using\n"
+"              the network.\n"
+"\n"
+"              If --unix-socket is provided several times, the last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl --unix-socket socket-path https://example.com\n"
+"\n"
+"              See also --abstract-unix-socket. Added in 7.40.0.\n"
+"\n"
+"       -T, --upload-file <file>\n"
+"              This  transfers  the  specified local file to the remote URL. If\n"
+, stdout);
+ fputs(
+"              there is no file part in the specified URL, curl will append the\n"
+"              local file name. NOTE that you must use a trailing / on the last\n"
+"              directory to really prove to Curl that there is no file name  or\n"
+"              curl will think that your last directory name is the remote file\n"
+"              name to use. That will most likely cause the upload operation to\n"
+"              fail. If this is used on an HTTP(S) server, the PUT command will\n"
+"              be used.\n"
+"\n"
+, stdout);
+ fputs(
+"              Use the file name \"-\" (a single dash) to use stdin instead of  a\n"
+"              given  file.   Alternately,  the file name \".\" (a single period)\n"
+"              may be specified instead of \"-\" to  use  stdin  in  non-blocking\n"
+"              mode  to  allow  reading  server output while stdin is being up-\n"
+"              loaded.\n"
+"\n"
+"              You can specify one --upload-file for each URL  on  the  command\n"
+"              line. Each -T, --upload-file + URL pair specifies what to upload\n"
+, stdout);
+ fputs(
+"              and to where. curl also supports \"globbing\" of the --upload-file\n"
+"              argument, meaning that you can upload multiple files to a single\n"
+"              URL by using the same URL globbing style supported in the URL.\n"
+"\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"
+, stdout);
+ fputs(
+"              will not transcode nor encode it further in any way.\n"
+"\n"
+"              --upload-file can be used several times in a command line\n"
+"\n"
+"              Examples:\n"
+"               curl -T file https://example.com\n"
+"               curl -T \"img[1-1000].png\" ftp://ftp.example.com/\n"
+"               curl --upload-file \"{file1,file2}\" https://example.com\n"
+"\n"
+"              See also -G, --get and -I, --head.\n"
+"\n"
+"       --url <url>\n"
+"              Specify  a  URL  to  fetch. This option is mostly handy when you\n"
+, stdout);
+ fputs(
+"              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"
+"              will be used. Since 7.45.0 guessing can be disabled by setting a\n"
+, stdout);
+ fputs(
+"              default protocol, see --proto-default for details.\n"
+"\n"
+"              To  control  where  this URL is written, use the --output or the\n"
+"              --remote-name options.\n"
+"\n"
+"              WARNING: On Windows, particular file://  accesses  can  be  con-\n"
+"              verted to network accesses by the operating system. Beware!\n"
+"\n"
+"              --url can be used several times in a command line\n"
+"\n"
+"              Example:\n"
+"               curl --url https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -:, --next and -K, --config.\n"
+"\n"
+"       -B, --use-ascii\n"
+"              (FTP  LDAP) Enable ASCII transfer. For FTP, this can also be en-\n"
+"              forced by using a URL that  ends  with  \";type=A\".  This  option\n"
+"              causes data sent to stdout to be in text mode for win32 systems.\n"
+"              Providing  --use-ascii multiple times has no extra effect.  Dis-\n"
+"              able it again with --no-use-ascii.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl -B ftp://example.com/README\n"
+"\n"
+"              See also --crlf and --data-ascii.\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 header can also be set with  the  --header  or\n"
+"              the --proxy-header options.\n"
+"\n"
+"              If  you give an empty argument to -A, --user-agent (\"\"), it will\n"
+, stdout);
+ fputs(
+"              remove the header completely from the request. If you  prefer  a\n"
+"              blank header, you can set it to a single space (\" \").\n"
+"\n"
+"              If  --user-agent  is  provided several times, the last set value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+"               curl -A \"Agent 007\" https://example.com\n"
+"\n"
+"              See also -H, --header and --proxy-header.\n"
+"\n"
+"       -u, --user <user:password>\n"
+, stdout);
+ fputs(
+"              Specify the user name and password to use for server authentica-\n"
+"              tion. Overrides --netrc and --netrc-optional.\n"
+"\n"
+"              If  you  simply  specify  the  user name, curl will prompt for a\n"
+"              password.\n"
+"\n"
+"              The user name and passwords are split up  on  the  first  colon,\n"
+"              which  makes  it impossible to use a colon in the user name with\n"
+"              this option. The password can, still.\n"
+"\n"
+, stdout);
+ fputs(
+"              On systems where it works, curl will hide the given option argu-\n"
+"              ment  from  process listings. This is not enough to protect cre-\n"
+"              dentials from possibly getting seen by other users on  the  same\n"
+"              system  as  they  will  still  be  visible  for  a moment before\n"
+"              cleared. Such sensitive data should be retrieved from a file in-\n"
+"              stead or similar and never used in clear text in a command line.\n"
+, stdout);
+ fputs(
+"              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 do\n"
+"              not, then the initial authentication handshake may fail.\n"
+"\n"
+"              When using NTLM, the user name can be specified  simply  as  the\n"
+"              user  name,  without the domain, if there is a single domain and\n"
+, stdout);
+ fputs(
+"              forest in your setup for example.\n"
+"\n"
+"              To specify the domain name use either Down-Level Logon  Name  or\n"
+"              UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n"
+"              user@example.com respectively.\n"
+"\n"
+"              If you use a Windows SSPI-enabled curl binary and  perform  Ker-\n"
+"              beros  V5, Negotiate, NTLM or Digest authentication then you can\n"
+"              tell curl to select the user name and password from  your  envi-\n"
+, stdout);
+ fputs(
+"              ronment by specifying a single colon with this option: \"-u :\".\n"
+"\n"
+"              If  --user is provided several times, the last set value will be\n"
+"              used.\n"
+"\n"
+"              Example:\n"
+"               curl -u user:secret https://example.com\n"
+"\n"
+"              See also -n, --netrc and -K, --config.\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"
+, 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"
+"              line starting with '*' means additional info provided by curl.\n"
+"\n"
+"              If you only want HTTP headers in the output, --include might  be\n"
+"              the option you are looking for.\n"
+"\n"
+"              If you think this option still does not give you enough details,\n"
+, stdout);
+ fputs(
+"              consider using --trace or --trace-ascii instead.\n"
+"\n"
+"              This option is global and does not need to be specified for each\n"
+"              use of -:, --next.\n"
+"\n"
+"              Use --silent to make curl really quiet.\n"
+"\n"
+"              Providing --verbose multiple times has no extra effect.  Disable\n"
+"              it again with --no-verbose.\n"
+"\n"
+"              Example:\n"
+"               curl --verbose https://example.com\n"
+"\n"
+, stdout);
+ fputs(
+"              See also -i, --include. This option  is  mutually  exclusive  to\n"
+"              --trace and --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"
+"              other 3rd party libraries linked with the executable.\n"
+"\n"
+"              The second line (starts with \"Protocols:\") shows  all  protocols\n"
+"              that libcurl reports to support.\n"
+"\n"
+, stdout);
+ fputs(
+"              The third line (starts with \"Features:\") shows specific features\n"
+"              libcurl reports to offer. Available features include:\n"
+"\n"
+"              alt-svc\n"
+"                     Support for the Alt-Svc: header is provided.\n"
+"\n"
+"              AsynchDNS\n"
+"                     This curl uses asynchronous name  resolves.  Asynchronous\n"
+"                     name  resolves can be done using either the c-ares or the\n"
+"                     threaded resolver backends.\n"
+"\n"
+, stdout);
+ fputs(
+"              brotli Support for automatic brotli compression over HTTP(S).\n"
+"\n"
+"              CharConv\n"
+"                     curl was built with support for character set conversions\n"
+"                     (like EBCDIC)\n"
+"\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"
+"              gsasl  The  built-in  SASL authentication includes extensions to\n"
+, stdout);
+ fputs(
+"                     support SCRAM because libcurl was built with libgsasl.\n"
+"\n"
+"              GSS-API\n"
+"                     GSS-API is supported.\n"
+"\n"
+"              HSTS   HSTS support is present.\n"
+"\n"
+"              HTTP2  HTTP/2 support has been built-in.\n"
+"              HTTP3  HTTP/3 support has been built-in.\n"
+"\n"
+"              HTTPS-proxy\n"
+"                     This curl is built to support HTTPS proxy.\n"
+"\n"
+"              IDN    This curl supports IDN - international domain names.\n"
+"\n"
+, stdout);
+ fputs(
+"              IPv6   You can use IPv6 with this.\n"
+"\n"
+"              Kerberos\n"
+"                     Kerberos V5 authentication is supported.\n"
+"\n"
+"              Largefile\n"
+"                     This curl supports transfers of large files, files larger\n"
+"                     than 2GB.\n"
+"\n"
+"              libz   Automatic decompression (via gzip, deflate) of compressed\n"
+"                     files over HTTP is supported.\n"
+"\n"
+"              MultiSSL\n"
+"                     This curl supports multiple TLS backends.\n"
+"\n"
+, stdout);
+ fputs(
+"              NTLM   NTLM authentication is supported.\n"
+"\n"
+"              NTLM_WB\n"
+"                     NTLM delegation to winbind helper is supported.\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"
+"                     fixes\".\n"
+"\n"
+"              SPNEGO SPNEGO authentication is supported.\n"
+"\n"
+"              SSL    SSL versions of various protocols are supported, such  as\n"
+, stdout);
+ fputs(
+"                     HTTPS, FTPS, POP3S and so on.\n"
+"\n"
+"              SSPI   SSPI is supported.\n"
+"\n"
+"              TLS-SRP\n"
+"                     SRP  (Secure Remote Password) authentication is supported\n"
+"                     for TLS.\n"
+"\n"
+"              TrackMemory\n"
+"                     Debug memory tracking is supported.\n"
+"\n"
+"              Unicode\n"
+"                     Unicode support on Windows.\n"
+"\n"
+"              UnixSockets\n"
+"                     Unix sockets support is provided.\n"
+"\n"
+, stdout);
+ fputs(
+"              zstd   Automatic decompression (via zstd)  of  compressed  files\n"
+"                     over HTTP is supported.\n"
+"\n"
+"       Providing  --version  multiple  times  has no extra effect.  Disable it\n"
+"       again with --no-version.\n"
+"\n"
+"       Example:\n"
+"        curl --version\n"
+"\n"
+"       See also -h, --help and -M, --manual.\n"
+"\n"
+"       -w, --write-out <format>\n"
+"              Make curl display information on stdout after a completed trans-\n"
+, stdout);
+ fputs(
+"              fer.  The  format  is a string that may contain plain text mixed\n"
+"              with any number of variables. The format can be specified  as  a\n"
+"              literal  \"string\",  or  you can have curl read the format from a\n"
+"              file with \"@filename\" and to tell curl to read the  format  from\n"
+"              stdin you write \"@-\".\n"
+"\n"
+"              The  variables  present in the output format will be substituted\n"
+, stdout);
+ fputs(
+"              by the value or text that curl thinks fit, as  described  below.\n"
+"              All  variables are specified as %{variable_name} and to output a\n"
+"              normal % you just write them as %%. You can output a newline  by\n"
+"              using \\n, a carriage return with \\r and a tab space with \\t.\n"
+"\n"
+"              The  output  will be written to standard output, but this can be\n"
+"              switched to standard error by using %{stderr}.\n"
+"\n"
+, stdout);
+ fputs(
+"              Output HTTP headers  from  the  most  recent  request  by  using\n"
+"              %header{name}  where  name  is  the case insensitive name of the\n"
+"              header (without the trailing colon). The header contents are ex-\n"
+"              actly as sent over the network, with leading and trailing white-\n"
+"              space trimmed. Added in curl 7.84.0.\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 op-\n"
+"              tion.\n"
+"\n"
+"              The variables available are:\n"
+"\n"
+"              content_type   The Content-Type of the  requested  document,  if\n"
+"                             there was any.\n"
+"\n"
+"              errormsg       The error message. (Added in 7.75.0)\n"
+"\n"
+"              exitcode       The numerical exitcode of the transfer. (Added in\n"
+"                             7.75.0)\n"
+"\n"
+"              filename_effective\n"
+, stdout);
+ fputs(
+"                             The ultimate filename that curl  writes  out  to.\n"
+"                             This  is only meaningful if curl is told to write\n"
+"                             to a file with the --remote-name or --output  op-\n"
+"                             tion.  It's  most  useful in combination with the\n"
+"                             --remote-header-name option.\n"
+"\n"
+"              ftp_entry_path The initial path curl ended up in when logging on\n"
+, stdout);
+ fputs(
+"                             to the remote FTP server.\n"
+"\n"
+"              header_json    A JSON object with all HTTP response headers from\n"
+"                             the recent transfer. Values are provided  as  ar-\n"
+"                             rays, since in the case of multiple headers there\n"
+"                             can be multiple values.\n"
+"\n"
+"                             The header names provided in lowercase, listed in\n"
+, stdout);
+ fputs(
+"                             order of appearance over the wire. Except for du-\n"
+"                             plicated headers. They are grouped on  the  first\n"
+"                             occurrence  of  that  header,  each value is pre-\n"
+"                             sented in the JSON array.\n"
+"\n"
+"              http_code      The numerical response code that was found in the\n"
+"                             last retrieved HTTP(S) or FTP(s) transfer.\n"
+"\n"
+, stdout);
+ fputs(
+"              http_connect   The numerical code that was found in the last re-\n"
+"                             sponse (from a proxy) to a curl CONNECT request.\n"
+"\n"
+"              http_version   The  http  version  that  was  effectively  used.\n"
+"                             (Added in 7.50.0)\n"
+"\n"
+"              json           A JSON object with all available keys.\n"
+"\n"
+"              local_ip       The  IP  address of the local end of the most re-\n"
+, stdout);
+ fputs(
+"                             cently done connection - can be  either  IPv4  or\n"
+"                             IPv6.\n"
+"\n"
+"              local_port     The  local  port number of the most recently done\n"
+"                             connection.\n"
+"\n"
+"              method         The http method used in the most recent HTTP  re-\n"
+"                             quest. (Added in 7.72.0)\n"
+"\n"
+"              num_connects   Number  of new connects made in the recent trans-\n"
+"                             fer.\n"
+"\n"
+, stdout);
+ fputs(
+"              num_headers    The number of response headers in the most recent\n"
+"                             request  (restarted  at each redirect). Note that\n"
+"                             the status  line  IS  NOT  a  header.  (Added  in\n"
+"                             7.73.0)\n"
+"\n"
+"              num_redirects  Number of redirects that were followed in the re-\n"
+"                             quest.\n"
+"\n"
+"              onerror        The rest of the  output  is  only  shown  if  the\n"
+, stdout);
+ fputs(
+"                             transfer  returned  a  non-zero  error  (Added in\n"
+"                             7.75.0)\n"
+"\n"
+"              proxy_ssl_verify_result\n"
+"                             The result of the HTTPS proxy's SSL peer certifi-\n"
+"                             cate verification that was requested. 0 means the\n"
+"                             verification was successful. (Added in 7.52.0)\n"
+"\n"
+"              redirect_url   When an HTTP request was made without  --location\n"
+, stdout);
+ fputs(
+"                             to  follow  redirects  (or  when  --max-redirs is\n"
+"                             met), this variable will show the  actual  URL  a\n"
+"                             redirect would have gone to.\n"
+"\n"
+"              referer        The  Referer: header, if there was any. (Added in\n"
+"                             7.76.0)\n"
+"\n"
+"              remote_ip      The remote IP address of the most  recently  done\n"
+"                             connection - can be either IPv4 or IPv6.\n"
+"\n"
+, stdout);
+ fputs(
+"              remote_port    The  remote port number of the most recently done\n"
+"                             connection.\n"
+"\n"
+"              response_code  The numerical response code that was found in the\n"
+"                             last transfer (formerly known as \"http_code\").\n"
+"\n"
+"              scheme         The  URL  scheme (sometimes called protocol) that\n"
+"                             was effectively used. (Added in 7.52.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              size_download  The total amount of bytes that  were  downloaded.\n"
+"                             This is the size of the body/data that was trans-\n"
+"                             ferred, excluding headers.\n"
+"\n"
+"              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"
+"                             HTTP request.\n"
+"\n"
+, stdout);
+ fputs(
+"              size_upload    The total amount of  bytes  that  were  uploaded.\n"
+"                             This is the size of the body/data that was trans-\n"
+"                             ferred, excluding headers.\n"
+"\n"
+"              speed_download The average download speed that curl measured for\n"
+"                             the complete download. Bytes per second.\n"
+"\n"
+"              speed_upload   The  average  upload speed that curl measured for\n"
+, stdout);
+ fputs(
+"                             the complete upload. Bytes per second.\n"
+"\n"
+"              ssl_verify_result\n"
+"                             The result of the SSL peer certificate  verifica-\n"
+"                             tion that was requested. 0 means the verification\n"
+"                             was successful.\n"
+"\n"
+"              stderr         From this point on, the --write-out  output  will\n"
+"                             be written to standard error. (Added in 7.63.0)\n"
+"\n"
+, stdout);
+ fputs(
+"              stdout         From  this  point on, the --write-out output will\n"
+"                             be written to standard output.  This is  the  de-\n"
+"                             fault,  but  can  be  used  to  switch back after\n"
+"                             switching to stderr.  (Added in 7.63.0)\n"
+"\n"
+"              time_appconnect\n"
+"                             The time, in seconds, it took from the start  un-\n"
+"                             til  the SSL/SSH/etc connect/handshake to the re-\n"
+, stdout);
+ fputs(
+"                             mote host was completed.\n"
+"\n"
+"              time_connect   The time, in seconds, it took from the start  un-\n"
+"                             til the TCP connect to the remote host (or proxy)\n"
+"                             was completed.\n"
+"\n"
+"              time_namelookup\n"
+"                             The time, in seconds, it took from the start  un-\n"
+"                             til the name resolving was completed.\n"
+"\n"
+"              time_pretransfer\n"
+, stdout);
+ fputs(
+"                             The  time, in seconds, it took from the start un-\n"
+"                             til the file transfer was just  about  to  begin.\n"
+"                             This includes all pre-transfer commands and nego-\n"
+"                             tiations that are specific to the particular pro-\n"
+"                             tocol(s) involved.\n"
+"\n"
+"              time_redirect  The time, in seconds, it took for all redirection\n"
+, stdout);
+ fputs(
+"                             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.\n"
+"\n"
+"              time_starttransfer\n"
+"                             The  time, in seconds, it took from the start un-\n"
+"                             til the first byte was just about  to  be  trans-\n"
+, stdout);
+ fputs(
+"                             ferred.  This  includes time_pretransfer and also\n"
+"                             the time the server needed to calculate  the  re-\n"
+"                             sult.\n"
+"\n"
+"              time_total     The  total time, in seconds, that the full opera-\n"
+"                             tion lasted.\n"
+"\n"
+"              url            The URL that was fetched. (Added in 7.75.0)\n"
+"\n"
+"              urlnum         The URL index number of this transfer, 0-indexed.\n"
+, stdout);
+ fputs(
+"                             De-globbed  URLs  share  the same index number as\n"
+"                             the origin globbed URL. (Added in 7.75.0)\n"
+"\n"
+"              url_effective  The URL that was fetched last. This is most mean-\n"
+"                             ingful  if you have told curl to follow location:\n"
+"                             headers.\n"
+"\n"
+"              If --write-out is provided several times,  the  last  set  value\n"
+"              will be used.\n"
+"\n"
+"              Example:\n"
+, stdout);
+ fputs(
+"               curl -w '%{http_code}\\n' https://example.com\n"
+"\n"
+"              See also -v, --verbose and -I, --head.\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"
+"              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"
+, stdout);
+ fputs(
+"              file  system  does not support extended attributes, a warning is\n"
+"              issued.\n"
+"\n"
+"              Providing --xattr multiple times has no extra  effect.   Disable\n"
+"              it again with --no-xattr.\n"
+"\n"
+"              Example:\n"
+"               curl --xattr -o storage https://example.com\n"
+"\n"
+"              See also -R, --remote-time, -w, --write-out and -v, --verbose.\n"
+"\n"
+"FILES\n"
+"       ~/.curlrc\n"
+"              Default config file, see --config for details.\n"
+"\n"
+"ENVIRONMENT\n"
+, stdout);
+ fputs(
+"       The environment variables can be specified in lower case or upper case.\n"
+"       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 the --proxy option.\n"
+"\n"
+"       http_proxy [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use for HTTP.\n"
+"       HTTPS_PROXY [protocol://]<host>[:port]\n"
+, stdout);
+ fputs(
+"              Sets the proxy server to use for HTTPS.\n"
+"\n"
+"       [url-protocol]_PROXY [protocol://]<host>[:port]\n"
+"              Sets the proxy server to use for [url-protocol], where the  pro-\n"
+"              tocol  is  a  protocol  that curl supports and as specified in a\n"
+"              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"
+"              set.\n"
+"\n"
+, stdout);
+ fputs(
+"       NO_PROXY <comma-separated list of hosts/domains>\n"
+"              list  of host names that should not go through any proxy. If set\n"
+"              to an asterisk '*' only, it matches all hosts. Each name in this\n"
+"              list is matched as either a domain name which contains the host-\n"
+"              name, or the hostname itself.\n"
+"\n"
+"              This environment variable disables use of the  proxy  even  when\n"
+"              specified with the --proxy option. That is NO_PROXY=direct.exam-\n"
+, stdout);
+ fputs(
+"              ple.com  curl  -x  http://proxy.example.com  http://direct.exam-\n"
+"              ple.com  accesses  the  target  URL  directly,  and NO_PROXY=di-\n"
+"              rect.example.com curl -x  http://proxy.example.com  http://some-\n"
+"              where.example.com accesses the target URL through the proxy.\n"
+"\n"
+"              The  list  of  host  names  can also be include numerical IP ad-\n"
+"              dresses, and IPv6 versions should then be given without  enclos-\n"
+"              ing brackets.\n"
+"\n"
+, stdout);
+ fputs(
+"              IPv6  numerical  addresses are compared as strings, so they will\n"
+"              only match if the representations are the  same:  \"::1\"  is  the\n"
+"              same as \"::0:1\" but they do not match.\n"
+"\n"
+"       APPDATA <dir>\n"
+"              On  Windows,  this variable is used when trying to find the home\n"
+"              directory. If the primary home variable are all unset.\n"
+"\n"
+"       COLUMNS <terminal width>\n"
+"              If set, the specified number of characters will be used  as  the\n"
+, stdout);
+ fputs(
+"              terminal  width  when  the alternative progress-bar is shown. If\n"
+"              not set, curl will try to figure it out using other ways.\n"
+"\n"
+"       CURL_CA_BUNDLE <file>\n"
+"              If set, will be used as the --cacert value.\n"
+"\n"
+"       CURL_HOME <dir>\n"
+"              If set, is the first variable curl checks when  trying  to  find\n"
+"              its  home  directory. If not set, it continues to check XDG_CON-\n"
+"              FIG_HOME.\n"
+"\n"
+"       CURL_SSL_BACKEND <TLS backend>\n"
+, stdout);
+ fputs(
+"              If curl was built with support for \"MultiSSL\", meaning  that  it\n"
+"              has  built-in  support for more than one TLS backend, this envi-\n"
+"              ronment variable can be set to the case insensitive name of  the\n"
+"              particular  backend  to use when curl is invoked. Setting a name\n"
+"              that is not a built-in alternative will make curl stay with  the\n"
+"              default.\n"
+"\n"
+"              SSL  backend  names  (case-insensitive): bearssl, gnutls, gskit,\n"
+, stdout);
+ fputs(
+"              mbedtls, nss, openssl, rustls, schannel, secure-transport, wolf-\n"
+"              ssl\n"
+"\n"
+"       HOME <dir>\n"
+"              If  set,  this  is  used to find the home directory when that is\n"
+"              needed. Like when looking for the default .curlrc. CURL_HOME and\n"
+"              XDG_CONFIG_HOME have preference.\n"
+"\n"
+"       QLOGDIR <directory name>\n"
+"              If  curl was built with HTTP/3 support, setting this environment\n"
+, stdout);
+ fputs(
+"              variable to a local directory will make curl  produce  qlogs  in\n"
+"              that  directory,  using  file  names named after the destination\n"
+"              connection id (in hex). Do note  that  these  files  can  become\n"
+"              rather large. Works with both QUIC backends.\n"
+"\n"
+"       SHELL  Used  on  VMS  when  trying to detect if using a DCL or a \"unix\"\n"
+"              shell.\n"
+"\n"
+"       SSL_CERT_DIR <dir>\n"
+"              If set, will be used as the --capath value.\n"
+"\n"
+, stdout);
+ fputs(
+"       SSL_CERT_FILE <path>\n"
+"              If set, will be used as the --cacert value.\n"
+"\n"
+"       SSLKEYLOGFILE <file name>\n"
+"              If you set this environment variable to a file name,  curl  will\n"
+"              store TLS secrets from its connections in that file when invoked\n"
+"              to enable you to analyze the TLS traffic in real time using net-\n"
+"              work analyzing tools such as Wireshark. This works with the fol-\n"
+, stdout);
+ fputs(
+"              lowing TLS backends: OpenSSL, libressl, BoringSSL,  GnuTLS,  NSS\n"
+"              and wolfSSL.\n"
+"\n"
+"       USERPROFILE <dir>\n"
+"              On  Windows,  this variable is used when trying to find the home\n"
+"              directory. If the other, primary, variable  are  all  unset.  If\n"
+"              set, curl will use the path \"$USERPROFILE\\Application Data\".\n"
+"\n"
+"       XDG_CONFIG_HOME <dir>\n"
+"              If  CURL_HOME  is not set, this variable is checked when looking\n"
+, stdout);
+ fputs(
+"              for a default .curlrc file.\n"
+"\n"
+"PROXY PROTOCOL PREFIXES\n"
+"       The proxy string may be specified with a protocol:// prefix to  specify\n"
+"       alternative proxy protocols.\n"
+"\n"
+"       If  no  protocol is specified in the proxy string or if the string does\n"
+"       not match a supported one, the proxy will be treated as an HTTP proxy.\n"
+"\n"
+"       The supported proxy protocol prefixes are as follows:\n"
+"\n"
+"       http://\n"
+"              Makes it use it as an HTTP proxy. The default if no scheme  pre-\n"
+, stdout);
+ fputs(
+"              fix is used.\n"
+"\n"
+"       https://\n"
+"              Makes it treated as an HTTPS proxy.\n"
+"\n"
+"       socks4://\n"
+"              Makes it the equivalent of --socks4\n"
+"\n"
+"       socks4a://\n"
+"              Makes it the equivalent of --socks4a\n"
+"\n"
+"       socks5://\n"
+"              Makes it the equivalent of --socks5\n"
+"\n"
+"       socks5h://\n"
+"              Makes it the equivalent of --socks5-hostname\n"
+"\n"
+"EXIT CODES\n"
+"       There  are a bunch of different error codes and their corresponding er-\n"
+, stdout);
+ fputs(
+"       ror messages that may appear under error conditions.  At  the  time  of\n"
+"       this writing, the exit codes are:\n"
+"\n"
+"       0      Success.  The  operation completed successfully according to the\n"
+"              instructions.\n"
+"\n"
+"       1      Unsupported protocol. This build of curl has no support for this\n"
+"              protocol.\n"
+"\n"
+"       2      Failed to initialize.\n"
+"\n"
+"       3      URL malformed. The syntax was not correct.\n"
+"\n"
+, stdout);
+ fputs(
+"       4      A  feature  or option that was needed to perform the desired re-\n"
+"              quest was not enabled or was explicitly disabled at  build-time.\n"
+"              To make curl able to do this, you probably need another build of\n"
+"              libcurl.\n"
+"\n"
+"       5      Could not resolve proxy. The given proxy host could not  be  re-\n"
+"              solved.\n"
+"\n"
+"       6      Could  not  resolve host. The given remote host could not be re-\n"
+"              solved.\n"
+"\n"
+, stdout);
+ fputs(
+"       7      Failed to connect to host.\n"
+"\n"
+"       8      Weird server reply. The server sent data curl could not parse.\n"
+"\n"
+"       9      FTP access denied. The server denied login or denied  access  to\n"
+"              the  particular  resource or directory you wanted to reach. Most\n"
+"              often you tried to change to a directory that does not exist  on\n"
+"              the server.\n"
+"\n"
+"       10     FTP  accept failed. While waiting for the server to connect back\n"
+, stdout);
+ fputs(
+"              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 could not parse the reply sent to the\n"
+"              PASS request.\n"
+"\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 could not parse the reply sent to the\n"
+"              PASV request.\n"
+"\n"
+, stdout);
+ fputs(
+"       14     FTP weird 227 format. Curl could  not  parse  the  227-line  the\n"
+"              server sent.\n"
+"\n"
+"       15     FTP cannot use host. Could not resolve the host IP we got in the\n"
+"              227-line.\n"
+"\n"
+"       16     HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n"
+"              This is somewhat generic and can be one out of several problems,\n"
+"              see the error message for details.\n"
+"\n"
+"       17     FTP could not set binary. Could not change  transfer  method  to\n"
+, stdout);
+ fputs(
+"              binary.\n"
+"\n"
+"       18     Partial file. Only a part of the file was transferred.\n"
+"\n"
+"       19     FTP could not download/access the given file, the RETR (or simi-\n"
+"              lar) command failed.\n"
+"\n"
+"       21     FTP quote error. A quote command returned error from the server.\n"
+"       22     HTTP page not retrieved. The requested URL was not found or  re-\n"
+"              turned  another  error  with  the  HTTP  error code being 400 or\n"
+, stdout);
+ fputs(
+"              above. This return code only appears if --fail is used.\n"
+"\n"
+"       23     Write error. Curl could not write data to a local filesystem  or\n"
+"              similar.\n"
+"\n"
+"       25     FTP  could  not STOR file. The server denied the STOR operation,\n"
+"              used for FTP uploading.\n"
+"\n"
+"       26     Read error. Various reading problems.\n"
+"\n"
+"       27     Out of memory. A memory allocation request failed.\n"
+"\n"
+"       28     Operation timeout. The specified time-out period was reached ac-\n"
+, stdout);
+ fputs(
+"              cording 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  in-\n"
+"              stead!\n"
+"\n"
+"       31     FTP could not use REST. The REST command failed. This command is\n"
+"              used for resumed FTP transfers.\n"
+"\n"
+"       33     HTTP range error. The range \"command\" did not work.\n"
+"\n"
+"       34     HTTP post error. Internal post-request generation error.\n"
+"\n"
+, stdout);
+ fputs(
+"       35     SSL connect error. The SSL handshaking failed.\n"
+"\n"
+"       36     Bad download resume. Could not continue an earlier aborted down-\n"
+"              load.\n"
+"\n"
+"       37     FILE could not read file. Failed to open the file. Permissions?\n"
+"\n"
+"       38     LDAP cannot bind. LDAP bind operation failed.\n"
+"\n"
+"       39     LDAP search failed.\n"
+"\n"
+"       41     Function not found. A required LDAP function was not found.\n"
+"\n"
+"       42     Aborted by callback. An application told curl to abort the oper-\n"
+, stdout);
+ fputs(
+"              ation.\n"
+"\n"
+"       43     Internal error. A function was called with a bad parameter.\n"
+"\n"
+"       45     Interface error. A specified outgoing  interface  could  not  be\n"
+"              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"
+, stdout);
+ fputs(
+"              rejected. Read up in the manual!\n"
+"\n"
+"       49     Malformed telnet option.\n"
+"\n"
+"       52     The server did not reply anything, which here is  considered  an\n"
+"              error.\n"
+"\n"
+"       53     SSL crypto engine not found.\n"
+"\n"
+"       54     Cannot set SSL crypto engine as default.\n"
+"\n"
+"       55     Failed sending network data.\n"
+"\n"
+"       56     Failure in receiving network data.\n"
+"\n"
+"       58     Problem with the local certificate.\n"
+"       59     Could not use specified SSL cipher.\n"
+"\n"
+, stdout);
+ fputs(
+"       60     Peer  certificate cannot be authenticated with known CA certifi-\n"
+"              cates.\n"
+"\n"
+"       61     Unrecognized transfer encoding.\n"
+"\n"
+"       63     Maximum file size exceeded.\n"
+"\n"
+"       64     Requested FTP SSL level failed.\n"
+"\n"
+"       65     Sending the data requires a rewind that failed.\n"
+"\n"
+"       66     Failed to initialise SSL Engine.\n"
+"\n"
+"       67     The user name, password, or similar was not  accepted  and  curl\n"
+"              failed to log in.\n"
+"\n"
+, stdout);
+ fputs(
+"       68     File not found on TFTP server.\n"
+"\n"
+"       69     Permission problem on TFTP server.\n"
+"\n"
+"       70     Out of disk space on TFTP server.\n"
+"\n"
+"       71     Illegal TFTP operation.\n"
+"\n"
+"       72     Unknown TFTP transfer ID.\n"
+"\n"
+"       73     File already exists (TFTP).\n"
+"\n"
+"       74     No such user (TFTP).\n"
+"\n"
+"       77     Problem reading the SSL CA cert (path? access rights?).\n"
+"\n"
+"       78     The resource referenced in the URL does not exist.\n"
+"\n"
+, stdout);
+ fputs(
+"       79     An unspecified error occurred during the SSH session.\n"
+"\n"
+"       80     Failed to shut down the SSL connection.\n"
+"\n"
+"       82     Could not load CRL file, missing or wrong format.\n"
+"\n"
+"       83     Issuer check failed.\n"
+"\n"
+"       84     The FTP PRET command failed.\n"
+"\n"
+"       85     Mismatch of RTSP CSeq numbers.\n"
+"\n"
+"       86     Mismatch of RTSP Session Identifiers.\n"
+"\n"
+"       87     Unable to parse FTP file list.\n"
+"\n"
+"       88     FTP chunk callback reported error.\n"
+"\n"
+, stdout);
+ fputs(
+"       89     No connection available, the session will be queued.\n"
+"\n"
+"       90     SSL public key does not matched pinned public key.\n"
+"\n"
+"       91     Invalid SSL certificate status.\n"
+"\n"
+"       92     Stream error in HTTP/2 framing layer.\n"
+"\n"
+"       93     An API function was called from inside a callback.\n"
+"\n"
+"       94     An authentication function returned an error.\n"
+"\n"
+"       95     A  problem  was  detected  in the HTTP/3 layer. This is somewhat\n"
+, stdout);
+ fputs(
+"              generic and can be one out of several problems,  see  the  error\n"
+"              message for details.\n"
+"\n"
+"       96     QUIC  connection  error.  This error may be caused by an SSL li-\n"
+"              brary error. QUIC is the protocol used for HTTP/3 transfers.\n"
+"\n"
+"       XX     More error codes will appear here in future releases. The exist-\n"
+"              ing ones are meant to never change.\n"
+"\n"
+"BUGS\n"
+"       If  you  experience  any  problems  with  curl,  submit an issue in the\n"
+, stdout);
+ fputs(
+"       project's bug tracker on GitHub: https://github.com/curl/curl/issues\n"
+"\n"
+"AUTHORS / 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"
+"       https://curl.se\n"
+"\n"
+"SEE ALSO\n"
+"       ftp(1), wget(1)\n"
+"\n"
+, stdout) ;
+}
+#endif /* USE_MANUAL */
+#else
+/*
+ * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
+ */
+#ifdef USE_MANUAL
+#include "tool_hugehelp.h"
+#include <zlib.h>
+#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 253328
+     to 63131 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, 0xec, 0xfd,
+  0x7b, 0x7b, 0xdb, 0xc6, 0xb5, 0x37, 0x0c, 0xff, 0x9f, 0x4f, 0x81, 0xcd,
+  0xbe, 0xbd, 0x25, 0xb5, 0x04, 0x75, 0xf2, 0x21, 0x51, 0x95, 0x3c, 0x51,
+  0x64, 0x39, 0x76, 0x2b, 0x5b, 0xaa, 0x29, 0x37, 0xe9, 0x4e, 0x72, 0xf9,
+  0x02, 0x49, 0x50, 0x42, 0x4c, 0x12, 0x2c, 0x00, 0xea, 0x90, 0xee, 0x3e,
+  0x9f, 0xfd, 0x5d, 0xc7, 0x99, 0x01, 0x66, 0x40, 0x8a, 0xb2, 0x5d, 0x77,
+  0xbf, 0xef, 0xdd, 0xbd, 0x63, 0x49, 0x24, 0x30, 0xc7, 0x35, 0x6b, 0xd6,
+  0xf1, 0xb7, 0xa2, 0x68, 0xd5, 0xff, 0xde, 0xd1, 0x7f, 0xef, 0xe0, 0x7f,
+  0xf0, 0xf3, 0x8b, 0x28, 0x3a, 0x2f, 0xf2, 0x5f, 0xd3, 0x61, 0x15, 0x7e,
+  0xf6, 0xdd, 0xbb, 0xff, 0x89, 0xf8, 0xff, 0xe0, 0x9d, 0x9f, 0xe1, 0xe7,
+  0x17, 0x4b, 0xdb, 0xde, 0x8e, 0xec, 0x0b, 0xff, 0xf3, 0x6e, 0x2b, 0x5a,
+  0xf5, 0xc2, 0xff, 0x44, 0x9b, 0xf4, 0xc2, 0x3b, 0xe9, 0xe1, 0x10, 0x7f,
+  0x7f, 0xf7, 0x6e, 0x79, 0x27, 0x3f, 0xe3, 0xa8, 0xf0, 0x9f, 0x6d, 0x7c,
+  0xef, 0xe7, 0x77, 0xf8, 0x2b, 0x7c, 0xf2, 0xc5, 0x17, 0xaf, 0x8f, 0x5e,
+  0x9d, 0xe8, 0xab, 0xc3, 0x45, 0x31, 0x89, 0xe2, 0xa8, 0x2a, 0x92, 0x59,
+  0x39, 0x4e, 0x8b, 0x28, 0x89, 0xde, 0xbe, 0x39, 0xfd, 0xe2, 0x8b, 0xfe,
+  0xdf, 0x5f, 0x9f, 0x9d, 0xf7, 0x5f, 0xf6, 0x6b, 0x8f, 0xfd, 0x94, 0xcf,
+  0xab, 0x2c, 0x9f, 0x95, 0x30, 0x7c, 0x78, 0xa8, 0xfc, 0xe5, 0x8b, 0x2f,
+  0x9e, 0x9d, 0xf4, 0x8f, 0xdf, 0xbc, 0x3c, 0xbf, 0x78, 0x79, 0xf6, 0xba,
+  0xf6, 0x64, 0x94, 0x95, 0x11, 0x34, 0x55, 0xe5, 0xf9, 0x24, 0x1a, 0xe7,
+  0x85, 0x69, 0xbe, 0xc8, 0x66, 0x97, 0xd1, 0x28, 0xa9, 0x92, 0x68, 0x5c,
+  0xe4, 0xd3, 0x08, 0xbf, 0xc9, 0xe1, 0xb9, 0x32, 0x2d, 0xae, 0xd3, 0xa2,
+  0x17, 0xbd, 0xac, 0xa2, 0x72, 0x31, 0x9f, 0xe7, 0x45, 0x55, 0x6a, 0x73,
+  0xd5, 0x55, 0x5a, 0xa6, 0xd1, 0xbc, 0xc8, 0xab, 0x7c, 0x98, 0x4f, 0xca,
+  0x83, 0xe8, 0xd9, 0xcb, 0xe3, 0x8b, 0x6e, 0xf4, 0xfc, 0xe5, 0xe9, 0x09,
+  0xfc, 0x7b, 0x71, 0x4e, 0xff, 0xf4, 0xbb, 0xd1, 0xf7, 0x67, 0xe7, 0x2f,
+  0x4e, 0xde, 0xe8, 0x4f, 0xf8, 0x20, 0x7a, 0x71, 0x81, 0xdf, 0xd2, 0x8f,
+  0x7e, 0x57, 0x9b, 0x7b, 0xf9, 0xea, 0x08, 0x3f, 0xc4, 0x1f, 0xf8, 0xcc,
+  0xe9, 0x33, 0xfa, 0x13, 0x7f, 0xc0, 0x9f, 0xaf, 0xfe, 0x7a, 0x01, 0x4d,
+  0x9f, 0x9f, 0x9d, 0xef, 0xf3, 0xbf, 0xf0, 0xd1, 0x9b, 0x8b, 0x57, 0xe7,
+  0xfc, 0x2f, 0xfd, 0xd1, 0x87, 0x3f, 0xfa, 0xc7, 0xe7, 0xa6, 0xb9, 0x3e,
+  0x8d, 0xa0, 0xff, 0xea, 0x3b, 0xfa, 0xa7, 0x8f, 0xff, 0xf2, 0x07, 0x34,
+  0xa6, 0x8b, 0x93, 0xd3, 0xd7, 0x27, 0xd0, 0xe2, 0x05, 0x3d, 0xf5, 0x43,
+  0x3f, 0x4a, 0x66, 0x23, 0xf8, 0xd1, 0xef, 0x45, 0x17, 0x57, 0x69, 0x34,
+  0xcc, 0xa7, 0x53, 0xfc, 0x00, 0xd6, 0x4a, 0x9b, 0x1b, 0xa5, 0x65, 0x76,
+  0x39, 0x4b, 0x47, 0xb8, 0x2a, 0x37, 0x79, 0xf1, 0x3e, 0xba, 0xc9, 0xaa,
+  0xab, 0x7c, 0x51, 0x45, 0x0b, 0x58, 0xa1, 0x28, 0x9b, 0x55, 0x69, 0x91,
+  0x0c, 0x71, 0x0b, 0x7a, 0x5f, 0xd4, 0x96, 0x3b, 0x1f, 0xc3, 0xda, 0x96,
+  0xb0, 0x90, 0x83, 0x45, 0x39, 0xc9, 0x93, 0x11, 0x7c, 0x80, 0xaf, 0x8c,
+  0x17, 0x13, 0x58, 0xf9, 0x6c, 0xf8, 0xbe, 0x8c, 0x26, 0xd9, 0x7b, 0x5a,
+  0xc5, 0xdb, 0x3b, 0x5d, 0xe1, 0x2e, 0x37, 0x9a, 0x2c, 0x60, 0x85, 0x67,
+  0xb1, 0x59, 0xee, 0x6c, 0x98, 0x60, 0x07, 0xb4, 0xac, 0xd1, 0x62, 0x8e,
+  0xad, 0x75, 0x69, 0x0d, 0xa3, 0x79, 0x5e, 0xc2, 0x4b, 0xfd, 0xfe, 0x29,
+  0x8c, 0x7c, 0x36, 0x4b, 0x69, 0x1c, 0x65, 0x17, 0xfe, 0xc8, 0xdf, 0x67,
+  0x29, 0xfc, 0x32, 0xce, 0x26, 0x69, 0xc4, 0x3b, 0x6d, 0x9a, 0x43, 0x8a,
+  0x2a, 0xd2, 0x72, 0x31, 0x4d, 0x69, 0xee, 0xd3, 0xbc, 0x48, 0x7b, 0xd1,
+  0x51, 0x19, 0xdd, 0xe5, 0x0b, 0x98, 0xdb, 0x64, 0x02, 0x3b, 0x9f, 0x46,
+  0x83, 0x74, 0x92, 0xdf, 0x74, 0x71, 0xa7, 0xa3, 0xd9, 0x62, 0x3a, 0x80,
+  0x57, 0x60, 0xf8, 0xe3, 0x34, 0xa9, 0x16, 0xf0, 0x2a, 0x3d, 0xa6, 0xcd,
+  0x4d, 0x13, 0x98, 0x05, 0xbc, 0x5b, 0x44, 0x57, 0x29, 0xcc, 0xb2, 0x9c,
+  0x67, 0xcd, 0x95, 0x00, 0xba, 0x9b, 0xe7, 0x37, 0x69, 0x01, 0x6b, 0x38,
+  0xb8, 0x8b, 0x60, 0xda, 0x03, 0xa6, 0x47, 0x24, 0xc2, 0x28, 0x81, 0x0e,
+  0x0d, 0x29, 0xc6, 0x45, 0x3a, 0x49, 0x2a, 0x78, 0xce, 0x74, 0xd5, 0x83,
+  0xfd, 0x4c, 0x53, 0x6d, 0x4e, 0x5e, 0xdd, 0xdc, 0xdf, 0xa2, 0x97, 0x47,
+  0x69, 0x95, 0x64, 0x93, 0x12, 0xba, 0xc3, 0xf3, 0x21, 0xcf, 0xe0, 0x36,
+  0xe2, 0x51, 0x88, 0xa2, 0xf2, 0x6e, 0x56, 0x25, 0xb7, 0xd4, 0xbd, 0x90,
+  0x6a, 0x3c, 0x4a, 0xe7, 0xe9, 0x6c, 0x94, 0xce, 0xaa, 0x5e, 0xf4, 0x77,
+  0x98, 0xee, 0x38, 0x83, 0x05, 0x48, 0xa4, 0x1d, 0xe8, 0x16, 0xf6, 0x7a,
+  0x58, 0x64, 0x74, 0xa0, 0xb4, 0xb9, 0x6c, 0x16, 0xbd, 0x79, 0x7e, 0x1c,
+  0xed, 0x7f, 0xf5, 0xe5, 0x13, 0x3b, 0x2d, 0x7c, 0x77, 0x98, 0xcc, 0x60,
+  0xb2, 0xe9, 0x30, 0x1b, 0xdf, 0x45, 0xd3, 0xc5, 0xa4, 0xca, 0xe6, 0xb0,
+  0xd4, 0x78, 0x04, 0xf1, 0x04, 0xcd, 0x13, 0x38, 0x2e, 0xb8, 0x64, 0xf4,
+  0x01, 0x4d, 0xfb, 0xa6, 0xc8, 0x2a, 0x3c, 0x69, 0xf4, 0x1d, 0x0c, 0x2e,
+  0xb5, 0xe7, 0x09, 0x29, 0x0a, 0xfa, 0x19, 0x00, 0x21, 0xc1, 0xe2, 0xe2,
+  0xa6, 0xfc, 0x63, 0x91, 0xd3, 0xc3, 0xb8, 0xfe, 0x38, 0x97, 0xa4, 0x84,
+  0x81, 0x1c, 0x7c, 0x61, 0x79, 0x4b, 0xe7, 0xaa, 0xaa, 0xe6, 0x07, 0xdb,
+  0xdb, 0x65, 0x56, 0xa5, 0xbd, 0x7f, 0xe6, 0xb3, 0xb4, 0x5b, 0xdd, 0xe4,
+  0xdd, 0xea, 0xaa, 0x48, 0xd3, 0x7f, 0xf5, 0x80, 0x8a, 0x3b, 0xe6, 0x59,
+  0x18, 0xcd, 0x9d, 0x0c, 0xf7, 0x32, 0x85, 0xb3, 0x9c, 0xfe, 0x63, 0x91,
+  0xce, 0xb0, 0x1f, 0x18, 0x5d, 0x32, 0x99, 0x5f, 0x25, 0xb0, 0xbf, 0x29,
+  0x10, 0x24, 0x1e, 0x78, 0xa0, 0x19, 0x1c, 0xeb, 0xa2, 0xc4, 0xbe, 0x7f,
+  0xfa, 0x25, 0xd0, 0xed, 0x98, 0x7a, 0x85, 0x7f, 0x7b, 0xe9, 0x6d, 0x32,
+  0x85, 0x29, 0x63, 0x67, 0xdb, 0x48, 0x66, 0x3f, 0xed, 0xc6, 0xbb, 0x3b,
+  0x3b, 0xbf, 0xf4, 0xaa, 0xdb, 0xaa, 0x73, 0xcf, 0x37, 0x76, 0x76, 0x9c,
+  0x77, 0xf0, 0xe1, 0x4d, 0x5c, 0x89, 0x68, 0x02, 0x74, 0x84, 0x03, 0xf8,
+  0x2d, 0x2d, 0xf2, 0x72, 0xeb, 0x9e, 0x6d, 0x25, 0xf1, 0x6f, 0x8d, 0xbe,
+  0x5f, 0xa7, 0x25, 0x91, 0x92, 0x9d, 0x71, 0x94, 0x14, 0x40, 0xce, 0xb9,
+  0x61, 0x68, 0x29, 0x1c, 0xa3, 0x01, 0x9c, 0x64, 0x5d, 0x1f, 0x38, 0x7c,
+  0xf0, 0x34, 0x70, 0xbd, 0x04, 0x8e, 0xef, 0x0c, 0x5e, 0x98, 0xa5, 0xb7,
+  0x95, 0x39, 0x85, 0x79, 0x94, 0x26, 0xc3, 0xab, 0x28, 0x87, 0x3d, 0x29,
+  0x42, 0x5b, 0xe1, 0x0e, 0x29, 0x29, 0x86, 0x57, 0xd9, 0x35, 0xac, 0xc9,
+  0x57, 0x5f, 0x3d, 0x89, 0xe1, 0x9f, 0xaf, 0x7e, 0xd9, 0xbe, 0xce, 0x27,
+  0xb0, 0x44, 0x8f, 0x7e, 0xd9, 0xc6, 0xfd, 0xff, 0x67, 0xd2, 0x1d, 0x74,
+  0x87, 0xff, 0xea, 0x5d, 0x55, 0xd3, 0x49, 0xa7, 0x95, 0xac, 0x92, 0x19,
+  0xfc, 0x37, 0xcd, 0x17, 0xb3, 0xca, 0x90, 0x52, 0x3e, 0x23, 0x9a, 0x50,
+  0x3e, 0x35, 0xc9, 0x66, 0x70, 0x78, 0x91, 0xe6, 0x91, 0xc2, 0xf0, 0xf0,
+  0xc2, 0xc9, 0xb5, 0x07, 0xbd, 0x1a, 0x5e, 0xe1, 0x0a, 0x00, 0x6d, 0x25,
+  0xb2, 0x0c, 0x55, 0x06, 0x73, 0x83, 0x57, 0x67, 0xc4, 0xbb, 0xa8, 0x2d,
+  0xee, 0x2d, 0x83, 0x07, 0xf3, 0x62, 0x84, 0x1c, 0xbf, 0x31, 0x0c, 0x73,
+  0x96, 0x9d, 0x3e, 0x23, 0xbd, 0x75, 0xf0, 0x03, 0x1a, 0xd8, 0x34, 0xbb,
+  0x85, 0x16, 0xf0, 0x4f, 0xec, 0x0d, 0x06, 0xce, 0xad, 0x45, 0x38, 0x62,
+  0xea, 0x46, 0xdf, 0xb7, 0x67, 0x19, 0x86, 0x5e, 0x9b, 0x3a, 0x75, 0x6a,
+  0x27, 0x1f, 0xc1, 0xf6, 0xcd, 0xe1, 0xad, 0x05, 0xb2, 0x58, 0xbe, 0xb1,
+  0xa0, 0x19, 0xe0, 0x14, 0x97, 0xb0, 0x33, 0xb0, 0x1b, 0x48, 0xcd, 0xb8,
+  0x59, 0x77, 0xd1, 0x6b, 0x20, 0x1a, 0xe6, 0x52, 0x0e, 0xd1, 0x4f, 0xd2,
+  0xaa, 0x5a, 0xbd, 0x51, 0x96, 0x72, 0x0f, 0x76, 0x03, 0xc4, 0xdb, 0xf6,
+  0x06, 0x50, 0xdb, 0xc1, 0x5e, 0xe3, 0xf1, 0x1f, 0x80, 0x67, 0xdb, 0xa3,
+  0x03, 0x23, 0xf8, 0xe7, 0xbf, 0x1c, 0xda, 0xbb, 0xc1, 0x6f, 0xb3, 0xd9,
+  0x75, 0xfe, 0x1e, 0x96, 0x89, 0x2e, 0xda, 0xa4, 0xbe, 0xa2, 0xc8, 0xa4,
+  0xa6, 0xf3, 0xca, 0x5c, 0x63, 0x48, 0x94, 0xf0, 0xd1, 0x20, 0x19, 0x4c,
+  0xee, 0xa2, 0xab, 0xe4, 0x3a, 0xc5, 0x39, 0xcf, 0x81, 0x5a, 0x71, 0x15,
+  0xe0, 0x16, 0x99, 0x10, 0x63, 0x10, 0xd6, 0x31, 0xca, 0x17, 0x03, 0x60,
+  0x3f, 0xc8, 0x36, 0x78, 0x71, 0x92, 0xeb, 0x3c, 0x1b, 0xe1, 0xa3, 0xda,
+  0x5c, 0x79, 0x95, 0xc2, 0x2b, 0xd4, 0x31, 0xdd, 0x59, 0xc0, 0x6d, 0x71,
+  0xa4, 0x74, 0xe0, 0xb2, 0x0a, 0x6f, 0x3f, 0xe0, 0x93, 0xc9, 0xa4, 0xcc,
+  0xa3, 0xe8, 0x32, 0xc7, 0xb3, 0x42, 0xdc, 0x99, 0x88, 0x1d, 0x36, 0xe6,
+  0x2a, 0xc1, 0x4b, 0x0e, 0xee, 0x33, 0x73, 0x1a, 0x8a, 0x94, 0x18, 0x35,
+  0xed, 0x56, 0x32, 0xe9, 0xf2, 0x65, 0x86, 0xef, 0xc8, 0x5a, 0x45, 0x1b,
+  0xff, 0x67, 0xa3, 0x1b, 0x6d, 0xfc, 0x3f, 0x1b, 0x44, 0x13, 0x1b, 0x7f,
+  0xd8, 0xb0, 0x7b, 0x0d, 0x42, 0xdb, 0x75, 0x36, 0x4a, 0x99, 0x2c, 0x5e,
+  0x9e, 0x5f, 0x3f, 0x89, 0x7e, 0x83, 0xd3, 0x06, 0xc3, 0x1a, 0xa5, 0xb7,
+  0x4a, 0x94, 0x3a, 0x37, 0x78, 0x3b, 0x02, 0xa6, 0x9c, 0xcc, 0xa1, 0xaf,
+  0x79, 0x5a, 0x0c, 0x81, 0x82, 0x93, 0x4b, 0xa0, 0x59, 0xb8, 0x92, 0xb5,
+  0x39, 0x6c, 0x1f, 0x5f, 0xe1, 0x69, 0x01, 0x0b, 0x8d, 0x66, 0xc9, 0x14,
+  0x4e, 0xc5, 0x29, 0x8e, 0x28, 0x9b, 0x05, 0xb6, 0xf3, 0xa7, 0x71, 0xfa,
+  0xe5, 0xce, 0xc1, 0xc1, 0xfe, 0xef, 0xf7, 0x1e, 0xa7, 0xd5, 0xd5, 0xce,
+  0x2f, 0xdb, 0x76, 0x13, 0x5f, 0x8e, 0x69, 0xe1, 0x95, 0x08, 0x75, 0x18,
+  0x78, 0xdf, 0xeb, 0x25, 0x02, 0x0d, 0xc0, 0xef, 0xe9, 0x38, 0xbb, 0xed,
+  0xaa, 0x64, 0xc5, 0x27, 0x2f, 0x01, 0x82, 0x83, 0x1d, 0x44, 0x56, 0xa1,
+  0xcd, 0x5d, 0x2e, 0xd2, 0x12, 0xd6, 0xf2, 0xe6, 0x2a, 0xa9, 0x22, 0xd3,
+  0x00, 0xef, 0xed, 0x34, 0xbb, 0xbc, 0xaa, 0xa2, 0x9b, 0x04, 0xef, 0x22,
+  0x90, 0xb1, 0xa8, 0x09, 0xbc, 0xf6, 0xe1, 0x12, 0x1a, 0x27, 0x70, 0x9f,
+  0xe0, 0x2e, 0xd2, 0x1d, 0x0f, 0x1c, 0xca, 0xae, 0xfa, 0x9d, 0x6c, 0x89,
+  0x11, 0xbe, 0xa2, 0x41, 0x52, 0xe2, 0xd1, 0x9d, 0x01, 0x8b, 0xa8, 0x40,
+  0x68, 0x58, 0xe0, 0x5f, 0x57, 0x20, 0x16, 0xd0, 0x2a, 0xc8, 0x40, 0xe9,
+  0x1e, 0x7d, 0x8e, 0x1b, 0x8a, 0xbb, 0x63, 0x24, 0x01, 0xd8, 0xa6, 0xae,
+  0x6c, 0xb4, 0x79, 0xa3, 0x84, 0x63, 0x07, 0x0c, 0xca, 0xd0, 0x06, 0xf2,
+  0xdc, 0x5e, 0x87, 0xe7, 0x49, 0x63, 0x4c, 0x4a, 0x12, 0x1d, 0x48, 0x5a,
+  0x80, 0xc1, 0x3b, 0x93, 0x85, 0x45, 0x4b, 0xde, 0xa3, 0x8c, 0xd2, 0xb8,
+  0xff, 0xe9, 0xb5, 0x51, 0x0e, 0x64, 0x06, 0xa3, 0x05, 0xa6, 0x8c, 0x33,
+  0x43, 0x56, 0x4b, 0xab, 0x42, 0x64, 0x0e, 0x6d, 0xe2, 0x87, 0x59, 0x85,
+  0x37, 0x0e, 0x49, 0xbb, 0x30, 0x5e, 0x58, 0x14, 0x12, 0x59, 0x81, 0x61,
+  0x3b, 0xf3, 0xa7, 0x2b, 0x14, 0x9e, 0x8d, 0xae, 0x93, 0x49, 0x06, 0x52,
+  0x6b, 0x6a, 0xde, 0xa2, 0xeb, 0x7e, 0x88, 0xc2, 0xd2, 0x04, 0x4e, 0xcc,
+  0x30, 0x2f, 0x0a, 0xd4, 0x0c, 0x70, 0x07, 0x07, 0xcc, 0x4a, 0xa7, 0x29,
+  0x48, 0x19, 0xee, 0x72, 0x42, 0xeb, 0xe3, 0x24, 0x2b, 0xe0, 0x69, 0x10,
+  0x2c, 0x88, 0xeb, 0xd3, 0x94, 0x69, 0x5c, 0xd8, 0xea, 0x70, 0x98, 0xce,
+  0xab, 0x32, 0x34, 0x1b, 0xdd, 0x6a, 0x18, 0x48, 0x91, 0xe2, 0x9a, 0xbb,
+  0xf2, 0x17, 0xad, 0xa8, 0x11, 0x09, 0x48, 0x04, 0x53, 0x01, 0x07, 0x44,
+  0xb2, 0x32, 0xb7, 0x62, 0x34, 0x52, 0x05, 0xb0, 0x31, 0x5a, 0xed, 0x29,
+  0x0e, 0x11, 0x1f, 0x2e, 0xf9, 0x94, 0x12, 0x6b, 0xc6, 0x2d, 0x64, 0x41,
+  0x9c, 0xfb, 0xc5, 0xcb, 0x0b, 0x56, 0xd2, 0x34, 0x0e, 0xbd, 0x9a, 0xdd,
+  0xc4, 0xee, 0x51, 0x0d, 0x80, 0x1b, 0x7d, 0x54, 0x5e, 0x81, 0x54, 0x56,
+  0xca, 0xa9, 0xce, 0xa6, 0x40, 0x2d, 0xd7, 0xb8, 0xb3, 0xf3, 0x34, 0x1d,
+  0xf5, 0xa2, 0xb3, 0x31, 0x72, 0xd5, 0x02, 0x06, 0x5d, 0xd1, 0xd7, 0x78,
+  0xab, 0xc0, 0x1a, 0x8c, 0xf0, 0x10, 0x5a, 0xc1, 0x87, 0x87, 0xe2, 0xdc,
+  0x0e, 0xc4, 0xc9, 0x13, 0xf8, 0x04, 0x46, 0x3b, 0xa9, 0x5f, 0x41, 0x74,
+  0x06, 0x81, 0x7b, 0xe3, 0xf0, 0x06, 0x69, 0x44, 0x34, 0x38, 0x48, 0xab,
+  0x9b, 0x34, 0x35, 0xcd, 0x95, 0x29, 0xdc, 0x7b, 0xb8, 0x5d, 0x2c, 0x12,
+  0x02, 0x23, 0x64, 0xa1, 0x16, 0x97, 0xf7, 0xec, 0xed, 0xc5, 0xf9, 0xdb,
+  0x0b, 0xe7, 0x08, 0x62, 0x3b, 0x55, 0x3e, 0x19, 0x31, 0xb1, 0xdf, 0x64,
+  0x25, 0xd0, 0x29, 0x2f, 0x3e, 0x08, 0x51, 0xc8, 0xe0, 0xf0, 0x22, 0x48,
+  0x87, 0x29, 0x5c, 0xb1, 0x23, 0x56, 0x5d, 0x60, 0x23, 0xca, 0x0a, 0xb8,
+  0x20, 0x1f, 0x26, 0x1c, 0x8b, 0x36, 0x07, 0xe3, 0x81, 0xee, 0xca, 0xaa,
+  0x58, 0x0c, 0x49, 0x1c, 0x40, 0xda, 0xc1, 0xbf, 0x49, 0x58, 0x25, 0xb6,
+  0x8a, 0xdb, 0x40, 0x8d, 0x00, 0x07, 0x41, 0xcd, 0x67, 0x02, 0x43, 0x9b,
+  0xd0, 0xfc, 0xbb, 0xc2, 0xcf, 0x1d, 0x3e, 0x1a, 0xc7, 0xd0, 0x09, 0xb2,
+  0x61, 0xd8, 0xe3, 0x18, 0xe4, 0xd5, 0x29, 0x70, 0xdc, 0x98, 0x8e, 0x9a,
+  0x5c, 0x89, 0x3d, 0x9c, 0x80, 0xca, 0xbd, 0x97, 0x30, 0x42, 0x58, 0x35,
+  0xb3, 0x5f, 0x22, 0x0f, 0xda, 0x33, 0x63, 0x74, 0x3c, 0x73, 0x4f, 0xba,
+  0xeb, 0xda, 0x45, 0x32, 0x2c, 0xb3, 0x69, 0x36, 0x49, 0x90, 0x4a, 0x67,
+  0xb0, 0x7d, 0xa5, 0x6d, 0x4c, 0xef, 0x60, 0x20, 0x37, 0x23, 0x49, 0xc2,
+  0x72, 0xd1, 0x45, 0x21, 0x33, 0x4b, 0xa7, 0x0d, 0xea, 0x1d, 0x21, 0x6f,
+  0xc7, 0xe5, 0x85, 0xdd, 0x00, 0x02, 0x80, 0x49, 0x98, 0x25, 0x8e, 0x3a,
+  0x0b, 0xe0, 0xc0, 0x05, 0x1c, 0xff, 0xd9, 0xa8, 0x23, 0x43, 0x01, 0x96,
+  0x3a, 0xc3, 0x63, 0xc8, 0x74, 0x5a, 0xe2, 0xc5, 0x6a, 0xba, 0xe2, 0xad,
+  0xc0, 0xb3, 0x17, 0xf1, 0x92, 0xf0, 0x99, 0x95, 0x1e, 0x22, 0xb8, 0xf6,
+  0x72, 0x12, 0xe3, 0x48, 0x50, 0xe7, 0xdf, 0x61, 0x3d, 0x67, 0x13, 0xe4,
+  0x88, 0xe9, 0xed, 0x7c, 0x92, 0x0d, 0xb3, 0x6a, 0x62, 0xa4, 0x8b, 0xa4,
+  0x7c, 0x2f, 0x3a, 0x16, 0x1e, 0xc1, 0x51, 0x3a, 0x42, 0xa5, 0x07, 0x3e,
+  0x09, 0x49, 0x1d, 0x30, 0xa7, 0xf3, 0x37, 0x67, 0x17, 0x67, 0xc7, 0x67,
+  0xa7, 0x75, 0x65, 0x58, 0x15, 0xd5, 0x88, 0x64, 0xda, 0x7c, 0x61, 0x25,
+  0x7f, 0x38, 0x78, 0x28, 0x96, 0xc3, 0xbe, 0xc1, 0x05, 0x43, 0xda, 0x01,
+  0x5c, 0x16, 0x53, 0x50, 0x5d, 0xa3, 0x12, 0x64, 0xa4, 0x29, 0x31, 0x48,
+  0x90, 0x41, 0xcc, 0xec, 0x50, 0x48, 0xcb, 0x86, 0x0b, 0x58, 0x77, 0x60,
+  0x18, 0x19, 0x50, 0xe2, 0x34, 0xb9, 0x73, 0x45, 0x47, 0x5a, 0x5b, 0x54,
+  0x5e, 0xec, 0xfa, 0xa2, 0x12, 0x0c, 0x3f, 0x4e, 0x71, 0x9d, 0x90, 0xab,
+  0x4d, 0x40, 0x09, 0x5b, 0xcc, 0x51, 0x67, 0x84, 0x4d, 0x63, 0x3a, 0x82,
+  0x73, 0x86, 0xd3, 0x80, 0xb9, 0xe1, 0x3c, 0x12, 0x94, 0xb7, 0xed, 0xfb,
+  0xa8, 0x3e, 0xc3, 0x8f, 0x37, 0x48, 0x98, 0x38, 0x58, 0x5e, 0xe1, 0x48,
+  0xc8, 0x91, 0xcf, 0x63, 0x4f, 0x6f, 0x1c, 0xb3, 0x8f, 0x3a, 0x1e, 0x64,
+  0x56, 0x25, 0x76, 0xd2, 0xb0, 0x3f, 0xe0, 0x6b, 0x78, 0x63, 0xe1, 0x9c,
+  0x99, 0x5a, 0x27, 0x77, 0x2c, 0xf5, 0x92, 0x44, 0x52, 0x2c, 0x66, 0x33,
+  0x1e, 0x59, 0xf4, 0x2a, 0x1b, 0x82, 0xbc, 0x0d, 0xb7, 0x48, 0xf4, 0x03,
+  0x5c, 0xc5, 0xf9, 0x0d, 0xec, 0xeb, 0xc2, 0x6a, 0x8d, 0x46, 0x1d, 0x62,
+  0xa5, 0x64, 0x06, 0x87, 0x17, 0x28, 0xec, 0xed, 0xeb, 0xe3, 0x28, 0x99,
+  0xc3, 0x22, 0xa3, 0x64, 0x4c, 0x1c, 0x0a, 0x55, 0x64, 0x67, 0x4e, 0x17,
+  0xe7, 0x9b, 0xfd, 0x2d, 0x19, 0xb3, 0xd9, 0x1d, 0x96, 0x07, 0x9f, 0x23,
+  0x63, 0xbc, 0x50, 0xfa, 0x3f, 0xd7, 0xcb, 0x91, 0x6f, 0x7d, 0x98, 0x35,
+  0x09, 0xbd, 0xc0, 0x43, 0x92, 0xf7, 0x65, 0x63, 0x10, 0x44, 0x0f, 0x28,
+  0xfa, 0xc1, 0x7a, 0xfc, 0x80, 0x8f, 0xe7, 0x85, 0xa3, 0x95, 0xe3, 0x10,
+  0x2f, 0x4e, 0xfb, 0x76, 0x10, 0x6c, 0x7e, 0x80, 0x71, 0x34, 0x9a, 0x79,
+  0x93, 0x82, 0x22, 0x0e, 0xcd, 0xc8, 0xd2, 0x9a, 0xe7, 0xf1, 0xd6, 0xf5,
+  0x9f, 0xae, 0x13, 0x18, 0xdd, 0xcc, 0x34, 0x54, 0x43, 0x6a, 0xae, 0x48,
+  0x7c, 0x0d, 0x7b, 0x9b, 0x28, 0x3b, 0xa8, 0xf3, 0xa3, 0xda, 0x65, 0x49,
+  0xcd, 0xe0, 0x44, 0xe0, 0xd1, 0x68, 0xa7, 0xf7, 0x55, 0x37, 0xda, 0xed,
+  0xed, 0xe0, 0x3f, 0xbb, 0xdd, 0x68, 0x8f, 0x5a, 0xda, 0x8f, 0x58, 0x67,
+  0x95, 0x4d, 0x62, 0x62, 0xcc, 0xe7, 0xcd, 0x7d, 0xb1, 0x5d, 0xf3, 0xc1,
+  0xe5, 0xcb, 0xaf, 0xe5, 0xf0, 0x38, 0x76, 0x17, 0x7f, 0x9e, 0x6f, 0x95,
+  0xe3, 0x01, 0xc9, 0x67, 0x13, 0xa0, 0x19, 0x56, 0xc6, 0xf4, 0x20, 0x09,
+  0x23, 0x46, 0x51, 0xbd, 0x03, 0x44, 0x32, 0x43, 0x63, 0x44, 0x27, 0x4a,
+  0xf1, 0x59, 0x16, 0x1a, 0x1b, 0xcd, 0xc1, 0x49, 0xb8, 0xd7, 0x26, 0xa1,
+  0xb9, 0xa7, 0x65, 0xd1, 0xb1, 0x2f, 0xb8, 0xf4, 0x46, 0x19, 0xce, 0x29,
+  0x07, 0x11, 0x88, 0x4f, 0x16, 0xdf, 0xb3, 0xd0, 0x7e, 0x97, 0x37, 0xc2,
+  0x69, 0xbf, 0xd6, 0x32, 0x5a, 0x90, 0xbc, 0xfd, 0xa3, 0x0f, 0x75, 0xe1,
+  0xf7, 0x7b, 0xd1, 0x33, 0x99, 0x0a, 0x2d, 0x33, 0x5e, 0xb7, 0xf4, 0x00,
+  0x48, 0xef, 0x20, 0x12, 0x47, 0x9d, 0x72, 0x31, 0x68, 0x2e, 0x38, 0x1a,
+  0x0a, 0x06, 0x69, 0x87, 0x6d, 0x65, 0x55, 0x3e, 0x07, 0x05, 0xfa, 0xe6,
+  0x0a, 0x29, 0x9a, 0xed, 0x33, 0xd0, 0xce, 0x36, 0x1a, 0x67, 0xb0, 0x3d,
+  0x6d, 0x65, 0x0e, 0x32, 0x7a, 0x56, 0x5e, 0x75, 0x70, 0x1f, 0x93, 0xe6,
+  0xfe, 0x61, 0x0b, 0x3d, 0xee, 0x95, 0xfa, 0x87, 0x29, 0xe0, 0x05, 0x52,
+  0xd3, 0x56, 0xa3, 0xcd, 0xbb, 0xb4, 0xda, 0x72, 0x04, 0xe9, 0xb3, 0xf3,
+  0x7d, 0x7f, 0xcd, 0xdc, 0xa9, 0xb0, 0x28, 0x81, 0xb7, 0xf6, 0x3c, 0x9f,
+  0xef, 0x47, 0x2a, 0x4b, 0xb0, 0x24, 0xa4, 0x92, 0x47, 0x42, 0x3b, 0x6d,
+  0x76, 0xa9, 0xd1, 0xdc, 0x92, 0x3d, 0x43, 0x13, 0x9c, 0xdf, 0x3f, 0x1a,
+  0x60, 0x80, 0x89, 0xc1, 0x25, 0x05, 0x97, 0xe2, 0x2b, 0x60, 0x4a, 0xc9,
+  0x25, 0xbe, 0x69, 0x0e, 0x38, 0x09, 0x75, 0xf3, 0x22, 0x9b, 0xc2, 0x19,
+  0x81, 0x4b, 0x8d, 0xa5, 0x05, 0xba, 0x96, 0x79, 0x74, 0xcd, 0x85, 0x46,
+  0x55, 0x63, 0x4a, 0x12, 0x12, 0x5c, 0x0a, 0x09, 0x8b, 0x1a, 0x96, 0x2c,
+  0x78, 0xae, 0xa8, 0xc2, 0x38, 0xc3, 0xea, 0x9f, 0x7b, 0x1b, 0x4e, 0x1f,
+  0xc2, 0xe1, 0x32, 0xaf, 0x38, 0x07, 0xa1, 0x7f, 0x7c, 0xee, 0x9f, 0xf0,
+  0x7e, 0xff, 0x85, 0x21, 0x90, 0x3d, 0xd8, 0xee, 0xb9, 0x15, 0xe2, 0x9c,
+  0x37, 0xd1, 0x22, 0xe7, 0xbd, 0x89, 0x1f, 0x6e, 0x8e, 0x8a, 0x04, 0x58,
+  0xe9, 0xe3, 0x2d, 0x91, 0xab, 0x70, 0xd9, 0x6b, 0x4d, 0x3a, 0x8d, 0xbc,
+  0xfa, 0xce, 0x30, 0x49, 0xdb, 0xc8, 0xab, 0xef, 0xcc, 0xb3, 0xbb, 0x44,
+  0xe9, 0x4c, 0x58, 0x34, 0x7f, 0x9d, 0x83, 0xdb, 0x46, 0x88, 0x67, 0xbd,
+  0x9d, 0x1b, 0x42, 0x90, 0xbb, 0xbc, 0xe4, 0x95, 0x46, 0x45, 0x1b, 0x5f,
+  0xa9, 0x13, 0x44, 0x29, 0x7c, 0x06, 0x75, 0x2e, 0x22, 0x89, 0x46, 0x73,
+  0x3f, 0x2c, 0x3b, 0x66, 0x6c, 0x58, 0x8d, 0x2e, 0x40, 0xcd, 0xc4, 0x36,
+  0x68, 0x36, 0xd0, 0x15, 0x19, 0x21, 0xf0, 0x88, 0xa4, 0x93, 0x59, 0xca,
+  0xe2, 0x38, 0x29, 0x18, 0xc8, 0xac, 0xac, 0xf5, 0xf4, 0x1a, 0xc5, 0xdc,
+  0xb2, 0x74, 0xec, 0x6e, 0x35, 0x81, 0x86, 0x04, 0x10, 0x1c, 0x9d, 0xd1,
+  0xa5, 0xf0, 0x03, 0x64, 0x4d, 0x25, 0x09, 0x4e, 0x20, 0xfa, 0x91, 0xd5,
+  0x61, 0x24, 0x92, 0x48, 0xc9, 0x4f, 0x39, 0x62, 0x9b, 0x91, 0x42, 0x69,
+  0xba, 0xdc, 0x94, 0x4b, 0x33, 0x17, 0xce, 0x46, 0x0a, 0xbf, 0xa1, 0x8f,
+  0x0c, 0xb5, 0x50, 0xeb, 0xbc, 0x05, 0x22, 0x7f, 0x7c, 0xff, 0xe6, 0xa4,
+  0xdf, 0x8f, 0x5e, 0x9d, 0x5c, 0x9c, 0xbc, 0xa9, 0x09, 0x21, 0xb3, 0xbc,
+  0x98, 0x92, 0x0a, 0x32, 0xca, 0xca, 0xf9, 0x24, 0xb9, 0x43, 0xdd, 0x04,
+  0xb8, 0xe7, 0x65, 0x81, 0x82, 0xcf, 0x34, 0x45, 0x63, 0xc6, 0x68, 0x41,
+  0xca, 0x37, 0xb0, 0x64, 0x98, 0xbe, 0xd8, 0x6c, 0x51, 0xff, 0x25, 0x43,
+  0xaf, 0xbd, 0xc2, 0xe9, 0x9a, 0x14, 0x03, 0x10, 0x5e, 0x86, 0xd6, 0x64,
+  0x8f, 0x27, 0x06, 0x45, 0xd6, 0xae, 0x23, 0x41, 0x92, 0x74, 0xcf, 0xe3,
+  0x04, 0x25, 0x0b, 0x8e, 0x17, 0x72, 0x0c, 0x3c, 0x84, 0xc6, 0xe2, 0x92,
+  0x8e, 0xab, 0x6e, 0x04, 0xfb, 0xc1, 0xb6, 0xee, 0xe6, 0x98, 0x74, 0xb4,
+  0xd6, 0xde, 0x3b, 0xb8, 0xab, 0xc4, 0x1e, 0xc9, 0x43, 0xe1, 0x1e, 0x8c,
+  0xc4, 0x46, 0x1b, 0x33, 0x8b, 0xe4, 0xb1, 0x39, 0xad, 0x2b, 0x90, 0xd9,
+  0x88, 0x9b, 0x2f, 0x17, 0x63, 0xd2, 0x3c, 0xa3, 0xcd, 0xf7, 0xdd, 0xe8,
+  0x55, 0x37, 0xfa, 0xbe, 0x1b, 0xa1, 0x21, 0x7f, 0x8b, 0xde, 0xdb, 0xdd,
+  0xd9, 0x7b, 0xc4, 0x9a, 0xab, 0xa1, 0xb1, 0xe7, 0x8e, 0xed, 0x60, 0xf7,
+  0x3d, 0x32, 0x09, 0x7e, 0x08, 0x1b, 0xef, 0x45, 0xbb, 0xaf, 0xf8, 0x93,
+  0x47, 0x5f, 0x3e, 0x7e, 0xfa, 0x44, 0x3e, 0x6c, 0x48, 0xb6, 0x3a, 0x7e,
+  0x52, 0x6a, 0x54, 0x29, 0xc0, 0x71, 0xa3, 0xa4, 0x97, 0xcd, 0x40, 0x86,
+  0x02, 0x3d, 0x50, 0x94, 0x6b, 0x54, 0xc3, 0x60, 0xf0, 0x63, 0x56, 0xc5,
+  0xc5, 0x2e, 0x53, 0xf7, 0x96, 0xc0, 0xcb, 0x40, 0x04, 0x40, 0x0a, 0x66,
+  0x93, 0xd8, 0xba, 0x55, 0xe1, 0x40, 0x92, 0x01, 0xd2, 0x3f, 0x4a, 0xab,
+  0x24, 0xa3, 0x85, 0x7a, 0x33, 0x86, 0x1c, 0x78, 0x03, 0xc6, 0x96, 0x0c,
+  0x26, 0xa2, 0xb8, 0x34, 0xd6, 0x1d, 0xe4, 0x67, 0x2b, 0x82, 0xc3, 0xb3,
+  0x37, 0xf9, 0x02, 0xc5, 0x4d, 0x7c, 0x00, 0xa4, 0x47, 0x7c, 0x81, 0x69,
+  0xda, 0xd8, 0xdb, 0xb3, 0x5b, 0xb9, 0x8f, 0x6b, 0xad, 0xc0, 0xd0, 0xe0,
+  0xcf, 0x39, 0x90, 0x12, 0x0f, 0xa7, 0xd7, 0x34, 0x69, 0x90, 0xb2, 0xee,
+  0x51, 0x22, 0x32, 0x16, 0x12, 0x42, 0xce, 0xcf, 0xfa, 0x17, 0x78, 0xb6,
+  0x41, 0x11, 0x83, 0x86, 0xfe, 0xb1, 0x00, 0x12, 0x02, 0xa2, 0xc4, 0x17,
+  0x51, 0xeb, 0x70, 0x34, 0x16, 0xa0, 0x3d, 0xba, 0x88, 0x45, 0x09, 0x93,
+  0x2e, 0x45, 0x29, 0x22, 0xde, 0x12, 0x89, 0xee, 0x24, 0x57, 0x86, 0x98,
+  0x9e, 0xec, 0x8b, 0xd1, 0xe6, 0x37, 0x5b, 0xdd, 0x90, 0x3e, 0x25, 0x9a,
+  0x8e, 0x73, 0x2a, 0x71, 0x2b, 0x59, 0xd6, 0xa5, 0x9b, 0x10, 0x44, 0x4d,
+  0x38, 0x57, 0xd0, 0x89, 0x75, 0x84, 0xe0, 0xfa, 0x91, 0x06, 0x67, 0xb7,
+  0xc9, 0xca, 0xc6, 0x73, 0x58, 0xcf, 0xdc, 0x2e, 0x1d, 0x6a, 0xd8, 0xb5,
+  0x45, 0x6a, 0xee, 0x59, 0x6d, 0xd1, 0x98, 0x34, 0xd0, 0x80, 0x82, 0xea,
+  0x59, 0x12, 0xd9, 0xa5, 0x8b, 0x3a, 0x83, 0xa4, 0xe8, 0x58, 0x35, 0x92,
+  0xcf, 0x26, 0x9e, 0x90, 0x22, 0xbd, 0x24, 0x9d, 0x21, 0xe2, 0xe5, 0x75,
+  0x66, 0xa9, 0x2f, 0xc7, 0x03, 0xfc, 0x3a, 0x2b, 0xd9, 0x65, 0x32, 0x06,
+  0x01, 0x14, 0x0f, 0x8c, 0x9a, 0x5c, 0xc9, 0x00, 0x27, 0xd4, 0x12, 0x20,
+  0x16, 0xc7, 0x14, 0x0b, 0xc7, 0x04, 0x45, 0x79, 0x16, 0x7d, 0xf0, 0xc9,
+  0x38, 0x2e, 0x61, 0xd5, 0xd1, 0x54, 0x3c, 0x17, 0x6f, 0xd4, 0x19, 0xf9,
+  0x00, 0x8d, 0x86, 0x74, 0x26, 0xf2, 0x29, 0xb1, 0x5f, 0x11, 0x99, 0x66,
+  0xa4, 0x02, 0x56, 0x37, 0xd0, 0x69, 0x02, 0xdb, 0x04, 0x07, 0xed, 0x15,
+  0x2e, 0x12, 0x0a, 0xde, 0x38, 0x1d, 0x15, 0x69, 0x89, 0x22, 0x32, 0x3c,
+  0xef, 0x56, 0x8e, 0x4d, 0x46, 0xa3, 0x8c, 0xb4, 0x98, 0x09, 0x9a, 0x62,
+  0x16, 0x29, 0x19, 0xcb, 0x65, 0x41, 0xa7, 0xee, 0x16, 0x22, 0xe3, 0xb8,
+  0x42, 0x15, 0x05, 0xe4, 0x28, 0x32, 0x1d, 0xc4, 0xd8, 0x57, 0x87, 0x84,
+  0xc5, 0x69, 0xa4, 0x7d, 0x49, 0x57, 0xdd, 0x28, 0x1e, 0xb9, 0x66, 0xc4,
+  0x2e, 0x29, 0x5e, 0xd6, 0xa6, 0x4d, 0xc2, 0x42, 0x53, 0xdc, 0x4b, 0x60,
+  0xa7, 0xd1, 0xee, 0x27, 0x26, 0x07, 0xb2, 0xdd, 0xd0, 0x51, 0x2d, 0x79,
+  0x68, 0x5d, 0x58, 0x57, 0x7c, 0xf2, 0xf2, 0x4a, 0x1f, 0x75, 0x2c, 0x40,
+  0x09, 0x5a, 0x12, 0x40, 0x4e, 0x46, 0xbf, 0xd0, 0x48, 0xcd, 0x14, 0x79,
+  0xc1, 0x4c, 0x6c, 0x92, 0x03, 0x01, 0x77, 0xd8, 0xba, 0x2a, 0xc3, 0xc6,
+  0x51, 0xc3, 0x28, 0x63, 0xf6, 0x98, 0xd2, 0x48, 0x8d, 0x6c, 0x28, 0x43,
+  0x96, 0xd5, 0x2a, 0x57, 0x0e, 0xcc, 0xb9, 0xbf, 0x69, 0x85, 0xf4, 0xc2,
+  0xd7, 0x75, 0x67, 0xd3, 0x44, 0x4e, 0xc4, 0x4c, 0xc7, 0x90, 0x0c, 0xeb,
+  0xce, 0xca, 0x73, 0x33, 0xa5, 0x98, 0xce, 0x1b, 0xcb, 0x14, 0x65, 0x53,
+  0x12, 0x99, 0x88, 0x4e, 0xcc, 0xf6, 0x58, 0x27, 0x46, 0xc0, 0x68, 0x7b,
+  0x17, 0x36, 0xfd, 0x27, 0x6c, 0x9b, 0x34, 0xe3, 0x8a, 0xcf, 0x60, 0x05,
+  0x4e, 0x69, 0x2e, 0xf1, 0x75, 0x84, 0x87, 0x6f, 0x06, 0xb3, 0x4c, 0xf0,
+  0x8b, 0xd3, 0x6b, 0xe7, 0x10, 0xa1, 0xcb, 0x69, 0x86, 0x86, 0xb5, 0x2e,
+  0x35, 0x31, 0xc8, 0xf3, 0x49, 0x9a, 0xd8, 0xe9, 0xe1, 0x4d, 0x90, 0xce,
+  0x90, 0xd6, 0x65, 0x4f, 0x81, 0x19, 0xcc, 0x0d, 0xa7, 0x05, 0x59, 0x37,
+  0x4a, 0x2e, 0x93, 0xcc, 0x50, 0x9c, 0x9c, 0x8b, 0x11, 0xcb, 0xa4, 0x78,
+  0xa8, 0x66, 0xb9, 0xbc, 0x40, 0x3e, 0x10, 0xb4, 0xda, 0x09, 0xcf, 0x5a,
+  0x94, 0xa9, 0x35, 0xa0, 0x49, 0x9b, 0x64, 0xa4, 0x71, 0xac, 0x7f, 0x6c,
+  0x1a, 0x25, 0x96, 0x4b, 0x86, 0x4e, 0x68, 0xac, 0xd3, 0x8b, 0x5e, 0xe4,
+  0x37, 0xa8, 0x59, 0x76, 0xd9, 0x10, 0x9d, 0xa1, 0x97, 0xb6, 0x84, 0x27,
+  0x80, 0x88, 0xa7, 0x20, 0xce, 0xe3, 0x42, 0x92, 0xb1, 0x8c, 0x3f, 0x8e,
+  0x1c, 0x7f, 0x06, 0xd0, 0xf8, 0x8d, 0x1c, 0x44, 0xe9, 0xd0, 0xec, 0xe6,
+  0xb8, 0x71, 0x26, 0xe2, 0x38, 0x19, 0x80, 0x58, 0x0b, 0x82, 0x4f, 0xbc,
+  0x98, 0x65, 0xb7, 0x71, 0x99, 0x0f, 0xdf, 0xc3, 0x64, 0x0f, 0xe7, 0x49,
+  0x75, 0xf5, 0x4d, 0x43, 0x62, 0xd9, 0x44, 0xee, 0xbc, 0x15, 0x45, 0xc7,
+  0x6c, 0x5f, 0x44, 0x3e, 0x53, 0x30, 0x25, 0xc3, 0x2a, 0x49, 0x2b, 0xd1,
+  0x5b, 0x68, 0x05, 0xe8, 0x04, 0x64, 0x36, 0xd8, 0x3a, 0x6a, 0xac, 0xab,
+  0xcc, 0xa9, 0xd1, 0x1c, 0x39, 0xa1, 0x8d, 0x12, 0x0f, 0x64, 0x89, 0xea,
+  0x7a, 0x14, 0xbd, 0xce, 0xab, 0xf4, 0x00, 0xff, 0x06, 0xe6, 0x50, 0xd1,
+  0x54, 0xe4, 0xae, 0x4a, 0x70, 0xa1, 0x91, 0xbd, 0x21, 0x7d, 0x25, 0xbe,
+  0x16, 0xc4, 0xfd, 0x4b, 0xa7, 0xba, 0xa6, 0x76, 0x8b, 0x36, 0xbe, 0xdd,
+  0xe8, 0x46, 0x57, 0xbc, 0xa4, 0xd4, 0x20, 0xcf, 0x11, 0x76, 0xfe, 0x12,
+  0xd4, 0xe6, 0x59, 0xd5, 0x6c, 0xee, 0x8a, 0x2e, 0x3f, 0x24, 0x77, 0xf6,
+  0x78, 0xd0, 0x06, 0x88, 0x06, 0x6a, 0x9c, 0x10, 0xbd, 0x2f, 0x1a, 0xaf,
+  0x01, 0xb3, 0x6e, 0x59, 0x52, 0xf6, 0xfd, 0xa2, 0xb7, 0x61, 0x64, 0x3c,
+  0x7b, 0x24, 0x13, 0xa1, 0xc0, 0x45, 0x2c, 0x6e, 0x92, 0x94, 0xde, 0x28,
+  0xe0, 0x45, 0x66, 0x69, 0x64, 0xd1, 0x10, 0x83, 0xa6, 0xd7, 0xeb, 0x09,
+  0x9f, 0x99, 0x83, 0x66, 0xc0, 0x07, 0x47, 0x6f, 0x84, 0xc7, 0xc3, 0x3f,
+  0x68, 0x55, 0xd1, 0x17, 0x51, 0xd6, 0x7d, 0x4b, 0xcd, 0x1e, 0xfa, 0x69,
+  0xca, 0x37, 0x42, 0xec, 0x36, 0xd2, 0x8b, 0x8e, 0x46, 0x38, 0x1f, 0xd8,
+  0xeb, 0xa7, 0xbd, 0xc7, 0xfb, 0xbd, 0x9d, 0x1a, 0x61, 0x4d, 0xaa, 0xb8,
+  0xbc, 0x1e, 0x46, 0x87, 0x64, 0x76, 0x46, 0x92, 0x0f, 0x12, 0x14, 0xa8,
+  0x1b, 0x72, 0xb9, 0x0a, 0xad, 0xf2, 0x31, 0xe4, 0x4d, 0xd7, 0x36, 0xc8,
+  0x44, 0x48, 0x6e, 0x42, 0x9c, 0x12, 0xd9, 0x35, 0x7d, 0x89, 0xda, 0xf4,
+  0x03, 0x1a, 0x66, 0x86, 0xfa, 0x45, 0x45, 0x42, 0x53, 0x7a, 0x9b, 0xb1,
+  0xf2, 0xab, 0x8d, 0x0d, 0x81, 0xed, 0xa4, 0x22, 0x18, 0x10, 0x5b, 0x93,
+  0xb5, 0x6d, 0x34, 0x47, 0x2b, 0x1d, 0x1d, 0x8d, 0x49, 0xa6, 0x31, 0xf7,
+  0xdc, 0xc8, 0x48, 0xb9, 0x1c, 0x92, 0xc0, 0x8d, 0xe9, 0xee, 0xa0, 0xad,
+  0x73, 0x24, 0x37, 0x4f, 0xeb, 0xe8, 0x88, 0x93, 0xa0, 0xc4, 0x97, 0x21,
+  0x6d, 0xa1, 0x23, 0x02, 0xf8, 0xf1, 0x34, 0x1f, 0x91, 0x6d, 0xdb, 0xdb,
+  0xdb, 0xbe, 0x71, 0x42, 0x76, 0x3a, 0x4e, 0x23, 0x9b, 0xe8, 0x92, 0x06,
+  0x82, 0x9c, 0x5d, 0x56, 0x57, 0x5b, 0xd6, 0xcd, 0xa6, 0x0a, 0x3f, 0x0c,
+  0x84, 0xd5, 0xa7, 0xe6, 0xa9, 0xa3, 0x18, 0x09, 0xa2, 0x8b, 0x5f, 0x17,
+  0x65, 0x45, 0x16, 0x7a, 0xb9, 0xdf, 0x79, 0x26, 0x30, 0xb2, 0x69, 0x3a,
+  0xcd, 0x8b, 0xbb, 0x10, 0x69, 0xf3, 0x29, 0xd0, 0x8d, 0x42, 0x92, 0x26,
+  0xee, 0xae, 0xe4, 0x2c, 0xd4, 0x6c, 0x7d, 0x13, 0x24, 0x15, 0xa9, 0xba,
+  0xd7, 0x5c, 0x0f, 0x72, 0x3c, 0x0a, 0x37, 0x67, 0x0b, 0xff, 0x40, 0x5c,
+  0x8a, 0x78, 0x10, 0x48, 0x20, 0x70, 0x89, 0x9e, 0x2e, 0x07, 0x9e, 0x96,
+  0x37, 0x34, 0x4b, 0x6c, 0x78, 0x63, 0xe8, 0x0b, 0xb5, 0x61, 0xb1, 0xe7,
+  0xd9, 0xb5, 0x42, 0xad, 0x7b, 0x88, 0xa4, 0x07, 0xf8, 0x0f, 0x9d, 0xad,
+  0x6b, 0x1e, 0x1a, 0xb8, 0x82, 0xf3, 0xc9, 0x35, 0x7b, 0x27, 0xe2, 0x58,
+  0x3c, 0x34, 0x71, 0x95, 0xd7, 0x4e, 0xd0, 0x93, 0x47, 0xbd, 0xdd, 0xda,
+  0x09, 0x9a, 0xdd, 0x61, 0xfc, 0x4d, 0x98, 0x0d, 0xa3, 0x76, 0x5b, 0x5a,
+  0xdd, 0x36, 0xbb, 0x5c, 0x14, 0x24, 0xfb, 0x4a, 0xc8, 0x8e, 0x46, 0xea,
+  0xa0, 0xb4, 0x76, 0x95, 0x53, 0xb8, 0x0b, 0xdc, 0xf5, 0xe9, 0x64, 0xdc,
+  0x0d, 0x58, 0x30, 0xe9, 0x92, 0x62, 0x43, 0x1b, 0x3a, 0xdf, 0x40, 0x77,
+  0xa2, 0xc6, 0x66, 0xa9, 0x48, 0xd6, 0x68, 0xab, 0x8d, 0x30, 0xbe, 0x23,
+  0x1a, 0x4e, 0x92, 0x6c, 0x4a, 0x27, 0x4b, 0xcc, 0x03, 0x3d, 0xcf, 0xe4,
+  0xc2, 0x7e, 0x1c, 0x32, 0x35, 0x0c, 0xd0, 0x8d, 0x54, 0x94, 0x28, 0x38,
+  0xb0, 0x75, 0x47, 0xc4, 0x79, 0xb6, 0x9c, 0x5c, 0xa5, 0xc3, 0xf7, 0xca,
+  0xff, 0x55, 0x16, 0x6e, 0x72, 0x75, 0x0c, 0xe4, 0x21, 0x5f, 0x15, 0x3c,
+  0xb5, 0x40, 0x63, 0x4d, 0x0e, 0xaa, 0x39, 0xba, 0xa1, 0x51, 0x47, 0x5d,
+  0x0c, 0x49, 0xa8, 0xa7, 0x33, 0x0e, 0xa7, 0x52, 0x2f, 0x91, 0x08, 0x6e,
+  0xa5, 0xd9, 0x28, 0xae, 0x8a, 0x6c, 0xde, 0x36, 0x3a, 0x95, 0x4a, 0x5c,
+  0xa9, 0xb9, 0x14, 0x1b, 0x14, 0x39, 0x96, 0xd8, 0xd5, 0x34, 0x8c, 0x1a,
+  0xab, 0xd9, 0x3c, 0x4c, 0xb4, 0xb6, 0x5d, 0xb4, 0x04, 0x64, 0x20, 0xca,
+  0xb0, 0x98, 0x4e, 0xf2, 0xcf, 0x28, 0x57, 0x31, 0x02, 0x54, 0xcb, 0x6c,
+  0x48, 0x52, 0x5a, 0x76, 0x99, 0x62, 0x88, 0x14, 0xc8, 0x0a, 0xd5, 0x04,
+  0xe4, 0x36, 0xff, 0x6c, 0xc2, 0x37, 0xe9, 0x65, 0x5e, 0xa1, 0x98, 0xe4,
+  0x91, 0x38, 0xdb, 0x42, 0x0d, 0x4d, 0xa8, 0x41, 0xce, 0x15, 0x18, 0x33,
+  0xd6, 0xae, 0xa0, 0x6b, 0x31, 0x0e, 0xf0, 0x19, 0x23, 0x8b, 0x44, 0x73,
+  0xd7, 0xa1, 0xb5, 0xa1, 0x18, 0x33, 0x50, 0xaa, 0x55, 0xa1, 0x5a, 0x35,
+  0x11, 0x64, 0x65, 0x28, 0xc0, 0x57, 0x37, 0xd9, 0x30, 0x55, 0x5b, 0xae,
+  0xc4, 0x7b, 0x4c, 0x32, 0xff, 0xb6, 0x9c, 0x22, 0x2f, 0x81, 0x97, 0x58,
+  0x59, 0x40, 0x4f, 0xe4, 0x4d, 0x86, 0xca, 0x04, 0xf3, 0x69, 0x16, 0x18,
+  0xe5, 0x46, 0x4d, 0x8a, 0x8c, 0x1c, 0xae, 0xe8, 0x8c, 0x32, 0x06, 0xca,
+  0x10, 0x6f, 0xe0, 0x71, 0xd3, 0xfb, 0xa2, 0x5f, 0x59, 0xbd, 0x8a, 0x18,
+  0xc3, 0x98, 0xec, 0x42, 0xde, 0x3a, 0x11, 0x03, 0xbe, 0x4c, 0xc9, 0x37,
+  0xcd, 0x7b, 0xb0, 0xc0, 0x45, 0xc7, 0x70, 0x36, 0xef, 0x69, 0xf6, 0xff,
+  0xd7, 0x57, 0xd6, 0x38, 0xb5, 0x98, 0x6f, 0x20, 0x87, 0x46, 0x1f, 0x12,
+  0x51, 0x58, 0x3a, 0x1e, 0xc3, 0xb9, 0x5d, 0xfb, 0xfe, 0x95, 0x96, 0x79,
+  0x10, 0x40, 0x35, 0x07, 0xf3, 0x9b, 0xd1, 0x9a, 0x0c, 0x84, 0x82, 0xf3,
+  0xb4, 0xa5, 0xae, 0xd2, 0x95, 0xf0, 0x13, 0x26, 0x2d, 0x87, 0x75, 0x24,
+  0xf8, 0x04, 0xa8, 0xa8, 0xa9, 0x47, 0x63, 0x9b, 0xa8, 0xaf, 0xa2, 0x59,
+  0x70, 0x4b, 0xa3, 0x44, 0x52, 0x89, 0x93, 0x31, 0xe1, 0x7c, 0xc4, 0xe4,
+  0xf1, 0x9e, 0x10, 0xf6, 0xc2, 0xed, 0x84, 0x6f, 0x35, 0x50, 0xe0, 0x30,
+  0xf8, 0x85, 0xee, 0x25, 0x3d, 0x4d, 0x70, 0x98, 0xd0, 0xc6, 0xa8, 0x51,
+  0x66, 0x18, 0xd2, 0x21, 0x74, 0x20, 0x9c, 0x44, 0x62, 0x01, 0x51, 0x39,
+  0x6e, 0x34, 0x87, 0x24, 0x4d, 0xf7, 0x75, 0x97, 0x85, 0x61, 0x66, 0xff,
+  0x43, 0x8e, 0xf0, 0xe8, 0x91, 0x6c, 0xc8, 0x57, 0x36, 0x8d, 0x71, 0x3c,
+  0x49, 0x2e, 0xf1, 0x20, 0x64, 0x97, 0xb3, 0x9c, 0x43, 0xfa, 0x9a, 0x54,
+  0x9e, 0xc3, 0x4d, 0x49, 0x36, 0x50, 0xb6, 0xb6, 0x95, 0xd1, 0x26, 0xd0,
+  0xfd, 0x64, 0x41, 0x3b, 0x7e, 0x06, 0xb3, 0xea, 0xf7, 0x5f, 0x6c, 0x2d,
+  0x27, 0x0a, 0x9e, 0xfb, 0x3d, 0x68, 0x02, 0xcd, 0xdd, 0xac, 0x15, 0x34,
+  0xfd, 0x54, 0xa2, 0x3b, 0x28, 0x43, 0x00, 0xe1, 0x9e, 0x5b, 0x5d, 0x97,
+  0x8c, 0x78, 0x7f, 0x62, 0x5a, 0x3c, 0xf6, 0xc4, 0x99, 0xf1, 0x8d, 0xbd,
+  0xd8, 0xa0, 0x76, 0x52, 0x2a, 0x90, 0x36, 0x28, 0x76, 0x89, 0xa9, 0xe7,
+  0xb8, 0xcb, 0x37, 0x12, 0x6c, 0xd6, 0x22, 0x8d, 0x93, 0xaa, 0x76, 0x03,
+  0xdd, 0x94, 0xa0, 0xcb, 0x5f, 0x5e, 0x3f, 0x02, 0x69, 0x99, 0x85, 0xd7,
+  0x62, 0xf7, 0xa7, 0x03, 0xfd, 0x75, 0xef, 0xa7, 0x83, 0x22, 0xbd, 0x84,
+  0xf3, 0xf8, 0xd3, 0x01, 0xae, 0x2f, 0xb0, 0x8a, 0x5f, 0x7e, 0xf9, 0xe5,
+  0x1b, 0xff, 0x40, 0x46, 0x47, 0x3f, 0xf4, 0xa3, 0xbf, 0x3d, 0xa2, 0x50,
+  0x19, 0x8a, 0xa5, 0x6c, 0xde, 0x51, 0x12, 0x69, 0xa3, 0x92, 0x95, 0xb7,
+  0x30, 0xa4, 0xb9, 0x6b, 0xaf, 0x46, 0x62, 0x67, 0x95, 0x19, 0x44, 0x5b,
+  0xbe, 0x44, 0x48, 0xe7, 0x12, 0x87, 0xff, 0x9d, 0x48, 0x8f, 0x97, 0x39,
+  0x10, 0xe1, 0xd5, 0xd4, 0xb7, 0xe4, 0xce, 0x98, 0xa8, 0xc8, 0xc7, 0xb2,
+  0xa8, 0x2e, 0xf9, 0x7a, 0xaa, 0x0f, 0x4a, 0xae, 0x9e, 0xe0, 0x60, 0x78,
+  0xda, 0x4b, 0x46, 0xe2, 0x48, 0xa0, 0xa0, 0x78, 0xe6, 0x97, 0x45, 0x32,
+  0xbf, 0xc2, 0xe3, 0x0a, 0x9d, 0xfa, 0x6a, 0x10, 0x5d, 0x8c, 0x65, 0xbe,
+  0x28, 0x30, 0x3a, 0x6b, 0x98, 0x4f, 0x26, 0x1c, 0xbd, 0x11, 0x6d, 0x72,
+  0x37, 0xb0, 0x39, 0xa3, 0x74, 0x8b, 0x47, 0x5d, 0xd9, 0xce, 0x49, 0x0c,
+  0xcc, 0x9a, 0x27, 0x28, 0x9f, 0x66, 0x55, 0xa5, 0x71, 0x5d, 0xf8, 0x34,
+  0x90, 0x07, 0x0d, 0x26, 0x38, 0x0f, 0xd9, 0xb6, 0x7b, 0x4e, 0x64, 0xbc,
+  0x98, 0xf1, 0xc0, 0x70, 0x2f, 0x9a, 0x37, 0x35, 0x6b, 0x36, 0x18, 0xdf,
+  0x02, 0x57, 0x44, 0xbe, 0x18, 0x45, 0x9b, 0xd2, 0x78, 0x73, 0xf8, 0xda,
+  0xa7, 0x8c, 0x5f, 0x47, 0x1c, 0xba, 0x02, 0x96, 0x8e, 0x9f, 0x55, 0x2d,
+  0x43, 0xa0, 0x21, 0xfd, 0xca, 0x53, 0xaf, 0x58, 0xa3, 0x62, 0x95, 0xca,
+  0x73, 0x2e, 0x7d, 0x80, 0x82, 0x65, 0x46, 0xd1, 0x81, 0x5f, 0x0f, 0x92,
+  0xe9, 0x6f, 0x07, 0x29, 0xf4, 0x16, 0xef, 0x1d, 0xa4, 0x65, 0x47, 0xd9,
+  0x7e, 0xe7, 0x7d, 0x7a, 0x07, 0xe7, 0x04, 0xe8, 0xae, 0xea, 0xac, 0xc9,
+  0xfc, 0x1d, 0x5e, 0x6f, 0xef, 0x32, 0x57, 0x72, 0x7c, 0xfa, 0xb8, 0xae,
+  0x7b, 0xd1, 0x0b, 0x2d, 0xea, 0x7b, 0x5d, 0x70, 0x44, 0xc9, 0x8f, 0xac,
+  0xae, 0xdf, 0x71, 0x1f, 0xf5, 0x33, 0x60, 0x4c, 0x7a, 0x85, 0x27, 0x99,
+  0x11, 0x27, 0xc7, 0x58, 0xad, 0x9e, 0x91, 0xaa, 0xf0, 0x41, 0x0d, 0x19,
+  0x63, 0x99, 0x21, 0x53, 0x5f, 0x34, 0x1f, 0xcd, 0x05, 0x39, 0x23, 0x68,
+  0x3b, 0x9b, 0xcd, 0x61, 0x2c, 0x86, 0x89, 0xc9, 0x50, 0xbb, 0x49, 0x46,
+  0x66, 0x22, 0xbc, 0x4c, 0x0a, 0x8c, 0xd2, 0x43, 0x93, 0x71, 0x7a, 0x9d,
+  0xe5, 0x8b, 0x12, 0x5a, 0xc1, 0x8d, 0x94, 0xb6, 0x91, 0x50, 0x7d, 0xc5,
+  0x19, 0x29, 0x19, 0x74, 0x2a, 0xe0, 0x27, 0x48, 0xd8, 0x61, 0xa9, 0x78,
+  0xb3, 0x5c, 0xa0, 0xdc, 0x86, 0x81, 0x23, 0x2a, 0x96, 0xd1, 0x75, 0xda,
+  0x1c, 0x1d, 0x4b, 0x6e, 0x14, 0x67, 0x63, 0x44, 0xb4, 0xad, 0x8f, 0x28,
+  0x7b, 0xf0, 0x06, 0x7f, 0x74, 0xc9, 0x63, 0x41, 0x87, 0xec, 0x00, 0x83,
+  0xda, 0x30, 0xf6, 0xc3, 0x74, 0xf4, 0x10, 0xd1, 0x83, 0xde, 0x74, 0x69,
+  0x0c, 0xf4, 0xc5, 0xb4, 0xa8, 0x58, 0xbd, 0xf7, 0x34, 0xfb, 0x8b, 0xd3,
+  0xfe, 0x56, 0x80, 0xd2, 0xea, 0x41, 0xbe, 0xf8, 0x3e, 0x4a, 0xd9, 0x18,
+  0x8b, 0xc5, 0xb1, 0x69, 0x39, 0x5a, 0xaa, 0x1c, 0x6b, 0x9f, 0xe3, 0x7d,
+  0x9a, 0xa7, 0xa9, 0x58, 0x42, 0xe9, 0x51, 0x94, 0x5a, 0xf1, 0xd2, 0xc2,
+  0x8b, 0xd5, 0x09, 0x6a, 0x3a, 0x3e, 0x8a, 0xdc, 0x66, 0x4b, 0x8e, 0x48,
+  0x6e, 0xba, 0xf2, 0xed, 0x03, 0x9b, 0xe5, 0x96, 0x95, 0x5e, 0xa1, 0xa9,
+  0xf3, 0x93, 0x57, 0x64, 0x56, 0x85, 0x6b, 0x10, 0xa4, 0x0d, 0xf1, 0x9e,
+  0x69, 0x08, 0x15, 0x46, 0x3c, 0xb8, 0x51, 0x86, 0xd6, 0x50, 0x40, 0x91,
+  0xfb, 0x4c, 0xf8, 0x34, 0x3a, 0x0e, 0x11, 0xce, 0x28, 0xc6, 0xae, 0x79,
+  0x0c, 0xaa, 0xbb, 0xb9, 0x04, 0x06, 0x2e, 0xca, 0x9a, 0x3b, 0xc3, 0x58,
+  0x38, 0x2b, 0xb2, 0x50, 0xa1, 0xbd, 0xd5, 0x69, 0xd3, 0xdb, 0x7a, 0xf6,
+  0x0d, 0xa1, 0x02, 0x70, 0x39, 0xcb, 0x7e, 0x13, 0x83, 0x49, 0x3a, 0xbb,
+  0xce, 0x8a, 0x7c, 0x46, 0xbc, 0x9c, 0x22, 0x3f, 0x06, 0x62, 0x30, 0x18,
+  0x45, 0x1b, 0xc7, 0x6f, 0xdf, 0x9c, 0xbe, 0x3b, 0x3e, 0x7a, 0xf7, 0xdd,
+  0xdb, 0xd7, 0xcf, 0x4e, 0x4f, 0x36, 0x9a, 0x62, 0xca, 0x58, 0x1c, 0x4a,
+  0x25, 0x9a, 0xec, 0xc8, 0xc5, 0x58, 0x4a, 0xa3, 0x1c, 0x3a, 0x46, 0xa6,
+  0x22, 0x0a, 0x6f, 0x64, 0x53, 0x9c, 0x38, 0x58, 0x74, 0xc5, 0x1b, 0xcd,
+  0x0d, 0x16, 0x68, 0x58, 0x10, 0xde, 0x20, 0x93, 0xd7, 0x83, 0x2c, 0xd6,
+  0x64, 0x1d, 0x5f, 0xf8, 0xba, 0xbf, 0xd1, 0xc8, 0x1f, 0xb5, 0x5d, 0xd2,
+  0x4d, 0xe9, 0xc4, 0x3d, 0x2e, 0xaa, 0x1c, 0xb6, 0x49, 0x96, 0x12, 0xe3,
+  0x30, 0x68, 0xd5, 0x13, 0x18, 0x50, 0x60, 0xbb, 0x4b, 0x6b, 0x3a, 0x81,
+  0x95, 0xc0, 0x56, 0x80, 0x7e, 0x63, 0x19, 0xe4, 0xb0, 0xa8, 0x36, 0xba,
+  0x51, 0x9a, 0xd1, 0xb1, 0xd5, 0x50, 0x74, 0xbc, 0x9d, 0xc8, 0x4b, 0xe4,
+  0xc5, 0xb7, 0x60, 0xdc, 0x47, 0xc2, 0x74, 0xdd, 0x4b, 0x6f, 0x53, 0xe2,
+  0x0b, 0xf2, 0xd6, 0xf1, 0xa2, 0x20, 0x6e, 0xf3, 0x03, 0xa8, 0xa1, 0x78,
+  0xb2, 0x9f, 0x69, 0xa0, 0x88, 0x3e, 0x04, 0x02, 0x7c, 0xf3, 0xa2, 0xcb,
+  0x27, 0x24, 0xd4, 0x90, 0x7d, 0x9f, 0x3c, 0x31, 0xe7, 0x47, 0x17, 0x2f,
+  0x42, 0xb7, 0x5d, 0x9d, 0x0c, 0x49, 0xa6, 0x2c, 0x2b, 0xb9, 0xdc, 0x5e,
+  0xf7, 0xfb, 0x11, 0x25, 0xdf, 0x60, 0xfc, 0x68, 0x91, 0x60, 0x87, 0xce,
+  0x17, 0x40, 0xd5, 0x4d, 0xe6, 0xf3, 0x97, 0xe3, 0xfe, 0xef, 0x76, 0x77,
+  0xd1, 0xec, 0xb4, 0x80, 0x75, 0xd9, 0x84, 0xb7, 0x66, 0x25, 0x9c, 0xcc,
+  0x69, 0xaf, 0xcc, 0xb7, 0x24, 0xba, 0x8f, 0xf5, 0xc0, 0xe4, 0x1a, 0xd4,
+  0x2c, 0x22, 0x23, 0x25, 0xea, 0x96, 0x98, 0x1f, 0x93, 0x95, 0x04, 0xfc,
+  0x02, 0x14, 0xb5, 0x89, 0x6f, 0x41, 0xda, 0xcc, 0xce, 0x38, 0xc9, 0x69,
+  0x9a, 0x0c, 0xe1, 0x37, 0xb4, 0x5e, 0x6f, 0xb5, 0x4f, 0xac, 0xcf, 0x56,
+  0x08, 0x8e, 0xcb, 0xa2, 0x94, 0x24, 0x9f, 0x2b, 0xcc, 0x02, 0x26, 0x29,
+  0x1b, 0xa3, 0x82, 0x03, 0x1e, 0x24, 0xc3, 0xf7, 0x37, 0x49, 0x41, 0xd1,
+  0x7b, 0x40, 0xb7, 0xd9, 0x20, 0x9b, 0x64, 0x15, 0xfb, 0xaa, 0x9a, 0x92,
+  0x13, 0x6d, 0x3f, 0xae, 0x61, 0x3a, 0xbb, 0xcc, 0x66, 0x28, 0x38, 0xa0,
+  0x41, 0x2a, 0xab, 0x5c, 0x5b, 0x30, 0x29, 0xc6, 0xac, 0xd0, 0xb8, 0x7e,
+  0xa9, 0xc8, 0x17, 0xc4, 0xf0, 0x69, 0x3e, 0x4b, 0x3c, 0x50, 0x4b, 0xb9,
+  0xca, 0x08, 0x5d, 0x3e, 0x65, 0xc8, 0xee, 0x0e, 0x74, 0xa8, 0x69, 0xc0,
+  0x36, 0x40, 0x22, 0xc4, 0x5f, 0xd2, 0xbb, 0xe1, 0x15, 0x72, 0x3c, 0xc3,
+  0x28, 0x0d, 0x6b, 0xec, 0x8a, 0x0d, 0x22, 0x53, 0xcf, 0x6e, 0xaa, 0xce,
+  0x79, 0xbe, 0xea, 0x7c, 0xa9, 0x93, 0x1b, 0x50, 0x03, 0x0c, 0xb6, 0xb1,
+  0x51, 0xd6, 0x58, 0x32, 0x75, 0xe5, 0x6f, 0x62, 0x1f, 0x3e, 0x9f, 0xcd,
+  0xd2, 0x89, 0xec, 0xdf, 0x45, 0x9d, 0xbb, 0xd5, 0x57, 0xdf, 0x3c, 0x0b,
+  0x63, 0x96, 0x50, 0xbe, 0x46, 0x73, 0x4f, 0x29, 0x41, 0x22, 0xa9, 0xf4,
+  0xc2, 0xd4, 0x94, 0xac, 0xa7, 0xbd, 0x27, 0x3b, 0xe6, 0xab, 0x5e, 0xb3,
+  0x17, 0xdb, 0x8d, 0x77, 0x9a, 0x96, 0x6e, 0xb9, 0xbf, 0xc9, 0x7f, 0x32,
+  0x6a, 0x2b, 0x71, 0xbf, 0x46, 0x73, 0xae, 0x79, 0x45, 0xae, 0x30, 0x99,
+  0xc6, 0x06, 0x48, 0xc9, 0x39, 0x1a, 0xc9, 0xc6, 0x51, 0x91, 0xc3, 0x56,
+  0xd7, 0x36, 0x73, 0x93, 0x48, 0x63, 0xe4, 0xc9, 0x4c, 0xc2, 0xcd, 0x9d,
+  0x85, 0xd9, 0x0a, 0x9a, 0x59, 0xcd, 0xe5, 0xba, 0x4c, 0xaa, 0x35, 0x96,
+  0xd2, 0xba, 0x93, 0xa0, 0xc9, 0x87, 0x55, 0xa2, 0x5d, 0x4b, 0xa0, 0x95,
+  0xee, 0x8f, 0x8f, 0x48, 0xdb, 0x7c, 0x80, 0xbd, 0x73, 0x98, 0xf0, 0x75,
+  0x81, 0x22, 0xeb, 0x7b, 0x14, 0x81, 0x60, 0x95, 0xe9, 0x3c, 0xd7, 0x25,
+  0x08, 0x7a, 0xe8, 0x10, 0xd8, 0xec, 0x87, 0x0b, 0x10, 0x4e, 0x50, 0x9e,
+  0x7f, 0xa7, 0xca, 0x61, 0xe1, 0x23, 0xcb, 0x92, 0x44, 0xf4, 0x4a, 0x85,
+  0x06, 0x1c, 0x44, 0xa9, 0x96, 0x63, 0xb3, 0xda, 0x83, 0x3b, 0xf5, 0xc0,
+  0xfa, 0xf6, 0x29, 0x8a, 0xb8, 0x65, 0x57, 0xdd, 0x41, 0x27, 0xda, 0x4c,
+  0x7b, 0x97, 0xd0, 0x5e, 0x07, 0xdb, 0xd9, 0x3d, 0xc0, 0x7f, 0xf7, 0xe8,
+  0xdf, 0xfd, 0xce, 0x96, 0xa4, 0x72, 0xba, 0xb4, 0x81, 0xc2, 0x86, 0xbf,
+  0x47, 0x75, 0xd9, 0x83, 0xef, 0xdf, 0xac, 0x8d, 0x33, 0xb2, 0xe5, 0xe2,
+  0x94, 0x49, 0xc0, 0x17, 0x56, 0x75, 0x19, 0xa6, 0x6c, 0xe0, 0xbf, 0x4e,
+  0xd9, 0xc3, 0x00, 0x33, 0xc3, 0xb8, 0xdc, 0x74, 0xe4, 0xb8, 0xdd, 0x86,
+  0xef, 0x8a, 0x14, 0xc4, 0xcc, 0xab, 0x68, 0x51, 0xf1, 0x21, 0x81, 0x73,
+  0xd5, 0x6c, 0x6e, 0x3e, 0xc9, 0xac, 0x17, 0x4d, 0xba, 0xee, 0xa9, 0x41,
+  0xd2, 0xee, 0x22, 0xc7, 0x0c, 0x4c, 0xf2, 0x1b, 0x7d, 0x26, 0x96, 0x4c,
+  0xcb, 0x90, 0xd8, 0x02, 0xbb, 0x49, 0x8e, 0x08, 0x7c, 0xcc, 0x4d, 0x57,
+  0x98, 0xa2, 0x38, 0x8e, 0x69, 0xa0, 0x11, 0x0a, 0xbc, 0xd9, 0x10, 0x4d,
+  0x8d, 0x13, 0xda, 0x37, 0x34, 0xaa, 0x2e, 0x02, 0x41, 0xc5, 0x86, 0x56,
+  0xb3, 0xb1, 0xb8, 0x3c, 0xe5, 0x6f, 0xba, 0xef, 0x45, 0x42, 0x2c, 0x39,
+  0xa5, 0x01, 0x44, 0x95, 0x9a, 0x6c, 0x18, 0x38, 0x7a, 0x0d, 0x59, 0x8d,
+  0xf8, 0xb7, 0xab, 0xd6, 0xc8, 0x64, 0xeb, 0x3e, 0x39, 0xb1, 0x3f, 0xf5,
+  0x5a, 0x4e, 0x32, 0x8b, 0x4b, 0x9f, 0xed, 0x24, 0x53, 0xf7, 0xdb, 0x64,
+  0x30, 0xda, 0xb6, 0x67, 0x64, 0xdd, 0xe3, 0x4c, 0x6b, 0xba, 0xe2, 0x38,
+  0xc3, 0x23, 0x31, 0x7a, 0x6d, 0x17, 0xe5, 0x3d, 0x4e, 0xb3, 0x73, 0x7f,
+  0xf1, 0x3b, 0x1a, 0x7e, 0x21, 0x81, 0x71, 0xee, 0x56, 0x35, 0x57, 0xe2,
+  0xce, 0x21, 0xe1, 0x63, 0x87, 0x07, 0xf4, 0xb9, 0xa1, 0x37, 0xe2, 0x65,
+  0xd8, 0x4c, 0xde, 0x27, 0xbd, 0xe8, 0xec, 0xb8, 0x7f, 0x8e, 0x5d, 0xcc,
+  0x31, 0x18, 0x70, 0x0b, 0x23, 0x05, 0x1b, 0xcd, 0x81, 0x82, 0x95, 0xce,
+  0xca, 0x5a, 0xda, 0x74, 0x2b, 0x41, 0x68, 0x8c, 0x80, 0x86, 0x37, 0xd7,
+  0xa2, 0xf8, 0x28, 0x8c, 0x90, 0x92, 0x81, 0x22, 0x66, 0x0a, 0x5e, 0x47,
+  0x73, 0x58, 0xff, 0xd1, 0x96, 0xf1, 0x76, 0x74, 0x95, 0x6a, 0x4d, 0x28,
+  0x50, 0xb9, 0xb8, 0x44, 0x5d, 0xb3, 0x54, 0x2b, 0xa7, 0xe9, 0x01, 0x56,
+  0xc3, 0x17, 0xba, 0x64, 0xda, 0xc6, 0x89, 0x08, 0xda, 0x31, 0x26, 0xf5,
+  0x91, 0xb0, 0x39, 0xcb, 0x6d, 0xab, 0x18, 0xa6, 0x48, 0xd9, 0xcd, 0x19,
+  0x05, 0xd0, 0x70, 0xb6, 0x4a, 0x40, 0x9c, 0xe2, 0x4d, 0x51, 0x1d, 0x79,
+  0x2c, 0x19, 0xcd, 0x01, 0x17, 0x0a, 0x35, 0x34, 0x64, 0x61, 0xd7, 0x04,
+  0x22, 0x64, 0x48, 0x48, 0xa8, 0x79, 0xb0, 0x55, 0x02, 0xdb, 0x33, 0x9c,
+  0xea, 0xfb, 0xd9, 0x02, 0xc3, 0x88, 0x7d, 0xb9, 0x06, 0xe5, 0x53, 0xbc,
+  0xb0, 0x71, 0x01, 0x97, 0xaa, 0xc8, 0x0e, 0x75, 0x39, 0xfa, 0x1e, 0x6b,
+  0xca, 0xb4, 0x02, 0x38, 0x63, 0x51, 0x96, 0x8d, 0xb6, 0xdc, 0x08, 0x47,
+  0x96, 0x68, 0xa6, 0x80, 0x45, 0xd6, 0x69, 0x7d, 0x5d, 0xe3, 0x8f, 0x3b,
+  0xb0, 0x35, 0x15, 0xeb, 0x0c, 0x38, 0xdf, 0x68, 0xbe, 0x18, 0xbc, 0x4f,
+  0xef, 0x6a, 0xe6, 0x9c, 0x47, 0xbb, 0x75, 0x73, 0x0e, 0x75, 0x01, 0x7a,
+  0x63, 0x1a, 0x1d, 0xe2, 0xbf, 0xe1, 0xcb, 0x52, 0xce, 0x97, 0xe6, 0x01,
+  0x12, 0xfd, 0xe0, 0x2b, 0x12, 0xbb, 0xc5, 0x9c, 0x87, 0xbd, 0x37, 0xb5,
+  0x8b, 0xd3, 0x13, 0x7a, 0xe8, 0x6c, 0xf5, 0xf0, 0x3a, 0xea, 0x46, 0xcf,
+  0x10, 0x34, 0xe1, 0xe4, 0xf5, 0xf7, 0x44, 0xf0, 0xe7, 0xbb, 0x7b, 0x14,
+  0x28, 0x63, 0x74, 0xce, 0x11, 0xf5, 0x10, 0x36, 0x91, 0x9a, 0xdc, 0x41,
+  0x1c, 0x03, 0x27, 0x0e, 0x98, 0x9c, 0x61, 0x24, 0x05, 0xd9, 0x74, 0xbe,
+  0xe9, 0xac, 0x71, 0x88, 0xba, 0x6d, 0x3a, 0x01, 0x25, 0x6a, 0x83, 0xf3,
+  0x03, 0x45, 0x2f, 0x30, 0x6a, 0x01, 0xb5, 0x60, 0x05, 0x4d, 0xd2, 0x61,
+  0x61, 0xa4, 0x3d, 0x36, 0x10, 0x06, 0x54, 0x53, 0xb2, 0x71, 0xce, 0xdf,
+  0x0f, 0xcb, 0xdd, 0xdd, 0x83, 0xe8, 0xed, 0x9b, 0x97, 0x2c, 0x9f, 0xe3,
+  0x24, 0x1b, 0x36, 0x2c, 0x1c, 0x7a, 0xd8, 0xec, 0x68, 0x37, 0xe4, 0x73,
+  0x9a, 0x1d, 0xed, 0x28, 0x50, 0x74, 0xe0, 0xbf, 0xf9, 0xde, 0x5b, 0x8b,
+  0x0e, 0x4f, 0xba, 0xf2, 0x2e, 0xfe, 0x04, 0x52, 0x14, 0xa7, 0x12, 0xfc,
+  0x16, 0xd7, 0x57, 0xc0, 0x3e, 0x19, 0x1d, 0x3a, 0x14, 0xf4, 0x93, 0x31,
+  0x30, 0xfd, 0x72, 0x1f, 0xca, 0x0c, 0x4b, 0x72, 0x3e, 0x5d, 0xe2, 0x44,
+  0x42, 0x86, 0x7b, 0x9b, 0x2b, 0x40, 0x53, 0xa5, 0x33, 0xcc, 0x28, 0x1e,
+  0x84, 0xf5, 0x81, 0xbc, 0x2f, 0x99, 0x19, 0x39, 0x3f, 0xe6, 0xa4, 0x54,
+  0xca, 0x19, 0x69, 0x32, 0xd0, 0x61, 0x3e, 0xe9, 0x89, 0xb5, 0xc1, 0xed,
+  0xd8, 0x35, 0x07, 0x91, 0x9a, 0xbc, 0x27, 0x62, 0x19, 0x72, 0x6b, 0xbe,
+  0x78, 0x98, 0x06, 0x9b, 0x54, 0x6f, 0x14, 0x55, 0x8a, 0x5e, 0x35, 0xd2,
+  0x9c, 0x7d, 0x8d, 0x02, 0x1a, 0x69, 0x64, 0xac, 0x7d, 0xd4, 0xf4, 0xc8,
+  0x90, 0x4e, 0x8d, 0x31, 0x42, 0xc6, 0x7a, 0xa7, 0x39, 0x18, 0xba, 0x68,
+  0x35, 0x1f, 0x19, 0xdc, 0x78, 0x45, 0x26, 0x5a, 0x17, 0x9f, 0xb2, 0x66,
+  0x73, 0x1a, 0x58, 0xda, 0xf4, 0xa2, 0x69, 0x9c, 0x1b, 0x25, 0xd3, 0xe2,
+  0xd1, 0xf0, 0xcc, 0x72, 0x21, 0x03, 0x6b, 0x26, 0xb9, 0x53, 0xf3, 0x22,
+  0xbb, 0xc6, 0x07, 0x95, 0x6e, 0xac, 0x8b, 0xb8, 0xae, 0x4b, 0xe6, 0x33,
+  0xfc, 0x39, 0x63, 0x3f, 0x9e, 0x83, 0xa3, 0x51, 0xe3, 0x71, 0x96, 0xf2,
+  0x28, 0xc2, 0x40, 0x22, 0x5f, 0x48, 0xda, 0xc6, 0x94, 0x6c, 0x01, 0xcc,
+  0x08, 0x58, 0x16, 0x5e, 0x32, 0x5f, 0x71, 0xa9, 0xf2, 0x9b, 0x08, 0xb7,
+  0xc2, 0x06, 0xbd, 0x19, 0x1f, 0x47, 0x57, 0xfc, 0xf4, 0xb4, 0xcd, 0x92,
+  0xd1, 0x1d, 0xb8, 0x0a, 0x6d, 0x90, 0x57, 0x44, 0x52, 0x3e, 0x9a, 0x7c,
+  0x3a, 0x3f, 0xc3, 0x2f, 0x64, 0xd1, 0xe3, 0xb4, 0x5c, 0xc7, 0x09, 0x2f,
+  0xfc, 0x90, 0x42, 0x80, 0x9b, 0xcd, 0x99, 0x1d, 0x1c, 0xa5, 0x93, 0x6c,
+  0x9a, 0x91, 0x42, 0xdb, 0xd7, 0x54, 0x4a, 0x8e, 0x12, 0xa4, 0xc1, 0xf0,
+  0x58, 0x78, 0x09, 0x4d, 0xe7, 0x9d, 0x9f, 0x3b, 0x4d, 0x03, 0x21, 0x0e,
+  0xe4, 0xe7, 0xd5, 0x03, 0x31, 0xf9, 0xea, 0xcb, 0xe3, 0xd5, 0x1c, 0x48,
+  0x9e, 0xba, 0x9a, 0x81, 0xe3, 0xc0, 0xeb, 0x19, 0xb5, 0x65, 0xb1, 0x2a,
+  0x69, 0x18, 0x80, 0x21, 0x9b, 0xe6, 0x89, 0x82, 0x3e, 0x2b, 0x0c, 0xb1,
+  0x66, 0x29, 0x0f, 0x5d, 0xff, 0xd9, 0xf0, 0x3d, 0xe7, 0xa4, 0x8e, 0x9b,
+  0x46, 0x0f, 0x93, 0x7c, 0xcd, 0xc0, 0x01, 0x81, 0x85, 0x23, 0xe3, 0x15,
+  0xc6, 0x24, 0xe0, 0x21, 0x46, 0xb6, 0x9c, 0xcd, 0xac, 0x77, 0x2f, 0x68,
+  0xea, 0x84, 0xb1, 0xbe, 0x7b, 0xf6, 0xf2, 0x4d, 0xb4, 0x89, 0x76, 0x80,
+  0xa6, 0xa9, 0x4d, 0xf9, 0xfa, 0x76, 0x5a, 0x0d, 0xb7, 0xe7, 0xef, 0xb3,
+  0xed, 0x59, 0x59, 0x8e, 0x06, 0x5b, 0xc6, 0x3d, 0xad, 0xb6, 0x32, 0x6b,
+  0x1e, 0x53, 0xfb, 0x18, 0x19, 0xc8, 0x9a, 0x07, 0xd4, 0x31, 0x98, 0xe1,
+  0x95, 0x62, 0xec, 0x64, 0xb4, 0x46, 0x74, 0xfc, 0x29, 0xaa, 0x89, 0xa3,
+  0x86, 0x29, 0x16, 0x2a, 0xc0, 0xe2, 0x9d, 0xe8, 0x6e, 0x81, 0x22, 0xc0,
+  0xf0, 0x6e, 0x14, 0xd9, 0x09, 0x80, 0x26, 0x63, 0xb0, 0x05, 0x5a, 0x39,
+  0xb1, 0x2d, 0x8e, 0xac, 0x4d, 0x11, 0x5e, 0x0c, 0x05, 0x62, 0x48, 0x38,
+  0xa9, 0x89, 0x9a, 0x64, 0x4d, 0xb5, 0xb7, 0xdd, 0x41, 0x96, 0xc6, 0x58,
+  0x18, 0x26, 0x60, 0x0c, 0x0e, 0xe6, 0x78, 0xc1, 0xf6, 0xd5, 0x80, 0x4d,
+  0x0c, 0xb6, 0x13, 0x17, 0xc5, 0x6c, 0x81, 0xee, 0x66, 0x3b, 0x1d, 0xb5,
+  0x29, 0xab, 0xd6, 0x2e, 0xa9, 0x5c, 0x82, 0x59, 0xa0, 0x5c, 0xc4, 0x81,
+  0x2b, 0x5a, 0xd7, 0xb3, 0xcb, 0x0b, 0x9a, 0x98, 0x4d, 0xc1, 0x2b, 0x7b,
+  0x13, 0x91, 0x70, 0x9e, 0x3e, 0xde, 0xdd, 0xdb, 0xaa, 0x85, 0x7c, 0x09,
+  0xd7, 0xf0, 0x52, 0x45, 0x51, 0xf7, 0x4f, 0xea, 0x5c, 0x1e, 0x15, 0x22,
+  0x91, 0x54, 0x6d, 0xd3, 0xa3, 0x14, 0x5d, 0x93, 0x20, 0x8b, 0xa9, 0x0f,
+  0x74, 0x90, 0xc2, 0x20, 0xbd, 0x8d, 0xb7, 0x90, 0x04, 0x22, 0x46, 0x74,
+  0xac, 0x2e, 0x88, 0x79, 0x44, 0xb0, 0x01, 0x95, 0x9c, 0x41, 0x77, 0xd4,
+  0x3d, 0x5e, 0xa7, 0xa4, 0xc5, 0x16, 0x8b, 0xf3, 0x72, 0xc4, 0x89, 0xae,
+  0x8d, 0xb9, 0x89, 0x63, 0x59, 0x2c, 0xe1, 0xd5, 0x26, 0xdc, 0x10, 0xe3,
+  0x92, 0x9b, 0xe2, 0x9b, 0x8c, 0xa9, 0x83, 0xd7, 0xce, 0x8c, 0xa2, 0xe8,
+  0x12, 0x47, 0x46, 0xd1, 0xd5, 0x77, 0xa5, 0x87, 0x7a, 0xab, 0x81, 0x10,
+  0x54, 0xe4, 0x38, 0x20, 0x1f, 0x85, 0x9b, 0x0c, 0x9b, 0x79, 0xd7, 0xb6,
+  0xf3, 0x2e, 0x37, 0xf3, 0x36, 0x59, 0x87, 0x6c, 0x0f, 0xee, 0xbd, 0xd8,
+  0xed, 0x07, 0xa9, 0x64, 0x03, 0x33, 0xaf, 0x31, 0xd7, 0x98, 0x77, 0xe9,
+  0xc3, 0xeb, 0xdb, 0x7a, 0x6b, 0xd1, 0xb5, 0x55, 0x37, 0xbd, 0x62, 0x7a,
+  0x1b, 0xda, 0x5a, 0xdf, 0x8b, 0xad, 0x95, 0x2e, 0x73, 0x73, 0x94, 0x7c,
+  0x6f, 0x8d, 0xca, 0x08, 0x31, 0x65, 0x99, 0x37, 0x8c, 0x52, 0xb8, 0x08,
+  0xce, 0x0d, 0xd9, 0xb3, 0xc7, 0x9d, 0x72, 0x60, 0xc2, 0xbe, 0x24, 0x4d,
+  0x5b, 0x71, 0x9c, 0xe0, 0x81, 0xb3, 0x0f, 0x62, 0x5d, 0x42, 0xd0, 0x67,
+  0xa0, 0xce, 0x8d, 0x52, 0x8d, 0x1d, 0x6f, 0xd2, 0x02, 0x1e, 0x7a, 0x45,
+  0x08, 0x59, 0x76, 0xf8, 0x25, 0xd5, 0xb9, 0xf5, 0x7c, 0x37, 0xad, 0xbe,
+  0xc7, 0xde, 0x15, 0x5f, 0x1a, 0xb9, 0xc9, 0x4a, 0x75, 0x14, 0x0d, 0x40,
+  0x0b, 0xe7, 0x6b, 0xc2, 0x05, 0x27, 0xd9, 0x19, 0x3f, 0x52, 0xcd, 0x96,
+  0x47, 0xb6, 0x55, 0x38, 0x2e, 0x9b, 0xa7, 0x92, 0x34, 0x78, 0xfe, 0xfc,
+  0x47, 0x27, 0x07, 0xd5, 0x33, 0x51, 0x91, 0x29, 0xf8, 0x4f, 0x26, 0x67,
+  0x00, 0x34, 0x51, 0x54, 0x0c, 0xd8, 0x7d, 0x9c, 0x88, 0xa5, 0x96, 0x22,
+  0x11, 0xb7, 0x6c, 0x82, 0x0b, 0x2e, 0x75, 0xe7, 0x90, 0xbe, 0x6b, 0xfa,
+  0xa2, 0x05, 0x10, 0xe2, 0x9b, 0x9f, 0xf9, 0xeb, 0x88, 0xa3, 0x97, 0x7f,
+  0x3e, 0xac, 0xae, 0x16, 0xd3, 0x01, 0xec, 0xe7, 0xac, 0xfa, 0xa6, 0x13,
+  0x71, 0x9c, 0xdb, 0x58, 0xd6, 0x73, 0x89, 0xb9, 0x22, 0x53, 0xd8, 0x21,
+  0xa1, 0xb0, 0xfa, 0xaa, 0xf1, 0xe8, 0x14, 0xfc, 0xc4, 0x26, 0x9b, 0xc0,
+  0xe6, 0xb1, 0x37, 0xc9, 0x93, 0x0b, 0xdf, 0x02, 0x79, 0xfe, 0xfc, 0xea,
+  0xef, 0x3f, 0x7f, 0xb5, 0xff, 0x28, 0x79, 0x9a, 0x0c, 0x9f, 0x8c, 0xbf,
+  0x4c, 0x1e, 0x8f, 0x1e, 0x3f, 0xfd, 0x6a, 0xef, 0xcb, 0xc7, 0xc9, 0xd3,
+  0x47, 0xe3, 0xe4, 0xc9, 0x6e, 0xba, 0xfb, 0xd5, 0x78, 0x6f, 0x7f, 0x34,
+  0x1a, 0xa7, 0x5f, 0x8e, 0x9e, 0x26, 0x9d, 0x1e, 0xa9, 0x64, 0x3a, 0x74,
+  0x9f, 0xd5, 0xaa, 0xee, 0x95, 0x44, 0xfd, 0x17, 0x47, 0xf1, 0x6e, 0x74,
+  0x95, 0xde, 0xea, 0x01, 0x63, 0xa7, 0x82, 0xc9, 0xc5, 0x48, 0x25, 0xcf,
+  0xae, 0x7d, 0xb2, 0x0a, 0x84, 0x86, 0x59, 0x74, 0x68, 0x0d, 0xe4, 0xb4,
+  0x2b, 0x5a, 0x45, 0x5d, 0x56, 0xce, 0xb6, 0x30, 0x16, 0xfc, 0x03, 0xf5,
+  0x9a, 0xe1, 0xbc, 0x9a, 0x87, 0xff, 0x14, 0xcd, 0x56, 0xaf, 0x92, 0xe1,
+  0x15, 0x41, 0x50, 0xc8, 0x83, 0x7d, 0x8e, 0x20, 0xe9, 0x46, 0xf2, 0x0b,
+  0xea, 0x5a, 0x4e, 0x1b, 0xdf, 0x17, 0xf9, 0x62, 0x7e, 0x9e, 0x4f, 0xb2,
+  0xe1, 0xdd, 0xb2, 0xe6, 0xdc, 0xc7, 0x6a, 0x5f, 0x9c, 0x30, 0x0b, 0xcf,
+  0xca, 0xb4, 0xcd, 0x38, 0x4f, 0xf6, 0xc6, 0xb5, 0xed, 0x79, 0x2d, 0x21,
+  0xe6, 0x0f, 0x50, 0xfa, 0x68, 0xfd, 0x89, 0x45, 0xb0, 0xb0, 0x0c, 0xff,
+  0xad, 0xaf, 0xf6, 0xd9, 0x0b, 0x60, 0xa5, 0xde, 0x17, 0x0f, 0xb3, 0xf9,
+  0x15, 0x86, 0xcf, 0x1d, 0x52, 0xae, 0x09, 0xb0, 0x57, 0xf9, 0x20, 0xac,
+  0xef, 0xf5, 0x85, 0x01, 0x94, 0x42, 0x3e, 0xfa, 0xb6, 0xc8, 0x7b, 0x99,
+  0x02, 0x87, 0xa9, 0xdd, 0x57, 0x12, 0x9c, 0x32, 0xcf, 0x30, 0x4e, 0x1e,
+  0x5f, 0x79, 0x59, 0xe4, 0x75, 0x55, 0x0a, 0x18, 0x74, 0x47, 0xbf, 0xed,
+  0x31, 0x56, 0xc5, 0x62, 0x8e, 0xba, 0x0f, 0x61, 0x10, 0xd2, 0xe7, 0xcd,
+  0x73, 0x8d, 0x83, 0x17, 0x02, 0x65, 0x25, 0x09, 0x36, 0xf1, 0xed, 0x9b,
+  0xd3, 0x83, 0xe6, 0x22, 0x99, 0x85, 0x24, 0x1f, 0x6f, 0x99, 0x6e, 0x8f,
+  0xf2, 0x61, 0xb9, 0x5d, 0x96, 0x13, 0x5d, 0x08, 0x42, 0x4b, 0x0b, 0x5b,
+  0x06, 0x64, 0xb8, 0xeb, 0x91, 0xc7, 0x47, 0xb4, 0xf7, 0x4a, 0xff, 0x27,
+  0xc7, 0xcf, 0x5e, 0x9c, 0xc4, 0xf0, 0x6f, 0xff, 0x28, 0x3e, 0x3a, 0xe9,
+  0xef, 0x3d, 0x7e, 0x12, 0x1f, 0x1f, 0xbf, 0xfa, 0x72, 0x4d, 0x12, 0xa9,
+  0x26, 0xe5, 0xf5, 0x6e, 0x6f, 0xbf, 0x46, 0x0a, 0xf9, 0x94, 0x78, 0x77,
+  0x3a, 0x8a, 0xcb, 0xd2, 0x8b, 0x4d, 0xc7, 0xfc, 0x75, 0x8e, 0x2e, 0x3d,
+  0x91, 0x34, 0x0e, 0xba, 0xec, 0xe3, 0x6c, 0x46, 0x29, 0xe7, 0xfa, 0xb2,
+  0xe6, 0x49, 0x71, 0xdc, 0x90, 0x89, 0x0b, 0xef, 0x06, 0x7c, 0xa8, 0x89,
+  0xdc, 0x5a, 0x7f, 0x72, 0xad, 0xa1, 0x28, 0x53, 0xe7, 0x85, 0x41, 0x42,
+  0x21, 0x44, 0xa7, 0xe5, 0xd6, 0xc3, 0xda, 0xa8, 0x5b, 0x22, 0x6d, 0x1e,
+  0x6e, 0x3d, 0xac, 0xb5, 0xbe, 0xf6, 0x89, 0xae, 0x8f, 0xad, 0x5c, 0x27,
+  0x98, 0xd3, 0x79, 0xb9, 0x9e, 0x8c, 0xf3, 0xa4, 0x61, 0x41, 0x34, 0x8f,
+  0x85, 0xa3, 0xc2, 0xd4, 0x64, 0x9e, 0x44, 0xf6, 0x49, 0x6b, 0x3f, 0x56,
+  0xc8, 0x18, 0xa3, 0xc5, 0x99, 0xc8, 0xca, 0x72, 0x19, 0x34, 0x09, 0xcb,
+  0xfa, 0xf5, 0x40, 0x0d, 0xc4, 0xdf, 0xe1, 0x0e, 0x5c, 0x5c, 0x9f, 0x5e,
+  0xf4, 0x82, 0xa3, 0x2d, 0x9b, 0xd2, 0x95, 0xa0, 0x24, 0xb6, 0x66, 0xc7,
+  0x78, 0x49, 0x29, 0x1a, 0x02, 0xda, 0x66, 0xa0, 0x5f, 0xcc, 0xac, 0x87,
+  0xda, 0xbf, 0x5b, 0x15, 0x1b, 0xc8, 0x3a, 0xeb, 0x8b, 0x54, 0x6c, 0x8c,
+  0x51, 0x5a, 0x14, 0x79, 0xd1, 0x0b, 0x10, 0xad, 0x25, 0xd3, 0xd8, 0xbb,
+  0x0c, 0x97, 0x93, 0x6d, 0x3a, 0xc9, 0xf0, 0x63, 0x8a, 0xba, 0x77, 0x36,
+  0xf2, 0x7e, 0x84, 0x7c, 0xbf, 0xa0, 0x64, 0xa0, 0xda, 0xe6, 0xa8, 0x56,
+  0x53, 0xf1, 0xc3, 0x29, 0x78, 0xdd, 0x2b, 0xa8, 0xe5, 0xe0, 0xc4, 0x7f,
+  0x91, 0xa0, 0xe4, 0x71, 0x76, 0x19, 0x8e, 0x30, 0xb3, 0x69, 0x51, 0x15,
+  0x66, 0x93, 0x6a, 0xf8, 0x18, 0x02, 0x31, 0x88, 0x41, 0x43, 0xed, 0x3d,
+  0x25, 0xcb, 0xd1, 0xc6, 0xd2, 0x57, 0xc7, 0x7e, 0x74, 0x20, 0x20, 0xeb,
+  0xaf, 0x60, 0x0e, 0x49, 0x64, 0x22, 0x93, 0x4d, 0x1f, 0xb5, 0x94, 0x24,
+  0x04, 0x25, 0xa5, 0x03, 0xd1, 0xb4, 0x34, 0xa0, 0xe3, 0xd3, 0xf2, 0xff,
+  0x10, 0x52, 0x66, 0x73, 0x51, 0xce, 0xe6, 0x35, 0xdc, 0x9c, 0x8c, 0x80,
+  0x5b, 0x13, 0x4a, 0xb5, 0x0e, 0x49, 0xd6, 0xb9, 0x13, 0xa5, 0xc4, 0xd9,
+  0x4c, 0x9e, 0xcc, 0x59, 0x99, 0x24, 0x37, 0x05, 0x3c, 0x23, 0x81, 0x1c,
+  0xae, 0x64, 0x10, 0x3b, 0x31, 0x17, 0x18, 0xc1, 0x79, 0x27, 0xb9, 0x55,
+  0x70, 0x04, 0x1c, 0x06, 0xa3, 0xb4, 0x7b, 0x9e, 0xdc, 0x84, 0xe7, 0xdf,
+  0x26, 0xaf, 0xb2, 0xbb, 0x9c, 0x3f, 0xa0, 0x63, 0x3d, 0xd0, 0x28, 0x31,
+  0x2b, 0xed, 0xca, 0xee, 0x05, 0xed, 0xb8, 0x92, 0x2d, 0xcd, 0x58, 0x89,
+  0x19, 0x21, 0x81, 0x0a, 0x6e, 0x24, 0x27, 0x7f, 0xab, 0xff, 0xbb, 0xcc,
+  0x25, 0xcb, 0x0e, 0x07, 0x8a, 0xe3, 0xe4, 0x31, 0x36, 0x4f, 0xad, 0xc1,
+  0x84, 0xac, 0x19, 0x03, 0x92, 0xd2, 0xe6, 0x50, 0x97, 0xc6, 0xc8, 0xe3,
+  0x38, 0x77, 0x75, 0x35, 0x03, 0xa3, 0x8b, 0xfc, 0x84, 0x74, 0x1a, 0x49,
+  0x91, 0x6a, 0x17, 0x70, 0xd4, 0x1a, 0xa3, 0x92, 0x71, 0xc4, 0xbe, 0xe1,
+  0xd5, 0x64, 0x5d, 0x3b, 0x03, 0xd0, 0xec, 0x6b, 0xb3, 0xcd, 0x61, 0xef,
+  0x63, 0x6a, 0x1f, 0xb0, 0xde, 0x6c, 0xbb, 0x87, 0x64, 0xe8, 0x12, 0x14,
+  0x13, 0x1e, 0xf7, 0x01, 0x23, 0x76, 0x7d, 0xbd, 0x15, 0xf2, 0xef, 0x39,
+  0x8d, 0x89, 0x3c, 0x85, 0xb1, 0x07, 0xa0, 0xb9, 0x4e, 0xf2, 0x52, 0x9d,
+  0xfc, 0xb0, 0x81, 0x0c, 0xde, 0xc9, 0x30, 0x3c, 0x06, 0xd2, 0xb3, 0xd1,
+  0x1c, 0x3f, 0xc3, 0xdb, 0x33, 0x36, 0xa2, 0xbe, 0x18, 0x1c, 0x2d, 0xd8,
+  0x28, 0x41, 0x73, 0x18, 0x5b, 0x0e, 0x0c, 0xee, 0xe7, 0x9f, 0x41, 0x5a,
+  0xff, 0xb9, 0xd3, 0x1c, 0xdd, 0xcf, 0xc0, 0x47, 0x7f, 0x06, 0x5a, 0xfc,
+  0x99, 0x01, 0x24, 0x7e, 0xbe, 0x46, 0x23, 0x0c, 0xfa, 0x88, 0xca, 0x09,
+  0xc6, 0x27, 0xb0, 0x9a, 0x5b, 0xb7, 0xa1, 0x33, 0xac, 0x2a, 0x27, 0x80,
+  0x78, 0x26, 0x1a, 0x76, 0xc8, 0x87, 0x57, 0x94, 0x73, 0xd2, 0x60, 0xf7,
+  0x16, 0xd3, 0x99, 0xd8, 0x0a, 0x98, 0x56, 0x89, 0x0b, 0x30, 0x36, 0x79,
+  0xb4, 0xf1, 0xbb, 0x0d, 0x87, 0xb2, 0xba, 0x21, 0xf3, 0x64, 0x91, 0xb2,
+  0x30, 0x4c, 0x02, 0x5d, 0xe6, 0xe4, 0x2b, 0x2a, 0x24, 0x29, 0x19, 0x80,
+  0x38, 0x82, 0xc8, 0x17, 0x4f, 0xce, 0xd0, 0x67, 0xca, 0xa0, 0x1d, 0xb9,
+  0x35, 0xed, 0x20, 0x76, 0xc9, 0xfc, 0xea, 0xae, 0xc4, 0xeb, 0x52, 0xc6,
+  0x63, 0xc4, 0x65, 0x1c, 0x62, 0x30, 0x14, 0x54, 0x99, 0x21, 0xef, 0x31,
+  0x3e, 0x42, 0x66, 0x10, 0x64, 0x88, 0x86, 0x8b, 0xc2, 0x58, 0x36, 0xe2,
+  0x0d, 0x13, 0x79, 0x41, 0x3c, 0x92, 0xb8, 0x65, 0x4b, 0xaa, 0xaa, 0xcd,
+  0xc1, 0xf2, 0xba, 0x73, 0x1c, 0x08, 0xb9, 0x9b, 0xf5, 0x65, 0xf1, 0x72,
+  0x11, 0x5b, 0x47, 0xc6, 0x5d, 0xe3, 0x03, 0x6c, 0x7b, 0x6f, 0xee, 0x55,
+  0x6a, 0x50, 0x97, 0x74, 0x1e, 0x98, 0x97, 0x66, 0x5d, 0xfc, 0x71, 0x4c,
+  0x28, 0xe6, 0x73, 0x46, 0x1e, 0x47, 0xf2, 0xa0, 0x50, 0xbc, 0x3b, 0x44,
+  0xe9, 0x98, 0x4f, 0x3c, 0xde, 0x2b, 0x79, 0x47, 0x8a, 0xdd, 0x8a, 0x87,
+  0x1d, 0x11, 0xb0, 0x6f, 0x66, 0x82, 0x51, 0xdc, 0xcf, 0xc9, 0x73, 0x32,
+  0xa4, 0xa0, 0x3e, 0x8e, 0x1c, 0x55, 0xbc, 0x8f, 0x80, 0x45, 0x06, 0xa5,
+  0x0b, 0x4f, 0x41, 0xc0, 0xf1, 0x7c, 0xcd, 0x20, 0xae, 0x9e, 0x9a, 0xd0,
+  0xf1, 0xb4, 0x89, 0xdf, 0xc1, 0x0c, 0x62, 0xbd, 0x43, 0x23, 0xd1, 0xdb,
+  0x62, 0xff, 0xa9, 0xca, 0x88, 0x16, 0x42, 0x33, 0xcd, 0x47, 0xa4, 0x5b,
+  0xe7, 0x6e, 0x6d, 0xfa, 0x06, 0x14, 0xfd, 0x04, 0x9e, 0xc2, 0x41, 0x21,
+  0xc3, 0x12, 0x64, 0xe7, 0xc8, 0x8f, 0x27, 0x8c, 0x93, 0x4b, 0x34, 0xe2,
+  0x7c, 0x8d, 0xa8, 0x62, 0x98, 0x5a, 0x87, 0x7f, 0x6d, 0xef, 0xf6, 0x76,
+  0x42, 0x33, 0xc0, 0x55, 0x17, 0x00, 0x25, 0x71, 0xae, 0xe1, 0xda, 0x56,
+  0x79, 0xbe, 0x7a, 0x8c, 0xbc, 0x2c, 0x70, 0xf5, 0xcd, 0xa1, 0x87, 0xf0,
+  0x68, 0xe2, 0xb3, 0xe6, 0x27, 0x64, 0x59, 0x81, 0x5e, 0xbe, 0x36, 0x50,
+  0xb9, 0xb3, 0x9c, 0x10, 0x98, 0x40, 0x56, 0x9a, 0x4c, 0x6a, 0xa0, 0xdb,
+  0x9d, 0x96, 0xf5, 0x9e, 0x51, 0x2a, 0x5a, 0xda, 0x5c, 0xf6, 0x26, 0x92,
+  0x94, 0x09, 0xce, 0xc4, 0xc5, 0x9f, 0x49, 0x00, 0x05, 0xd0, 0xc7, 0xa6,
+  0x24, 0x23, 0x60, 0x3e, 0x80, 0x48, 0xfe, 0x2c, 0x5b, 0x6e, 0x71, 0xea,
+  0x2a, 0x83, 0xbe, 0x25, 0x2d, 0x3e, 0x06, 0xe7, 0xb8, 0xda, 0x60, 0xea,
+  0x8c, 0x7c, 0x81, 0x24, 0x5a, 0x74, 0x11, 0x30, 0x7a, 0xc6, 0x1e, 0x4d,
+  0x73, 0x46, 0x43, 0xbe, 0x78, 0x14, 0xec, 0x59, 0x72, 0xd1, 0xa6, 0x6b,
+  0x6d, 0x67, 0x25, 0x8f, 0x46, 0x5c, 0x7f, 0x7a, 0xef, 0x2b, 0x43, 0xf6,
+  0x62, 0xb9, 0x08, 0xd7, 0x5d, 0x01, 0x25, 0x48, 0xb1, 0xf2, 0x88, 0x7b,
+  0x77, 0x2b, 0xea, 0xfc, 0x7f, 0x28, 0x58, 0xfc, 0xc5, 0xd9, 0xab, 0x93,
+  0xed, 0x1e, 0x2e, 0x4e, 0x31, 0xf4, 0x88, 0x62, 0x0f, 0x1f, 0xfb, 0xf1,
+  0xd9, 0xf7, 0xef, 0x8e, 0xcf, 0x5e, 0x3f, 0x7f, 0xf9, 0x7d, 0xfd, 0xe1,
+  0x68, 0xd3, 0xcd, 0x4e, 0xd9, 0xef, 0xed, 0x6c, 0x35, 0x5f, 0xdf, 0xc7,
+  0xd7, 0x97, 0x76, 0xf0, 0x68, 0x4b, 0x83, 0x2d, 0x0f, 0xa2, 0xce, 0xef,
+  0xdf, 0xf6, 0x4f, 0xde, 0x9c, 0xbf, 0x39, 0x43, 0x68, 0xca, 0xdf, 0xff,
+  0xdc, 0xf6, 0xca, 0xe3, 0xda, 0x2b, 0x47, 0xe7, 0xe7, 0xcf, 0x8e, 0x2e,
+  0x8e, 0xda, 0x1f, 0x7f, 0xd2, 0xde, 0xc3, 0xd1, 0x1c, 0x61, 0x41, 0x39,
+  0x10, 0xe6, 0x19, 0xd0, 0x5c, 0x6b, 0x1b, 0x4f, 0xb7, 0x80, 0x1f, 0xce,
+  0x62, 0xd3, 0x0e, 0x5a, 0x38, 0x2e, 0xd3, 0x6a, 0x7e, 0xb3, 0xc8, 0x46,
+  0x9c, 0x99, 0x2d, 0x9a, 0xc8, 0x55, 0xae, 0x11, 0xe5, 0x68, 0xc0, 0x6d,
+  0x36, 0xf3, 0xe5, 0x16, 0x5c, 0x08, 0x3a, 0x9a, 0xae, 0x44, 0xe3, 0xe3,
+  0xbb, 0x24, 0xd4, 0x4b, 0xe7, 0x9a, 0x67, 0x29, 0xe6, 0x44, 0xb9, 0x64,
+  0x43, 0x91, 0xa6, 0x8c, 0x09, 0x38, 0x42, 0x61, 0x3f, 0xbf, 0x46, 0xb6,
+  0x8b, 0x0c, 0xcf, 0x52, 0x6d, 0x6e, 0xef, 0x15, 0x0d, 0x74, 0x57, 0x3b,
+  0xf3, 0x04, 0x4e, 0x8c, 0xd7, 0xdc, 0x70, 0x51, 0xe9, 0x09, 0x20, 0x12,
+  0x1a, 0x05, 0x6e, 0x33, 0x83, 0xd5, 0x89, 0x22, 0x93, 0xde, 0x41, 0x2c,
+  0x00, 0x28, 0x85, 0xe2, 0xe5, 0xa6, 0x56, 0x40, 0x10, 0x05, 0x74, 0x56,
+  0x81, 0xb0, 0xa0, 0x77, 0xfc, 0x55, 0x57, 0x51, 0x8f, 0x18, 0xa4, 0x8c,
+  0xaf, 0xb7, 0xbc, 0x98, 0x52, 0x00, 0xe7, 0x19, 0x05, 0xce, 0x6b, 0x7e,
+  0x00, 0xc3, 0xaf, 0xb5, 0x44, 0x19, 0xbb, 0x47, 0x44, 0x9a, 0x26, 0x43,
+  0x76, 0x00, 0x49, 0x40, 0x0e, 0xd7, 0xa7, 0x03, 0x12, 0x70, 0x2f, 0xf2,
+  0xb5, 0x03, 0x6b, 0xff, 0xd1, 0xb5, 0xfc, 0xa8, 0xae, 0xdf, 0x0b, 0xa2,
+  0x00, 0x0c, 0x11, 0x25, 0xeb, 0xc3, 0xb1, 0x94, 0x02, 0x49, 0x26, 0x02,
+  0x85, 0xe6, 0xd9, 0xea, 0x5e, 0x25, 0xb7, 0xd9, 0x74, 0x31, 0xa5, 0x59,
+  0xe1, 0xa4, 0xe4, 0x31, 0xc1, 0x82, 0x26, 0x27, 0x05, 0xc7, 0x73, 0xd2,
+  0xc0, 0x37, 0xca, 0xc8, 0xb1, 0xd8, 0x85, 0xee, 0x49, 0x90, 0x2a, 0x7a,
+  0x26, 0x3e, 0x4c, 0x91, 0x69, 0xa6, 0x59, 0x55, 0x36, 0xac, 0x7d, 0x20,
+  0xde, 0x24, 0x18, 0xfa, 0x06, 0xd3, 0xd1, 0x08, 0x57, 0x17, 0x3b, 0xba,
+  0x06, 0x21, 0x2d, 0xf2, 0xa8, 0x93, 0x84, 0x92, 0x16, 0x59, 0x3e, 0x32,
+  0x81, 0x0f, 0x9a, 0xb6, 0x1a, 0xc5, 0xec, 0x9a, 0x22, 0x9b, 0x7f, 0xc8,
+  0x98, 0x96, 0xde, 0x62, 0x1a, 0x72, 0xd4, 0xa7, 0xb4, 0x77, 0xcd, 0x28,
+  0x79, 0xda, 0xdb, 0xdf, 0x43, 0x8c, 0xd3, 0x5a, 0x18, 0x04, 0x23, 0x6d,
+  0xa3, 0x9d, 0x22, 0x9b, 0x2a, 0xa0, 0x54, 0xd9, 0x12, 0xda, 0xd9, 0x58,
+  0x74, 0x81, 0x93, 0x14, 0xad, 0x6f, 0x99, 0xd9, 0xaf, 0x19, 0x9e, 0x7c,
+  0x6f, 0x88, 0x97, 0x72, 0x09, 0x55, 0xd5, 0xc6, 0xb2, 0xb7, 0x13, 0x24,
+  0xac, 0xfb, 0xbd, 0xbc, 0xdf, 0xdb, 0x7d, 0xb4, 0x1e, 0x5d, 0x12, 0x0e,
+  0xd5, 0x34, 0xb9, 0xa5, 0x26, 0x82, 0x84, 0x99, 0x47, 0x87, 0x2f, 0xce,
+  0xfa, 0x17, 0xbb, 0x07, 0xe7, 0x67, 0x6f, 0xe0, 0x5f, 0xfc, 0x7d, 0x8f,
+  0x7e, 0xdf, 0xfb, 0xa6, 0xd9, 0x2c, 0xc1, 0xc3, 0x27, 0x91, 0x41, 0x8b,
+  0x20, 0xd9, 0x90, 0xce, 0xbe, 0xe8, 0x98, 0x4e, 0x43, 0xa8, 0xd2, 0x64,
+  0x28, 0x9e, 0x0f, 0x0d, 0x2a, 0x51, 0x93, 0x32, 0x9d, 0xae, 0x34, 0xd8,
+  0x5f, 0x8d, 0x8f, 0x6e, 0xde, 0x42, 0x56, 0xa9, 0x1c, 0x2b, 0xe0, 0x70,
+  0x8a, 0x3d, 0xd7, 0x34, 0x9f, 0x30, 0xca, 0x97, 0x00, 0x44, 0xb0, 0x65,
+  0x07, 0x6e, 0x73, 0x8c, 0x01, 0xaf, 0x7f, 0x35, 0x9c, 0x80, 0x86, 0x95,
+  0x62, 0x24, 0xe6, 0x28, 0x15, 0xae, 0x31, 0xf1, 0x61, 0x8c, 0x49, 0x17,
+  0x63, 0xfc, 0x89, 0x82, 0x71, 0x84, 0x1b, 0x23, 0xa3, 0xa3, 0xa4, 0xde,
+  0x6d, 0x18, 0x4f, 0x42, 0xd0, 0xad, 0x8a, 0x9a, 0xd4, 0x6c, 0x8e, 0x32,
+  0x70, 0x5c, 0xd3, 0xba, 0xe2, 0x60, 0xbf, 0x3e, 0xbb, 0x88, 0x12, 0xb2,
+  0x0a, 0xf1, 0x52, 0x62, 0xea, 0x26, 0x72, 0xe8, 0x6d, 0xb2, 0x6f, 0xc9,
+  0xa9, 0x0f, 0xca, 0x1f, 0xc4, 0x35, 0x2f, 0x4e, 0xfb, 0xdb, 0x68, 0x58,
+  0xe7, 0x60, 0xf7, 0xfe, 0xeb, 0x97, 0xdd, 0x9a, 0xc7, 0xce, 0x0d, 0x1c,
+  0xdd, 0x42, 0x05, 0x54, 0x8a, 0x64, 0x34, 0xd7, 0xce, 0xb9, 0x55, 0x0d,
+  0x1e, 0x76, 0x2f, 0xea, 0xd0, 0x86, 0x76, 0x18, 0x8b, 0xa4, 0x43, 0xfb,
+  0xda, 0x61, 0x60, 0x0a, 0xd2, 0x4f, 0x69, 0xbc, 0x08, 0x72, 0x7f, 0xe7,
+  0x63, 0x3e, 0x91, 0xb9, 0x0e, 0x31, 0x43, 0xf1, 0x82, 0xe8, 0xa0, 0x72,
+  0x88, 0x13, 0xa3, 0x49, 0x75, 0xa4, 0xe1, 0x3d, 0x6e, 0x98, 0xda, 0x85,
+  0xdf, 0xb1, 0x59, 0x22, 0xda, 0x41, 0x30, 0xec, 0x87, 0xfa, 0xb1, 0x4d,
+  0x9b, 0xb6, 0x61, 0x60, 0xe4, 0x9c, 0xe5, 0xa7, 0x94, 0x38, 0x90, 0x2d,
+  0xc2, 0x74, 0xb3, 0x4b, 0x0c, 0xad, 0xf2, 0xc2, 0x16, 0xcd, 0x40, 0x9a,
+  0x14, 0x7e, 0x04, 0x52, 0x2d, 0x7c, 0xdb, 0x71, 0x2c, 0x3a, 0x95, 0x97,
+  0x28, 0x48, 0xe9, 0x2b, 0x85, 0xaa, 0x91, 0x3a, 0x20, 0x64, 0x9b, 0x55,
+  0x40, 0x83, 0x2a, 0x59, 0xb5, 0x43, 0x09, 0xdd, 0xf8, 0xc1, 0x15, 0xdc,
+  0x41, 0x0f, 0x12, 0x55, 0x33, 0x10, 0x10, 0x68, 0x51, 0xfd, 0xc9, 0x79,
+  0xde, 0x6c, 0x8e, 0xcb, 0xf0, 0xe0, 0xd5, 0x81, 0xf1, 0xf8, 0xe8, 0xfd,
+  0xdf, 0xdd, 0x7b, 0xda, 0xdb, 0x81, 0xff, 0x83, 0x7d, 0x11, 0x6b, 0x11,
+  0xd5, 0xfd, 0xb0, 0xd5, 0x1d, 0xcc, 0x93, 0x0e, 0x06, 0x9d, 0x0b, 0x45,
+  0xd7, 0xcb, 0x8b, 0xcb, 0x4e, 0xf8, 0xba, 0x55, 0xfe, 0xf0, 0x49, 0xaf,
+  0x5c, 0xed, 0xc4, 0xe1, 0x66, 0x07, 0x8f, 0x1e, 0xed, 0x1f, 0xe8, 0xdf,
+  0x70, 0x94, 0x0e, 0xbe, 0x84, 0x0f, 0x3e, 0x04, 0xd7, 0xe7, 0x05, 0x32,
+  0x41, 0x86, 0x0d, 0xa8, 0x87, 0xf3, 0x7e, 0x55, 0x33, 0xc6, 0x37, 0x01,
+  0x17, 0xa2, 0xc3, 0x7c, 0x3c, 0x86, 0x4b, 0xa1, 0x79, 0x41, 0x1f, 0xcb,
+  0x23, 0xdb, 0x6f, 0xa4, 0x44, 0x96, 0x49, 0x7f, 0xae, 0x57, 0x72, 0xa0,
+  0xf0, 0x6e, 0x97, 0x3d, 0x72, 0x73, 0xbd, 0x50, 0x56, 0x65, 0xed, 0x09,
+  0x1b, 0xc5, 0x87, 0xcb, 0x82, 0xbc, 0xb3, 0x09, 0xb8, 0xba, 0x04, 0x1e,
+  0xab, 0x7c, 0x9f, 0xcd, 0xe7, 0xa8, 0x2a, 0x51, 0x59, 0x1c, 0x3c, 0x21,
+  0x26, 0x5a, 0x81, 0x82, 0x66, 0x18, 0xcb, 0x5d, 0x42, 0xfa, 0x09, 0xdb,
+  0x40, 0xa3, 0x1a, 0x06, 0xe9, 0xd8, 0xf7, 0xb9, 0x67, 0x3c, 0x1a, 0x17,
+  0x56, 0x56, 0xe2, 0x9e, 0x46, 0x08, 0x21, 0x3b, 0x4b, 0x84, 0x9b, 0x8d,
+  0x1d, 0xdc, 0x45, 0x81, 0xb9, 0xe9, 0x06, 0x18, 0x8d, 0xc5, 0xfc, 0x30,
+  0x74, 0xd3, 0x7f, 0xf9, 0xdf, 0x27, 0xb6, 0x74, 0x85, 0xa9, 0x0d, 0xc1,
+  0xe9, 0xbd, 0xa1, 0x5c, 0xee, 0xa8, 0x13, 0x1f, 0x47, 0x31, 0xe1, 0x6a,
+  0x3b, 0x31, 0x6d, 0x79, 0xc3, 0xa1, 0x41, 0xf2, 0x3d, 0xdd, 0xfe, 0xa4,
+  0x9e, 0x6e, 0x23, 0xf6, 0x9e, 0x7f, 0x07, 0x49, 0x95, 0x33, 0x5e, 0x6c,
+  0x83, 0x73, 0x81, 0x67, 0xb1, 0x12, 0x14, 0x16, 0x37, 0xd5, 0x96, 0x95,
+  0xf8, 0xed, 0x6c, 0x86, 0xaa, 0x3c, 0x45, 0x91, 0x79, 0x39, 0xa8, 0x8a,
+  0xf8, 0xc4, 0x80, 0xa3, 0x8b, 0x16, 0x78, 0x04, 0x97, 0xca, 0xee, 0xe3,
+  0x91, 0xfc, 0xb0, 0x38, 0xe5, 0x36, 0xe1, 0x04, 0x56, 0xf1, 0xfe, 0xc2,
+  0xc8, 0x71, 0xf4, 0x68, 0x67, 0x67, 0xbd, 0x53, 0x68, 0x11, 0x4d, 0x9c,
+  0x53, 0x36, 0xe4, 0x53, 0x86, 0xd5, 0xe7, 0xe2, 0x5f, 0x93, 0x82, 0xbd,
+  0x08, 0xad, 0x28, 0x74, 0x5b, 0xd6, 0x88, 0x86, 0x69, 0xac, 0xe4, 0xb6,
+  0x26, 0x6a, 0x35, 0x78, 0xb5, 0xba, 0xfb, 0x6c, 0xb1, 0x4b, 0x48, 0xf8,
+  0xa4, 0xd2, 0x76, 0x4d, 0x6e, 0xe7, 0x01, 0xc6, 0x19, 0xd8, 0xa2, 0x1e,
+  0x46, 0x29, 0x98, 0xca, 0x21, 0x94, 0x90, 0x21, 0x6d, 0x28, 0x3a, 0x7a,
+  0xe6, 0x49, 0x1b, 0xd9, 0x2c, 0x66, 0x3c, 0x36, 0x7d, 0x96, 0x82, 0x29,
+  0xb0, 0xf0, 0x90, 0x1c, 0x0f, 0xa6, 0x18, 0xb6, 0x33, 0x54, 0x8a, 0x98,
+  0x41, 0x18, 0x3c, 0xd8, 0x6d, 0x10, 0x9c, 0xbf, 0xc7, 0x85, 0x4d, 0x4c,
+  0xe7, 0xa8, 0xa2, 0xbd, 0x9f, 0xe5, 0x37, 0x33, 0x74, 0x65, 0xb1, 0x37,
+  0xca, 0x54, 0xf0, 0x62, 0x7b, 0x5a, 0x95, 0xce, 0x82, 0x99, 0xf4, 0x7c,
+  0xa0, 0xcd, 0xb3, 0xf2, 0xa8, 0x63, 0xba, 0x7b, 0x9d, 0x56, 0x12, 0x82,
+  0xca, 0x83, 0xd7, 0xec, 0x78, 0x4a, 0xb0, 0x7f, 0x39, 0xf6, 0x11, 0xfa,
+  0x89, 0x02, 0xd5, 0x75, 0xc1, 0x57, 0x0b, 0xc7, 0xf0, 0x70, 0xa9, 0x17,
+  0x34, 0xc5, 0x77, 0xe1, 0x60, 0x76, 0xd4, 0x2f, 0xc0, 0x33, 0x08, 0xb3,
+  0x28, 0x1d, 0x8e, 0xad, 0xc8, 0x12, 0x4e, 0x66, 0x31, 0xa5, 0x16, 0xd9,
+  0x0b, 0xe4, 0x86, 0xc3, 0x11, 0x22, 0x38, 0xc5, 0xaa, 0x9a, 0xde, 0x34,
+  0x70, 0x31, 0x10, 0x14, 0xed, 0x80, 0x26, 0x61, 0x28, 0x6e, 0x31, 0x52,
+  0xd3, 0x8f, 0x0e, 0x14, 0xae, 0x05, 0xb1, 0x9e, 0xdd, 0x24, 0x44, 0x69,
+  0xa6, 0xfd, 0x50, 0xf6, 0xa9, 0x13, 0x29, 0xaf, 0xa4, 0x6c, 0x21, 0x75,
+  0x43, 0x7e, 0xd0, 0xd4, 0x10, 0x49, 0x84, 0x24, 0xef, 0xd4, 0xc1, 0x11,
+  0x08, 0x25, 0x82, 0xaa, 0x35, 0xab, 0xc2, 0x6b, 0x78, 0x73, 0x95, 0x7b,
+  0xc6, 0x7d, 0x2e, 0x1b, 0x59, 0x87, 0xdb, 0xc2, 0x96, 0x30, 0x25, 0x88,
+  0x1c, 0x1e, 0xd7, 0x94, 0x6d, 0xc4, 0xa2, 0x23, 0xca, 0x12, 0xe4, 0x1c,
+  0x85, 0xf7, 0x26, 0x69, 0x42, 0x99, 0xdf, 0x21, 0xf0, 0x32, 0x98, 0x04,
+  0x70, 0x9d, 0x41, 0x5e, 0x1a, 0x92, 0x41, 0xe8, 0xa8, 0x04, 0x96, 0xa2,
+  0xa0, 0xcb, 0x42, 0x60, 0xb3, 0xb5, 0x14, 0x9e, 0x22, 0xfa, 0xf8, 0xcc,
+  0x9d, 0x24, 0xe2, 0xeb, 0x0c, 0x81, 0xe0, 0x80, 0x4e, 0x40, 0xf6, 0x41,
+  0x3f, 0x01, 0x11, 0x0f, 0x35, 0xc8, 0x80, 0xd8, 0x57, 0x54, 0xeb, 0x51,
+  0xd0, 0xe2, 0xe0, 0x20, 0x5e, 0x61, 0x2c, 0x7d, 0x99, 0x55, 0x8b, 0xe0,
+  0x99, 0x68, 0x8b, 0xf4, 0xb1, 0xfc, 0xa3, 0xae, 0xdc, 0xad, 0x0c, 0xe9,
+  0xf8, 0x88, 0xec, 0x73, 0xc8, 0xf1, 0x53, 0x31, 0x19, 0x73, 0xdb, 0x2c,
+  0x06, 0xf7, 0x7b, 0x33, 0x1e, 0x90, 0xcd, 0x3f, 0xe6, 0xb2, 0xa9, 0x6b,
+  0x31, 0xd9, 0x81, 0xe5, 0xa7, 0x0e, 0x97, 0x75, 0x3e, 0x8d, 0x0e, 0x91,
+  0x73, 0xfc, 0xcf, 0x0a, 0x36, 0x7b, 0x9e, 0x88, 0xe7, 0xdf, 0x05, 0xbd,
+  0x26, 0x00, 0x1a, 0xb9, 0xae, 0x15, 0x49, 0x81, 0xdb, 0x54, 0x69, 0xea,
+  0x65, 0x28, 0xff, 0x80, 0x3c, 0xf9, 0xb0, 0xa0, 0x93, 0x3b, 0xdb, 0xa2,
+  0x83, 0x10, 0x63, 0xca, 0x32, 0xd9, 0x22, 0x56, 0xa6, 0x8b, 0xa6, 0xd9,
+  0xb6, 0xd3, 0x07, 0x55, 0x8a, 0xfb, 0xc4, 0x58, 0x7f, 0x5b, 0xcc, 0x30,
+  0x12, 0x7e, 0x28, 0x18, 0x00, 0xcc, 0x12, 0xc9, 0xc9, 0x29, 0x8a, 0x00,
+  0x33, 0xb3, 0x66, 0x73, 0x58, 0x43, 0x77, 0xf7, 0xeb, 0xbf, 0x1d, 0x9d,
+  0xbe, 0x3d, 0xd9, 0xfd, 0x53, 0x14, 0xe1, 0x9f, 0x7b, 0xfc, 0xe7, 0x5e,
+  0x47, 0x95, 0x4f, 0x61, 0x17, 0xbc, 0x57, 0x06, 0x14, 0x80, 0xc6, 0x10,
+  0x44, 0x41, 0x54, 0x34, 0x1e, 0x52, 0x0d, 0xb8, 0x1c, 0x92, 0x2d, 0x5e,
+  0x44, 0x93, 0x02, 0x1a, 0x33, 0x68, 0x56, 0x2a, 0xf4, 0x6f, 0x96, 0x5b,
+  0x21, 0xeb, 0x85, 0x4d, 0xa1, 0x53, 0x35, 0x97, 0xa3, 0x2d, 0x08, 0xb7,
+  0x71, 0xb4, 0x48, 0x45, 0xd0, 0x71, 0x30, 0x73, 0xba, 0x62, 0x55, 0xf6,
+  0xfc, 0xa5, 0x8a, 0xa6, 0x5e, 0x3a, 0xc0, 0xe9, 0x74, 0x24, 0xee, 0x84,
+  0x87, 0xc2, 0x7f, 0x97, 0x69, 0xa5, 0x23, 0xa7, 0x7d, 0xc5, 0x94, 0x08,
+  0x72, 0x63, 0x87, 0x0e, 0x1e, 0x5c, 0x42, 0x1b, 0x5f, 0x6f, 0x44, 0xe5,
+  0xdd, 0x74, 0x90, 0x4f, 0x4c, 0x44, 0x87, 0x10, 0x86, 0x4d, 0xe3, 0xe0,
+  0xbc, 0x07, 0x83, 0xe1, 0x28, 0x4e, 0x37, 0x3f, 0x59, 0x22, 0xb1, 0x1e,
+  0x31, 0x8d, 0x10, 0x70, 0x71, 0x84, 0x2a, 0xc2, 0x8e, 0xd3, 0xfb, 0x89,
+  0x22, 0x05, 0x2e, 0x5a, 0x13, 0x1c, 0xe8, 0x2c, 0x28, 0xd3, 0x2e, 0x03,
+  0xb7, 0x02, 0x8b, 0x0e, 0x34, 0x6f, 0xd7, 0xcf, 0x46, 0x97, 0x41, 0x16,
+  0x88, 0x37, 0xa1, 0x72, 0x22, 0xa6, 0x48, 0x2e, 0xbf, 0x2d, 0x19, 0x03,
+  0x88, 0xcd, 0x7a, 0xa7, 0xa8, 0x8e, 0xb8, 0x37, 0x7a, 0xad, 0xd2, 0xac,
+  0xf1, 0xdd, 0x66, 0x73, 0x03, 0x91, 0x93, 0x5d, 0x28, 0x76, 0xb5, 0xb7,
+  0x1a, 0x10, 0x96, 0xa2, 0x56, 0xb6, 0x8d, 0xbc, 0x38, 0x5a, 0x4d, 0xc4,
+  0xe3, 0xb3, 0x1a, 0xb8, 0x4a, 0x50, 0x5d, 0xe4, 0x1b, 0xe9, 0x59, 0x27,
+  0xea, 0xc4, 0x62, 0x78, 0x91, 0xfa, 0x40, 0x11, 0xa4, 0x30, 0x1f, 0xd0,
+  0x4f, 0x36, 0xe1, 0x86, 0xf6, 0x1c, 0xd0, 0x36, 0xa8, 0x46, 0xf7, 0x4c,
+  0xfd, 0x8f, 0xb6, 0x24, 0xc8, 0x12, 0xaf, 0xa3, 0x81, 0xfe, 0x91, 0xac,
+  0xaa, 0xdc, 0x19, 0x87, 0x89, 0xfc, 0x10, 0x79, 0x80, 0x9b, 0xe1, 0x23,
+  0x8b, 0x49, 0xfd, 0x13, 0x07, 0xbb, 0x5b, 0xad, 0x42, 0xc8, 0x73, 0x14,
+  0xe4, 0x0d, 0x23, 0xd7, 0x0c, 0x03, 0x80, 0xfe, 0xef, 0x26, 0xe9, 0x96,
+  0x2a, 0xba, 0x2a, 0xc2, 0x6c, 0xbf, 0xca, 0x7f, 0x83, 0xc1, 0x27, 0xe1,
+  0x23, 0xea, 0x0a, 0x36, 0xad, 0x23, 0xb7, 0xda, 0xbe, 0x44, 0xdd, 0x08,
+  0xed, 0xd4, 0xac, 0x3c, 0x54, 0xe9, 0x96, 0x6a, 0x98, 0xbd, 0x66, 0x11,
+  0xcd, 0xcb, 0x66, 0x40, 0xa6, 0xe1, 0xc9, 0x67, 0x8e, 0x95, 0x8c, 0x4c,
+  0xcb, 0xd1, 0x45, 0x2e, 0x71, 0xb7, 0x86, 0xba, 0x84, 0xc7, 0x04, 0x74,
+  0x70, 0x73, 0xcb, 0xb5, 0x8b, 0x17, 0x2e, 0x96, 0xb9, 0xb3, 0x56, 0xee,
+  0x8e, 0x70, 0x3d, 0x18, 0x27, 0x49, 0x8d, 0xb3, 0x2e, 0x46, 0x5e, 0xe2,
+  0x1d, 0xa1, 0x83, 0x1b, 0xfc, 0x16, 0x47, 0x6a, 0xd1, 0x10, 0x6f, 0xe4,
+  0x6d, 0x0c, 0x51, 0x4a, 0x8c, 0x9d, 0xe1, 0xc4, 0x59, 0x0a, 0x49, 0xfd,
+  0xba, 0x3c, 0x64, 0xf5, 0xa0, 0x09, 0x27, 0xa3, 0x91, 0x84, 0x96, 0x11,
+  0xf6, 0x12, 0x89, 0x17, 0xf2, 0x36, 0x46, 0x20, 0xda, 0x61, 0x8b, 0xa8,
+  0xb7, 0x49, 0xc0, 0xb4, 0x9e, 0x19, 0x28, 0xa9, 0x74, 0x81, 0x19, 0x2e,
+  0x12, 0xcd, 0x1b, 0x83, 0x98, 0x1b, 0x2a, 0x89, 0x30, 0xd8, 0x2b, 0x81,
+  0x05, 0x51, 0x0f, 0xcc, 0xaa, 0x28, 0xa1, 0xf8, 0x90, 0x24, 0x21, 0xa2,
+  0xc0, 0x48, 0xe5, 0x92, 0x2b, 0x65, 0x6a, 0xf5, 0xca, 0x68, 0x90, 0x53,
+  0xde, 0x4f, 0x93, 0x90, 0x13, 0xeb, 0x46, 0x94, 0x42, 0x6c, 0x7e, 0x08,
+  0xfc, 0x88, 0x8b, 0x55, 0x1b, 0x7d, 0x82, 0x44, 0xa2, 0x46, 0x11, 0x0c,
+  0x2c, 0x34, 0x22, 0x85, 0x30, 0xa8, 0x27, 0x43, 0x7f, 0x21, 0x28, 0x5a,
+  0x87, 0x28, 0x5c, 0x4f, 0x51, 0xad, 0x8e, 0x17, 0x1b, 0xa9, 0xa6, 0x01,
+  0x82, 0x31, 0x4d, 0x7f, 0xb8, 0x51, 0xa7, 0x4d, 0x2c, 0x1a, 0xc8, 0x64,
+  0x5b, 0x23, 0x9f, 0x57, 0xbf, 0x05, 0x02, 0xd2, 0x8a, 0x36, 0x5a, 0xc5,
+  0xa1, 0xa6, 0x7a, 0x49, 0x06, 0xa0, 0x5f, 0xf1, 0xc3, 0x5f, 0x17, 0xb3,
+  0xf7, 0xb1, 0x94, 0x10, 0x8a, 0x55, 0xee, 0x77, 0x2d, 0xe2, 0x74, 0x4f,
+  0xc5, 0x70, 0x67, 0x96, 0x21, 0x57, 0xb4, 0xde, 0x75, 0xc0, 0x12, 0x7f,
+  0x55, 0xbc, 0x45, 0xc3, 0xce, 0x6d, 0x8d, 0x12, 0x13, 0x0e, 0xe1, 0xd4,
+  0x7d, 0x6d, 0xf2, 0x5b, 0xea, 0x48, 0x4e, 0xd8, 0x2c, 0x45, 0xf0, 0x8f,
+  0x84, 0x4a, 0x96, 0xa1, 0x65, 0xcf, 0x41, 0x82, 0xc8, 0x60, 0x53, 0x8a,
+  0xe1, 0x15, 0x81, 0x5a, 0xa1, 0x25, 0x31, 0x1d, 0xf1, 0x0d, 0xd8, 0xbc,
+  0x0d, 0xf8, 0xfe, 0xe0, 0x56, 0x45, 0x86, 0x93, 0x46, 0x90, 0xe2, 0xf0,
+  0x4e, 0x86, 0xef, 0x95, 0xb7, 0x79, 0xa3, 0x0d, 0x49, 0xdd, 0x14, 0x3a,
+  0x79, 0x45, 0x71, 0x43, 0x93, 0xd2, 0x5e, 0x2d, 0xe6, 0x35, 0x7b, 0xc7,
+  0x90, 0x81, 0x64, 0xe6, 0x54, 0x5e, 0x6b, 0x5e, 0x2e, 0xe8, 0xfb, 0x1e,
+  0x7b, 0x83, 0x02, 0x11, 0x41, 0xc6, 0x85, 0xfa, 0x36, 0x9e, 0xac, 0x3b,
+  0xc5, 0x97, 0xc5, 0x78, 0x5f, 0xe7, 0xd1, 0x16, 0x79, 0x5d, 0xa1, 0x67,
+  0x9b, 0x84, 0x70, 0x2c, 0xfa, 0x14, 0xee, 0x22, 0xdd, 0xcd, 0x53, 0xb8,
+  0x47, 0x78, 0xe6, 0x53, 0x34, 0xf7, 0xef, 0x3c, 0x7d, 0xbc, 0x83, 0xf7,
+  0x27, 0x82, 0xe5, 0xf3, 0x7d, 0x22, 0x37, 0x00, 0xa5, 0x80, 0x78, 0xfe,
+  0x24, 0x60, 0x5d, 0xba, 0x5d, 0x82, 0x91, 0xeb, 0xce, 0xe2, 0xc6, 0x96,
+  0x73, 0x46, 0xbb, 0x16, 0xc2, 0x07, 0xc1, 0xcf, 0x2e, 0xd5, 0xe0, 0x8d,
+  0xe3, 0x71, 0xe5, 0xad, 0xad, 0x43, 0x62, 0xcb, 0x83, 0x49, 0xed, 0x73,
+  0x9f, 0x02, 0x53, 0x61, 0xc9, 0x28, 0x56, 0x19, 0x6c, 0x9d, 0x81, 0x19,
+  0x6a, 0x30, 0x10, 0x26, 0xdb, 0x0f, 0x48, 0x76, 0xc0, 0x55, 0x72, 0x5b,
+  0xe5, 0x5c, 0x07, 0x6e, 0x19, 0x3f, 0x09, 0x9c, 0x50, 0xec, 0x25, 0xa6,
+  0xdd, 0x3c, 0xc4, 0x7f, 0x3d, 0x85, 0x86, 0x80, 0x85, 0x31, 0xe0, 0x1d,
+  0x23, 0x06, 0xb6, 0xea, 0x81, 0x24, 0xea, 0xaf, 0x91, 0x4d, 0xe5, 0x4c,
+  0x50, 0x2d, 0x7a, 0x19, 0x04, 0xb2, 0x71, 0xa2, 0xab, 0x6d, 0x84, 0xb2,
+  0x53, 0x33, 0xb4, 0xe6, 0xa4, 0x44, 0x39, 0x9c, 0x8f, 0x20, 0x27, 0xab,
+  0xf9, 0x06, 0x47, 0xbc, 0xfb, 0x58, 0x9a, 0xdc, 0xc0, 0xc1, 0x53, 0xe0,
+  0x17, 0x41, 0x66, 0xda, 0xc0, 0x50, 0xb4, 0x17, 0x31, 0x0a, 0x2e, 0x7e,
+  0x08, 0x9b, 0xde, 0x75, 0x20, 0x9c, 0x03, 0xae, 0x11, 0x8d, 0x3f, 0xd9,
+  0x79, 0xf2, 0xe8, 0x51, 0xd8, 0x92, 0xa2, 0x78, 0x9c, 0xa4, 0xd7, 0x60,
+  0x80, 0xe8, 0xb0, 0x02, 0x56, 0x23, 0x46, 0x65, 0x94, 0xc4, 0x45, 0x76,
+  0x6f, 0x31, 0x56, 0x36, 0x97, 0xfd, 0xfe, 0xd8, 0x0a, 0x0f, 0xf6, 0xa7,
+  0xae, 0x20, 0x40, 0x3b, 0x96, 0x9d, 0xa7, 0x4f, 0x9f, 0x46, 0xf1, 0x05,
+  0x13, 0x21, 0x1f, 0x65, 0x3f, 0x4e, 0x7f, 0x96, 0xde, 0xdc, 0x9f, 0x04,
+  0x97, 0x02, 0xb8, 0x0e, 0x8b, 0xc9, 0x98, 0xb1, 0xba, 0xa9, 0x38, 0x1e,
+  0x57, 0x5d, 0xb9, 0x26, 0x48, 0xb0, 0xd3, 0xe7, 0x7c, 0xaf, 0x1f, 0xbf,
+  0xc1, 0xdf, 0x32, 0x03, 0xa3, 0x4e, 0x98, 0x4c, 0xe9, 0x78, 0x31, 0xe1,
+  0x54, 0xb2, 0x57, 0x7f, 0x6b, 0xe2, 0xdc, 0x6c, 0x9e, 0xf5, 0xb7, 0xf7,
+  0xbf, 0xda, 0xd9, 0x0a, 0x24, 0xf7, 0x61, 0xfd, 0xbd, 0xc4, 0x71, 0x58,
+  0xec, 0x04, 0x02, 0x76, 0xea, 0x8c, 0x03, 0x86, 0x77, 0xdf, 0xf8, 0x73,
+  0xe1, 0x0f, 0x4d, 0x4d, 0xca, 0xe3, 0x16, 0x93, 0xf1, 0xfa, 0xbb, 0x04,
+  0xc3, 0x80, 0x4d, 0x61, 0x21, 0x74, 0x8d, 0xb4, 0x89, 0xef, 0x04, 0x95,
+  0x35, 0x4e, 0xca, 0x61, 0x96, 0x35, 0x17, 0x1e, 0x5b, 0x5b, 0x02, 0x6b,
+  0xaa, 0x45, 0xe3, 0x45, 0x2c, 0x63, 0xc6, 0xec, 0xc0, 0x3d, 0x48, 0x2e,
+  0xa5, 0x0b, 0x4c, 0xf4, 0x26, 0xc5, 0x22, 0xd3, 0x41, 0xd4, 0xc4, 0xd3,
+  0xac, 0x14, 0x5b, 0x17, 0xaa, 0x7d, 0x2a, 0x37, 0x23, 0x46, 0x59, 0x3d,
+  0x4f, 0x90, 0x1e, 0x49, 0xb8, 0xa4, 0xf2, 0x20, 0x0d, 0x85, 0x4c, 0x94,
+  0x88, 0x8e, 0x4d, 0x69, 0x1b, 0x14, 0xc4, 0xd6, 0x66, 0xd2, 0x92, 0x09,
+  0x7e, 0x2e, 0x3c, 0x2a, 0xe9, 0xbe, 0x48, 0x7f, 0x45, 0x93, 0xc1, 0x83,
+  0xa0, 0xe5, 0x1c, 0xa8, 0x08, 0x86, 0xb7, 0xaa, 0x6d, 0xe0, 0xa2, 0xc0,
+  0x02, 0xe3, 0x87, 0x26, 0x45, 0x85, 0xd2, 0xbe, 0xee, 0x83, 0x2f, 0xa7,
+  0x5e, 0x52, 0xeb, 0xc0, 0xe7, 0xa6, 0xaa, 0x5c, 0xf2, 0x72, 0xb5, 0x56,
+  0x62, 0xbf, 0x7f, 0xea, 0x71, 0x5b, 0x49, 0x66, 0x35, 0xfe, 0x79, 0x82,
+  0x25, 0x48, 0x86, 0xa8, 0xf7, 0x93, 0xd2, 0x9e, 0x47, 0x98, 0xb1, 0xfe,
+  0xe5, 0xa3, 0xbd, 0xbd, 0x6e, 0xf4, 0xb8, 0xb7, 0xeb, 0xe2, 0xcf, 0x25,
+  0x13, 0x0f, 0x6e, 0x58, 0x92, 0x6b, 0x3c, 0x50, 0x3a, 0x74, 0x57, 0x39,
+  0xb0, 0x74, 0x82, 0x44, 0x27, 0x91, 0xdf, 0x84, 0x52, 0x11, 0xc2, 0x9d,
+  0xea, 0xfc, 0xb8, 0xf7, 0xf8, 0xf1, 0xee, 0x57, 0x07, 0xe7, 0xf1, 0xe3,
+  0xbd, 0x5d, 0x04, 0xa5, 0x63, 0x95, 0xd4, 0xc6, 0x82, 0xd7, 0xe0, 0x0b,
+  0xb2, 0x11, 0xdb, 0x7c, 0x26, 0x13, 0x4d, 0x8d, 0x6e, 0x36, 0x97, 0xcf,
+  0xd3, 0x59, 0x59, 0x4e, 0xa2, 0xf2, 0x1d, 0x23, 0x7d, 0x6c, 0x97, 0xef,
+  0xd8, 0xb2, 0xd6, 0x11, 0x1c, 0xb9, 0x2c, 0x80, 0x09, 0x64, 0x76, 0x46,
+  0x2e, 0xaf, 0xc4, 0x20, 0x03, 0x08, 0x4e, 0x9c, 0xd9, 0x07, 0x36, 0x9c,
+  0x34, 0xb1, 0xe1, 0x82, 0x41, 0xfa, 0x6a, 0x77, 0xe0, 0xeb, 0x60, 0xf3,
+  0xe4, 0x78, 0x8b, 0x37, 0x4d, 0xf7, 0xd2, 0xa2, 0x45, 0xf0, 0x48, 0xbb,
+  0x9c, 0xf8, 0xec, 0xdf, 0xbe, 0xb3, 0x7c, 0x46, 0x56, 0x10, 0x74, 0xb8,
+  0xa3, 0xb3, 0x47, 0xe6, 0xc5, 0xf6, 0x42, 0x85, 0x7c, 0xae, 0xd7, 0x2c,
+  0x6e, 0xc5, 0x08, 0xb3, 0xa8, 0x9f, 0x6e, 0xcc, 0x26, 0x4f, 0x5e, 0x8a,
+  0x75, 0x71, 0x06, 0x3c, 0x55, 0x79, 0xf7, 0xa4, 0x6c, 0x5e, 0x5b, 0x0f,
+  0x5b, 0x2e, 0x7c, 0x98, 0xa5, 0xd5, 0xcf, 0x75, 0x98, 0xb9, 0x7b, 0x26,
+  0xaf, 0x75, 0x8f, 0xb1, 0x66, 0x6e, 0x36, 0x02, 0x45, 0xdd, 0xb3, 0x8c,
+  0xa6, 0x57, 0x66, 0xd1, 0x6c, 0x5c, 0x6e, 0xb1, 0x29, 0x6b, 0x4a, 0x16,
+  0x55, 0x34, 0x22, 0x18, 0xc2, 0x2c, 0xe1, 0x38, 0xc7, 0x78, 0xa4, 0xf5,
+  0xf1, 0x02, 0xf4, 0xe8, 0xb4, 0xfe, 0xe9, 0x42, 0x0f, 0x9c, 0x4e, 0xbe,
+  0x7d, 0x80, 0xd8, 0x4a, 0xaf, 0xa3, 0x59, 0x0f, 0x53, 0xfe, 0xe5, 0xcf,
+  0x22, 0xb9, 0xd1, 0xba, 0x1f, 0xf8, 0x27, 0xf4, 0xc3, 0xd0, 0x03, 0xde,
+  0xca, 0xf1, 0x7b, 0xab, 0x97, 0x0e, 0xab, 0x43, 0x4b, 0x9d, 0x52, 0x63,
+  0xc8, 0x2b, 0x9b, 0xc6, 0x2a, 0x47, 0x13, 0x08, 0xa0, 0xff, 0x4b, 0xc5,
+  0x77, 0x82, 0x1d, 0x2b, 0x73, 0x5c, 0xc1, 0x76, 0xa4, 0x13, 0xae, 0xfa,
+  0x68, 0x4d, 0xf6, 0x46, 0x5f, 0x94, 0x84, 0x8e, 0x6f, 0xbb, 0x8a, 0x89,
+  0x57, 0x39, 0x36, 0xbc, 0x24, 0x60, 0x70, 0x23, 0xa8, 0x02, 0x0a, 0xcf,
+  0x8d, 0x64, 0x1a, 0x0a, 0xe8, 0xa1, 0xf1, 0xfc, 0x53, 0x04, 0x2d, 0x20,
+  0xd9, 0x53, 0xca, 0x24, 0x62, 0x2c, 0x54, 0x37, 0xf2, 0x83, 0x54, 0x30,
+  0xea, 0x4f, 0x4d, 0x3f, 0x20, 0xc6, 0xe1, 0x4e, 0xb3, 0x92, 0x30, 0x4c,
+  0x8a, 0x22, 0x43, 0x7f, 0x6b, 0x91, 0x56, 0x8b, 0x42, 0x92, 0xd7, 0x31,
+  0x69, 0x0d, 0x79, 0x03, 0x3b, 0xf8, 0x02, 0x77, 0xb1, 0x09, 0x4a, 0xa5,
+  0x0c, 0x46, 0x42, 0x2f, 0x43, 0xcb, 0xba, 0xb7, 0x28, 0xa7, 0x58, 0xf6,
+  0x50, 0x86, 0x56, 0xc3, 0x99, 0x64, 0x83, 0x28, 0xe3, 0x73, 0x70, 0x29,
+  0x9e, 0xbc, 0x86, 0x8e, 0x48, 0x59, 0x2a, 0x21, 0xac, 0x4e, 0xb6, 0xf6,
+  0x6e, 0xdf, 0xc6, 0x37, 0x37, 0x37, 0x31, 0x4a, 0x24, 0x96, 0x40, 0x46,
+  0xbd, 0xc8, 0x03, 0xa0, 0x30, 0x1e, 0x8e, 0x2a, 0x14, 0x10, 0xe5, 0xe4,
+  0xb1, 0x14, 0x83, 0xac, 0x22, 0x08, 0x20, 0xa1, 0x2a, 0x7a, 0x49, 0x98,
+  0xab, 0x0c, 0x8a, 0x0c, 0x7a, 0xea, 0xbf, 0x0d, 0x2c, 0x8a, 0x9d, 0x11,
+  0xc1, 0xfa, 0x0f, 0xab, 0x14, 0x81, 0xf3, 0xb0, 0xa6, 0xf6, 0x41, 0x14,
+  0xbf, 0x88, 0x3a, 0xc7, 0x32, 0xe9, 0x0b, 0x78, 0xe4, 0xc0, 0x8d, 0x15,
+  0xdb, 0xe6, 0x67, 0x83, 0xe5, 0xb8, 0x3b, 0xf7, 0xe0, 0xc8, 0xa1, 0x2a,
+  0x65, 0x02, 0xbb, 0x35, 0x23, 0xe7, 0xbb, 0x85, 0x2a, 0x08, 0x65, 0xc3,
+  0x60, 0xb6, 0x10, 0x7b, 0x32, 0xb8, 0xda, 0x0a, 0x4d, 0x3d, 0xc1, 0x18,
+  0x51, 0x0d, 0xb3, 0x06, 0x9a, 0x5b, 0xcd, 0x6a, 0x64, 0xe1, 0x3e, 0x31,
+  0xaf, 0x91, 0x5e, 0xbe, 0x35, 0x3e, 0x8f, 0x07, 0x30, 0x1c, 0x4f, 0x2a,
+  0x36, 0x7c, 0x67, 0x19, 0x2f, 0xf1, 0x98, 0x49, 0xa9, 0x18, 0x57, 0x9c,
+  0x88, 0xc4, 0x14, 0xb3, 0xa8, 0x6a, 0xe9, 0x7f, 0xc0, 0x65, 0xbc, 0xa3,
+  0x88, 0xe9, 0x80, 0x06, 0x47, 0x27, 0x71, 0x31, 0xbc, 0xbe, 0x5d, 0x02,
+  0x65, 0xe5, 0x8c, 0xf2, 0xd3, 0x19, 0x1d, 0x6d, 0x1f, 0x1d, 0x2c, 0x25,
+  0x9c, 0x77, 0xd6, 0x88, 0xb2, 0xb5, 0xaf, 0x7e, 0x9b, 0x54, 0xf8, 0xff,
+  0x6b, 0x96, 0x01, 0xb1, 0x04, 0x56, 0x0b, 0x2e, 0x0b, 0xdd, 0x99, 0xe6,
+  0xc8, 0xaf, 0xc3, 0xfc, 0xbb, 0x86, 0x6b, 0x0a, 0xaf, 0xe1, 0x48, 0x05,
+  0xd9, 0x38, 0xad, 0x94, 0x1a, 0x40, 0x99, 0xa1, 0xa0, 0x93, 0x5b, 0xe4,
+  0xa0, 0x5a, 0x8d, 0x43, 0xdc, 0xef, 0x69, 0x81, 0x0c, 0x88, 0x30, 0x16,
+  0x18, 0x1e, 0x27, 0x54, 0xbc, 0x0f, 0x6d, 0x5f, 0xe8, 0xc7, 0x38, 0xfe,
+  0xfe, 0x25, 0xe5, 0x03, 0xc3, 0xe5, 0x3d, 0x53, 0xf9, 0x89, 0x47, 0x8f,
+  0x92, 0xaa, 0x73, 0x15, 0x5c, 0x66, 0x16, 0xaf, 0x26, 0x99, 0xfa, 0xe6,
+  0x76, 0x76, 0x52, 0x32, 0xf8, 0x8c, 0x49, 0x00, 0xe5, 0x54, 0x74, 0xe3,
+  0x38, 0x55, 0x19, 0x3f, 0xb1, 0xf8, 0x13, 0xe1, 0xa5, 0xa2, 0xae, 0x55,
+  0x0c, 0x67, 0xa7, 0x25, 0x9a, 0x75, 0xd8, 0x65, 0xdb, 0xc8, 0x8a, 0xb7,
+  0x6c, 0xa4, 0xbc, 0x9b, 0x55, 0xc9, 0x6d, 0xea, 0x27, 0x8e, 0x49, 0xff,
+  0x4d, 0x0a, 0x71, 0xa3, 0x51, 0x1a, 0xbe, 0x43, 0xb3, 0x76, 0xa9, 0xeb,
+  0x29, 0x63, 0x64, 0x21, 0xf6, 0xa5, 0x27, 0x2d, 0xcd, 0xe1, 0xc4, 0xfe,
+  0x2c, 0x99, 0xc3, 0x70, 0x8b, 0x91, 0x69, 0x40, 0x31, 0xe3, 0xdc, 0xa6,
+  0x4c, 0x91, 0x6a, 0x4d, 0x30, 0x0d, 0x37, 0x47, 0x05, 0x7f, 0xbf, 0xe6,
+  0xec, 0xd2, 0x6f, 0x23, 0xf1, 0xce, 0x62, 0x8e, 0xbf, 0x1b, 0x26, 0x48,
+  0x57, 0x00, 0x0d, 0x9e, 0x21, 0x95, 0x70, 0x19, 0xc2, 0xcd, 0x71, 0xa8,
+  0xaa, 0xb3, 0x7a, 0x4c, 0x6d, 0xc3, 0x04, 0x2d, 0xbd, 0x83, 0x14, 0x16,
+  0xf2, 0xbf, 0x9a, 0x8b, 0xf7, 0xf5, 0xea, 0xd5, 0x5b, 0x73, 0xf1, 0x56,
+  0xac, 0x1e, 0xd7, 0xa6, 0xd7, 0xcc, 0xd3, 0xaf, 0x1d, 0x8f, 0x34, 0xa5,
+  0x1a, 0xb0, 0x6f, 0xc8, 0x78, 0xa6, 0x83, 0xbc, 0x1f, 0x29, 0xf4, 0xeb,
+  0x8f, 0xb6, 0xeb, 0x44, 0x8d, 0x3a, 0xfa, 0x70, 0x73, 0x1c, 0x10, 0x38,
+  0xab, 0xc3, 0x3c, 0x6a, 0x5d, 0xd4, 0x84, 0x81, 0x6b, 0xd2, 0x5b, 0x20,
+  0xff, 0x8a, 0x49, 0x99, 0xce, 0x1e, 0x76, 0x17, 0x6e, 0x4e, 0x51, 0xad,
+  0xc4, 0x7a, 0xee, 0xcd, 0xcf, 0xdc, 0x33, 0x2b, 0x27, 0x27, 0x6a, 0x1d,
+  0x4d, 0x8f, 0xca, 0xf9, 0x71, 0xd9, 0x6a, 0x8d, 0xcd, 0x70, 0xe2, 0xd8,
+  0x36, 0x7d, 0x47, 0xb9, 0x1e, 0x1f, 0xa9, 0xdd, 0x86, 0xb4, 0xa8, 0x52,
+  0xda, 0x56, 0xb7, 0xbe, 0x5a, 0x58, 0x37, 0x85, 0x2e, 0x68, 0x8c, 0xe8,
+  0xe2, 0x5d, 0xce, 0x5a, 0xf7, 0x58, 0xf7, 0x0e, 0x6b, 0xce, 0x07, 0xf7,
+  0xee, 0x7f, 0xfb, 0xfc, 0x6c, 0x3e, 0x3e, 0x4d, 0x51, 0x62, 0x5a, 0x2c,
+  0x35, 0x5c, 0x52, 0xa1, 0xa4, 0x19, 0xa7, 0xb0, 0x53, 0xee, 0x7f, 0x40,
+  0xac, 0x54, 0x5e, 0x48, 0x85, 0x10, 0xba, 0x14, 0xcc, 0x3a, 0xe1, 0xda,
+  0x7e, 0x33, 0xa1, 0x70, 0x2b, 0x63, 0xb2, 0xcd, 0xd4, 0xe0, 0x7a, 0x10,
+  0x19, 0x2e, 0xa1, 0x54, 0x43, 0x9b, 0x0d, 0xb2, 0x1c, 0xa4, 0xce, 0xac,
+  0x03, 0xe4, 0xe7, 0x5d, 0x74, 0x0f, 0xb9, 0xf3, 0xfd, 0xcb, 0xde, 0xbd,
+  0xaa, 0x6d, 0xdb, 0x34, 0x45, 0xd0, 0x9d, 0x97, 0x5e, 0xf6, 0xe1, 0x57,
+  0xbf, 0xe6, 0x9f, 0x74, 0x1f, 0xae, 0xff, 0xb6, 0xa1, 0xc0, 0x07, 0xbc,
+  0x4b, 0xef, 0x51, 0x58, 0xc1, 0x32, 0x29, 0x23, 0x20, 0x5e, 0xb8, 0xca,
+  0x25, 0x88, 0x2b, 0xce, 0x9a, 0xdb, 0x47, 0xda, 0xc5, 0x8a, 0x28, 0x7a,
+  0xf5, 0xd7, 0x8b, 0x0b, 0x8c, 0xa7, 0x25, 0xc8, 0x95, 0x06, 0xce, 0x2f,
+  0xbd, 0xcc, 0x90, 0x8b, 0x40, 0x8e, 0xc6, 0xe4, 0x16, 0xac, 0x2d, 0xe9,
+  0x44, 0x85, 0x75, 0x6b, 0x3e, 0x68, 0x8a, 0x9d, 0x24, 0x73, 0x68, 0x34,
+  0x28, 0xf2, 0x9b, 0x92, 0x94, 0x2b, 0xf5, 0x93, 0x25, 0xec, 0x11, 0xb9,
+  0xf2, 0x70, 0x11, 0x61, 0x39, 0x26, 0x5c, 0xf4, 0x15, 0xe9, 0xfd, 0xc5,
+  0xc5, 0xab, 0x53, 0x32, 0xd8, 0x0a, 0x46, 0x1f, 0x82, 0x90, 0x94, 0xe2,
+  0x7d, 0x19, 0x4c, 0xb3, 0x0a, 0x05, 0xd5, 0x8a, 0xef, 0x00, 0xb9, 0x56,
+  0x3c, 0x1c, 0x41, 0x8a, 0xeb, 0x14, 0x9b, 0xd5, 0x3c, 0x14, 0xd6, 0x26,
+  0x6a, 0x91, 0x53, 0x6e, 0xc1, 0xd1, 0xea, 0xda, 0x33, 0x63, 0xda, 0x74,
+  0xb7, 0x63, 0xce, 0x07, 0x21, 0x61, 0xfa, 0x39, 0xee, 0x04, 0x3e, 0xb1,
+  0x4c, 0x0c, 0x46, 0xb3, 0xde, 0x84, 0x2a, 0xfa, 0x9a, 0xa5, 0x43, 0xf1,
+  0xdb, 0xdc, 0xf7, 0x54, 0x1b, 0x42, 0x12, 0x96, 0x54, 0xe4, 0xf6, 0x34,
+  0xca, 0x65, 0x22, 0x38, 0xca, 0x6e, 0x28, 0x3f, 0x4a, 0x8c, 0xdc, 0x7c,
+  0x51, 0xa0, 0x77, 0x2b, 0x52, 0x7b, 0x45, 0x20, 0xd7, 0x5f, 0xc3, 0xe8,
+  0x4c, 0xd4, 0x96, 0x0d, 0x70, 0x75, 0xb5, 0x17, 0x09, 0x43, 0xc1, 0xf6,
+  0xeb, 0x37, 0x61, 0xd0, 0xd1, 0x43, 0x10, 0x0e, 0xb4, 0x97, 0x40, 0x63,
+  0xd0, 0x3a, 0x01, 0xea, 0x26, 0x14, 0x4e, 0xb3, 0xc4, 0x48, 0x62, 0xb5,
+  0x45, 0x82, 0x94, 0xa0, 0xd9, 0x95, 0xa9, 0x91, 0x73, 0x55, 0x6d, 0xa4,
+  0x6a, 0x14, 0x54, 0x7f, 0x22, 0xc7, 0x78, 0x94, 0x1a, 0xf0, 0x4a, 0x20,
+  0x04, 0xcb, 0x30, 0x99, 0xae, 0x13, 0x93, 0x98, 0xa1, 0xf3, 0xbd, 0x66,
+  0x50, 0x61, 0xe3, 0xde, 0x34, 0x2d, 0x2e, 0xd5, 0xbe, 0xc2, 0xb2, 0xaa,
+  0x57, 0xcb, 0x83, 0xed, 0xbc, 0xff, 0x27, 0x66, 0xd1, 0x03, 0xc9, 0x71,
+  0x41, 0x91, 0x3c, 0xa4, 0xac, 0x6e, 0xc4, 0x23, 0xe1, 0xbf, 0xa3, 0x64,
+  0x06, 0x53, 0xc7, 0x23, 0x4a, 0x99, 0x19, 0x93, 0xc9, 0xd7, 0x93, 0x7c,
+  0x51, 0xde, 0x6d, 0x78, 0xd9, 0x61, 0x1c, 0xc4, 0x08, 0x6c, 0x7f, 0x86,
+  0xc1, 0xbd, 0x29, 0x91, 0x1e, 0x43, 0x28, 0xa2, 0x5d, 0x12, 0x33, 0x65,
+  0x17, 0xb3, 0xf7, 0x36, 0x0a, 0x86, 0xf1, 0x11, 0x4a, 0x86, 0xc8, 0x79,
+  0xdf, 0x5c, 0xfe, 0x0d, 0xa7, 0xef, 0xff, 0xe3, 0x76, 0xdb, 0x16, 0x40,
+  0xc4, 0xa6, 0x9f, 0x7b, 0x59, 0x7e, 0x0c, 0xa9, 0xa0, 0x7c, 0x92, 0x04,
+  0xe3, 0xce, 0x0d, 0xc8, 0x85, 0x89, 0x23, 0x33, 0x57, 0x2e, 0x17, 0xeb,
+  0xd3, 0xe0, 0xb9, 0x5a, 0x00, 0x3f, 0x3e, 0x1c, 0xf2, 0x6e, 0x9a, 0xdb,
+  0x9a, 0xc3, 0xcf, 0xa2, 0xf3, 0x9c, 0xcb, 0xc6, 0xdb, 0x2f, 0x2c, 0x30,
+  0x27, 0xd7, 0x11, 0x8b, 0x36, 0xc6, 0x79, 0x3e, 0x48, 0x8a, 0x96, 0x55,
+  0xa6, 0x8a, 0xd5, 0x03, 0x09, 0xa9, 0x64, 0x47, 0x97, 0x65, 0xa0, 0xdf,
+  0xf2, 0xab, 0x3d, 0x76, 0x1b, 0xcb, 0x87, 0x18, 0xed, 0x9c, 0x4f, 0x46,
+  0x7e, 0x18, 0x38, 0x4d, 0xd0, 0x8d, 0x05, 0xc2, 0xcd, 0xa0, 0x2d, 0xc2,
+  0x00, 0x10, 0xb5, 0x50, 0x19, 0x13, 0x15, 0xcb, 0x06, 0x2a, 0x40, 0xb4,
+  0x84, 0x36, 0x60, 0x42, 0x19, 0x66, 0xf0, 0x50, 0xf6, 0x88, 0x6e, 0x90,
+  0x84, 0x6f, 0x71, 0x40, 0x52, 0xfd, 0xb4, 0xe3, 0x38, 0x90, 0x63, 0x78,
+  0x00, 0xa8, 0x35, 0xfe, 0x61, 0xf9, 0x85, 0x73, 0xfa, 0x88, 0x19, 0x49,
+  0xe6, 0x65, 0x98, 0x5f, 0x7d, 0x42, 0x95, 0x7d, 0x14, 0x75, 0x58, 0x08,
+  0x87, 0xbf, 0xd6, 0x50, 0xd7, 0xeb, 0xaf, 0xe1, 0x9f, 0x55, 0x9e, 0x4f,
+  0xbe, 0x1e, 0x4e, 0x47, 0x38, 0x86, 0xb5, 0x1a, 0xfa, 0x20, 0x5b, 0x4c,
+  0xc3, 0xf8, 0x6b, 0xef, 0x77, 0xde, 0x64, 0xe7, 0x9e, 0x8e, 0x96, 0x44,
+  0xed, 0x90, 0xbd, 0x70, 0xba, 0xa8, 0xa4, 0xc8, 0x02, 0x68, 0xeb, 0x13,
+  0xe0, 0x21, 0xd7, 0x8d, 0xcb, 0x84, 0x6f, 0xfe, 0x97, 0x9a, 0xc6, 0x16,
+  0x8a, 0x0b, 0xbb, 0xe8, 0xd6, 0x2b, 0x11, 0xd7, 0x24, 0xb2, 0x74, 0x92,
+  0x5e, 0xf2, 0xe6, 0x1f, 0x9e, 0x9e, 0xfc, 0xed, 0xe4, 0xd4, 0x13, 0x10,
+  0xbe, 0xef, 0xf7, 0xb7, 0xdf, 0xa7, 0xc5, 0x20, 0x2d, 0xf2, 0x72, 0x0b,
+  0xe3, 0xf1, 0x22, 0x7a, 0xce, 0xa4, 0x58, 0x39, 0xb7, 0xe6, 0x8d, 0x40,
+  0x9b, 0xb3, 0xa5, 0x33, 0x18, 0x78, 0x8c, 0xa9, 0xba, 0xdc, 0xa5, 0x14,
+  0x14, 0x27, 0x54, 0x97, 0x69, 0xaa, 0x48, 0x93, 0x05, 0x86, 0x37, 0x90,
+  0x37, 0x2b, 0x09, 0x14, 0x32, 0x21, 0x20, 0xe3, 0x28, 0x7a, 0xc6, 0x14,
+  0xcf, 0xa9, 0xee, 0x78, 0x13, 0xd8, 0x59, 0x78, 0xaf, 0xcc, 0x09, 0x2d,
+  0x34, 0x7a, 0x26, 0x9d, 0x96, 0x54, 0x35, 0x91, 0x16, 0x8d, 0x0b, 0xa0,
+  0xf0, 0x0d, 0x79, 0xf6, 0x97, 0xf8, 0xa8, 0x1f, 0x3f, 0x3b, 0x39, 0x3d,
+  0xf9, 0xfe, 0xe8, 0xe2, 0xc4, 0x54, 0xa9, 0xf6, 0xc3, 0x14, 0xea, 0x58,
+  0x5d, 0x7f, 0x91, 0x75, 0x31, 0x05, 0x72, 0xab, 0x6c, 0xf8, 0x9e, 0x3c,
+  0x49, 0x52, 0x5d, 0x5e, 0x80, 0x89, 0x40, 0x71, 0x96, 0x9c, 0xe1, 0x70,
+  0x73, 0xc0, 0x2b, 0x26, 0x53, 0x19, 0xaa, 0x37, 0x83, 0x64, 0x02, 0xc2,
+  0x53, 0x19, 0xbd, 0x9d, 0x61, 0xae, 0x7f, 0x66, 0xe0, 0xbb, 0x78, 0xf6,
+  0xae, 0x29, 0xd7, 0x2e, 0xad, 0x6d, 0x83, 0x7d, 0x4e, 0xce, 0x2e, 0x7f,
+  0x18, 0x08, 0x6a, 0x3d, 0x2e, 0xc3, 0xb3, 0x6d, 0xaa, 0x54, 0x6b, 0xbb,
+  0xeb, 0xe0, 0x96, 0x75, 0xee, 0x29, 0xce, 0xd6, 0xca, 0x14, 0x89, 0x48,
+  0x5b, 0x96, 0x93, 0x1a, 0xbd, 0x52, 0xd9, 0xf4, 0xb0, 0x6d, 0x4c, 0xe1,
+  0x2b, 0x49, 0x08, 0x7d, 0x46, 0x0f, 0x36, 0xe2, 0xe1, 0x1d, 0x28, 0x40,
+  0x58, 0x09, 0xfd, 0x2e, 0x00, 0x37, 0x4d, 0x2b, 0x55, 0x0e, 0xaf, 0xd2,
+  0x69, 0xaa, 0xd7, 0x2a, 0xc6, 0x9f, 0x53, 0xbc, 0x33, 0x03, 0x7c, 0x49,
+  0x79, 0x00, 0x62, 0xf0, 0x83, 0x94, 0x0c, 0x48, 0xa8, 0xed, 0xe7, 0x7e,
+  0xa8, 0x2b, 0x25, 0xec, 0x64, 0x05, 0xe5, 0x93, 0x53, 0xb2, 0x0d, 0x41,
+  0xd3, 0xf5, 0x28, 0x5d, 0xd1, 0x09, 0x0c, 0xf7, 0x03, 0xc1, 0x11, 0x11,
+  0x6b, 0xea, 0xa5, 0x28, 0x4b, 0x69, 0x62, 0x8d, 0xdb, 0xe1, 0x10, 0x21,
+  0xfa, 0x88, 0xd8, 0x95, 0x5a, 0x1a, 0x70, 0x74, 0x4b, 0x02, 0xc9, 0xcc,
+  0x52, 0xae, 0x15, 0x12, 0xb2, 0xba, 0x4c, 0x7a, 0xb3, 0xac, 0xfd, 0xbd,
+  0xac, 0xe0, 0x7e, 0xcd, 0x5b, 0x19, 0xdb, 0x5a, 0xbc, 0xd7, 0x94, 0xed,
+  0xed, 0x9a, 0x02, 0xb8, 0xd2, 0x0c, 0x53, 0x12, 0x30, 0x0a, 0xdc, 0x71,
+  0x93, 0xca, 0x11, 0x4c, 0x16, 0xc8, 0x4a, 0xcb, 0x72, 0xeb, 0x1c, 0xd7,
+  0xad, 0xe8, 0x4c, 0x75, 0x87, 0xf5, 0x57, 0x2d, 0x2e, 0x5c, 0x27, 0x53,
+  0x5a, 0xaf, 0x38, 0x9d, 0x7b, 0xa5, 0x6c, 0x36, 0x09, 0x6a, 0xf5, 0xc2,
+  0xcd, 0x4e, 0x55, 0xb0, 0x22, 0xdc, 0x74, 0xbc, 0x82, 0x45, 0x6c, 0x3f,
+  0x39, 0x7f, 0x73, 0x41, 0x9d, 0x9c, 0xe2, 0x2f, 0x72, 0x9d, 0x96, 0xa1,
+  0xfa, 0x2a, 0x23, 0x2e, 0x86, 0x3e, 0xa4, 0xda, 0x03, 0x18, 0x81, 0x64,
+  0xd2, 0x03, 0x34, 0x7f, 0x91, 0xb3, 0xc1, 0xa4, 0x38, 0xae, 0x70, 0x14,
+  0xf2, 0x92, 0x78, 0x48, 0x09, 0x15, 0x66, 0xd3, 0x9b, 0x44, 0x36, 0x1c,
+  0x83, 0xa0, 0xda, 0xd3, 0x28, 0x38, 0x11, 0x58, 0x03, 0x68, 0xce, 0xf0,
+  0x4b, 0x75, 0x0f, 0x10, 0x31, 0x07, 0xaf, 0x32, 0x5b, 0xf5, 0x04, 0x9b,
+  0xc4, 0xb7, 0xa2, 0x22, 0xbb, 0xbc, 0x82, 0x8d, 0x81, 0x71, 0xf4, 0xec,
+  0x3c, 0xb9, 0x0b, 0xc6, 0x9f, 0xa3, 0x0a, 0x5f, 0x7e, 0xb8, 0x0c, 0x81,
+  0xc6, 0x98, 0xa8, 0x79, 0xcd, 0xe2, 0xe7, 0xe4, 0x61, 0x13, 0x7a, 0xd7,
+  0x15, 0x24, 0x7b, 0x86, 0xec, 0x24, 0x78, 0x05, 0x8e, 0xc0, 0xf3, 0x42,
+  0x40, 0x08, 0xbe, 0x41, 0x73, 0xd7, 0xd2, 0x3b, 0xa9, 0x15, 0xc6, 0x0a,
+  0x84, 0x96, 0x4e, 0x4f, 0xa8, 0xca, 0x1e, 0x89, 0x34, 0x03, 0x96, 0x79,
+  0x45, 0x99, 0x9d, 0x05, 0x0e, 0x3a, 0x2c, 0xbc, 0xf2, 0x68, 0x9e, 0xa8,
+  0x6c, 0x5b, 0x40, 0x86, 0x42, 0xda, 0x68, 0x56, 0x42, 0x70, 0x92, 0x83,
+  0x64, 0x28, 0xbc, 0x38, 0x74, 0xca, 0x84, 0xde, 0xf2, 0x10, 0x55, 0x31,
+  0x4b, 0x73, 0xbc, 0xe8, 0x35, 0x12, 0x6c, 0x43, 0xd5, 0xd3, 0xe4, 0xaa,
+  0x92, 0x30, 0x54, 0x9c, 0x42, 0x83, 0x2f, 0xcf, 0xaf, 0x9f, 0xd4, 0xe3,
+  0x17, 0xd9, 0x5e, 0x46, 0xea, 0x27, 0xac, 0x6a, 0x13, 0xaa, 0x85, 0x41,
+  0x2a, 0xa0, 0x6f, 0x1a, 0x2e, 0x1a, 0x5b, 0x4d, 0xec, 0x32, 0xd2, 0x8e,
+  0xd7, 0x3f, 0xf3, 0x13, 0x62, 0x44, 0xf4, 0x06, 0xdd, 0xc5, 0x08, 0x57,
+  0x7f, 0x29, 0x1a, 0xbd, 0xd0, 0xf2, 0x20, 0x85, 0x1e, 0x33, 0xc4, 0x70,
+  0x7d, 0xe9, 0xa8, 0x05, 0x7e, 0xe4, 0x24, 0xd0, 0x1f, 0x82, 0x28, 0xb0,
+  0x52, 0x8f, 0x2f, 0x52, 0x00, 0x20, 0xbe, 0x40, 0x48, 0x75, 0x15, 0x0b,
+  0x0c, 0x2c, 0xde, 0x62, 0x4c, 0x1f, 0x67, 0x41, 0xe6, 0x5c, 0x9f, 0x6a,
+  0x18, 0xe0, 0x6b, 0xc2, 0xd1, 0xe8, 0xd9, 0xa4, 0xbc, 0x5e, 0xc5, 0x49,
+  0xed, 0x52, 0x47, 0xe1, 0xa8, 0x5c, 0xaf, 0x28, 0xf8, 0xbd, 0x43, 0x72,
+  0x97, 0xee, 0xe3, 0x2a, 0xef, 0xa2, 0x3b, 0xb0, 0xb5, 0x30, 0x8a, 0xed,
+  0x9b, 0xe5, 0x35, 0x13, 0xde, 0x79, 0xd7, 0x59, 0xbb, 0x30, 0xaf, 0x2b,
+  0xaf, 0x3f, 0x80, 0xd7, 0xf5, 0xff, 0x66, 0x34, 0x06, 0xe2, 0x69, 0x81,
+  0x1c, 0x14, 0x5a, 0x6e, 0xdd, 0xe1, 0x35, 0xf9, 0x1c, 0x70, 0x36, 0xdf,
+  0xb7, 0x8d, 0x9c, 0xce, 0x30, 0x3a, 0x18, 0x80, 0x70, 0xb7, 0xf3, 0xa3,
+  0xfe, 0xdf, 0x1a, 0x7c, 0xcd, 0xe3, 0x64, 0x40, 0x4f, 0x9e, 0xe7, 0x5d,
+  0x6b, 0x1c, 0x62, 0x5b, 0xc1, 0x03, 0x0f, 0x6b, 0x79, 0x8f, 0x03, 0x0f,
+  0x03, 0xf1, 0x0e, 0xbc, 0xb7, 0xb4, 0xcb, 0x0e, 0x7c, 0x80, 0x5e, 0xfd,
+  0x03, 0x3f, 0xa3, 0x43, 0x4e, 0x70, 0x20, 0x81, 0x93, 0xae, 0x07, 0x5d,
+  0xcf, 0xb6, 0x9f, 0xa2, 0x47, 0xe3, 0x5c, 0xe7, 0xa4, 0xd3, 0x0b, 0xde,
+  0x41, 0xd7, 0xed, 0x5c, 0xfb, 0xa4, 0x0b, 0x87, 0xf0, 0x0e, 0x3a, 0x1d,
+  0xf2, 0x16, 0x62, 0x0d, 0x84, 0xc5, 0xd6, 0x08, 0xbd, 0x21, 0x0b, 0x7d,
+  0x78, 0x3c, 0xfd, 0xd2, 0x3d, 0xb9, 0xf7, 0xe1, 0x85, 0x91, 0x3d, 0xf0,
+  0xf0, 0x6a, 0xd0, 0x65, 0xdb, 0xe1, 0x75, 0xb1, 0xc9, 0x02, 0xb1, 0x3f,
+  0x44, 0xa5, 0x52, 0x20, 0x4b, 0x8e, 0x91, 0x8d, 0x40, 0x0c, 0x40, 0x24,
+  0x77, 0x0d, 0x22, 0x5d, 0x31, 0xf4, 0xbd, 0xa8, 0x06, 0x00, 0xd1, 0x45,
+  0xf4, 0x28, 0x44, 0x69, 0x15, 0xd8, 0x44, 0x9c, 0x85, 0x26, 0xcf, 0xf3,
+  0x0b, 0xc8, 0xa4, 0x7d, 0xb0, 0x3c, 0xa7, 0x20, 0x40, 0x1a, 0x04, 0x70,
+  0x2c, 0x53, 0x4c, 0x90, 0x89, 0xea, 0xa1, 0xa6, 0xed, 0xfb, 0xff, 0xd1,
+  0xc5, 0xe0, 0x06, 0xdc, 0xdb, 0xbd, 0xb6, 0xfc, 0x1f, 0xeb, 0x09, 0xbc,
+  0x0e, 0xe0, 0x76, 0x93, 0x1f, 0xa3, 0x6e, 0x48, 0xb2, 0x30, 0x0a, 0xd6,
+  0xa0, 0x52, 0xa1, 0x0d, 0x62, 0x49, 0x40, 0x41, 0x55, 0x0b, 0xaa, 0x45,
+  0xe0, 0x35, 0xd2, 0x92, 0xc5, 0x79, 0x8e, 0x1a, 0x2c, 0xe6, 0x9c, 0xaa,
+  0xaf, 0x99, 0xd8, 0x70, 0x12, 0x28, 0x76, 0xce, 0xb1, 0x5d, 0x4e, 0xb9,
+  0x51, 0x10, 0xc8, 0x06, 0x98, 0x70, 0x87, 0x45, 0xb9, 0x4a, 0xba, 0x7f,
+  0xd1, 0xa1, 0x7d, 0xa3, 0xd5, 0x81, 0x08, 0x72, 0xb6, 0x64, 0xf5, 0xc9,
+  0xb3, 0x61, 0x6b, 0xf1, 0xa3, 0x2a, 0x2a, 0x10, 0xac, 0x66, 0x9a, 0x3a,
+  0xa9, 0xca, 0x2b, 0x77, 0x34, 0x34, 0xff, 0x65, 0x5b, 0x1c, 0x94, 0x67,
+  0x7a, 0x2b, 0x8f, 0x76, 0xa8, 0x9b, 0x87, 0x1c, 0xf3, 0xe0, 0x70, 0xd7,
+  0x2c, 0x4c, 0x8a, 0xb2, 0x6f, 0x2d, 0xca, 0xe4, 0x49, 0xa3, 0x22, 0xe9,
+  0x68, 0x56, 0xc6, 0x64, 0xef, 0x1b, 0x23, 0x08, 0xf5, 0xa1, 0xf9, 0xd5,
+  0xb3, 0xf8, 0x3c, 0x7b, 0xad, 0x05, 0x20, 0x9d, 0xfa, 0x8f, 0x65, 0xca,
+  0x98, 0x39, 0x9c, 0xa9, 0x0e, 0x8f, 0xd8, 0x24, 0xf4, 0xea, 0xaa, 0xc8,
+  0x17, 0x97, 0x57, 0xd2, 0xa4, 0x5f, 0x40, 0x1d, 0xba, 0xf0, 0x10, 0xd2,
+  0x12, 0xc6, 0x20, 0x4a, 0x0b, 0xf2, 0x68, 0x92, 0x7e, 0x65, 0xc7, 0x16,
+  0x6d, 0x8a, 0xf9, 0x04, 0xdd, 0x1e, 0x81, 0xfa, 0x12, 0x0a, 0x8a, 0x86,
+  0xc3, 0x90, 0x7a, 0xdd, 0x98, 0x7f, 0x43, 0x45, 0xaf, 0xa5, 0x08, 0x8e,
+  0xc2, 0xaf, 0x53, 0x7d, 0x5f, 0x6d, 0x37, 0xe0, 0x13, 0xde, 0x94, 0x42,
+  0x00, 0x92, 0x85, 0xba, 0x15, 0x4e, 0x73, 0xa9, 0x2f, 0xdd, 0x5a, 0x16,
+  0x94, 0x8f, 0x58, 0x3b, 0xb4, 0x3e, 0x8a, 0xb4, 0xba, 0xba, 0x37, 0xe6,
+  0x0e, 0x13, 0x89, 0x36, 0x31, 0xbf, 0x7e, 0x14, 0xe3, 0x7c, 0x23, 0xf5,
+  0x1a, 0xf2, 0x87, 0x4f, 0xe8, 0xc3, 0x5e, 0xb3, 0x23, 0x0f, 0x39, 0xe0,
+  0x1f, 0x8b, 0xac, 0x48, 0x9d, 0x6a, 0xc7, 0x8b, 0xd9, 0x28, 0x2d, 0x26,
+  0x77, 0xb8, 0xea, 0x93, 0x6c, 0xc0, 0x19, 0xe3, 0x89, 0xa9, 0x4c, 0xc8,
+  0x20, 0xd1, 0x9c, 0x1d, 0x05, 0x33, 0x89, 0xfd, 0x6a, 0x11, 0xf5, 0x78,
+  0xe2, 0xfd, 0xfd, 0x00, 0xd5, 0x9a, 0x11, 0x1f, 0xca, 0x3e, 0x85, 0x69,
+  0xb6, 0x26, 0x68, 0x0e, 0x08, 0xc4, 0x35, 0x07, 0xaa, 0x9c, 0xc7, 0xfa,
+  0x16, 0xb3, 0x9e, 0x69, 0xf2, 0x5e, 0x74, 0x9c, 0x47, 0x42, 0xc8, 0xb1,
+  0x07, 0x94, 0x8e, 0x84, 0xdd, 0xad, 0x85, 0xde, 0xd4, 0x48, 0x5e, 0x14,
+  0xcf, 0x4a, 0x0b, 0x7e, 0x49, 0x41, 0x0b, 0xe9, 0x27, 0x04, 0xe3, 0xa5,
+  0x79, 0x54, 0x6e, 0x78, 0xac, 0x22, 0xe4, 0xd0, 0x48, 0xcc, 0xbb, 0xad,
+  0x04, 0x68, 0x56, 0xe1, 0xb3, 0x12, 0xa0, 0x19, 0xc5, 0xee, 0x4e, 0x6f,
+  0xb7, 0xb7, 0xd7, 0x5b, 0x17, 0x7e, 0xad, 0x4e, 0xc5, 0xc6, 0x22, 0x5e,
+  0xa7, 0xc1, 0x66, 0x67, 0x6d, 0x44, 0x28, 0xb6, 0x39, 0xce, 0xaa, 0xb3,
+  0x74, 0x58, 0x23, 0x44, 0xa6, 0x43, 0x64, 0x61, 0x42, 0x85, 0x0f, 0x26,
+  0xc2, 0x27, 0x9f, 0x84, 0x08, 0x9f, 0xac, 0x20, 0x42, 0xca, 0x01, 0xb7,
+  0xf3, 0x6c, 0xa1, 0x43, 0x09, 0x5a, 0x41, 0xd6, 0xfa, 0x60, 0x22, 0x7c,
+  0x72, 0x2f, 0x22, 0x7c, 0xf2, 0x1f, 0x41, 0x84, 0x32, 0x8a, 0xbd, 0x64,
+  0xe7, 0xd1, 0xc1, 0xa3, 0xf4, 0xd1, 0xde, 0xc1, 0xc1, 0xe3, 0x27, 0xbb,
+  0x0f, 0xe3, 0x87, 0x75, 0x62, 0x6c, 0x50, 0x5e, 0xaf, 0xd9, 0xe5, 0x7f,
+  0x00, 0x3f, 0x14, 0xbb, 0x95, 0x21, 0xc4, 0xd4, 0x23, 0xc5, 0xbe, 0x44,
+  0x74, 0x6b, 0xed, 0x2f, 0x24, 0x1a, 0x7d, 0x8b, 0x23, 0x75, 0x24, 0x67,
+  0x5d, 0x73, 0x47, 0xdd, 0x72, 0x8a, 0xbe, 0xb4, 0x4d, 0xe2, 0xb5, 0x04,
+  0x22, 0x69, 0x93, 0x2f, 0xcf, 0x23, 0xd3, 0xbd, 0x43, 0x4f, 0xb6, 0x70,
+  0x89, 0xe4, 0xfb, 0x04, 0x1d, 0xee, 0x25, 0xfa, 0x6a, 0x61, 0x01, 0x38,
+  0xcf, 0xb4, 0xb4, 0x00, 0x9f, 0xa1, 0xfa, 0x24, 0xb0, 0x78, 0x07, 0x87,
+  0xb8, 0x5e, 0x31, 0x3f, 0xfe, 0x4d, 0x10, 0xbe, 0x2d, 0x4d, 0x40, 0x62,
+  0xb0, 0x83, 0x6a, 0x27, 0x61, 0x5d, 0x87, 0x4f, 0x0f, 0xae, 0xb7, 0x8c,
+  0x84, 0x75, 0x14, 0xbb, 0x5f, 0xed, 0xf5, 0x76, 0x9f, 0x7c, 0x89, 0x38,
+  0x9d, 0x5d, 0xfb, 0xfb, 0xde, 0x7a, 0x94, 0xdc, 0x24, 0xe4, 0x25, 0x74,
+  0xac, 0xfd, 0x86, 0xf8, 0xcd, 0xbd, 0xe8, 0xd8, 0x63, 0xa7, 0x40, 0xc4,
+  0x44, 0xb5, 0x4d, 0xbc, 0xd4, 0x25, 0x34, 0x9c, 0x5f, 0x71, 0x25, 0xbb,
+  0xb2, 0x4a, 0xaa, 0x45, 0x53, 0xc2, 0xeb, 0x93, 0x1b, 0xa3, 0xd4, 0x6a,
+  0x77, 0xfc, 0x0c, 0x59, 0x63, 0x0c, 0xb2, 0xed, 0xb3, 0xfc, 0x05, 0x71,
+  0xdb, 0x18, 0xdd, 0x2d, 0x31, 0x55, 0x12, 0xdf, 0x5a, 0x61, 0xa2, 0xab,
+  0x77, 0x79, 0x1f, 0x75, 0x6f, 0x0d, 0x2d, 0xbf, 0xde, 0xf8, 0xda, 0xe4,
+  0xd0, 0x18, 0x1b, 0x7f, 0xe2, 0xaa, 0x00, 0xf0, 0xb7, 0x96, 0x4f, 0x58,
+  0xf7, 0xb6, 0x85, 0x96, 0xd4, 0xa3, 0x56, 0xcf, 0xdb, 0x7a, 0xe2, 0xef,
+  0x89, 0x3e, 0xd8, 0xba, 0x21, 0xc6, 0x37, 0xf7, 0x21, 0xbb, 0x51, 0xef,
+  0xeb, 0x13, 0xd8, 0x5c, 0xdc, 0x29, 0x3f, 0x60, 0x2b, 0xcc, 0xc8, 0x3e,
+  0xf6, 0x3e, 0xa0, 0x72, 0xb8, 0x6a, 0x0b, 0xb0, 0xb7, 0x43, 0xd0, 0x8b,
+  0xc3, 0xb5, 0xb3, 0x18, 0x46, 0x88, 0x75, 0xa3, 0xfa, 0x82, 0xa3, 0xf4,
+  0x91, 0xbf, 0xd8, 0x72, 0x7c, 0xc1, 0x14, 0xa5, 0x85, 0x61, 0x28, 0x84,
+  0x76, 0x1b, 0xc0, 0x39, 0x26, 0xac, 0x7f, 0x17, 0x3f, 0xc0, 0x89, 0x7a,
+  0x53, 0x8b, 0x0a, 0xb9, 0x14, 0xa5, 0x89, 0x22, 0x9a, 0xa6, 0x68, 0xb9,
+  0xcb, 0xca, 0x69, 0x48, 0xb6, 0x40, 0x65, 0x5e, 0xb5, 0x2e, 0x1a, 0x92,
+  0x5f, 0xf2, 0x06, 0xab, 0x29, 0x50, 0xa9, 0x47, 0x13, 0xb1, 0xc5, 0xdc,
+  0x46, 0x31, 0x24, 0x91, 0x98, 0xe0, 0xf7, 0xc2, 0xc2, 0xe4, 0x6a, 0x0a,
+  0x0f, 0xe5, 0xa3, 0x34, 0x49, 0x00, 0xc8, 0xce, 0x02, 0x0e, 0xd1, 0x48,
+  0x31, 0xf0, 0x69, 0x31, 0x2f, 0x09, 0xcd, 0x80, 0xab, 0x1e, 0x44, 0xe4,
+  0x91, 0xa5, 0x5e, 0xe1, 0xfe, 0x7a, 0x91, 0xdf, 0xa4, 0xd7, 0x2d, 0x95,
+  0x81, 0x6a, 0xc5, 0x6c, 0x5d, 0x6c, 0x6c, 0xba, 0x04, 0x30, 0xac, 0xa8,
+  0x34, 0xb5, 0xed, 0xb2, 0xd9, 0x55, 0x8a, 0xa8, 0x3e, 0x92, 0x4b, 0x46,
+  0x26, 0xdd, 0x40, 0xd6, 0x40, 0x91, 0x53, 0xf8, 0xa2, 0x5e, 0x89, 0x84,
+  0x80, 0x98, 0x34, 0xa9, 0x4c, 0x78, 0xf5, 0x0a, 0x16, 0xd2, 0x50, 0x9f,
+  0x17, 0x33, 0x5c, 0xaf, 0x6c, 0x4c, 0x61, 0xc0, 0x84, 0x7e, 0x2d, 0x7a,
+  0x6f, 0xa7, 0x63, 0xcb, 0xe9, 0x29, 0x50, 0x30, 0x42, 0x48, 0x37, 0x45,
+  0x55, 0x87, 0x0c, 0xbf, 0x7c, 0x1c, 0x40, 0x0e, 0x90, 0xb8, 0x01, 0xa1,
+  0xc8, 0xcf, 0x94, 0xab, 0xfa, 0x6f, 0x60, 0x83, 0x4f, 0xf6, 0x6a, 0x67,
+  0xf0, 0x19, 0xd9, 0x43, 0x17, 0xd3, 0xb9, 0x60, 0x42, 0xaf, 0x80, 0xa0,
+  0x8d, 0xc8, 0xbf, 0xf1, 0x03, 0x01, 0x3c, 0x71, 0x14, 0x9c, 0xc0, 0x17,
+  0xaa, 0x27, 0xd2, 0x80, 0x95, 0x49, 0x78, 0x69, 0x6b, 0x01, 0x33, 0xc6,
+  0xff, 0xa2, 0x65, 0x47, 0xde, 0xa7, 0xaf, 0x21, 0xc1, 0x69, 0xa3, 0xdd,
+  0xba, 0xcf, 0xa4, 0x6e, 0xb0, 0x0f, 0xe3, 0x08, 0x19, 0xea, 0x08, 0x96,
+  0xa0, 0xaa, 0x61, 0x17, 0x31, 0x3a, 0xcd, 0x55, 0xea, 0xc2, 0x30, 0x9b,
+  0x62, 0x92, 0x9c, 0x5a, 0xc9, 0x8e, 0x59, 0x20, 0x6c, 0x41, 0x2d, 0xf0,
+  0xf6, 0x98, 0x08, 0x50, 0x86, 0xde, 0x91, 0xb2, 0x78, 0x0b, 0x29, 0x1d,
+  0x9c, 0xe0, 0xb2, 0x50, 0x35, 0xb6, 0x96, 0xbc, 0x68, 0x77, 0xd5, 0x3f,
+  0x9f, 0x72, 0xe1, 0x0c, 0x82, 0x0b, 0x5a, 0xaf, 0x0d, 0x76, 0x90, 0x77,
+  0x0d, 0x48, 0x8d, 0xcb, 0xdc, 0xd3, 0x4b, 0x0e, 0xbe, 0x5a, 0x86, 0x52,
+  0xf1, 0x2c, 0xc5, 0xcc, 0x15, 0x06, 0x7d, 0x9d, 0x3b, 0xf1, 0x2a, 0xf6,
+  0xdc, 0x4b, 0x6a, 0x39, 0x83, 0x0a, 0xb0, 0x6d, 0x8e, 0x58, 0x60, 0xb3,
+  0xc0, 0x4d, 0xef, 0xcb, 0x47, 0x40, 0xd7, 0x78, 0xeb, 0x66, 0xb9, 0xe4,
+  0x86, 0x71, 0x68, 0x16, 0x07, 0x97, 0x93, 0xc9, 0x5d, 0xbd, 0xb6, 0xb9,
+  0x42, 0xe0, 0x8c, 0x8d, 0x6c, 0x17, 0xa8, 0x70, 0x9e, 0x83, 0x78, 0x6f,
+  0x32, 0x64, 0x81, 0x00, 0x05, 0x09, 0xa0, 0xb5, 0xae, 0x99, 0x29, 0xbf,
+  0xae, 0x20, 0x8e, 0xe4, 0xe5, 0x43, 0x9e, 0x38, 0x87, 0xa1, 0x7f, 0x9f,
+  0x20, 0x29, 0x90, 0x6c, 0xf6, 0x2c, 0x49, 0xa7, 0xc4, 0x64, 0x73, 0x0c,
+  0x9d, 0x0a, 0x22, 0xa0, 0xf3, 0x57, 0x6c, 0x52, 0x66, 0x97, 0x04, 0x19,
+  0x24, 0x99, 0xa0, 0x22, 0xb8, 0x2b, 0x46, 0xa0, 0xfb, 0x0a, 0x98, 0x23,
+  0xde, 0x21, 0x54, 0x4d, 0x98, 0x60, 0x08, 0xc2, 0x58, 0xca, 0x41, 0xd5,
+  0xc0, 0x6c, 0xd0, 0x67, 0x62, 0x76, 0xa6, 0xff, 0x6d, 0x9e, 0xd0, 0x36,
+  0x55, 0x2e, 0x5c, 0x13, 0xda, 0x9e, 0xde, 0xf4, 0x82, 0xfc, 0x64, 0x69,
+  0x0e, 0x83, 0x7c, 0x8c, 0x28, 0x0f, 0x1a, 0x99, 0x68, 0x99, 0x09, 0xc5,
+  0x78, 0x18, 0x16, 0x77, 0x73, 0xf4, 0x06, 0x08, 0x74, 0x32, 0x4b, 0x14,
+  0xb8, 0xbc, 0x0c, 0x03, 0xb0, 0x14, 0xac, 0xfa, 0x2d, 0x79, 0xda, 0xe5,
+  0x55, 0xd2, 0x18, 0xd1, 0x37, 0x8f, 0xa5, 0xcc, 0xa3, 0xc4, 0x68, 0x90,
+  0x48, 0x6d, 0x23, 0xaa, 0x3e, 0x62, 0xe1, 0x93, 0x9a, 0x86, 0x78, 0x6a,
+  0xa1, 0x94, 0x9c, 0x14, 0x93, 0xec, 0xcd, 0xc1, 0x7f, 0xd1, 0x26, 0x05,
+  0x3b, 0x29, 0x60, 0x30, 0x46, 0x9a, 0x6d, 0xa9, 0x2a, 0x2b, 0x2f, 0x7a,
+  0x8a, 0x27, 0xa9, 0x95, 0x16, 0x38, 0xc3, 0x7a, 0x17, 0x5a, 0x88, 0x82,
+  0x67, 0x70, 0x5f, 0x92, 0xf8, 0xe8, 0xa5, 0xa1, 0x95, 0xa8, 0x27, 0xc9,
+  0x35, 0x2c, 0xfc, 0x83, 0xd0, 0x1a, 0x14, 0x75, 0x85, 0x70, 0x1f, 0x6a,
+  0x54, 0x51, 0x25, 0x97, 0xb1, 0x14, 0xac, 0x68, 0xe1, 0x4a, 0x8e, 0x8b,
+  0x48, 0x78, 0x10, 0xe3, 0xdf, 0x52, 0x52, 0xa6, 0x89, 0x73, 0xa1, 0x9b,
+  0x50, 0xd3, 0x42, 0xa4, 0x88, 0x48, 0x38, 0x49, 0x18, 0x11, 0x5a, 0x4e,
+  0x2e, 0x92, 0x4b, 0x27, 0x38, 0xba, 0x91, 0x67, 0x85, 0x15, 0x02, 0xd3,
+  0x19, 0x27, 0x54, 0xc1, 0x22, 0x00, 0x0f, 0x9e, 0xc2, 0x4e, 0xc4, 0xaf,
+  0x61, 0x6f, 0x63, 0xaf, 0x18, 0x12, 0x7a, 0x82, 0x85, 0x59, 0x5b, 0xd1,
+  0x55, 0xc0, 0x61, 0xb1, 0x9b, 0x5e, 0xb0, 0x4a, 0xcd, 0x30, 0x2f, 0xa4,
+  0x56, 0x0c, 0xa6, 0x44, 0xc1, 0x16, 0x52, 0x12, 0x58, 0x69, 0x90, 0xf9,
+  0xeb, 0xd9, 0x2f, 0x34, 0x2a, 0xad, 0xe2, 0x19, 0x02, 0xb5, 0x36, 0x06,
+  0x34, 0x29, 0x27, 0xa9, 0xc1, 0x7b, 0xa3, 0xb4, 0xcc, 0x88, 0x55, 0xd3,
+  0x48, 0x40, 0x1f, 0x9e, 0x99, 0x42, 0x25, 0x1c, 0x90, 0xee, 0x05, 0x4b,
+  0xc1, 0x46, 0x88, 0xdc, 0x66, 0xee, 0xed, 0xe0, 0x2c, 0xf0, 0x70, 0x49,
+  0xfc, 0x93, 0x44, 0x0a, 0xcb, 0x66, 0x96, 0xe4, 0xb4, 0xa7, 0x42, 0x03,
+  0xe8, 0xaa, 0xa5, 0x3f, 0x89, 0xed, 0xe2, 0x92, 0x4b, 0x28, 0xba, 0xaf,
+  0xf7, 0xf3, 0x1d, 0xdf, 0xd5, 0x32, 0xb6, 0x33, 0xc9, 0xef, 0x70, 0xb0,
+  0xc1, 0x72, 0xad, 0x6b, 0x22, 0x10, 0x50, 0x65, 0x65, 0x40, 0x66, 0xaf,
+  0xbd, 0x23, 0x4b, 0x9d, 0x31, 0xa0, 0xc3, 0x62, 0xc0, 0xf5, 0xce, 0x4c,
+  0x5d, 0x9e, 0x96, 0xab, 0xbf, 0x46, 0x89, 0x9f, 0xeb, 0xea, 0xaf, 0x0d,
+  0x02, 0xff, 0x78, 0x00, 0xce, 0x91, 0xdd, 0x05, 0x3a, 0x74, 0xbf, 0xa1,
+  0x28, 0x80, 0x63, 0x47, 0x2f, 0x6d, 0xbd, 0xd8, 0x37, 0x59, 0x79, 0x9a,
+  0x87, 0x91, 0xde, 0xbc, 0xef, 0x49, 0xc4, 0x87, 0x4b, 0x4e, 0x8b, 0x82,
+  0xe3, 0x47, 0xab, 0xae, 0x39, 0x4c, 0x35, 0xe2, 0x25, 0xd2, 0x0b, 0xed,
+  0x91, 0x06, 0x27, 0x0f, 0x93, 0xe1, 0x95, 0xa0, 0x4f, 0x4f, 0xd8, 0x70,
+  0xc7, 0x67, 0x0a, 0x53, 0x56, 0x38, 0x10, 0x92, 0x73, 0x14, 0x14, 0xa7,
+  0xa3, 0x8d, 0x82, 0x5a, 0x60, 0xa1, 0x99, 0x1e, 0x4a, 0x0e, 0x8f, 0xad,
+  0x81, 0x4f, 0x74, 0xeb, 0xf2, 0x29, 0x41, 0x93, 0xb6, 0x60, 0x37, 0x32,
+  0x33, 0x36, 0x6b, 0x74, 0x7f, 0x94, 0xb9, 0xe8, 0xd3, 0xd0, 0x09, 0x8d,
+  0x82, 0x38, 0xcd, 0x07, 0x10, 0x8a, 0x10, 0xdb, 0x72, 0xba, 0xa0, 0xfc,
+  0xca, 0xdd, 0x9d, 0x1d, 0x5b, 0x26, 0xae, 0xa5, 0x36, 0x9c, 0x90, 0xc8,
+  0xd2, 0x12, 0x71, 0x84, 0x4a, 0x4d, 0x71, 0xe3, 0xa6, 0x34, 0x46, 0x92,
+  0x55, 0xc1, 0xa2, 0x98, 0xd8, 0xa5, 0x29, 0xd5, 0x66, 0x14, 0x81, 0x1b,
+  0x03, 0x98, 0x98, 0x52, 0x99, 0x38, 0x0c, 0xa3, 0x3e, 0xa1, 0x21, 0x96,
+  0x07, 0xf5, 0x77, 0xc2, 0x70, 0xe8, 0x94, 0x7d, 0x8a, 0x2f, 0x1a, 0x8e,
+  0x10, 0x45, 0xdf, 0xdd, 0xd9, 0x00, 0x0e, 0x13, 0xc3, 0x45, 0xe3, 0xc2,
+  0x68, 0x7f, 0x1e, 0x7f, 0x6f, 0x89, 0x3a, 0x1c, 0x2e, 0xff, 0xf6, 0x5f,
+  0x0e, 0xb8, 0x23, 0x6c, 0xd4, 0xbc, 0xa4, 0x26, 0xb9, 0x3e, 0x94, 0x97,
+  0x7b, 0x5b, 0x2f, 0x4c, 0x67, 0x4a, 0x84, 0xdb, 0x79, 0xa3, 0x51, 0x6a,
+  0x90, 0x52, 0x01, 0x05, 0x56, 0xc6, 0xda, 0x38, 0x99, 0xb7, 0x5d, 0xf7,
+  0xe5, 0x67, 0x1f, 0x1d, 0x0e, 0xd1, 0x1f, 0xca, 0x5e, 0xef, 0xb1, 0x41,
+  0xde, 0x5b, 0xb7, 0xe6, 0x7b, 0xad, 0xd8, 0x5c, 0x1d, 0xcc, 0xe2, 0x69,
+  0x9d, 0x62, 0xb1, 0xde, 0x44, 0x4c, 0x25, 0x25, 0x9a, 0x97, 0x2f, 0x16,
+  0xa2, 0x40, 0xbe, 0x48, 0xf1, 0x25, 0x06, 0xd4, 0x12, 0x6f, 0xaa, 0x51,
+  0x5a, 0x49, 0x16, 0xb1, 0x1a, 0x7e, 0xa8, 0x38, 0x45, 0x6f, 0x69, 0xe1,
+  0x57, 0x0d, 0xa1, 0x73, 0xa1, 0xd1, 0x4d, 0x3c, 0x60, 0x33, 0x3a, 0x89,
+  0xc3, 0x93, 0x42, 0x71, 0x9e, 0x68, 0x60, 0xaa, 0x4c, 0x28, 0x20, 0x17,
+  0xd0, 0xa0, 0x9c, 0x41, 0x72, 0x28, 0xb0, 0x68, 0xf2, 0xf6, 0xcd, 0x69,
+  0x97, 0xa8, 0x11, 0xf8, 0x17, 0x42, 0x02, 0x31, 0xcd, 0x06, 0xbd, 0x24,
+  0x36, 0x42, 0x90, 0x75, 0x35, 0x9e, 0x89, 0x52, 0x14, 0xda, 0x7b, 0x0a,
+  0x89, 0x2f, 0xc6, 0x56, 0x4b, 0x53, 0xde, 0xc9, 0xcf, 0xdb, 0x71, 0x18,
+  0x19, 0x3c, 0xb9, 0x41, 0xc5, 0x13, 0x28, 0x4a, 0x97, 0x9b, 0xc7, 0x35,
+  0x2b, 0xa6, 0x5c, 0xd5, 0x44, 0x7a, 0x89, 0x38, 0xab, 0x9a, 0xe1, 0xeb,
+  0x3d, 0xc9, 0x1c, 0xd3, 0xcc, 0xb0, 0x92, 0x72, 0x44, 0x9b, 0x43, 0x75,
+  0x41, 0x16, 0x85, 0x2d, 0xc4, 0x02, 0x9a, 0x7b, 0x06, 0xbb, 0x3a, 0xeb,
+  0x90, 0x0c, 0x66, 0xaf, 0x6e, 0xe9, 0xd4, 0x9b, 0xec, 0x62, 0xe2, 0x44,
+  0x5f, 0x7e, 0x11, 0xae, 0x1e, 0x52, 0x39, 0x81, 0xf6, 0x35, 0xd8, 0xe3,
+  0xc8, 0xc1, 0x93, 0xc7, 0x81, 0xd1, 0x4d, 0x40, 0x53, 0xc8, 0x67, 0xad,
+  0x78, 0x3e, 0x86, 0x38, 0x88, 0x97, 0xe1, 0xf8, 0xc9, 0x7c, 0x39, 0x4a,
+  0x29, 0xc9, 0x7d, 0x46, 0x3a, 0x05, 0xaf, 0x5a, 0x32, 0xc5, 0xe0, 0x12,
+  0xae, 0xd1, 0x87, 0xab, 0x1c, 0x44, 0x0b, 0xc7, 0x8d, 0x90, 0xda, 0x4d,
+  0x7e, 0x24, 0x9b, 0x26, 0x11, 0x27, 0x77, 0x04, 0x3b, 0x6c, 0xba, 0x26,
+  0xea, 0xf6, 0x2a, 0x4b, 0xc3, 0x2a, 0x5e, 0xe6, 0xe4, 0x30, 0x11, 0x3a,
+  0xc6, 0x25, 0x1c, 0x16, 0xd9, 0xbc, 0x62, 0xf1, 0xbb, 0x2d, 0x6c, 0xa9,
+  0xa1, 0xdd, 0x5f, 0x4e, 0xf2, 0x41, 0x32, 0x11, 0x4c, 0x76, 0x49, 0xf8,
+  0xd5, 0xb0, 0xc6, 0x41, 0xed, 0x5e, 0xcf, 0xd9, 0xdf, 0x15, 0xd2, 0xd3,
+  0xe1, 0xa6, 0x3c, 0xe8, 0x52, 0x5e, 0xc2, 0x6d, 0xb5, 0xb4, 0x43, 0xd3,
+  0x05, 0x55, 0xe4, 0x8e, 0xe2, 0x71, 0x57, 0x4e, 0xaf, 0xd6, 0x34, 0xa0,
+  0x74, 0xe9, 0xd2, 0x39, 0x53, 0x9e, 0x61, 0x80, 0x6a, 0xcb, 0x48, 0xe5,
+  0x09, 0x7b, 0xaf, 0x6f, 0x48, 0x0a, 0x8e, 0xb8, 0x33, 0x28, 0x85, 0x37,
+  0xfa, 0x3b, 0x5c, 0x3d, 0x54, 0xc2, 0x8e, 0x53, 0x5d, 0xd2, 0x90, 0x09,
+  0x16, 0xab, 0xd0, 0xaa, 0x69, 0xb8, 0x1b, 0x5d, 0xb1, 0xb1, 0x16, 0x87,
+  0x98, 0xca, 0xc8, 0x14, 0xc6, 0xc3, 0x59, 0x28, 0xae, 0x36, 0x53, 0x84,
+  0xea, 0x93, 0x89, 0xd4, 0xce, 0xdb, 0xb1, 0x64, 0x51, 0x5c, 0xd7, 0x84,
+  0xe5, 0x5e, 0xf7, 0x8e, 0x08, 0xf4, 0x5c, 0xb8, 0x2d, 0x7e, 0x09, 0xdb,
+  0xf4, 0xba, 0xac, 0xdc, 0x19, 0x54, 0x80, 0x6f, 0x9b, 0xcf, 0x60, 0xf9,
+  0xd4, 0x3c, 0xda, 0xce, 0xcb, 0xcd, 0x2e, 0x8b, 0x5e, 0x48, 0x6d, 0xe3,
+  0x20, 0xe3, 0x41, 0x3e, 0xba, 0xab, 0x71, 0xf6, 0xc7, 0x7b, 0x01, 0xce,
+  0x6e, 0x1e, 0x6d, 0x01, 0x94, 0x7a, 0xe3, 0x9f, 0x67, 0xb1, 0x26, 0x0a,
+  0x23, 0xa4, 0x92, 0x6b, 0xb6, 0x84, 0x8c, 0x5e, 0xb1, 0xde, 0xde, 0x31,
+  0x98, 0x30, 0x16, 0x16, 0x83, 0x56, 0x2e, 0x49, 0x2e, 0x2c, 0xb6, 0x7a,
+  0xd1, 0xcb, 0x99, 0xc4, 0x77, 0x0b, 0xec, 0x8c, 0x04, 0x8b, 0x23, 0x65,
+  0x31, 0x94, 0x01, 0xf7, 0x16, 0x20, 0xd4, 0x52, 0x32, 0xe4, 0xb2, 0x6b,
+  0x2a, 0xf6, 0x35, 0xca, 0x87, 0xb6, 0x28, 0x89, 0x01, 0x8a, 0x13, 0x94,
+  0x01, 0xfd, 0x92, 0x68, 0xd8, 0x8f, 0x4e, 0x84, 0x85, 0x94, 0x10, 0x35,
+  0x2e, 0x06, 0x40, 0x4b, 0xab, 0xd0, 0x62, 0x38, 0xc5, 0x3b, 0x8e, 0x6b,
+  0x41, 0x3e, 0xbf, 0x65, 0x22, 0x22, 0x29, 0xab, 0x30, 0x64, 0x1b, 0x28,
+  0x2b, 0xa9, 0xb9, 0xe2, 0x08, 0x66, 0x02, 0xa0, 0x4d, 0xdc, 0x83, 0xf5,
+  0xb8, 0xc4, 0x40, 0xcc, 0x91, 0xfb, 0x8d, 0xfa, 0x24, 0x07, 0x4f, 0x88,
+  0xd3, 0xcb, 0xea, 0xef, 0xed, 0x85, 0x59, 0x80, 0x46, 0x8f, 0x57, 0x18,
+  0x72, 0x48, 0x71, 0xd4, 0x56, 0xd7, 0x13, 0xf2, 0x10, 0x37, 0x93, 0x5b,
+  0xf0, 0x86, 0x96, 0xd1, 0x2f, 0x95, 0xe0, 0x54, 0x1a, 0xc8, 0x0a, 0x58,
+  0x37, 0x58, 0xb3, 0x19, 0x26, 0xcf, 0xbb, 0xb8, 0x61, 0x30, 0x87, 0x06,
+  0xa2, 0xc2, 0x72, 0x7f, 0x6d, 0x9d, 0xd6, 0xa2, 0x8f, 0xeb, 0xaf, 0x6d,
+  0xd0, 0xfc, 0x43, 0x4e, 0xa3, 0x1d, 0xda, 0x5a, 0x92, 0x94, 0x39, 0x7d,
+  0x9e, 0x65, 0x37, 0x94, 0xe8, 0x4b, 0xb1, 0x22, 0xf0, 0x8e, 0x97, 0x49,
+  0xc0, 0x2d, 0xb4, 0xbb, 0x12, 0x4d, 0x37, 0xe1, 0x43, 0x4a, 0x92, 0xd8,
+  0x38, 0x29, 0x2b, 0x03, 0x13, 0xa9, 0xd4, 0xc6, 0x76, 0xb5, 0xe6, 0x99,
+  0x35, 0x69, 0x93, 0xfe, 0x7d, 0x43, 0x62, 0x40, 0xae, 0xb9, 0x0b, 0xee,
+  0x9d, 0xb7, 0x28, 0x4d, 0xb0, 0x09, 0x27, 0xbf, 0x8e, 0xd2, 0x64, 0xa2,
+  0x41, 0x21, 0x38, 0x36, 0xbf, 0xee, 0x0f, 0x8b, 0x61, 0xa5, 0x7f, 0xc8,
+  0x19, 0x25, 0x64, 0x56, 0x2b, 0x3a, 0xe5, 0x1f, 0xe9, 0x66, 0x79, 0x8d,
+  0x75, 0x0e, 0x38, 0x47, 0x59, 0x69, 0xdc, 0x29, 0x9d, 0xea, 0x50, 0x19,
+  0x21, 0xe7, 0x90, 0x9b, 0x53, 0x2e, 0x87, 0x9c, 0x96, 0x88, 0x8e, 0x38,
+  0x09, 0x38, 0x92, 0x2e, 0xca, 0x44, 0x83, 0xb6, 0x97, 0xa6, 0xed, 0x88,
+  0x56, 0xbc, 0xe2, 0x43, 0x21, 0x85, 0x58, 0x44, 0x16, 0x5a, 0x7e, 0x74,
+  0xa7, 0x29, 0x9c, 0xa8, 0x91, 0xde, 0x84, 0x44, 0x8c, 0x65, 0x32, 0x4e,
+  0xd5, 0x7c, 0x23, 0x12, 0x66, 0x3e, 0x84, 0x95, 0x63, 0xf0, 0x37, 0xfa,
+  0x0c, 0xad, 0xa3, 0x9e, 0xda, 0xce, 0x92, 0x1d, 0x6e, 0xa1, 0x51, 0x74,
+  0x90, 0xef, 0x8a, 0x48, 0x58, 0x4e, 0xb2, 0xb9, 0xc6, 0xf6, 0x76, 0xa3,
+  0x54, 0x20, 0x03, 0x80, 0x42, 0x79, 0x37, 0x16, 0xb1, 0x2f, 0xaf, 0x9a,
+  0x44, 0x5b, 0xae, 0xf2, 0x74, 0x8d, 0x6e, 0xe3, 0x51, 0xb4, 0xd9, 0x68,
+  0xfd, 0xd1, 0xce, 0x2e, 0x8d, 0xf6, 0xd1, 0xce, 0xd3, 0xad, 0x95, 0x97,
+  0xf1, 0x47, 0x86, 0x2c, 0xa7, 0x93, 0xf3, 0x80, 0x03, 0xbf, 0x6e, 0x3c,
+  0x4e, 0xf3, 0x5a, 0x6d, 0x3b, 0xed, 0x6e, 0x8e, 0x69, 0xf0, 0x98, 0x87,
+  0xf8, 0x14, 0x7e, 0x33, 0x29, 0xd3, 0x98, 0xa0, 0x39, 0xee, 0x81, 0x92,
+  0x4d, 0x86, 0x7b, 0x7c, 0x43, 0xc0, 0x3c, 0x14, 0x14, 0x9b, 0x64, 0x65,
+  0x78, 0x3e, 0xa2, 0xba, 0x55, 0xe5, 0x15, 0x96, 0x83, 0xf7, 0x94, 0x36,
+  0x7c, 0x4d, 0xde, 0xa3, 0xb8, 0x6d, 0x4a, 0xb8, 0x61, 0xa2, 0x4a, 0xe8,
+  0x65, 0x06, 0x5e, 0x16, 0x9a, 0xa1, 0xe7, 0x8c, 0x05, 0xb7, 0x1d, 0xec,
+  0x54, 0xb0, 0x48, 0x39, 0xdf, 0x8a, 0xbc, 0xed, 0x77, 0xc6, 0x80, 0xab,
+  0x42, 0x64, 0xf4, 0x3c, 0x9b, 0x65, 0xe5, 0x15, 0x5a, 0xa4, 0xa6, 0x98,
+  0x62, 0x74, 0xe9, 0x29, 0x70, 0xe4, 0x5e, 0x94, 0xab, 0x25, 0x89, 0x80,
+  0x52, 0xf1, 0x0c, 0x00, 0x0b, 0x62, 0x12, 0x15, 0x2c, 0x43, 0xfe, 0x92,
+  0x6b, 0x1f, 0xdb, 0x69, 0x06, 0xab, 0x4a, 0x66, 0xb4, 0x66, 0x08, 0x27,
+  0x3d, 0xb9, 0x13, 0x7c, 0x00, 0xdc, 0x6c, 0x64, 0x14, 0x16, 0x33, 0xee,
+  0x75, 0xbf, 0x4f, 0xe4, 0xdb, 0x67, 0xff, 0xfd, 0x05, 0x8a, 0xc7, 0xde,
+  0x3c, 0x31, 0x30, 0x6a, 0x13, 0xf7, 0xfa, 0xac, 0x0f, 0xec, 0x99, 0x64,
+  0x18, 0x34, 0xae, 0x15, 0x04, 0x72, 0x02, 0x9f, 0xfd, 0x88, 0xe1, 0xb3,
+  0x5f, 0x99, 0x8f, 0xb7, 0xa8, 0xf8, 0x0f, 0xa2, 0x2f, 0xad, 0x38, 0x10,
+  0x66, 0xdb, 0x3f, 0x41, 0xf1, 0x0f, 0xa7, 0xf5, 0xf5, 0x8f, 0x88, 0x1d,
+  0xd8, 0x7a, 0xa6, 0x85, 0x6a, 0x38, 0x8f, 0xf1, 0x2a, 0x42, 0x10, 0xed,
+  0xba, 0x5d, 0xa1, 0x29, 0x7d, 0x22, 0xb6, 0x52, 0x1a, 0xaa, 0xd6, 0x64,
+  0xb0, 0x4c, 0x6b, 0x44, 0x4f, 0xf0, 0x4e, 0xb0, 0x03, 0x14, 0xe6, 0x82,
+  0x6a, 0x11, 0x2f, 0x18, 0x8e, 0xd0, 0xe2, 0x0e, 0x95, 0x01, 0xbd, 0x9b,
+  0x0b, 0x7f, 0xb0, 0x43, 0x01, 0x77, 0xa5, 0x04, 0x1d, 0xfc, 0x8a, 0x7b,
+  0x66, 0xfc, 0x34, 0x13, 0x2f, 0x03, 0x04, 0x36, 0x44, 0x6c, 0xa8, 0x56,
+  0x9c, 0x4c, 0x32, 0x5b, 0x3a, 0x03, 0xff, 0x8c, 0x31, 0x87, 0xee, 0x28,
+  0xe2, 0xe7, 0xd1, 0x06, 0x4d, 0xff, 0x67, 0x03, 0x97, 0xb2, 0x21, 0x1f,
+  0x4e, 0xd2, 0xaf, 0xbf, 0x45, 0xa0, 0x90, 0x0e, 0xaa, 0xee, 0x1b, 0xeb,
+  0xed, 0xa5, 0x05, 0xb8, 0x72, 0xf7, 0xf1, 0xcb, 0xdd, 0xc0, 0x3e, 0x4a,
+  0xb4, 0x0a, 0x79, 0x24, 0xbf, 0xe6, 0x3f, 0x5a, 0x90, 0xc9, 0xa8, 0xce,
+  0xc5, 0xcb, 0x57, 0x47, 0xb0, 0xc1, 0x7d, 0x0b, 0x75, 0x2a, 0xd8, 0x27,
+  0x8c, 0x60, 0x6a, 0xdd, 0x36, 0x6c, 0x35, 0xe3, 0xf6, 0x5a, 0xe4, 0x54,
+  0x86, 0x01, 0xaa, 0xe1, 0xe8, 0x93, 0x21, 0x69, 0x92, 0x55, 0xb8, 0x1b,
+  0xa0, 0x9c, 0x45, 0xa7, 0xb0, 0xbd, 0x38, 0xba, 0x8d, 0x6f, 0x37, 0x24,
+  0x3e, 0x7d, 0xe3, 0xb0, 0x89, 0x17, 0x64, 0x20, 0x76, 0x4a, 0xe3, 0x38,
+  0x89, 0x36, 0xfe, 0x84, 0x20, 0x61, 0x58, 0x05, 0x91, 0x67, 0x27, 0xfc,
+  0x82, 0x07, 0x45, 0x09, 0x95, 0x70, 0x3a, 0xe5, 0x1a, 0x6d, 0x3a, 0x26,
+  0xb9, 0x62, 0x7d, 0x1d, 0x14, 0x82, 0x0b, 0x96, 0xa5, 0x14, 0xe1, 0x64,
+  0xa6, 0xac, 0x76, 0xa4, 0x8d, 0x92, 0xd1, 0x3d, 0xc9, 0xfd, 0xe9, 0x17,
+  0x15, 0xa4, 0x9c, 0x75, 0xeb, 0xce, 0xe2, 0x01, 0xf1, 0x48, 0x28, 0xd6,
+  0x76, 0x38, 0xa4, 0x9a, 0x01, 0x74, 0x07, 0xc1, 0x97, 0x97, 0x97, 0x8c,
+  0x05, 0x4d, 0x73, 0xce, 0x9b, 0xda, 0x13, 0x4c, 0x3f, 0x1a, 0x83, 0x02,
+  0x46, 0x86, 0x0e, 0x34, 0x30, 0x2c, 0x83, 0x32, 0x73, 0xf7, 0xf7, 0xd3,
+  0xe1, 0x26, 0xbb, 0xbd, 0x74, 0xf0, 0x2e, 0xe9, 0x3c, 0x94, 0x56, 0x2d,
+  0x69, 0x5a, 0x4c, 0x9d, 0x43, 0x17, 0x02, 0x34, 0x4c, 0x98, 0x0e, 0x5d,
+  0xa2, 0x57, 0x91, 0x3e, 0x33, 0x51, 0x3f, 0xe3, 0x04, 0x28, 0xf5, 0x4e,
+  0xd2, 0x6a, 0x27, 0x08, 0xd7, 0x28, 0x0a, 0x54, 0x3a, 0xf5, 0xc4, 0xa6,
+  0x09, 0x05, 0x9c, 0x25, 0x0a, 0x76, 0x17, 0xa3, 0x85, 0x9c, 0x06, 0x81,
+  0x6b, 0xc4, 0xf2, 0xa8, 0xc5, 0xc7, 0x13, 0xd4, 0xbb, 0x91, 0x83, 0x7a,
+  0xd7, 0xdc, 0x7a, 0x17, 0x03, 0x4f, 0x2c, 0x38, 0xca, 0x12, 0x09, 0xbf,
+  0x4f, 0x80, 0xdf, 0x16, 0xa5, 0x15, 0x01, 0x5c, 0x10, 0xef, 0x26, 0x61,
+  0x2a, 0xd3, 0xdc, 0xa6, 0x15, 0x67, 0xac, 0xc1, 0x66, 0x89, 0x8c, 0xbd,
+  0xfd, 0x2f, 0xbf, 0x0c, 0xfa, 0x5a, 0xb9, 0x48, 0x0d, 0xec, 0x30, 0x2e,
+  0x94, 0x57, 0x19, 0x89, 0x4d, 0x37, 0x44, 0xfb, 0xa5, 0x3a, 0x19, 0xb1,
+  0xd2, 0x70, 0x82, 0xbd, 0xfa, 0x81, 0x05, 0xc4, 0xba, 0xa7, 0x24, 0x12,
+  0xb2, 0x34, 0x40, 0x56, 0x27, 0xbc, 0x7d, 0x61, 0x15, 0xc2, 0x17, 0x7a,
+  0x2a, 0x88, 0x30, 0x0c, 0x7e, 0x24, 0xd5, 0xed, 0x05, 0xaf, 0x8e, 0xd9,
+  0x7c, 0x5a, 0x0d, 0x09, 0xb2, 0x8e, 0x60, 0x00, 0x64, 0x39, 0x36, 0x5a,
+  0x70, 0xd0, 0x37, 0x22, 0x4d, 0x56, 0x1b, 0x68, 0x25, 0x99, 0x2e, 0x1d,
+  0xd2, 0xec, 0xb6, 0x51, 0x5e, 0x93, 0xd1, 0xe1, 0x66, 0xd1, 0xb7, 0x84,
+  0xce, 0x89, 0x1d, 0x34, 0x9a, 0xa3, 0xb2, 0x07, 0x97, 0x69, 0xe5, 0x23,
+  0xc5, 0x3a, 0x88, 0x61, 0x4b, 0x1a, 0x0f, 0x99, 0x8a, 0x05, 0xe9, 0x36,
+  0x3a, 0x34, 0x55, 0x70, 0xb3, 0xb1, 0xf2, 0x0f, 0x54, 0xc2, 0x6e, 0xd0,
+  0x7f, 0xf1, 0x2d, 0x6d, 0xc7, 0xa1, 0xac, 0xbd, 0x20, 0x3f, 0x7f, 0x1b,
+  0xac, 0x89, 0x2d, 0xb0, 0x65, 0x54, 0x9f, 0xb9, 0xaa, 0x92, 0xe1, 0x95,
+  0x15, 0x81, 0x08, 0x79, 0x8e, 0xca, 0xb4, 0x8a, 0x2f, 0x9b, 0x17, 0x98,
+  0x71, 0x8f, 0xbc, 0xfc, 0x58, 0x42, 0x85, 0x36, 0x8d, 0x22, 0xf8, 0x8d,
+  0x80, 0xfe, 0xe1, 0x50, 0x42, 0x2b, 0x51, 0x0a, 0xb7, 0x46, 0xee, 0x05,
+  0x4f, 0x7b, 0xf7, 0x33, 0xbe, 0xeb, 0xac, 0x93, 0xbf, 0xf7, 0x6e, 0x0a,
+  0x8e, 0xd4, 0x66, 0xe4, 0x25, 0xb6, 0x60, 0x71, 0xee, 0x3d, 0x9e, 0x98,
+  0xd8, 0x83, 0x60, 0x99, 0xaf, 0x18, 0xa7, 0x6a, 0x6b, 0x17, 0x10, 0x65,
+  0x5d, 0xa2, 0xf1, 0x14, 0x47, 0x49, 0x55, 0x19, 0x75, 0x55, 0x31, 0x36,
+  0xae, 0x2a, 0x16, 0x58, 0x24, 0x87, 0x7d, 0x15, 0xd4, 0x95, 0x9f, 0xb9,
+  0x8f, 0x0c, 0xb1, 0x5b, 0x9f, 0x31, 0xe6, 0xc1, 0x2e, 0x68, 0xbf, 0x68,
+  0x95, 0xa5, 0x80, 0x3c, 0x1b, 0xbe, 0x61, 0x60, 0x06, 0x3e, 0xc1, 0xb7,
+  0xf6, 0x88, 0x17, 0x80, 0xdc, 0x6a, 0x65, 0xf6, 0x1b, 0x6b, 0x82, 0x82,
+  0x8d, 0xa5, 0xd1, 0x31, 0xe4, 0xca, 0x4a, 0xd1, 0x07, 0xfd, 0x0c, 0x28,
+  0x6a, 0xc6, 0x22, 0x31, 0xd2, 0xdb, 0x46, 0xe9, 0x17, 0xa5, 0x4c, 0x74,
+  0x71, 0xf9, 0xae, 0x44, 0xcd, 0xb1, 0x48, 0x2f, 0x17, 0x78, 0xf5, 0x32,
+  0x16, 0x2e, 0x28, 0x8e, 0x57, 0xbc, 0xfd, 0x72, 0x9b, 0x66, 0x73, 0xcd,
+  0xce, 0xf5, 0x20, 0x1b, 0xe0, 0xad, 0x2d, 0x9e, 0xf3, 0x0c, 0x96, 0xab,
+  0x5a, 0xcc, 0x38, 0x10, 0x96, 0x4a, 0x86, 0x2e, 0x06, 0xbf, 0x52, 0xd0,
+  0x51, 0x2e, 0x53, 0x67, 0x18, 0x5d, 0x8b, 0xb5, 0x98, 0x8e, 0x3d, 0xaf,
+  0x43, 0x4a, 0x59, 0xff, 0xe4, 0x93, 0x4e, 0x28, 0x39, 0x58, 0x18, 0x00,
+  0xd7, 0xf2, 0xc1, 0xbb, 0xe5, 0x4f, 0x4e, 0x50, 0x30, 0x09, 0xfd, 0xb4,
+  0x26, 0x14, 0x3a, 0xe6, 0x9d, 0xea, 0xf7, 0xb3, 0xfc, 0x66, 0xa6, 0x5a,
+  0x88, 0xc0, 0xb7, 0xb0, 0x9d, 0x9f, 0x44, 0x59, 0xcc, 0x00, 0xc4, 0xa9,
+  0x2a, 0xd0, 0x1f, 0xb9, 0xb0, 0x61, 0xde, 0x04, 0xb8, 0x08, 0xfb, 0x75,
+  0x17, 0x42, 0x3f, 0x65, 0x45, 0xfe, 0x57, 0xe3, 0x07, 0x40, 0xd6, 0xd7,
+  0x2a, 0xac, 0x71, 0x5a, 0x2d, 0x26, 0xa9, 0x4e, 0x85, 0xa1, 0xd5, 0xad,
+  0x1c, 0x5d, 0xd1, 0xb4, 0x36, 0x80, 0x77, 0xe2, 0xda, 0x6f, 0x84, 0xab,
+  0xab, 0x33, 0xaa, 0xa2, 0x71, 0x7f, 0x10, 0xab, 0xe6, 0x63, 0x82, 0x2e,
+  0x5e, 0xba, 0x43, 0x0c, 0x0f, 0x41, 0xd5, 0xa4, 0x48, 0x80, 0x63, 0xfe,
+  0x3a, 0xbf, 0x6c, 0xc2, 0x7b, 0x39, 0x07, 0x96, 0xea, 0xd9, 0x7a, 0x58,
+  0xe8, 0x72, 0xfd, 0x3e, 0x8f, 0x64, 0x3c, 0x5f, 0x7f, 0x5b, 0x6b, 0x2e,
+  0x70, 0x05, 0x6f, 0x4b, 0xa5, 0xb3, 0xe1, 0x65, 0xb6, 0x7c, 0x11, 0x28,
+  0xf0, 0xdb, 0x40, 0x58, 0x95, 0x57, 0x79, 0x2a, 0x3b, 0x37, 0x23, 0xbf,
+  0x80, 0x65, 0x1b, 0xa5, 0xe2, 0xff, 0x04, 0xd1, 0x7c, 0xda, 0x87, 0x4c,
+  0x77, 0xfa, 0x9f, 0xf3, 0xab, 0x19, 0xfe, 0x81, 0xed, 0x63, 0xf3, 0x5f,
+  0xef, 0x06, 0x93, 0xc6, 0xb6, 0x5b, 0xc7, 0xea, 0x0c, 0x16, 0x6f, 0x21,
+  0x01, 0x06, 0x72, 0x98, 0x5a, 0xcd, 0x15, 0xd2, 0x23, 0x48, 0xdd, 0x80,
+  0x59, 0x02, 0x0f, 0x0f, 0x95, 0x38, 0x76, 0x5e, 0x65, 0xc8, 0x91, 0x20,
+  0x2f, 0xcc, 0xcc, 0xc5, 0xc0, 0xd5, 0xec, 0x02, 0x2a, 0x4b, 0xfb, 0xc4,
+  0x3b, 0x18, 0xa8, 0x70, 0xf7, 0xf5, 0xe1, 0xd5, 0xe2, 0x92, 0xaa, 0xa6,
+  0x62, 0xbc, 0x42, 0xe7, 0x5e, 0xb3, 0x46, 0xa7, 0x0d, 0x7b, 0x6d, 0xd8,
+  0xfa, 0x55, 0x39, 0x39, 0xe1, 0x04, 0xf6, 0x57, 0x13, 0x1d, 0x22, 0x53,
+  0x76, 0x6b, 0x10, 0xae, 0x97, 0xb8, 0xc1, 0xf2, 0x71, 0x97, 0xd7, 0x4c,
+  0xea, 0xbc, 0xd8, 0x02, 0x06, 0x4b, 0x66, 0x70, 0x93, 0x0e, 0xbe, 0xfe,
+  0x16, 0x5d, 0x7d, 0xb7, 0xbd, 0xab, 0x6a, 0x3a, 0x61, 0x41, 0x1b, 0x57,
+  0x6e, 0x1b, 0xff, 0xec, 0x44, 0x4b, 0x64, 0x3e, 0x90, 0x66, 0x5b, 0x9b,
+  0x75, 0xb0, 0x50, 0x9d, 0x26, 0xc7, 0x79, 0xbe, 0xb4, 0x45, 0x75, 0x65,
+  0xd1, 0x9a, 0x38, 0x00, 0x2e, 0x0c, 0x6b, 0x62, 0xb3, 0x11, 0x98, 0x1e,
+  0xe8, 0x7e, 0xa9, 0x5d, 0x93, 0xa1, 0x72, 0x05, 0x14, 0xf7, 0xc6, 0xe6,
+  0x40, 0xbd, 0x69, 0xbe, 0xee, 0x2a, 0x64, 0x68, 0x56, 0x2e, 0x59, 0x1a,
+  0xd5, 0xd9, 0xa4, 0xc6, 0xe1, 0x9f, 0xcc, 0xeb, 0xf8, 0x0f, 0x9c, 0x62,
+  0xb8, 0xaa, 0x97, 0xce, 0x06, 0x03, 0x17, 0xf4, 0x9d, 0x6d, 0x8a, 0xd8,
+  0xd5, 0x68, 0xb7, 0x68, 0xa3, 0x8b, 0xca, 0x00, 0xe8, 0x35, 0x1b, 0x64,
+  0x43, 0xd5, 0xec, 0x8e, 0x7f, 0x2c, 0x72, 0xe1, 0x6d, 0xa3, 0xdc, 0x13,
+  0x67, 0x11, 0x77, 0x84, 0x1e, 0x28, 0x69, 0xf4, 0x2b, 0x07, 0xfe, 0x73,
+  0x87, 0x86, 0xde, 0xc5, 0xbf, 0x7e, 0xee, 0xd8, 0xd1, 0xff, 0x4c, 0x9b,
+  0xf3, 0xa7, 0x6c, 0xf6, 0x27, 0x9c, 0xc1, 0xcf, 0x9d, 0x87, 0xee, 0xb1,
+  0xe8, 0xb4, 0x4e, 0x2f, 0x4e, 0x27, 0xb5, 0x3e, 0x3a, 0x1b, 0x51, 0x3b,
+  0x30, 0xa8, 0x45, 0xe6, 0xcf, 0xc6, 0x4e, 0x75, 0x7a, 0x5e, 0x30, 0xbc,
+  0x5c, 0x64, 0x51, 0x48, 0x88, 0x80, 0x65, 0xb1, 0xcb, 0xd0, 0xa5, 0x32,
+  0x0c, 0x9e, 0x6d, 0xda, 0x3e, 0x81, 0x4b, 0x6c, 0xec, 0x0c, 0x24, 0xdd,
+  0x65, 0xb6, 0xe0, 0x27, 0x11, 0x92, 0x2e, 0x3c, 0xab, 0xef, 0x23, 0xff,
+  0xe2, 0x31, 0xaf, 0x7b, 0x17, 0xcd, 0x5f, 0xa1, 0x07, 0x83, 0x87, 0x40,
+  0x04, 0x8b, 0xb2, 0xab, 0x60, 0x25, 0x10, 0x2c, 0xd6, 0x8c, 0xa3, 0x8e,
+  0x45, 0x2d, 0x40, 0xd8, 0x8f, 0xcc, 0x96, 0x95, 0x28, 0x3d, 0x1e, 0x3b,
+  0xcd, 0x40, 0x82, 0x27, 0xff, 0xec, 0x84, 0xd5, 0xe4, 0x6d, 0x64, 0xff,
+  0x04, 0xf0, 0x53, 0xce, 0x13, 0x74, 0xfb, 0xa0, 0x4d, 0x4b, 0x34, 0x68,
+  0x9e, 0x26, 0xaf, 0xcd, 0x12, 0x1a, 0xde, 0xc0, 0x26, 0x8b, 0xf2, 0xeb,
+  0x0e, 0x08, 0x3f, 0x7f, 0x42, 0x5f, 0x5f, 0x3a, 0xfb, 0x13, 0x10, 0xd2,
+  0x02, 0xb6, 0xca, 0x9e, 0xca, 0xdb, 0x78, 0x7a, 0x07, 0x03, 0xdf, 0x58,
+  0x75, 0x32, 0x85, 0x5f, 0x8d, 0xb0, 0xb2, 0x36, 0xc7, 0x8f, 0x36, 0x93,
+  0x30, 0xf8, 0x5c, 0x3a, 0x27, 0x4e, 0xbe, 0xff, 0xba, 0x69, 0x5e, 0x24,
+  0xf8, 0x64, 0x0f, 0xb1, 0xd3, 0xb2, 0x55, 0xd2, 0xbf, 0xbe, 0x3e, 0xfb,
+  0xcb, 0x9f, 0xb4, 0x81, 0x9f, 0x3b, 0x3f, 0xc6, 0xfc, 0x29, 0xe1, 0x85,
+  0x1f, 0x44, 0x67, 0x7f, 0x59, 0x9f, 0x72, 0x97, 0x75, 0xf0, 0x2d, 0xff,
+  0x42, 0x64, 0xbc, 0xac, 0x59, 0x94, 0xff, 0xf5, 0x9d, 0xe8, 0x7d, 0x7a,
+  0x47, 0xb0, 0x8a, 0xa4, 0xf8, 0xcf, 0xe7, 0x88, 0x40, 0xa9, 0x08, 0xd9,
+  0x15, 0x23, 0x64, 0x93, 0x91, 0x23, 0x19, 0xe4, 0x8c, 0xf9, 0x54, 0x79,
+  0x71, 0xd3, 0xf0, 0x15, 0x86, 0x32, 0xfd, 0x43, 0x88, 0x89, 0x33, 0xb2,
+  0x7a, 0x12, 0x8f, 0x53, 0xcf, 0x55, 0xa9, 0x83, 0x1e, 0x77, 0xa3, 0x13,
+  0x8c, 0xef, 0xf3, 0xd6, 0x55, 0x2b, 0x75, 0xf1, 0x6f, 0x24, 0x6c, 0x51,
+  0x29, 0x32, 0xd4, 0x9b, 0x36, 0x7e, 0xb7, 0x41, 0x6d, 0xa1, 0x75, 0x80,
+  0x2e, 0x40, 0x72, 0xf3, 0x73, 0xe2, 0xc3, 0x9f, 0x42, 0x61, 0x0f, 0x12,
+  0x5b, 0x26, 0xc6, 0x86, 0x71, 0x3e, 0x19, 0x49, 0x04, 0x06, 0x50, 0x39,
+  0x6f, 0xb0, 0x6a, 0x3f, 0x28, 0x48, 0xe0, 0x52, 0x48, 0x54, 0x86, 0x74,
+  0x1b, 0x90, 0x7e, 0x24, 0x16, 0x8c, 0x4d, 0xd5, 0x36, 0xb0, 0x37, 0x89,
+  0x98, 0xc8, 0xff, 0x84, 0x9a, 0xfc, 0x20, 0x25, 0x23, 0x97, 0xc1, 0x72,
+  0x8e, 0xc5, 0xc7, 0xd4, 0x5c, 0x3b, 0x5c, 0x5b, 0x73, 0x46, 0xf4, 0x90,
+  0x70, 0x2e, 0x8d, 0xe2, 0x39, 0x63, 0x79, 0xc7, 0x17, 0xe4, 0xa6, 0x61,
+  0xc7, 0xac, 0x26, 0x39, 0xe1, 0xdd, 0x11, 0x9e, 0xac, 0x09, 0x4b, 0xc6,
+  0x15, 0xf2, 0x4f, 0x56, 0xf4, 0x3b, 0xf1, 0x47, 0x39, 0xd1, 0xcb, 0x34,
+  0x7b, 0xd9, 0xac, 0x9e, 0xf7, 0xc2, 0x8f, 0x92, 0xf6, 0x12, 0xef, 0x1e,
+  0x18, 0xed, 0x3c, 0x91, 0xc7, 0xc3, 0xcd, 0xbb, 0xc5, 0x73, 0x64, 0x54,
+  0xd8, 0x23, 0x2d, 0xff, 0x92, 0xf6, 0xf7, 0x4c, 0xfb, 0x3e, 0x16, 0x6e,
+  0x32, 0xe3, 0x8a, 0x32, 0xe1, 0x6e, 0x2f, 0x6c, 0xce, 0xb1, 0x7a, 0x18,
+  0xac, 0x4d, 0xd7, 0x35, 0x0c, 0x88, 0x35, 0x55, 0x6a, 0xd9, 0x70, 0xa0,
+  0xab, 0x5f, 0x3e, 0xae, 0xa2, 0xd2, 0x18, 0xa4, 0xdb, 0xd1, 0x3c, 0x3c,
+  0x30, 0xea, 0x58, 0x04, 0x6b, 0x21, 0xac, 0x1c, 0xce, 0x22, 0xb0, 0xf8,
+  0x03, 0x8e, 0xb7, 0xb2, 0xb5, 0x37, 0x32, 0x17, 0x1e, 0xcb, 0x42, 0x6f,
+  0x07, 0xeb, 0x31, 0x2b, 0x00, 0x83, 0xe7, 0xd2, 0x45, 0xc6, 0xcb, 0x05,
+  0xb8, 0x48, 0xf1, 0x90, 0x93, 0xb0, 0xb9, 0x21, 0xa6, 0x12, 0xec, 0x28,
+  0x61, 0x77, 0xa7, 0x94, 0xe2, 0x4b, 0x08, 0x2c, 0x5c, 0x0c, 0x34, 0x71,
+  0x40, 0xa4, 0x38, 0x20, 0x68, 0x65, 0x73, 0x26, 0x9c, 0x02, 0x4b, 0xaa,
+  0x0c, 0x73, 0xa1, 0xba, 0x5a, 0x55, 0x25, 0x5f, 0xf3, 0x75, 0x96, 0x58,
+  0x1a, 0x63, 0x85, 0x93, 0x22, 0x85, 0xe5, 0x50, 0x6c, 0x7c, 0xbd, 0xb5,
+  0xd1, 0x5e, 0x28, 0xda, 0x88, 0xce, 0xf5, 0x7a, 0x4b, 0x6a, 0xfc, 0x2b,
+  0xa9, 0xe6, 0x04, 0x34, 0x4d, 0xc6, 0xa2, 0x29, 0x86, 0xad, 0xa6, 0xb4,
+  0x99, 0x94, 0x68, 0x56, 0x56, 0x21, 0x10, 0x40, 0xae, 0x07, 0x91, 0xcd,
+  0xe8, 0x64, 0x72, 0x85, 0x1c, 0x26, 0x6f, 0x37, 0xa2, 0x81, 0x4b, 0xfb,
+  0x96, 0x07, 0xae, 0x9c, 0xed, 0x5b, 0xfb, 0xd1, 0x1b, 0xdc, 0x8b, 0x5e,
+  0x1a, 0x1b, 0x87, 0x63, 0xa2, 0x58, 0x26, 0x53, 0x6f, 0x7c, 0xbd, 0xc9,
+  0x77, 0x93, 0x35, 0x90, 0x39, 0x7d, 0x6f, 0x44, 0x3f, 0x07, 0x81, 0x9e,
+  0xe9, 0x45, 0x67, 0x38, 0x42, 0xaf, 0x4b, 0x1f, 0x8f, 0x0e, 0xd1, 0xf9,
+  0xf7, 0x0d, 0x79, 0xad, 0xe5, 0xf9, 0xc3, 0x6d, 0xfa, 0xa8, 0x21, 0x05,
+  0x2f, 0x6d, 0x65, 0x8b, 0x0d, 0xfc, 0x5f, 0x7f, 0x8b, 0x8f, 0xab, 0x12,
+  0xb0, 0x11, 0xf5, 0x7a, 0xc0, 0x7a, 0xca, 0x69, 0x13, 0x5c, 0xce, 0x03,
+  0xf1, 0x23, 0xd9, 0x80, 0x2e, 0x56, 0x14, 0x43, 0xa4, 0xc0, 0x0b, 0x19,
+  0x69, 0x54, 0x61, 0x66, 0x7b, 0x22, 0x7f, 0x55, 0x7c, 0xdd, 0x8b, 0x8e,
+  0x4c, 0x8e, 0x8d, 0x0f, 0xe3, 0xca, 0xde, 0x12, 0xbe, 0x31, 0xc4, 0x1a,
+  0x87, 0x94, 0xf0, 0xe5, 0x20, 0x13, 0x5b, 0x3e, 0x43, 0xda, 0x53, 0x54,
+  0x7a, 0x3a, 0x29, 0xa5, 0x96, 0x03, 0x5c, 0xe9, 0xe2, 0x22, 0xf4, 0x9a,
+  0x2b, 0xd8, 0xc3, 0xcc, 0xc1, 0x23, 0x46, 0x25, 0x91, 0xa1, 0xc5, 0x27,
+  0xe2, 0x9e, 0xb1, 0x81, 0xed, 0x4f, 0x4d, 0x4f, 0xe8, 0xe4, 0xf3, 0x10,
+  0x3d, 0xa8, 0xcc, 0x71, 0xf4, 0x65, 0x8c, 0x4f, 0x59, 0x43, 0xbf, 0x52,
+  0x7b, 0x3d, 0x46, 0xb5, 0x2b, 0x92, 0x5f, 0x4c, 0xd9, 0x4d, 0x01, 0x74,
+  0x38, 0xe2, 0xff, 0x83, 0xa4, 0x4c, 0x9f, 0x3c, 0xd2, 0xc8, 0x43, 0x5e,
+  0xa5, 0x52, 0x65, 0xae, 0x9a, 0x3d, 0x95, 0x6f, 0x1f, 0x67, 0x42, 0x4d,
+  0x09, 0x8c, 0x40, 0xa9, 0x51, 0xfc, 0x02, 0xbd, 0xa9, 0x62, 0x70, 0x06,
+  0xbc, 0x43, 0x41, 0x54, 0xbc, 0xac, 0x08, 0x18, 0xf1, 0xe9, 0x13, 0x67,
+  0xd0, 0x2b, 0x2c, 0x0f, 0x0d, 0xfe, 0x29, 0x33, 0x6c, 0xce, 0x28, 0x62,
+  0x6a, 0x45, 0xf2, 0xf3, 0x62, 0x08, 0xd0, 0x6c, 0xc1, 0x75, 0xda, 0x64,
+  0x8e, 0xc6, 0x56, 0xb8, 0xea, 0x00, 0xb9, 0x27, 0xe0, 0x4f, 0x4a, 0x38,
+  0xcd, 0xae, 0x97, 0x12, 0xb5, 0xa3, 0xf5, 0xe8, 0xfb, 0x3c, 0x08, 0x26,
+  0xec, 0xd5, 0x74, 0x8d, 0xfe, 0x80, 0xf1, 0xa2, 0xa0, 0x3b, 0x47, 0x1e,
+  0x63, 0xd1, 0x60, 0x94, 0x32, 0xc0, 0xa0, 0x48, 0xe2, 0xaf, 0x8e, 0x5e,
+  0xbf, 0x3d, 0x3a, 0x6d, 0x71, 0x76, 0x7c, 0x62, 0x2f, 0x47, 0xbd, 0xa6,
+  0x81, 0x7c, 0x64, 0x1d, 0x75, 0x78, 0x3d, 0x74, 0xd6, 0xc5, 0xbd, 0x31,
+  0x35, 0x2d, 0xba, 0x0d, 0x57, 0x8a, 0xc4, 0x04, 0x5a, 0x5f, 0xa1, 0x89,
+  0x5c, 0x08, 0x16, 0x42, 0x6f, 0x47, 0xcb, 0x6e, 0x54, 0x26, 0xaa, 0xd5,
+  0x27, 0xa0, 0x92, 0x04, 0x3e, 0xaa, 0x79, 0xb8, 0x40, 0x01, 0x82, 0x56,
+  0xe2, 0x01, 0xc1, 0x78, 0xde, 0x70, 0x05, 0x23, 0xce, 0xc1, 0x96, 0x08,
+  0x21, 0x27, 0x7b, 0x39, 0x29, 0xdf, 0xb3, 0xf1, 0xa4, 0xa3, 0xef, 0xb3,
+  0x9f, 0x88, 0xe1, 0x62, 0x0c, 0x62, 0x7a, 0xe0, 0xb8, 0x1a, 0x20, 0x72,
+  0x13, 0xf6, 0xaf, 0x4e, 0x5b, 0xb9, 0x8e, 0x6b, 0x06, 0xc1, 0x7c, 0x3c,
+  0x76, 0xbc, 0x29, 0x4d, 0x14, 0x94, 0xe3, 0xe3, 0x76, 0x0c, 0x68, 0xce,
+  0x19, 0x70, 0x67, 0xf8, 0xd9, 0xb2, 0x9f, 0xdc, 0x41, 0x74, 0xa6, 0x45,
+  0xaf, 0xc8, 0x07, 0x79, 0xd5, 0x59, 0x0b, 0x76, 0xd4, 0xe0, 0xaf, 0x7b,
+  0xdb, 0x67, 0x2f, 0xc6, 0xb8, 0xca, 0x19, 0xbe, 0xfe, 0x50, 0xd6, 0x24,
+  0xbc, 0x9b, 0x58, 0xe0, 0xc7, 0x01, 0xee, 0x57, 0xcd, 0x80, 0x30, 0x23,
+  0xfb, 0x27, 0x6f, 0x68, 0x93, 0xce, 0x8f, 0xfa, 0xfd, 0xc8, 0xa0, 0xa2,
+  0x4b, 0x88, 0x67, 0xd7, 0xd3, 0x57, 0x49, 0xfa, 0xa6, 0xe0, 0x0e, 0xdd,
+  0x05, 0xcd, 0x23, 0x88, 0xb4, 0x52, 0x39, 0xed, 0x1c, 0x1c, 0x8b, 0x8b,
+  0xc5, 0x14, 0x38, 0x0e, 0x28, 0x0a, 0xa3, 0x8d, 0x52, 0xa2, 0x3b, 0x9a,
+  0x12, 0x28, 0xd5, 0x1b, 0x67, 0x01, 0x94, 0x68, 0x8c, 0xc0, 0x25, 0x9e,
+  0x23, 0xfe, 0x86, 0x50, 0x00, 0x5e, 0x93, 0x1c, 0x0f, 0xe3, 0x02, 0x4a,
+  0x74, 0xc3, 0x8e, 0x85, 0x4e, 0xff, 0xe5, 0xc5, 0x09, 0xd0, 0xc8, 0xdb,
+  0x8b, 0x17, 0x1d, 0xd9, 0xbe, 0x66, 0x49, 0x0d, 0x72, 0x60, 0xc0, 0xd9,
+  0x4c, 0xaf, 0x0d, 0x64, 0x72, 0xc1, 0xc6, 0x25, 0x3f, 0xa4, 0x8c, 0xae,
+  0x0e, 0xdb, 0x69, 0x4b, 0x34, 0x42, 0xcb, 0x86, 0xdc, 0x83, 0xf0, 0xbc,
+  0xb5, 0xad, 0x3e, 0x42, 0x9a, 0x4a, 0xdb, 0x78, 0x3a, 0x6f, 0x1f, 0xef,
+  0x17, 0x01, 0x02, 0x5c, 0x12, 0x4a, 0xe2, 0xd2, 0x30, 0x71, 0x9d, 0x56,
+  0x8a, 0xe4, 0x34, 0xb3, 0x78, 0x04, 0x22, 0x7b, 0x80, 0xfe, 0xa0, 0x51,
+  0xa2, 0x42, 0x21, 0x13, 0xe1, 0x2a, 0xe8, 0xce, 0xc4, 0x9f, 0x6f, 0xdf,
+  0x9c, 0x6e, 0x73, 0x96, 0x88, 0x54, 0xcc, 0x21, 0x53, 0x6e, 0x42, 0xe4,
+  0xe9, 0x15, 0xa6, 0x34, 0x31, 0xf6, 0x36, 0xac, 0x28, 0xbd, 0xa5, 0xf4,
+  0xe7, 0x59, 0x2d, 0x11, 0x8e, 0x9d, 0xf4, 0x30, 0xe8, 0xa4, 0x18, 0x19,
+  0x28, 0x64, 0x5f, 0x85, 0xd0, 0xd4, 0x17, 0x4c, 0xf1, 0xa4, 0x10, 0xd0,
+  0xb7, 0x92, 0xf6, 0xea, 0x00, 0x54, 0xdb, 0x1c, 0x2a, 0xf5, 0x70, 0xd9,
+  0xf4, 0x96, 0x30, 0x4a, 0x04, 0x79, 0x4f, 0xd0, 0x5a, 0x93, 0x61, 0x5e,
+  0x6c, 0x0e, 0xc4, 0xb6, 0x22, 0x0a, 0xa9, 0xbe, 0x82, 0x4b, 0x23, 0xf4,
+  0x1e, 0x10, 0x85, 0x54, 0x6f, 0xfd, 0x21, 0xf4, 0xe4, 0x0e, 0x4e, 0x13,
+  0x9e, 0x7c, 0x4e, 0x56, 0xa4, 0x53, 0x90, 0x35, 0xc8, 0x82, 0xb7, 0x8d,
+  0x8f, 0x2c, 0xcb, 0x7f, 0x0a, 0x8d, 0x87, 0xfb, 0x92, 0x70, 0xcc, 0x43,
+  0xfe, 0x19, 0x66, 0x67, 0x24, 0x92, 0x16, 0xf9, 0x84, 0x6d, 0xe6, 0xf2,
+  0x06, 0x67, 0xa6, 0x31, 0x6e, 0x9a, 0xc1, 0xea, 0x49, 0xc8, 0xdb, 0x4f,
+  0x03, 0xc6, 0xcc, 0xb6, 0xa6, 0xeb, 0x10, 0x5a, 0xdb, 0xec, 0x6f, 0x19,
+  0xdf, 0xc2, 0x05, 0x79, 0xcf, 0xa9, 0xb5, 0x00, 0xb2, 0x9f, 0x53, 0xa7,
+  0x55, 0xd4, 0xae, 0x90, 0x2a, 0xe5, 0x9c, 0x3d, 0xdf, 0x8e, 0x40, 0x3b,
+  0x3b, 0xbc, 0x19, 0xb5, 0x54, 0xbe, 0x24, 0x3f, 0x00, 0x91, 0x38, 0x59,
+  0x46, 0x38, 0x0d, 0xfa, 0xf8, 0x87, 0x67, 0x91, 0x3d, 0x1f, 0x9a, 0xa9,
+  0xc2, 0x27, 0x44, 0x54, 0xb5, 0xb6, 0xda, 0x92, 0xa9, 0x4d, 0xb7, 0xea,
+  0x51, 0xfc, 0xc0, 0x28, 0x4d, 0xe7, 0xd1, 0x55, 0x06, 0x8d, 0x15, 0xc3,
+  0xab, 0x8c, 0xc0, 0xc9, 0x28, 0x02, 0x16, 0x03, 0x06, 0xa6, 0x14, 0xfe,
+  0x12, 0x40, 0x97, 0x33, 0x4e, 0x6c, 0x8c, 0xa6, 0xb3, 0xf1, 0xee, 0x57,
+  0xf9, 0x0d, 0x05, 0x2b, 0xec, 0x3e, 0xdd, 0xff, 0x12, 0xc4, 0xd6, 0xbb,
+  0x12, 0x89, 0xcf, 0xae, 0x16, 0x95, 0x7a, 0x0f, 0x55, 0x63, 0xb2, 0x5e,
+  0x5b, 0x17, 0x18, 0x69, 0xa0, 0xb5, 0xb0, 0x51, 0xaf, 0x26, 0xeb, 0xac,
+  0xc0, 0x97, 0xfb, 0x25, 0x8b, 0x60, 0xfd, 0x64, 0xad, 0x84, 0x1b, 0xd0,
+  0x12, 0x71, 0xa8, 0x75, 0xcf, 0x39, 0xae, 0xa0, 0xf4, 0x44, 0xfd, 0x97,
+  0xff, 0x7d, 0x02, 0x97, 0xc5, 0x9b, 0x93, 0x8b, 0x37, 0xf0, 0xa3, 0x7f,
+  0x71, 0xf6, 0xa6, 0xa5, 0xc4, 0x6b, 0xc5, 0x95, 0x48, 0x70, 0xbd, 0x34,
+  0xb8, 0x91, 0x79, 0x50, 0xad, 0x8c, 0x21, 0x25, 0x76, 0xf2, 0x85, 0x42,
+  0xd1, 0xb7, 0x2b, 0xd6, 0xea, 0xc2, 0x89, 0xca, 0xc0, 0x98, 0xbc, 0xa5,
+  0x13, 0xe3, 0xed, 0x5e, 0x4e, 0x1c, 0x34, 0x61, 0xa4, 0x43, 0x9c, 0xb1,
+  0xb9, 0xc2, 0x69, 0xb4, 0x15, 0x50, 0x2c, 0x5c, 0x20, 0xca, 0x73, 0xee,
+  0x4c, 0xfa, 0x79, 0x4b, 0x59, 0x54, 0xce, 0xcb, 0x2b, 0xb9, 0x40, 0x2a,
+  0xd3, 0x34, 0x99, 0xad, 0x3b, 0x8a, 0xf6, 0xdf, 0x89, 0x36, 0xc9, 0x5d,
+  0x22, 0x22, 0xfb, 0x0a, 0xd2, 0x05, 0x35, 0x61, 0xcb, 0x4e, 0xb8, 0xcc,
+  0xa7, 0x29, 0xfb, 0xb3, 0x38, 0x33, 0x4f, 0x59, 0x31, 0x4b, 0x0d, 0x5c,
+  0xde, 0x3a, 0x0a, 0x95, 0xfc, 0x50, 0xc7, 0x16, 0xed, 0xf2, 0x86, 0x57,
+  0x29, 0x9d, 0xf7, 0x25, 0x9d, 0xc1, 0x21, 0xa3, 0x72, 0x85, 0x1b, 0x3a,
+  0xaa, 0x8d, 0x66, 0x85, 0x26, 0x87, 0x95, 0x7c, 0x82, 0x0a, 0x4d, 0x7e,
+  0xb5, 0x54, 0xa7, 0x3f, 0x1d, 0x53, 0x80, 0x45, 0xc2, 0xee, 0xec, 0xe2,
+  0x3f, 0x7b, 0xcc, 0x20, 0xdb, 0xdb, 0x60, 0x2a, 0xff, 0x80, 0x06, 0x0c,
+  0x35, 0xad, 0x6e, 0xc4, 0xaf, 0x1b, 0x35, 0xc1, 0x7b, 0x1e, 0x51, 0x45,
+  0x62, 0x54, 0xe7, 0x9b, 0x1c, 0x1a, 0xeb, 0x77, 0x04, 0xd9, 0x32, 0xc6,
+  0xda, 0xd5, 0xea, 0x85, 0x68, 0x8c, 0x20, 0x57, 0xb7, 0x13, 0xe9, 0x10,
+  0x83, 0xa9, 0xce, 0xb5, 0xe6, 0x44, 0x56, 0x86, 0x84, 0x7c, 0x02, 0x5e,
+  0xa4, 0x32, 0x34, 0x86, 0x3d, 0xc8, 0xa9, 0xe9, 0x0a, 0x52, 0x5e, 0xe3,
+  0x96, 0x6e, 0x54, 0x81, 0x68, 0xfa, 0x04, 0x60, 0xcb, 0x0b, 0xd8, 0x7d,
+  0x94, 0x2b, 0x8a, 0x14, 0x9a, 0x21, 0x4c, 0x40, 0x53, 0xb6, 0x44, 0xa0,
+  0x81, 0x9a, 0xe7, 0xf1, 0x4d, 0x4a, 0xf0, 0x3c, 0xa4, 0xc4, 0x45, 0xe9,
+  0x8c, 0x02, 0x9a, 0x46, 0x66, 0x7e, 0x58, 0x61, 0x0c, 0xc3, 0x99, 0x59,
+  0x1a, 0x19, 0xe5, 0x74, 0xfb, 0xe2, 0xd8, 0x30, 0x25, 0x9c, 0xbc, 0x43,
+  0x81, 0x68, 0x7e, 0x23, 0x41, 0x48, 0x73, 0xd6, 0x38, 0x31, 0xac, 0xdc,
+  0x11, 0xd1, 0x15, 0xee, 0x8b, 0x0c, 0xee, 0xd2, 0x4a, 0x90, 0x17, 0x25,
+  0x31, 0x19, 0x8e, 0x57, 0x71, 0xd1, 0x88, 0x7a, 0xf1, 0x0f, 0xa9, 0xd6,
+  0x11, 0x4a, 0x87, 0x9d, 0x49, 0x65, 0x8e, 0xc5, 0x6c, 0x82, 0x69, 0xb0,
+  0x8d, 0x12, 0x09, 0x12, 0x57, 0xb3, 0x52, 0x74, 0x41, 0x7a, 0xb8, 0x97,
+  0xcc, 0x12, 0xad, 0x97, 0xde, 0xd7, 0x56, 0x2a, 0xe6, 0x1e, 0x02, 0x0b,
+  0x0d, 0xe9, 0xc1, 0xf5, 0x59, 0x8c, 0x70, 0x55, 0x2f, 0xf3, 0xd0, 0x8e,
+  0x53, 0xfc, 0x5c, 0x32, 0xf5, 0x90, 0x60, 0x52, 0x45, 0x89, 0x53, 0xd2,
+  0xcd, 0x66, 0x19, 0x96, 0xb3, 0xca, 0x8b, 0x6d, 0x3c, 0x51, 0x58, 0x73,
+  0x34, 0x02, 0xd1, 0x45, 0x93, 0x70, 0x02, 0xa1, 0x71, 0xaa, 0x43, 0xd1,
+  0x52, 0x40, 0xd3, 0xbd, 0x00, 0x60, 0x0c, 0xcd, 0x15, 0xa5, 0x1c, 0xa9,
+  0xda, 0x41, 0x44, 0xd1, 0xe3, 0x35, 0x08, 0xed, 0xb3, 0x54, 0x24, 0xa8,
+  0x2b, 0x42, 0x72, 0x22, 0xc9, 0xdb, 0x69, 0x4c, 0x65, 0xa4, 0x6c, 0x6d,
+  0x94, 0xad, 0xc0, 0x6a, 0xb2, 0x06, 0xac, 0xd7, 0xc3, 0xaa, 0x74, 0x39,
+  0x44, 0xad, 0x7e, 0xf0, 0xc9, 0x54, 0x50, 0xef, 0x0c, 0x18, 0xec, 0x62,
+  0xee, 0x4b, 0x60, 0x2f, 0xcf, 0x6d, 0x93, 0x52, 0xce, 0x3b, 0xe7, 0x88,
+  0x72, 0xa4, 0x09, 0x67, 0x90, 0x08, 0xc6, 0x6f, 0x36, 0xc0, 0xca, 0x19,
+  0x1e, 0x82, 0x0c, 0xca, 0x68, 0x9e, 0xdc, 0xd5, 0x06, 0xbe, 0xae, 0xb7,
+  0x7f, 0xef, 0xb2, 0x17, 0x75, 0x10, 0x00, 0xbe, 0x43, 0x43, 0x15, 0xc8,
+  0x2d, 0x0e, 0xf4, 0x31, 0xef, 0xc2, 0xa2, 0xd4, 0x46, 0xeb, 0x57, 0xf6,
+  0x55, 0xbb, 0x01, 0x57, 0x5a, 0xa1, 0xfd, 0xd9, 0x7c, 0x3b, 0xcb, 0x6e,
+  0xc9, 0x2a, 0xea, 0x43, 0x02, 0x1a, 0x6c, 0xdd, 0x65, 0xa3, 0x52, 0x0c,
+  0x5b, 0x44, 0x07, 0xaf, 0x8d, 0x8e, 0xbc, 0x26, 0xb7, 0xb0, 0xff, 0x6e,
+  0x43, 0x01, 0x58, 0xca, 0xa8, 0xbd, 0x72, 0x3b, 0xf7, 0x30, 0xbd, 0xeb,
+  0xe1, 0x73, 0xbd, 0x51, 0x3e, 0x85, 0x13, 0xe8, 0xf5, 0x31, 0x25, 0x38,
+  0x13, 0x4f, 0x9a, 0x8f, 0x6d, 0x68, 0xa3, 0x4a, 0xae, 0xf3, 0x0c, 0xe9,
+  0x48, 0x73, 0x17, 0xed, 0xa8, 0xc4, 0xcf, 0x5f, 0x6a, 0x05, 0x73, 0x62,
+  0x2b, 0xe1, 0x11, 0xe9, 0x8d, 0x21, 0x68, 0x8f, 0xce, 0xa5, 0x61, 0xfa,
+  0x7f, 0xe6, 0x17, 0x3c, 0xa2, 0xc2, 0x60, 0xcd, 0x0a, 0x53, 0xb5, 0x07,
+  0x1d, 0x44, 0x02, 0xa9, 0xb6, 0x6c, 0x6e, 0x74, 0x2a, 0x91, 0x66, 0x60,
+  0x0d, 0x4c, 0x51, 0x66, 0x6d, 0x56, 0x43, 0x6f, 0x9a, 0x15, 0xc0, 0x4c,
+  0x65, 0x2e, 0xbe, 0x09, 0xb4, 0x39, 0x7c, 0xe7, 0x8f, 0x7f, 0xb4, 0x3c,
+  0xab, 0x16, 0xdb, 0x82, 0xce, 0x62, 0xe8, 0xa4, 0x73, 0xf0, 0x13, 0x39,
+  0x9d, 0x7e, 0x89, 0x7f, 0x82, 0x3f, 0x7f, 0xe9, 0xe8, 0xd9, 0xe3, 0x1a,
+  0x6e, 0x36, 0xe9, 0x9e, 0x57, 0x0f, 0x21, 0x58, 0xcc, 0x8d, 0xe6, 0x07,
+  0x0c, 0x5d, 0x1c, 0x9f, 0xcb, 0x99, 0x29, 0x38, 0x5a, 0x86, 0x66, 0x88,
+  0x3c, 0x83, 0x54, 0x23, 0xbc, 0x25, 0x08, 0x0e, 0x54, 0x76, 0x34, 0xa1,
+  0x67, 0xb5, 0x39, 0x7a, 0xa5, 0xab, 0x0e, 0x66, 0x14, 0xbd, 0xe9, 0xac,
+  0x26, 0xa0, 0x23, 0x5c, 0xa2, 0x0d, 0x97, 0xf1, 0xa1, 0x7b, 0xd1, 0x91,
+  0x2a, 0x23, 0xfc, 0x01, 0x95, 0x80, 0x2b, 0x09, 0x10, 0xf3, 0x06, 0x06,
+  0x64, 0x8c, 0x44, 0x78, 0xff, 0x91, 0xd8, 0x3d, 0xb3, 0xe0, 0x62, 0x58,
+  0xfa, 0x64, 0x86, 0xfa, 0x9e, 0xd6, 0x16, 0x2f, 0xb2, 0xf2, 0x3d, 0x4e,
+  0x52, 0xf0, 0x12, 0x9c, 0xe8, 0x42, 0x9a, 0xc5, 0x34, 0x31, 0x6b, 0x29,
+  0x15, 0x6d, 0x0c, 0xba, 0x58, 0x4d, 0xc6, 0x73, 0xf8, 0xf2, 0x9a, 0x49,
+  0x20, 0x8a, 0x98, 0xb0, 0xae, 0x8c, 0x77, 0x0e, 0x34, 0x4f, 0x77, 0x4a,
+  0x7b, 0xfd, 0xf9, 0x73, 0xae, 0x22, 0xb1, 0xf2, 0x29, 0x17, 0x98, 0xda,
+  0x7b, 0xf8, 0x8b, 0xb0, 0x25, 0x86, 0xee, 0x34, 0x01, 0x37, 0x0d, 0x96,
+  0x30, 0x93, 0xc7, 0x8a, 0x34, 0x5c, 0x21, 0xd1, 0x2d, 0x40, 0xa2, 0xf5,
+  0x47, 0x92, 0xe8, 0x1c, 0x54, 0x23, 0x43, 0xfd, 0x4e, 0xb9, 0x2e, 0xc6,
+  0x82, 0x43, 0x41, 0x62, 0xab, 0x69, 0x6b, 0x38, 0x4e, 0x0b, 0x72, 0x7f,
+  0x5b, 0xd3, 0x30, 0x61, 0x7e, 0x65, 0x98, 0xde, 0x35, 0x2a, 0x60, 0x0c,
+  0x18, 0xb7, 0x2c, 0x30, 0xee, 0x6a, 0x2b, 0xc4, 0xb0, 0x18, 0x55, 0x02,
+  0x3c, 0x6f, 0x93, 0x1c, 0x3d, 0xae, 0x4c, 0x64, 0xf4, 0x17, 0x82, 0xb5,
+  0x63, 0xb7, 0x56, 0x49, 0x64, 0x86, 0x3f, 0xe9, 0x0a, 0x41, 0x34, 0x87,
+  0x9b, 0x19, 0x5a, 0xb7, 0x4b, 0x5f, 0xf9, 0xa5, 0xc1, 0x4f, 0x43, 0x55,
+  0xce, 0x3d, 0xb9, 0x05, 0x56, 0xea, 0x53, 0xc9, 0x2d, 0x45, 0x5a, 0x3d,
+  0x48, 0x6e, 0xc1, 0x21, 0xad, 0x23, 0xb7, 0xd4, 0x05, 0x14, 0xf1, 0x36,
+  0x78, 0x82, 0x13, 0x7f, 0x56, 0xbe, 0xcf, 0xf8, 0x8b, 0x38, 0x9b, 0xaf,
+  0xae, 0x2b, 0xa7, 0xf5, 0xfd, 0xf0, 0x04, 0xd5, 0x58, 0xb9, 0xb9, 0xd4,
+  0xcb, 0xc5, 0xe5, 0x25, 0x15, 0x4d, 0xf0, 0x23, 0xb2, 0xab, 0xd2, 0x66,
+  0xc0, 0xe2, 0x1d, 0x8e, 0x09, 0x51, 0x25, 0x6f, 0x4d, 0xad, 0x26, 0x1d,
+  0x75, 0x26, 0x3c, 0xbe, 0x14, 0xb1, 0x09, 0x74, 0x05, 0x1f, 0x77, 0xc2,
+  0x68, 0x0e, 0xd1, 0x4b, 0x61, 0xd0, 0x56, 0xea, 0x2d, 0xd2, 0x58, 0x07,
+  0xda, 0xbc, 0x78, 0x70, 0x7b, 0xbc, 0xcc, 0x07, 0x73, 0x07, 0x95, 0x4b,
+  0xae, 0x1b, 0x1f, 0x87, 0x93, 0xd8, 0x14, 0xf5, 0xfa, 0xb4, 0xf7, 0xf4,
+  0x51, 0x6f, 0xa7, 0xa6, 0x7f, 0x98, 0xdc, 0x08, 0x0e, 0xe3, 0x63, 0xd1,
+  0x6f, 0x29, 0x5a, 0x88, 0x52, 0x1a, 0x63, 0x86, 0x66, 0x63, 0x29, 0xfe,
+  0xc9, 0xd5, 0x1b, 0x0b, 0x53, 0x0d, 0x8e, 0xe1, 0x39, 0xe5, 0x56, 0x6a,
+  0x0a, 0x3b, 0x63, 0x5a, 0xd2, 0x95, 0x84, 0xee, 0x6e, 0xfc, 0x47, 0x4e,
+  0xfc, 0x6f, 0xb4, 0xfe, 0x10, 0x9a, 0xaf, 0x8d, 0x6e, 0x2d, 0x99, 0xbd,
+  0x95, 0xd0, 0xcb, 0x49, 0x3c, 0x1c, 0x0e, 0x63, 0x12, 0x45, 0x0f, 0x59,
+  0x42, 0xde, 0x16, 0xf9, 0x34, 0x2c, 0xbb, 0xf7, 0x53, 0x21, 0xbf, 0xe3,
+  0xe3, 0x63, 0x11, 0xa5, 0x2f, 0xae, 0x1a, 0x32, 0xad, 0x29, 0xb2, 0x26,
+  0x02, 0x7d, 0x10, 0x71, 0xa5, 0xbc, 0x5a, 0x54, 0xc8, 0x9c, 0x58, 0x4f,
+  0x55, 0x61, 0xc2, 0x80, 0x82, 0x35, 0xaa, 0x4b, 0xe7, 0xb0, 0xa6, 0x5d,
+  0x1b, 0xa1, 0xef, 0x97, 0x40, 0x2c, 0x52, 0x46, 0xea, 0xe6, 0x17, 0xa5,
+  0x6d, 0x8b, 0xf3, 0xe8, 0xda, 0x2d, 0xdd, 0xf2, 0x7d, 0x3a, 0xc2, 0x32,
+  0xe0, 0xd0, 0x30, 0xad, 0x50, 0xb7, 0x49, 0x26, 0x01, 0xd1, 0x89, 0xf4,
+  0xd5, 0x6c, 0x7b, 0x25, 0x6d, 0xb9, 0x6b, 0xfd, 0xf1, 0x69, 0xcb, 0x69,
+  0xfd, 0x41, 0xb4, 0xe5, 0x8e, 0x4e, 0x56, 0xa8, 0xf6, 0x0d, 0x12, 0x5c,
+  0xb9, 0x1e, 0xc5, 0xc9, 0x9b, 0x2d, 0x44, 0xd7, 0x6a, 0x18, 0x41, 0xca,
+  0xda, 0x3c, 0xa6, 0x72, 0xd5, 0xc7, 0xc2, 0x02, 0x8f, 0xaf, 0x30, 0x62,
+  0x7b, 0x82, 0x68, 0xb1, 0xb0, 0x29, 0x18, 0xbe, 0x80, 0xfb, 0xc2, 0x6c,
+  0xb0, 0xdf, 0x3f, 0xdd, 0xbe, 0x38, 0xed, 0x7b, 0xb9, 0x6d, 0x77, 0xe8,
+  0x88, 0x25, 0x87, 0x6b, 0xdd, 0xa1, 0xc7, 0x44, 0x50, 0xa4, 0x8c, 0x04,
+  0x5b, 0xe3, 0x69, 0xdc, 0x4b, 0xb0, 0x6e, 0xc8, 0x62, 0xa6, 0xe9, 0xe3,
+  0xc6, 0xe5, 0x34, 0x4b, 0x67, 0x04, 0x54, 0x8b, 0x41, 0x74, 0xc4, 0xaf,
+  0x28, 0xf3, 0xa5, 0x8c, 0x5e, 0x1f, 0x5d, 0x60, 0x42, 0x78, 0x25, 0x71,
+  0x9f, 0x68, 0x01, 0xf7, 0x32, 0xef, 0xa4, 0x7e, 0xba, 0x29, 0x24, 0x9a,
+  0x0c, 0x15, 0x74, 0xd9, 0x1a, 0x7a, 0xa7, 0x02, 0x44, 0x23, 0x67, 0x6b,
+  0x05, 0x6a, 0x89, 0xb3, 0x53, 0xed, 0x09, 0xda, 0x1f, 0x4e, 0x60, 0x1f,
+  0x40, 0x5b, 0x41, 0x0a, 0x6a, 0x25, 0x20, 0x78, 0xc9, 0xb9, 0xa5, 0xc3,
+  0xe4, 0xed, 0x7c, 0xc7, 0x5b, 0x18, 0xa4, 0xa9, 0x37, 0x22, 0x60, 0x09,
+  0xa1, 0x18, 0xf6, 0x42, 0xfe, 0xb6, 0x49, 0x7e, 0x99, 0x11, 0x40, 0x18,
+  0xd1, 0x1b, 0x4b, 0x56, 0x1a, 0x66, 0xe3, 0xd5, 0x15, 0xe1, 0xfd, 0x8d,
+  0x04, 0x3e, 0xbf, 0x51, 0xe1, 0x9d, 0x19, 0x19, 0x8a, 0x6f, 0x86, 0x2e,
+  0xd8, 0x9c, 0x67, 0x50, 0xac, 0x02, 0x79, 0xc1, 0xb0, 0x15, 0xd9, 0x30,
+  0x83, 0x17, 0x30, 0xa6, 0xf5, 0x39, 0xe3, 0x8a, 0xb8, 0xc9, 0x40, 0x59,
+  0xad, 0x78, 0xaa, 0xf1, 0xe9, 0x61, 0x34, 0x62, 0x30, 0xf1, 0x5f, 0xe6,
+  0x78, 0x4f, 0x5a, 0x11, 0xba, 0xff, 0x34, 0xcc, 0x88, 0x1b, 0x7f, 0x30,
+  0xbd, 0xc8, 0xd8, 0xd6, 0xf1, 0xc2, 0xc2, 0x7b, 0x0e, 0x6d, 0x7c, 0x8f,
+  0x02, 0xdf, 0xa5, 0x27, 0xe2, 0x1b, 0xe8, 0xf9, 0x40, 0xe9, 0x59, 0x52,
+  0xd1, 0xd1, 0x6b, 0x21, 0xe1, 0x51, 0x16, 0xf6, 0x4c, 0xc0, 0x63, 0xe2,
+  0x91, 0x1f, 0x3d, 0xc2, 0xc1, 0x2c, 0xf2, 0x4b, 0x2c, 0x41, 0x65, 0x5c,
+  0x16, 0x17, 0x3f, 0x80, 0x69, 0x71, 0x84, 0x50, 0xbd, 0xfa, 0x91, 0x66,
+  0x5b, 0x35, 0x9a, 0xfb, 0x1e, 0x74, 0x0c, 0xc5, 0x33, 0x6e, 0x94, 0x48,
+  0xa2, 0x14, 0x5a, 0xfd, 0x8e, 0x23, 0xc8, 0x30, 0x7a, 0xe8, 0x26, 0x43,
+  0x70, 0x4c, 0xb2, 0xf1, 0xf8, 0x46, 0x1e, 0xae, 0x6c, 0x7a, 0xa1, 0x86,
+  0x65, 0x65, 0x5d, 0xac, 0x5d, 0xa7, 0x26, 0x63, 0x08, 0x0b, 0x68, 0x68,
+  0x40, 0xe5, 0xff, 0xb3, 0xa1, 0x55, 0x23, 0x72, 0xef, 0x00, 0xd8, 0xc2,
+  0xac, 0xd9, 0x4c, 0xd0, 0xd4, 0x94, 0x27, 0xe2, 0xf6, 0x9b, 0x50, 0x9b,
+  0xae, 0x1d, 0xb0, 0xed, 0x37, 0xf3, 0x51, 0x60, 0x68, 0x7a, 0xcb, 0xc7,
+  0xf3, 0xe2, 0xe4, 0xe8, 0x59, 0x2b, 0x86, 0xaf, 0x7b, 0xc5, 0x5e, 0xae,
+  0x50, 0x51, 0x3c, 0xc0, 0x96, 0xd5, 0x88, 0x2d, 0x97, 0xed, 0xaa, 0x49,
+  0xd9, 0x46, 0xbf, 0x38, 0x8c, 0x50, 0x48, 0x54, 0xfb, 0xd3, 0xf1, 0x28,
+  0xea, 0x54, 0x79, 0x3e, 0xd1, 0x38, 0x2b, 0xf8, 0x33, 0xb9, 0x4c, 0xbf,
+  0xce, 0x27, 0xa3, 0xce, 0xba, 0x2d, 0xbd, 0x6c, 0x36, 0xb6, 0x56, 0x62,
+  0x7a, 0x23, 0x70, 0xea, 0x47, 0xfc, 0xd3, 0x5b, 0xf9, 0xf8, 0x92, 0x8e,
+  0xd5, 0x24, 0x1f, 0xe4, 0xe3, 0xf1, 0x12, 0xa1, 0x9d, 0xab, 0x25, 0x53,
+  0xd2, 0x3e, 0x93, 0x6f, 0x07, 0x37, 0x15, 0xdf, 0x1b, 0xe0, 0x7e, 0x11,
+  0xe0, 0x74, 0xd1, 0x91, 0x5c, 0x55, 0xa9, 0xc2, 0xe2, 0xc9, 0x60, 0x4e,
+  0x6c, 0xc1, 0x9d, 0x58, 0x87, 0xd4, 0x3a, 0x43, 0x08, 0x96, 0x06, 0x99,
+  0x2c, 0x11, 0xd7, 0xdb, 0x84, 0x00, 0x9f, 0x80, 0x45, 0xff, 0xf3, 0x5f,
+  0x3f, 0xfd, 0xe2, 0xc5, 0x28, 0xb1, 0x77, 0x0c, 0xf1, 0x10, 0x28, 0x0a,
+  0x98, 0x22, 0x1a, 0xaa, 0x32, 0x9d, 0x8c, 0xd9, 0x72, 0x49, 0x2a, 0x25,
+  0xb4, 0x32, 0xed, 0x39, 0x39, 0x37, 0xec, 0xbf, 0x84, 0x76, 0x03, 0xc9,
+  0xaf, 0xb6, 0x2a, 0x8b, 0x40, 0x46, 0x4d, 0xd2, 0x4b, 0xf8, 0x17, 0x27,
+  0x6a, 0x52, 0xe8, 0xc4, 0x5b, 0x7b, 0x17, 0xa9, 0x21, 0x16, 0xe9, 0x3d,
+  0x1c, 0x98, 0x8a, 0x11, 0xe1, 0xcd, 0x78, 0xcc, 0xb7, 0x6f, 0x5e, 0x1a,
+  0x97, 0xe0, 0x72, 0xf2, 0xe7, 0x1d, 0xf9, 0xc8, 0xc5, 0x84, 0xa5, 0xd5,
+  0x35, 0x99, 0x38, 0x96, 0xe2, 0x08, 0xa4, 0xf8, 0xfd, 0xf3, 0xa7, 0x5f,
+  0xfe, 0x05, 0xff, 0xeb, 0xdc, 0xab, 0xac, 0x30, 0xd3, 0xa0, 0x5b, 0x24,
+  0xda, 0xbd, 0xf6, 0xaf, 0x80, 0x63, 0xdc, 0xc5, 0xe9, 0x5d, 0x3a, 0x00,
+  0x6e, 0x5d, 0x2a, 0x38, 0x6c, 0x3c, 0x2d, 0xa3, 0xc3, 0x29, 0xf0, 0x9a,
+  0xac, 0x05, 0xa8, 0xf8, 0x05, 0xbe, 0x16, 0x9d, 0xc8, 0x6b, 0x06, 0x8a,
+  0xee, 0x32, 0x2f, 0x60, 0xc6, 0x53, 0x41, 0xc3, 0x12, 0x28, 0xb0, 0xba,
+  0x45, 0x3d, 0xa2, 0x6c, 0x6b, 0xcf, 0x2c, 0x7d, 0xfd, 0x48, 0x4c, 0xf1,
+  0x54, 0xc2, 0xd0, 0xa9, 0x4a, 0x27, 0x26, 0x9a, 0x05, 0xe8, 0xd4, 0xb0,
+  0x7d, 0xc3, 0xf7, 0x64, 0x5f, 0x2e, 0xbb, 0xe8, 0x35, 0x37, 0xb5, 0x17,
+  0x43, 0xf9, 0x15, 0x02, 0x64, 0xa3, 0x55, 0xf1, 0xcc, 0xfd, 0x23, 0xd6,
+  0x44, 0xc4, 0x92, 0x71, 0xe6, 0xd7, 0xd3, 0xe2, 0xea, 0xd4, 0x60, 0x8b,
+  0xfb, 0x01, 0x8f, 0x8d, 0xd8, 0x07, 0x65, 0x3e, 0xcc, 0x68, 0x4d, 0xba,
+  0x17, 0x52, 0x39, 0x2c, 0x60, 0x97, 0xfd, 0x1f, 0xc9, 0x92, 0xfa, 0x15,
+  0xc6, 0x38, 0x8c, 0xa1, 0x10, 0xc9, 0xc8, 0x80, 0x6f, 0xba, 0x55, 0x44,
+  0x09, 0x3e, 0x24, 0x41, 0x3c, 0x93, 0x74, 0xc2, 0x57, 0x0f, 0xfb, 0xd5,
+  0x5a, 0x2d, 0x15, 0x72, 0x2f, 0x02, 0x97, 0xc1, 0x6a, 0xed, 0x04, 0xba,
+  0x24, 0x81, 0x00, 0xf9, 0x2c, 0x35, 0x06, 0xf1, 0xa0, 0x7f, 0x8d, 0x5a,
+  0x67, 0x63, 0x2e, 0xac, 0x8c, 0x58, 0x59, 0xd2, 0x91, 0xa2, 0xc3, 0x31,
+  0x1c, 0x33, 0xbe, 0x4d, 0x11, 0xcb, 0x78, 0x15, 0xd6, 0x29, 0xa0, 0xe9,
+  0xc7, 0x7c, 0x7e, 0x1c, 0x3d, 0x79, 0xfc, 0xf8, 0x31, 0xc7, 0x68, 0x74,
+  0x5e, 0x52, 0xc7, 0x6f, 0x4e, 0x8e, 0xcf, 0x5e, 0xbd, 0x3a, 0x79, 0xfd,
+  0xec, 0xe4, 0x99, 0x06, 0x51, 0x3b, 0x63, 0xb7, 0xe4, 0xe2, 0x5f, 0xbe,
+  0x98, 0x6e, 0x03, 0xa4, 0xb1, 0xfb, 0x78, 0x27, 0xde, 0x7b, 0xbc, 0x13,
+  0x01, 0x71, 0x26, 0x06, 0xc5, 0x21, 0x99, 0x20, 0x50, 0x61, 0x74, 0xb5,
+  0x00, 0xf5, 0x06, 0xeb, 0x14, 0x57, 0x88, 0x4f, 0xa9, 0x08, 0xf7, 0xb3,
+  0xb4, 0x42, 0xb3, 0xb1, 0xa7, 0x33, 0x24, 0xa3, 0x5e, 0xc7, 0x14, 0xc4,
+  0xb3, 0x61, 0x5d, 0xa2, 0x2f, 0x10, 0xc5, 0xee, 0xed, 0x60, 0x47, 0xbd,
+  0xe8, 0x79, 0x86, 0xb8, 0xa4, 0xb7, 0x4c, 0x9c, 0xc7, 0x57, 0xa0, 0xaa,
+  0xa6, 0x7e, 0x40, 0x57, 0xfd, 0x7d, 0x7c, 0x7d, 0x9f, 0x5f, 0x0f, 0x47,
+  0x8b, 0xb6, 0x1f, 0x3a, 0xad, 0xb8, 0xdd, 0x66, 0x58, 0xf6, 0x74, 0xb3,
+  0x50, 0x18, 0xc1, 0x83, 0x62, 0xf8, 0xda, 0xc7, 0xf4, 0x78, 0x67, 0x67,
+  0xbd, 0xeb, 0x6f, 0x8a, 0xbc, 0x66, 0x9a, 0xdc, 0x72, 0x59, 0x10, 0x29,
+  0x5d, 0xb1, 0x04, 0x7d, 0xfa, 0xf1, 0x57, 0x75, 0x74, 0x21, 0x18, 0x4a,
+  0x91, 0xdf, 0xde, 0xc5, 0x8a, 0x35, 0x12, 0x86, 0x8a, 0xea, 0xb3, 0x31,
+  0xf9, 0xc5, 0xd1, 0x39, 0x3e, 0x1c, 0x9d, 0xbf, 0x39, 0xfb, 0xf1, 0xef,
+  0x16, 0xbd, 0xe5, 0x7a, 0x57, 0xf3, 0x99, 0x04, 0x3e, 0x07, 0xd6, 0x05,
+  0xf4, 0x93, 0x99, 0x1f, 0xc0, 0x69, 0x7c, 0x1f, 0xae, 0xc9, 0x4f, 0x83,
+  0x4a, 0x48, 0x46, 0xc3, 0x34, 0xb4, 0x9c, 0x2a, 0x93, 0xa1, 0x90, 0xc5,
+  0x04, 0x27, 0x35, 0x39, 0x7c, 0xe0, 0x4e, 0xf2, 0xc7, 0xe2, 0x38, 0x6e,
+  0x29, 0xd6, 0x29, 0x47, 0x70, 0x63, 0x2e, 0x48, 0x56, 0x73, 0x75, 0x56,
+  0xc5, 0xa2, 0x66, 0x35, 0x54, 0xd7, 0x66, 0x6f, 0x39, 0xba, 0xf0, 0xbc,
+  0xc8, 0xa6, 0x49, 0x91, 0x4d, 0xee, 0x6a, 0x75, 0xd8, 0x35, 0x93, 0x8a,
+  0x82, 0x7d, 0x6c, 0x49, 0xef, 0xdc, 0xaf, 0xf0, 0x8e, 0xea, 0x4f, 0x36,
+  0x14, 0x66, 0xc0, 0xe8, 0xe2, 0x12, 0x90, 0xc5, 0xab, 0xb5, 0xf4, 0x66,
+  0x6c, 0xee, 0xcb, 0xc7, 0x55, 0x77, 0x9a, 0xad, 0x3f, 0x80, 0x80, 0xeb,
+  0xa3, 0x5b, 0x8b, 0x66, 0x6f, 0xbb, 0x5c, 0x7f, 0xfd, 0xb6, 0x0e, 0x9f,
+  0xfb, 0x64, 0xa7, 0x46, 0x9a, 0x46, 0x2e, 0x6f, 0x2b, 0x24, 0x16, 0x3d,
+  0x7f, 0x79, 0x7a, 0xb2, 0x15, 0x3d, 0x4f, 0x2b, 0x81, 0x6b, 0xd0, 0xc4,
+  0x4a, 0xf4, 0xc6, 0xfe, 0x17, 0xe9, 0x29, 0xa6, 0x7a, 0xa7, 0xa0, 0x31,
+  0x05, 0x93, 0x61, 0xc4, 0x3d, 0x41, 0x32, 0xbb, 0x62, 0x3f, 0x30, 0x39,
+  0xd2, 0xbe, 0xa2, 0x8c, 0xaa, 0xc9, 0x35, 0x1a, 0xc5, 0x26, 0xe4, 0x1e,
+  0x48, 0x37, 0x54, 0x9c, 0xcc, 0x9e, 0x53, 0x2d, 0x2c, 0x9f, 0x39, 0x31,
+  0xb1, 0x38, 0x68, 0x49, 0xf5, 0xd4, 0x80, 0xc0, 0xac, 0x9c, 0x4f, 0x90,
+  0x77, 0x07, 0x81, 0xbc, 0x27, 0xa9, 0x05, 0x29, 0x21, 0x16, 0x34, 0xcd,
+  0x47, 0xb6, 0xd4, 0x1e, 0x9d, 0xfa, 0x7a, 0x10, 0x4f, 0x88, 0x98, 0x50,
+  0x63, 0xf9, 0xb8, 0xb8, 0x90, 0xd8, 0xe4, 0x9a, 0x54, 0xf3, 0x72, 0x3d,
+  0x2a, 0x51, 0x4d, 0x18, 0x7e, 0x5c, 0xe3, 0xaf, 0xb0, 0x8f, 0x03, 0x42,
+  0x3b, 0x22, 0x1e, 0x07, 0xa3, 0x1e, 0xa6, 0x71, 0x52, 0x0e, 0xb3, 0xcc,
+  0xa1, 0x99, 0x17, 0x4a, 0x33, 0x18, 0x31, 0xcf, 0x3f, 0xb7, 0xbf, 0x6d,
+  0xad, 0x0f, 0xc2, 0x28, 0x4b, 0x98, 0x46, 0xb7, 0x05, 0x43, 0xc7, 0x75,
+  0x90, 0x57, 0x89, 0x93, 0x0c, 0x27, 0x8b, 0x51, 0x2a, 0x05, 0x18, 0x66,
+  0x9c, 0x1b, 0x27, 0xc5, 0x0d, 0x67, 0xde, 0x51, 0xb3, 0x7b, 0x2d, 0xf2,
+  0x89, 0xa2, 0x92, 0x08, 0x83, 0x20, 0x38, 0x00, 0x2e, 0x35, 0x6d, 0xf5,
+  0x45, 0xc5, 0x88, 0x69, 0xa9, 0x64, 0x6d, 0x53, 0x4f, 0x03, 0x40, 0x51,
+  0xd0, 0x3e, 0x0d, 0x5e, 0x31, 0xa3, 0x5e, 0xbd, 0x7c, 0x75, 0x22, 0x68,
+  0x09, 0xe9, 0x88, 0x73, 0x93, 0xb4, 0x7e, 0xb2, 0xd8, 0x00, 0x38, 0x11,
+  0xa6, 0x25, 0x31, 0xa5, 0xec, 0x72, 0x16, 0x3b, 0xdf, 0x88, 0x69, 0x5d,
+  0xaf, 0xe5, 0xba, 0x3f, 0x48, 0x49, 0xd4, 0x8b, 0x85, 0x89, 0x25, 0xaa,
+  0xf1, 0x9b, 0x23, 0xb8, 0x19, 0x5e, 0x3f, 0xca, 0x3d, 0xac, 0xf4, 0x5a,
+  0xa0, 0x61, 0x09, 0x14, 0xf9, 0x04, 0xae, 0xdb, 0x09, 0xe5, 0x11, 0x1a,
+  0xf3, 0x50, 0x42, 0x44, 0xd8, 0xb4, 0x90, 0x27, 0x37, 0xf5, 0x79, 0x95,
+  0xb5, 0x5a, 0x8c, 0x8f, 0x9f, 0xf4, 0x76, 0x7c, 0x4c, 0x54, 0x4a, 0x6b,
+  0xc7, 0xec, 0x6d, 0xa3, 0x78, 0x11, 0xf6, 0x9b, 0x15, 0x47, 0x53, 0x67,
+  0xb7, 0xcb, 0x5e, 0x1d, 0xac, 0xc0, 0x0f, 0xfb, 0x10, 0x1d, 0x08, 0x53,
+  0xe4, 0x4d, 0x8d, 0x25, 0xa5, 0x14, 0x7c, 0x09, 0x8f, 0x92, 0xf1, 0x4e,
+  0xcd, 0xa4, 0xf8, 0xab, 0x44, 0x13, 0x2f, 0x8b, 0x7e, 0xcb, 0x67, 0x1a,
+  0xe9, 0x73, 0xa3, 0x51, 0xcd, 0x5d, 0x41, 0x4a, 0xb9, 0xe5, 0x47, 0x26,
+  0x94, 0x73, 0xaf, 0x9d, 0x85, 0xc1, 0x67, 0x42, 0x85, 0xa9, 0xdd, 0x2e,
+  0x34, 0xa4, 0x57, 0xec, 0xbc, 0xa8, 0x92, 0xc2, 0xc6, 0x72, 0x5c, 0x07,
+  0x42, 0xee, 0x36, 0xf7, 0xaf, 0xc8, 0x86, 0xef, 0x33, 0xc4, 0x1f, 0x2e,
+  0xab, 0xc5, 0x78, 0xcc, 0x51, 0x9c, 0xee, 0x28, 0x35, 0x7e, 0x14, 0x36,
+  0x8e, 0x51, 0xea, 0x65, 0x79, 0x70, 0x0b, 0x7d, 0x52, 0xe6, 0xa2, 0xa2,
+  0x3a, 0x9e, 0xda, 0x7c, 0x4a, 0xa3, 0xdc, 0x22, 0xac, 0x10, 0xe9, 0xd7,
+  0x69, 0x81, 0x24, 0x80, 0x90, 0xb9, 0xe8, 0xaa, 0xbc, 0xf1, 0xf3, 0x03,
+  0xa8, 0x20, 0x4b, 0x81, 0xd1, 0xc7, 0x64, 0x13, 0x7f, 0x93, 0x4e, 0x73,
+  0x2a, 0x1e, 0x64, 0x67, 0x2c, 0x6b, 0x05, 0x72, 0x84, 0x68, 0x2d, 0xec,
+  0xf9, 0x80, 0x51, 0x20, 0xd1, 0xb6, 0x68, 0xd7, 0x9a, 0xe1, 0x2b, 0x59,
+  0x06, 0x1c, 0xa8, 0x11, 0x61, 0xd9, 0xc6, 0x9a, 0xcc, 0x32, 0xa1, 0xaa,
+  0x0c, 0x68, 0x95, 0xce, 0x66, 0x07, 0xc8, 0x6e, 0x9a, 0xf9, 0x29, 0x2f,
+  0x40, 0x5f, 0x3a, 0xe8, 0x48, 0x5d, 0x4a, 0x8a, 0x14, 0x24, 0x37, 0x3c,
+  0x49, 0x23, 0x35, 0xba, 0x11, 0x1c, 0xe9, 0x98, 0x65, 0x49, 0x8e, 0x1d,
+  0xac, 0xca, 0x70, 0xea, 0xba, 0xa2, 0x59, 0xf8, 0x79, 0xc4, 0x06, 0x5d,
+  0x42, 0x70, 0x97, 0x70, 0x64, 0xf1, 0x0b, 0x18, 0xc7, 0x8f, 0xf1, 0xf1,
+  0xc2, 0x73, 0x68, 0x43, 0xf7, 0xf1, 0x0b, 0x6a, 0xf2, 0x4f, 0x1d, 0x13,
+  0x21, 0xc0, 0x8f, 0xda, 0xaf, 0x60, 0xf4, 0x5f, 0x84, 0x92, 0x28, 0x24,
+  0xa6, 0x82, 0xc9, 0x86, 0x6a, 0x7f, 0x89, 0x5c, 0x93, 0xd8, 0x9a, 0x62,
+  0xb4, 0x39, 0xa3, 0xd1, 0xb6, 0xac, 0xb7, 0x26, 0x7c, 0x05, 0xd6, 0x9c,
+  0xc3, 0x41, 0x0a, 0x0c, 0x52, 0x8e, 0x60, 0x14, 0x71, 0x3e, 0x8e, 0x29,
+  0x35, 0x19, 0xe4, 0xad, 0xf7, 0x98, 0xde, 0x71, 0x67, 0xc9, 0x8a, 0x20,
+  0x6b, 0x89, 0x3d, 0x8c, 0x46, 0xa1, 0x8c, 0x11, 0x46, 0x06, 0x72, 0xd4,
+  0x4f, 0x45, 0x37, 0xe0, 0x2d, 0x3d, 0x90, 0xdc, 0x58, 0x7a, 0x7d, 0x96,
+  0xde, 0x70, 0xf2, 0x27, 0x96, 0xfe, 0x10, 0x14, 0x02, 0xcf, 0x23, 0x47,
+  0x98, 0x04, 0x5d, 0x36, 0x7f, 0xd0, 0xa4, 0x09, 0xd7, 0x76, 0xca, 0xce,
+  0x71, 0x8a, 0x57, 0x58, 0xcc, 0xb5, 0xf2, 0xee, 0x52, 0x0f, 0x30, 0x1a,
+  0x7e, 0xa8, 0xb0, 0x2e, 0xaa, 0xeb, 0x9a, 0x6e, 0x00, 0x5c, 0xeb, 0x5b,
+  0x83, 0x53, 0x52, 0x56, 0x77, 0x28, 0x07, 0x08, 0x88, 0x76, 0x20, 0x98,
+  0x1b, 0x06, 0xcd, 0xb9, 0x02, 0x5a, 0x0e, 0x88, 0x14, 0x74, 0x5a, 0x73,
+  0x5a, 0x2f, 0x31, 0x20, 0x11, 0xf6, 0x94, 0x14, 0xaf, 0xe2, 0x0c, 0x97,
+  0x6f, 0xe3, 0x10, 0x6e, 0x3e, 0xed, 0x9e, 0x94, 0x3b, 0x49, 0x46, 0xee,
+  0x6a, 0x71, 0xca, 0x87, 0x01, 0x7b, 0xab, 0xab, 0x0c, 0x8f, 0x5d, 0xb9,
+  0x4c, 0xc5, 0x8b, 0x09, 0x46, 0xfc, 0x70, 0x20, 0x10, 0x11, 0xc2, 0x94,
+  0x20, 0xee, 0x66, 0x55, 0x16, 0x97, 0xf3, 0x64, 0x1a, 0x2d, 0x2a, 0x84,
+  0xd4, 0x44, 0xb1, 0x7c, 0x78, 0x95, 0x4a, 0xd8, 0xd8, 0x9c, 0x30, 0xd5,
+  0x18, 0x3e, 0x23, 0x58, 0xbe, 0x87, 0xce, 0x9a, 0x2a, 0x62, 0x7c, 0xdb,
+  0xd0, 0x9d, 0x21, 0xfc, 0xe2, 0x40, 0xec, 0x5a, 0xc8, 0x00, 0x3a, 0xcf,
+  0x61, 0xb0, 0x07, 0x9d, 0x6e, 0xd4, 0xb9, 0xc8, 0xe1, 0x47, 0xf3, 0x20,
+  0x3e, 0x83, 0x63, 0x72, 0xc0, 0x25, 0x55, 0x3b, 0x7d, 0x86, 0x4d, 0xc3,
+  0x3f, 0xa7, 0x39, 0x42, 0x1a, 0x56, 0xa6, 0xcc, 0x5f, 0xcd, 0xbc, 0xc5,
+  0x97, 0x73, 0x18, 0x2e, 0xd0, 0xec, 0x6a, 0xf8, 0xae, 0xa1, 0xa2, 0x23,
+  0x2a, 0xd4, 0xc6, 0x56, 0x8a, 0xa0, 0x23, 0x56, 0x3b, 0xf9, 0x25, 0x71,
+  0xaa, 0x99, 0xa6, 0x83, 0x7b, 0xf1, 0x92, 0x8a, 0x8b, 0xd9, 0x90, 0x8d,
+  0xf7, 0x9f, 0x86, 0xf6, 0x20, 0xe1, 0x3c, 0x24, 0x94, 0x2f, 0x61, 0x1d,
+  0x9a, 0xe9, 0xdb, 0x07, 0x8c, 0xbb, 0x96, 0xa2, 0x45, 0x56, 0xb8, 0x0e,
+  0x85, 0x8a, 0x12, 0xef, 0x8c, 0x5a, 0xba, 0x36, 0xb6, 0x7a, 0xe5, 0x31,
+  0xfa, 0x37, 0x66, 0xd0, 0x77, 0x1d, 0x87, 0x03, 0xa7, 0xe3, 0x28, 0x77,
+  0x0b, 0x44, 0x75, 0x70, 0x54, 0x9d, 0x0c, 0x21, 0x6a, 0x85, 0xfc, 0xfd,
+  0xe1, 0xe8, 0xcd, 0xeb, 0x97, 0xaf, 0xbf, 0x3f, 0x30, 0xeb, 0x83, 0x17,
+  0x84, 0xf0, 0x88, 0x86, 0xa3, 0x03, 0x4b, 0xba, 0x50, 0x59, 0x53, 0xc2,
+  0xd7, 0x9a, 0x44, 0x21, 0x57, 0x84, 0xd1, 0xc8, 0x30, 0x80, 0x31, 0xe5,
+  0x4a, 0x41, 0xe4, 0x4e, 0x85, 0x6f, 0x38, 0xf6, 0x88, 0xed, 0x9f, 0x8a,
+  0xf0, 0x20, 0x98, 0x51, 0xb4, 0x32, 0x55, 0x3e, 0x19, 0x85, 0x98, 0x55,
+  0x7c, 0x4a, 0xf1, 0xf2, 0xb9, 0x60, 0x3e, 0x28, 0x54, 0xe8, 0x8c, 0x60,
+  0x7b, 0x54, 0x4a, 0xd2, 0x7b, 0x27, 0x65, 0xd4, 0x12, 0xca, 0x68, 0xf4,
+  0x23, 0xd5, 0x29, 0x73, 0x9a, 0xcd, 0x6a, 0x7c, 0xb1, 0x92, 0xc5, 0x08,
+  0xee, 0x9b, 0x8c, 0xee, 0xae, 0x1c, 0x45, 0xc5, 0x92, 0xe8, 0xa6, 0xcc,
+  0xc8, 0x9b, 0x6d, 0x56, 0x85, 0x08, 0x35, 0x5c, 0x23, 0x93, 0x47, 0x39,
+  0x4c, 0x16, 0xcc, 0x76, 0xb8, 0x5e, 0x8c, 0x7c, 0x6a, 0xf1, 0x23, 0xcc,
+  0xfc, 0x03, 0x69, 0xd9, 0x75, 0x44, 0x98, 0x0f, 0x48, 0xcc, 0x6e, 0xf3,
+  0x30, 0xbc, 0xc0, 0x8b, 0xe6, 0x39, 0x5a, 0xd4, 0xe2, 0xd7, 0xc0, 0xf9,
+  0x0e, 0xa2, 0x3f, 0xe7, 0xe9, 0x1a, 0x8e, 0x02, 0x78, 0xfd, 0x2d, 0xa8,
+  0x72, 0xf1, 0xd1, 0x25, 0xb1, 0xf4, 0xbb, 0xb4, 0x8c, 0xe7, 0xc4, 0x80,
+  0xb6, 0xf7, 0x76, 0x76, 0x76, 0xd6, 0x6b, 0x88, 0xef, 0xe8, 0xf5, 0x74,
+  0x91, 0x23, 0x4d, 0x8c, 0x8c, 0x93, 0xcb, 0x54, 0xb3, 0x25, 0x53, 0x76,
+  0x35, 0x20, 0x04, 0xa5, 0x9b, 0x30, 0x79, 0xc5, 0x3a, 0xc8, 0x64, 0x1e,
+  0x1d, 0xa2, 0x29, 0xe2, 0x32, 0x2f, 0xee, 0xbe, 0xf1, 0xaa, 0x3d, 0x21,
+  0x0a, 0x00, 0x3e, 0x23, 0xc4, 0x84, 0xa1, 0x70, 0x24, 0xa1, 0xd9, 0xfc,
+  0x5c, 0xcd, 0x44, 0xb3, 0x8d, 0xf4, 0x22, 0xad, 0x77, 0xdd, 0xbc, 0x25,
+  0x0a, 0x2c, 0x93, 0x92, 0x38, 0xd6, 0x2c, 0x37, 0xab, 0x51, 0xd4, 0x4b,
+  0x96, 0xc0, 0x91, 0x49, 0x67, 0x53, 0x34, 0x7e, 0x60, 0x0c, 0xb3, 0x74,
+  0x16, 0x40, 0x1b, 0x32, 0x17, 0x56, 0xc9, 0xc2, 0x8c, 0x8b, 0xc5, 0x12,
+  0x75, 0x60, 0xa0, 0x1d, 0xea, 0xd0, 0xf6, 0xe7, 0x48, 0x09, 0x4d, 0x8d,
+  0x58, 0xfa, 0xe7, 0x23, 0xab, 0x85, 0xec, 0x6d, 0xd0, 0x67, 0xa0, 0x7d,
+  0x9d, 0x32, 0x75, 0xd2, 0x14, 0x28, 0x97, 0x4c, 0x91, 0x16, 0x90, 0xdf,
+  0xcd, 0x04, 0x98, 0x00, 0x1a, 0xce, 0x0a, 0x85, 0x8b, 0x2e, 0x57, 0x68,
+  0xc9, 0x93, 0xf9, 0x47, 0xd7, 0x92, 0x27, 0x6b, 0xc7, 0x4c, 0xd1, 0x30,
+  0x60, 0x26, 0xed, 0xd4, 0xe8, 0xaa, 0xc3, 0x35, 0x5b, 0x1e, 0xec, 0xee,
+  0x7c, 0x31, 0x98, 0x8e, 0x1e, 0x47, 0x87, 0xf0, 0x8f, 0xa7, 0xf3, 0xf6,
+  0x39, 0x57, 0xf7, 0x18, 0x83, 0x45, 0xf1, 0xee, 0x40, 0x09, 0x52, 0x70,
+  0xa7, 0xd9, 0x1b, 0x85, 0xbf, 0xee, 0xef, 0x01, 0x61, 0xde, 0x26, 0x5a,
+  0x1c, 0x70, 0x04, 0xac, 0xa9, 0xa2, 0x54, 0x37, 0x2f, 0x14, 0x8a, 0x5f,
+  0xb5, 0x19, 0x81, 0xb8, 0x87, 0xbb, 0x7b, 0x5f, 0x46, 0x88, 0x02, 0xf2,
+  0xea, 0xd9, 0x63, 0xbe, 0xf8, 0xcb, 0xc5, 0xd4, 0x90, 0x32, 0x27, 0x90,
+  0x32, 0xfb, 0xf3, 0x70, 0x54, 0x61, 0xe0, 0x93, 0x6c, 0x88, 0xd8, 0x5b,
+  0xdd, 0x5a, 0xec, 0xdf, 0x58, 0x63, 0xff, 0x1c, 0xfb, 0xb5, 0x11, 0x21,
+  0x29, 0xfe, 0x9d, 0xb3, 0x5b, 0x02, 0xa1, 0x50, 0xb0, 0x06, 0xd0, 0x3d,
+  0x1a, 0xfd, 0xab, 0xe1, 0x55, 0x38, 0xbb, 0xdb, 0x59, 0xb2, 0x15, 0x51,
+  0xc6, 0x9f, 0x12, 0x6b, 0xde, 0x19, 0x45, 0xfa, 0x78, 0xb8, 0x3b, 0x7c,
+  0xf4, 0xd5, 0xce, 0xde, 0xce, 0x93, 0x47, 0x3b, 0xc9, 0xe3, 0x64, 0xb0,
+  0x33, 0xde, 0xdb, 0xd9, 0x7f, 0xf4, 0xe5, 0xe3, 0x47, 0xc3, 0xfd, 0xbd,
+  0xdd, 0xe4, 0xcb, 0xa8, 0x5c, 0x2b, 0x84, 0x4e, 0x5a, 0x2e, 0xaf, 0x92,
+  0x3d, 0x50, 0x95, 0x7d, 0x5a, 0xe1, 0x2f, 0xa2, 0x43, 0xfe, 0x19, 0xa6,
+  0x18, 0x22, 0x98, 0x56, 0x7a, 0x49, 0xa2, 0xef, 0x08, 0x42, 0x24, 0x56,
+  0x94, 0x9b, 0xfe, 0x8b, 0x23, 0x6c, 0x12, 0x4e, 0xce, 0x95, 0x6f, 0xfd,
+  0x65, 0x7b, 0x02, 0x91, 0x01, 0x53, 0x81, 0xb3, 0xef, 0xbd, 0xe8, 0x78,
+  0xf9, 0xbe, 0xb7, 0x29, 0x12, 0x0e, 0x15, 0xf0, 0xdf, 0xd0, 0x75, 0x7a,
+  0x9f, 0x6d, 0x97, 0xd9, 0x7f, 0x2e, 0x0c, 0x89, 0xfa, 0x28, 0x5e, 0x3f,
+  0xfb, 0xdb, 0xfb, 0x57, 0x17, 0x7f, 0xbd, 0x7d, 0xf5, 0xfd, 0x5f, 0x77,
+  0xcf, 0x9e, 0x8d, 0xa6, 0xaf, 0x7e, 0xfd, 0xeb, 0xfe, 0xab, 0x5f, 0x87,
+  0xbf, 0xfd, 0xfd, 0xd7, 0xa3, 0xbb, 0xb3, 0x8b, 0xbf, 0x3f, 0x7e, 0x35,
+  0x7d, 0xf3, 0xfe, 0xd5, 0xaf, 0x7f, 0x9b, 0xbe, 0x7e, 0xf6, 0xd7, 0xaf,
+  0x1f, 0x46, 0x05, 0x40, 0x5f, 0xf5, 0x4a, 0x03, 0x3b, 0x0d, 0x5f, 0x00,
+  0x5e, 0x42, 0x87, 0x06, 0x38, 0x3b, 0x68, 0x33, 0xeb, 0xd7, 0x8b, 0xea,
+  0x2a, 0x60, 0xf8, 0x8b, 0xfe, 0x85, 0x0d, 0x51, 0x32, 0x91, 0x48, 0x74,
+  0x5d, 0x99, 0xdc, 0xd3, 0x20, 0x06, 0xef, 0x1c, 0x84, 0x51, 0x94, 0xd6,
+  0x18, 0xc9, 0x97, 0x72, 0xfd, 0x91, 0xaa, 0xa8, 0x3d, 0x2c, 0xb4, 0x9b,
+  0x8a, 0xad, 0x94, 0x74, 0x8c, 0xfa, 0x62, 0x37, 0xc2, 0x9c, 0x38, 0x68,
+  0x8e, 0xf3, 0x4f, 0x53, 0xb7, 0x36, 0xa6, 0x00, 0x47, 0x53, 0x63, 0x46,
+  0x8e, 0xc4, 0x42, 0xcc, 0x2a, 0xba, 0xb5, 0x8e, 0x8e, 0xd9, 0x79, 0x36,
+  0x46, 0x1b, 0x96, 0x81, 0x36, 0x61, 0xfb, 0x6b, 0x60, 0xb7, 0xfb, 0x26,
+  0x05, 0xa3, 0xd3, 0x71, 0xe0, 0xc7, 0x37, 0x7f, 0x4b, 0x8b, 0x5c, 0xe0,
+  0x86, 0xb6, 0x68, 0x9e, 0xd7, 0x79, 0x36, 0x8a, 0x04, 0x60, 0x7d, 0x5b,
+  0xab, 0xb1, 0x78, 0xd7, 0xb0, 0x95, 0xb2, 0x09, 0xf2, 0x1b, 0x4b, 0xb1,
+  0x40, 0x93, 0xb4, 0x30, 0x06, 0xef, 0x3a, 0x44, 0xdd, 0x8d, 0xb0, 0x65,
+  0x5f, 0x98, 0xeb, 0xd6, 0x34, 0x7a, 0x72, 0xb4, 0x18, 0xcf, 0x7f, 0xd3,
+  0xfc, 0x4c, 0x89, 0x23, 0x82, 0xb0, 0xc1, 0x00, 0xf0, 0x6a, 0x02, 0xa7,
+  0x53, 0x91, 0xcf, 0xea, 0x8e, 0x30, 0x22, 0x01, 0x9e, 0x51, 0x48, 0xca,
+  0x44, 0xfa, 0xfa, 0x74, 0xe0, 0x3f, 0xd2, 0x3c, 0x6c, 0xf3, 0x03, 0x0a,
+  0x0c, 0x93, 0x27, 0xa3, 0x5e, 0x22, 0xec, 0x51, 0xe3, 0x74, 0x40, 0x7b,
+  0x3b, 0xbd, 0xaf, 0x5a, 0x0a, 0x4d, 0xd7, 0x4a, 0xa9, 0x20, 0x82, 0x9c,
+  0xc1, 0x40, 0x24, 0xb5, 0x8a, 0x52, 0x4d, 0x61, 0x43, 0xb0, 0x86, 0x8d,
+  0x46, 0xce, 0x7b, 0x2b, 0x84, 0x4f, 0x6e, 0xe3, 0x13, 0x52, 0x69, 0x5a,
+  0x49, 0x19, 0xcb, 0x18, 0x92, 0x80, 0x4e, 0x1c, 0xce, 0x04, 0xde, 0x9b,
+  0x02, 0x56, 0x94, 0xd4, 0xe1, 0x9b, 0x2d, 0x4d, 0x5a, 0x92, 0x06, 0x04,
+  0x58, 0xad, 0x4a, 0x80, 0x4c, 0x1d, 0xe0, 0x6c, 0x45, 0x78, 0x24, 0x9a,
+  0x40, 0x97, 0x87, 0xe7, 0xd9, 0x30, 0xfd, 0x96, 0x36, 0x52, 0x9e, 0x6b,
+  0x18, 0x71, 0x3d, 0x4c, 0x3a, 0x6e, 0x58, 0x9f, 0x99, 0xdd, 0xb3, 0xf9,
+  0xcd, 0xec, 0xb2, 0x40, 0x6f, 0x3b, 0x41, 0xf5, 0x25, 0xa1, 0x60, 0xd2,
+  0xd0, 0x19, 0x72, 0xa3, 0xf0, 0x9f, 0x3c, 0xe9, 0xed, 0x74, 0xed, 0xaa,
+  0x20, 0x8e, 0x10, 0x0b, 0x5e, 0x4b, 0x83, 0xf0, 0x6b, 0x22, 0x1d, 0xef,
+  0xd9, 0x47, 0x8e, 0x2f, 0x91, 0x56, 0xd7, 0x66, 0xf7, 0x32, 0x98, 0xf5,
+  0x08, 0x13, 0x9f, 0xde, 0xed, 0xed, 0x76, 0xe5, 0xd7, 0x3d, 0xf1, 0x7f,
+  0xe0, 0xef, 0xfb, 0x75, 0xf7, 0x59, 0x9d, 0x5e, 0x77, 0xba, 0xe6, 0xe5,
+  0x9d, 0xa5, 0xf5, 0x7f, 0x6a, 0x55, 0xaf, 0x6a, 0xc4, 0x0a, 0x6f, 0xba,
+  0x86, 0x65, 0x56, 0xe8, 0x7d, 0x33, 0xa5, 0x63, 0xdc, 0xe5, 0x0a, 0x2c,
+  0x08, 0xc9, 0xef, 0x36, 0xb4, 0x72, 0x8b, 0xb0, 0xa3, 0xfb, 0xf8, 0x37,
+  0xd7, 0x5f, 0x6f, 0x6c, 0x79, 0xfd, 0xf5, 0xc6, 0x5d, 0xb2, 0xcb, 0x0c,
+  0xab, 0xbf, 0xa2, 0x1e, 0x99, 0x17, 0x22, 0x68, 0x8b, 0x11, 0x6a, 0x0b,
+  0x91, 0xd3, 0xa0, 0xbb, 0x87, 0x7b, 0x08, 0xdd, 0x96, 0x17, 0x31, 0x9a,
+  0xc0, 0x81, 0xb0, 0x2f, 0x43, 0xc6, 0x31, 0xdd, 0xed, 0x06, 0x33, 0x82,
+  0x56, 0xef, 0xc3, 0x8c, 0x02, 0xdb, 0xba, 0x7b, 0x8f, 0x1d, 0xd9, 0xfd,
+  0x64, 0x3b, 0xb2, 0xbb, 0xde, 0x8e, 0xb8, 0x84, 0xec, 0x2c, 0x1c, 0x1e,
+  0x40, 0xa9, 0x42, 0x26, 0xdb, 0x42, 0x5c, 0x53, 0x37, 0xa6, 0xd1, 0x5c,
+  0xbd, 0x46, 0x64, 0x5b, 0x9b, 0xad, 0x1b, 0xd3, 0xdc, 0x60, 0xdd, 0xa8,
+  0xe0, 0x41, 0xdc, 0xdf, 0xf7, 0x2f, 0x0e, 0x6f, 0x9b, 0xef, 0xb3, 0x73,
+  0x30, 0xa1, 0x72, 0x21, 0x85, 0x2a, 0x88, 0x5f, 0x53, 0xe9, 0xb9, 0x9a,
+  0x99, 0xae, 0x0c, 0x03, 0x65, 0x11, 0xcf, 0xdc, 0x73, 0xa2, 0x07, 0xe9,
+  0x03, 0x22, 0xc3, 0xb7, 0x73, 0x62, 0xcb, 0xa8, 0x76, 0x57, 0x9a, 0xc5,
+  0x47, 0xb1, 0x0e, 0x70, 0x73, 0xb7, 0x8d, 0xce, 0xd6, 0x45, 0xd2, 0xcc,
+  0x30, 0x42, 0x95, 0x2d, 0xb5, 0x9f, 0x12, 0xe1, 0x7a, 0xc9, 0x65, 0x92,
+  0xdc, 0x24, 0x18, 0x13, 0x4e, 0x92, 0xa2, 0x1d, 0x64, 0x48, 0x66, 0xd6,
+  0xbb, 0x66, 0x94, 0x6b, 0x2b, 0x35, 0x4c, 0x27, 0x68, 0x47, 0x9c, 0x24,
+  0xa0, 0xcd, 0x53, 0xb2, 0xcb, 0x28, 0x6a, 0x89, 0x51, 0x51, 0xba, 0x16,
+  0x63, 0x38, 0x2e, 0x52, 0x7b, 0xdd, 0xba, 0x26, 0xa1, 0xfb, 0xe7, 0xaf,
+  0x41, 0xf6, 0x8d, 0x32, 0x71, 0x4d, 0x42, 0xf0, 0x4d, 0x02, 0xc1, 0xeb,
+  0xc2, 0xeb, 0xe6, 0x21, 0x47, 0xc7, 0x1f, 0xeb, 0x9a, 0x30, 0x86, 0xa1,
+  0x1b, 0xa4, 0xad, 0x69, 0x25, 0x8d, 0x36, 0x52, 0xc0, 0xe2, 0xdd, 0xc5,
+  0xe4, 0x8e, 0x01, 0x35, 0x39, 0xb8, 0x0b, 0x2d, 0x42, 0xec, 0x74, 0x46,
+  0xe2, 0x55, 0xe8, 0x61, 0xd9, 0x5e, 0x71, 0x43, 0x36, 0x55, 0x42, 0x7b,
+  0x74, 0x5b, 0x80, 0x11, 0x0d, 0xd3, 0xa0, 0x51, 0x37, 0x0f, 0x6e, 0x90,
+  0x53, 0xb6, 0xdf, 0x91, 0x8f, 0xbe, 0x0a, 0x1c, 0xcd, 0x07, 0x31, 0xd1,
+  0xbd, 0xa0, 0x5b, 0x9e, 0xe8, 0xbe, 0xeb, 0xa2, 0x2e, 0x59, 0x31, 0xc9,
+  0x49, 0x51, 0x37, 0x34, 0x6d, 0x4f, 0xaa, 0x97, 0x63, 0xe9, 0x93, 0xb2,
+  0x03, 0x11, 0x44, 0x1d, 0x2c, 0x91, 0x81, 0x74, 0x2c, 0xab, 0x87, 0xb2,
+  0x60, 0x76, 0x20, 0x8a, 0xb9, 0x84, 0xe9, 0xe7, 0x61, 0x76, 0xa2, 0xb0,
+  0x2c, 0xa9, 0x32, 0x91, 0x03, 0xf3, 0x4a, 0x4b, 0x44, 0xd3, 0x0f, 0x26,
+  0x09, 0x94, 0xa2, 0x69, 0xa4, 0x1d, 0x02, 0x01, 0x94, 0xa5, 0xca, 0x9c,
+  0x00, 0x00, 0x09, 0x6b, 0x46, 0x99, 0x03, 0x21, 0xdf, 0x22, 0x4f, 0xe3,
+  0xc7, 0xf5, 0xd8, 0xed, 0xed, 0xa1, 0xfb, 0x4e, 0x12, 0xd8, 0xc9, 0xc2,
+  0x8f, 0x3c, 0xee, 0xf2, 0xca, 0x04, 0x5d, 0x0a, 0xe5, 0x92, 0x90, 0xe8,
+  0xc4, 0xa3, 0x0e, 0x93, 0x50, 0xe4, 0x03, 0xe6, 0xbe, 0x13, 0x7e, 0xde,
+  0x90, 0x11, 0x73, 0x79, 0xc1, 0x74, 0x97, 0xa5, 0xa9, 0x29, 0xd7, 0xeb,
+  0xa4, 0x03, 0x5d, 0x4d, 0xca, 0x6b, 0x18, 0xc3, 0x6a, 0xc6, 0xf2, 0x89,
+  0xee, 0xcf, 0xbd, 0x87, 0xc9, 0x8f, 0xc1, 0x43, 0x6f, 0xf9, 0x7f, 0xfd,
+  0x58, 0x7b, 0xb2, 0x3a, 0x1d, 0xf3, 0xf0, 0x39, 0xd7, 0x63, 0xae, 0xa7,
+  0x3c, 0x20, 0x28, 0x79, 0x99, 0xd5, 0xeb, 0x9e, 0xf2, 0x06, 0x93, 0x0a,
+  0x14, 0x25, 0x9a, 0xac, 0x7d, 0x23, 0xef, 0xb7, 0x08, 0xc5, 0x7f, 0xf8,
+  0x83, 0x78, 0xa4, 0xfe, 0xf0, 0x87, 0x83, 0xc8, 0xcb, 0x01, 0xbe, 0x9d,
+  0xa7, 0x45, 0x36, 0xa5, 0x42, 0x80, 0xbd, 0xe8, 0x99, 0xcd, 0xa2, 0xf6,
+  0x8e, 0x2f, 0xdc, 0x55, 0xa3, 0x45, 0x38, 0xd3, 0x78, 0x05, 0x67, 0xd9,
+  0x97, 0x1c, 0x79, 0x9b, 0x18, 0x4a, 0xf6, 0x2d, 0x0b, 0x9e, 0xd2, 0xb4,
+  0x54, 0x70, 0x54, 0x8b, 0x66, 0xe8, 0x48, 0x26, 0x0a, 0xd2, 0xb5, 0xc4,
+  0xf7, 0xd3, 0xce, 0xec, 0xbb, 0x19, 0x7b, 0x46, 0x67, 0x47, 0x10, 0x37,
+  0x2f, 0x4a, 0x00, 0xe1, 0x21, 0xd8, 0x99, 0xcb, 0x00, 0x63, 0xa4, 0x0e,
+  0xaa, 0xf7, 0x08, 0x3a, 0xb9, 0xce, 0x92, 0xe8, 0x68, 0x52, 0xc5, 0xfd,
+  0xeb, 0x21, 0x67, 0x8f, 0x09, 0x06, 0x00, 0x2f, 0x93, 0xbf, 0xd7, 0x94,
+  0x7d, 0x46, 0x15, 0xf4, 0x04, 0x96, 0x86, 0x8a, 0x9e, 0x53, 0xb1, 0x67,
+  0xb6, 0xea, 0x68, 0x32, 0x05, 0x6e, 0xa4, 0xa5, 0x44, 0x06, 0x3c, 0x6b,
+  0x4a, 0xd6, 0xf3, 0x34, 0x79, 0x5f, 0xea, 0x94, 0x24, 0x5c, 0x83, 0x41,
+  0xf0, 0xcc, 0x98, 0x39, 0xb4, 0x73, 0x89, 0x63, 0xbe, 0xe1, 0xc4, 0xa4,
+  0x72, 0xc5, 0x54, 0xa5, 0xe4, 0xaf, 0x6f, 0x5f, 0x1e, 0xd7, 0xe2, 0xa4,
+  0x25, 0x08, 0xdd, 0x0f, 0xba, 0x71, 0xe2, 0xbe, 0x39, 0x74, 0x4a, 0x9e,
+  0x1c, 0xa3, 0xb1, 0x44, 0xf1, 0x76, 0x14, 0x71, 0xa3, 0xb6, 0xbd, 0x79,
+  0x28, 0xd2, 0x03, 0x94, 0xe5, 0x95, 0x0c, 0x65, 0xff, 0x13, 0x31, 0x94,
+  0xfd, 0x0f, 0x66, 0x28, 0x7b, 0x3d, 0xd3, 0xd4, 0xc7, 0x66, 0x28, 0xfb,
+  0x9f, 0x80, 0xa1, 0x08, 0xa4, 0xb2, 0xb0, 0xc0, 0x76, 0x29, 0xc2, 0x13,
+  0xd9, 0x6a, 0xda, 0x76, 0xbd, 0x80, 0x7c, 0xcc, 0xf5, 0x36, 0x62, 0xb1,
+  0xa3, 0xc5, 0x6c, 0xee, 0x0b, 0x62, 0xa5, 0x0a, 0x9f, 0xb1, 0x57, 0xf4,
+  0x4b, 0x7a, 0x95, 0xd3, 0xd3, 0xe5, 0xf5, 0x53, 0x06, 0x27, 0x97, 0x5b,
+  0xb5, 0xa5, 0x9a, 0x3c, 0x06, 0xbd, 0x64, 0x43, 0x0c, 0x21, 0xb4, 0x21,
+  0xca, 0x64, 0x7f, 0x13, 0x83, 0x4e, 0xb1, 0xa0, 0x10, 0xec, 0xe8, 0x68,
+  0x4e, 0xa6, 0xcf, 0xdd, 0xde, 0x2d, 0xd7, 0x1b, 0xc4, 0x58, 0x93, 0x80,
+  0x9f, 0xae, 0x48, 0x59, 0x5c, 0xcb, 0x66, 0x8a, 0x58, 0xd6, 0x1c, 0x0e,
+  0xb5, 0xce, 0x56, 0xc0, 0x09, 0x1e, 0xce, 0x82, 0x5d, 0xd8, 0x7b, 0x70,
+  0x00, 0x2f, 0xbd, 0xcb, 0x75, 0x70, 0x57, 0xa5, 0xe1, 0xd8, 0x45, 0x5c,
+  0x85, 0x4d, 0x36, 0x22, 0x81, 0x44, 0x86, 0x01, 0x7c, 0xdd, 0x08, 0x41,
+  0x02, 0x68, 0x05, 0x10, 0xc9, 0xd1, 0x18, 0x01, 0x11, 0xb6, 0x35, 0xbb,
+  0xc4, 0x60, 0xa3, 0x9c, 0xd9, 0x8c, 0xe7, 0x83, 0xc2, 0xc8, 0x58, 0x41,
+  0x35, 0x51, 0xcc, 0x10, 0x29, 0x5f, 0x1d, 0xac, 0x73, 0x58, 0x53, 0x17,
+  0x8d, 0xdc, 0x81, 0x69, 0x0b, 0x34, 0x37, 0x3a, 0xa8, 0xc0, 0x09, 0x82,
+  0x74, 0x09, 0x2b, 0xdc, 0x8c, 0xcf, 0xba, 0x9b, 0xaf, 0x88, 0xe2, 0x0e,
+  0x52, 0xc5, 0xc7, 0xd7, 0x30, 0x82, 0xdd, 0xac, 0xcb, 0x0b, 0xc2, 0x63,
+  0x5d, 0x8f, 0x37, 0xb4, 0xe3, 0x45, 0xc4, 0x19, 0x1e, 0x41, 0x89, 0xaa,
+  0x6d, 0x1a, 0xad, 0x35, 0xd6, 0x96, 0x8c, 0xf1, 0xaa, 0xdf, 0x8a, 0xb5,
+  0xd1, 0x86, 0xcd, 0x70, 0xac, 0xc4, 0xa2, 0x9a, 0x63, 0x4a, 0x03, 0x26,
+  0xd1, 0x48, 0x84, 0xad, 0x67, 0x7d, 0xa9, 0xbf, 0x38, 0xa4, 0xe8, 0x40,
+  0xee, 0x41, 0x02, 0xb8, 0x38, 0xe6, 0x43, 0xb5, 0x59, 0x32, 0xd3, 0xa3,
+  0x07, 0x3b, 0xcf, 0xdf, 0x67, 0xa9, 0x07, 0x89, 0x3d, 0x42, 0x39, 0x5d,
+  0x5c, 0x57, 0x36, 0xf6, 0xb5, 0xc6, 0xd3, 0x91, 0x56, 0x11, 0x08, 0xb3,
+  0xd7, 0xeb, 0x05, 0x6a, 0xb0, 0x5c, 0x67, 0xe9, 0x4d, 0x4d, 0xbe, 0x96,
+  0x91, 0x75, 0xb9, 0x62, 0xc7, 0x48, 0x2a, 0x09, 0xdb, 0x08, 0xe7, 0x96,
+  0x48, 0xa3, 0x1a, 0x61, 0xc9, 0x84, 0x3e, 0xae, 0x61, 0x53, 0x5a, 0x5d,
+  0x93, 0x72, 0xb2, 0xf5, 0x88, 0xa4, 0xc5, 0x7b, 0xfd, 0x9e, 0xe9, 0xa3,
+  0x0c, 0xc1, 0x88, 0x6f, 0xa2, 0xe0, 0x6f, 0x7d, 0x91, 0xdf, 0x19, 0xc5,
+  0xa7, 0x8b, 0x0a, 0x40, 0x71, 0xa7, 0xb9, 0xed, 0xce, 0xd5, 0x4d, 0x43,
+  0x63, 0x2c, 0x3d, 0x8f, 0x71, 0xc2, 0x2b, 0x92, 0x1f, 0xcd, 0xb6, 0x7a,
+  0x79, 0x3b, 0x54, 0xd6, 0xb2, 0xa2, 0x16, 0x28, 0x9c, 0x71, 0x39, 0xb2,
+  0xbf, 0x03, 0xdb, 0x67, 0x78, 0x19, 0xf7, 0x23, 0x91, 0xfa, 0x65, 0x95,
+  0xce, 0x45, 0x86, 0x2b, 0xf2, 0x61, 0xaa, 0x91, 0x66, 0x40, 0xcf, 0x5e,
+  0xa5, 0xec, 0x74, 0xf8, 0x3e, 0x18, 0x29, 0xc5, 0xf5, 0x67, 0x6b, 0xb7,
+  0xa1, 0xc8, 0x9f, 0xec, 0x78, 0x31, 0xf5, 0x82, 0x45, 0x53, 0x83, 0x55,
+  0x13, 0x5f, 0x0f, 0x8e, 0x24, 0xf6, 0xcb, 0xc2, 0xba, 0x70, 0x3f, 0x1b,
+  0x25, 0xa9, 0x57, 0x0e, 0x1e, 0xba, 0x2e, 0x48, 0x56, 0x69, 0x79, 0xa7,
+  0x94, 0x42, 0xf0, 0x92, 0x20, 0x2b, 0x76, 0x5f, 0xb4, 0x15, 0xf1, 0x6c,
+  0x34, 0x2d, 0x97, 0xe2, 0xa5, 0xdb, 0x87, 0x1c, 0xb3, 0xd2, 0x79, 0x1b,
+  0x82, 0x5d, 0x43, 0x9c, 0x15, 0x61, 0x54, 0x64, 0x0a, 0xb7, 0x2f, 0xe3,
+  0x97, 0xc3, 0x92, 0x3f, 0x5a, 0xb1, 0xe7, 0xf8, 0x68, 0xc9, 0xe8, 0x38,
+  0x0c, 0xb1, 0xd2, 0xd6, 0xf1, 0xab, 0x08, 0x2b, 0x3e, 0xa2, 0x4d, 0x0c,
+  0xc9, 0x94, 0x97, 0x98, 0x6b, 0xe5, 0xc0, 0xa3, 0xf9, 0xa2, 0xf0, 0x70,
+  0x05, 0xe9, 0x22, 0x94, 0x3a, 0x18, 0x52, 0xfa, 0xc2, 0x3b, 0x1c, 0x7a,
+  0x28, 0x70, 0x03, 0x7a, 0x65, 0xba, 0x0d, 0xbc, 0xa3, 0xdc, 0x2e, 0xcb,
+  0x09, 0xf6, 0x57, 0x52, 0x55, 0xc6, 0x60, 0x05, 0xe8, 0xe7, 0x52, 0x12,
+  0x15, 0x28, 0xbd, 0x9e, 0xeb, 0xef, 0x50, 0x18, 0x93, 0x18, 0xb3, 0x4b,
+  0x2a, 0xc9, 0xfa, 0x8e, 0x22, 0xca, 0x82, 0x64, 0xae, 0x41, 0x6b, 0xb5,
+  0x27, 0xd5, 0xc3, 0x24, 0x98, 0xc0, 0x26, 0xa4, 0x9b, 0x96, 0x41, 0xd7,
+  0xdd, 0xdf, 0x11, 0x24, 0x92, 0x2b, 0xcc, 0xce, 0xb2, 0x28, 0x5e, 0xb2,
+  0x88, 0x9d, 0x5e, 0x59, 0x5e, 0x75, 0xb0, 0x42, 0xad, 0xf9, 0x4a, 0xe3,
+  0x5a, 0x5b, 0x2a, 0xe3, 0x99, 0x8d, 0x77, 0xe3, 0x74, 0x6c, 0x30, 0x40,
+  0xd9, 0x1e, 0x28, 0xe8, 0xa3, 0xc3, 0xf2, 0xd2, 0xd4, 0x21, 0x28, 0x84,
+  0x93, 0x2c, 0xc7, 0x94, 0xd0, 0xa7, 0xa2, 0x7b, 0x33, 0xd2, 0xfb, 0xa2,
+  0x84, 0xb5, 0xf6, 0xbf, 0xea, 0x16, 0xd6, 0x11, 0xad, 0xed, 0xbe, 0xbc,
+  0xbd, 0x33, 0x2f, 0x53, 0x42, 0x72, 0x42, 0x84, 0x2d, 0x19, 0x81, 0x09,
+  0x82, 0x5d, 0xd7, 0xe4, 0x55, 0x45, 0xbd, 0xe4, 0xda, 0xed, 0x4d, 0x5f,
+  0xff, 0x39, 0x7c, 0x89, 0xf9, 0x22, 0x70, 0x77, 0xba, 0xd8, 0xfd, 0x2c,
+  0x5b, 0xd9, 0x04, 0x5f, 0xd3, 0x4a, 0xcf, 0x00, 0x21, 0x46, 0x29, 0x7e,
+  0xd6, 0x86, 0xcf, 0x69, 0x2e, 0x5b, 0x27, 0x1d, 0x0f, 0xad, 0x39, 0x4a,
+  0x0c, 0x20, 0x63, 0xdb, 0x6a, 0x6e, 0x43, 0x8a, 0x2c, 0x9a, 0xc0, 0xb5,
+  0x1c, 0xa8, 0x33, 0xd8, 0x56, 0x29, 0xc7, 0x99, 0x19, 0x62, 0xf5, 0x1d,
+  0x58, 0x6f, 0xc3, 0xcd, 0xcd, 0x4d, 0x6f, 0x59, 0xc0, 0xc4, 0xd9, 0x2c,
+  0x3a, 0x05, 0x26, 0x77, 0xeb, 0xd4, 0x01, 0x13, 0xbc, 0x61, 0x07, 0x5d,
+  0xf1, 0x6f, 0x6f, 0x9e, 0x77, 0x8d, 0x0f, 0x5c, 0x8b, 0x31, 0x51, 0xfc,
+  0x6f, 0xe9, 0x2b, 0xd2, 0x51, 0x9a, 0x49, 0xc0, 0x67, 0x02, 0x6a, 0xc9,
+  0xf1, 0xd1, 0xf9, 0xbb, 0xd7, 0x27, 0x17, 0xef, 0xde, 0x1c, 0xfd, 0x80,
+  0x73, 0xe6, 0xbb, 0x07, 0x84, 0x74, 0x0c, 0x61, 0x2f, 0xf2, 0x1c, 0x08,
+  0xec, 0x15, 0xb1, 0x5b, 0x4e, 0x36, 0x0a, 0xde, 0x32, 0x5a, 0x58, 0x90,
+  0xc7, 0x89, 0x83, 0x39, 0x70, 0x38, 0x0d, 0x4e, 0xf0, 0x7d, 0x5a, 0xcc,
+  0xd2, 0x49, 0x2f, 0x2f, 0x2e, 0x91, 0xe1, 0x6c, 0x3f, 0x13, 0x81, 0x25,
+  0xd8, 0xdc, 0xb6, 0xa4, 0xec, 0x62, 0x18, 0xc2, 0x75, 0x31, 0x46, 0xaf,
+  0x79, 0x38, 0x87, 0xd6, 0xd9, 0xbe, 0x5a, 0xce, 0xec, 0xbf, 0x35, 0x5a,
+  0xa6, 0xbe, 0xaf, 0x6b, 0x9e, 0x8f, 0xd1, 0xac, 0xb4, 0x0d, 0x38, 0xe7,
+  0xe0, 0x11, 0x49, 0x1d, 0xf3, 0xeb, 0x47, 0x4b, 0xcc, 0x05, 0x95, 0x67,
+  0xaf, 0x71, 0x33, 0xc7, 0x53, 0xce, 0x37, 0x64, 0x98, 0x2f, 0x86, 0xb9,
+  0x81, 0xfd, 0xf3, 0xdc, 0x4f, 0x4c, 0xd1, 0x08, 0xe0, 0x8c, 0x49, 0xef,
+  0xcb, 0x65, 0x3b, 0x18, 0xce, 0x47, 0x8e, 0x43, 0xc4, 0x26, 0xd7, 0x5e,
+  0x6f, 0x1c, 0xc6, 0x47, 0x30, 0x0d, 0x34, 0xf4, 0x77, 0x6b, 0xe7, 0x5f,
+  0xe2, 0x3b, 0x45, 0x0d, 0xfe, 0x89, 0x6c, 0x8d, 0x1b, 0xb6, 0x66, 0x3e,
+  0x5b, 0xaa, 0xd8, 0x05, 0x37, 0xec, 0x49, 0x70, 0xc3, 0xc8, 0x66, 0xb3,
+  0x6a, 0xbb, 0x1e, 0xad, 0xda, 0xae, 0x27, 0x1f, 0x7f, 0xbb, 0x9e, 0x3c,
+  0x60, 0xbb, 0x9e, 0x3c, 0xc8, 0x1f, 0xb4, 0x6a, 0xc3, 0xee, 0xe1, 0xea,
+  0xc6, 0xed, 0x32, 0x27, 0xc9, 0xbd, 0x65, 0x7e, 0x2d, 0xa1, 0x8d, 0x70,
+  0x15, 0x2a, 0x9b, 0x58, 0x5e, 0x36, 0x50, 0x23, 0xfe, 0xdc, 0x3f, 0x7b,
+  0x2d, 0x15, 0xa3, 0x30, 0x22, 0x88, 0x00, 0x79, 0x6c, 0x5a, 0x42, 0xb8,
+  0x96, 0x39, 0x2b, 0x8d, 0x8a, 0x97, 0xa7, 0x3d, 0x0b, 0x8e, 0x2d, 0xe7,
+  0x08, 0x95, 0x57, 0x79, 0x51, 0x0d, 0x17, 0x0c, 0xd4, 0x37, 0xb7, 0xa9,
+  0x13, 0x94, 0x53, 0xe2, 0x39, 0x5f, 0x8a, 0x54, 0xf5, 0xb0, 0x40, 0xb5,
+  0x50, 0x01, 0x9c, 0xf9, 0x29, 0x29, 0x2e, 0x7f, 0xf1, 0xbf, 0x93, 0x60,
+  0xfa, 0x8e, 0x5b, 0xea, 0xfb, 0x80, 0x6b, 0x08, 0xb3, 0x30, 0xb6, 0x8d,
+  0x83, 0xeb, 0xb4, 0xbf, 0x78, 0x34, 0x1c, 0xa6, 0xf3, 0x2a, 0xf4, 0x8a,
+  0x8f, 0x24, 0x51, 0xa4, 0xac, 0x06, 0xd4, 0x95, 0x0d, 0x23, 0x29, 0xe3,
+  0x3c, 0x59, 0xa0, 0xd3, 0x12, 0x5c, 0xc9, 0x10, 0xb7, 0x33, 0xa2, 0x55,
+  0xf6, 0x6a, 0xeb, 0x3a, 0x9e, 0x5e, 0x2e, 0x05, 0x8a, 0x89, 0x0e, 0x6c,
+  0x0d, 0x0a, 0xc2, 0x2b, 0x70, 0x8a, 0x1b, 0x17, 0xd8, 0xac, 0x2c, 0x5e,
+  0x93, 0xc4, 0x65, 0x32, 0xae, 0x4d, 0xf4, 0x6d, 0x57, 0xd3, 0x48, 0xdd,
+  0xfa, 0x21, 0x49, 0x28, 0xd3, 0x99, 0x94, 0x04, 0x2e, 0xec, 0x62, 0xf3,
+  0x4a, 0x28, 0x0a, 0xad, 0x1b, 0x11, 0x88, 0xa1, 0xc0, 0x14, 0xc3, 0xe7,
+  0xe5, 0x15, 0x10, 0x51, 0xbc, 0xc5, 0x15, 0x98, 0xfd, 0xe0, 0x27, 0xc2,
+  0xe8, 0x36, 0x3c, 0xc0, 0x6f, 0x4f, 0xf3, 0x9c, 0xce, 0x73, 0x0e, 0x38,
+  0xb4, 0x5f, 0x24, 0x6d, 0xe1, 0x80, 0xa3, 0x68, 0x63, 0x9c, 0xe7, 0x83,
+  0xa4, 0xd8, 0x90, 0x4c, 0x48, 0x4a, 0x4d, 0x13, 0x2b, 0xba, 0x9e, 0x5e,
+  0xa2, 0xbb, 0x6f, 0xf9, 0xb9, 0x48, 0x6c, 0x58, 0x6d, 0x18, 0x52, 0x6d,
+  0xa3, 0xea, 0x12, 0xcf, 0xd2, 0xb6, 0xe2, 0xe0, 0xca, 0x87, 0xa2, 0xfc,
+  0xb4, 0x48, 0xf1, 0x8c, 0x8b, 0x14, 0x6b, 0xc9, 0x24, 0x2a, 0xc9, 0xea,
+  0x84, 0xd5, 0x75, 0x43, 0x75, 0x56, 0x47, 0xa3, 0x0c, 0xdb, 0xc2, 0x88,
+  0x6f, 0x1c, 0xcc, 0x3c, 0x4b, 0xb1, 0xea, 0xae, 0xde, 0xd7, 0x20, 0xc3,
+  0xa3, 0xea, 0xc4, 0xc9, 0x87, 0x1a, 0x35, 0xa9, 0xb5, 0x16, 0xbc, 0xa4,
+  0x14, 0xd2, 0x1a, 0x05, 0x27, 0x21, 0x8c, 0x7e, 0x62, 0x0a, 0x4c, 0xbb,
+  0xd8, 0x4b, 0xa9, 0x8d, 0x0e, 0x94, 0x8a, 0x0e, 0xa3, 0xd4, 0x70, 0x45,
+  0x05, 0x98, 0x28, 0x3d, 0xad, 0x04, 0xa8, 0x39, 0x10, 0x6b, 0x48, 0x6b,
+  0xf7, 0xe9, 0xf2, 0x59, 0xb8, 0xfd, 0x8d, 0x7f, 0x46, 0x9d, 0x51, 0x91,
+  0xcd, 0xde, 0x77, 0x0e, 0xa2, 0xce, 0x30, 0x07, 0x3e, 0xdf, 0x89, 0xfe,
+  0xb5, 0xb1, 0x06, 0xfe, 0x55, 0xb3, 0x95, 0x0d, 0xf3, 0xd9, 0x07, 0xb4,
+  0xf7, 0x2d, 0x66, 0x70, 0x27, 0xa8, 0xc7, 0xad, 0xfb, 0x62, 0x1c, 0x7a,
+  0x23, 0x3a, 0x8c, 0xf0, 0xdb, 0x90, 0x74, 0xe8, 0x0a, 0x58, 0x0e, 0x8c,
+  0x9c, 0x80, 0x58, 0xe3, 0x27, 0x45, 0x72, 0x53, 0xbf, 0x50, 0xee, 0x1f,
+  0xa4, 0x13, 0xc5, 0xcf, 0xbb, 0x26, 0x6f, 0x3d, 0x50, 0x14, 0x31, 0xbe,
+  0xe8, 0x36, 0xab, 0x20, 0x36, 0x22, 0x82, 0x9d, 0x48, 0xe7, 0xbd, 0x9a,
+  0xb5, 0xfe, 0x57, 0x7c, 0xf3, 0xd7, 0xc5, 0xec, 0x7d, 0x0c, 0xd2, 0x00,
+  0x5a, 0xf0, 0x62, 0xb1, 0xfd, 0x85, 0x2f, 0x29, 0xeb, 0xc5, 0xa6, 0xd0,
+  0xc9, 0xc9, 0xc8, 0xb0, 0x14, 0x79, 0x4d, 0x19, 0x07, 0x3b, 0xa2, 0x34,
+  0x60, 0xb9, 0x2d, 0xd8, 0xc1, 0xba, 0x9f, 0xd0, 0xf9, 0x9d, 0x95, 0x43,
+  0x8c, 0x77, 0x41, 0xbf, 0x51, 0x47, 0x46, 0xa3, 0xcd, 0x76, 0x64, 0xe9,
+  0xf8, 0x14, 0x26, 0xfe, 0xd5, 0x3b, 0xa4, 0x7b, 0x99, 0x94, 0x0b, 0x73,
+  0xd2, 0x05, 0x70, 0x18, 0xae, 0x3c, 0x72, 0x69, 0x71, 0xd1, 0x63, 0x6d,
+  0x98, 0x56, 0x9f, 0xf8, 0xb5, 0x1f, 0x40, 0x0d, 0xd7, 0x14, 0x36, 0x08,
+  0x07, 0xb8, 0xc8, 0x6f, 0x4a, 0xc2, 0x23, 0x4b, 0x26, 0x37, 0x84, 0x4b,
+  0xa1, 0x83, 0x6c, 0x8c, 0x4f, 0xb2, 0xe6, 0x30, 0x51, 0x36, 0xf1, 0x6c,
+  0x76, 0xc3, 0x49, 0x8e, 0xc7, 0x6e, 0xb4, 0xca, 0xb5, 0x15, 0xda, 0x86,
+  0x15, 0xe2, 0x94, 0x67, 0xc9, 0x5a, 0x69, 0x20, 0x0f, 0x75, 0xb2, 0xae,
+  0x80, 0x15, 0x1c, 0x68, 0x3c, 0xd0, 0xc5, 0x58, 0x3f, 0xe6, 0x78, 0xc0,
+  0xb8, 0x61, 0xf8, 0x36, 0x13, 0xf4, 0xd0, 0x7e, 0x10, 0xff, 0x9a, 0xd4,
+  0x8a, 0xf0, 0xbd, 0x4f, 0xe1, 0x48, 0x4f, 0xa8, 0xde, 0x1f, 0x22, 0x7e,
+  0x1c, 0xb6, 0x40, 0x85, 0xd5, 0xe4, 0xe0, 0x52, 0x41, 0x8f, 0x19, 0x1a,
+  0xc8, 0xb5, 0x8e, 0x92, 0xbe, 0xca, 0x54, 0x3c, 0xa5, 0x10, 0x77, 0x0c,
+  0x2d, 0x1f, 0x78, 0x96, 0x74, 0x97, 0x91, 0x47, 0x66, 0x08, 0xa8, 0xff,
+  0x0d, 0xac, 0xd9, 0x86, 0xe1, 0x5a, 0x23, 0x53, 0x33, 0x9e, 0x40, 0x78,
+  0x60, 0x7b, 0xe1, 0x84, 0x37, 0x1d, 0xf5, 0x8d, 0x16, 0x08, 0xfe, 0x21,
+  0x2b, 0xdd, 0x5a, 0x7f, 0x44, 0xbc, 0xf8, 0x44, 0x6e, 0x0c, 0x0f, 0x98,
+  0x63, 0x74, 0x07, 0x17, 0xe6, 0xd4, 0x3b, 0x4e, 0xf0, 0x70, 0xa1, 0x65,
+  0x44, 0xa9, 0x50, 0xc2, 0xbb, 0xbf, 0x9c, 0x9c, 0x9c, 0xbf, 0x7c, 0x76,
+  0x7a, 0x22, 0x3e, 0x3e, 0xf3, 0xd1, 0xeb, 0x8b, 0xbf, 0x9d, 0x02, 0xe1,
+  0xe7, 0xc3, 0xf7, 0x18, 0xd9, 0x2c, 0x72, 0x5d, 0xf3, 0xb0, 0x4b, 0x92,
+  0x98, 0x68, 0xd7, 0x84, 0x71, 0x3f, 0xa4, 0x34, 0xce, 0xa3, 0x97, 0x3f,
+  0xc2, 0x5f, 0x2f, 0xce, 0xe3, 0xb7, 0x3f, 0x1a, 0x53, 0xff, 0x16, 0x10,
+  0xdc, 0x5f, 0x74, 0x3e, 0x65, 0x80, 0xfe, 0x15, 0xcd, 0x88, 0xe2, 0x78,
+  0x8e, 0xcf, 0x23, 0x06, 0x54, 0x43, 0x54, 0xe8, 0xb4, 0xa2, 0xa2, 0x2c,
+  0x45, 0xfe, 0x3e, 0x9d, 0x29, 0x6a, 0x56, 0x49, 0x7e, 0x61, 0xdc, 0x85,
+  0x25, 0x40, 0x66, 0x5c, 0x9d, 0x2d, 0x35, 0x2e, 0x7f, 0x06, 0x56, 0x23,
+  0x01, 0xcf, 0xdb, 0x1c, 0x75, 0x8a, 0xa5, 0xc3, 0x49, 0x52, 0xf8, 0x01,
+  0x82, 0x8d, 0x84, 0x2a, 0x02, 0x26, 0x86, 0x9d, 0x38, 0xeb, 0xc3, 0x1b,
+  0x84, 0xfe, 0x21, 0x49, 0x8e, 0x5a, 0x07, 0x94, 0x72, 0xe0, 0xa3, 0xaf,
+  0x48, 0x46, 0x8c, 0x76, 0x77, 0x7a, 0xeb, 0x00, 0x9f, 0xd3, 0x09, 0xb4,
+  0x03, 0x6c, 0x83, 0x45, 0x03, 0xa9, 0x66, 0x31, 0x33, 0x5a, 0x00, 0xcb,
+  0x8c, 0xd2, 0xa4, 0x8b, 0x15, 0xf6, 0x64, 0x27, 0x52, 0x1c, 0xb9, 0xb0,
+  0xb1, 0xa2, 0x71, 0x54, 0x5a, 0x2c, 0x16, 0x21, 0x93, 0x45, 0x30, 0x27,
+  0xfd, 0x43, 0x4c, 0x16, 0x8d, 0xa1, 0xec, 0xad, 0x6b, 0xb5, 0xa8, 0xad,
+  0x1b, 0xb1, 0x88, 0x1a, 0xdc, 0x57, 0x9d, 0x41, 0xdc, 0xc5, 0x54, 0x9f,
+  0xfe, 0x10, 0xff, 0xfd, 0x26, 0xe0, 0x40, 0xd9, 0x02, 0xb6, 0x9b, 0x5d,
+  0xa3, 0x01, 0x1c, 0x9e, 0x65, 0x71, 0x1b, 0x1f, 0xed, 0x99, 0xbc, 0x15,
+  0xc1, 0x3e, 0xc2, 0x46, 0x08, 0x84, 0x84, 0x1a, 0xa5, 0xb5, 0xf3, 0x70,
+  0xb7, 0x78, 0x2d, 0xe7, 0xd2, 0x1e, 0x35, 0x08, 0xeb, 0xdc, 0x8b, 0x9e,
+  0x9d, 0xbc, 0xe9, 0x46, 0xe7, 0x27, 0xaf, 0x58, 0xb9, 0x3e, 0x79, 0xfd,
+  0x3d, 0xe5, 0x5a, 0x8b, 0x47, 0x1f, 0x91, 0xec, 0x60, 0x8b, 0x7c, 0x14,
+  0x74, 0x67, 0xd3, 0xe1, 0x5d, 0x52, 0x52, 0xca, 0x72, 0x31, 0x0d, 0xd3,
+  0x88, 0x33, 0xd5, 0xf5, 0xeb, 0xbe, 0x85, 0xf3, 0xa7, 0x7b, 0xeb, 0xee,
+  0xaa, 0xf4, 0x0f, 0xb3, 0x95, 0x45, 0x22, 0x3d, 0x6c, 0xbd, 0xbd, 0xc5,
+  0x84, 0xb7, 0xfa, 0xfe, 0x45, 0x87, 0xf0, 0xcf, 0x37, 0x41, 0xd7, 0x57,
+  0xff, 0x45, 0x60, 0xf7, 0xc4, 0x5e, 0x5a, 0x83, 0x75, 0x91, 0xf5, 0xe0,
+  0x0d, 0x9c, 0xfb, 0x4e, 0x1f, 0xd3, 0x42, 0x26, 0xae, 0x24, 0x41, 0xcd,
+  0x4d, 0x05, 0x3d, 0x82, 0x5c, 0x10, 0xfd, 0x17, 0x5d, 0x3c, 0xb7, 0x68,
+  0x1b, 0x71, 0xb6, 0x26, 0x58, 0x7b, 0x8a, 0xf2, 0x6c, 0x23, 0xb7, 0x66,
+  0x26, 0x71, 0x50, 0x10, 0xbc, 0x47, 0xd9, 0x88, 0xeb, 0x0f, 0x62, 0xb6,
+  0x7e, 0x5e, 0x20, 0xb4, 0x48, 0x14, 0x6d, 0xfc, 0xbf, 0xdb, 0xe8, 0x28,
+  0xd8, 0xce, 0x46, 0xef, 0x8a, 0x32, 0xd9, 0x68, 0x6a, 0x22, 0xce, 0xd7,
+  0x23, 0xfc, 0x3a, 0xda, 0xe8, 0x99, 0x47, 0xe5, 0x77, 0xfc, 0x3c, 0x44,
+  0x16, 0x2a, 0x9e, 0xb1, 0xbb, 0x5e, 0x31, 0x09, 0xcf, 0x80, 0x97, 0xf5,
+  0xfb, 0xa7, 0xe8, 0xd0, 0x2f, 0x92, 0x42, 0x6c, 0x3e, 0x54, 0x58, 0x69,
+  0x76, 0x89, 0xee, 0x9d, 0x68, 0xfe, 0x7e, 0x58, 0xee, 0x36, 0xc3, 0xe8,
+  0x33, 0x27, 0x3d, 0xd9, 0xe0, 0x4b, 0x9e, 0xff, 0xe5, 0xb8, 0xff, 0xbb,
+  0xdd, 0x5d, 0xc2, 0x36, 0xdd, 0x44, 0xcc, 0xc5, 0xa7, 0x8f, 0x77, 0xf7,
+  0xb6, 0x42, 0x86, 0x62, 0xaf, 0x6a, 0x28, 0x97, 0xe5, 0x71, 0xb6, 0x8f,
+  0xa0, 0x04, 0x04, 0x50, 0xd9, 0x34, 0x3c, 0x4a, 0x11, 0x2d, 0x0e, 0xe3,
+  0xb6, 0x34, 0xcb, 0x92, 0x61, 0xf4, 0xbc, 0xf2, 0x61, 0xf4, 0x15, 0xa3,
+  0x3a, 0x75, 0x78, 0xfc, 0x07, 0x1d, 0xc3, 0xa6, 0x0c, 0x26, 0x2c, 0xe2,
+  0xb2, 0x96, 0xf5, 0x71, 0xd3, 0xf1, 0x6b, 0xea, 0xdd, 0xee, 0xbc, 0xb2,
+  0xb2, 0x56, 0xb8, 0x9b, 0x85, 0x3b, 0x20, 0x4e, 0x59, 0xad, 0x00, 0x16,
+  0x83, 0xa7, 0x8f, 0xc9, 0x88, 0x3a, 0x11, 0x53, 0x10, 0x2a, 0xc6, 0x4e,
+  0x9e, 0xb8, 0x59, 0x7f, 0xe7, 0x14, 0xd5, 0x5b, 0x0d, 0xd4, 0x4c, 0x86,
+  0xf7, 0x3b, 0xc0, 0x4a, 0x3a, 0xc1, 0x16, 0xef, 0x4f, 0x0b, 0x5c, 0xa0,
+  0xda, 0x29, 0x49, 0x8d, 0xa4, 0xae, 0xe0, 0xf9, 0x52, 0x44, 0xad, 0x55,
+  0x66, 0xc7, 0xf8, 0x1b, 0x8a, 0x8f, 0x60, 0x4f, 0x2b, 0x1e, 0x4a, 0xeb,
+  0x6d, 0xdd, 0x94, 0x58, 0xd6, 0xb4, 0x1a, 0x52, 0x8d, 0x4c, 0xf4, 0xe1,
+  0x63, 0x0c, 0x18, 0xda, 0xb6, 0x3c, 0x15, 0x67, 0x4e, 0xd0, 0xac, 0x84,
+  0x86, 0x62, 0x09, 0x82, 0x7d, 0x01, 0x5a, 0x3e, 0xab, 0xe1, 0xa0, 0x84,
+  0x07, 0x60, 0x98, 0x7c, 0x8c, 0x82, 0x9b, 0xb7, 0xc7, 0xfc, 0xc0, 0x49,
+  0xca, 0xbd, 0x47, 0x65, 0x6b, 0x65, 0xef, 0x1f, 0x54, 0x3c, 0xd3, 0x91,
+  0x75, 0xd6, 0xbd, 0x1b, 0xc9, 0x3b, 0xe5, 0xba, 0x65, 0x3f, 0x84, 0x93,
+  0x32, 0x25, 0xd1, 0x0d, 0x79, 0xd2, 0x95, 0xc6, 0x6b, 0xdc, 0xb5, 0x18,
+  0x44, 0x87, 0x04, 0x39, 0x16, 0xae, 0x0f, 0x72, 0x42, 0x69, 0xac, 0x20,
+  0xd0, 0x15, 0x20, 0x57, 0xe5, 0x65, 0x03, 0x23, 0x9f, 0x1a, 0x96, 0xa2,
+  0x5b, 0x29, 0x23, 0x97, 0x31, 0x28, 0x53, 0x20, 0x2e, 0x10, 0x8f, 0x9f,
+  0xd0, 0xb9, 0x57, 0x59, 0x78, 0x83, 0xe0, 0xfa, 0x91, 0x95, 0x95, 0xc9,
+  0x38, 0xc5, 0x9f, 0x84, 0x1a, 0x8c, 0xc2, 0x56, 0x96, 0x4c, 0x36, 0xba,
+  0xfe, 0xfe, 0x6e, 0x08, 0x91, 0x6c, 0xc0, 0x2d, 0xcd, 0xad, 0x21, 0x9f,
+  0xa7, 0xba, 0x80, 0x32, 0x0e, 0x76, 0xc7, 0x73, 0x09, 0xa6, 0x8a, 0xeb,
+  0xe3, 0x29, 0x62, 0x55, 0xe9, 0x59, 0x7a, 0x4c, 0x73, 0xf5, 0x7a, 0xd7,
+  0x6d, 0xd2, 0x8d, 0x50, 0x09, 0xac, 0xdd, 0x67, 0xa3, 0x12, 0xec, 0x9c,
+  0x8b, 0x1c, 0xac, 0x57, 0xed, 0x31, 0x45, 0x50, 0x6b, 0xb3, 0x77, 0x0c,
+  0xb2, 0x2f, 0xcd, 0xf9, 0x21, 0x8a, 0xcb, 0x62, 0x14, 0x97, 0x86, 0x28,
+  0x2a, 0xbd, 0xb8, 0xa4, 0xa6, 0x2f, 0x1c, 0x86, 0x60, 0x07, 0x8f, 0xb8,
+  0x40, 0x5c, 0x2d, 0x60, 0x56, 0x72, 0x9f, 0x11, 0x7d, 0x7f, 0xc4, 0xf6,
+  0x13, 0xa9, 0x9a, 0xe4, 0x58, 0xec, 0x68, 0x16, 0x01, 0x23, 0x27, 0xae,
+  0x33, 0x46, 0xe7, 0x4a, 0xa7, 0x31, 0x7b, 0x68, 0x8f, 0x23, 0x0e, 0x5a,
+  0x20, 0x78, 0xee, 0xe8, 0xa6, 0xc8, 0xaa, 0x8a, 0xd0, 0x6d, 0x6a, 0x75,
+  0x80, 0xdb, 0x8a, 0xaf, 0xd3, 0xed, 0x08, 0x2b, 0x04, 0x3b, 0x49, 0x88,
+  0x68, 0x63, 0xae, 0x43, 0x47, 0x02, 0x85, 0x8c, 0x89, 0xb1, 0xba, 0xac,
+  0x5f, 0x18, 0xdf, 0xfb, 0xaf, 0x2f, 0x96, 0x83, 0xa9, 0x0a, 0xec, 0x1f,
+  0x17, 0xf7, 0x92, 0xb8, 0x3b, 0x42, 0x4d, 0x92, 0x10, 0x1c, 0x63, 0xfd,
+  0xd7, 0x02, 0xd8, 0x3e, 0xf1, 0xe0, 0x58, 0xe2, 0x03, 0x3c, 0xde, 0xb3,
+  0xf4, 0xb6, 0x0a, 0xcb, 0x86, 0xba, 0xfa, 0xeb, 0xd1, 0xeb, 0xc7, 0x93,
+  0x0d, 0x0d, 0xce, 0x31, 0x61, 0xcf, 0xf6, 0x86, 0x1f, 0x25, 0x34, 0x2a,
+  0x26, 0x20, 0xe8, 0x98, 0xc4, 0xb4, 0x43, 0x58, 0xa9, 0xd4, 0x2b, 0x9b,
+  0xae, 0x22, 0x3c, 0x6f, 0x30, 0xe8, 0x07, 0xd9, 0x74, 0x31, 0xb5, 0x25,
+  0x41, 0x10, 0x46, 0xb1, 0x22, 0xa1, 0x90, 0xed, 0xe2, 0xae, 0x6b, 0x2c,
+  0x0e, 0xf8, 0xbf, 0x10, 0x35, 0xdc, 0xa9, 0xc1, 0x46, 0xec, 0x8f, 0xec,
+  0x6c, 0x5a, 0xf3, 0x5a, 0xe1, 0x54, 0x59, 0x97, 0xc3, 0xc0, 0x53, 0x06,
+  0x4e, 0x64, 0x5b, 0x54, 0xe2, 0xb9, 0xeb, 0x09, 0xc7, 0x1a, 0x0b, 0x48,
+  0xce, 0x53, 0x51, 0xcd, 0x69, 0x2c, 0xec, 0xdf, 0xc7, 0x58, 0x3c, 0x22,
+  0x2f, 0x33, 0x5c, 0x24, 0x0e, 0x19, 0x1e, 0x7e, 0xe1, 0xf3, 0x58, 0x2c,
+  0x8c, 0x32, 0x80, 0x76, 0x6e, 0xb2, 0x51, 0x75, 0xd5, 0xc3, 0x20, 0x3b,
+  0xb5, 0xa7, 0x95, 0x52, 0xe4, 0x10, 0xad, 0xe0, 0x99, 0x5f, 0x6c, 0x62,
+  0x90, 0x06, 0x0d, 0xd2, 0x6c, 0xb8, 0xa3, 0xa5, 0x8d, 0x38, 0x5f, 0x06,
+  0x21, 0xee, 0x48, 0x40, 0xa3, 0x38, 0xd6, 0x6d, 0x56, 0x39, 0x4d, 0x25,
+  0xdd, 0x04, 0x58, 0xc0, 0x78, 0x9c, 0xdd, 0x46, 0x7e, 0x70, 0x99, 0x56,
+  0x85, 0xe8, 0x99, 0xe3, 0x4e, 0xf2, 0xda, 0xc6, 0xfb, 0x0d, 0x14, 0x38,
+  0x36, 0xfe, 0x22, 0xbc, 0x77, 0x98, 0x2f, 0x66, 0xcc, 0x7d, 0x44, 0x99,
+  0x07, 0xfe, 0xf2, 0x3e, 0x9b, 0xe4, 0xc1, 0x30, 0x5a, 0xb8, 0x29, 0xa6,
+  0xfc, 0xfa, 0xab, 0x0d, 0x0d, 0x6a, 0xc3, 0xe2, 0x8f, 0x97, 0x89, 0x7c,
+  0xcd, 0x25, 0x5a, 0x37, 0x2e, 0xf9, 0xa1, 0xef, 0xf5, 0x21, 0xdf, 0xd3,
+  0x88, 0x91, 0xba, 0x1c, 0x99, 0xcb, 0x13, 0xe7, 0x69, 0xc0, 0xa3, 0x9b,
+  0xef, 0xbb, 0x11, 0xa8, 0x6d, 0xdf, 0x77, 0xa3, 0x0b, 0xd0, 0xc2, 0xb6,
+  0x48, 0x6f, 0xdb, 0xdd, 0xd9, 0x7b, 0x04, 0xcb, 0x4c, 0xd5, 0x38, 0x50,
+  0x31, 0x48, 0x6f, 0xbd, 0xe8, 0x17, 0x72, 0x93, 0xee, 0xbe, 0xc7, 0x45,
+  0xc3, 0xa7, 0x7b, 0xd6, 0x6e, 0x8e, 0xa0, 0xde, 0x7f, 0xe9, 0x46, 0xfb,
+  0x6c, 0xbb, 0xdd, 0xfd, 0x3e, 0xb8, 0xee, 0x44, 0x96, 0x44, 0x1e, 0xc4,
+  0x6b, 0xf3, 0xcb, 0x6c, 0x18, 0x19, 0x73, 0x48, 0x82, 0xc7, 0xf6, 0x52,
+  0xc5, 0x19, 0x43, 0x1c, 0xbc, 0x4b, 0x5e, 0x8e, 0x12, 0xc6, 0xcf, 0x72,
+  0x31, 0x72, 0xda, 0x7b, 0x89, 0x6c, 0xab, 0xc8, 0x95, 0x07, 0x37, 0x31,
+  0xec, 0x3d, 0xa5, 0x1d, 0x25, 0x08, 0x32, 0x99, 0xe5, 0x94, 0xd0, 0x6c,
+  0xac, 0x8c, 0xa5, 0x2f, 0xb4, 0xb7, 0x19, 0x18, 0x08, 0xe3, 0x10, 0x0f,
+  0xab, 0xc2, 0x93, 0xc0, 0xdd, 0x82, 0x03, 0xe2, 0x33, 0x6a, 0x0a, 0x3f,
+  0x70, 0xa5, 0x13, 0x47, 0xb2, 0xa5, 0x48, 0x42, 0x2f, 0x47, 0x24, 0x1d,
+  0xa6, 0x23, 0x45, 0xc4, 0x8b, 0xa6, 0x14, 0x27, 0x37, 0x2c, 0xb2, 0xf9,
+  0x5c, 0xaa, 0x9a, 0xe2, 0xf2, 0xc4, 0x66, 0x79, 0xca, 0x09, 0x3e, 0x80,
+  0x9e, 0x6b, 0x38, 0x1b, 0x88, 0x12, 0x14, 0x30, 0xaf, 0xe9, 0x6a, 0xb9,
+  0x63, 0xb2, 0xcb, 0x1a, 0xf2, 0xc7, 0x08, 0xdb, 0x34, 0x0c, 0xe6, 0xdf,
+  0x00, 0x83, 0x53, 0xb6, 0x73, 0x4f, 0x33, 0x8c, 0x5d, 0xa0, 0x9e, 0x35,
+  0xfc, 0x17, 0xf5, 0x37, 0x77, 0x1e, 0xfa, 0xe6, 0xab, 0xf5, 0xf8, 0xf5,
+  0xdf, 0xbb, 0x8d, 0xed, 0x27, 0x61, 0xe3, 0xce, 0x7e, 0xda, 0xb0, 0xd2,
+  0xd4, 0xeb, 0xae, 0x07, 0xb3, 0x03, 0xce, 0xcf, 0xce, 0xf7, 0xb7, 0x4c,
+  0x49, 0x4f, 0xf2, 0x3c, 0x68, 0xa1, 0xcc, 0x48, 0x51, 0xa4, 0x9d, 0x10,
+  0x3b, 0xd6, 0xe1, 0xa9, 0x6a, 0x89, 0x6f, 0xbb, 0x45, 0x0f, 0x5e, 0x42,
+  0x66, 0x02, 0xea, 0x8f, 0x02, 0x91, 0x2d, 0xdc, 0x7a, 0x4a, 0x77, 0x2e,
+  0x79, 0x10, 0x2c, 0x0f, 0x17, 0x79, 0xa8, 0xf4, 0x22, 0xb8, 0xf0, 0xde,
+  0x60, 0x98, 0x16, 0x2d, 0x18, 0x1c, 0x53, 0x35, 0x14, 0x63, 0x4a, 0xe4,
+  0xc2, 0x21, 0x88, 0x88, 0xdd, 0x18, 0x24, 0xe3, 0x45, 0x04, 0xec, 0x8f,
+  0x92, 0x9e, 0x64, 0x1f, 0xa4, 0x40, 0x69, 0x23, 0x1d, 0xb0, 0x94, 0x6b,
+  0x12, 0x82, 0x31, 0x0c, 0x8c, 0xcd, 0x8f, 0x63, 0x3f, 0x05, 0x6c, 0x9a,
+  0xa0, 0x03, 0x80, 0x57, 0x8b, 0x54, 0x71, 0xba, 0x54, 0x70, 0x71, 0x6a,
+  0x76, 0xc4, 0x61, 0x42, 0x69, 0x88, 0x30, 0xc2, 0xd7, 0xa7, 0xfd, 0x0b,
+  0x27, 0xcd, 0xc0, 0xbf, 0xfb, 0x49, 0x01, 0xd3, 0xc2, 0x7c, 0x1c, 0x27,
+  0xee, 0x40, 0x21, 0x9c, 0xbe, 0xec, 0x5f, 0x78, 0xd4, 0x8d, 0x28, 0xc2,
+  0x07, 0x51, 0x1f, 0xe3, 0x23, 0x9d, 0xd2, 0xa9, 0xb4, 0x7b, 0x8c, 0x21,
+  0x2a, 0xb9, 0x13, 0x64, 0x11, 0xe1, 0x78, 0x47, 0x1b, 0xe6, 0xee, 0x0f,
+  0x02, 0x87, 0xf8, 0x27, 0xf6, 0xae, 0x08, 0x84, 0xa9, 0x06, 0x7d, 0x97,
+  0x8b, 0x41, 0xac, 0xab, 0xa6, 0x38, 0x67, 0xe5, 0xdd, 0x74, 0x90, 0x63,
+  0xec, 0x24, 0xc8, 0x66, 0xef, 0x7d, 0xce, 0xb5, 0x29, 0x74, 0xc5, 0x4b,
+  0x54, 0xa4, 0x68, 0xb8, 0xb9, 0xae, 0x45, 0xf3, 0x0d, 0xa3, 0x94, 0xb0,
+  0x36, 0xc9, 0x95, 0x85, 0x4f, 0xdf, 0x8b, 0xb8, 0x70, 0x21, 0xdc, 0x74,
+  0x0d, 0x58, 0xb9, 0x39, 0x87, 0x0e, 0xd6, 0x41, 0x89, 0x31, 0xad, 0x43,
+  0x81, 0x88, 0x57, 0x64, 0xb2, 0x38, 0xd4, 0x28, 0x25, 0xa0, 0x0b, 0xa1,
+  0x3e, 0x02, 0xd4, 0x4c, 0xd9, 0xaf, 0x65, 0x46, 0x0d, 0x9c, 0xc9, 0x73,
+  0x8c, 0x25, 0x97, 0x69, 0x9c, 0x8d, 0x18, 0x4d, 0xa8, 0x34, 0x7e, 0x70,
+  0xde, 0x45, 0xae, 0x4d, 0x0a, 0xdc, 0x99, 0x72, 0x47, 0x08, 0x96, 0xbb,
+  0x65, 0x27, 0xd9, 0xed, 0x57, 0x43, 0x53, 0xac, 0x95, 0x17, 0xaa, 0x87,
+  0xe7, 0x8a, 0x21, 0x28, 0x54, 0xfb, 0x9a, 0xb2, 0xa1, 0xb9, 0x82, 0xc2,
+  0xdb, 0x97, 0xcf, 0x4e, 0xcd, 0x7a, 0xc9, 0xfa, 0x10, 0xe2, 0xa3, 0x99,
+  0x2a, 0xc2, 0x56, 0xeb, 0xdd, 0x42, 0x3b, 0xe2, 0x21, 0xa5, 0x2d, 0x66,
+  0x19, 0xf4, 0x1f, 0xb1, 0xde, 0x38, 0x46, 0xa8, 0x66, 0xe0, 0x5e, 0x57,
+  0x56, 0xe8, 0x29, 0x09, 0xac, 0x56, 0xd6, 0x40, 0x4e, 0xec, 0x7b, 0xcd,
+  0xae, 0x68, 0x01, 0x1b, 0x5f, 0x1e, 0x26, 0x6b, 0x58, 0xd6, 0x47, 0x0f,
+  0x93, 0x35, 0x2d, 0xaf, 0xab, 0x18, 0xda, 0x21, 0xf9, 0x8a, 0x21, 0x9c,
+  0x8d, 0xf6, 0x12, 0x7d, 0x7f, 0xc5, 0x1d, 0xfc, 0xc7, 0x02, 0x11, 0xc8,
+  0x96, 0x15, 0x8c, 0x22, 0xb8, 0xcf, 0x09, 0x97, 0xdd, 0x3d, 0x04, 0x11,
+  0x6d, 0x9b, 0x0a, 0xb6, 0x78, 0x72, 0x37, 0x9a, 0xa7, 0x1c, 0xd4, 0x93,
+  0x7a, 0x15, 0xed, 0xbc, 0x90, 0x32, 0x2f, 0x9b, 0xcf, 0xdf, 0x9c, 0xbd,
+  0x8a, 0x2f, 0xce, 0xb6, 0x48, 0x35, 0xa7, 0x96, 0x97, 0xa4, 0x72, 0x96,
+  0x2a, 0xfb, 0x3a, 0xd5, 0x6b, 0xc5, 0x51, 0xb3, 0x59, 0xa2, 0xdf, 0xc9,
+  0xc2, 0x95, 0xd3, 0xf0, 0xf4, 0xad, 0xc1, 0x9d, 0x17, 0xb4, 0x42, 0x42,
+  0x3a, 0x8a, 0x72, 0x70, 0x60, 0x86, 0x09, 0xaa, 0x84, 0x1a, 0xd0, 0x5e,
+  0x07, 0xd4, 0x1a, 0x2c, 0xca, 0xbb, 0x48, 0x2a, 0xea, 0x94, 0x48, 0x8e,
+  0x78, 0xc1, 0xfb, 0x2e, 0x28, 0xf6, 0xb5, 0x61, 0x8a, 0xb5, 0x96, 0x22,
+  0xc7, 0x5a, 0x1d, 0x5c, 0x1a, 0xa1, 0xca, 0x81, 0x49, 0x25, 0x45, 0x91,
+  0xdf, 0xa8, 0x20, 0x83, 0xcc, 0x16, 0x88, 0x75, 0x86, 0x91, 0x24, 0x25,
+  0xe8, 0xb5, 0xed, 0xb5, 0x74, 0xa0, 0x33, 0xc4, 0x54, 0xe6, 0x82, 0xe1,
+  0x65, 0x8b, 0x88, 0x62, 0xf7, 0xe3, 0x33, 0x22, 0xf5, 0x39, 0xa3, 0x40,
+  0x39, 0x23, 0xde, 0xdf, 0x59, 0xb7, 0x60, 0x8b, 0x5b, 0x89, 0xac, 0x49,
+  0x6f, 0xb8, 0x18, 0x71, 0x55, 0x2c, 0xb0, 0x1c, 0x50, 0x4b, 0x7a, 0xf2,
+  0x29, 0x65, 0x2e, 0x21, 0x22, 0xad, 0xf3, 0x0e, 0x47, 0x24, 0x73, 0x6a,
+  0x3f, 0xda, 0xe0, 0x6d, 0x91, 0x92, 0x2b, 0x89, 0xa9, 0xfa, 0xa3, 0xc7,
+  0x71, 0xcb, 0x12, 0x24, 0x42, 0xe2, 0xd9, 0x18, 0x7a, 0x60, 0x10, 0x69,
+  0x25, 0xfa, 0x0b, 0xf4, 0x35, 0xe2, 0x44, 0x9a, 0xf6, 0x1b, 0x21, 0x38,
+  0x16, 0x71, 0x6f, 0xfc, 0xd4, 0x53, 0x18, 0xf1, 0x43, 0xbe, 0xa1, 0x2a,
+  0xca, 0x7b, 0x26, 0x82, 0x43, 0x7b, 0x6b, 0x56, 0xdd, 0x45, 0x83, 0x82,
+  0x00, 0xab, 0xb5, 0x28, 0x24, 0x36, 0x6d, 0xb1, 0x78, 0xd9, 0x6f, 0xd1,
+  0xe4, 0x16, 0xfc, 0x14, 0x96, 0x7b, 0x22, 0x9f, 0x14, 0x29, 0x8b, 0x04,
+  0x35, 0x95, 0xb2, 0x1d, 0xa4, 0x68, 0x5a, 0xe8, 0x30, 0x68, 0x3a, 0xda,
+  0xe4, 0xa7, 0xfd, 0xeb, 0x65, 0x92, 0xa0, 0x59, 0xfc, 0xd6, 0xa6, 0x7c,
+  0x24, 0x6c, 0x4d, 0xa0, 0xa8, 0xc1, 0xef, 0x92, 0x12, 0xae, 0x91, 0x7a,
+  0x7b, 0x5b, 0x4b, 0x43, 0x16, 0x9a, 0x5b, 0xf5, 0x71, 0x6b, 0xb3, 0x34,
+  0x5b, 0x7f, 0x08, 0x89, 0xd6, 0x46, 0x17, 0x93, 0xc5, 0xb0, 0x38, 0x30,
+  0x7b, 0xbe, 0x16, 0xbd, 0x2e, 0x14, 0xfa, 0xd6, 0x21, 0xd6, 0x1a, 0x1e,
+  0x72, 0x98, 0x50, 0x5f, 0xd6, 0x4a, 0x80, 0x72, 0x6e, 0xa9, 0x43, 0x60,
+  0xc2, 0x70, 0x11, 0xd4, 0x05, 0xa1, 0x70, 0x39, 0x05, 0x12, 0xb1, 0xfc,
+  0x47, 0xa1, 0x74, 0xf4, 0x51, 0x86, 0xae, 0x7e, 0x94, 0xc8, 0xb4, 0xd3,
+  0x68, 0x53, 0x4b, 0xfd, 0x18, 0x30, 0xfc, 0x53, 0xf9, 0xea, 0xc0, 0x14,
+  0x23, 0xc2, 0x1b, 0xb7, 0xd1, 0xdc, 0xfe, 0x8f, 0x3f, 0x5a, 0x99, 0x0b,
+  0xcd, 0x63, 0x5b, 0x6d, 0x05, 0x35, 0x05, 0x26, 0x7d, 0x94, 0xeb, 0xbd,
+  0x49, 0x03, 0xf6, 0xb4, 0x44, 0x3e, 0x62, 0x20, 0xb7, 0x4a, 0x8e, 0x18,
+  0x7a, 0xb1, 0xd9, 0x17, 0x74, 0x99, 0xd2, 0xa5, 0x2c, 0x1b, 0xab, 0xb2,
+  0x1b, 0x96, 0xd8, 0xb4, 0x15, 0x27, 0x83, 0x80, 0xff, 0xa5, 0x85, 0xdd,
+  0xab, 0x2f, 0x93, 0x8d, 0xc7, 0x03, 0x85, 0xf6, 0x66, 0x26, 0x25, 0x66,
+  0x2c, 0xe5, 0x86, 0x53, 0x06, 0xb2, 0x32, 0x92, 0xca, 0xa1, 0x92, 0x3c,
+  0x44, 0xb7, 0x66, 0x49, 0x81, 0xb7, 0x28, 0x2c, 0x0c, 0x8b, 0x54, 0x2c,
+  0xd0, 0xa5, 0x0a, 0xbc, 0x5c, 0x5f, 0x7a, 0x12, 0xc8, 0xd8, 0x61, 0x17,
+  0x92, 0xc3, 0x16, 0x6c, 0x52, 0x52, 0x63, 0xa7, 0x18, 0xcb, 0x3a, 0x13,
+  0xb6, 0x14, 0xf0, 0xfa, 0x12, 0xe4, 0x3a, 0x95, 0xb4, 0x24, 0xa8, 0x23,
+  0x34, 0x9c, 0x63, 0xd8, 0x6b, 0x64, 0x44, 0xa1, 0x3f, 0x2a, 0xc1, 0xf6,
+  0x5c, 0xd3, 0xae, 0x21, 0x6f, 0xcf, 0x15, 0xc9, 0xd4, 0x8e, 0x11, 0x08,
+  0x08, 0x23, 0x90, 0x53, 0x61, 0xe4, 0x4b, 0xd6, 0x02, 0x6c, 0x7a, 0x0a,
+  0xeb, 0x69, 0x14, 0xf2, 0x38, 0x25, 0x13, 0x0c, 0xb0, 0x01, 0x9c, 0x8d,
+  0x5f, 0x44, 0x7e, 0xc8, 0x12, 0x27, 0x7b, 0x35, 0x31, 0x92, 0xc3, 0xc2,
+  0x9f, 0xb0, 0x0b, 0x9e, 0x16, 0xa1, 0x15, 0x17, 0x9e, 0x25, 0x6d, 0x5e,
+  0x71, 0x6e, 0x83, 0x32, 0xae, 0xcc, 0xca, 0x91, 0x00, 0x38, 0xae, 0xe5,
+  0x85, 0x66, 0xa5, 0x84, 0x3b, 0x77, 0x7d, 0xc3, 0x8d, 0x65, 0x7f, 0x04,
+  0xc5, 0xe8, 0xa0, 0x7a, 0xf3, 0xbb, 0x72, 0x08, 0xb0, 0x12, 0xab, 0xb4,
+  0x5a, 0xcf, 0xa3, 0xf5, 0xd4, 0x39, 0x18, 0xcd, 0xfe, 0xce, 0x6e, 0x17,
+  0xff, 0xdd, 0xeb, 0xb2, 0x62, 0xb5, 0xbf, 0xb3, 0x6f, 0x6a, 0xf3, 0xd5,
+  0x0e, 0x09, 0x3d, 0x4e, 0x26, 0x6a, 0x22, 0xe9, 0xfd, 0xdb, 0xdb, 0x40,
+  0x1d, 0xc8, 0x3a, 0x6c, 0x6f, 0xbc, 0x64, 0xac, 0x76, 0x21, 0x29, 0x62,
+  0x6d, 0xe1, 0xed, 0xa5, 0x42, 0x6c, 0x46, 0x28, 0x5c, 0xe4, 0xa3, 0x20,
+  0xe6, 0x3e, 0x55, 0x57, 0xc0, 0x2a, 0x21, 0x4a, 0x7c, 0x78, 0xff, 0xc8,
+  0x96, 0xbb, 0x45, 0x67, 0x69, 0x13, 0x71, 0x59, 0xa4, 0xaa, 0x36, 0xcc,
+  0xf2, 0xb6, 0x0d, 0xd9, 0xb0, 0xb6, 0xc9, 0x20, 0x5d, 0x08, 0x83, 0x31,
+  0xa0, 0xd5, 0x52, 0x68, 0x19, 0x98, 0xd8, 0x01, 0xa1, 0xfd, 0x03, 0x89,
+  0xe3, 0x1a, 0x7a, 0xc1, 0xa7, 0xfc, 0x85, 0xc2, 0x10, 0xf1, 0x5f, 0xfb,
+  0xe1, 0x48, 0x58, 0x9e, 0xa1, 0x48, 0x2b, 0xc2, 0x2b, 0x74, 0x9d, 0x24,
+  0x0a, 0x56, 0x8c, 0xf2, 0xf2, 0xa4, 0xad, 0xc4, 0x12, 0xc2, 0x96, 0x27,
+  0x53, 0x67, 0x99, 0x4e, 0xa4, 0xfe, 0xe3, 0xa2, 0x4c, 0xef, 0x75, 0x93,
+  0x2d, 0xbd, 0xc1, 0xac, 0x60, 0xbf, 0x96, 0x64, 0xaf, 0x70, 0xf9, 0xeb,
+  0x5d, 0x5f, 0xa7, 0x6b, 0x3a, 0xff, 0x50, 0x9e, 0x9d, 0x68, 0x74, 0x4c,
+  0x9c, 0x4c, 0xaa, 0xb8, 0xbc, 0x1e, 0xd6, 0xe5, 0x2a, 0xf4, 0xa1, 0xeb,
+  0x0e, 0x1e, 0xca, 0x2f, 0x9e, 0x1b, 0x90, 0xaa, 0x29, 0x45, 0xa7, 0xcf,
+  0x8e, 0xc4, 0x06, 0x13, 0x49, 0x5d, 0x28, 0xb5, 0xac, 0x93, 0xd7, 0x00,
+  0x9b, 0x32, 0xc4, 0x20, 0x42, 0xfa, 0x68, 0x11, 0x08, 0xaf, 0x52, 0x5d,
+  0xb3, 0x26, 0x54, 0xb4, 0x92, 0x31, 0x36, 0xe3, 0xb5, 0xad, 0x29, 0x67,
+  0xa6, 0xc4, 0x9a, 0x55, 0x79, 0x5b, 0x02, 0xd8, 0xd8, 0x15, 0x48, 0x65,
+  0x8f, 0x54, 0x11, 0x95, 0xd1, 0x35, 0x07, 0x12, 0x1d, 0x55, 0xc6, 0xc9,
+  0x4c, 0xb7, 0x01, 0xce, 0xbe, 0x49, 0xc6, 0xb4, 0x0a, 0x94, 0x89, 0x8a,
+  0x05, 0xa6, 0xd4, 0xe5, 0x55, 0x1b, 0x27, 0x9b, 0x85, 0xa7, 0x4e, 0xd6,
+  0x9a, 0x93, 0xa5, 0xe6, 0xe1, 0x7d, 0x5e, 0x92, 0x0b, 0x5b, 0x8f, 0x12,
+  0xe3, 0xf7, 0x47, 0xa4, 0xd1, 0x53, 0x0d, 0xcb, 0x68, 0x6f, 0xff, 0xcb,
+  0x47, 0x5d, 0xfe, 0xfd, 0xf1, 0xce, 0x57, 0x7c, 0x7a, 0x5e, 0x9e, 0x5c,
+  0x3c, 0x8f, 0x46, 0x05, 0x9c, 0xdd, 0xa6, 0xaf, 0x0a, 0x3f, 0x8b, 0xd3,
+  0xa4, 0xb8, 0x4a, 0x8a, 0x0a, 0xcb, 0x55, 0xc7, 0xe5, 0xb4, 0x9a, 0xc7,
+  0x3b, 0x3b, 0x2d, 0x59, 0x6c, 0x4d, 0x42, 0xf8, 0x5c, 0x98, 0xcf, 0xf5,
+  0x51, 0x6c, 0x1c, 0xbd, 0xbd, 0x78, 0xf1, 0xf5, 0x1f, 0x36, 0xa2, 0x6c,
+  0x9a, 0xcc, 0xd7, 0x97, 0xc8, 0x6a, 0x18, 0x47, 0x0d, 0xb8, 0x5a, 0x34,
+  0x1d, 0xc4, 0xb8, 0xef, 0xd1, 0xa1, 0x24, 0x3e, 0xf9, 0xe8, 0xde, 0x44,
+  0xe1, 0xd6, 0x79, 0x84, 0xb5, 0xc3, 0x59, 0x81, 0x95, 0x37, 0x6a, 0xf1,
+  0xc7, 0x5e, 0x36, 0x64, 0x28, 0x8d, 0xa0, 0xe1, 0x37, 0x97, 0x0c, 0xcf,
+  0x4d, 0xb6, 0x55, 0x54, 0x77, 0x5b, 0xec, 0x9c, 0xc6, 0x8e, 0x16, 0x83,
+  0x29, 0xfa, 0x25, 0x47, 0x91, 0x5a, 0x2b, 0x42, 0xd4, 0x8c, 0x41, 0x1c,
+  0x29, 0x5f, 0x1d, 0x93, 0xe4, 0x8e, 0x7b, 0x4f, 0x66, 0x7c, 0x0b, 0x49,
+  0xb2, 0x4f, 0xd8, 0x69, 0x6d, 0x67, 0xff, 0x19, 0x33, 0x16, 0xed, 0x20,
+  0x70, 0xb7, 0xbe, 0x75, 0x36, 0x17, 0x44, 0x88, 0x0b, 0x2e, 0x6d, 0x83,
+  0x54, 0x7b, 0x7f, 0xbf, 0x36, 0xb5, 0x58, 0x0c, 0xe7, 0x9a, 0xd7, 0x4b,
+  0x7f, 0xa3, 0xb4, 0xe8, 0xed, 0x3c, 0x89, 0x90, 0x2b, 0x76, 0xde, 0x02,
+  0x56, 0xd7, 0xb7, 0xdd, 0x8a, 0xe9, 0xec, 0x17, 0xe3, 0x72, 0x72, 0x5a,
+  0x2a, 0x27, 0x00, 0xca, 0x84, 0x7c, 0xa4, 0x3e, 0x0a, 0x7f, 0x33, 0x68,
+  0x40, 0x9f, 0x7b, 0x33, 0x68, 0x10, 0xcd, 0xcd, 0xf8, 0x98, 0x7b, 0x81,
+  0xbb, 0xed, 0xed, 0x05, 0x3e, 0x14, 0x93, 0x62, 0x8e, 0x26, 0x8e, 0x32,
+  0xbc, 0x19, 0x3f, 0xb8, 0xc5, 0x45, 0x29, 0x07, 0x07, 0xab, 0xb4, 0xe9,
+  0xb5, 0x0c, 0x22, 0x63, 0x36, 0x47, 0x97, 0x32, 0x2c, 0x93, 0xc5, 0xfd,
+  0x0b, 0x85, 0xe4, 0xb1, 0xb8, 0x0d, 0x1c, 0x18, 0x73, 0xb2, 0x88, 0x75,
+  0x0f, 0xf3, 0x19, 0x1a, 0xa2, 0x45, 0x51, 0x1e, 0xa3, 0x9d, 0x07, 0x79,
+  0x6f, 0xa5, 0x61, 0x29, 0x2c, 0xee, 0x69, 0xfb, 0x1e, 0x88, 0x34, 0x99,
+  0xcc, 0xdf, 0x1c, 0x9f, 0x5f, 0x44, 0x17, 0x67, 0xae, 0xa9, 0x97, 0x2b,
+  0x65, 0x11, 0x6a, 0x7b, 0x51, 0xe4, 0x45, 0x50, 0xbc, 0xd1, 0x71, 0x0e,
+  0x52, 0x2c, 0x5f, 0x9e, 0x9b, 0x0a, 0x33, 0x2c, 0xa7, 0x51, 0x7c, 0xb4,
+  0x49, 0xc5, 0x6b, 0xac, 0x56, 0x00, 0x2f, 0x9a, 0x56, 0x2f, 0x6a, 0x46,
+  0x21, 0xb0, 0xde, 0x46, 0x9a, 0x7f, 0x43, 0x7b, 0xe3, 0x88, 0x2d, 0x1e,
+  0x9e, 0xe7, 0xa6, 0x9d, 0x8d, 0x0c, 0x10, 0x87, 0x49, 0x58, 0xe3, 0x68,
+  0x78, 0x1c, 0x0c, 0x50, 0x5f, 0x36, 0x72, 0x56, 0x25, 0x44, 0xd9, 0xac,
+  0xa0, 0xe9, 0x13, 0x18, 0x0b, 0x79, 0x89, 0x98, 0x48, 0xba, 0x54, 0xc6,
+  0x9e, 0x25, 0x1e, 0x6f, 0x8e, 0xf9, 0x18, 0x4f, 0x92, 0xcb, 0x80, 0x05,
+  0xbc, 0x19, 0x67, 0xa9, 0x02, 0x3f, 0x61, 0xa4, 0xf2, 0x66, 0xe2, 0x00,
+  0xfd, 0xfd, 0x0c, 0x17, 0xc6, 0xa5, 0x9d, 0x21, 0x0b, 0x32, 0xce, 0x9d,
+  0x02, 0xd9, 0x33, 0x04, 0xbc, 0x27, 0xfa, 0x17, 0x25, 0x8f, 0x4e, 0x5a,
+  0x63, 0x5f, 0x97, 0x0a, 0x8b, 0x21, 0x5a, 0xfe, 0xe8, 0x99, 0x1a, 0xa1,
+  0x4e, 0x1e, 0x74, 0xd4, 0x9b, 0x03, 0x75, 0x0f, 0x2c, 0x88, 0xd4, 0x55,
+  0x8d, 0x03, 0xf8, 0x27, 0xff, 0x3e, 0x07, 0xbf, 0x0e, 0x08, 0xf6, 0x55,
+  0xe0, 0xfe, 0xa5, 0xde, 0xd6, 0xe5, 0xc2, 0xec, 0x87, 0x91, 0x97, 0xba,
+  0xec, 0x15, 0x20, 0x23, 0x1e, 0xca, 0x5a, 0xf0, 0x15, 0x87, 0x25, 0x79,
+  0xb6, 0x08, 0x0e, 0x07, 0x7e, 0x93, 0xce, 0x53, 0x62, 0xde, 0x6e, 0x62,
+  0x9d, 0x9b, 0xf9, 0xa6, 0x55, 0xc9, 0xc8, 0x2f, 0xa0, 0x9b, 0x17, 0x20,
+  0xa1, 0x56, 0xca, 0x67, 0xc5, 0x56, 0xbc, 0x3c, 0x5c, 0xba, 0xc0, 0x5c,
+  0x1c, 0xb5, 0x24, 0xd4, 0xcd, 0xbf, 0xbd, 0x79, 0xfe, 0x77, 0xa5, 0xac,
+  0x2d, 0x4d, 0x02, 0x6d, 0xe9, 0xc7, 0x89, 0x96, 0xb3, 0xb1, 0x40, 0x52,
+  0x57, 0xb3, 0xb6, 0x02, 0xfc, 0x97, 0x54, 0x8f, 0xf0, 0xb1, 0xdb, 0x46,
+  0x39, 0x25, 0xb4, 0x6c, 0x62, 0x88, 0x28, 0x3c, 0xd7, 0x17, 0x0b, 0xf3,
+  0x7e, 0xef, 0x31, 0xb9, 0xa1, 0x9e, 0x1f, 0x3f, 0xde, 0xdf, 0xdb, 0xdd,
+  0xea, 0xd5, 0x8a, 0x88, 0xa2, 0xe8, 0xb4, 0x15, 0x9c, 0xa6, 0x3b, 0xcb,
+  0xda, 0xda, 0x63, 0x20, 0x27, 0x1e, 0xbd, 0xcd, 0x93, 0x1f, 0xcf, 0x5f,
+  0x7b, 0x73, 0x84, 0x39, 0x79, 0x41, 0xc0, 0x6d, 0x73, 0xb4, 0x0a, 0x67,
+  0xad, 0x7d, 0xc5, 0xc9, 0xa0, 0xba, 0x8e, 0x81, 0x30, 0xdb, 0xe7, 0x45,
+  0x86, 0x16, 0x9c, 0x0e, 0x2e, 0x49, 0xe7, 0x34, 0x9f, 0x8d, 0xf2, 0x59,
+  0x7c, 0x36, 0x86, 0xb5, 0x4f, 0xb1, 0xfc, 0xe4, 0xca, 0xd9, 0xb9, 0xf4,
+  0xf9, 0xe9, 0x2a, 0x32, 0xd8, 0x3e, 0x6a, 0x77, 0xee, 0x0c, 0xae, 0xf7,
+  0x87, 0x9d, 0xb8, 0x20, 0x53, 0x88, 0x5f, 0x71, 0x52, 0xc4, 0xcc, 0xcf,
+  0x38, 0x7a, 0x45, 0x1f, 0xf6, 0x90, 0xe1, 0x98, 0x1a, 0x58, 0x57, 0x0b,
+  0xa9, 0xbd, 0x15, 0x55, 0xa1, 0x30, 0xb2, 0x9a, 0xe3, 0x8b, 0x1b, 0xfd,
+  0xc8, 0x28, 0x5b, 0xdc, 0xe8, 0xfa, 0x4c, 0x8d, 0xe6, 0x77, 0xaf, 0xd8,
+  0xb1, 0xae, 0x13, 0x89, 0xe6, 0x94, 0x4b, 0xae, 0xb3, 0xa7, 0x5b, 0x4a,
+  0x9a, 0x24, 0x2f, 0xe8, 0x21, 0x85, 0x04, 0x85, 0x42, 0x63, 0xd9, 0x8a,
+  0xf4, 0xea, 0xaf, 0x17, 0x17, 0x75, 0x55, 0x58, 0x43, 0xcc, 0xe8, 0xf5,
+  0x4d, 0x0d, 0x93, 0x22, 0xff, 0x56, 0x22, 0xb9, 0x25, 0xb9, 0x77, 0x32,
+  0x39, 0x9e, 0xac, 0x17, 0x99, 0xb2, 0x30, 0xf4, 0xa0, 0xb5, 0x71, 0x66,
+  0x75, 0x5c, 0x41, 0x46, 0xe2, 0x45, 0x31, 0xb0, 0x1b, 0xc8, 0xf8, 0x37,
+  0xf1, 0x40, 0x74, 0x51, 0x52, 0xae, 0x02, 0xe5, 0xa1, 0x27, 0xb3, 0x51,
+  0xcd, 0x10, 0x45, 0x57, 0x21, 0x2d, 0x7e, 0x7a, 0x4b, 0x48, 0x56, 0xa3,
+  0x34, 0x7a, 0xe2, 0x1b, 0x63, 0x8e, 0x78, 0x2a, 0x62, 0x79, 0x62, 0x37,
+  0xac, 0x4a, 0x9a, 0x12, 0xfc, 0x44, 0xdb, 0xd3, 0x75, 0x82, 0xba, 0x30,
+  0xa6, 0x8b, 0x58, 0xd2, 0xc6, 0x5f, 0x36, 0x82, 0x52, 0x18, 0x07, 0x79,
+  0xb1, 0x01, 0x59, 0x73, 0xb6, 0xd0, 0xf0, 0x86, 0x81, 0x5e, 0x12, 0xb9,
+  0x45, 0x91, 0x5d, 0xdc, 0xc8, 0xab, 0x8d, 0xc8, 0x04, 0x77, 0x35, 0x0d,
+  0x62, 0x2b, 0x43, 0xbd, 0x60, 0x6a, 0x4e, 0x6c, 0x97, 0x8d, 0xc2, 0xe2,
+  0x30, 0xac, 0xa6, 0x15, 0xdc, 0x04, 0x65, 0xd5, 0x8b, 0x29, 0x7f, 0x19,
+  0xe0, 0x14, 0xaf, 0xcf, 0x2e, 0x4e, 0x0e, 0xc4, 0x58, 0x65, 0xab, 0x91,
+  0x0b, 0xf4, 0x98, 0x24, 0x88, 0x12, 0xb2, 0x94, 0x60, 0xc8, 0x63, 0x86,
+  0x9b, 0xec, 0x74, 0x37, 0xc0, 0x9f, 0x09, 0xa0, 0x12, 0x79, 0x1a, 0xc7,
+  0x42, 0x54, 0xad, 0x89, 0x63, 0x84, 0xec, 0x2c, 0xa6, 0x4c, 0x26, 0x28,
+  0xdc, 0x70, 0x5f, 0xa0, 0xc0, 0x7a, 0xa8, 0x68, 0xca, 0x5e, 0xcc, 0x45,
+  0x55, 0xf4, 0x48, 0x88, 0x95, 0x18, 0x32, 0xfc, 0xf6, 0xc4, 0x16, 0xa0,
+  0xd4, 0x1f, 0x87, 0xf0, 0x24, 0x1f, 0x14, 0xeb, 0xfc, 0x40, 0x9d, 0xc4,
+  0x39, 0x84, 0xad, 0x11, 0x4f, 0xed, 0x7c, 0xd1, 0xc6, 0x2e, 0x35, 0x8f,
+  0xb6, 0xd8, 0xa6, 0xd1, 0x73, 0xdd, 0x8a, 0xbc, 0x51, 0x99, 0x53, 0x6c,
+  0x0b, 0x63, 0xab, 0x79, 0x5a, 0xad, 0x50, 0x6c, 0xbc, 0x15, 0x4f, 0x03,
+  0x99, 0x2f, 0xbc, 0xfb, 0x3b, 0xf1, 0xdc, 0x0c, 0x94, 0x87, 0x94, 0x12,
+  0xc0, 0x2f, 0x03, 0xec, 0xa2, 0xd4, 0x69, 0xcd, 0xc0, 0xe8, 0x29, 0x9e,
+  0xa2, 0x35, 0xb9, 0xd5, 0xee, 0xee, 0xea, 0x38, 0xb2, 0xe8, 0x64, 0xb6,
+  0xcf, 0xb8, 0x3a, 0x28, 0xb4, 0xff, 0x78, 0xc7, 0x29, 0xe8, 0xd9, 0x63,
+  0x47, 0xfc, 0x92, 0xf4, 0x0d, 0x04, 0x28, 0xd9, 0x35, 0x65, 0xaf, 0x33,
+  0xaa, 0x16, 0xc6, 0x41, 0xa9, 0xad, 0x2a, 0xab, 0x59, 0xc3, 0xba, 0xce,
+  0xfa, 0xef, 0x55, 0x59, 0xcd, 0x20, 0xf6, 0x5d, 0x63, 0xed, 0x5a, 0x44,
+  0x52, 0xaf, 0x5d, 0x6a, 0xc9, 0xa4, 0x96, 0x49, 0x18, 0x1d, 0x8e, 0x0b,
+  0x86, 0x86, 0x4e, 0x26, 0x51, 0x4b, 0x6e, 0xf1, 0x2b, 0x21, 0x16, 0x7a,
+  0x3e, 0x9b, 0xe9, 0x63, 0x6c, 0x2c, 0xe0, 0xb0, 0x48, 0x74, 0x94, 0x90,
+  0xaf, 0xd7, 0x89, 0x3c, 0xa6, 0xb0, 0x73, 0xaa, 0xc4, 0x10, 0x4a, 0x55,
+  0x16, 0xaa, 0x51, 0xe8, 0x5a, 0x21, 0x1b, 0xa4, 0x12, 0xf2, 0xf2, 0x0e,
+  0x10, 0x29, 0x30, 0xfa, 0x35, 0x1f, 0x88, 0x4f, 0x0c, 0xd5, 0x46, 0xfc,
+  0xd2, 0x0f, 0x59, 0x06, 0xc9, 0x0a, 0x96, 0x69, 0xb4, 0xe0, 0xa8, 0x04,
+  0x1c, 0x88, 0xcd, 0xac, 0x2d, 0x38, 0x28, 0x2a, 0xba, 0xa4, 0xc2, 0xb7,
+  0x94, 0x91, 0x1e, 0x69, 0xa9, 0x21, 0x14, 0x90, 0xf6, 0x7a, 0x3b, 0xdd,
+  0x50, 0xc5, 0x5f, 0xa5, 0x9e, 0x84, 0xf0, 0x58, 0xca, 0x48, 0x6b, 0x22,
+  0xd2, 0x3e, 0x97, 0x16, 0x06, 0x4c, 0x20, 0x55, 0x70, 0x61, 0x72, 0xf1,
+  0xc3, 0x37, 0xef, 0xbe, 0x74, 0x58, 0x90, 0xb9, 0x33, 0xa3, 0xd6, 0x16,
+  0xb0, 0xd8, 0x77, 0x2a, 0xdd, 0x5a, 0x51, 0x50, 0x1b, 0x80, 0x81, 0xd1,
+  0xd3, 0x24, 0x80, 0x61, 0xa7, 0x7e, 0xb8, 0xdb, 0x84, 0x82, 0x47, 0xb3,
+  0x60, 0x75, 0x1d, 0x03, 0xcc, 0xc2, 0xc5, 0xd9, 0x28, 0xda, 0xeb, 0xce,
+  0x0b, 0xa3, 0xdd, 0x44, 0xdb, 0x39, 0x7c, 0xb1, 0x65, 0x13, 0xbd, 0x84,
+  0x1d, 0x78, 0x5e, 0x44, 0xc2, 0x0f, 0x59, 0xa0, 0x83, 0x8e, 0xe1, 0xf5,
+  0x91, 0xd6, 0x69, 0x9b, 0xe9, 0xab, 0x3a, 0xec, 0x5e, 0x29, 0xc1, 0x65,
+  0x23, 0xe3, 0x72, 0x0b, 0x04, 0xf2, 0x4b, 0xd7, 0x96, 0xfc, 0x60, 0xcf,
+  0xac, 0x63, 0x8e, 0xbe, 0x8b, 0xea, 0xa1, 0x93, 0xae, 0x21, 0xd7, 0xbc,
+  0xf5, 0xf1, 0xf2, 0x3f, 0xd7, 0x8c, 0x53, 0x35, 0x23, 0xd8, 0x5d, 0x27,
+  0xd2, 0xd4, 0xbc, 0xb5, 0xd7, 0xfb, 0x6a, 0x5d, 0x14, 0x7f, 0x09, 0x96,
+  0x89, 0x95, 0x44, 0x58, 0xaa, 0xab, 0xaf, 0x62, 0xed, 0x0e, 0x48, 0xab,
+  0x04, 0x89, 0x7e, 0x19, 0x0a, 0x3a, 0x65, 0xd1, 0x31, 0x84, 0x0b, 0xc7,
+  0x80, 0x36, 0xa0, 0xee, 0xb4, 0x8d, 0xc8, 0x04, 0x0d, 0x35, 0xcf, 0xf0,
+  0x2b, 0xf3, 0x84, 0xba, 0x07, 0x0c, 0x1a, 0xa7, 0xa9, 0xd4, 0x95, 0x09,
+  0x74, 0x86, 0x02, 0x3e, 0x3f, 0x05, 0x21, 0x43, 0x60, 0xaa, 0x63, 0xbf,
+  0xd0, 0x3c, 0xc6, 0x8b, 0x20, 0xed, 0xa3, 0x73, 0x21, 0xbc, 0xf9, 0xda,
+  0xe5, 0x67, 0x4a, 0xfe, 0x35, 0xfd, 0x93, 0x4c, 0xb2, 0xd6, 0x26, 0xfe,
+  0x37, 0x72, 0x5c, 0xcc, 0xb6, 0x9d, 0x4c, 0xd2, 0x89, 0xbb, 0x59, 0xa6,
+  0x1c, 0x48, 0xf8, 0xa6, 0x3e, 0x91, 0x1a, 0x8b, 0xaf, 0x4d, 0xd5, 0x90,
+  0xcd, 0xfe, 0xf9, 0xeb, 0x93, 0xef, 0xcf, 0xb6, 0x56, 0x39, 0x98, 0xea,
+  0xb0, 0x68, 0x26, 0xf1, 0x29, 0xd1, 0x7c, 0x58, 0xc9, 0x68, 0x22, 0xe9,
+  0xf8, 0xfb, 0x7e, 0x3f, 0x3e, 0x3a, 0x7f, 0x49, 0x59, 0x91, 0x7d, 0xf8,
+  0x09, 0x3b, 0xda, 0xdc, 0x1f, 0x02, 0xd6, 0x8f, 0xde, 0x96, 0x82, 0x55,
+  0x5c, 0xca, 0xcd, 0x2a, 0x31, 0x99, 0x9c, 0x21, 0x44, 0x5b, 0xad, 0xe5,
+  0x81, 0xa4, 0xcd, 0x6d, 0x6a, 0xd0, 0x63, 0xd9, 0x3c, 0x89, 0x16, 0xfb,
+  0x82, 0x07, 0xf2, 0xd9, 0x25, 0x9e, 0x46, 0x69, 0x77, 0xb4, 0x9c, 0x9a,
+  0xe9, 0x0c, 0xea, 0x06, 0xde, 0xe9, 0xec, 0x11, 0x69, 0x43, 0xe7, 0x45,
+  0xb7, 0x01, 0xe2, 0x4a, 0x24, 0x55, 0x1a, 0xf2, 0x53, 0x90, 0x52, 0x00,
+  0x0d, 0xce, 0xb1, 0xa2, 0x4d, 0x8f, 0x40, 0xc9, 0x58, 0xe5, 0xdf, 0x88,
+  0x9b, 0x29, 0x57, 0x07, 0x1b, 0x7c, 0x69, 0xa5, 0x33, 0xaa, 0x39, 0xe2,
+  0x59, 0x28, 0xc8, 0xae, 0xa8, 0x81, 0x36, 0x6c, 0x6e, 0xbb, 0x5a, 0x35,
+  0x3a, 0x0c, 0xd0, 0x23, 0x69, 0x7a, 0x28, 0x48, 0x6b, 0x6d, 0xd9, 0x78,
+  0xf7, 0x28, 0xed, 0x28, 0x91, 0xc6, 0x92, 0xe8, 0x55, 0x94, 0x9a, 0x13,
+  0x98, 0x95, 0xf7, 0xc9, 0xc6, 0x73, 0xcd, 0x7d, 0xb6, 0x48, 0xcd, 0xc7,
+  0xaf, 0x3b, 0x60, 0xdb, 0x8e, 0x17, 0xd1, 0xc1, 0x9a, 0xbc, 0x70, 0x80,
+  0x01, 0x5b, 0x94, 0x06, 0x56, 0x4d, 0x48, 0x8a, 0x01, 0x59, 0x92, 0xbc,
+  0x2c, 0xe2, 0x6e, 0x27, 0x28, 0x54, 0xd3, 0x43, 0xfd, 0xa0, 0x55, 0xc5,
+  0x90, 0x24, 0x6e, 0x4e, 0xcf, 0x0b, 0x21, 0x9f, 0x7a, 0x25, 0xc5, 0x4a,
+  0xb8, 0x98, 0x40, 0xa7, 0x20, 0x19, 0x72, 0xd6, 0xd5, 0x56, 0xba, 0x88,
+  0x56, 0x84, 0xe1, 0x2a, 0x46, 0xfc, 0x11, 0x82, 0x0c, 0x78, 0xc5, 0x10,
+  0x7b, 0x35, 0xda, 0x4c, 0x06, 0x65, 0x3e, 0x59, 0x54, 0x64, 0xc4, 0x42,
+  0x77, 0x16, 0xc2, 0x9c, 0x6c, 0xd9, 0xac, 0x3c, 0x6a, 0xd5, 0x4d, 0xce,
+  0x0b, 0x26, 0xdc, 0x8b, 0x05, 0x89, 0x92, 0x51, 0xd5, 0x7d, 0xcc, 0xf1,
+  0x3c, 0xc2, 0xb6, 0x71, 0xb3, 0xb9, 0x29, 0x6a, 0x69, 0x4e, 0x71, 0xeb,
+  0xd7, 0x6d, 0xbe, 0xf8, 0x97, 0x1a, 0x35, 0x38, 0xc0, 0xa3, 0x04, 0x42,
+  0xb7, 0xae, 0x11, 0xcf, 0x3f, 0xa1, 0x28, 0x6c, 0x23, 0xa0, 0xb4, 0xc8,
+  0xca, 0xce, 0xaa, 0x7e, 0x3e, 0x59, 0xd9, 0x19, 0x04, 0x4f, 0x7f, 0x2d,
+  0x9a, 0x72, 0xf7, 0xd5, 0xfa, 0x57, 0x99, 0xa0, 0xfe, 0xc2, 0xa8, 0x3c,
+  0xb3, 0x71, 0x76, 0xd9, 0xab, 0x93, 0x87, 0x0f, 0x1b, 0xd0, 0x52, 0xc3,
+  0xca, 0x36, 0xef, 0x53, 0xa3, 0xae, 0xb4, 0x57, 0x08, 0x93, 0xa9, 0x8e,
+  0x91, 0xb0, 0xdc, 0xf1, 0xb1, 0xd4, 0x19, 0x02, 0x3f, 0xee, 0xf1, 0xcc,
+  0x17, 0x01, 0x6f, 0xaa, 0xd9, 0x4f, 0x05, 0xbd, 0x44, 0x93, 0x5e, 0x42,
+  0x59, 0x17, 0xc2, 0xc2, 0xa4, 0x7d, 0x03, 0xb9, 0x92, 0xa7, 0xe5, 0x0a,
+  0xf6, 0x50, 0xa3, 0x93, 0x30, 0x8f, 0x68, 0x44, 0x90, 0xdc, 0x3f, 0x08,
+  0xb2, 0xde, 0xfa, 0xc3, 0x88, 0xc1, 0x8c, 0x6d, 0x2d, 0x54, 0x4c, 0x97,
+  0x94, 0x56, 0x60, 0x61, 0x3a, 0xfb, 0xeb, 0x99, 0x57, 0x9b, 0xbb, 0x6d,
+  0x77, 0xd0, 0x53, 0xab, 0x2c, 0x70, 0x3c, 0xc5, 0x34, 0xd9, 0x8d, 0x8c,
+  0x36, 0xdf, 0xc9, 0x2f, 0xc8, 0x8a, 0x7e, 0xc8, 0x66, 0xa0, 0xba, 0x94,
+  0x5b, 0xca, 0x23, 0x24, 0x8b, 0xe4, 0x5e, 0x28, 0xdd, 0x28, 0x6f, 0x71,
+  0x00, 0x86, 0x77, 0x49, 0xd9, 0x84, 0xa0, 0xea, 0x6e, 0x9e, 0xf9, 0xda,
+  0xbd, 0xde, 0x47, 0xd4, 0x06, 0x5a, 0x04, 0x61, 0x2c, 0x6f, 0x67, 0xd9,
+  0xad, 0x0d, 0x75, 0x34, 0x55, 0x6e, 0xdd, 0x08, 0x30, 0x51, 0x3e, 0x02,
+  0xa3, 0x8b, 0xbc, 0x68, 0x14, 0x5c, 0x7c, 0x9a, 0xe8, 0xe6, 0xe3, 0x2d,
+  0x1a, 0xdb, 0xb8, 0x9a, 0x6f, 0xee, 0x6e, 0x51, 0x8f, 0x82, 0xae, 0x2e,
+  0x91, 0x96, 0x21, 0xcc, 0x48, 0x8e, 0x3b, 0x71, 0x8b, 0x87, 0x53, 0x24,
+  0x18, 0xd6, 0xce, 0x95, 0xea, 0xcd, 0xc4, 0x4d, 0xe9, 0x59, 0x4a, 0x2e,
+  0xe2, 0x4c, 0x79, 0xcc, 0x54, 0x0d, 0xf0, 0x6a, 0x41, 0xab, 0x47, 0xc6,
+  0x89, 0xd0, 0x4a, 0x1c, 0xab, 0xb2, 0x99, 0xb9, 0xb6, 0xfb, 0x99, 0xa0,
+  0x3a, 0xc3, 0xea, 0x4d, 0x46, 0x31, 0xa6, 0x31, 0x45, 0x97, 0x45, 0xee,
+  0x8b, 0x4b, 0x08, 0xe6, 0x80, 0x6b, 0xb0, 0xc5, 0xb8, 0x01, 0xe9, 0xec,
+  0x3a, 0x2b, 0xf2, 0x19, 0xd5, 0x12, 0xbb, 0x4e, 0x8a, 0x8c, 0x48, 0xbf,
+  0xf3, 0xe2, 0xec, 0xd5, 0x49, 0xc7, 0x5c, 0xe6, 0x78, 0xd8, 0xc7, 0x19,
+  0x7b, 0x0b, 0xbd, 0x6a, 0x23, 0xb5, 0x2d, 0x0d, 0x18, 0x30, 0x23, 0x10,
+  0xef, 0x86, 0xef, 0xc5, 0xdb, 0x48, 0x45, 0x79, 0x53, 0x0b, 0x65, 0x9b,
+  0x8f, 0x35, 0x2c, 0x92, 0x83, 0xed, 0x13, 0x25, 0x32, 0x0e, 0x00, 0xcf,
+  0x6f, 0xbe, 0x08, 0x9c, 0x24, 0xf8, 0x0e, 0x77, 0x5c, 0x1c, 0x86, 0x92,
+  0xf7, 0xc5, 0x71, 0xa0, 0xec, 0x67, 0x21, 0xe7, 0x19, 0xed, 0xbf, 0xeb,
+  0x95, 0xd9, 0x98, 0xde, 0x79, 0x86, 0xb5, 0x74, 0x32, 0xde, 0xa8, 0x0b,
+  0x47, 0x1b, 0x25, 0x2a, 0xc5, 0xd5, 0x86, 0x03, 0xf3, 0xed, 0xdc, 0xb5,
+  0x3e, 0xe8, 0x6a, 0x4b, 0xf7, 0xcd, 0xc7, 0x98, 0xcc, 0xa7, 0x77, 0xd8,
+  0x63, 0xf3, 0x3b, 0xd3, 0x37, 0x77, 0xbd, 0xd4, 0xf4, 0x2f, 0x27, 0xef,
+  0xe3, 0x9a, 0xfe, 0x1b, 0x5c, 0x61, 0x0d, 0x6e, 0xb6, 0x2e, 0x72, 0x94,
+  0xe1, 0x61, 0xdd, 0xda, 0x0d, 0xc6, 0x57, 0x5a, 0x28, 0xa6, 0xdb, 0x24,
+  0xd6, 0xaf, 0xac, 0x56, 0x96, 0x58, 0xd0, 0x20, 0x8b, 0x01, 0xa0, 0xb9,
+  0x2a, 0xd6, 0xcc, 0x27, 0x55, 0x1b, 0x9a, 0x7e, 0xf7, 0xb2, 0xcc, 0x87,
+  0x59, 0x2d, 0xac, 0xd2, 0xdc, 0xaa, 0x5a, 0x2b, 0x8c, 0x8c, 0x17, 0xea,
+  0xa7, 0x54, 0x21, 0x02, 0x9b, 0x6b, 0x49, 0x5e, 0x02, 0xd9, 0x82, 0xcc,
+  0x11, 0xea, 0xc7, 0xcf, 0x0a, 0x2c, 0xa8, 0x65, 0xe3, 0xe5, 0xa4, 0x9f,
+  0x2e, 0x63, 0x0b, 0xa8, 0x1d, 0x9f, 0xcc, 0xd0, 0xde, 0xe8, 0x9c, 0x08,
+  0x66, 0x23, 0xd4, 0x93, 0x09, 0x69, 0x08, 0x9a, 0x07, 0x10, 0xbb, 0x89,
+  0x2a, 0x55, 0x9c, 0x82, 0x00, 0xf6, 0x28, 0xae, 0xa2, 0xba, 0x00, 0xd8,
+  0x5a, 0x42, 0xb1, 0x02, 0x9c, 0xf7, 0xa3, 0xa1, 0x5f, 0xb8, 0x11, 0x24,
+  0xb9, 0x09, 0x32, 0x02, 0x08, 0x6e, 0x65, 0x48, 0x4d, 0x55, 0x74, 0x47,
+  0x98, 0x14, 0xdb, 0x9d, 0x60, 0xdc, 0xc5, 0x35, 0x41, 0xe4, 0x5d, 0x73,
+  0x3d, 0x35, 0x62, 0x5b, 0x76, 0x27, 0x5c, 0x1c, 0x26, 0x9f, 0x8b, 0xe8,
+  0xe8, 0x28, 0xf9, 0xac, 0x90, 0x0a, 0x75, 0x51, 0xf4, 0x3d, 0x0f, 0xc2,
+  0x86, 0xe7, 0x69, 0xbc, 0x3a, 0x39, 0x96, 0x1c, 0xcf, 0x92, 0xd7, 0x1c,
+  0x79, 0x96, 0xba, 0xfa, 0x4b, 0x9c, 0x94, 0xc3, 0x2c, 0x13, 0x49, 0x1c,
+  0xfd, 0x74, 0x18, 0xa2, 0x17, 0xc8, 0xee, 0xaa, 0x79, 0x54, 0xee, 0x44,
+  0x90, 0x1d, 0xe5, 0x8c, 0x3c, 0xc0, 0x61, 0xcc, 0x14, 0xbe, 0xcf, 0xa1,
+  0xbc, 0xe4, 0x87, 0x34, 0xd8, 0xbf, 0x40, 0xf9, 0xbe, 0x41, 0x4c, 0x1c,
+  0x94, 0x2d, 0x55, 0x01, 0x6e, 0x6e, 0x6e, 0x76, 0x7b, 0xb5, 0x90, 0x1f,
+  0x5e, 0x86, 0x18, 0xab, 0xc5, 0x95, 0x15, 0x89, 0x53, 0xf0, 0xcc, 0x5e,
+  0x6f, 0xc9, 0xe9, 0x92, 0x57, 0x3e, 0x19, 0xa6, 0x6c, 0x08, 0x7a, 0xf5,
+  0x3e, 0xc3, 0x0c, 0x32, 0x8d, 0x97, 0xcb, 0x9a, 0x6b, 0x7e, 0x05, 0xcc,
+  0x62, 0xfb, 0x9e, 0x66, 0x8b, 0x80, 0x48, 0xec, 0xba, 0x9a, 0x1b, 0x45,
+  0xd1, 0x80, 0xe3, 0x25, 0x93, 0x79, 0x30, 0x43, 0xa4, 0xbf, 0x65, 0xe5,
+  0x3f, 0xa2, 0xe0, 0xa3, 0xd3, 0xf3, 0xd7, 0x84, 0xab, 0x04, 0x23, 0x4c,
+  0x67, 0x25, 0x87, 0xa9, 0xe2, 0x67, 0x98, 0xaa, 0x3c, 0x73, 0xaa, 0xbe,
+  0x7b, 0x2e, 0x20, 0x8a, 0x30, 0x0a, 0x56, 0xed, 0xe2, 0xa0, 0x78, 0x38,
+  0x12, 0x88, 0x01, 0x66, 0x8c, 0x1e, 0xa2, 0x5d, 0xa9, 0x95, 0xa2, 0x79,
+  0x8f, 0x42, 0x9f, 0xbd, 0xc8, 0x74, 0xad, 0x30, 0x8e, 0x89, 0x69, 0x9e,
+  0xde, 0x6e, 0x56, 0x40, 0x36, 0x45, 0x5d, 0xbd, 0xf0, 0xe8, 0x2a, 0x35,
+  0x55, 0x92, 0xc5, 0x46, 0x66, 0xc2, 0x8d, 0x24, 0x4a, 0x58, 0x62, 0x74,
+  0x69, 0x57, 0x14, 0x62, 0x75, 0x85, 0xec, 0xcd, 0xeb, 0xfa, 0x31, 0x2f,
+  0x27, 0x6c, 0x6f, 0xed, 0x8b, 0x49, 0x86, 0xb1, 0x2e, 0xea, 0x3c, 0x5e,
+  0x84, 0xf3, 0x59, 0xb3, 0x80, 0xa0, 0xb6, 0x16, 0x2a, 0x21, 0x18, 0x7b,
+  0xf6, 0xf4, 0xe2, 0x1e, 0xf0, 0x3c, 0x40, 0x4d, 0xcb, 0xc8, 0xf3, 0x75,
+  0x97, 0x7b, 0x1d, 0x2c, 0x90, 0xe3, 0x87, 0x75, 0x13, 0xd6, 0x8d, 0xf8,
+  0x09, 0xc2, 0x8b, 0x1f, 0x3b, 0x55, 0xc8, 0x10, 0xa7, 0x2d, 0x4d, 0xa6,
+  0x20, 0x09, 0xcf, 0x34, 0x99, 0x9d, 0x4a, 0xc9, 0x95, 0x99, 0x97, 0x3b,
+  0xb9, 0x48, 0xe4, 0x0a, 0x72, 0xa3, 0xbb, 0x9a, 0x29, 0xee, 0xdc, 0x0d,
+  0xe6, 0xb0, 0xb8, 0xcd, 0x87, 0x90, 0x7a, 0xe8, 0x75, 0x83, 0xfb, 0x2b,
+  0x1e, 0x53, 0x8e, 0x98, 0x15, 0x8d, 0x5e, 0x9a, 0x30, 0xe8, 0xe2, 0x68,
+  0x86, 0xbd, 0x5a, 0xcc, 0xde, 0xc3, 0x10, 0xfc, 0x54, 0x1c, 0x4d, 0xd1,
+  0xcc, 0xb8, 0x2a, 0x43, 0x42, 0xc5, 0x47, 0x19, 0xdd, 0xd7, 0xb6, 0x90,
+  0x14, 0x05, 0x42, 0x9d, 0x02, 0x45, 0xbd, 0x6d, 0xda, 0xe6, 0x42, 0xa3,
+  0x13, 0x03, 0x30, 0x8f, 0xca, 0x2c, 0xe0, 0x2a, 0xb2, 0xe6, 0x07, 0xef,
+  0x47, 0xd8, 0xf7, 0xce, 0x46, 0xe0, 0x46, 0x1f, 0x40, 0xdd, 0x32, 0x9a,
+  0xb5, 0x44, 0xaf, 0xdf, 0x75, 0xd9, 0x06, 0x75, 0x89, 0x01, 0x51, 0xf1,
+  0xa0, 0x0e, 0xe3, 0x0b, 0x6d, 0x0e, 0xe1, 0xa6, 0x1d, 0x78, 0xe4, 0xe6,
+  0x40, 0x17, 0x90, 0x62, 0x07, 0xcc, 0xf5, 0xd7, 0xc5, 0x4c, 0x8b, 0xb5,
+  0x0a, 0xbf, 0x88, 0x73, 0x6c, 0x9b, 0x77, 0x16, 0x7e, 0xfb, 0x33, 0x67,
+  0x2e, 0x4f, 0xf3, 0xca, 0xe3, 0x89, 0x9c, 0x48, 0x16, 0x73, 0x0c, 0x51,
+  0x7c, 0xe6, 0x3c, 0x28, 0x61, 0x45, 0x18, 0x70, 0x50, 0xfb, 0x0c, 0x23,
+  0x6b, 0xcc, 0xf5, 0xdf, 0x0d, 0x29, 0x03, 0xc9, 0x75, 0x9e, 0x8d, 0x4a,
+  0x92, 0x3a, 0x10, 0x52, 0x8a, 0xdc, 0x70, 0xe2, 0xc3, 0x4f, 0x2a, 0x83,
+  0x5d, 0x47, 0x39, 0xf7, 0x78, 0x22, 0x24, 0xb5, 0x3d, 0x81, 0x5b, 0xbd,
+  0x0a, 0xc4, 0x5e, 0x26, 0xea, 0x74, 0xbe, 0x44, 0x94, 0x62, 0x05, 0xcd,
+  0x51, 0x71, 0x86, 0x83, 0xbd, 0x5c, 0xe7, 0x3f, 0x65, 0x2b, 0x8b, 0x06,
+  0xd6, 0x1c, 0x1d, 0xf4, 0x5c, 0x91, 0xe3, 0x19, 0xf4, 0x1a, 0xae, 0x19,
+  0xc9, 0xa6, 0xbd, 0xde, 0xee, 0xce, 0x8e, 0xa4, 0xfd, 0x48, 0x66, 0x68,
+  0xe5, 0x28, 0x88, 0xf4, 0x16, 0x66, 0x35, 0x05, 0x94, 0xca, 0x20, 0x22,
+  0x80, 0x32, 0x24, 0xd1, 0x96, 0x29, 0xef, 0xef, 0x92, 0x24, 0x59, 0x31,
+  0x10, 0xd0, 0xa8, 0xb5, 0x44, 0x20, 0x23, 0x00, 0xa1, 0x8d, 0x2e, 0xe0,
+  0x04, 0xa3, 0xca, 0x01, 0xe2, 0x0a, 0x13, 0x82, 0xc0, 0x81, 0xa7, 0x33,
+  0x02, 0x56, 0xe0, 0x1c, 0x55, 0xfe, 0x18, 0x96, 0xb9, 0x6b, 0x62, 0x21,
+  0xee, 0xb1, 0xdd, 0x94, 0x60, 0xf8, 0x67, 0xb2, 0x5b, 0xb6, 0x9a, 0xed,
+  0x1a, 0x67, 0x4e, 0x07, 0xf0, 0x51, 0x73, 0xfb, 0xa5, 0xd1, 0x07, 0x1c,
+  0x3a, 0x1d, 0x8e, 0x52, 0x3a, 0xcb, 0xcd, 0x94, 0xd4, 0xdf, 0xea, 0x73,
+  0x69, 0x3b, 0x8c, 0xce, 0x81, 0xe1, 0xeb, 0xa6, 0x79, 0x14, 0x6a, 0xf7,
+  0xc3, 0x97, 0xfb, 0x9e, 0xf8, 0x62, 0xe0, 0x77, 0xdb, 0xae, 0x07, 0x03,
+  0x98, 0x42, 0x99, 0x0d, 0x16, 0xad, 0x57, 0x92, 0x1a, 0x0c, 0xfa, 0x04,
+  0x42, 0x40, 0xdb, 0x8c, 0xf7, 0x5e, 0xe8, 0x80, 0xd9, 0x04, 0xae, 0x74,
+  0x66, 0xee, 0x9e, 0xe9, 0xb2, 0x32, 0xef, 0xf7, 0xa7, 0xca, 0x3a, 0x59,
+  0x2e, 0xa3, 0x4a, 0x26, 0x4a, 0x3b, 0x11, 0x87, 0x2c, 0xcd, 0x87, 0xcb,
+  0x83, 0xe6, 0x6a, 0xa8, 0xc5, 0x4e, 0x8c, 0xa9, 0x53, 0xed, 0xf4, 0x81,
+  0xd9, 0xd1, 0xed, 0x03, 0x58, 0x4d, 0x56, 0x76, 0x48, 0xeb, 0xa2, 0x4b,
+  0xba, 0x18, 0xce, 0x0d, 0xf2, 0x98, 0xb5, 0x0a, 0xb7, 0x2f, 0xc5, 0xed,
+  0x09, 0x54, 0xf5, 0x44, 0x8a, 0x98, 0x4f, 0x60, 0x57, 0x0a, 0xb1, 0x91,
+  0xcd, 0x50, 0x73, 0x88, 0x28, 0xb4, 0xfe, 0x35, 0xc8, 0x9b, 0x5f, 0xb4,
+  0x2c, 0x00, 0x6e, 0xe7, 0x6b, 0x5f, 0x2e, 0xc6, 0x8f, 0xc4, 0x0b, 0xc5,
+  0x82, 0x31, 0x05, 0xd2, 0x6b, 0xb0, 0x3d, 0x70, 0x0a, 0x0f, 0x80, 0x6d,
+  0x20, 0x62, 0x87, 0x27, 0x1a, 0x3b, 0xe8, 0xb8, 0x0d, 0xc9, 0x16, 0xc7,
+  0x45, 0x3d, 0x05, 0x5d, 0x47, 0xeb, 0xc8, 0xc4, 0x8e, 0x0c, 0xdc, 0xe6,
+  0x56, 0xfc, 0x60, 0xa1, 0xd8, 0x8a, 0x95, 0x1f, 0xd3, 0x62, 0xf3, 0x20,
+  0x99, 0x78, 0x36, 0x9f, 0xad, 0x8f, 0xf3, 0x4d, 0xa2, 0xaf, 0x2f, 0x11,
+  0xcf, 0x3c, 0x81, 0x58, 0x11, 0x2b, 0x3f, 0x89, 0x48, 0x8c, 0x5d, 0x1a,
+  0xd9, 0x65, 0x9a, 0xfa, 0x85, 0xfc, 0xce, 0x4c, 0x3c, 0x15, 0xe3, 0x02,
+  0x21, 0x08, 0xbf, 0xa0, 0xd9, 0xf2, 0x5b, 0x11, 0xbd, 0xa5, 0xe2, 0xa7,
+  0x54, 0x38, 0x45, 0xbb, 0x39, 0x49, 0xcf, 0x45, 0x6b, 0xce, 0x6a, 0xc2,
+  0xc8, 0xff, 0x04, 0x6d, 0x9c, 0x14, 0x33, 0x81, 0xbb, 0x22, 0x69, 0xc8,
+  0x24, 0x16, 0xa2, 0x81, 0xc2, 0xf0, 0x55, 0x82, 0x78, 0xf2, 0x54, 0xf4,
+  0x32, 0x23, 0xd4, 0xca, 0xa0, 0xf7, 0x82, 0xb8, 0xa5, 0x59, 0x44, 0x89,
+  0x3e, 0xba, 0xcf, 0x35, 0x1e, 0x0e, 0x64, 0x71, 0xb8, 0x65, 0x7d, 0xc9,
+  0x98, 0x65, 0x9a, 0xf3, 0xdb, 0x58, 0x19, 0x22, 0xb0, 0x55, 0x57, 0x72,
+  0xa3, 0xc1, 0x00, 0x49, 0xd7, 0xbd, 0x2b, 0x6b, 0xe6, 0x59, 0xd4, 0x9b,
+  0x7f, 0x00, 0x89, 0x37, 0xc6, 0x17, 0xe7, 0x5c, 0x39, 0xf4, 0xe1, 0x68,
+  0x97, 0x4c, 0xfa, 0x65, 0xd7, 0x6c, 0x61, 0x3d, 0xb7, 0xe2, 0xa9, 0x47,
+  0xa5, 0xc2, 0x12, 0xb2, 0x51, 0x10, 0xe9, 0xde, 0x9a, 0x16, 0x70, 0xcc,
+  0x1b, 0xa5, 0xc2, 0x87, 0x22, 0xb7, 0xd3, 0x12, 0x1e, 0x2f, 0x9f, 0xc1,
+  0xa6, 0xa2, 0x49, 0xf9, 0xb2, 0xe7, 0x54, 0x14, 0xf6, 0x2b, 0xcb, 0x9b,
+  0xe0, 0x26, 0xaa, 0xf2, 0xc0, 0xc5, 0x9e, 0x6c, 0xd0, 0x3e, 0x36, 0x01,
+  0x52, 0x84, 0xbd, 0x89, 0x39, 0x3e, 0x17, 0x45, 0xcc, 0xab, 0x40, 0x5e,
+  0xb0, 0xe4, 0xd0, 0x11, 0xf7, 0x27, 0xe4, 0xd6, 0xe8, 0x6a, 0x81, 0x89,
+  0x5a, 0xc8, 0x4d, 0xab, 0x2a, 0x9d, 0xce, 0x2b, 0x8e, 0x90, 0x84, 0x43,
+  0x8f, 0x43, 0xae, 0x8f, 0xb7, 0x0c, 0x54, 0x6e, 0xa2, 0x02, 0x1d, 0xe9,
+  0x54, 0xb0, 0xb7, 0xa4, 0xa8, 0x04, 0xbe, 0x46, 0xf6, 0x7f, 0x2a, 0xfd,
+  0x28, 0x09, 0xaf, 0x2c, 0x87, 0x80, 0xfc, 0x2b, 0x85, 0x74, 0xa7, 0xc9,
+  0x9d, 0xe7, 0xb0, 0x20, 0x46, 0xa3, 0x58, 0xf2, 0x56, 0x83, 0xcb, 0xe8,
+  0x75, 0x02, 0x71, 0x27, 0xbb, 0xa7, 0x3c, 0x50, 0x2e, 0x86, 0x98, 0x3f,
+  0xf5, 0x6f, 0x3c, 0x68, 0x66, 0xd7, 0x5d, 0xb1, 0x24, 0xb0, 0xa1, 0x2b,
+  0x8e, 0x97, 0x6d, 0x66, 0x79, 0x29, 0xf6, 0x75, 0x1d, 0x97, 0xa6, 0xdd,
+  0x07, 0x1c, 0x29, 0x3b, 0xa6, 0xb5, 0x0e, 0x51, 0xad, 0x6c, 0x76, 0xfd,
+  0x8c, 0x50, 0x20, 0x44, 0x74, 0xc8, 0xc7, 0xf5, 0xf6, 0x8e, 0x20, 0xb3,
+  0x9a, 0xd1, 0x0e, 0xc7, 0x68, 0xae, 0x8c, 0xd5, 0x9e, 0x3f, 0x8a, 0x24,
+  0xf9, 0x84, 0xbc, 0x45, 0x6a, 0xe5, 0x66, 0xdd, 0xc9, 0xc1, 0x64, 0x45,
+  0xc4, 0x2b, 0x68, 0xb0, 0xeb, 0x0b, 0x1a, 0x78, 0x36, 0x6a, 0xaa, 0x07,
+  0x79, 0xbe, 0xc8, 0xcc, 0x8d, 0x84, 0x47, 0x45, 0x84, 0xa4, 0xf2, 0xb0,
+  0x5a, 0x73, 0xff, 0x80, 0x15, 0xaf, 0x13, 0x8c, 0x3e, 0x05, 0xe1, 0xa8,
+  0x69, 0x48, 0xa0, 0x9e, 0x4d, 0xbd, 0x68, 0x3a, 0x8d, 0x3c, 0xb0, 0x2e,
+  0xdf, 0x0e, 0xa6, 0x5e, 0x0c, 0x74, 0x30, 0x72, 0x2d, 0x36, 0x34, 0x40,
+  0x2f, 0xb4, 0x0b, 0x9d, 0x04, 0x44, 0x74, 0x5a, 0xfd, 0x80, 0x66, 0x4b,
+  0xa0, 0x46, 0xd8, 0x03, 0x25, 0x1c, 0x89, 0x73, 0x2f, 0xd1, 0x4c, 0x22,
+  0x19, 0xc3, 0x30, 0x80, 0x38, 0x42, 0x15, 0xae, 0xf9, 0x3e, 0xc6, 0x41,
+  0x39, 0xaa, 0xb5, 0x56, 0xb6, 0xe6, 0xce, 0x2a, 0xf4, 0x45, 0x35, 0xb2,
+  0x08, 0x42, 0x81, 0xd4, 0x13, 0x76, 0xa7, 0x11, 0x8b, 0xa0, 0x11, 0xb1,
+  0xea, 0x83, 0x9f, 0x76, 0xed, 0xaf, 0x07, 0x5f, 0xee, 0x48, 0xb1, 0x51,
+  0xac, 0xf7, 0x6a, 0x9f, 0x68, 0x86, 0xb7, 0xc1, 0xb5, 0x8b, 0x7b, 0x86,
+  0x0f, 0xc1, 0x4f, 0xf3, 0x9c, 0x47, 0x9a, 0x26, 0x0e, 0xf6, 0x31, 0xa8,
+  0x3f, 0xdd, 0x46, 0x00, 0x4c, 0x1d, 0x82, 0x22, 0xe4, 0xc2, 0x0c, 0xa2,
+  0x10, 0x8c, 0x1c, 0xf9, 0x95, 0xc9, 0x70, 0x73, 0x63, 0x96, 0xbf, 0xa3,
+  0x5f, 0xd9, 0x0d, 0xb8, 0xf1, 0xfa, 0xec, 0xdd, 0xf9, 0x9b, 0xb3, 0x1f,
+  0xff, 0xbe, 0xb1, 0x65, 0x13, 0x42, 0x8a, 0x74, 0xc3, 0xcf, 0xd3, 0x8c,
+  0x6a, 0xdd, 0x5a, 0xd7, 0x29, 0xf7, 0xc1, 0x71, 0x5a, 0x42, 0x8f, 0xea,
+  0x48, 0x60, 0xdc, 0x57, 0x0c, 0xaa, 0xf2, 0x64, 0x4d, 0x1a, 0x0c, 0x6d,
+  0x3b, 0x10, 0x73, 0xa7, 0x83, 0xff, 0xea, 0x1c, 0x61, 0xa3, 0xc2, 0x31,
+  0x87, 0x7a, 0x94, 0x3e, 0x17, 0xa8, 0xb4, 0xf6, 0xdf, 0x71, 0x2a, 0x18,
+  0x77, 0xd6, 0x63, 0x13, 0xb7, 0x5d, 0x8d, 0x8c, 0xaa, 0xf1, 0x88, 0x6a,
+  0x32, 0x8d, 0x6f, 0x06, 0x2b, 0xc2, 0x0e, 0x2f, 0x4e, 0x5f, 0x01, 0x9f,
+  0x44, 0xf3, 0x89, 0x00, 0x29, 0x56, 0x77, 0x93, 0x54, 0xde, 0x26, 0x49,
+  0x8b, 0x63, 0x52, 0xae, 0xc8, 0xa3, 0x75, 0xed, 0x89, 0x8c, 0x81, 0x78,
+  0x3b, 0x83, 0xab, 0x29, 0x6e, 0x44, 0x53, 0x46, 0x19, 0x5a, 0xe4, 0xa4,
+  0x7d, 0xa7, 0xf4, 0x65, 0x0b, 0x2e, 0x40, 0x7a, 0x0b, 0x2c, 0x8f, 0xe0,
+  0x9f, 0xae, 0x52, 0x2e, 0x68, 0xb5, 0xca, 0xd2, 0xc1, 0x93, 0xfd, 0x14,
+  0xd1, 0x6c, 0xd2, 0xf2, 0x87, 0x01, 0x6d, 0xf1, 0x7a, 0xd6, 0x62, 0xd8,
+  0xe0, 0x83, 0xe6, 0x76, 0x19, 0x20, 0x38, 0xdd, 0x1e, 0xde, 0x1f, 0x2f,
+  0xa6, 0x82, 0x13, 0x76, 0xe8, 0xbb, 0xfa, 0x57, 0x5e, 0x66, 0x11, 0xa1,
+  0xca, 0xa0, 0xb2, 0x00, 0xa7, 0x3c, 0xbb, 0x9c, 0xb1, 0x6a, 0xf7, 0x2a,
+  0x1b, 0x16, 0x79, 0x99, 0x8f, 0x4d, 0x15, 0x28, 0xd5, 0xf9, 0x5e, 0xbe,
+  0xec, 0x47, 0x37, 0xe9, 0x40, 0xd1, 0x4d, 0x7b, 0x7e, 0x40, 0x19, 0xc3,
+  0x18, 0x61, 0x34, 0x65, 0x91, 0xa5, 0x15, 0xee, 0xab, 0x42, 0x98, 0x74,
+  0x23, 0x0c, 0xef, 0x2f, 0xca, 0x54, 0x0a, 0x8a, 0x90, 0xad, 0x1b, 0xda,
+  0x1c, 0x4e, 0x48, 0x1e, 0x9a, 0xa7, 0xfe, 0x71, 0x9d, 0xb0, 0x64, 0x68,
+  0x84, 0x19, 0x27, 0xa0, 0x98, 0x80, 0xa9, 0xc5, 0xbc, 0x92, 0x15, 0xb8,
+  0x75, 0xa8, 0x7c, 0x4a, 0x38, 0xcb, 0x7b, 0x0c, 0xa2, 0xc8, 0xc7, 0xde,
+  0xf1, 0x93, 0x34, 0x74, 0x23, 0x88, 0x21, 0x87, 0x1c, 0x20, 0x63, 0x1b,
+  0xe5, 0x05, 0x25, 0xaf, 0x20, 0x0b, 0x91, 0x2f, 0xd3, 0xd9, 0x30, 0x5f,
+  0x14, 0x08, 0x4f, 0x86, 0xc3, 0xbb, 0x83, 0xbb, 0xcd, 0xbb, 0x9e, 0x72,
+  0x51, 0xe1, 0x71, 0x99, 0xad, 0x4e, 0x44, 0x48, 0x58, 0x52, 0xca, 0x9e,
+  0x18, 0xb5, 0x95, 0x71, 0xa2, 0x55, 0x70, 0x5d, 0xb2, 0x1f, 0x16, 0x1a,
+  0x14, 0x0f, 0x1e, 0x6c, 0xce, 0xb3, 0xec, 0x32, 0x04, 0xd3, 0x69, 0x62,
+  0xfd, 0x09, 0xd7, 0xdd, 0x2a, 0x1e, 0x34, 0x22, 0x11, 0xd5, 0x0a, 0xe1,
+  0x7a, 0x75, 0x3a, 0xe0, 0x02, 0x2f, 0xc1, 0xe0, 0xfc, 0x10, 0xf5, 0x7d,
+  0xae, 0x20, 0x54, 0x24, 0xf9, 0x4f, 0x73, 0x62, 0x1f, 0x7c, 0x5c, 0x8d,
+  0x1f, 0xcb, 0x59, 0x27, 0x73, 0x3c, 0xad, 0xb6, 0xee, 0xa8, 0xeb, 0x54,
+  0x5f, 0x82, 0xb4, 0xf3, 0x16, 0xc3, 0x4c, 0xbb, 0xae, 0xfe, 0xb0, 0x62,
+  0xcc, 0x1c, 0x23, 0x2b, 0xcc, 0xc4, 0x1a, 0x61, 0xa4, 0x30, 0x27, 0x91,
+  0x92, 0x22, 0x26, 0x71, 0xec, 0xac, 0xcb, 0x66, 0x72, 0xfc, 0x60, 0x2f,
+  0x1e, 0xa4, 0xa0, 0xee, 0x14, 0xd1, 0x61, 0x85, 0x2a, 0xc5, 0x3d, 0xf1,
+  0x92, 0x22, 0xc9, 0x2d, 0x73, 0x32, 0x45, 0xbf, 0xe3, 0x66, 0x2e, 0x48,
+  0x31, 0x41, 0x8a, 0x3c, 0x43, 0xcc, 0x9b, 0x46, 0x73, 0x7b, 0xbd, 0x9d,
+  0x16, 0xcc, 0x24, 0xe2, 0x63, 0xb5, 0x36, 0x94, 0xe6, 0x1c, 0x37, 0x49,
+  0x18, 0xf8, 0x8e, 0x4b, 0x24, 0x19, 0x40, 0x6b, 0x96, 0xfc, 0x58, 0x9c,
+  0x13, 0x27, 0x7e, 0x2d, 0xd3, 0x1c, 0x41, 0x88, 0xc5, 0xe7, 0xe0, 0x99,
+  0x15, 0xc8, 0x3c, 0x5b, 0xd8, 0x30, 0xee, 0x2a, 0x68, 0x8d, 0xf2, 0x86,
+  0x2a, 0x75, 0x63, 0x34, 0x34, 0xbc, 0xd0, 0x60, 0x35, 0x66, 0x04, 0xc3,
+  0x21, 0x55, 0xfc, 0xb8, 0xe4, 0x18, 0xcf, 0x37, 0xcf, 0x8f, 0x1b, 0xcd,
+  0x3d, 0x79, 0xfa, 0x78, 0x27, 0x2c, 0x90, 0xd4, 0x77, 0xe8, 0x73, 0x41,
+  0x19, 0xd5, 0x47, 0xd1, 0x99, 0x3e, 0x7f, 0xf7, 0x55, 0xef, 0xbb, 0xc7,
+  0xe3, 0xf8, 0x51, 0x6f, 0xf7, 0xcf, 0xff, 0x78, 0xd5, 0xf9, 0x90, 0xa8,
+  0xee, 0x1a, 0xa5, 0xd6, 0x0d, 0x56, 0x0d, 0x1b, 0x3d, 0x1b, 0x9a, 0x10,
+  0x0e, 0x3b, 0x3a, 0x84, 0x7f, 0xbe, 0x59, 0x92, 0xf0, 0xa2, 0xbb, 0xcd,
+  0xb2, 0xac, 0x0d, 0x8e, 0x44, 0x42, 0x12, 0x29, 0x5f, 0x00, 0xba, 0xf5,
+  0x76, 0xf0, 0xcb, 0x51, 0xa1, 0x95, 0x63, 0xd4, 0x65, 0x99, 0xa3, 0xe6,
+  0x48, 0x60, 0xf2, 0x50, 0x57, 0x43, 0xd1, 0xb2, 0xa2, 0x74, 0x29, 0x73,
+  0x3e, 0xaa, 0x9a, 0xc8, 0x9c, 0x71, 0x94, 0x36, 0xd0, 0x12, 0x35, 0x9d,
+  0xb7, 0x6f, 0x4e, 0x25, 0x4c, 0x88, 0x9f, 0x0c, 0x67, 0x0f, 0x18, 0x0f,
+  0x43, 0xbd, 0x60, 0xcc, 0x62, 0x0e, 0x5c, 0xa7, 0xca, 0x26, 0xe2, 0x42,
+  0x43, 0x1e, 0xbc, 0xbc, 0x76, 0x4a, 0x23, 0x15, 0x0d, 0x93, 0x68, 0xdd,
+  0xc1, 0x19, 0x58, 0x76, 0x72, 0xf0, 0x75, 0x1b, 0x41, 0x47, 0x21, 0xaa,
+  0xc2, 0xe8, 0x1f, 0xad, 0x97, 0x11, 0xc7, 0xec, 0x6e, 0x8b, 0x29, 0x99,
+  0x11, 0x05, 0x04, 0x29, 0xa1, 0xd0, 0x16, 0x53, 0xee, 0x6c, 0xeb, 0xe7,
+  0x8b, 0x29, 0x77, 0x06, 0xd1, 0xa9, 0xa6, 0xf3, 0x4e, 0x14, 0x9f, 0xad,
+  0x47, 0xd4, 0x4d, 0x6f, 0x13, 0x93, 0xf5, 0x9f, 0xbb, 0x8e, 0xef, 0xd5,
+  0x71, 0xdd, 0xf5, 0xa4, 0x64, 0x71, 0xd3, 0x28, 0x8d, 0x64, 0xff, 0xb4,
+  0x4e, 0xf6, 0xae, 0x5f, 0x2b, 0x58, 0x68, 0xe8, 0x87, 0x02, 0x01, 0x74,
+  0x35, 0x08, 0x20, 0x97, 0x87, 0x5c, 0x44, 0xf6, 0xb2, 0x1a, 0xc1, 0xd7,
+  0x3d, 0x53, 0xd3, 0xa2, 0x50, 0xab, 0xd6, 0x3f, 0xff, 0xe5, 0xdb, 0x69,
+  0x7f, 0xfa, 0x85, 0xfc, 0xaa, 0x29, 0x4a, 0x37, 0xe6, 0x36, 0x56, 0xa9,
+  0xa6, 0xac, 0x49, 0x4d, 0x0c, 0xad, 0x8d, 0xfb, 0x22, 0x01, 0x80, 0x81,
+  0xba, 0x45, 0xc8, 0x7e, 0xd9, 0x67, 0xb6, 0xf1, 0xbb, 0x0d, 0x89, 0x57,
+  0x53, 0x97, 0x82, 0xb8, 0x85, 0x45, 0xd7, 0x90, 0x71, 0x2b, 0x61, 0x16,
+  0x78, 0x1f, 0x24, 0x7e, 0xa1, 0x4e, 0x51, 0x09, 0x75, 0xb3, 0x8b, 0x94,
+  0xd0, 0x58, 0x1d, 0x64, 0x1f, 0x29, 0x31, 0x6b, 0x2a, 0xeb, 0x8d, 0x55,
+  0x4b, 0xc7, 0x51, 0x7a, 0x52, 0x22, 0xf9, 0xb6, 0x53, 0x32, 0x09, 0xf4,
+  0x18, 0x71, 0x39, 0x9b, 0xb5, 0x44, 0x96, 0x75, 0x90, 0x20, 0x80, 0x1e,
+  0xfe, 0x09, 0x02, 0x4e, 0xb7, 0xba, 0xc9, 0xff, 0xe5, 0xc6, 0x66, 0x75,
+  0xd0, 0x32, 0xda, 0xc1, 0x29, 0xbc, 0xfb, 0xdd, 0x2e, 0x02, 0xd3, 0x75,
+  0x9a, 0x8d, 0xe4, 0xe4, 0x04, 0x32, 0x54, 0x6d, 0x94, 0x6a, 0xb2, 0x6e,
+  0xaf, 0xea, 0x12, 0x41, 0x92, 0xbb, 0x68, 0x66, 0xf8, 0x57, 0x0f, 0xff,
+  0xfd, 0x69, 0x37, 0x7e, 0xfc, 0x8b, 0xed, 0xf6, 0x77, 0xbb, 0xef, 0x7e,
+  0xb7, 0xd7, 0x09, 0x61, 0x0e, 0x3a, 0x18, 0xf3, 0x96, 0x3b, 0x26, 0x25,
+  0x27, 0x65, 0xb3, 0x8c, 0x25, 0x49, 0x01, 0x36, 0x31, 0x9c, 0x98, 0x91,
+  0xbf, 0x93, 0x18, 0x83, 0xd2, 0xb0, 0x6c, 0x48, 0x25, 0x20, 0x4d, 0x48,
+  0x81, 0x35, 0xe1, 0x97, 0x85, 0x4d, 0x31, 0xe6, 0xa7, 0x72, 0x2b, 0x4f,
+  0x1e, 0x9a, 0x39, 0xf1, 0x80, 0x38, 0x44, 0xac, 0x5f, 0xa2, 0xb5, 0x1c,
+  0xfc, 0xf5, 0x90, 0x93, 0x0a, 0xf2, 0x76, 0x12, 0xd5, 0x02, 0xdd, 0xf2,
+  0x68, 0x30, 0x88, 0x9c, 0xf8, 0xb6, 0x2f, 0x02, 0x21, 0x08, 0xc2, 0xc3,
+  0xc8, 0xaa, 0xa9, 0xc1, 0x06, 0xf0, 0xa2, 0x1b, 0xa0, 0x29, 0x64, 0x5c,
+  0x5a, 0xf6, 0x47, 0xb7, 0xb7, 0x67, 0xa8, 0xfa, 0x15, 0xd3, 0xd2, 0x4c,
+  0xbc, 0x92, 0xb0, 0xdb, 0x1c, 0x39, 0x97, 0x89, 0x8b, 0xa5, 0xcf, 0xf4,
+  0x48, 0xa0, 0xfc, 0x88, 0x22, 0x38, 0xfd, 0xe2, 0x0b, 0x1c, 0xc9, 0x00,
+  0xf4, 0xe8, 0x1a, 0x43, 0xa7, 0xf5, 0x20, 0xa6, 0x32, 0xb0, 0x15, 0xbd,
+  0x92, 0xb2, 0x65, 0x41, 0xdc, 0xa5, 0x70, 0x41, 0x57, 0x78, 0xa1, 0x68,
+  0x71, 0x96, 0x08, 0xb6, 0x9c, 0x0d, 0xe2, 0x32, 0x6c, 0x9b, 0x45, 0x2f,
+  0x51, 0x13, 0x8c, 0x86, 0x39, 0xb4, 0xd5, 0x3b, 0xbc, 0xd8, 0x77, 0xbc,
+  0x66, 0x47, 0x77, 0xc0, 0xd6, 0xb8, 0x48, 0xb9, 0xa9, 0x32, 0xab, 0x76,
+  0x73, 0xbd, 0x29, 0xcb, 0x68, 0x23, 0xde, 0x88, 0x36, 0x1d, 0x83, 0xe0,
+  0x28, 0x29, 0xaf, 0xb6, 0x82, 0x17, 0x8a, 0x89, 0x8d, 0xb0, 0x7c, 0x6d,
+  0x20, 0x06, 0x79, 0x14, 0x9b, 0x99, 0xa1, 0x79, 0x57, 0x6e, 0x1e, 0x71,
+  0xac, 0x1f, 0xf9, 0x60, 0x9c, 0x82, 0x1b, 0x83, 0x7c, 0x94, 0x91, 0xb2,
+  0x72, 0x27, 0xde, 0x70, 0x8b, 0x28, 0x60, 0x2e, 0x67, 0x1f, 0xc5, 0x64,
+  0x7b, 0x94, 0x5e, 0x6f, 0xcf, 0x16, 0x93, 0xc9, 0xc1, 0x3d, 0xd6, 0x1e,
+  0x56, 0xda, 0x3c, 0xdf, 0x7c, 0xfc, 0x8c, 0x4d, 0xe9, 0x92, 0xd5, 0x41,
+  0xb4, 0x0e, 0x8f, 0x1d, 0xdc, 0xab, 0x51, 0x78, 0xd0, 0x8f, 0x4e, 0x95,
+  0x21, 0x7f, 0xb2, 0xf8, 0xd4, 0x38, 0x8f, 0xee, 0x19, 0x7f, 0xf1, 0x30,
+  0xce, 0xf8, 0xe1, 0xac, 0x6e, 0xcd, 0x51, 0xeb, 0x77, 0x7b, 0xa1, 0x80,
+  0xd8, 0xfb, 0x5f, 0xea, 0xdd, 0x40, 0x20, 0x95, 0x7f, 0xcf, 0xb7, 0x47,
+  0xec, 0xb8, 0xd2, 0xac, 0x86, 0xd9, 0xc6, 0xd9, 0x74, 0x0a, 0xb4, 0xe8,
+  0xa7, 0x04, 0x73, 0x9c, 0xd8, 0x88, 0x80, 0x0c, 0x22, 0x13, 0x94, 0x6b,
+  0x5d, 0x54, 0x01, 0x34, 0x73, 0x0d, 0xf4, 0x0e, 0xd6, 0xef, 0x95, 0x90,
+  0x41, 0xb9, 0xbb, 0xa5, 0x8e, 0x08, 0xd7, 0xb3, 0x40, 0xe9, 0x8e, 0xfc,
+  0xb0, 0x20, 0x4a, 0x12, 0xc4, 0xab, 0x0d, 0x5f, 0x21, 0x5a, 0x82, 0xde,
+  0x63, 0xdf, 0x5b, 0x86, 0x21, 0xc2, 0x88, 0x2c, 0x38, 0x4c, 0x6b, 0x55,
+  0x49, 0x6e, 0x92, 0x4c, 0x3d, 0x5b, 0x92, 0x2e, 0x8c, 0x98, 0xe9, 0xd6,
+  0xb3, 0xc6, 0x54, 0xdb, 0x6c, 0x8e, 0xc4, 0xfe, 0xc4, 0x82, 0xcc, 0xdd,
+  0x22, 0x4d, 0x53, 0x50, 0x24, 0x17, 0x08, 0x13, 0x24, 0x50, 0x37, 0xae,
+  0xe6, 0x73, 0x57, 0x21, 0xac, 0x45, 0x24, 0xf8, 0xdb, 0x19, 0x7d, 0x74,
+  0xc0, 0x3c, 0xbf, 0x8f, 0x75, 0xc5, 0xdc, 0xc0, 0x28, 0xe3, 0xff, 0x5e,
+  0x76, 0x60, 0x76, 0x97, 0x9e, 0xa6, 0xb5, 0x22, 0xc9, 0x6d, 0xe7, 0xd3,
+  0xe4, 0xb6, 0xee, 0xf3, 0xfd, 0xb2, 0xae, 0xe8, 0xb9, 0x0f, 0x06, 0x71,
+  0x6d, 0x18, 0x0c, 0xbf, 0x7c, 0xcf, 0xbb, 0x39, 0xca, 0xed, 0xf1, 0x70,
+  0x4e, 0x07, 0x8b, 0xb8, 0xf5, 0x91, 0x74, 0x97, 0x21, 0xc7, 0x60, 0x65,
+  0xab, 0x02, 0x8b, 0xfc, 0xba, 0xa8, 0x57, 0x16, 0x3a, 0xde, 0x52, 0x30,
+  0xf7, 0x59, 0x66, 0xb8, 0xbf, 0xc9, 0xcc, 0x3b, 0xf0, 0x04, 0xb2, 0xf0,
+  0x19, 0xc8, 0xd3, 0xd7, 0x3f, 0x35, 0x4c, 0x08, 0xfa, 0x0b, 0xdb, 0x17,
+  0x9a, 0x8b, 0xfd, 0xb9, 0xec, 0x0b, 0xb5, 0x41, 0x60, 0x28, 0x67, 0x0b,
+  0x55, 0xae, 0x53, 0x19, 0xb6, 0x8e, 0xc1, 0x50, 0xa3, 0xb7, 0x7a, 0x24,
+  0x4c, 0xed, 0xc1, 0xf6, 0x94, 0x4d, 0x01, 0x08, 0xa4, 0x42, 0x0a, 0x96,
+  0x16, 0x98, 0x3b, 0x0a, 0x99, 0x97, 0x94, 0x8b, 0x98, 0x14, 0x92, 0xde,
+  0xe7, 0x4b, 0x7b, 0x45, 0x7a, 0x89, 0xa5, 0xaf, 0xd0, 0x00, 0x96, 0x61,
+  0x26, 0x2d, 0x56, 0xa4, 0x2e, 0xfe, 0x93, 0x38, 0x99, 0x73, 0x68, 0x3f,
+  0x3e, 0x4e, 0xbc, 0x0f, 0x88, 0xb1, 0x1e, 0x75, 0x7c, 0x0a, 0x46, 0x65,
+  0x16, 0x85, 0x99, 0x54, 0xad, 0x2c, 0xeb, 0x12, 0x9a, 0x89, 0xd1, 0x92,
+  0x1c, 0x1d, 0xce, 0xaf, 0x8a, 0xa4, 0x4c, 0x7d, 0xb4, 0xcf, 0xfe, 0x8b,
+  0x88, 0x82, 0x53, 0xce, 0xe1, 0x29, 0x7e, 0xc6, 0x68, 0x07, 0x4e, 0x2d,
+  0xf0, 0xd6, 0x13, 0x59, 0x96, 0x9f, 0xad, 0x0a, 0x33, 0x75, 0xce, 0x39,
+  0x93, 0x52, 0xa6, 0x7b, 0x7d, 0xf4, 0x13, 0x7a, 0xad, 0x35, 0xfb, 0x30,
+  0x46, 0x8c, 0x84, 0x38, 0x29, 0x63, 0x8f, 0x0f, 0x5f, 0x34, 0x6b, 0x3c,
+  0xa0, 0x9f, 0x91, 0x6a, 0x76, 0xfe, 0x63, 0x81, 0xa5, 0x33, 0xa9, 0xe6,
+  0xe0, 0x76, 0xaf, 0xb7, 0x8d, 0xba, 0xf4, 0x36, 0xfc, 0xd0, 0xc4, 0x68,
+  0x31, 0xb4, 0x35, 0x9a, 0x43, 0x0d, 0x8c, 0x00, 0x19, 0xa8, 0x8e, 0x16,
+  0xe6, 0x6c, 0x4c, 0xee, 0x9c, 0xb4, 0xe5, 0xf2, 0x1f, 0x0b, 0x50, 0x3f,
+  0x08, 0x69, 0x35, 0x2d, 0xa8, 0x78, 0x48, 0x3a, 0x75, 0x2c, 0xb5, 0x9e,
+  0x3a, 0xa0, 0xb9, 0x1b, 0xa5, 0x54, 0x60, 0x22, 0x73, 0x83, 0x0b, 0xbd,
+  0xca, 0xd8, 0x10, 0x54, 0xa8, 0x22, 0xab, 0x34, 0x88, 0x82, 0x8a, 0xca,
+  0x24, 0xab, 0x8e, 0x9c, 0x2e, 0xc8, 0x47, 0x2f, 0xba, 0x66, 0x9b, 0x5e,
+  0x9f, 0x10, 0xcc, 0xa0, 0x02, 0x9b, 0x8f, 0xbb, 0x00, 0xff, 0x9f, 0x56,
+  0xc3, 0x6d, 0xf2, 0xa9, 0x8c, 0x96, 0xd6, 0x6d, 0xa0, 0x3c, 0xca, 0x98,
+  0x0d, 0x8d, 0xb5, 0x53, 0xf5, 0x68, 0xaf, 0x71, 0xaa, 0x32, 0x60, 0x88,
+  0xa3, 0xf9, 0x62, 0x80, 0x14, 0x74, 0x08, 0xb3, 0xbf, 0x0a, 0x60, 0x55,
+  0x72, 0xd8, 0x17, 0x27, 0xab, 0x4a, 0x8e, 0x0d, 0x72, 0xdb, 0x85, 0x56,
+  0xa8, 0x74, 0x38, 0xa2, 0xba, 0xe6, 0x0c, 0x1d, 0x6f, 0xfa, 0x68, 0x62,
+  0xd4, 0x09, 0xa1, 0x73, 0x10, 0xa4, 0x2d, 0xbb, 0x32, 0xe6, 0x29, 0x1b,
+  0xa0, 0x32, 0x95, 0x57, 0xd1, 0xcd, 0x87, 0xd8, 0x1e, 0xe4, 0xf0, 0x93,
+  0xb4, 0x7c, 0xb2, 0x24, 0xfb, 0xa5, 0xce, 0x38, 0x58, 0xc4, 0x60, 0xfc,
+  0x3a, 0x43, 0x80, 0x39, 0x9f, 0x9f, 0xbc, 0x42, 0x92, 0x7b, 0x76, 0xf2,
+  0x46, 0x1c, 0x04, 0x58, 0x0a, 0x9e, 0x0a, 0xae, 0xb0, 0x01, 0xa6, 0x29,
+  0x4b, 0x8c, 0xc9, 0xf9, 0xf9, 0xe4, 0x11, 0xb9, 0x28, 0x89, 0x19, 0x5c,
+  0x25, 0x7b, 0x8f, 0x9f, 0xc8, 0xb0, 0xb5, 0xae, 0x2c, 0x19, 0xd4, 0x36,
+  0xf8, 0xab, 0xed, 0x6d, 0x0e, 0xbb, 0x40, 0x97, 0xbb, 0xa7, 0xab, 0x53,
+  0xe4, 0x0f, 0x3e, 0xfb, 0xa7, 0x8d, 0x16, 0x34, 0x1e, 0x75, 0x21, 0x71,
+  0x58, 0x66, 0x44, 0xf1, 0xc8, 0x8c, 0x14, 0x74, 0xea, 0x48, 0xdf, 0x5d,
+  0x37, 0x80, 0x97, 0x0b, 0x0c, 0x35, 0xeb, 0x2f, 0x0d, 0xd3, 0xa2, 0x62,
+  0x84, 0x60, 0xb4, 0xa9, 0x51, 0x81, 0x15, 0x6c, 0x13, 0xaf, 0x4f, 0xad,
+  0x11, 0x00, 0xb4, 0xe0, 0x2e, 0x0f, 0xc7, 0x39, 0x23, 0xad, 0x0f, 0xfd,
+  0xaa, 0x68, 0x0c, 0x2a, 0x4f, 0x27, 0xce, 0x6d, 0x59, 0x6a, 0xeb, 0x64,
+  0x95, 0x6b, 0xb6, 0xe6, 0xac, 0x26, 0x8e, 0xab, 0xa1, 0xdd, 0x5c, 0x0c,
+  0x3c, 0x8c, 0x71, 0xe9, 0xd3, 0x30, 0x59, 0x0a, 0x54, 0x70, 0x20, 0x88,
+  0x2c, 0xa3, 0xb0, 0x98, 0xdc, 0xce, 0x02, 0x78, 0x86, 0xc4, 0x71, 0x4e,
+  0xf1, 0x79, 0x0c, 0x27, 0x64, 0x80, 0xb8, 0x19, 0x34, 0xf9, 0x8e, 0xd2,
+  0xaa, 0x7c, 0x1e, 0x70, 0xf2, 0x6a, 0x1b, 0x09, 0x41, 0xbc, 0x80, 0x9e,
+  0x99, 0xe1, 0x69, 0x6f, 0xff, 0xab, 0xde, 0xce, 0x41, 0x74, 0x06, 0xda,
+  0x19, 0x2c, 0x7f, 0x37, 0xfa, 0x7e, 0xb6, 0xc0, 0xed, 0xc0, 0x39, 0x7f,
+  0xdf, 0xff, 0x4b, 0x56, 0xf9, 0x2f, 0x3c, 0xda, 0xc7, 0x17, 0x5e, 0xf7,
+  0xf9, 0xa1, 0x9b, 0x7c, 0x32, 0x86, 0x17, 0x03, 0x8f, 0x3d, 0xc5, 0xc7,
+  0x80, 0xde, 0x46, 0x95, 0x07, 0x52, 0x2f, 0x04, 0xd6, 0x3e, 0xa8, 0x47,
+  0x8f, 0x02, 0x83, 0xea, 0xae, 0xdb, 0x69, 0xd3, 0x46, 0x42, 0xea, 0x1d,
+  0x12, 0xd9, 0x20, 0x19, 0xbe, 0x27, 0x82, 0x22, 0xa0, 0x57, 0x1e, 0x45,
+  0xab, 0xf3, 0xa0, 0xc6, 0x30, 0x3e, 0xb5, 0xf4, 0xda, 0x0a, 0x12, 0x57,
+  0x1b, 0x05, 0xfc, 0xb7, 0x96, 0xf1, 0xa4, 0xf1, 0xba, 0x39, 0xc5, 0xc3,
+  0x74, 0x77, 0xf7, 0xcb, 0xc1, 0xe3, 0xdd, 0x2f, 0xbf, 0x7a, 0x3a, 0x7e,
+  0xf4, 0xe8, 0xf1, 0xde, 0x68, 0xb8, 0xb1, 0xe6, 0x35, 0x8c, 0xe6, 0x13,
+  0x68, 0x95, 0x1b, 0xac, 0xbb, 0xd6, 0x1a, 0x08, 0xe6, 0x52, 0xde, 0x28,
+  0x1c, 0x1d, 0x54, 0x87, 0x05, 0x28, 0xa8, 0x98, 0x70, 0x45, 0xb5, 0x5b,
+  0x9e, 0xee, 0xed, 0xef, 0x6e, 0x3f, 0xe9, 0x3d, 0xea, 0xed, 0x19, 0xb0,
+  0x19, 0x46, 0xac, 0xaf, 0x28, 0x99, 0x3b, 0x10, 0x73, 0x4a, 0xf9, 0xf4,
+  0xd9, 0x4c, 0xea, 0x34, 0x99, 0x4f, 0xc8, 0xc9, 0x66, 0x93, 0xd9, 0xb1,
+  0x72, 0xd3, 0xae, 0x0b, 0x50, 0x4a, 0xbe, 0x61, 0xaf, 0x0a, 0xf8, 0x2c,
+  0xc6, 0x41, 0x98, 0x48, 0x0f, 0x74, 0xaa, 0x0d, 0xb2, 0x7f, 0x2c, 0xb2,
+  0x0a, 0x34, 0x30, 0x9c, 0x27, 0x06, 0xaf, 0x0c, 0x8a, 0xfc, 0xa6, 0x24,
+  0x7d, 0x10, 0x96, 0x84, 0xe6, 0x40, 0x7c, 0xc2, 0x17, 0xcd, 0x05, 0x6a,
+  0x1f, 0xaf, 0x72, 0xa7, 0xea, 0x02, 0xe1, 0x88, 0x66, 0xc4, 0xd2, 0xf1,
+  0x89, 0x32, 0x2b, 0x2b, 0x60, 0xc4, 0xc0, 0xb8, 0x5e, 0xe4, 0x37, 0x48,
+  0x61, 0x5d, 0x82, 0x48, 0x28, 0xfc, 0x50, 0x28, 0xae, 0xa8, 0xc8, 0x41,
+  0xb6, 0x92, 0xda, 0x4e, 0x8b, 0x47, 0x81, 0x86, 0xf2, 0x01, 0xe7, 0xab,
+  0x29, 0xee, 0x77, 0x54, 0x9b, 0xf0, 0x72, 0x95, 0x60, 0x9a, 0x26, 0x68,
+  0xaf, 0x41, 0x2c, 0x4d, 0x8e, 0xb8, 0xc4, 0xf5, 0x13, 0x85, 0xb7, 0x05,
+  0x05, 0x34, 0x24, 0x77, 0xf0, 0xae, 0x7f, 0x64, 0xe0, 0x0b, 0x69, 0x75,
+  0x6d, 0x79, 0x43, 0x06, 0xe3, 0x80, 0x9f, 0xc6, 0xa3, 0xa8, 0x83, 0x8c,
+  0x73, 0x5d, 0xff, 0xb2, 0xd4, 0xe4, 0xea, 0xda, 0x82, 0x5c, 0x2c, 0x8d,
+  0xb6, 0xe1, 0xa3, 0xea, 0x0b, 0x0f, 0x26, 0xff, 0xfd, 0x8f, 0x4f, 0xfe,
+  0x7b, 0xff, 0x97, 0xfc, 0xff, 0x3d, 0xe4, 0xbf, 0xf7, 0x49, 0xc8, 0x7f,
+  0xef, 0x61, 0xe4, 0xbf, 0xf7, 0xf1, 0xc8, 0x7f, 0x77, 0x5d, 0xf2, 0xdf,
+  0xbf, 0x0f, 0xf9, 0x03, 0xa5, 0x61, 0x6e, 0x5b, 0x9d, 0xfc, 0x1f, 0xad,
+  0x45, 0xfe, 0x4c, 0xff, 0x74, 0x00, 0x5a, 0x4f, 0x00, 0x8e, 0xd9, 0xc5,
+  0xa7, 0x86, 0xcb, 0x2b, 0x5c, 0x76, 0xed, 0xfe, 0x74, 0x96, 0xd4, 0x1a,
+  0xf5, 0x6a, 0x36, 0xf0, 0x21, 0xfb, 0x64, 0x54, 0xb6, 0xff, 0x49, 0xa8,
+  0x6c, 0xff, 0x61, 0x54, 0xb6, 0xff, 0x49, 0x98, 0xec, 0xee, 0x2a, 0x2a,
+  0x2b, 0x52, 0x0e, 0x4e, 0xfc, 0x49, 0x83, 0x44, 0xa1, 0xaf, 0x5f, 0xc8,
+  0xc5, 0x73, 0x80, 0x32, 0xde, 0x2f, 0x4d, 0xf5, 0x5d, 0x2a, 0xa3, 0x5b,
+  0x6d, 0xae, 0x7f, 0x76, 0xfc, 0x97, 0xbe, 0x44, 0x38, 0x8a, 0xc0, 0xad,
+  0x02, 0x39, 0xfb, 0x1b, 0x28, 0x84, 0x9c, 0x8b, 0x61, 0x7a, 0x7a, 0x1e,
+  0x25, 0x6b, 0x46, 0x14, 0x1e, 0x6d, 0xe2, 0xa3, 0x23, 0xcc, 0xdd, 0x94,
+  0xb8, 0x4b, 0xae, 0x14, 0xcc, 0x20, 0xe6, 0xe4, 0xc0, 0x95, 0xa6, 0xb5,
+  0x52, 0x6a, 0x73, 0x25, 0x9c, 0xb1, 0x88, 0xfb, 0x78, 0x66, 0x5f, 0xd9,
+  0xac, 0xae, 0x0a, 0x02, 0x0d, 0xa5, 0xc7, 0xb6, 0x22, 0x8b, 0xfd, 0xb8,
+  0x74, 0x74, 0x32, 0xaa, 0x17, 0x68, 0xec, 0x40, 0xd5, 0x2e, 0x6a, 0x84,
+  0x71, 0x3b, 0xa6, 0x5d, 0xf3, 0xad, 0xc6, 0x39, 0x84, 0x0a, 0x8e, 0x48,
+  0xa5, 0x50, 0x67, 0xbd, 0xf1, 0x3d, 0xcf, 0xf1, 0x90, 0xdd, 0x72, 0xdd,
+  0x7a, 0x53, 0x1c, 0x6e, 0x02, 0x07, 0x66, 0x46, 0xa8, 0x95, 0x1a, 0x46,
+  0x6f, 0xda, 0x60, 0x50, 0x08, 0x54, 0xb2, 0xf3, 0xe1, 0xfb, 0xf2, 0x11,
+  0x34, 0xd9, 0x74, 0x90, 0xf3, 0x17, 0x09, 0x7e, 0x23, 0x7f, 0x3c, 0xc6,
+  0x8e, 0x29, 0x59, 0x82, 0xff, 0xbc, 0xa2, 0xbf, 0xb1, 0x4b, 0x2d, 0x7f,
+  0xe9, 0xec, 0xf3, 0x30, 0xb8, 0xd0, 0x0e, 0x06, 0xad, 0x29, 0xd5, 0xf0,
+  0x3a, 0xb7, 0x15, 0x13, 0xdd, 0x39, 0x63, 0xe6, 0x08, 0x81, 0xbf, 0x87,
+  0xdc, 0x60, 0xce, 0xcd, 0x46, 0x2d, 0x3f, 0x0a, 0x2a, 0x16, 0xb4, 0x55,
+  0x4e, 0xc5, 0x75, 0x2d, 0x82, 0x60, 0xbb, 0x91, 0xa0, 0x15, 0x77, 0x0b,
+  0xa8, 0x04, 0xae, 0x67, 0xd4, 0x4a, 0xca, 0x72, 0x31, 0x35, 0xc6, 0xda,
+  0xdd, 0x9d, 0x2f, 0x7d, 0x43, 0xfc, 0x5b, 0x05, 0xa0, 0xb4, 0xa5, 0xba,
+  0x29, 0x6b, 0x8b, 0xe0, 0xe9, 0x06, 0xa9, 0x55, 0x6a, 0x02, 0x9d, 0x62,
+  0x34, 0x4f, 0xc8, 0xee, 0x35, 0x4a, 0xd9, 0x5c, 0x30, 0x60, 0x93, 0x97,
+  0x30, 0x37, 0x81, 0xdd, 0x92, 0xa4, 0x2e, 0x36, 0x34, 0x4a, 0xb4, 0x1c,
+  0xe8, 0x4a, 0x9c, 0x9c, 0xe3, 0x45, 0x9e, 0xa1, 0x99, 0x5b, 0x63, 0x93,
+  0xbf, 0xb5, 0x85, 0x53, 0x7f, 0xff, 0x68, 0x07, 0xf7, 0x54, 0x1b, 0x41,
+  0x7f, 0xf3, 0x44, 0x21, 0x2c, 0x7e, 0xbf, 0x9f, 0x84, 0xc3, 0x19, 0x0d,
+  0x13, 0xf8, 0x4c, 0x98, 0xce, 0xa6, 0x7f, 0x43, 0x98, 0x7c, 0xc4, 0x14,
+  0x3b, 0x2f, 0xbe, 0x8d, 0xc4, 0x0f, 0x8d, 0x3f, 0xcc, 0xc7, 0x0f, 0x4c,
+  0xc0, 0x10, 0xc7, 0x17, 0xf7, 0x55, 0x53, 0xc0, 0x1e, 0xd7, 0x0d, 0x5f,
+  0x1e, 0x92, 0x48, 0xc0, 0x0d, 0x21, 0xe2, 0x9b, 0x96, 0xb7, 0x51, 0x18,
+  0x76, 0x93, 0x73, 0x9a, 0xb0, 0xcd, 0x89, 0xc6, 0x6b, 0x3e, 0x84, 0xa6,
+  0xa0, 0x43, 0x2f, 0x78, 0x58, 0x23, 0xc3, 0x38, 0xc7, 0x83, 0xed, 0x9a,
+  0x5d, 0xaf, 0xba, 0x67, 0x32, 0xe9, 0x46, 0xe1, 0xb4, 0x51, 0x22, 0xa6,
+  0x5a, 0x27, 0xa3, 0x22, 0xb9, 0x71, 0x8c, 0x5e, 0x5c, 0xb0, 0x6d, 0x4c,
+  0x41, 0x5f, 0x36, 0xe9, 0x0b, 0xf3, 0xba, 0x30, 0xd9, 0xa0, 0x0c, 0xe4,
+  0x8d, 0x94, 0xc3, 0x22, 0x95, 0x38, 0x5a, 0x2c, 0x79, 0x4d, 0x89, 0x05,
+  0x58, 0x26, 0x1a, 0x84, 0xcf, 0xcb, 0x54, 0xab, 0x83, 0x98, 0x59, 0x6b,
+  0xf5, 0x0e, 0x2a, 0x47, 0xd2, 0x0b, 0x20, 0x8e, 0x59, 0x0f, 0x8d, 0x26,
+  0x26, 0x27, 0x52, 0xbb, 0x04, 0x5f, 0xed, 0x4a, 0x3e, 0xa5, 0x70, 0x8b,
+  0x01, 0x19, 0x0d, 0x13, 0xcc, 0x8d, 0x2a, 0xaf, 0xb2, 0x79, 0x53, 0x10,
+  0x8a, 0xbf, 0xce, 0xbf, 0x8e, 0xb7, 0x4c, 0xd5, 0xd5, 0xfc, 0x3a, 0x2d,
+  0xc9, 0x4a, 0xc1, 0x00, 0x96, 0xc0, 0x25, 0xae, 0xc8, 0x24, 0x2c, 0x42,
+  0x02, 0x81, 0x4f, 0x12, 0x0e, 0x8f, 0x54, 0xb4, 0x6c, 0xa9, 0x66, 0xc3,
+  0xd1, 0xa5, 0xcc, 0xa1, 0x91, 0xd2, 0x61, 0xb5, 0xc6, 0x9c, 0xd6, 0x8d,
+  0xb6, 0xbd, 0x08, 0x13, 0x34, 0xa2, 0xf2, 0x6e, 0x3a, 0xc8, 0x05, 0x12,
+  0x33, 0x9f, 0xff, 0xa7, 0xb9, 0xbc, 0x1d, 0x7a, 0xfd, 0xb8, 0xe0, 0x0f,
+  0x6e, 0xda, 0x71, 0x0d, 0x56, 0xe7, 0x5e, 0x87, 0xfc, 0x77, 0x6b, 0x07,
+  0x6f, 0xc6, 0x94, 0xe7, 0x34, 0x92, 0xb8, 0x9a, 0xba, 0xd0, 0x02, 0x17,
+  0x4c, 0xac, 0x97, 0xc6, 0xa1, 0xde, 0x37, 0xdf, 0xac, 0x44, 0x4e, 0x34,
+  0x37, 0xd3, 0x58, 0xcc, 0xbb, 0xc8, 0x95, 0x09, 0x66, 0x94, 0x14, 0xbc,
+  0x72, 0x78, 0x95, 0x4e, 0x19, 0xfc, 0xc6, 0x87, 0xf7, 0x04, 0x29, 0x73,
+  0xc6, 0xb4, 0x8a, 0x31, 0x83, 0x33, 0x63, 0x03, 0x8b, 0x9c, 0x0a, 0xc1,
+  0x52, 0xac, 0x51, 0xaa, 0xfe, 0x45, 0xc7, 0xd0, 0xfc, 0xc9, 0xbb, 0xb7,
+  0xaf, 0xfb, 0x6f, 0xcf, 0x63, 0xaf, 0xb8, 0xef, 0x9b, 0x8b, 0x93, 0x67,
+  0x98, 0x81, 0x77, 0x71, 0x76, 0x7c, 0x76, 0x1a, 0x6d, 0xee, 0x6e, 0x2d,
+  0x25, 0x24, 0x43, 0x3a, 0xa6, 0xa8, 0xba, 0x75, 0x24, 0x33, 0x57, 0x33,
+  0xa3, 0xd8, 0xc4, 0x55, 0xf6, 0x5b, 0xfb, 0x41, 0x4e, 0x5c, 0xc3, 0x3d,
+  0x22, 0x36, 0xd5, 0x4b, 0xb8, 0xf1, 0x4b, 0x32, 0x5d, 0x4b, 0x2b, 0x6e,
+  0x76, 0x0f, 0xa5, 0x52, 0x06, 0xaa, 0xdd, 0x75, 0x29, 0x96, 0x84, 0xa3,
+  0xf3, 0x1d, 0xac, 0xd8, 0xb6, 0x4b, 0xc6, 0xdd, 0xb4, 0xcf, 0xe6, 0xd3,
+  0xae, 0x8d, 0x82, 0xd1, 0x2d, 0xc6, 0xf6, 0x4e, 0x59, 0x25, 0x5e, 0xe3,
+  0xdb, 0x36, 0x45, 0x0c, 0x5a, 0x22, 0xd5, 0xa5, 0xee, 0x3d, 0x79, 0xdc,
+  0xb0, 0xe2, 0xd9, 0xe7, 0x2c, 0xa9, 0x96, 0x61, 0x5a, 0x35, 0xc4, 0xca,
+  0xc5, 0x38, 0x6e, 0x90, 0xb5, 0x99, 0x57, 0xf0, 0x40, 0x6a, 0xe0, 0x68,
+  0x3e, 0x33, 0x4a, 0x53, 0x0f, 0xcf, 0xbf, 0x27, 0x1e, 0xf0, 0x1b, 0xa3,
+  0x74, 0x96, 0xb1, 0xb8, 0x61, 0xc6, 0x2e, 0x50, 0xf7, 0x92, 0x73, 0x09,
+  0x0f, 0xe0, 0xb7, 0x0e, 0x4d, 0x50, 0x2d, 0x1f, 0x3f, 0x01, 0x83, 0xdf,
+  0xc6, 0x4d, 0x46, 0x14, 0x5b, 0x3b, 0x26, 0x6c, 0x0f, 0x6f, 0x6f, 0xaa,
+  0x65, 0xdd, 0xbe, 0x1d, 0x5d, 0x29, 0x4e, 0x43, 0xdc, 0x98, 0xa4, 0x6d,
+  0x5c, 0x44, 0x96, 0xaf, 0x9d, 0xb9, 0xb4, 0x04, 0xdc, 0xd6, 0x17, 0x11,
+  0x03, 0xbc, 0xba, 0xb8, 0x73, 0x5d, 0xde, 0x3e, 0x11, 0x0d, 0x96, 0xec,
+  0xe0, 0x77, 0xf5, 0x82, 0xad, 0x02, 0xd0, 0x86, 0x43, 0xe1, 0x51, 0x31,
+  0x76, 0x32, 0x8d, 0xa6, 0x4b, 0x80, 0xbb, 0x38, 0xb8, 0xe7, 0x66, 0x6c,
+  0x1e, 0xd2, 0x07, 0xc7, 0x28, 0x6e, 0x6a, 0x45, 0x8d, 0x27, 0x8f, 0x7b,
+  0x7b, 0x5b, 0xb5, 0x00, 0x4b, 0x0c, 0x41, 0x83, 0xa5, 0xfa, 0x23, 0xfe,
+  0x54, 0x2c, 0x21, 0xfc, 0x9d, 0xa7, 0xe1, 0x19, 0x79, 0xf8, 0x2e, 0x31,
+  0xe5, 0x94, 0xba, 0x8a, 0x96, 0xc5, 0x27, 0xfe, 0x32, 0xcf, 0x47, 0x52,
+  0xb0, 0x83, 0x0b, 0x74, 0xb4, 0x59, 0xdd, 0x9d, 0x35, 0xfa, 0xcc, 0xe7,
+  0x8b, 0x07, 0xf1, 0x75, 0x63, 0x93, 0xd6, 0x50, 0x63, 0xb1, 0x15, 0xef,
+  0x10, 0xad, 0x3c, 0x3e, 0xab, 0x4e, 0x0f, 0xd7, 0x66, 0x27, 0x97, 0x24,
+  0xc7, 0x9f, 0xab, 0x38, 0xd2, 0xf3, 0x6f, 0x54, 0x79, 0x8b, 0x08, 0x3c,
+  0xc5, 0x55, 0x22, 0x27, 0xdd, 0x24, 0x1d, 0x93, 0x96, 0x42, 0x20, 0xd5,
+  0x5d, 0xfa, 0x92, 0x02, 0x3a, 0x4d, 0x2a, 0x6d, 0xb0, 0xe6, 0x1a, 0xb5,
+  0x91, 0x0c, 0x5d, 0xad, 0xcf, 0x94, 0xd3, 0xdc, 0x00, 0xba, 0xd8, 0xe8,
+  0x1a, 0x7c, 0xf8, 0xc9, 0x1d, 0x45, 0xff, 0x65, 0xb7, 0x0a, 0x2a, 0xf4,
+  0x5b, 0x5a, 0xe4, 0x7e, 0xcc, 0x3a, 0x09, 0x85, 0x5a, 0x2b, 0x0f, 0x0d,
+  0x31, 0xd7, 0xc0, 0x78, 0xe9, 0xd6, 0x36, 0x1f, 0x62, 0xaf, 0xde, 0x79,
+  0xfa, 0x23, 0xcc, 0x0d, 0x81, 0xb5, 0xe5, 0x1a, 0x30, 0xa3, 0xc9, 0xa8,
+  0x84, 0x68, 0xa6, 0x51, 0xc6, 0xce, 0xf9, 0x16, 0x58, 0x39, 0x82, 0xe3,
+  0xf6, 0x0c, 0x34, 0xa4, 0x88, 0x8c, 0x50, 0xb1, 0xb6, 0xe8, 0x57, 0x86,
+  0xc3, 0x8f, 0x51, 0xd0, 0x30, 0xf5, 0xfc, 0x24, 0xb9, 0xc6, 0xbf, 0x97,
+  0x62, 0x90, 0x38, 0xd2, 0xd9, 0x5d, 0x7d, 0x40, 0x98, 0xa9, 0x0a, 0x22,
+  0x1d, 0xbb, 0x26, 0x6d, 0x19, 0x0f, 0x8b, 0x8e, 0x60, 0x87, 0xe8, 0x0f,
+  0xa9, 0x3e, 0xe6, 0x10, 0x57, 0xfa, 0xda, 0x2c, 0x03, 0xb3, 0x81, 0xfa,
+  0x62, 0x6c, 0x52, 0xdd, 0x62, 0x0d, 0x94, 0xa6, 0x2e, 0xef, 0xb3, 0x0c,
+  0x54, 0x7d, 0x94, 0xec, 0x0b, 0xe5, 0x62, 0xf0, 0x2b, 0x01, 0x42, 0xe6,
+  0x8c, 0x39, 0x25, 0xab, 0x20, 0xb6, 0x1d, 0xd8, 0x55, 0x78, 0x80, 0xc3,
+  0x27, 0x2a, 0x4c, 0xae, 0x0f, 0x35, 0x47, 0xf1, 0xdb, 0x99, 0x93, 0x58,
+  0x64, 0x29, 0x8c, 0x46, 0xb4, 0x0c, 0xd0, 0xf7, 0xe0, 0x8b, 0x16, 0xf6,
+  0x1d, 0x8f, 0xf1, 0x28, 0x72, 0xca, 0x6c, 0x43, 0x80, 0xe0, 0xb5, 0xe4,
+  0x44, 0x72, 0x03, 0xe4, 0x80, 0x8f, 0xb7, 0xb6, 0xa5, 0x5c, 0xb8, 0xec,
+  0xfe, 0x11, 0x7f, 0xf8, 0x73, 0xa8, 0xe3, 0x52, 0x60, 0xca, 0xa4, 0x70,
+  0x42, 0x7c, 0x9c, 0x58, 0x2c, 0xbd, 0xde, 0xd6, 0x81, 0xc3, 0x3d, 0x96,
+  0xb7, 0x4d, 0x3c, 0x63, 0x8d, 0x0e, 0xde, 0x8a, 0x18, 0x27, 0xa9, 0xc1,
+  0x5a, 0x27, 0xc9, 0x21, 0x7a, 0xf8, 0x6d, 0xb4, 0x18, 0xa2, 0xed, 0x52,
+  0xa0, 0x90, 0x6a, 0x8a, 0x7a, 0x53, 0x6d, 0x1b, 0x16, 0xd9, 0x9c, 0x0d,
+  0x52, 0x65, 0x32, 0x46, 0x20, 0x8c, 0x02, 0xff, 0xc1, 0x8d, 0xa6, 0x3c,
+  0x16, 0xc6, 0x61, 0xb0, 0x68, 0x2e, 0xf3, 0xbc, 0x42, 0x3f, 0x3b, 0x1d,
+  0xf5, 0x51, 0xe2, 0x6d, 0xfe, 0x25, 0x9c, 0xf7, 0x45, 0xe9, 0x6e, 0x89,
+  0xaa, 0x4a, 0xd8, 0x2c, 0x87, 0x03, 0xa3, 0xe4, 0x26, 0x39, 0xaa, 0x1c,
+  0xc0, 0xe4, 0x30, 0xba, 0x60, 0x2e, 0x0d, 0xa7, 0xb6, 0x92, 0x89, 0x57,
+  0x79, 0x24, 0xa1, 0x49, 0x2e, 0x2b, 0x1e, 0x6e, 0xa5, 0x44, 0x37, 0xa2,
+  0xbd, 0x6e, 0x30, 0xed, 0x46, 0x06, 0xa0, 0x83, 0x0c, 0x75, 0x16, 0x0c,
+  0xd5, 0x2f, 0xcd, 0xc1, 0xfa, 0x24, 0x25, 0x61, 0x61, 0x44, 0xde, 0x0c,
+  0x03, 0x05, 0x66, 0x1c, 0x7d, 0x20, 0xe6, 0x13, 0x65, 0xd4, 0x38, 0x4c,
+  0x02, 0x32, 0x99, 0xa1, 0x16, 0x3c, 0x4c, 0xfd, 0x3c, 0x72, 0xca, 0x41,
+  0x98, 0x57, 0x2d, 0xc5, 0xd7, 0x94, 0x82, 0x3e, 0x5b, 0xb4, 0x56, 0x93,
+  0x7e, 0xbb, 0x25, 0x9c, 0xa4, 0x87, 0x5c, 0x81, 0x72, 0x91, 0xba, 0x02,
+  0xa7, 0x07, 0x45, 0xa8, 0x69, 0xd0, 0x92, 0x48, 0xbc, 0x5c, 0xae, 0x9c,
+  0x63, 0x81, 0x02, 0xe0, 0x25, 0x8b, 0xac, 0x22, 0x62, 0x6c, 0xe0, 0x42,
+  0x28, 0x18, 0x01, 0x9b, 0x4d, 0xa7, 0x53, 0x2f, 0xc1, 0x79, 0xa6, 0x01,
+  0x23, 0x26, 0xb1, 0x8b, 0x93, 0x29, 0x49, 0xa4, 0x13, 0x43, 0x29, 0x91,
+  0x0e, 0x9b, 0xc9, 0x58, 0x21, 0x12, 0x10, 0x11, 0x54, 0x39, 0xc3, 0xee,
+  0x87, 0x6d, 0x93, 0x14, 0x02, 0xb4, 0x3f, 0x1b, 0xc5, 0xc0, 0xfd, 0xe6,
+  0xcb, 0xcd, 0xf7, 0xee, 0x8c, 0x3f, 0x41, 0x7a, 0x7a, 0xbd, 0x7d, 0xfd,
+  0x9b, 0x32, 0x89, 0x6d, 0xc6, 0xfa, 0x08, 0xed, 0x52, 0xac, 0x7b, 0x3d,
+  0xd0, 0x12, 0x65, 0x7e, 0xa9, 0xa5, 0x8b, 0xf3, 0x27, 0xa3, 0x06, 0xde,
+  0x40, 0xed, 0xc9, 0x25, 0x9b, 0xac, 0xaa, 0x2e, 0xed, 0xc8, 0x77, 0xdc,
+  0x6c, 0x7d, 0x93, 0xed, 0xee, 0xea, 0x6e, 0x7a, 0xf2, 0x5f, 0x6d, 0x6f,
+  0x65, 0x5b, 0xb9, 0xec, 0x18, 0x0f, 0x94, 0x4c, 0x15, 0x33, 0x41, 0x7f,
+  0x71, 0x7a, 0x62, 0xc3, 0x89, 0xb7, 0xc9, 0x53, 0xc2, 0xa3, 0xa2, 0xba,
+  0x11, 0x91, 0x3c, 0x69, 0x38, 0x82, 0xde, 0x41, 0x61, 0x4a, 0x0c, 0xd8,
+  0x8a, 0xe9, 0xf6, 0xa2, 0x8e, 0x70, 0x60, 0xd9, 0x8a, 0x2a, 0x39, 0xee,
+  0xf2, 0x7e, 0x2a, 0x3a, 0xe1, 0xd6, 0xff, 0x0d, 0x54, 0x12, 0xaa, 0xb3,
+  0xd5, 0x46, 0x27, 0xc3, 0x04, 0x03, 0xb2, 0xc2, 0xc9, 0xa9, 0x7d, 0xe1,
+  0xc2, 0xb1, 0x3e, 0x85, 0xb7, 0xbe, 0xe6, 0xf4, 0x3b, 0x4e, 0x0f, 0x8a,
+  0x9b, 0x6b, 0x49, 0x57, 0x6e, 0xf4, 0x73, 0x5f, 0x5e, 0xfb, 0x29, 0x14,
+  0x0e, 0x3b, 0x8a, 0xe3, 0x23, 0x2e, 0x1b, 0x54, 0x21, 0x66, 0xff, 0xad,
+  0x59, 0xf0, 0xb5, 0x96, 0xbf, 0x81, 0x2e, 0x31, 0x4c, 0x30, 0xc2, 0x90,
+  0xdc, 0x53, 0xdc, 0x89, 0xfc, 0x4a, 0x71, 0x87, 0xb4, 0x11, 0x2e, 0xb4,
+  0x4f, 0xc3, 0x66, 0xd4, 0x6a, 0x5a, 0xae, 0x35, 0x1e, 0x4c, 0x9c, 0x77,
+  0xf7, 0x88, 0x1e, 0xfa, 0xa0, 0x3d, 0xa2, 0x16, 0x3e, 0xfb, 0x1e, 0xd1,
+  0x28, 0xb6, 0x0d, 0x9c, 0xb0, 0x64, 0xb6, 0x7f, 0xb4, 0x8d, 0xd2, 0xdd,
+  0x71, 0x9c, 0x89, 0x91, 0x9c, 0x15, 0xee, 0xdb, 0xda, 0x69, 0xbc, 0x30,
+  0xb8, 0x96, 0xfd, 0x81, 0x16, 0xe3, 0xea, 0x6e, 0x9e, 0x46, 0x87, 0xf8,
+  0xef, 0x92, 0x3d, 0x32, 0x0f, 0x7e, 0xc8, 0x36, 0x99, 0x46, 0x42, 0x3b,
+  0x65, 0xb0, 0x5d, 0x58, 0x11, 0xc2, 0xcd, 0xc2, 0xdd, 0xf2, 0x52, 0xb1,
+  0x3f, 0xb4, 0x26, 0x76, 0x73, 0x2c, 0x18, 0x1b, 0xeb, 0x7e, 0xca, 0x61,
+  0xb6, 0x0f, 0xdd, 0x34, 0x2b, 0xdd, 0x48, 0x73, 0xbd, 0x7b, 0x9c, 0x12,
+  0x62, 0x64, 0xf8, 0xef, 0x4f, 0xc2, 0x53, 0x7f, 0x59, 0xbe, 0x13, 0x0f,
+  0xd9, 0x84, 0x7a, 0x6f, 0x9f, 0x0f, 0xf3, 0xe0, 0x93, 0x2d, 0x34, 0xed,
+  0xe6, 0x7d, 0x56, 0x3b, 0x9b, 0x5f, 0xa1, 0xf9, 0xe0, 0x30, 0x04, 0x57,
+  0xe8, 0xac, 0xb3, 0x3c, 0xf6, 0x21, 0xf4, 0x2e, 0x4d, 0x7c, 0x46, 0x5b,
+  0x95, 0x33, 0x8a, 0x93, 0xe3, 0x67, 0x2f, 0x4e, 0x62, 0xf8, 0xb7, 0x7f,
+  0x14, 0x1f, 0x9d, 0xf4, 0xf7, 0x1e, 0x3f, 0x89, 0x8f, 0x8f, 0x5f, 0x7d,
+  0xf9, 0xa1, 0x1b, 0x20, 0xcd, 0x53, 0xc1, 0x96, 0x45, 0x81, 0x4e, 0xaa,
+  0xe6, 0xa5, 0x71, 0x8f, 0x2d, 0x29, 0x26, 0xb6, 0x66, 0xe6, 0x92, 0x2d,
+  0x91, 0xc7, 0x3e, 0x64, 0x4b, 0xa4, 0x89, 0xcf, 0xbc, 0x25, 0x32, 0x8a,
+  0x22, 0xfd, 0x95, 0xca, 0xcb, 0x7f, 0xc8, 0x75, 0xae, 0xdb, 0x20, 0x4d,
+  0xae, 0xbf, 0xf8, 0x2c, 0x60, 0xad, 0x74, 0x2d, 0x91, 0x14, 0xfc, 0x4c,
+  0x90, 0x9d, 0x02, 0x02, 0xf7, 0x83, 0x25, 0x6e, 0x41, 0x8b, 0xf2, 0x45,
+  0x6e, 0xe9, 0x0c, 0xdf, 0x6d, 0xda, 0x1b, 0x55, 0xe6, 0x26, 0x91, 0x7b,
+  0xb5, 0x78, 0x2c, 0x5d, 0x7c, 0x2a, 0xf9, 0x58, 0x9a, 0xff, 0x4c, 0x02,
+  0x32, 0x49, 0xe7, 0xfe, 0xb6, 0x72, 0x02, 0x78, 0x74, 0xc8, 0x3f, 0xb7,
+  0xbf, 0x0d, 0x1d, 0x2d, 0x05, 0x62, 0xa4, 0x15, 0x90, 0x17, 0xd0, 0xae,
+  0x20, 0xa5, 0xb9, 0xc4, 0x3c, 0xa7, 0xe1, 0x32, 0xb4, 0xcd, 0x9a, 0x6b,
+  0x40, 0x5b, 0xe4, 0x39, 0x65, 0x14, 0x29, 0x93, 0x91, 0x76, 0xd1, 0x1a,
+  0x6d, 0xaa, 0x7d, 0x9b, 0x5c, 0x13, 0xb4, 0x6e, 0xa6, 0x4e, 0x8f, 0xa5,
+  0x29, 0x10, 0x19, 0x30, 0x82, 0x60, 0x90, 0x1d, 0x9c, 0x41, 0x34, 0x24,
+  0x5a, 0x8c, 0x88, 0x58, 0x27, 0x87, 0x8c, 0x40, 0x20, 0x30, 0x94, 0x03,
+  0x18, 0x1a, 0xf4, 0x92, 0x25, 0x18, 0x32, 0x8e, 0xb0, 0x3e, 0x28, 0x83,
+  0xeb, 0xf8, 0xec, 0xf5, 0xeb, 0x93, 0xe3, 0x66, 0x3c, 0x2c, 0x06, 0xa9,
+  0x10, 0xd4, 0x9d, 0x53, 0x84, 0x8e, 0x7b, 0xf3, 0x42, 0x01, 0x19, 0x0f,
+  0xcf, 0x86, 0xc6, 0xc0, 0x1f, 0x37, 0x82, 0x1d, 0xe9, 0x7e, 0xc9, 0x45,
+  0x97, 0x97, 0x52, 0xac, 0x75, 0xda, 0x50, 0x04, 0x51, 0xb9, 0x28, 0x04,
+  0xeb, 0x99, 0x8c, 0xea, 0x32, 0x59, 0x86, 0x91, 0x48, 0x46, 0xa3, 0x6d,
+  0x41, 0x9f, 0xe1, 0x4b, 0x1c, 0xbb, 0x6a, 0x3b, 0x6d, 0x5c, 0x71, 0x1a,
+  0xc1, 0x07, 0xe3, 0x7c, 0x1c, 0x53, 0x74, 0xc4, 0x34, 0x29, 0xde, 0x63,
+  0x04, 0xad, 0x03, 0xa8, 0x43, 0xf0, 0xc7, 0x54, 0x1e, 0x7a, 0x34, 0x0a,
+  0xd5, 0x02, 0xa2, 0x10, 0x0f, 0x07, 0xbc, 0x4c, 0x07, 0x44, 0xec, 0x76,
+  0x56, 0x1d, 0x60, 0xb6, 0x99, 0xbe, 0x3e, 0x4b, 0x6f, 0xb0, 0x1b, 0x2e,
+  0x68, 0x87, 0x05, 0x7d, 0xfc, 0x4a, 0xb1, 0x45, 0x5a, 0x2d, 0x8a, 0x19,
+  0x33, 0xda, 0x3b, 0xc7, 0x55, 0x85, 0xc0, 0xeb, 0x11, 0x61, 0x5a, 0x97,
+  0x88, 0x08, 0x20, 0xd8, 0x82, 0xde, 0x5a, 0xbd, 0x60, 0xa2, 0xa9, 0xe5,
+  0x5b, 0x79, 0x69, 0x71, 0xa6, 0x08, 0xcb, 0x20, 0x55, 0x6a, 0x26, 0x1e,
+  0xd8, 0x56, 0xdf, 0x8f, 0x57, 0x9b, 0xb6, 0x01, 0x6d, 0xa7, 0x65, 0xad,
+  0x01, 0xdd, 0xcc, 0xa4, 0x25, 0x30, 0xae, 0x5f, 0xc1, 0xda, 0x90, 0x25,
+  0x9f, 0x98, 0xec, 0x63, 0x04, 0xb9, 0xad, 0x1a, 0xe6, 0xc5, 0x0a, 0xf7,
+  0x15, 0x11, 0x56, 0x8a, 0xcb, 0x05, 0xc3, 0xcc, 0x22, 0x09, 0xd2, 0xa1,
+  0x8c, 0x03, 0x8e, 0xe7, 0x88, 0x31, 0x50, 0xd5, 0x51, 0x46, 0x61, 0x7e,
+  0xb0, 0xbc, 0xb8, 0x11, 0xb2, 0xf8, 0x1a, 0x4c, 0xc1, 0x31, 0x2f, 0x72,
+  0x52, 0xb3, 0xd9, 0x7c, 0x51, 0x85, 0xaa, 0xcd, 0x48, 0x45, 0xa5, 0x6f,
+  0x63, 0x87, 0xca, 0x68, 0xb6, 0x68, 0xf5, 0x77, 0xf7, 0x94, 0x0b, 0x9e,
+  0xa2, 0x3b, 0xa2, 0xac, 0x46, 0xd9, 0xec, 0xde, 0x66, 0x53, 0x3f, 0x10,
+  0x83, 0x02, 0x23, 0x2d, 0xb1, 0x6e, 0x93, 0xbf, 0xa3, 0x49, 0x0b, 0xe6,
+  0x2d, 0x65, 0x05, 0x41, 0x63, 0xb9, 0xe5, 0x66, 0x9f, 0x0e, 0x7b, 0xa4,
+  0xde, 0x4f, 0xe7, 0xc7, 0xf8, 0x39, 0x86, 0x63, 0xc6, 0xaf, 0x61, 0x33,
+  0x0e, 0xa2, 0x3f, 0xe7, 0x69, 0xc7, 0x09, 0xd2, 0x6a, 0x67, 0xe6, 0xf7,
+  0x69, 0x1a, 0xe3, 0xee, 0xe2, 0xa3, 0x4b, 0x3a, 0x39, 0x70, 0xd2, 0xe7,
+  0x45, 0x56, 0x7e, 0xc4, 0xd6, 0x5f, 0x00, 0x7f, 0x39, 0xb8, 0x5f, 0x73,
+  0xf7, 0xc1, 0xf2, 0xad, 0xa5, 0xef, 0x3c, 0x0d, 0x89, 0x0f, 0x0a, 0x0d,
+  0xde, 0x2a, 0xb5, 0xe9, 0x03, 0x6b, 0x8b, 0x6d, 0xcd, 0xb0, 0x1f, 0xa7,
+  0xb3, 0x7b, 0x95, 0x4d, 0x5d, 0x2b, 0xec, 0xc7, 0x69, 0xfc, 0x61, 0x42,
+  0x80, 0x19, 0xda, 0x87, 0x09, 0x72, 0xcd, 0x30, 0xbe, 0x3a, 0xfc, 0xfa,
+  0x6a, 0x69, 0xee, 0x7d, 0x7a, 0x77, 0x2f, 0x85, 0xde, 0x3c, 0xf7, 0x01,
+  0xc2, 0xb4, 0x69, 0xc3, 0x95, 0xa6, 0x3f, 0x93, 0x3e, 0x6f, 0xc6, 0x82,
+  0xa9, 0x8d, 0xce, 0x87, 0x11, 0x45, 0xdc, 0x7d, 0x14, 0x25, 0xd3, 0xe4,
+  0x97, 0xaf, 0x25, 0x5e, 0x53, 0x4e, 0x31, 0xfc, 0xb3, 0x74, 0x2b, 0x3e,
+  0x48, 0xa1, 0x37, 0x49, 0xac, 0xfe, 0x1e, 0xfc, 0xfb, 0x54, 0x9a, 0x8f,
+  0xbe, 0xd4, 0xbc, 0x9b, 0xeb, 0xaf, 0xb7, 0x01, 0xa3, 0xbd, 0x9f, 0x46,
+  0xf3, 0xda, 0x60, 0xd7, 0x46, 0x9b, 0xfd, 0xf3, 0xd7, 0x27, 0xdf, 0x9f,
+  0x6d, 0x35, 0xb1, 0xae, 0xb9, 0x50, 0xa1, 0x17, 0xd4, 0xe2, 0x68, 0x3b,
+  0x4b, 0xf5, 0x1b, 0x8b, 0x8e, 0xeb, 0xaa, 0x38, 0x81, 0x48, 0x7c, 0x67,
+  0x2c, 0x66, 0x28, 0x12, 0xa9, 0xb9, 0x9e, 0xba, 0x63, 0x7b, 0xfc, 0x54,
+  0x1a, 0x8f, 0xed, 0xe1, 0x23, 0x2b, 0x3d, 0xeb, 0xeb, 0x39, 0x88, 0xe6,
+  0x7a, 0xcf, 0xad, 0x0e, 0xe0, 0x98, 0x47, 0x1f, 0xa8, 0xbc, 0x12, 0x96,
+  0x6c, 0x4d, 0x75, 0xa5, 0x5e, 0x6a, 0xdb, 0xe6, 0x95, 0x59, 0xbf, 0xdf,
+  0x26, 0x7e, 0x1a, 0x60, 0x6a, 0xa7, 0xf1, 0x65, 0x5b, 0xf7, 0x70, 0xe1,
+  0xc1, 0xa3, 0x10, 0x77, 0x0f, 0x03, 0x60, 0xd0, 0xfc, 0xc5, 0x32, 0x60,
+  0x13, 0xcb, 0x29, 0xe9, 0xa9, 0x0f, 0xb8, 0xb0, 0xee, 0x83, 0x71, 0x62,
+  0x6f, 0xaa, 0x4f, 0xe5, 0x27, 0xa8, 0x83, 0x9d, 0x7c, 0x54, 0xf6, 0xe9,
+  0x25, 0x01, 0x98, 0xd6, 0xef, 0xc1, 0x39, 0xff, 0x73, 0x60, 0x30, 0x1c,
+  0x3f, 0x7b, 0x00, 0x07, 0xe3, 0xff, 0xc2, 0x60, 0xfc, 0x5f, 0x18, 0x8c,
+  0x0f, 0x87, 0xc1, 0x70, 0x25, 0xa8, 0x87, 0xe0, 0x39, 0x3c, 0x58, 0x8e,
+  0x5d, 0xa1, 0x81, 0x7e, 0x28, 0xaa, 0x83, 0xdf, 0xc8, 0x47, 0xc4, 0x76,
+  0xa8, 0xb5, 0xbb, 0x54, 0x36, 0xfb, 0x2a, 0xc4, 0x61, 0x90, 0x64, 0xb3,
+  0xa1, 0x40, 0x55, 0x1f, 0xe2, 0xbf, 0xcb, 0xe0, 0xd4, 0xeb, 0x69, 0x63,
+  0x4e, 0x5e, 0x80, 0x34, 0xc3, 0x96, 0x12, 0x6b, 0xfc, 0x8b, 0x7c, 0x50,
+  0x3c, 0x39, 0x4d, 0xe1, 0x30, 0xaa, 0xf0, 0xb0, 0x3e, 0xf5, 0xf6, 0x2f,
+  0xdf, 0xfd, 0xda, 0x50, 0x3a, 0xe5, 0x55, 0xb1, 0xc0, 0x52, 0xb5, 0x77,
+  0x9d, 0x87, 0x8a, 0x53, 0xb5, 0xf6, 0x96, 0x6d, 0xd8, 0xa3, 0xfd, 0xe0,
+  0x86, 0x95, 0x93, 0x98, 0xb6, 0x01, 0x41, 0xf8, 0x3d, 0x27, 0x81, 0xbd,
+  0x98, 0x1b, 0xcf, 0x7d, 0x80, 0xaa, 0xdf, 0xd2, 0xf3, 0x8a, 0x3a, 0x6a,
+  0x8d, 0xe6, 0x9a, 0x99, 0xcd, 0xed, 0x3a, 0x7f, 0xa3, 0x9b, 0x07, 0x6e,
+  0x5a, 0x63, 0xac, 0x1f, 0xa8, 0x02, 0x35, 0x9b, 0x5b, 0x5f, 0x07, 0xa2,
+  0x16, 0x16, 0x15, 0x96, 0x3a, 0xce, 0x80, 0xd9, 0x93, 0x7b, 0x74, 0xf9,
+  0xde, 0x35, 0x1e, 0xfe, 0x58, 0x1b, 0xd8, 0x6c, 0xb6, 0x4d, 0x9e, 0x8d,
+  0xfd, 0x6c, 0xb5, 0x25, 0x9b, 0x28, 0x85, 0x37, 0x9a, 0xdb, 0xe8, 0x74,
+  0x16, 0xb8, 0x0d, 0x3f, 0x60, 0x6b, 0x9b, 0xb3, 0xf8, 0xe0, 0x80, 0x8e,
+  0x60, 0xab, 0x1c, 0xae, 0xdb, 0xc8, 0x14, 0xe7, 0xad, 0x0e, 0x05, 0x74,
+  0x3c, 0x0d, 0x5a, 0xe3, 0xaa, 0x49, 0xb9, 0xbb, 0x6f, 0x5d, 0xdc, 0xf2,
+  0xcb, 0x02, 0xb1, 0xfa, 0x43, 0xee, 0x6e, 0x16, 0xe7, 0xfa, 0xa6, 0x6e,
+  0x85, 0x84, 0xba, 0xd2, 0x5b, 0x14, 0x44, 0x99, 0x96, 0xaa, 0x42, 0x99,
+  0x58, 0x6d, 0xbd, 0x84, 0x03, 0xd8, 0xd5, 0x54, 0x0b, 0xc8, 0x25, 0x17,
+  0x52, 0xae, 0x10, 0x96, 0x4e, 0xb5, 0x81, 0x92, 0x44, 0x9a, 0xdd, 0xde,
+  0x3e, 0xd7, 0x5d, 0xa1, 0xd8, 0x73, 0x10, 0xb3, 0x64, 0x9c, 0x4d, 0x17,
+  0x0b, 0x0f, 0x60, 0x8a, 0xd8, 0xe7, 0xea, 0x47, 0x02, 0x46, 0x9b, 0x8d,
+  0xf4, 0xf9, 0x5e, 0xf4, 0x06, 0xed, 0xd7, 0x58, 0x95, 0x1d, 0xc7, 0x43,
+  0xd2, 0x12, 0xb4, 0x1d, 0xc9, 0xf7, 0xa1, 0xe6, 0x34, 0x87, 0x8b, 0x33,
+  0xbf, 0x80, 0xd9, 0xbf, 0x7d, 0x73, 0xea, 0x67, 0xe5, 0xe8, 0x86, 0x52,
+  0x12, 0x73, 0x99, 0x6e, 0x8f, 0xf2, 0x61, 0xb9, 0x8d, 0xbb, 0xa6, 0x1d,
+  0x5f, 0x55, 0xd3, 0x49, 0xd0, 0x36, 0xae, 0x97, 0x17, 0x89, 0x53, 0x52,
+  0x14, 0x60, 0x72, 0x27, 0x25, 0x8d, 0x2d, 0xa0, 0x03, 0x11, 0x59, 0xe6,
+  0xd4, 0xe4, 0x81, 0xef, 0xbd, 0x4a, 0xb8, 0x04, 0x75, 0x05, 0x13, 0x82,
+  0xff, 0x43, 0xa1, 0x86, 0x42, 0xed, 0x03, 0xf5, 0x14, 0x92, 0x68, 0x94,
+  0xc1, 0x59, 0xa1, 0xf2, 0x03, 0x0e, 0x94, 0x95, 0xbf, 0x37, 0x0c, 0x42,
+  0x5e, 0x15, 0x77, 0x78, 0x81, 0x91, 0x3c, 0x28, 0x9b, 0xd1, 0xd8, 0x71,
+  0x93, 0x6c, 0xcd, 0x40, 0xed, 0x4c, 0x59, 0xcd, 0x23, 0x25, 0x24, 0xb6,
+  0x22, 0x4a, 0xd9, 0x23, 0xc9, 0xcf, 0x7b, 0xbd, 0xd6, 0xc7, 0x02, 0xb3,
+  0x7f, 0x77, 0x74, 0xd2, 0x7f, 0xb7, 0xbb, 0xf7, 0xe5, 0xbb, 0xef, 0x8f,
+  0x5f, 0xbd, 0xeb, 0xbf, 0x38, 0x42, 0xe9, 0xfe, 0x81, 0x57, 0x6d, 0xbd,
+  0x6d, 0x09, 0xcb, 0xa2, 0x88, 0x88, 0x3a, 0xa4, 0xe7, 0x6e, 0xcb, 0xb9,
+  0x45, 0xc5, 0xf8, 0x3e, 0x96, 0x5b, 0xf7, 0xd1, 0x0f, 0x31, 0x1b, 0xba,
+  0xed, 0x7c, 0xfe, 0x6d, 0x31, 0x43, 0xe9, 0xbf, 0x39, 0xff, 0x34, 0x4a,
+  0x30, 0x74, 0x42, 0x98, 0xa0, 0xab, 0xaf, 0x4f, 0x78, 0xd2, 0x60, 0x22,
+  0x1c, 0x32, 0xe0, 0xc1, 0xd2, 0xed, 0x30, 0x0f, 0x7f, 0x80, 0x69, 0xc2,
+  0x6d, 0xe6, 0xde, 0x16, 0x8a, 0x4f, 0xb7, 0x1d, 0x66, 0x2c, 0x75, 0x93,
+  0xd0, 0x67, 0xdc, 0x11, 0xb2, 0x52, 0x05, 0x75, 0x86, 0xda, 0x5e, 0xd0,
+  0x63, 0x1f, 0xb6, 0x0f, 0xd4, 0xc4, 0xe7, 0x0d, 0x10, 0xd2, 0x51, 0x94,
+  0x53, 0x92, 0x57, 0x3f, 0xd1, 0xe2, 0xeb, 0x26, 0xdf, 0x6f, 0x03, 0xae,
+  0x77, 0x97, 0xad, 0xfb, 0xf5, 0xee, 0x47, 0x90, 0x19, 0xb9, 0x9d, 0x4f,
+  0x65, 0xf4, 0xe4, 0xd6, 0x3f, 0xd6, 0x62, 0x2e, 0x5b, 0xb4, 0xb7, 0xdd,
+  0xba, 0x71, 0xf5, 0xb0, 0x56, 0x06, 0xd0, 0xa3, 0x5f, 0xa7, 0x98, 0x9d,
+  0x53, 0xcc, 0xad, 0x86, 0xcc, 0xc2, 0x32, 0x98, 0xa3, 0xeb, 0x2e, 0xaf,
+  0xf2, 0xd8, 0x5a, 0xc6, 0x91, 0xab, 0x2b, 0x6b, 0x4d, 0x90, 0x7e, 0xff,
+  0xfc, 0x65, 0xcc, 0x49, 0x65, 0x23, 0xa9, 0x79, 0xc9, 0x85, 0x52, 0x19,
+  0xcc, 0x41, 0x4b, 0x15, 0xbf, 0x6e, 0xd1, 0xab, 0x29, 0xbf, 0x33, 0x50,
+  0x01, 0x94, 0xe3, 0x15, 0xb4, 0xc8, 0x4e, 0xe5, 0xe2, 0x2b, 0xc3, 0x99,
+  0x99, 0xf8, 0xd9, 0x53, 0x4b, 0x66, 0x4e, 0x96, 0x27, 0x92, 0x2b, 0xdd,
+  0x22, 0xbd, 0x03, 0x13, 0x58, 0x44, 0x02, 0x90, 0x57, 0xa5, 0x90, 0x6c,
+  0x7f, 0x0e, 0x32, 0x8c, 0x63, 0x5c, 0x3a, 0x88, 0x3a, 0xf1, 0xdb, 0xe8,
+  0xa0, 0xe3, 0x2d, 0xd1, 0x19, 0x02, 0x5f, 0x94, 0x55, 0x3a, 0xa5, 0x48,
+  0xa0, 0x82, 0xf4, 0x0d, 0x18, 0xc2, 0xfb, 0xd2, 0x35, 0x47, 0x5d, 0x61,
+  0x19, 0x5f, 0xeb, 0x0b, 0x50, 0x4b, 0x45, 0x71, 0xe9, 0x65, 0x12, 0x71,
+  0x94, 0x07, 0x1b, 0xce, 0x60, 0xcf, 0x86, 0x18, 0xdd, 0x82, 0xe2, 0x2e,
+  0xc6, 0xb7, 0x98, 0x88, 0x27, 0x36, 0x99, 0xcd, 0x28, 0xa9, 0x52, 0xd2,
+  0x52, 0x31, 0xaf, 0x72, 0x18, 0xc8, 0xc9, 0xe6, 0x9c, 0xba, 0x92, 0x5b,
+  0x9c, 0xe7, 0x65, 0x99, 0x0d, 0x40, 0x98, 0xbc, 0x14, 0x41, 0xae, 0x4c,
+  0x39, 0xd1, 0x9d, 0xeb, 0x55, 0xe0, 0x5a, 0x92, 0x84, 0x6b, 0x0b, 0x22,
+  0x35, 0x97, 0x88, 0x66, 0x4a, 0xb1, 0x3d, 0x1c, 0x87, 0x23, 0x98, 0x24,
+  0x30, 0x3e, 0x85, 0x26, 0xb9, 0xce, 0xb0, 0x0b, 0x4d, 0x25, 0x4e, 0xa2,
+  0x69, 0xce, 0x4b, 0x4f, 0xc6, 0xb6, 0xa6, 0x34, 0x38, 0xc1, 0x1a, 0x7d,
+  0xc0, 0x48, 0xfa, 0x88, 0xd8, 0x53, 0xa6, 0xb3, 0x32, 0x23, 0x1c, 0x27,
+  0x42, 0x24, 0xb1, 0x18, 0x51, 0x45, 0x8a, 0x79, 0x9f, 0xd7, 0xa9, 0x6c,
+  0xab, 0x98, 0x72, 0x5b, 0x91, 0x62, 0x10, 0x70, 0x65, 0x9a, 0x21, 0x72,
+  0x3d, 0x21, 0xbd, 0x51, 0x0d, 0x57, 0x65, 0x30, 0xd4, 0x63, 0x84, 0x7c,
+  0xc5, 0x0f, 0xfd, 0xe8, 0x2d, 0x91, 0x7a, 0x88, 0xcc, 0x3e, 0x77, 0xf4,
+  0xb3, 0xa1, 0xf5, 0x83, 0xf9, 0x87, 0x7a, 0xca, 0xf0, 0xa0, 0x38, 0x9c,
+  0xc7, 0x61, 0xf6, 0x0f, 0x06, 0x3c, 0x5b, 0x06, 0xff, 0xe5, 0x40, 0x40,
+  0x79, 0x25, 0x2e, 0xc3, 0xb8, 0x5f, 0xe3, 0xec, 0x96, 0x90, 0xd0, 0xfd,
+  0x3a, 0xd9, 0x4d, 0x0c, 0x2d, 0xc4, 0x5e, 0x60, 0xb7, 0x93, 0x59, 0xe2,
+  0x8a, 0xaa, 0x41, 0x51, 0x89, 0x16, 0x37, 0x03, 0xef, 0xad, 0xa7, 0x2c,
+  0x59, 0x5c, 0xb0, 0x1a, 0x12, 0x98, 0x05, 0x02, 0x43, 0x62, 0xb2, 0x30,
+  0x60, 0x84, 0xd6, 0xc7, 0x51, 0x8d, 0x09, 0x8e, 0xc0, 0xd7, 0x6e, 0xc6,
+  0xd9, 0xb0, 0x1d, 0x04, 0xcc, 0xcf, 0xb8, 0xcd, 0x6e, 0xb5, 0x9c, 0x3b,
+  0xf6, 0x92, 0x56, 0x0c, 0x1c, 0x61, 0x31, 0x54, 0xc6, 0xda, 0xbf, 0x4e,
+  0xa1, 0x0f, 0xc4, 0x45, 0x89, 0x22, 0x01, 0xe8, 0x11, 0x05, 0xed, 0xc7,
+  0xaf, 0x28, 0xf0, 0xae, 0x17, 0xa5, 0xbd, 0xcb, 0x9e, 0x33, 0x01, 0xf3,
+  0xe6, 0x36, 0xba, 0x45, 0xb6, 0xab, 0x7c, 0x9b, 0xbb, 0xed, 0xe1, 0x8f,
+  0x2f, 0xda, 0x51, 0xde, 0x4c, 0x5a, 0xed, 0x75, 0x96, 0x18, 0x72, 0xb3,
+  0x7b, 0xc1, 0xdb, 0x15, 0x51, 0xb5, 0x58, 0x29, 0x8e, 0xd3, 0x96, 0x4b,
+  0xc2, 0x95, 0x56, 0x03, 0x10, 0xd1, 0xaf, 0xfb, 0xfd, 0xc0, 0xfa, 0x14,
+  0xe9, 0x30, 0xbf, 0x9c, 0x65, 0xbf, 0x51, 0x5d, 0x52, 0xb4, 0x73, 0x34,
+  0x01, 0x66, 0x6a, 0x68, 0x6f, 0x9a, 0x57, 0xa9, 0xd9, 0xbb, 0x3e, 0x7f,
+  0x27, 0x5c, 0x0a, 0xba, 0x75, 0x51, 0x8e, 0x40, 0x20, 0x52, 0xd9, 0xa6,
+  0x92, 0xa2, 0x4e, 0x29, 0xc1, 0x3d, 0x15, 0x40, 0x35, 0x83, 0x5e, 0xc3,
+  0x1d, 0x7b, 0xb4, 0xa3, 0x44, 0x27, 0xb5, 0x0b, 0xff, 0x03, 0xa0, 0xd9,
+  0x5c, 0x2b, 0xb8, 0x16, 0x8f, 0x2f, 0xb9, 0x30, 0x26, 0x9e, 0xbc, 0x60,
+  0xb9, 0x7a, 0x53, 0x0f, 0xd8, 0xd7, 0x0b, 0x74, 0x19, 0x70, 0x8d, 0x59,
+  0x92, 0xe8, 0x49, 0x41, 0xce, 0x22, 0xdd, 0x28, 0x69, 0x95, 0x9d, 0x16,
+  0x4d, 0xb1, 0x43, 0x35, 0x12, 0x24, 0xa1, 0x12, 0xf7, 0xb6, 0x88, 0x1e,
+  0xb2, 0x49, 0x13, 0x00, 0xbb, 0xba, 0xe0, 0xfd, 0x11, 0xc6, 0x7b, 0x6a,
+  0x59, 0x4f, 0x09, 0xbc, 0xc4, 0xb3, 0x22, 0x85, 0x4e, 0x52, 0x2e, 0xf1,
+  0x8e, 0x83, 0xb2, 0x27, 0x9e, 0xf9, 0x01, 0xa1, 0x59, 0x78, 0x05, 0xbc,
+  0x13, 0xb5, 0xb0, 0x0c, 0x52, 0xc5, 0x93, 0x25, 0x9a, 0x82, 0x61, 0x60,
+  0x03, 0x3d, 0xac, 0x18, 0x8e, 0x98, 0x9a, 0x1a, 0xe3, 0x09, 0x5f, 0xe3,
+  0x31, 0x6d, 0x49, 0x27, 0x57, 0x38, 0x40, 0x77, 0x88, 0x9c, 0xea, 0x2b,
+  0xc1, 0xa0, 0x89, 0x02, 0x51, 0xd4, 0xef, 0x70, 0x32, 0x8d, 0x25, 0x1e,
+  0x69, 0x49, 0xa9, 0x42, 0x12, 0x83, 0x16, 0xb3, 0x19, 0x96, 0x0a, 0x12,
+  0x88, 0x46, 0x43, 0x2b, 0x5d, 0x64, 0x6e, 0x98, 0x0d, 0x6e, 0xc2, 0x0c,
+  0x84, 0x81, 0xc3, 0x0b, 0x5e, 0x68, 0x68, 0x3a, 0x69, 0x33, 0xb8, 0xfc,
+  0xff, 0x07, 0x9a, 0x9f, 0xbd, 0x84, 0x88, 0x37, 0x7a, 0x57, 0x90, 0x49,
+  0xc1, 0xbf, 0x01, 0x26, 0x20, 0x25, 0x26, 0x85, 0xf0, 0x91, 0xc4, 0x3d,
+  0x8f, 0xac, 0x77, 0x88, 0xba, 0x91, 0xc4, 0x0b, 0x37, 0xd3, 0xf6, 0x95,
+  0x37, 0x6e, 0x0a, 0xb7, 0xd8, 0x0a, 0xc0, 0xa0, 0x50, 0xc0, 0x3a, 0x22,
+  0xcd, 0xe3, 0xa2, 0xd1, 0x1d, 0xff, 0x47, 0xb3, 0x1d, 0x4b, 0x74, 0xce,
+  0xcf, 0x99, 0xc7, 0x2f, 0x52, 0x87, 0x87, 0x48, 0xb8, 0xa6, 0xc7, 0x82,
+  0x2e, 0xa6, 0x7b, 0x44, 0xeb, 0xec, 0xc2, 0xc5, 0x71, 0xe8, 0xc8, 0x22,
+  0xdf, 0x04, 0x84, 0x11, 0x2f, 0x8c, 0x80, 0xc1, 0x4b, 0xf1, 0x55, 0xbd,
+  0x3c, 0xa5, 0x9a, 0xb0, 0xcf, 0x8f, 0xc3, 0xa7, 0x19, 0x41, 0x6b, 0x88,
+  0x13, 0x1b, 0xde, 0x8b, 0x78, 0x12, 0xf8, 0x72, 0x0b, 0xf7, 0x4d, 0xd9,
+  0x52, 0xab, 0x66, 0x55, 0xb8, 0x6c, 0x06, 0x69, 0x75, 0x83, 0x22, 0x36,
+  0x29, 0x12, 0x5a, 0xb8, 0xd3, 0x61, 0x50, 0xc6, 0xec, 0x0b, 0x12, 0x58,
+  0x38, 0x84, 0xb9, 0x1b, 0x31, 0x80, 0x0c, 0xb2, 0xbb, 0x0a, 0x64, 0x6f,
+  0x81, 0xd4, 0xc0, 0x6b, 0x4e, 0x33, 0x11, 0x3c, 0xde, 0x10, 0x42, 0xa0,
+  0xb4, 0x09, 0x15, 0xdc, 0x3f, 0xae, 0x8b, 0x03, 0x73, 0x53, 0x03, 0x59,
+  0xd4, 0xdc, 0x73, 0x79, 0x70, 0x77, 0xb5, 0x0a, 0x8e, 0xad, 0x7d, 0x22,
+  0xfd, 0x1b, 0x9b, 0xfe, 0x48, 0x61, 0xc9, 0x5d, 0x9f, 0xe6, 0xd2, 0x86,
+  0xd4, 0x1a, 0xcf, 0xbb, 0x0e, 0x23, 0x9d, 0x79, 0x25, 0xb6, 0xb8, 0x98,
+  0x5b, 0xed, 0x92, 0xd1, 0xf2, 0xd8, 0xb5, 0x8e, 0xaa, 0x9a, 0x51, 0xdf,
+  0xc2, 0xbc, 0x86, 0x32, 0x38, 0x5a, 0x79, 0x3c, 0x3b, 0x3b, 0xe4, 0xdb,
+  0x64, 0x0e, 0x9f, 0x25, 0x0c, 0x7f, 0x35, 0x4d, 0x46, 0x69, 0x28, 0xc1,
+  0xa9, 0x41, 0x5d, 0x8d, 0x54, 0x15, 0x9a, 0xb4, 0xe0, 0x4f, 0x97, 0xb6,
+  0x2a, 0xac, 0x31, 0x0d, 0x4c, 0xbc, 0x78, 0x0b, 0x64, 0xd8, 0x82, 0xea,
+  0x25, 0x0e, 0x1c, 0xcd, 0x4e, 0x91, 0xc8, 0x42, 0xf7, 0x28, 0xb1, 0xb6,
+  0x9b, 0xcc, 0x04, 0x84, 0x38, 0x7c, 0x0d, 0x99, 0x39, 0xe6, 0xa1, 0x82,
+  0xa8, 0xa6, 0x1c, 0x6a, 0x73, 0xfc, 0x02, 0x83, 0x21, 0xe1, 0xfe, 0x75,
+  0x5f, 0x08, 0xc7, 0x5c, 0x79, 0x4e, 0x25, 0x29, 0x3b, 0xaa, 0xaf, 0x2c,
+  0x28, 0xee, 0x4e, 0x3b, 0x88, 0x65, 0x3a, 0x71, 0x5b, 0x02, 0x81, 0x1f,
+  0x44, 0x2e, 0xdb, 0x10, 0x86, 0x8e, 0xfc, 0xd0, 0x20, 0x72, 0x6e, 0xfc,
+  0x41, 0xe7, 0x43, 0xc6, 0xf5, 0xb1, 0x22, 0xf7, 0x5d, 0xd6, 0x2b, 0x21,
+  0x5d, 0x81, 0x28, 0xe4, 0xcd, 0x3e, 0xc2, 0xc1, 0xf5, 0x8f, 0xcf, 0xb7,
+  0xa2, 0xf3, 0x46, 0xb4, 0x16, 0x57, 0x0c, 0x3f, 0xaa, 0xdf, 0xf6, 0x7c,
+  0x4d, 0xb1, 0x41, 0x66, 0x49, 0x60, 0x4f, 0x26, 0x9c, 0xd2, 0xa4, 0x50,
+  0x51, 0x16, 0x4a, 0x73, 0xdc, 0x9b, 0x47, 0x54, 0x5b, 0x8b, 0x0b, 0x83,
+  0x88, 0x95, 0xc5, 0xe5, 0x8d, 0xe8, 0x22, 0x45, 0x4c, 0x58, 0x2a, 0xf0,
+  0xab, 0xb1, 0x49, 0x1a, 0x53, 0x34, 0xf1, 0x50, 0x42, 0x68, 0xe4, 0x8a,
+  0xa4, 0xe5, 0x14, 0x3c, 0xa3, 0xce, 0xa9, 0x14, 0x01, 0x5e, 0xc6, 0x7c,
+  0xb1, 0xd7, 0x10, 0x4c, 0xa3, 0xcb, 0x74, 0x96, 0x86, 0x6a, 0x8d, 0xde,
+  0x91, 0x6c, 0x27, 0x27, 0x8d, 0xb0, 0x9f, 0xab, 0x54, 0xcf, 0x1b, 0x5e,
+  0xda, 0x76, 0xc5, 0x64, 0x70, 0x19, 0xc1, 0xdc, 0xf1, 0xc1, 0xf4, 0x96,
+  0x66, 0xa0, 0x46, 0xb0, 0x01, 0x21, 0xd5, 0x62, 0x1d, 0x49, 0xa2, 0x21,
+  0x52, 0x42, 0x87, 0xf9, 0xfc, 0x0e, 0x17, 0x03, 0x1e, 0x2b, 0xcb, 0xab,
+  0x3d, 0xe0, 0xd6, 0x7b, 0xbd, 0x2f, 0x19, 0xbe, 0xfa, 0x0a, 0x64, 0x38,
+  0xcf, 0x99, 0x59, 0x49, 0xa6, 0x59, 0x56, 0x95, 0xe9, 0x64, 0xdc, 0x6c,
+  0x4f, 0x14, 0xb3, 0xde, 0x56, 0x8b, 0x03, 0x88, 0x09, 0xe2, 0xb3, 0xc1,
+  0x21, 0x73, 0xf7, 0x44, 0x13, 0xf0, 0x7b, 0x54, 0xae, 0x53, 0x60, 0xb1,
+  0x69, 0xf1, 0xf8, 0x2b, 0x92, 0x3c, 0xd7, 0x84, 0x3f, 0x14, 0x23, 0x90,
+  0x47, 0xe4, 0x44, 0xe3, 0xcf, 0x31, 0xd5, 0xb1, 0x9f, 0xce, 0x46, 0x9c,
+  0x87, 0x35, 0xc8, 0x60, 0xc7, 0x8a, 0x3b, 0x63, 0x38, 0xaa, 0xf3, 0xc3,
+  0xe7, 0x8c, 0x97, 0x1e, 0xd1, 0x6b, 0xc1, 0x22, 0x00, 0xa0, 0x78, 0xfe,
+  0x95, 0x7a, 0x95, 0x06, 0x44, 0xe3, 0x47, 0x71, 0xf2, 0xbb, 0x93, 0xe7,
+  0x67, 0x6f, 0x4e, 0xea, 0xd0, 0xc1, 0x15, 0x95, 0x74, 0xa4, 0x54, 0xa8,
+  0xe6, 0xe8, 0xa8, 0xb6, 0x37, 0x97, 0x0b, 0xe0, 0x24, 0xae, 0x0c, 0x2d,
+  0x7d, 0xd1, 0xf9, 0x0f, 0xcf, 0xcc, 0xe0, 0x32, 0xba, 0xab, 0x68, 0x50,
+  0xda, 0x62, 0x97, 0x03, 0x2f, 0x3d, 0x41, 0x90, 0x02, 0xf0, 0xb6, 0x7a,
+  0xc8, 0x85, 0x39, 0xcd, 0x4b, 0x87, 0x47, 0x29, 0x68, 0x9c, 0x38, 0xa8,
+  0xb5, 0x09, 0x40, 0x22, 0x47, 0xbb, 0x24, 0xd6, 0x1a, 0x30, 0xcd, 0x7a,
+  0xca, 0x1e, 0x89, 0xbd, 0x54, 0xa6, 0x4e, 0x0c, 0x3c, 0x58, 0x3f, 0x1b,
+  0x8b, 0x6a, 0xfb, 0xe7, 0x19, 0x07, 0x88, 0x92, 0xd3, 0x96, 0xdf, 0xbb,
+  0xe6, 0xd1, 0x71, 0xd7, 0x44, 0x08, 0xc4, 0x6f, 0x39, 0xac, 0x6b, 0x14,
+  0x2a, 0x5b, 0x89, 0xc6, 0x57, 0x62, 0xdc, 0x06, 0x4a, 0xa3, 0x2b, 0x85,
+  0xd0, 0x35, 0xe2, 0x4f, 0x0a, 0x9f, 0x4f, 0x9c, 0x75, 0x96, 0x0e, 0x37,
+  0xcb, 0xad, 0xf6, 0x99, 0x98, 0x65, 0x95, 0x09, 0x6d, 0xfc, 0x71, 0xa3,
+  0xae, 0xcd, 0x59, 0x5d, 0x94, 0x2e, 0xa8, 0x04, 0x87, 0xe0, 0xe9, 0x0e,
+  0x82, 0xee, 0x21, 0x36, 0x5d, 0x3a, 0x4b, 0xfa, 0x9a, 0xb7, 0x32, 0xcb,
+  0xb3, 0x61, 0x75, 0x91, 0x7a, 0x01, 0x5c, 0x4f, 0x23, 0xc3, 0x89, 0x88,
+  0xc1, 0x45, 0x04, 0xab, 0x7c, 0x8e, 0x32, 0x2c, 0x97, 0x0c, 0x18, 0x83,
+  0x46, 0x4a, 0xc9, 0x41, 0x66, 0xd1, 0xf1, 0x49, 0xb8, 0x18, 0x7d, 0xcf,
+  0xc0, 0x6c, 0x81, 0x60, 0x8f, 0x18, 0x93, 0x31, 0xae, 0x2d, 0x04, 0x36,
+  0x01, 0x87, 0xbe, 0x75, 0x89, 0x10, 0x4c, 0xae, 0x0c, 0x28, 0x75, 0x59,
+  0xf9, 0x1e, 0xb6, 0xfd, 0x0f, 0x40, 0x6e, 0x54, 0x49, 0xeb, 0x26, 0x2b,
+  0x81, 0xd1, 0x4a, 0xdb, 0x12, 0x9f, 0x2a, 0xe9, 0x9e, 0x3a, 0x4a, 0xb2,
+  0x1b, 0xe5, 0xb3, 0x16, 0xcc, 0x33, 0x5d, 0x09, 0xe6, 0x3f, 0x68, 0xf2,
+  0x2e, 0x52, 0xab, 0x8a, 0x1b, 0xb3, 0x20, 0x05, 0x85, 0xb6, 0x2d, 0x33,
+  0x45, 0x8b, 0xe0, 0x31, 0x2f, 0xef, 0x66, 0x15, 0xf2, 0x64, 0xbe, 0x3e,
+  0x86, 0x79, 0x41, 0xf2, 0x0f, 0xd2, 0xa8, 0x3d, 0xb2, 0x25, 0xd5, 0x14,
+  0xf9, 0xea, 0xf1, 0x57, 0xb8, 0xd0, 0x7e, 0x89, 0x82, 0x99, 0x66, 0x32,
+  0xd2, 0xd1, 0xe3, 0x19, 0xa1, 0x8e, 0x68, 0xe6, 0x50, 0x1b, 0x35, 0xd1,
+  0x02, 0xea, 0xcb, 0x29, 0x82, 0xae, 0x7a, 0x82, 0x0c, 0x5d, 0xb5, 0xd2,
+  0xc6, 0x03, 0xf1, 0xe8, 0xfc, 0xdc, 0x53, 0x6c, 0x13, 0x55, 0x12, 0xf5,
+  0xdc, 0xa8, 0x2a, 0xd0, 0x8b, 0xde, 0xce, 0x28, 0xd7, 0x19, 0xd7, 0xfb,
+  0x39, 0xc2, 0xbf, 0xb2, 0x98, 0x35, 0x83, 0x5d, 0x83, 0x6d, 0xc6, 0x8a,
+  0x28, 0x01, 0xd6, 0xc6, 0x7c, 0xd4, 0x4e, 0x48, 0xaf, 0x97, 0x66, 0x88,
+  0x2d, 0xb1, 0x03, 0xe1, 0x98, 0xca, 0x0e, 0x9f, 0x67, 0x5e, 0x09, 0x11,
+  0x14, 0x21, 0xd8, 0x20, 0x07, 0xd3, 0xa1, 0xb6, 0x31, 0x84, 0x3a, 0x9d,
+  0x4c, 0x18, 0xfa, 0x1a, 0x5b, 0x20, 0x7d, 0x99, 0x61, 0xd0, 0x29, 0x69,
+  0xd8, 0xb5, 0x23, 0x78, 0x37, 0x32, 0xa1, 0xb9, 0xf7, 0x10, 0x0b, 0x52,
+  0x4b, 0xb6, 0x28, 0x28, 0xa7, 0x06, 0x12, 0x21, 0x08, 0xad, 0x35, 0x2c,
+  0xd2, 0xea, 0xfc, 0x43, 0xb9, 0xb4, 0xe7, 0xa1, 0xc1, 0x29, 0x7a, 0xb1,
+  0x3f, 0x09, 0x2e, 0x34, 0x3a, 0x2e, 0x98, 0xb3, 0x84, 0xa1, 0x19, 0x51,
+  0x9c, 0xe7, 0x07, 0xf5, 0x9c, 0x94, 0x69, 0x55, 0xda, 0x4b, 0x33, 0x21,
+  0xbe, 0x4a, 0x7b, 0x46, 0x60, 0x9e, 0x24, 0x9e, 0xb7, 0x37, 0x87, 0xeb,
+  0x24, 0x70, 0xa8, 0x86, 0xa3, 0x11, 0xd5, 0xcf, 0x46, 0xac, 0x3a, 0x1c,
+  0xd2, 0x78, 0xd2, 0x5b, 0x92, 0x79, 0x81, 0x44, 0xbe, 0x09, 0xd7, 0x33,
+  0xb7, 0x92, 0x0b, 0x48, 0x3b, 0x45, 0x45, 0xd2, 0x15, 0xbd, 0xc9, 0x76,
+  0x9e, 0x92, 0xf1, 0xac, 0x25, 0x9a, 0x1a, 0xc8, 0xe1, 0xdd, 0x65, 0x5a,
+  0xe1, 0xf7, 0x9b, 0xfb, 0x5b, 0xb4, 0x1c, 0xe1, 0xe6, 0xe6, 0x08, 0x85,
+  0x4f, 0xf0, 0xd7, 0xf5, 0x41, 0x18, 0x38, 0x6c, 0x10, 0xe4, 0xac, 0x2b,
+  0xf4, 0xe9, 0x7e, 0x6f, 0xc7, 0x13, 0x3b, 0x86, 0x57, 0x97, 0xc5, 0x3c,
+  0xba, 0x04, 0x95, 0x61, 0xbe, 0x62, 0x55, 0xe5, 0x51, 0x6f, 0x59, 0xf9,
+  0xdd, 0x97, 0xcf, 0xf4, 0xcc, 0x19, 0x11, 0x15, 0xcd, 0x53, 0xe1, 0xe6,
+  0x9a, 0x4b, 0xa9, 0x04, 0x6b, 0x9a, 0xb2, 0x36, 0x06, 0x5d, 0x79, 0xfe,
+  0x2e, 0xdc, 0x5c, 0x6d, 0x43, 0xb8, 0x0d, 0x6d, 0x98, 0x0e, 0xe0, 0x08,
+  0x1a, 0x9b, 0x26, 0x7c, 0xc4, 0x2e, 0x81, 0xf1, 0x69, 0x37, 0x7e, 0xb6,
+  0xff, 0xd5, 0x34, 0x1f, 0x21, 0x64, 0x6a, 0xba, 0x7a, 0x2d, 0xf0, 0x49,
+  0xb3, 0x18, 0x0a, 0x36, 0x5b, 0x3a, 0x04, 0xc5, 0xed, 0x0c, 0x32, 0xde,
+  0x6c, 0xff, 0x12, 0x6d, 0x5a, 0x42, 0x24, 0x1f, 0x1c, 0x9b, 0xa7, 0x37,
+  0xdd, 0x29, 0xcc, 0xa2, 0x7c, 0x58, 0x39, 0x33, 0xc0, 0x07, 0x5a, 0x08,
+  0x96, 0xee, 0xae, 0xc0, 0xcc, 0x10, 0x77, 0x94, 0x2c, 0x5f, 0xcb, 0x67,
+  0xc6, 0x0f, 0x7a, 0x9b, 0x0c, 0x1f, 0xf2, 0x8d, 0xe8, 0xed, 0x70, 0xfb,
+  0xcc, 0x42, 0x3b, 0x4c, 0x23, 0x68, 0x6e, 0x30, 0x2d, 0x19, 0xbb, 0xff,
+  0xf0, 0xf1, 0xb8, 0xe5, 0xec, 0xe8, 0x0e, 0xd3, 0x93, 0x4b, 0x37, 0x58,
+  0x7a, 0xf1, 0x56, 0x61, 0x82, 0x4e, 0xa0, 0x45, 0x31, 0x4c, 0xdf, 0xb1,
+  0x68, 0x42, 0x05, 0x68, 0xdf, 0x2d, 0x5f, 0x90, 0x89, 0xd4, 0xa0, 0xb8,
+  0x9b, 0xa2, 0x24, 0x6f, 0x19, 0xf0, 0x90, 0x1c, 0x60, 0x28, 0xaa, 0x51,
+  0x4d, 0x06, 0xd0, 0x36, 0xe8, 0x7b, 0xd6, 0xf8, 0x5b, 0xc8, 0xde, 0xf6,
+  0x17, 0x99, 0x7a, 0x4b, 0xf3, 0x1c, 0x46, 0xad, 0xf5, 0x8a, 0xd8, 0xc0,
+  0xe6, 0x0c, 0x91, 0x9e, 0x6b, 0x59, 0x90, 0xa0, 0xb5, 0x79, 0xfa, 0x1e,
+  0x61, 0x3b, 0x8d, 0x5c, 0xf6, 0x6e, 0xe6, 0x7b, 0x98, 0x5d, 0x3a, 0xe6,
+  0xc7, 0x75, 0xbb, 0x79, 0x4e, 0x82, 0xd0, 0x6b, 0x50, 0xd2, 0xdc, 0x9d,
+  0x0e, 0x88, 0x5b, 0x75, 0xa9, 0xeb, 0x1d, 0xa3, 0x4b, 0xcb, 0x89, 0xf4,
+  0x46, 0x77, 0x5f, 0x16, 0x3e, 0x5d, 0xc2, 0xc2, 0x6b, 0x90, 0xc6, 0x2e,
+  0x23, 0x5f, 0x42, 0x86, 0xb5, 0x39, 0xdc, 0x93, 0x8b, 0x87, 0x9b, 0x43,
+  0x21, 0x67, 0x39, 0x17, 0x27, 0xc1, 0xa3, 0xc1, 0xc3, 0x3f, 0x25, 0x0b,
+  0x47, 0x4f, 0xb5, 0x5a, 0xe0, 0xe1, 0x57, 0x5d, 0x34, 0x15, 0xef, 0x08,
+  0xe9, 0x64, 0x50, 0xe6, 0x93, 0x05, 0x5a, 0x93, 0x92, 0xea, 0x8a, 0x77,
+  0x68, 0xac, 0xe3, 0x6c, 0xdd, 0xcf, 0x59, 0x65, 0x04, 0x7d, 0x43, 0x0c,
+  0xde, 0x8e, 0xc2, 0x63, 0xd8, 0x1c, 0xd3, 0xac, 0x50, 0x78, 0xfb, 0xb6,
+  0xca, 0xd3, 0x76, 0x88, 0x2c, 0x87, 0xd8, 0x4d, 0x29, 0x02, 0x74, 0xd7,
+  0x7e, 0x87, 0x68, 0xb7, 0x4d, 0x2e, 0x33, 0x4a, 0x51, 0xf2, 0x97, 0xf3,
+  0x85, 0xd9, 0x69, 0xab, 0x99, 0x15, 0x8f, 0xbc, 0x95, 0x70, 0x8b, 0xe9,
+  0x0a, 0x82, 0x85, 0x07, 0xec, 0xac, 0xb8, 0x24, 0x8c, 0x99, 0x95, 0xc7,
+  0xec, 0x84, 0x00, 0x5b, 0x56, 0xbe, 0x6d, 0x04, 0xb5, 0x83, 0xbd, 0xe4,
+  0x4c, 0xf3, 0x93, 0xc1, 0xe1, 0xd8, 0xc5, 0x85, 0xdd, 0x2d, 0xee, 0xec,
+  0xc8, 0x5a, 0x68, 0xfd, 0xae, 0xf1, 0x96, 0x2c, 0x4f, 0xd7, 0x71, 0x5a,
+  0x91, 0xad, 0x03, 0x0d, 0x43, 0x3e, 0x6d, 0x28, 0xcf, 0x5c, 0x8b, 0xe7,
+  0xa2, 0x3d, 0x61, 0x52, 0x2b, 0x14, 0x27, 0x62, 0xe2, 0x03, 0x00, 0x46,
+  0x3c, 0x6b, 0x87, 0x98, 0x39, 0xb8, 0xc5, 0xce, 0xb3, 0x93, 0xd3, 0x13,
+  0xda, 0x8b, 0x4e, 0xe4, 0xdb, 0x39, 0xc6, 0x79, 0x6e, 0xda, 0xb1, 0x36,
+  0x8e, 0x1f, 0xbb, 0xb6, 0x80, 0xb9, 0x3b, 0x46, 0x5c, 0x15, 0x90, 0x63,
+  0xdb, 0xb1, 0xd2, 0x9e, 0x61, 0xa5, 0x8a, 0x21, 0x85, 0x4c, 0x68, 0xb5,
+  0x8b, 0x46, 0xb5, 0x1e, 0xf6, 0x8c, 0x1b, 0x9f, 0x9e, 0xf8, 0xd2, 0xe1,
+  0xd0, 0x7f, 0xf9, 0x08, 0x43, 0xd8, 0x9a, 0xc6, 0xd3, 0x8c, 0xca, 0x08,
+  0xe4, 0x62, 0x6e, 0x92, 0x6a, 0x43, 0x57, 0x09, 0x03, 0x6b, 0x93, 0x85,
+  0x14, 0xc3, 0x8c, 0x58, 0xb5, 0x18, 0xd7, 0xa2, 0xd9, 0xa3, 0x7c, 0xd2,
+  0xdc, 0x6f, 0xe3, 0xa2, 0x07, 0xb6, 0xa0, 0x16, 0xaa, 0x2f, 0x96, 0x04,
+  0xc3, 0x99, 0x43, 0x85, 0x4d, 0xd2, 0xa4, 0x25, 0xc1, 0x93, 0x52, 0xee,
+  0x71, 0x44, 0xaa, 0x10, 0x52, 0x95, 0xd0, 0x51, 0x5a, 0x78, 0x24, 0x86,
+  0x26, 0x06, 0x5e, 0xb5, 0x88, 0xd3, 0x00, 0x89, 0x78, 0x29, 0x2c, 0x49,
+  0xd4, 0x12, 0xda, 0x6a, 0xc4, 0x36, 0x4f, 0xc5, 0x7f, 0x28, 0x8f, 0xa7,
+  0xb3, 0x4b, 0xdc, 0x64, 0x3f, 0x32, 0xa3, 0x9e, 0x8b, 0xd9, 0x52, 0x0c,
+  0xc6, 0xdd, 0xa9, 0xfb, 0x58, 0xd9, 0x3e, 0x4d, 0xbe, 0xb1, 0x3b, 0x0a,
+  0xcc, 0x24, 0xcb, 0xca, 0xab, 0x35, 0x3d, 0x7b, 0xe9, 0xe5, 0x28, 0xae,
+  0xdb, 0x6e, 0xe3, 0xa2, 0xcb, 0x2d, 0xc3, 0x8d, 0x72, 0x48, 0x3f, 0x82,
+  0xa8, 0x62, 0x91, 0xda, 0xdc, 0xa2, 0xe7, 0x2f, 0x4f, 0x4f, 0xb6, 0xa2,
+  0x37, 0x12, 0xfa, 0x85, 0x9a, 0xea, 0x5d, 0x45, 0xab, 0x0c, 0x0d, 0x6c,
+  0x66, 0x3d, 0x10, 0x46, 0x19, 0x5d, 0x0a, 0xb5, 0xbe, 0x51, 0x3e, 0x0c,
+  0x06, 0xd2, 0x6d, 0x49, 0xc0, 0x18, 0xfb, 0x6b, 0xb6, 0x77, 0x7b, 0xbb,
+  0x5c, 0xc7, 0x04, 0xb7, 0xc3, 0x51, 0xcd, 0xd9, 0x64, 0x97, 0xb0, 0x3c,
+  0x33, 0x89, 0xa8, 0xeb, 0x26, 0x4d, 0xbf, 0xc1, 0x8e, 0x4b, 0xdf, 0x75,
+  0x4c, 0xe7, 0xdb, 0xda, 0x64, 0x6e, 0x92, 0x3b, 0x7f, 0x6b, 0x77, 0xe2,
+  0x47, 0x5f, 0x7d, 0x55, 0x93, 0xa7, 0x95, 0xff, 0xa2, 0x1d, 0xe6, 0xf1,
+  0xce, 0x0e, 0xcd, 0xcd, 0x03, 0xe4, 0x87, 0x2f, 0xe2, 0xaf, 0xe8, 0xc5,
+  0xfa, 0x6b, 0x65, 0x0a, 0x74, 0x34, 0x6a, 0x7f, 0x2f, 0xc6, 0x6f, 0x02,
+  0xdd, 0x11, 0xc5, 0xb4, 0xbe, 0xf5, 0x15, 0x76, 0x17, 0x78, 0x8b, 0x1e,
+  0xe6, 0x75, 0xcc, 0xc7, 0x63, 0xa4, 0x37, 0x7c, 0x52, 0xab, 0x89, 0xdd,
+  0x24, 0xc5, 0xc8, 0x9f, 0xee, 0x4e, 0x37, 0xde, 0x6d, 0x9b, 0x2e, 0xf1,
+  0x41, 0x4a, 0xf6, 0xc3, 0xfd, 0x44, 0xc6, 0xb0, 0xf9, 0x87, 0x2d, 0x46,
+  0x94, 0x6b, 0x36, 0xb4, 0x0b, 0x23, 0xda, 0xfd, 0xea, 0xab, 0x2e, 0x8e,
+  0xec, 0xf1, 0x57, 0x5f, 0xb5, 0x96, 0x3b, 0x70, 0xba, 0xb9, 0xc9, 0xad,
+  0xf3, 0x00, 0x5f, 0xb7, 0x44, 0x53, 0x42, 0x37, 0x51, 0xb8, 0x1f, 0xfc,
+  0x26, 0xfa, 0x3a, 0x7a, 0x7d, 0x76, 0x71, 0xe2, 0x98, 0xe9, 0xe9, 0x04,
+  0x71, 0x40, 0x91, 0x63, 0x97, 0xa2, 0x10, 0xb0, 0x39, 0xe6, 0xe3, 0xb0,
+  0x11, 0x70, 0xba, 0x98, 0xf8, 0xf6, 0x32, 0x42, 0x3d, 0x53, 0xaf, 0x95,
+  0xa2, 0x71, 0xe9, 0x89, 0x64, 0xd1, 0x87, 0xa2, 0xd3, 0xe2, 0x8c, 0xb2,
+  0x66, 0xe8, 0xdc, 0xfd, 0x17, 0xf0, 0xcd, 0xa4, 0x28, 0x7d, 0x1c, 0x09,
+  0x34, 0x1a, 0xa9, 0x95, 0x4c, 0x0c, 0x96, 0x79, 0x31, 0x35, 0xfe, 0x08,
+  0xe3, 0x1c, 0x13, 0x93, 0x86, 0xfc, 0x9d, 0x0d, 0xb2, 0x49, 0x56, 0xdd,
+  0xb5, 0xd8, 0xcb, 0x40, 0x48, 0x0c, 0xe8, 0x61, 0x67, 0xec, 0xbd, 0xbe,
+  0xcc, 0x2a, 0xb7, 0x0a, 0xde, 0x26, 0x50, 0xe1, 0x16, 0x59, 0xa9, 0x39,
+  0x89, 0x4a, 0x22, 0x41, 0x36, 0x4a, 0xc4, 0x2f, 0xe3, 0xb4, 0x75, 0xfc,
+  0x23, 0x9f, 0x6f, 0x78, 0x76, 0xb0, 0x74, 0x82, 0xc6, 0x20, 0x91, 0xe6,
+  0xf8, 0x85, 0x98, 0x9e, 0x94, 0x73, 0x4c, 0xa6, 0xb6, 0x5b, 0x72, 0xcc,
+  0x27, 0x54, 0x23, 0xda, 0xed, 0x3c, 0x60, 0x37, 0xa4, 0xba, 0x71, 0x14,
+  0x41, 0xab, 0x18, 0x83, 0xd8, 0x8c, 0x9b, 0xd7, 0xbe, 0xe1, 0x2c, 0x88,
+  0x61, 0x81, 0x33, 0x24, 0x10, 0xaf, 0x88, 0x2e, 0x3b, 0xf8, 0x47, 0xe9,
+  0x5c, 0xf3, 0xbf, 0x67, 0xf5, 0x76, 0xe0, 0x90, 0x8d, 0xb3, 0xcb, 0x45,
+  0x11, 0x4e, 0x04, 0x46, 0x9b, 0xa1, 0x86, 0xa8, 0x12, 0xd3, 0x43, 0xd1,
+  0xfb, 0x26, 0x51, 0x04, 0xbe, 0x29, 0x9a, 0x6a, 0x95, 0xe9, 0xa8, 0xf5,
+  0x4e, 0x11, 0xef, 0xae, 0x12, 0x0f, 0xd1, 0x8c, 0xb6, 0x72, 0x0c, 0x0a,
+  0x0e, 0xda, 0x3a, 0x25, 0xb4, 0x9a, 0x7c, 0x4f, 0xd4, 0x9a, 0x81, 0x18,
+  0x14, 0x37, 0x17, 0x52, 0x21, 0x0a, 0x84, 0x54, 0x88, 0x9a, 0x96, 0x20,
+  0x90, 0xb5, 0x45, 0xd3, 0x57, 0xcf, 0x3e, 0x3e, 0x8d, 0xb3, 0xbb, 0xb9,
+  0xca, 0xb1, 0xe2, 0x1f, 0xf0, 0x4b, 0xe4, 0x8f, 0x7e, 0xb5, 0x14, 0x64,
+  0x8a, 0xb4, 0xa3, 0xcc, 0x1f, 0x79, 0x9b, 0xe0, 0xf9, 0x9b, 0xd9, 0x24,
+  0x4f, 0x46, 0x25, 0x5f, 0xe4, 0x1a, 0x0d, 0x48, 0xcb, 0xc5, 0x35, 0x1c,
+  0x65, 0x73, 0xbd, 0x80, 0x5c, 0xdc, 0x6b, 0xde, 0xe5, 0x68, 0xd3, 0xa9,
+  0xe5, 0x43, 0x87, 0xc7, 0x31, 0x85, 0x32, 0x03, 0x45, 0x5a, 0xe1, 0xca,
+  0x34, 0x5b, 0x3d, 0x1a, 0x4b, 0xa0, 0xe4, 0x1f, 0xef, 0x57, 0xa9, 0xbb,
+  0x95, 0xde, 0x56, 0xf0, 0x67, 0x3a, 0x72, 0xed, 0xb3, 0x51, 0xff, 0xe5,
+  0x7f, 0x9f, 0xb4, 0xde, 0xaf, 0x97, 0xe9, 0x67, 0x0b, 0x9c, 0xe1, 0xde,
+  0xf7, 0xf6, 0xe2, 0x47, 0x8f, 0xd6, 0xbb, 0x4f, 0x8f, 0x09, 0x26, 0x37,
+  0x9f, 0x91, 0x25, 0x3e, 0x4e, 0x24, 0xb7, 0x37, 0xc1, 0x4f, 0x93, 0x39,
+  0xae, 0x47, 0x5d, 0xda, 0x43, 0x9f, 0xd6, 0x14, 0x56, 0x5c, 0xfd, 0xfe,
+  0xf8, 0xc9, 0xb2, 0xec, 0x01, 0x78, 0x36, 0x9b, 0x2e, 0xa6, 0xd6, 0x1b,
+  0x32, 0xa6, 0x37, 0x67, 0xc3, 0x3b, 0x26, 0x3a, 0x2a, 0x06, 0x66, 0x42,
+  0xf1, 0x09, 0xb3, 0xc3, 0x3b, 0x4d, 0x33, 0xe7, 0x12, 0xb4, 0x85, 0x2f,
+  0x91, 0x28, 0xc8, 0xc1, 0xc1, 0xaa, 0xf0, 0x62, 0x96, 0x61, 0x7d, 0xb0,
+  0x7c, 0x9a, 0xb2, 0x70, 0x4c, 0x7c, 0x68, 0xd4, 0x06, 0xaf, 0x48, 0xe3,
+  0x06, 0x4a, 0xa8, 0x55, 0xe8, 0x33, 0x58, 0x0f, 0xae, 0x63, 0x83, 0x3b,
+  0x12, 0xb5, 0x0b, 0x6b, 0x41, 0xb6, 0x54, 0xb1, 0x44, 0xb9, 0x6e, 0x4c,
+  0x86, 0xd6, 0x52, 0x63, 0xe1, 0xd3, 0x60, 0xdc, 0x26, 0x33, 0x19, 0x43,
+  0x1c, 0x6f, 0xdf, 0x9c, 0x72, 0xf8, 0x4e, 0x52, 0xf3, 0x18, 0xc1, 0xbe,
+  0xd1, 0xdd, 0x08, 0x2d, 0x92, 0x13, 0x2e, 0x99, 0x05, 0x54, 0x38, 0x5a,
+  0x3d, 0x9c, 0x24, 0x4c, 0xc6, 0x4d, 0x09, 0xb8, 0x49, 0x60, 0x2d, 0x16,
+  0xb0, 0xa5, 0x13, 0x3e, 0x01, 0x18, 0x92, 0x6e, 0x1a, 0xa7, 0xb0, 0x06,
+  0x9c, 0x93, 0x27, 0x99, 0xe2, 0x0e, 0x98, 0x2a, 0xf7, 0x2e, 0xce, 0xaa,
+  0x74, 0x51, 0x97, 0xdc, 0x35, 0x08, 0x87, 0x45, 0xee, 0x00, 0x1e, 0x15,
+  0xfa, 0x45, 0x0b, 0xdc, 0x85, 0x89, 0xc6, 0xb1, 0x04, 0xe3, 0x9a, 0x5c,
+  0x4a, 0xaa, 0x1d, 0x1f, 0x68, 0xbf, 0xf3, 0x7a, 0xfb, 0x6d, 0x47, 0x72,
+  0x1f, 0x5e, 0x8b, 0x41, 0x50, 0x6d, 0x5d, 0x40, 0x13, 0xb1, 0xe7, 0xfb,
+  0x2d, 0x98, 0xc5, 0xbc, 0x65, 0xf3, 0x98, 0x21, 0x0c, 0xcc, 0x02, 0x50,
+  0x0b, 0x3c, 0xfe, 0xcd, 0x9e, 0xd1, 0x8d, 0x72, 0x03, 0x28, 0x86, 0x24,
+  0x9e, 0xad, 0x6e, 0xb4, 0x31, 0x6d, 0x5e, 0x32, 0x9b, 0x70, 0x13, 0x2e,
+  0x80, 0x4c, 0xe0, 0xbb, 0x2b, 0x78, 0x12, 0x08, 0xa5, 0xa0, 0x18, 0xbb,
+  0x68, 0x63, 0xb4, 0x11, 0x6d, 0x6f, 0x8e, 0x12, 0x8e, 0x94, 0x24, 0x31,
+  0x6d, 0x0f, 0x8e, 0x1d, 0x46, 0x20, 0x50, 0xf3, 0xc8, 0x62, 0x2e, 0xbc,
+  0xdd, 0x32, 0x6e, 0x33, 0x1a, 0x16, 0x3d, 0xd8, 0x95, 0x92, 0x5d, 0x1d,
+  0x9c, 0xa6, 0x33, 0xf7, 0x2e, 0xb9, 0xfd, 0xea, 0x44, 0xef, 0xb9, 0x82,
+  0x90, 0xa9, 0x21, 0xf9, 0x63, 0xbf, 0x21, 0x4a, 0xd3, 0x20, 0x96, 0x2a,
+  0x9f, 0x90, 0x3a, 0xc1, 0x67, 0x6d, 0x77, 0xc7, 0xc2, 0xcb, 0xe2, 0xdb,
+  0x11, 0x4f, 0xb2, 0x4b, 0xd5, 0xd5, 0x85, 0xe4, 0x03, 0x61, 0x6b, 0x8d,
+  0x43, 0x60, 0x2b, 0x56, 0x33, 0x99, 0x3d, 0x11, 0xc9, 0xb1, 0xa4, 0x0b,
+  0x28, 0x4a, 0x27, 0xc9, 0x9c, 0xf4, 0x55, 0x52, 0xe5, 0x7c, 0xc2, 0x05,
+  0x95, 0xf0, 0x3a, 0xc3, 0x9a, 0x4b, 0x86, 0x2a, 0x31, 0xbe, 0x5b, 0xa8,
+  0x32, 0xec, 0x88, 0x1a, 0x2f, 0x66, 0x1c, 0xcc, 0x40, 0xc5, 0x48, 0xa6,
+  0x30, 0xce, 0x4c, 0x84, 0x55, 0xb8, 0x94, 0xd1, 0xc6, 0x43, 0xaa, 0xa5,
+  0x84, 0xe1, 0x99, 0x93, 0x81, 0xec, 0x26, 0xc0, 0x00, 0x90, 0xfd, 0x50,
+  0x2c, 0x48, 0xc5, 0x65, 0xdd, 0xe8, 0x7c, 0x81, 0x4c, 0xb7, 0x43, 0x4b,
+  0xc2, 0xed, 0x52, 0x80, 0x5e, 0xed, 0xa2, 0x2b, 0x16, 0x58, 0x90, 0xd4,
+  0xf7, 0xba, 0xa2, 0x11, 0x6c, 0x18, 0x1a, 0x38, 0x45, 0x74, 0x61, 0x86,
+  0x09, 0xe5, 0x04, 0x99, 0xd2, 0x77, 0xdd, 0x48, 0xaf, 0x61, 0x8b, 0x1b,
+  0x40, 0x4f, 0x29, 0x32, 0xa1, 0x8a, 0x99, 0x3e, 0x4c, 0x6d, 0x81, 0x65,
+  0x15, 0xb1, 0xec, 0xf1, 0x24, 0xbf, 0xcc, 0x86, 0x26, 0x3e, 0x8c, 0x92,
+  0x51, 0xf2, 0x4a, 0x23, 0x5c, 0x28, 0x48, 0xba, 0x25, 0xd3, 0xd6, 0x3b,
+  0x66, 0x9f, 0xe2, 0x96, 0x2a, 0xdb, 0xaf, 0x29, 0xe8, 0x7d, 0x6f, 0xbb,
+  0x5c, 0x03, 0x3e, 0x86, 0x5e, 0xd9, 0xdf, 0xbe, 0x5a, 0xf7, 0x95, 0xdd,
+  0x47, 0xdb, 0xd3, 0x35, 0x55, 0x4b, 0x2a, 0x62, 0xc8, 0x6f, 0x73, 0x10,
+  0x1f, 0xad, 0x78, 0x4c, 0x2b, 0x5e, 0x4b, 0xae, 0x63, 0xcb, 0x84, 0x7b,
+  0x2f, 0xde, 0x18, 0xe8, 0x6a, 0xda, 0x74, 0x5c, 0x1c, 0x22, 0x20, 0x53,
+  0xd8, 0x2d, 0x99, 0x88, 0xab, 0x13, 0xa4, 0x14, 0x0e, 0xa4, 0xa3, 0x58,
+  0x66, 0x92, 0x0e, 0xc7, 0x41, 0xd7, 0x38, 0x85, 0x01, 0x3b, 0x15, 0x9c,
+  0x19, 0xf2, 0x89, 0xc0, 0x88, 0x39, 0x00, 0x83, 0xa9, 0x72, 0x4a, 0x61,
+  0x1c, 0xe4, 0xfe, 0xc4, 0x38, 0x14, 0xae, 0x20, 0xeb, 0x93, 0x29, 0xd5,
+  0xb2, 0xc7, 0x41, 0xc1, 0x58, 0x97, 0x06, 0x5d, 0xe2, 0x5c, 0xee, 0x11,
+  0x6f, 0x69, 0x03, 0xcf, 0x60, 0x9a, 0xcd, 0xbe, 0x1a, 0x71, 0x68, 0xa1,
+  0x2e, 0x57, 0xca, 0x33, 0x37, 0xeb, 0x26, 0xbb, 0x17, 0xb1, 0x2e, 0x90,
+  0xb3, 0x35, 0x29, 0xdb, 0xad, 0x30, 0x68, 0xb6, 0x88, 0x0e, 0xe1, 0xb2,
+  0x6d, 0x01, 0x1c, 0xef, 0x93, 0xe4, 0x87, 0xc4, 0xdf, 0x79, 0x93, 0x52,
+  0x51, 0xea, 0x02, 0x74, 0xa6, 0xcb, 0xb4, 0xe3, 0xd6, 0x01, 0x57, 0x33,
+  0x2b, 0x6d, 0x9f, 0x38, 0x99, 0x43, 0xbc, 0x0a, 0x35, 0x79, 0x15, 0xdc,
+  0xf1, 0x18, 0x39, 0x71, 0xf4, 0x0a, 0x6a, 0x3c, 0x49, 0x64, 0xdf, 0x17,
+  0x05, 0xe6, 0x3e, 0x18, 0xa2, 0x09, 0x01, 0xfd, 0x21, 0x65, 0xaa, 0xd7,
+  0xc4, 0x04, 0xef, 0xb3, 0x70, 0x16, 0x75, 0xfe, 0x84, 0x21, 0x69, 0x1d,
+  0x1d, 0x99, 0x9d, 0x2b, 0x86, 0xcb, 0x7b, 0xfe, 0x7e, 0x1b, 0x8b, 0x51,
+  0x0f, 0x64, 0x2b, 0x45, 0x84, 0x37, 0x7c, 0x19, 0xdf, 0x56, 0xa4, 0x0c,
+  0xd0, 0xc5, 0x39, 0xe2, 0xce, 0x4b, 0xbb, 0x38, 0x95, 0x51, 0x1d, 0x44,
+  0x12, 0x0b, 0xc9, 0xb6, 0x2c, 0x1d, 0x53, 0x3d, 0x2b, 0x8b, 0x19, 0xd5,
+  0x04, 0x24, 0xf3, 0xae, 0x06, 0x7c, 0x04, 0x34, 0x0b, 0x51, 0x63, 0x70,
+  0x40, 0x74, 0xd7, 0x73, 0xe0, 0x51, 0x6d, 0x1b, 0x5b, 0xc4, 0x6f, 0x99,
+  0xf7, 0x7a, 0xac, 0x6d, 0x69, 0x04, 0xd9, 0xba, 0xbc, 0x4d, 0x46, 0xd0,
+  0x51, 0xba, 0x1d, 0xc3, 0x6a, 0x6b, 0xf8, 0x7a, 0x67, 0x1d, 0xf6, 0xb5,
+  0xac, 0x21, 0x59, 0xdb, 0xf8, 0xf4, 0x21, 0x0d, 0x2e, 0x7f, 0xb9, 0xf5,
+  0x6c, 0x1d, 0xe1, 0xea, 0xa3, 0x6f, 0x31, 0x4e, 0x2e, 0x29, 0x62, 0x0a,
+  0x99, 0xe3, 0x8b, 0xae, 0x21, 0x67, 0xe7, 0xbc, 0xfd, 0x99, 0x37, 0x0a,
+  0x23, 0xd6, 0xe4, 0xcb, 0x38, 0xe0, 0x89, 0x93, 0x43, 0xd7, 0xc0, 0x27,
+  0xa9, 0x18, 0xc2, 0x4f, 0xe9, 0x98, 0xda, 0x10, 0xaf, 0x9a, 0x9e, 0x3e,
+  0xb1, 0x98, 0x04, 0xc3, 0xdf, 0x62, 0x6b, 0x39, 0x3b, 0x66, 0x1c, 0xf8,
+  0x18, 0x58, 0x14, 0xc8, 0xe2, 0x5c, 0x63, 0x95, 0xcc, 0xb5, 0x8c, 0x64,
+  0xae, 0xac, 0x93, 0xfc, 0x67, 0x41, 0xa8, 0x9f, 0xa1, 0xc1, 0xbb, 0xb3,
+  0x6f, 0x99, 0x40, 0x4e, 0x38, 0x1c, 0x46, 0xd2, 0x90, 0xae, 0x0d, 0xc9,
+  0x8d, 0xc3, 0x21, 0x27, 0x2e, 0x0e, 0x20, 0x17, 0xb7, 0xaa, 0x5c, 0x63,
+  0x31, 0x9e, 0x14, 0x38, 0xcf, 0x18, 0x25, 0x3f, 0xd6, 0xc0, 0x96, 0xb6,
+  0x00, 0x0d, 0x85, 0x04, 0x6b, 0x15, 0xa8, 0x23, 0x35, 0xf1, 0x96, 0xc9,
+  0xb5, 0xcd, 0xae, 0x11, 0xe0, 0x17, 0x37, 0x72, 0x0d, 0xee, 0x16, 0xf9,
+  0xb2, 0xcd, 0xbb, 0xd2, 0xc8, 0xa4, 0x8c, 0xa5, 0x30, 0x7c, 0x8c, 0x05,
+  0xb8, 0x03, 0xa7, 0xd0, 0xc5, 0x00, 0x34, 0x76, 0xb3, 0xc4, 0x3a, 0x22,
+  0x45, 0xcf, 0x11, 0xb4, 0x44, 0x62, 0x6d, 0x9c, 0x20, 0x16, 0x20, 0x11,
+  0x2d, 0xff, 0xca, 0x39, 0x66, 0x25, 0xa3, 0xd3, 0xd3, 0x9a, 0xb8, 0x4e,
+  0x2e, 0x77, 0x3a, 0x2a, 0xae, 0x71, 0x5a, 0x54, 0xd3, 0xd2, 0x05, 0x83,
+  0xba, 0x29, 0xd0, 0x00, 0xc0, 0x6e, 0x6d, 0xcd, 0xe3, 0x13, 0xb4, 0xff,
+  0x21, 0x2c, 0x4f, 0xcf, 0xc9, 0xab, 0x53, 0xe3, 0x2d, 0x81, 0x08, 0xb6,
+  0xa6, 0x71, 0xdc, 0xd5, 0x26, 0x47, 0x29, 0xe6, 0x55, 0x9b, 0x86, 0x14,
+  0xda, 0x2a, 0xca, 0x75, 0x23, 0xc8, 0x30, 0xc7, 0xf8, 0xc2, 0x29, 0x4e,
+  0xd1, 0xef, 0x63, 0x2e, 0x57, 0x8b, 0x41, 0x48, 0x9b, 0x77, 0x69, 0xb5,
+  0xe5, 0xa4, 0x49, 0x11, 0xa9, 0x7d, 0xd1, 0xe2, 0xed, 0x15, 0xd3, 0x8e,
+  0x1d, 0x06, 0x7a, 0x15, 0x9c, 0x28, 0x69, 0x5e, 0x78, 0x10, 0x72, 0x28,
+  0x2d, 0x1b, 0x84, 0x79, 0x98, 0x4a, 0xd5, 0xde, 0x9c, 0x6f, 0x72, 0xfe,
+  0xe1, 0xe8, 0xcd, 0xeb, 0x97, 0xaf, 0xbf, 0x3f, 0x40, 0x8e, 0x98, 0x16,
+  0x43, 0x34, 0x1d, 0x46, 0xbf, 0x2e, 0x46, 0xd9, 0x90, 0x6e, 0x0e, 0x76,
+  0xb4, 0x8c, 0xeb, 0xe0, 0x89, 0xa9, 0xc4, 0x50, 0x51, 0x91, 0xd6, 0x66,
+  0x73, 0x9c, 0xf9, 0x8f, 0xd8, 0x8f, 0x45, 0x7e, 0xb9, 0x30, 0x14, 0x34,
+  0x24, 0xfb, 0x17, 0x85, 0xcd, 0x51, 0xa8, 0x37, 0xa9, 0x1e, 0x74, 0x10,
+  0xf1, 0xd4, 0xc2, 0xc9, 0x7c, 0x76, 0x7a, 0x8a, 0xf2, 0x51, 0x73, 0xa3,
+  0x69, 0x5e, 0xec, 0x72, 0xa3, 0xec, 0x3a, 0xcd, 0xf4, 0x46, 0x23, 0x13,
+  0xde, 0x40, 0xb5, 0x8b, 0x6f, 0x70, 0x67, 0x90, 0x07, 0x28, 0x1d, 0x76,
+  0x1a, 0x30, 0x9e, 0x11, 0xe4, 0x48, 0x51, 0xc1, 0x2d, 0x99, 0x8f, 0x2b,
+  0x34, 0xc3, 0x2d, 0x17, 0x9f, 0x3c, 0xde, 0xd7, 0x22, 0x4d, 0x89, 0x38,
+  0x05, 0xe4, 0xe1, 0x6b, 0x76, 0xab, 0x90, 0xe2, 0xfc, 0x4e, 0xd6, 0x94,
+  0xaf, 0xce, 0xfe, 0x1c, 0xba, 0x01, 0xb6, 0x89, 0xdd, 0xb4, 0x5e, 0x03,
+  0x67, 0xdd, 0x3a, 0x5f, 0xae, 0x49, 0xc0, 0xf6, 0x63, 0x44, 0x8a, 0x5b,
+  0x86, 0x43, 0xc5, 0xf1, 0xb5, 0xf5, 0x72, 0xc8, 0x12, 0xa8, 0x8e, 0xce,
+  0x2c, 0x14, 0x94, 0xd9, 0x46, 0x42, 0xa6, 0x11, 0x0a, 0x4e, 0xf7, 0x34,
+  0x69, 0x90, 0x66, 0xc5, 0x4a, 0x5e, 0xa2, 0x0a, 0x5d, 0xbf, 0x2e, 0x6e,
+  0xd2, 0x42, 0xc4, 0x0d, 0x53, 0x92, 0x02, 0xa4, 0x8e, 0x5e, 0xd4, 0xcf,
+  0x25, 0xfb, 0xb1, 0x29, 0x64, 0x61, 0x71, 0x15, 0xb7, 0x5e, 0x30, 0x11,
+  0x0e, 0x8d, 0xc5, 0x66, 0x5f, 0xa2, 0x44, 0xc4, 0x91, 0xc2, 0xab, 0x26,
+  0x8b, 0xfb, 0x3b, 0x48, 0x8d, 0x12, 0x70, 0xa7, 0x11, 0xa0, 0x78, 0x30,
+  0x3a, 0x31, 0xac, 0x63, 0x07, 0x69, 0xcd, 0xdd, 0xc7, 0xe0, 0x06, 0x06,
+  0x88, 0x4a, 0x3b, 0x5c, 0x2a, 0x9f, 0xaf, 0x9f, 0x26, 0xd2, 0x68, 0x7d,
+  0x6d, 0x51, 0xbd, 0x31, 0xb8, 0x80, 0x4b, 0x19, 0xc8, 0x6a, 0xb7, 0xe5,
+  0xf3, 0xbd, 0x07, 0xd1, 0x5b, 0xf3, 0xab, 0x26, 0x4f, 0x29, 0x10, 0x57,
+  0x4d, 0xf3, 0x74, 0x08, 0xa2, 0x97, 0xfd, 0x6f, 0x4e, 0x4c, 0x0c, 0x85,
+  0xa2, 0x3a, 0xf1, 0xf5, 0xf4, 0xd5, 0x4d, 0x8a, 0xe6, 0xec, 0xe6, 0xda,
+  0x6d, 0x9e, 0x71, 0xc5, 0x72, 0x79, 0xc8, 0x2d, 0x3c, 0xe3, 0xbe, 0x2c,
+  0x97, 0x72, 0xd7, 0x7a, 0x8a, 0x19, 0x71, 0xad, 0xf2, 0x40, 0x7c, 0xc7,
+  0x7e, 0x1a, 0x84, 0xbd, 0xb9, 0x8d, 0x50, 0x10, 0xba, 0xbe, 0xfd, 0xc0,
+  0x14, 0x41, 0x5f, 0x0b, 0xd1, 0xb4, 0x0d, 0xc4, 0xd0, 0xa6, 0x28, 0x6e,
+  0x5c, 0x91, 0xd9, 0x6a, 0x51, 0xec, 0xa4, 0x1a, 0x70, 0x9d, 0x9f, 0x40,
+  0x73, 0x02, 0x75, 0x6a, 0xe2, 0x34, 0xc3, 0x63, 0x51, 0xd1, 0x25, 0x9b,
+  0x5d, 0xe7, 0xf4, 0x8d, 0x98, 0x24, 0x03, 0xc9, 0x64, 0x4e, 0x36, 0x79,
+  0x21, 0x09, 0x54, 0x4b, 0x64, 0x8b, 0x8b, 0xc6, 0x4a, 0xab, 0x07, 0x5e,
+  0x11, 0x68, 0x60, 0x7e, 0x1a, 0x7a, 0x6b, 0x01, 0x83, 0x2d, 0x46, 0x70,
+  0x93, 0x3c, 0xc4, 0x04, 0x0b, 0x47, 0xba, 0x4b, 0x97, 0xfb, 0x15, 0xbd,
+  0x9c, 0x4e, 0xd0, 0xa1, 0xe6, 0x20, 0x08, 0xab, 0x08, 0x22, 0x12, 0x48,
+  0x56, 0xb5, 0x58, 0x42, 0x1c, 0xd9, 0xc2, 0x60, 0xe1, 0x99, 0xf5, 0xb7,
+  0xbe, 0x3d, 0xcc, 0x06, 0x67, 0x85, 0x19, 0x0d, 0xad, 0xc3, 0xab, 0x3c,
+  0x97, 0xd4, 0xd2, 0xb6, 0xab, 0x37, 0x22, 0xb9, 0x9d, 0xcb, 0x4b, 0x05,
+  0xae, 0x15, 0x2d, 0x02, 0x6e, 0xb5, 0x2b, 0xdc, 0xe0, 0x91, 0x07, 0xd3,
+  0x92, 0x59, 0xd5, 0xd5, 0xac, 0x7a, 0x43, 0x7e, 0x95, 0xd1, 0x94, 0x46,
+  0xe2, 0xd5, 0xab, 0x36, 0x94, 0x51, 0x0c, 0xbc, 0x91, 0x85, 0xb9, 0xf0,
+  0xf2, 0x48, 0x56, 0xba, 0xbb, 0x28, 0x41, 0xd1, 0x87, 0x33, 0x1b, 0x88,
+  0xaf, 0x1a, 0x4b, 0xc8, 0x88, 0xfc, 0x36, 0xb3, 0x7a, 0xb0, 0x25, 0x8d,
+  0x35, 0xab, 0x88, 0xcb, 0xfd, 0x7e, 0x6f, 0xa7, 0xed, 0xca, 0xc7, 0x86,
+  0x14, 0x14, 0x7b, 0x9e, 0x14, 0x26, 0xfa, 0x54, 0x84, 0x22, 0x5b, 0xda,
+  0x09, 0x25, 0x0a, 0xc4, 0x67, 0x64, 0x1f, 0x29, 0xfc, 0x68, 0x5b, 0xff,
+  0xb0, 0x63, 0x0e, 0xc5, 0x29, 0x56, 0x43, 0x1c, 0x5c, 0xe0, 0x92, 0xbd,
+  0x72, 0xcc, 0x8e, 0x25, 0xcb, 0xdb, 0xda, 0x6f, 0xe9, 0x22, 0xf3, 0x0f,
+  0x15, 0x9a, 0x4a, 0x03, 0xe5, 0x85, 0xdc, 0xab, 0xec, 0xc3, 0xab, 0x0b,
+  0xb5, 0x09, 0x00, 0xad, 0xf7, 0x3f, 0xb1, 0xd3, 0x65, 0x50, 0xa1, 0x0d,
+  0x7e, 0x4f, 0xe0, 0xa0, 0xf6, 0xec, 0x2a, 0x68, 0xe8, 0x9f, 0xbb, 0xce,
+  0xb3, 0xcd, 0x89, 0x87, 0xe4, 0x96, 0xf8, 0x8d, 0xc3, 0xd3, 0x71, 0x8e,
+  0x41, 0x38, 0x72, 0x66, 0xb0, 0x8e, 0x17, 0xdd, 0x31, 0x69, 0x58, 0x19,
+  0x9a, 0x9c, 0xab, 0x69, 0xc4, 0x9e, 0x1d, 0xbe, 0x25, 0x7d, 0xff, 0x21,
+  0x4c, 0x3b, 0xc0, 0xc5, 0xbb, 0xca, 0x00, 0x34, 0x9d, 0xcd, 0xc0, 0x2b,
+  0x70, 0x57, 0x0c, 0x77, 0x97, 0x7b, 0xf0, 0x2c, 0x7a, 0xb9, 0xb0, 0x37,
+  0x14, 0x5e, 0xa5, 0xa4, 0x7f, 0xda, 0x2b, 0xec, 0x69, 0x79, 0x16, 0xa8,
+  0x33, 0xeb, 0x8f, 0x9f, 0x05, 0xea, 0x34, 0xfe, 0xc0, 0xab, 0x9d, 0xc6,
+  0x05, 0x92, 0xcb, 0x38, 0xcf, 0xd7, 0x33, 0x1c, 0x34, 0xaf, 0x69, 0xb6,
+  0x1c, 0xfc, 0x86, 0x9f, 0xd2, 0x9e, 0xa0, 0x9d, 0xbd, 0x29, 0x45, 0x5e,
+  0xa7, 0x71, 0x3e, 0x8b, 0x43, 0x20, 0x2b, 0x3f, 0x98, 0xd4, 0x5c, 0x0d,
+  0xf1, 0xb4, 0x5a, 0x1c, 0xe9, 0x5e, 0xe2, 0xe8, 0xc0, 0xdb, 0x4e, 0xef,
+  0x7e, 0xd4, 0x1a, 0x35, 0xfa, 0x26, 0x70, 0xce, 0x95, 0x94, 0xf4, 0x20,
+  0xdb, 0x98, 0x41, 0xda, 0xc1, 0x6b, 0xd1, 0xe8, 0xf5, 0x62, 0x03, 0x56,
+  0x47, 0xa6, 0x75, 0x12, 0x68, 0x03, 0x3e, 0x8d, 0x14, 0x33, 0x94, 0x69,
+  0x84, 0x74, 0xf5, 0x4c, 0x52, 0xbe, 0x97, 0x6c, 0x34, 0x91, 0xa0, 0x4b,
+  0x19, 0x70, 0x0e, 0x4a, 0x10, 0x99, 0x61, 0xe8, 0xa3, 0x0f, 0x04, 0x51,
+  0x44, 0xa3, 0x45, 0xe1, 0x3a, 0x0e, 0xda, 0x54, 0x6e, 0x9d, 0xaa, 0x94,
+  0xcc, 0x93, 0x89, 0xdd, 0x5f, 0x13, 0xf5, 0x48, 0xd1, 0xd9, 0x82, 0x8f,
+  0x5b, 0xd5, 0xaa, 0xd1, 0xf8, 0x43, 0xc8, 0xd1, 0x1d, 0x1b, 0x90, 0xa4,
+  0xa6, 0x62, 0xaf, 0x43, 0x95, 0x63, 0xa4, 0x3f, 0x4c, 0xfe, 0xaa, 0xdb,
+  0xf4, 0x1b, 0x70, 0xe3, 0xe2, 0xe0, 0x8a, 0x25, 0x40, 0xf6, 0x10, 0x05,
+  0xba, 0x16, 0xe3, 0xb1, 0x5f, 0xdd, 0x85, 0x0c, 0xc0, 0x64, 0xec, 0x27,
+  0xd0, 0xb1, 0x0e, 0x37, 0xd2, 0x89, 0x36, 0xb1, 0x95, 0x2d, 0x63, 0x81,
+  0xf2, 0xab, 0x3b, 0x08, 0x0a, 0x89, 0x64, 0xcf, 0x27, 0xac, 0xe1, 0x34,
+  0x91, 0x52, 0xc8, 0x00, 0x75, 0x8e, 0x24, 0x35, 0x5c, 0x4c, 0x92, 0x62,
+  0x42, 0x17, 0xd2, 0x78, 0xd1, 0x24, 0x70, 0x3a, 0x14, 0x28, 0x88, 0x48,
+  0x94, 0x7d, 0x56, 0x96, 0x0b, 0x31, 0x5e, 0x1b, 0x17, 0x20, 0x6d, 0x0e,
+  0xf2, 0x49, 0x24, 0x56, 0xa6, 0x81, 0x72, 0x82, 0xd9, 0x94, 0x6d, 0xd7,
+  0x2c, 0x47, 0x2a, 0x8a, 0xdd, 0xc6, 0xd4, 0x58, 0x60, 0x13, 0xb1, 0xf0,
+  0xd2, 0x4b, 0x1c, 0x14, 0xdd, 0xc7, 0x73, 0xe4, 0xc9, 0xc5, 0xac, 0x4b,
+  0xc2, 0x76, 0xa3, 0xb9, 0xce, 0xd9, 0xf9, 0xc5, 0xcb, 0xb3, 0xd7, 0xfd,
+  0xe8, 0x0f, 0x9d, 0x36, 0x8b, 0x6e, 0x6d, 0x03, 0x3e, 0x6b, 0x45, 0xaf,
+  0xc6, 0x58, 0x3a, 0x7f, 0xe8, 0x44, 0xf1, 0x8f, 0x91, 0xce, 0x60, 0x2d,
+  0xea, 0xab, 0x45, 0xd2, 0xd6, 0x10, 0x1b, 0x1f, 0xd7, 0x08, 0xd0, 0x7d,
+  0x2e, 0x3a, 0x9c, 0xa6, 0xb0, 0x4d, 0xa3, 0x36, 0xe7, 0x85, 0x63, 0x6c,
+  0x1b, 0x82, 0xaa, 0x09, 0xac, 0x47, 0x5f, 0xe4, 0xf7, 0x94, 0x2c, 0x19,
+  0xdc, 0xc0, 0x14, 0x16, 0xf2, 0x23, 0x2d, 0x9c, 0xba, 0x51, 0xae, 0x93,
+  0x83, 0x04, 0x70, 0x6b, 0x0c, 0x6c, 0x34, 0x2e, 0x5e, 0xe3, 0xa0, 0x87,
+  0xb0, 0x61, 0x6c, 0xa5, 0x6d, 0x92, 0xd7, 0x6c, 0xe4, 0x19, 0x3d, 0xb8,
+  0xc9, 0xf2, 0xac, 0x58, 0x04, 0x4a, 0xdf, 0x79, 0xf1, 0xfd, 0xc9, 0xc5,
+  0x96, 0xc0, 0x6b, 0x9b, 0xf1, 0x51, 0x04, 0x94, 0xa8, 0xe8, 0x89, 0x31,
+  0x21, 0x28, 0xa0, 0x36, 0x8b, 0x22, 0xe9, 0xed, 0x7c, 0x92, 0xcc, 0x82,
+  0xa0, 0x94, 0x98, 0xb9, 0x77, 0x0c, 0xcb, 0x81, 0x96, 0xc4, 0x64, 0xc4,
+  0x92, 0xb2, 0xba, 0xe7, 0xcc, 0x11, 0xd1, 0xda, 0xb3, 0xe7, 0x6f, 0x2f,
+  0xa8, 0x41, 0x8c, 0x9e, 0xbe, 0x38, 0x69, 0x86, 0x45, 0x21, 0xd4, 0x68,
+  0x91, 0x4e, 0x28, 0xd0, 0xb9, 0x4a, 0x87, 0x57, 0xb3, 0x1c, 0x5d, 0xb4,
+  0x69, 0xc9, 0x7a, 0xe6, 0x0f, 0xe9, 0xe0, 0xd9, 0xd1, 0xdf, 0x50, 0xf3,
+  0x43, 0xaf, 0xfd, 0xf9, 0x9b, 0xb3, 0xf3, 0xe7, 0x2f, 0x5f, 0x3f, 0xeb,
+  0x46, 0xc7, 0x67, 0xe7, 0x7f, 0xef, 0x46, 0xaf, 0xce, 0xfe, 0x76, 0xf2,
+  0x85, 0x97, 0xf4, 0x43, 0xae, 0x69, 0x8f, 0x50, 0x5f, 0xa3, 0x33, 0x0a,
+  0x4d, 0x57, 0x0c, 0x9f, 0x3d, 0xca, 0x49, 0x83, 0x89, 0x66, 0x1c, 0x2b,
+  0xec, 0x08, 0xf8, 0x47, 0x6e, 0xb2, 0x06, 0xac, 0x5d, 0x37, 0x7a, 0x71,
+  0x72, 0xf4, 0xac, 0x39, 0xec, 0xf3, 0xb3, 0x3e, 0xcf, 0x0a, 0x67, 0x67,
+  0xa6, 0x8c, 0xd1, 0x11, 0x62, 0x21, 0x24, 0x5d, 0x8e, 0xa3, 0xb3, 0x99,
+  0x35, 0x01, 0xbd, 0x66, 0x1c, 0xcf, 0xdd, 0x92, 0xc0, 0xc8, 0xf5, 0x3f,
+  0x79, 0x18, 0x2d, 0x59, 0xa5, 0xc6, 0xe4, 0xcf, 0x15, 0x70, 0x5d, 0x8b,
+  0x90, 0xd4, 0xa6, 0x25, 0xbc, 0x28, 0x55, 0x6a, 0xcc, 0x76, 0xb7, 0x44,
+  0xf3, 0x74, 0x6b, 0xf5, 0x5e, 0x88, 0xf1, 0x72, 0x44, 0x5a, 0x22, 0x21,
+  0xe5, 0x83, 0x14, 0x65, 0xed, 0x92, 0x4c, 0x40, 0x64, 0x13, 0x12, 0x4c,
+  0xa1, 0xa0, 0x0b, 0xca, 0xda, 0x83, 0x48, 0xe0, 0x4b, 0xb4, 0x66, 0x2d,
+  0x2e, 0x9f, 0x2e, 0x51, 0x57, 0x16, 0x03, 0x98, 0x00, 0x7d, 0xac, 0x9a,
+  0x8f, 0x87, 0xef, 0x3e, 0x06, 0xc2, 0x4c, 0xb9, 0xf6, 0x30, 0x6f, 0x91,
+  0xf1, 0x61, 0x88, 0xf7, 0xa4, 0x0d, 0x3d, 0x8b, 0x92, 0x81, 0xf8, 0xa0,
+  0x88, 0x1f, 0x8d, 0xea, 0xe3, 0xaa, 0x37, 0xd1, 0xb2, 0x06, 0x65, 0x6b,
+  0x72, 0xdc, 0x18, 0x1a, 0xd3, 0x33, 0x4a, 0xe9, 0xd6, 0x76, 0xa5, 0x4c,
+  0x91, 0xe2, 0x80, 0xb9, 0xab, 0xc1, 0x6a, 0xb8, 0x71, 0x35, 0xa2, 0xa2,
+  0xc3, 0x31, 0xaa, 0xbe, 0x37, 0x19, 0x3d, 0xd9, 0x14, 0x1b, 0x87, 0x31,
+  0xee, 0x31, 0xcb, 0x01, 0x2e, 0x76, 0x8a, 0xd9, 0x0c, 0x35, 0x1c, 0xe8,
+  0x68, 0x65, 0x4e, 0x5e, 0x1a, 0xed, 0x10, 0xf6, 0x5b, 0xae, 0x29, 0xb3,
+  0xdb, 0xfb, 0x3b, 0xb7, 0x36, 0xe2, 0x12, 0x15, 0xbb, 0x32, 0x8a, 0x39,
+  0x27, 0x8d, 0x31, 0x38, 0x83, 0xd9, 0xfe, 0x41, 0x6e, 0xe8, 0x46, 0xf0,
+  0x99, 0xe2, 0x01, 0x06, 0x97, 0xe8, 0xf4, 0x25, 0x9c, 0x81, 0x40, 0x00,
+  0xd3, 0x28, 0xc7, 0x11, 0x71, 0xd6, 0x1a, 0xa9, 0xb8, 0xb4, 0xf2, 0xd0,
+  0x96, 0xdf, 0xf1, 0xf9, 0xd9, 0xf9, 0x7e, 0xb0, 0x67, 0xfc, 0x62, 0x55,
+  0xd7, 0xde, 0x4d, 0xfb, 0xe6, 0xe4, 0xe2, 0x8d, 0xdf, 0xc7, 0xcb, 0x57,
+  0x47, 0xe8, 0x33, 0xb3, 0x9d, 0xd8, 0x5e, 0xf0, 0xab, 0x15, 0xbd, 0x78,
+  0x36, 0x2d, 0xb7, 0x8c, 0xea, 0x4e, 0x20, 0xbb, 0x6a, 0xb3, 0xff, 0xaa,
+  0x65, 0x35, 0xf1, 0x8b, 0x25, 0xbd, 0xbd, 0x38, 0x39, 0x3d, 0xf7, 0xe7,
+  0xf4, 0xb7, 0x37, 0xcf, 0xff, 0x5e, 0xcf, 0xe9, 0xda, 0x7f, 0x14, 0xe8,
+  0x55, 0x82, 0x54, 0x84, 0x5a, 0x3e, 0x1e, 0x1a, 0xc8, 0x7a, 0xbe, 0xdc,
+  0x1f, 0x39, 0x47, 0xe6, 0xe2, 0x64, 0x0d, 0xb7, 0xed, 0x8f, 0xd1, 0xeb,
+  0x53, 0xd8, 0xcc, 0xb5, 0x80, 0x43, 0xea, 0x62, 0x45, 0x5d, 0xfa, 0x2c,
+  0xf3, 0x09, 0x48, 0x8e, 0x87, 0x3f, 0xfd, 0x91, 0x90, 0x52, 0x09, 0x9c,
+  0xec, 0x00, 0xee, 0xa8, 0xe2, 0xa7, 0x2e, 0xfe, 0xfb, 0x4b, 0xaf, 0xd7,
+  0xfb, 0x26, 0x28, 0xc7, 0xa7, 0x76, 0xa3, 0xf0, 0x41, 0x4c, 0xfa, 0x6e,
+  0x98, 0xb2, 0x09, 0xa8, 0x8e, 0x80, 0xf9, 0x30, 0xd2, 0x76, 0x9e, 0x64,
+  0xe8, 0xfa, 0x7a, 0x5b, 0x86, 0xa4, 0x01, 0xba, 0x52, 0x2c, 0xb0, 0xa2,
+  0xd1, 0x80, 0x45, 0x0b, 0x63, 0x9e, 0xb2, 0x59, 0x6e, 0x09, 0x8a, 0xb3,
+  0x15, 0x11, 0x02, 0x76, 0x28, 0x1a, 0x0a, 0x75, 0xcb, 0x9a, 0x12, 0xeb,
+  0x2e, 0x46, 0x08, 0x98, 0xe9, 0xc5, 0x26, 0x53, 0x1f, 0x99, 0xe1, 0x07,
+  0x41, 0x45, 0x68, 0x5b, 0xf1, 0xf6, 0xe6, 0x34, 0x1b, 0x0a, 0x5f, 0x4b,
+  0xe8, 0xc2, 0x43, 0x1a, 0xdc, 0x4e, 0xab, 0xe1, 0x36, 0xce, 0xb3, 0xac,
+  0xc9, 0xe1, 0x86, 0x98, 0x3c, 0x2f, 0x94, 0x0b, 0x30, 0x41, 0x80, 0xbd,
+  0x9c, 0x56, 0xe8, 0x60, 0x50, 0x59, 0xcc, 0x60, 0xc7, 0xb8, 0x63, 0x78,
+  0x6e, 0x08, 0xdf, 0xd2, 0x2c, 0xb8, 0x03, 0xf8, 0x69, 0x40, 0x54, 0x5d,
+  0x69, 0x14, 0x1b, 0x70, 0x50, 0x21, 0x7d, 0x4b, 0x11, 0x5d, 0x1d, 0x7a,
+  0x00, 0x30, 0x83, 0x0d, 0xcf, 0x63, 0xe6, 0x5a, 0x1a, 0x2d, 0x10, 0x92,
+  0xbb, 0xe9, 0x0a, 0x3e, 0x18, 0xa8, 0xf7, 0x48, 0x02, 0x8b, 0xb5, 0x05,
+  0xe3, 0x4c, 0xc3, 0x68, 0x1f, 0x0e, 0xaa, 0xf5, 0xc6, 0x1f, 0x36, 0x50,
+  0x1d, 0xa1, 0xd7, 0x83, 0x58, 0xda, 0x4a, 0xb5, 0x68, 0x0b, 0x0b, 0xa0,
+  0xc8, 0x12, 0xef, 0xd6, 0x45, 0x31, 0xc4, 0x67, 0x50, 0x1b, 0x1c, 0xe2,
+  0xa1, 0x29, 0x60, 0x78, 0xee, 0x64, 0x34, 0x4c, 0xb8, 0xfe, 0x80, 0x7f,
+  0xf7, 0x0b, 0x99, 0x08, 0x1b, 0xc8, 0xa9, 0x57, 0x7b, 0x72, 0x24, 0x89,
+  0xa2, 0x85, 0xea, 0xdb, 0x79, 0x05, 0xe7, 0x92, 0xb4, 0xe1, 0x3c, 0x4a,
+  0x68, 0xaa, 0xac, 0x31, 0xf2, 0x1e, 0xca, 0x15, 0x6c, 0xd4, 0x79, 0x77,
+  0xee, 0x63, 0x0a, 0x75, 0xf1, 0x05, 0x8d, 0x38, 0xce, 0xe6, 0xd7, 0x8f,
+  0xd8, 0x11, 0x04, 0xbf, 0x3d, 0xd1, 0x70, 0xc4, 0xca, 0x05, 0x4c, 0x61,
+  0x4d, 0x92, 0xf5, 0xae, 0x97, 0xe7, 0x9a, 0xac, 0x16, 0xda, 0x25, 0x86,
+  0x49, 0x51, 0x84, 0x48, 0x21, 0x30, 0x45, 0x92, 0xf1, 0x8f, 0x2f, 0x27,
+  0x41, 0x72, 0x0a, 0xb1, 0xe7, 0x9e, 0xb0, 0x78, 0x38, 0x1b, 0xa5, 0x71,
+  0xd0, 0xe1, 0xb3, 0xa8, 0x26, 0x6e, 0xee, 0x4a, 0xc0, 0xe8, 0x16, 0x41,
+  0x28, 0x57, 0xa9, 0xaa, 0x82, 0x6c, 0x46, 0x09, 0x2c, 0x2b, 0x8b, 0x78,
+  0xe2, 0x5e, 0x48, 0x67, 0x62, 0xb1, 0x9f, 0xe4, 0x30, 0xd6, 0x62, 0x31,
+  0xa3, 0xc4, 0x39, 0x13, 0x27, 0x6c, 0x42, 0x24, 0x75, 0xf4, 0x93, 0xdc,
+  0x77, 0x9e, 0xd0, 0x8d, 0x0c, 0xc4, 0xf1, 0x72, 0xc6, 0xf8, 0x9d, 0x68,
+  0x47, 0x29, 0x05, 0xe3, 0xa5, 0x96, 0x58, 0x48, 0x1b, 0x60, 0xa3, 0xa2,
+  0x69, 0xca, 0xb9, 0x1f, 0xbd, 0x49, 0xd4, 0xc2, 0x27, 0x96, 0x69, 0x84,
+  0x6c, 0xd9, 0x86, 0x1d, 0xdd, 0xd0, 0xb1, 0xcf, 0x25, 0x90, 0xd5, 0x2c,
+  0x04, 0x1a, 0x42, 0xfc, 0xd0, 0x91, 0x39, 0xa1, 0x72, 0x79, 0x1c, 0x5f,
+  0x92, 0x1a, 0x04, 0x2c, 0x5f, 0x8c, 0x2d, 0xd8, 0x1a, 0xec, 0xaa, 0xd2,
+  0x12, 0xce, 0x18, 0xee, 0xc5, 0x9f, 0x06, 0x45, 0x42, 0x70, 0xcd, 0xbf,
+  0x50, 0x4c, 0x2c, 0x41, 0x1e, 0xfb, 0x01, 0xf1, 0xa0, 0x2d, 0xd6, 0x8a,
+  0x2d, 0x35, 0x3a, 0x6a, 0xf4, 0x64, 0x6c, 0x38, 0xb6, 0xbb, 0x94, 0xa3,
+  0x7f, 0x99, 0x10, 0x96, 0x77, 0xf4, 0xd5, 0x92, 0x8e, 0xc6, 0x54, 0xd9,
+  0x10, 0x97, 0xd0, 0xe8, 0x8e, 0x37, 0x7a, 0x66, 0x4d, 0xab, 0x52, 0x65,
+  0xe6, 0xd1, 0x8a, 0x76, 0x28, 0x91, 0x07, 0xa8, 0x55, 0x20, 0x7f, 0xf0,
+  0xf5, 0x46, 0x13, 0x4f, 0x1f, 0xf7, 0x76, 0xee, 0x0f, 0x53, 0x63, 0x0d,
+  0xf2, 0xe8, 0x00, 0x1c, 0xc9, 0x27, 0xb4, 0xc5, 0x92, 0x7d, 0x9d, 0xb7,
+  0x31, 0x95, 0xa0, 0x55, 0x9e, 0x09, 0xe5, 0x93, 0x59, 0xe4, 0x4d, 0x0f,
+  0x8e, 0xec, 0x70, 0xf0, 0xe8, 0xd1, 0xfe, 0xc1, 0xee, 0x1e, 0x6e, 0xf5,
+  0x0e, 0x68, 0xba, 0xeb, 0x05, 0x44, 0x2a, 0x0e, 0x21, 0xce, 0x9e, 0xa2,
+  0x59, 0xe1, 0x26, 0x8c, 0xcb, 0xeb, 0x61, 0x5d, 0xcc, 0xc0, 0x00, 0x57,
+  0xa0, 0x73, 0xb6, 0xa8, 0x35, 0x6d, 0x9a, 0x6f, 0x28, 0xe2, 0x18, 0x1d,
+  0x1c, 0xb0, 0x72, 0x6c, 0xb2, 0x6b, 0x66, 0xef, 0x4a, 0xb2, 0x2a, 0x88,
+  0x2f, 0xc8, 0xa5, 0x8c, 0x6e, 0x52, 0x15, 0x77, 0xbd, 0x95, 0xd5, 0xa8,
+  0x28, 0xdc, 0xb2, 0x9c, 0xa4, 0xa3, 0x4b, 0xd0, 0xcf, 0xa6, 0xd3, 0xb4,
+  0xe8, 0xe0, 0xf1, 0xd6, 0x80, 0xe9, 0x5e, 0xf4, 0x8c, 0x83, 0x01, 0xd5,
+  0xdb, 0xd2, 0xe4, 0x04, 0xdc, 0xd0, 0xe0, 0xce, 0x30, 0xa9, 0xcd, 0xf4,
+  0x92, 0x80, 0xf8, 0x61, 0x3d, 0x8b, 0xe1, 0x56, 0x97, 0xe1, 0xa4, 0x4d,
+  0x56, 0xed, 0xcc, 0x28, 0x2d, 0x98, 0x9b, 0x1b, 0x0e, 0x0b, 0x47, 0xa9,
+  0x5a, 0x41, 0x81, 0x83, 0xc5, 0x3b, 0x47, 0x8b, 0xf9, 0x84, 0x2b, 0x8d,
+  0x72, 0xee, 0xae, 0x1d, 0x62, 0x28, 0x72, 0x13, 0x98, 0x01, 0xf9, 0x46,
+  0x89, 0x80, 0xd1, 0x4e, 0x89, 0x09, 0x77, 0x64, 0xb1, 0x24, 0x95, 0x70,
+  0x83, 0xc4, 0x89, 0x29, 0xf6, 0x37, 0x48, 0xd1, 0x52, 0x46, 0xbe, 0x61,
+  0x34, 0xf8, 0x7b, 0x0a, 0xd7, 0x88, 0x2a, 0x39, 0x33, 0xca, 0x21, 0xcc,
+  0x04, 0x06, 0x8b, 0xe7, 0x7b, 0x30, 0xc1, 0xda, 0x10, 0x88, 0x75, 0x8c,
+  0x10, 0x46, 0x51, 0x39, 0x2c, 0xb2, 0x39, 0x34, 0x7d, 0x3e, 0x49, 0xd1,
+  0xb6, 0x5c, 0xa8, 0xa9, 0xc4, 0xe7, 0x53, 0xac, 0xf0, 0x11, 0x2a, 0x54,
+  0x7b, 0x7c, 0xcf, 0x73, 0xf4, 0xac, 0x6a, 0x30, 0xce, 0x74, 0x0e, 0x22,
+  0x94, 0x24, 0xfe, 0x79, 0xb0, 0x88, 0x1c, 0x99, 0x4e, 0x80, 0x5a, 0x7e,
+  0x24, 0xd1, 0x24, 0x79, 0x7f, 0x17, 0x39, 0xac, 0x1d, 0xd7, 0x76, 0x38,
+  0x41, 0xe7, 0xa7, 0x93, 0x2a, 0x83, 0xad, 0x5c, 0xb1, 0x05, 0xf1, 0x8e,
+  0x03, 0x38, 0x24, 0x1b, 0x20, 0x64, 0x67, 0xa9, 0x5c, 0x60, 0x34, 0x6d,
+  0x20, 0xbc, 0xe0, 0x94, 0x7e, 0xab, 0x4b, 0x8e, 0x33, 0xf2, 0xb1, 0xe9,
+  0x70, 0x29, 0xba, 0x16, 0xc0, 0xcd, 0xc4, 0xeb, 0xe3, 0x2d, 0xa0, 0xfe,
+  0x00, 0x31, 0x33, 0x93, 0xed, 0x53, 0x0b, 0x45, 0x84, 0x26, 0xab, 0x76,
+  0x7e, 0x0b, 0xb2, 0x47, 0x61, 0x7e, 0xc8, 0xca, 0x24, 0xf8, 0x0c, 0x85,
+  0x59, 0xb4, 0xf8, 0x4b, 0x8b, 0x02, 0x7e, 0x13, 0xbd, 0xc8, 0x6f, 0x90,
+  0x99, 0x84, 0xfc, 0xe4, 0x8a, 0xe7, 0x5d, 0x2c, 0x52, 0xc1, 0xdd, 0x48,
+  0xdc, 0x79, 0x52, 0x74, 0xc3, 0xff, 0xc0, 0xcd, 0x33, 0x27, 0x18, 0x89,
+  0x6f, 0xc4, 0xfc, 0x1f, 0x2a, 0x46, 0x8c, 0x66, 0x1d, 0x86, 0x8f, 0x04,
+  0x51, 0x03, 0xa4, 0x2b, 0x0a, 0x3c, 0x84, 0x8b, 0x98, 0xf2, 0xee, 0x2e,
+  0x2f, 0x53, 0x11, 0xeb, 0x24, 0x06, 0x17, 0x27, 0x83, 0x1e, 0x6a, 0x5c,
+  0x41, 0x04, 0xcb, 0x2f, 0x46, 0x61, 0x18, 0x54, 0x42, 0xee, 0x37, 0x23,
+  0xa2, 0x03, 0x98, 0x4f, 0x07, 0x1a, 0xa1, 0xd7, 0x2c, 0x76, 0xd2, 0x95,
+  0xa4, 0x10, 0x5f, 0xc8, 0xc5, 0x73, 0xca, 0x07, 0x2d, 0x6d, 0x1e, 0xb3,
+  0x80, 0xc4, 0xa3, 0x67, 0xde, 0xde, 0xef, 0x54, 0xb8, 0x84, 0xfc, 0x02,
+  0xb9, 0xc5, 0xd1, 0xad, 0xd9, 0x0f, 0xc4, 0xa7, 0xe7, 0x1f, 0x2e, 0xea,
+  0xaa, 0x34, 0x2f, 0x51, 0x2b, 0x06, 0x35, 0xae, 0x9e, 0xa3, 0x62, 0xf0,
+  0x09, 0x7b, 0x74, 0x3e, 0x90, 0x7e, 0x3c, 0x21, 0x60, 0xc2, 0x90, 0x73,
+  0x89, 0x05, 0x9c, 0x83, 0xd9, 0x40, 0xfb, 0x8f, 0x76, 0x1e, 0xa1, 0xcc,
+  0x04, 0x2f, 0x2e, 0x66, 0x23, 0x83, 0xd9, 0x2c, 0x49, 0xbf, 0x14, 0xbc,
+  0x00, 0xed, 0x4e, 0xee, 0x7c, 0x58, 0x3f, 0x5c, 0x13, 0x06, 0x24, 0x9c,
+  0xa9, 0xbc, 0xa5, 0xde, 0x9e, 0x99, 0xf2, 0x65, 0xf2, 0x8e, 0x09, 0xeb,
+  0xb5, 0x8c, 0xd9, 0xb7, 0x6a, 0xd8, 0x05, 0x2b, 0x94, 0xbb, 0x63, 0xdc,
+  0x5b, 0x60, 0xb9, 0x4a, 0x5d, 0x2f, 0x5e, 0x1f, 0x3e, 0xc3, 0xde, 0x7d,
+  0x99, 0x51, 0x28, 0x09, 0x23, 0x62, 0xf3, 0x25, 0xd2, 0x95, 0x43, 0x9a,
+  0x38, 0x46, 0x39, 0x35, 0xa2, 0x4e, 0xf1, 0xfa, 0x7d, 0x74, 0x6b, 0x0d,
+  0x3b, 0x5e, 0xbd, 0x6c, 0xec, 0x57, 0x59, 0x30, 0x2c, 0x58, 0x23, 0xa2,
+  0x22, 0xb7, 0xa3, 0xa6, 0x48, 0x31, 0x3b, 0x62, 0x7e, 0x35, 0x14, 0xad,
+  0xe0, 0xcc, 0xc0, 0x1d, 0x66, 0xb4, 0x89, 0xe3, 0xc0, 0x5d, 0x78, 0x7c,
+  0x7b, 0xbb, 0xc5, 0x8b, 0xcb, 0x94, 0x2b, 0xcc, 0x24, 0x1e, 0xfb, 0xc0,
+  0xd9, 0xe4, 0x36, 0x5a, 0x1e, 0xaa, 0x55, 0xbf, 0x51, 0x3f, 0xb6, 0x03,
+  0xad, 0xde, 0xfa, 0xfa, 0x7e, 0x0c, 0x5c, 0xbc, 0xc7, 0xa1, 0x71, 0xae,
+  0x27, 0x5c, 0xf0, 0x0d, 0xef, 0xba, 0x2f, 0x9e, 0xee, 0x36, 0xfd, 0x67,
+  0xd8, 0x01, 0x0a, 0x21, 0x20, 0xcf, 0x05, 0x52, 0x1b, 0x5e, 0x3a, 0x36,
+  0x77, 0x55, 0x01, 0x59, 0xd5, 0x41, 0xaf, 0x30, 0x7d, 0x8c, 0x75, 0x8e,
+  0x54, 0xbf, 0x3f, 0x41, 0xc4, 0xe6, 0x37, 0x27, 0xcf, 0xdf, 0xf6, 0x4f,
+  0x9e, 0x21, 0x69, 0x24, 0xa1, 0x3c, 0x4c, 0xa2, 0x45, 0xe6, 0x01, 0x55,
+  0xce, 0xa6, 0x5e, 0x33, 0x54, 0x57, 0x6e, 0xa1, 0xb3, 0xc6, 0xfa, 0x99,
+  0x8a, 0x2e, 0xa1, 0xeb, 0xbb, 0x4d, 0x90, 0x69, 0x38, 0x4c, 0x1b, 0xf3,
+  0xf4, 0x3d, 0xf8, 0x8d, 0x3d, 0x7f, 0x48, 0xbc, 0x67, 0xa3, 0x8f, 0x07,
+  0xed, 0x7b, 0x6d, 0x90, 0x4a, 0x0b, 0x0f, 0xd8, 0xf6, 0x5a, 0x72, 0x94,
+  0x43, 0x8b, 0xcb, 0x6a, 0xb6, 0x39, 0x99, 0x54, 0xd1, 0xa1, 0xe4, 0x0a,
+  0x36, 0xed, 0x57, 0xaf, 0x8c, 0xe2, 0x0b, 0x32, 0x61, 0x3a, 0x17, 0x64,
+  0xfb, 0x29, 0x30, 0x4b, 0x0e, 0xb7, 0x43, 0x75, 0x55, 0x6f, 0x69, 0x8a,
+  0xea, 0x54, 0xb9, 0x83, 0xec, 0xce, 0x61, 0x8a, 0x40, 0xbe, 0xcd, 0x01,
+  0x14, 0x7c, 0x5f, 0xab, 0x62, 0xd9, 0x24, 0x97, 0xcd, 0xac, 0x6a, 0x04,
+  0xa6, 0x7a, 0xbb, 0x44, 0xd7, 0x0d, 0x56, 0x32, 0x45, 0x19, 0x8d, 0x06,
+  0x93, 0x4c, 0x2e, 0x73, 0xb8, 0xd6, 0xaf, 0xa6, 0x06, 0x8c, 0x9f, 0xcb,
+  0x49, 0x95, 0x9c, 0x00, 0x5a, 0x97, 0x76, 0x83, 0x6a, 0x31, 0x65, 0x84,
+  0xa5, 0x02, 0xd7, 0x3a, 0x76, 0xd9, 0x37, 0x2d, 0x38, 0x1b, 0xb9, 0xfa,
+  0x52, 0xf5, 0x84, 0xd6, 0x83, 0x97, 0xd0, 0xd3, 0x63, 0x7f, 0x4b, 0x8b,
+  0xbc, 0x19, 0x10, 0xa3, 0x8e, 0x06, 0xbd, 0x2a, 0xdd, 0xb1, 0xb7, 0xb9,
+  0x5c, 0xed, 0x2e, 0x7d, 0x46, 0x8c, 0x18, 0x67, 0x14, 0x8f, 0x3f, 0x84,
+  0x50, 0x7d, 0x02, 0x9c, 0x26, 0xb7, 0x1c, 0xcd, 0xd2, 0x46, 0x83, 0x0c,
+  0x24, 0x95, 0xaa, 0x79, 0xa4, 0x60, 0xcb, 0x13, 0xd9, 0x79, 0x6c, 0x5a,
+  0x06, 0xa3, 0x8d, 0xd8, 0xcc, 0x6f, 0x96, 0x84, 0xd1, 0x37, 0xe9, 0xa7,
+  0x92, 0x50, 0x0d, 0x63, 0x59, 0x0c, 0x0a, 0x6f, 0x4b, 0xf0, 0x6a, 0x46,
+  0x17, 0xd7, 0x26, 0x62, 0xa6, 0xc9, 0xc0, 0xb6, 0xf0, 0x63, 0xb2, 0x89,
+  0x24, 0x0a, 0xa5, 0x48, 0xdd, 0x07, 0x42, 0x8b, 0x59, 0x36, 0x2b, 0xf0,
+  0x00, 0xa8, 0xcb, 0x8f, 0xe3, 0x19, 0x29, 0x7b, 0x91, 0x10, 0xc1, 0xb3,
+  0xa1, 0x8a, 0x3a, 0x63, 0x63, 0xb3, 0x28, 0xf0, 0xe5, 0xa6, 0x59, 0x91,
+  0x64, 0x41, 0x6d, 0x28, 0xe5, 0x16, 0xba, 0x6e, 0xe6, 0xb7, 0x19, 0x3a,
+  0x95, 0x05, 0x20, 0x77, 0x2a, 0x08, 0x96, 0xc8, 0xd9, 0x02, 0x78, 0x85,
+  0x82, 0x1d, 0x22, 0xa9, 0xc4, 0x28, 0xce, 0x31, 0xc2, 0x33, 0x4d, 0x0c,
+  0xcf, 0xa1, 0xa4, 0xb1, 0x9b, 0x11, 0xd3, 0x4e, 0x40, 0x43, 0x59, 0x8e,
+  0x70, 0x74, 0xb9, 0x07, 0x4f, 0x3e, 0x65, 0x9b, 0x2e, 0xd7, 0xce, 0x93,
+  0x11, 0x6d, 0x94, 0x16, 0x53, 0x20, 0xc3, 0xc0, 0x3e, 0xf2, 0x5a, 0x4d,
+  0x29, 0xda, 0x4c, 0x77, 0xb7, 0x87, 0xa4, 0x50, 0x2d, 0x89, 0x39, 0x85,
+  0xeb, 0x86, 0x0e, 0x4c, 0xc5, 0x92, 0xae, 0xda, 0x74, 0xe4, 0xf4, 0xb6,
+  0x65, 0xce, 0xd6, 0x29, 0xa8, 0x5e, 0xb1, 0xcd, 0x8b, 0x48, 0xf8, 0xa4,
+  0x35, 0x6a, 0x1b, 0x43, 0xd9, 0xdf, 0x31, 0xa7, 0x64, 0x77, 0xe7, 0xa3,
+  0x1c, 0x94, 0xe8, 0x70, 0xb6, 0x98, 0x7e, 0xe3, 0x2f, 0x83, 0xcf, 0x38,
+  0xe9, 0x7c, 0x08, 0xea, 0x8c, 0xf5, 0xff, 0x31, 0xdd, 0x93, 0xb2, 0x23,
+  0x10, 0xd4, 0xed, 0xfc, 0xd9, 0x4d, 0x3d, 0x97, 0x93, 0x77, 0x55, 0x4f,
+  0x7f, 0xa7, 0x4b, 0x54, 0xce, 0xdf, 0x25, 0xeb, 0xe1, 0x8b, 0x79, 0xcf,
+  0x9b, 0x93, 0x72, 0x49, 0x63, 0x9d, 0x87, 0xee, 0x77, 0x24, 0x3f, 0x56,
+  0xbc, 0x92, 0x78, 0x0d, 0xcb, 0x2e, 0x6b, 0xc0, 0x01, 0xed, 0x63, 0xd5,
+  0x96, 0xad, 0x4f, 0x9c, 0xdc, 0x4c, 0x59, 0xe6, 0x2c, 0x76, 0x7a, 0xae,
+  0x45, 0x79, 0x20, 0x40, 0x03, 0x40, 0x40, 0x5d, 0x85, 0x44, 0x07, 0xc1,
+  0xd2, 0xb7, 0x33, 0x3a, 0x7a, 0x48, 0x6e, 0xab, 0x49, 0x3d, 0xda, 0xf9,
+  0xb2, 0x1b, 0x3d, 0xda, 0xfb, 0xaa, 0x8b, 0xf0, 0x49, 0xf8, 0xcf, 0x1e,
+  0xfe, 0xb3, 0x8f, 0x8f, 0x3c, 0x06, 0x75, 0x61, 0x89, 0x98, 0x1c, 0x4e,
+  0x37, 0x17, 0xec, 0x0a, 0xbc, 0x41, 0x06, 0xf9, 0xc2, 0x91, 0x98, 0x13,
+  0x67, 0xc1, 0x35, 0x56, 0x97, 0x19, 0x19, 0xc1, 0x45, 0xe4, 0x33, 0x3f,
+  0xab, 0x8e, 0xd2, 0xeb, 0x45, 0x4d, 0xb1, 0xc9, 0x19, 0xf0, 0xb3, 0xba,
+  0x02, 0xa2, 0xc2, 0xc5, 0xd6, 0xb5, 0xd4, 0x06, 0x61, 0x89, 0x17, 0x1c,
+  0xe2, 0xec, 0x63, 0xa7, 0x27, 0x19, 0x27, 0xd5, 0x09, 0x2a, 0x03, 0xc2,
+  0x06, 0x64, 0xca, 0x7f, 0x4a, 0x24, 0x5c, 0x36, 0x2c, 0x6b, 0xc9, 0x77,
+  0xea, 0xd3, 0x54, 0xdd, 0x0b, 0xec, 0xcf, 0x84, 0xec, 0x3a, 0x5a, 0x04,
+  0x87, 0xd0, 0x89, 0x9c, 0xb0, 0x7c, 0x3e, 0xc9, 0xec, 0xc2, 0x90, 0x98,
+  0xaa, 0xda, 0xcd, 0x12, 0x72, 0xfc, 0x9b, 0x04, 0x10, 0xb1, 0x66, 0xa7,
+  0xb7, 0xb0, 0xf6, 0x5c, 0xe5, 0x32, 0x32, 0xb7, 0xa7, 0xbd, 0xf5, 0x7b,
+  0x4e, 0x60, 0x6c, 0xc0, 0x5e, 0x58, 0x3b, 0xa2, 0xb0, 0x0d, 0xcc, 0xcf,
+  0x88, 0x1f, 0xe7, 0x95, 0x5c, 0xa6, 0x06, 0xa8, 0x80, 0x0d, 0xa9, 0x61,
+  0xf6, 0xd3, 0x27, 0x85, 0x99, 0xf6, 0xf5, 0x69, 0xef, 0xc9, 0x13, 0x53,
+  0x98, 0x82, 0x51, 0xa4, 0x10, 0x2b, 0xe4, 0xce, 0x64, 0xd3, 0xa5, 0x62,
+  0xb4, 0x8b, 0x8f, 0xd0, 0x8a, 0x7f, 0x10, 0x85, 0x2c, 0x9c, 0xa2, 0x2f,
+  0x49, 0x2a, 0x32, 0xdc, 0x11, 0x54, 0xeb, 0x8b, 0xe2, 0xcc, 0x52, 0x42,
+  0xc4, 0x87, 0xc1, 0xbe, 0x9f, 0xe5, 0x37, 0x1a, 0x55, 0x29, 0x81, 0x63,
+  0x0a, 0x25, 0x12, 0x42, 0x25, 0x58, 0x22, 0x4e, 0x7c, 0x3e, 0x48, 0x1c,
+  0xea, 0xfd, 0xe9, 0x43, 0xf8, 0xa1, 0xbd, 0x49, 0x1c, 0xc6, 0x58, 0x26,
+  0xe5, 0x24, 0xc6, 0xb2, 0xb2, 0xbf, 0x65, 0xa3, 0xe8, 0x30, 0xa3, 0xf2,
+  0xa7, 0xd5, 0xdd, 0x37, 0xc1, 0xe2, 0x95, 0x78, 0xfc, 0xe0, 0x49, 0xa0,
+  0x93, 0xdf, 0xd8, 0x0c, 0xa2, 0x8f, 0x47, 0x9b, 0xd2, 0xc2, 0x56, 0x57,
+  0xc3, 0x3b, 0xfb, 0x47, 0xfd, 0xd3, 0xe8, 0xfc, 0xf4, 0xe8, 0xe5, 0x6b,
+  0x78, 0x27, 0xf6, 0x1d, 0x89, 0xa6, 0x88, 0x6d, 0x97, 0x03, 0xfc, 0xeb,
+  0x2a, 0x53, 0xa3, 0xce, 0xad, 0xe9, 0x87, 0x3b, 0xf2, 0xab, 0x48, 0x8e,
+  0x48, 0xd4, 0xa8, 0x21, 0x73, 0xc6, 0x0b, 0xcd, 0xef, 0x6d, 0x2f, 0x34,
+  0x68, 0x0d, 0xbe, 0xb5, 0x1a, 0x83, 0x2e, 0x3e, 0x16, 0x6f, 0x1d, 0x90,
+  0x14, 0x1a, 0x70, 0x78, 0x68, 0xfe, 0x6c, 0x70, 0xed, 0x4c, 0x22, 0x2d,
+  0x8e, 0x10, 0x46, 0xc4, 0xf6, 0x02, 0xa0, 0x43, 0xa7, 0x59, 0x2a, 0xf7,
+  0x6b, 0xf0, 0xb3, 0xb4, 0x70, 0x6c, 0x30, 0xef, 0x17, 0x98, 0x1d, 0xee,
+  0x2b, 0x82, 0x4e, 0xc9, 0x32, 0x21, 0x5f, 0x69, 0x60, 0x29, 0x0a, 0xfc,
+  0xb9, 0x7a, 0xd3, 0x70, 0xb2, 0x1b, 0xa5, 0xe7, 0xee, 0x18, 0xe4, 0xb7,
+  0x5d, 0x5b, 0xbd, 0x88, 0xd0, 0x94, 0x4d, 0x36, 0xd7, 0x25, 0x70, 0x4f,
+  0x2a, 0xfc, 0xc9, 0x2d, 0x41, 0xa3, 0x5d, 0x03, 0xee, 0x57, 0x5e, 0x25,
+  0x3e, 0xd0, 0xe3, 0x14, 0x14, 0x0e, 0x68, 0xd0, 0x0d, 0xb1, 0x69, 0x91,
+  0x2c, 0x6a, 0x94, 0xf5, 0xb9, 0xca, 0x7c, 0xd7, 0x06, 0x41, 0x03, 0x99,
+  0x26, 0x6b, 0x84, 0x32, 0x60, 0xb4, 0xdb, 0x2c, 0xd6, 0xa8, 0x2f, 0x57,
+  0x15, 0x44, 0x8e, 0xe5, 0x9d, 0xa3, 0xac, 0x29, 0xda, 0x9e, 0xcc, 0x58,
+  0xf9, 0x95, 0x8c, 0x7f, 0x0b, 0x3d, 0x37, 0xe3, 0x03, 0x52, 0xa7, 0xf3,
+  0xa5, 0x26, 0x18, 0xe9, 0x60, 0x2d, 0x14, 0x8b, 0x26, 0x29, 0xf8, 0x3a,
+  0xb8, 0xb4, 0xfa, 0xa0, 0x65, 0x85, 0xc1, 0xac, 0xb7, 0x9a, 0xee, 0x66,
+  0xd4, 0x16, 0x73, 0xbf, 0x61, 0x65, 0xc1, 0x23, 0x00, 0xe2, 0x3e, 0x47,
+  0xd7, 0x07, 0x6b, 0xd1, 0xbb, 0x76, 0x8f, 0x7a, 0xa1, 0x44, 0x89, 0xcd,
+  0xd2, 0x13, 0x8c, 0x5a, 0x03, 0x35, 0x43, 0x90, 0xa2, 0xe7, 0xaf, 0x4f,
+  0xbe, 0x3f, 0x6b, 0x8f, 0x9b, 0xe1, 0xde, 0x67, 0xa9, 0x96, 0xdd, 0xf6,
+  0x07, 0xc3, 0x15, 0x70, 0x11, 0xa1, 0x99, 0x3d, 0xa8, 0xa1, 0x3a, 0xa7,
+  0xf4, 0xc4, 0xb6, 0xe4, 0xd0, 0x07, 0x53, 0x6e, 0xe8, 0x1e, 0xa9, 0xb5,
+  0x7b, 0xdf, 0xf3, 0xf1, 0xf1, 0x0f, 0x88, 0x3b, 0x0a, 0x77, 0xe4, 0x6b,
+  0xde, 0x30, 0x76, 0xd1, 0xdc, 0xea, 0x84, 0x6e, 0xeb, 0xb5, 0x1d, 0x7f,
+  0x54, 0x8f, 0x4b, 0xef, 0x53, 0xa5, 0xb9, 0xab, 0xfc, 0xa6, 0x3d, 0x45,
+  0x82, 0x78, 0x1e, 0x13, 0x6e, 0x49, 0x4f, 0x63, 0x56, 0x0f, 0x07, 0x49,
+  0x3a, 0xc2, 0x30, 0xb6, 0x61, 0x13, 0x28, 0x60, 0xfd, 0xca, 0xe4, 0x32,
+  0x50, 0x2c, 0x34, 0xe3, 0x6a, 0x2e, 0xcb, 0xcb, 0x83, 0xa0, 0x46, 0x37,
+  0xc9, 0x07, 0xb0, 0x13, 0x5c, 0xa6, 0x5d, 0x8c, 0xbe, 0x1a, 0xf1, 0x58,
+  0x43, 0x35, 0xd5, 0x9c, 0xdc, 0x00, 0x00, 0x1f, 0x08, 0x6f, 0xf1, 0x41,
+  0x97, 0x96, 0xe8, 0xb6, 0x5a, 0x7e, 0xc4, 0xcd, 0x02, 0xdc, 0xfb, 0x94,
+  0x7b, 0x2e, 0xb0, 0x16, 0x5b, 0x9b, 0x6d, 0x7a, 0x6d, 0x02, 0xb1, 0x83,
+  0xd2, 0x45, 0x5f, 0x97, 0x34, 0xa8, 0x66, 0xdb, 0x25, 0x95, 0x91, 0x9b,
+  0xa6, 0x55, 0x0d, 0x59, 0xc3, 0xd9, 0x4a, 0x4f, 0x3e, 0xa4, 0xae, 0xa0,
+  0xdb, 0x7f, 0x2c, 0x32, 0x82, 0xb4, 0x02, 0xe5, 0x40, 0x3d, 0x93, 0xb4,
+  0xcd, 0xda, 0x68, 0x44, 0x8d, 0xd2, 0xad, 0x65, 0x34, 0x19, 0x6f, 0x61,
+  0x90, 0x0e, 0x50, 0x72, 0x7e, 0x45, 0xb4, 0x12, 0x1d, 0x93, 0x3e, 0x31,
+  0x5d, 0x20, 0xfe, 0xdb, 0xcb, 0x4a, 0xab, 0xfd, 0x10, 0x6a, 0x82, 0xa4,
+  0xd7, 0x2a, 0x7c, 0x31, 0x01, 0xfa, 0x95, 0xef, 0x7d, 0xab, 0x40, 0x37,
+  0x9a, 0xe7, 0x15, 0xcb, 0xd1, 0x58, 0x35, 0xed, 0x3a, 0x35, 0xd2, 0x0b,
+  0x8c, 0x06, 0xa4, 0xfe, 0x64, 0xb2, 0x5d, 0x56, 0x23, 0xd4, 0x56, 0x16,
+  0xb3, 0x09, 0x0e, 0x13, 0x5b, 0x52, 0x87, 0x92, 0xc7, 0x99, 0x43, 0x85,
+  0x66, 0xa3, 0xfa, 0xf2, 0x7b, 0x72, 0x52, 0x4d, 0xf5, 0x57, 0x29, 0x5f,
+  0x57, 0xc5, 0x43, 0xf7, 0xc5, 0x35, 0x42, 0x91, 0x84, 0xa7, 0x49, 0x2b,
+  0x58, 0x3b, 0x25, 0xe5, 0x72, 0xda, 0xe4, 0xed, 0xb8, 0x17, 0x5d, 0xae,
+  0x71, 0xfd, 0x50, 0xab, 0x6b, 0x92, 0xe4, 0x9a, 0x56, 0xfd, 0x6b, 0x24,
+  0x31, 0x60, 0x68, 0x83, 0xbc, 0x24, 0xc0, 0x1d, 0xd8, 0x14, 0x98, 0xb7,
+  0xb0, 0xa9, 0x65, 0xb4, 0xc9, 0xa5, 0x2f, 0x1f, 0xad, 0x2c, 0xa4, 0x5a,
+  0x0f, 0xf3, 0xa2, 0x62, 0xe6, 0x8f, 0x56, 0x56, 0x50, 0xe5, 0x37, 0xfc,
+  0x4a, 0x48, 0x2b, 0x6a, 0xa8, 0x42, 0x87, 0xc6, 0x68, 0x2a, 0x25, 0xd0,
+  0x41, 0x68, 0xbb, 0x9b, 0xa7, 0x4b, 0xaa, 0x65, 0x06, 0xa2, 0x81, 0x2c,
+  0x70, 0x89, 0x2d, 0xd5, 0x67, 0x83, 0xec, 0x8c, 0x1c, 0x1e, 0x2a, 0x48,
+  0x1d, 0x2c, 0x43, 0x29, 0xc0, 0x21, 0x5c, 0x49, 0x11, 0xaf, 0x64, 0x74,
+  0xe7, 0xdf, 0x46, 0x5a, 0xab, 0x5d, 0x46, 0xda, 0x15, 0x2c, 0x4c, 0x53,
+  0x55, 0x3d, 0x14, 0x64, 0x88, 0x9f, 0x77, 0xb9, 0x0e, 0xbb, 0xad, 0x36,
+  0xbf, 0x56, 0x1d, 0xf6, 0x46, 0x30, 0xbe, 0xa9, 0xeb, 0x8d, 0xe1, 0x1e,
+  0x06, 0x0b, 0x4a, 0x39, 0xb3, 0x5b, 0x83, 0x94, 0x53, 0x5c, 0xef, 0x02,
+  0xfe, 0x65, 0x60, 0x14, 0x0b, 0x29, 0x8e, 0x38, 0x9c, 0x80, 0xe2, 0x1d,
+  0x08, 0xa6, 0x69, 0xdc, 0x1c, 0xe5, 0x02, 0x4d, 0x44, 0x93, 0x05, 0xf6,
+  0x65, 0x7c, 0xc3, 0x5c, 0xc7, 0xdb, 0xa0, 0xac, 0x08, 0x7d, 0xf1, 0xb2,
+  0x85, 0x5d, 0x35, 0xbc, 0xa2, 0xac, 0xea, 0x27, 0x76, 0x3d, 0x9a, 0xe5,
+  0x92, 0x5b, 0xb4, 0x6b, 0xf6, 0x58, 0x74, 0x9d, 0xc2, 0xad, 0xb5, 0x48,
+  0x9f, 0x2a, 0x77, 0x06, 0x43, 0x74, 0x2b, 0x3b, 0x98, 0x84, 0x2a, 0x9b,
+  0x9b, 0xd4, 0x4f, 0xb7, 0x9e, 0xb2, 0xbd, 0x95, 0x15, 0x33, 0x1c, 0xff,
+  0xe9, 0x1b, 0xf2, 0x9f, 0x71, 0xe4, 0x49, 0x73, 0x49, 0x23, 0xce, 0x13,
+  0xe4, 0xa4, 0x42, 0x32, 0xd7, 0x48, 0x5c, 0x4f, 0xa9, 0x3c, 0xb4, 0x36,
+  0x1c, 0x35, 0xd6, 0xe8, 0x43, 0xcd, 0xa0, 0x6e, 0x2d, 0x92, 0x4a, 0x2f,
+  0x6d, 0xd5, 0xc2, 0xed, 0x81, 0xbf, 0xb9, 0x23, 0x0a, 0x4b, 0x62, 0xbc,
+  0x0f, 0xeb, 0xc9, 0x60, 0xd1, 0xc7, 0xab, 0xd3, 0x28, 0xfd, 0x23, 0x7d,
+  0xe3, 0xb9, 0x3c, 0x78, 0xb4, 0xf3, 0xd5, 0x93, 0x87, 0x54, 0x86, 0x7e,
+  0x94, 0x78, 0x05, 0x7b, 0xf9, 0x8f, 0x58, 0x9b, 0xf6, 0xb9, 0x5b, 0xf2,
+  0x20, 0xf6, 0x96, 0xdc, 0x8f, 0xbf, 0xb5, 0x40, 0x48, 0x2f, 0xe3, 0x6f,
+  0x5c, 0xfa, 0xbc, 0x7c, 0x5f, 0xd6, 0x4a, 0xed, 0xa2, 0xc9, 0xb5, 0x25,
+  0xaa, 0xcd, 0xc6, 0x86, 0x06, 0x45, 0x6d, 0xe0, 0x4e, 0x86, 0xc8, 0x4d,
+  0x0d, 0x69, 0x4e, 0x9f, 0x25, 0x16, 0x25, 0x1c, 0x4a, 0x19, 0x14, 0xb2,
+  0x05, 0xcb, 0x9e, 0xee, 0xc3, 0x9d, 0x92, 0x07, 0xb1, 0x27, 0x85, 0x89,
+  0xb8, 0x3f, 0x73, 0x52, 0x1f, 0xca, 0xbf, 0x9b, 0x3d, 0x25, 0xeb, 0xb2,
+  0xa7, 0xe4, 0x33, 0xf1, 0xa7, 0x87, 0x32, 0xa8, 0x20, 0x7f, 0x7a, 0x10,
+  0x7b, 0xfa, 0x34, 0xfc, 0xc9, 0x39, 0xaa, 0x9f, 0xa9, 0x8e, 0xac, 0x76,
+  0xff, 0xe1, 0x0c, 0x6a, 0x6d, 0xfe, 0xf4, 0x98, 0x0b, 0xdc, 0x37, 0x89,
+  0xd9, 0x4b, 0x4d, 0x46, 0xab, 0x16, 0x36, 0xb0, 0x8d, 0xf2, 0x0c, 0xa5,
+  0xd9, 0x35, 0x4c, 0x88, 0x37, 0xce, 0xfd, 0x11, 0xce, 0x09, 0xc9, 0x95,
+  0xc8, 0x1e, 0x2b, 0x71, 0x98, 0xfa, 0x64, 0x4b, 0x5b, 0xf6, 0x9c, 0xe0,
+  0x0a, 0x83, 0x6b, 0x63, 0x38, 0x7b, 0xcc, 0x49, 0xcd, 0x9c, 0x2e, 0x41,
+  0xe0, 0x9e, 0x67, 0xc4, 0xd5, 0x80, 0xc5, 0x60, 0x5d, 0x98, 0xef, 0xfb,
+  0xfd, 0xf8, 0xe8, 0xfc, 0x65, 0xb4, 0xc2, 0x58, 0x8a, 0xaf, 0x38, 0x63,
+  0xcc, 0x56, 0x09, 0xed, 0xce, 0x12, 0x7e, 0x82, 0x72, 0xf3, 0xb5, 0xe6,
+  0xcd, 0xc6, 0x7e, 0x30, 0x95, 0x3c, 0x5e, 0x96, 0x40, 0x5c, 0x5f, 0x42,
+  0xd0, 0xa9, 0x9b, 0xb4, 0x71, 0x54, 0x46, 0x35, 0x2c, 0x23, 0x5d, 0x59,
+  0x35, 0x50, 0x90, 0xc5, 0x88, 0xf8, 0x13, 0x17, 0x96, 0xe1, 0xf2, 0x7c,
+  0x78, 0x69, 0xd1, 0x03, 0x9e, 0x42, 0x8d, 0x10, 0xc8, 0x54, 0xbc, 0x74,
+  0xf7, 0xab, 0x27, 0xbb, 0xc0, 0x63, 0xee, 0x38, 0x34, 0x55, 0x5e, 0x7e,
+  0xd4, 0xdb, 0xdf, 0x7e, 0xd4, 0x7b, 0x84, 0x57, 0x9a, 0xa4, 0xd2, 0x50,
+  0x96, 0x84, 0x34, 0x1f, 0x0e, 0xf4, 0x64, 0x6e, 0xf5, 0xfa, 0xe4, 0x38,
+  0x62, 0x2c, 0x9c, 0x94, 0x2a, 0x03, 0xd5, 0xcd, 0xbd, 0x0e, 0x48, 0x9f,
+  0xd0, 0x21, 0xf3, 0x6e, 0xcf, 0x23, 0xe3, 0x2d, 0x87, 0x9a, 0xc3, 0xc8,
+  0xd6, 0x3b, 0x33, 0x03, 0xc1, 0xab, 0x81, 0x2d, 0x63, 0xb2, 0x2e, 0x38,
+  0x46, 0x1f, 0x9d, 0xd7, 0x59, 0x12, 0x67, 0xc1, 0x96, 0xc7, 0x0a, 0xf9,
+  0x43, 0xf8, 0xf8, 0xb1, 0x42, 0x5e, 0x1f, 0x0f, 0xa4, 0x55, 0x67, 0x90,
+  0x1f, 0x93, 0x60, 0x5b, 0xe9, 0x53, 0x4d, 0x90, 0x2d, 0x46, 0x4c, 0x1b,
+  0xc6, 0xe2, 0xd9, 0x2a, 0xe5, 0x3a, 0x55, 0x77, 0x00, 0x7a, 0xa4, 0x87,
+  0x53, 0x63, 0x56, 0x1c, 0xff, 0x63, 0x34, 0xeb, 0xad, 0x6b, 0x13, 0xcd,
+  0xaa, 0xa5, 0xa6, 0x4f, 0xb3, 0x20, 0xcc, 0xff, 0xc4, 0xe0, 0xd9, 0x36,
+  0x23, 0x36, 0x16, 0x7a, 0xa5, 0xa4, 0xf1, 0x08, 0x20, 0x43, 0x66, 0x53,
+  0xa2, 0xd3, 0x90, 0x69, 0x7d, 0x59, 0xe3, 0x01, 0x57, 0x88, 0xed, 0x6b,
+  0xbb, 0x48, 0x93, 0x89, 0xbc, 0x28, 0xd6, 0x57, 0x52, 0x27, 0xbd, 0x2f,
+  0x71, 0xf9, 0x28, 0x7f, 0xc6, 0x87, 0x8e, 0x90, 0x58, 0x17, 0x67, 0x0c,
+  0xc6, 0xae, 0x37, 0x4d, 0x2a, 0x76, 0xd0, 0x62, 0x4d, 0xfb, 0xd9, 0x30,
+  0x9b, 0xc3, 0xe5, 0xba, 0xc4, 0x7a, 0x1b, 0x5c, 0x94, 0x25, 0x17, 0xb4,
+  0x05, 0x73, 0xf0, 0x26, 0x59, 0x7d, 0x84, 0xe0, 0x89, 0xf0, 0x78, 0xd8,
+  0x58, 0xfd, 0xef, 0xa0, 0xf4, 0xe0, 0x0d, 0x2d, 0x06, 0x08, 0x2d, 0x82,
+  0xa1, 0xac, 0x78, 0xc9, 0xd5, 0x2c, 0xd9, 0xd2, 0xcd, 0xa8, 0x8a, 0xc0,
+  0xbd, 0xdc, 0xd2, 0x18, 0x96, 0xaf, 0xb3, 0xf7, 0xaf, 0x1e, 0xaf, 0xa6,
+  0x40, 0x96, 0x8d, 0x23, 0x53, 0x49, 0x00, 0x7d, 0xcd, 0x36, 0x88, 0x4e,
+  0x9b, 0x95, 0x92, 0x2d, 0x5b, 0xcd, 0xab, 0x3b, 0x24, 0x8e, 0x54, 0xb9,
+  0x5c, 0xe3, 0x2b, 0x65, 0x85, 0x07, 0x5d, 0xdf, 0x22, 0x2d, 0x04, 0xee,
+  0xef, 0x3a, 0xe2, 0xe6, 0x9a, 0x51, 0xb7, 0xb5, 0xd6, 0x3f, 0x88, 0xdc,
+  0xfe, 0xdd, 0x77, 0xbf, 0xf6, 0xb2, 0x52, 0x75, 0xad, 0x65, 0xac, 0x62,
+  0x3c, 0x93, 0x4b, 0x47, 0xd1, 0x26, 0xa5, 0x34, 0x19, 0x90, 0x70, 0xfc,
+  0x48, 0x4d, 0x65, 0xbe, 0xed, 0xcb, 0x68, 0x98, 0x5b, 0x2b, 0x8d, 0x7a,
+  0x46, 0xc9, 0x8d, 0x18, 0x89, 0x8d, 0xd4, 0x5c, 0x4f, 0xac, 0x70, 0x94,
+  0xde, 0x7f, 0xb7, 0xce, 0xfa, 0xf8, 0xea, 0x7f, 0x91, 0xce, 0xfa, 0x10,
+  0xa5, 0x95, 0x09, 0x31, 0x0e, 0x61, 0x4c, 0xf3, 0x72, 0xb6, 0xab, 0xaf,
+  0xb4, 0x36, 0xff, 0x57, 0x7d, 0xfd, 0xf8, 0xea, 0xab, 0x73, 0x6c, 0x5b,
+  0x82, 0x0c, 0xff, 0x1d, 0x31, 0x86, 0xcd, 0xa1, 0xf0, 0xb0, 0x85, 0x41,
+  0x1d, 0x3c, 0xc5, 0x62, 0x29, 0x0f, 0xe1, 0x5a, 0xae, 0x36, 0xfb, 0x28,
+  0xf1, 0x59, 0xd6, 0x43, 0x8c, 0x6c, 0xca, 0xa6, 0x62, 0x41, 0xe1, 0x69,
+  0x58, 0xbb, 0x04, 0xcb, 0x32, 0x08, 0xda, 0x37, 0xb9, 0x73, 0x61, 0xbf,
+  0x39, 0x79, 0x76, 0x19, 0xa3, 0xaa, 0x59, 0xe3, 0x9a, 0x46, 0xff, 0x65,
+  0x6c, 0xea, 0x93, 0x1a, 0xfe, 0x1f, 0xff, 0xff, 0xb6, 0xe1, 0xff, 0xf1,
+  0xba, 0x86, 0xff, 0xc7, 0xff, 0xd7, 0xf0, 0xff, 0xf1, 0x38, 0x93, 0xbb,
+  0x6b, 0x9b, 0x98, 0xc9, 0x88, 0xa9, 0xa6, 0xf0, 0x53, 0x0f, 0xf1, 0x96,
+  0x55, 0x0c, 0x10, 0x11, 0x98, 0xa7, 0xfa, 0xf2, 0xfc, 0x6f, 0x4f, 0xba,
+  0x54, 0x68, 0xaf, 0xef, 0xd7, 0x9c, 0x3c, 0x7d, 0x76, 0x74, 0xbe, 0x94,
+  0x01, 0x46, 0x9f, 0xd5, 0x7e, 0xf7, 0xf8, 0x63, 0xf1, 0x3a, 0xcb, 0x3c,
+  0xdb, 0x98, 0xde, 0xdf, 0xc9, 0xcc, 0x37, 0x4f, 0xd3, 0x11, 0x17, 0x1f,
+  0x8a, 0x0e, 0xe9, 0x8f, 0xf6, 0xc8, 0x6b, 0xa9, 0xe0, 0x56, 0x62, 0xd4,
+  0x68, 0xe1, 0x05, 0xd4, 0xd3, 0xcb, 0x20, 0xb3, 0xcf, 0xa4, 0xb4, 0xaa,
+  0x54, 0xb3, 0x8a, 0xbd, 0xdc, 0x93, 0xd1, 0x96, 0x20, 0x45, 0x71, 0xdf,
+  0x44, 0xb2, 0x5a, 0xc1, 0x0b, 0x46, 0x71, 0x89, 0x75, 0xe7, 0x93, 0x01,
+  0x15, 0x4c, 0xeb, 0xb9, 0xcf, 0x30, 0x4a, 0x45, 0xf8, 0x1c, 0x3a, 0x8f,
+  0x11, 0x84, 0x6a, 0x89, 0x71, 0xe9, 0x54, 0xdf, 0x8c, 0xb6, 0xaa, 0x45,
+  0x39, 0x74, 0xe6, 0xfe, 0xf9, 0x32, 0x4e, 0xdc, 0x51, 0xec, 0xef, 0xec,
+  0xd4, 0x27, 0xb3, 0x6e, 0x48, 0xfd, 0x5d, 0xb7, 0xf6, 0x7e, 0x37, 0x50,
+  0x58, 0x6a, 0xda, 0x75, 0xb3, 0x15, 0x2c, 0x39, 0x34, 0x5e, 0x6d, 0xcd,
+  0x52, 0xa9, 0xd3, 0x43, 0xb1, 0x98, 0xd5, 0x29, 0xc2, 0x9d, 0x4e, 0x8d,
+  0x10, 0x30, 0x9e, 0x7b, 0xb4, 0x28, 0x42, 0x56, 0xdd, 0xc4, 0xdd, 0x66,
+  0xce, 0xc9, 0xe8, 0xd6, 0xd3, 0x5f, 0x33, 0x87, 0x24, 0xf0, 0xb0, 0xda,
+  0xe7, 0x9b, 0xcd, 0x95, 0x0e, 0x4e, 0xaf, 0x63, 0xb7, 0x71, 0x46, 0xa5,
+  0x9b, 0xb5, 0xab, 0x11, 0x1f, 0x16, 0xd8, 0xec, 0xef, 0x7e, 0xd2, 0xa5,
+  0xf3, 0xe6, 0x72, 0xf8, 0x87, 0x7c, 0x56, 0x15, 0xf9, 0xa4, 0x74, 0x92,
+  0xcd, 0xe9, 0x2c, 0xe4, 0xd0, 0x2e, 0x07, 0x93, 0x60, 0x70, 0xe2, 0x16,
+  0x49, 0x09, 0x2d, 0x88, 0x6d, 0x09, 0x97, 0x33, 0xa4, 0xe5, 0xb4, 0x0c,
+  0x37, 0xad, 0x86, 0xa2, 0xcb, 0x70, 0x3e, 0x36, 0xe2, 0x3c, 0xc0, 0xe5,
+  0x51, 0x70, 0x50, 0x3c, 0xdc, 0x5a, 0x5d, 0x46, 0x17, 0xf1, 0x74, 0x21,
+  0x07, 0x85, 0x41, 0x72, 0x4c, 0x5a, 0xe0, 0xde, 0x9c, 0xc3, 0xa0, 0x07,
+  0x6d, 0xd9, 0x59, 0xf8, 0x5f, 0x73, 0x18, 0x3c, 0x06, 0xc7, 0x9c, 0xd0,
+  0x1e, 0x88, 0x9a, 0x04, 0x88, 0x41, 0x8f, 0x68, 0x8e, 0x8b, 0x07, 0xa9,
+  0x6f, 0xfd, 0x71, 0x77, 0xba, 0xaa, 0xb9, 0x35, 0xcc, 0xd5, 0x93, 0x14,
+  0x9c, 0x59, 0x8d, 0xb4, 0xbe, 0x28, 0x30, 0x0c, 0x7a, 0x3c, 0x49, 0x6e,
+  0x04, 0x42, 0xb0, 0x39, 0xc6, 0xfe, 0xe9, 0x3e, 0x8d, 0xe6, 0xe2, 0xb4,
+  0xbf, 0xdb, 0xdb, 0x31, 0xe2, 0x42, 0x49, 0xb1, 0xef, 0x84, 0xe9, 0xfd,
+  0xdd, 0xc9, 0x51, 0xff, 0xa2, 0x17, 0x99, 0x9d, 0xaf, 0x05, 0x41, 0x07,
+  0x22, 0xd4, 0x85, 0xe0, 0xb1, 0x1c, 0xfb, 0x24, 0xb9, 0x83, 0x23, 0xa3,
+  0x58, 0xe1, 0x38, 0x38, 0x1e, 0x9b, 0xb6, 0x8e, 0xa6, 0xc6, 0x84, 0x81,
+  0xd3, 0xaa, 0xb4, 0xc8, 0xe7, 0xcd, 0x23, 0x09, 0x1b, 0x2e, 0x60, 0x0b,
+  0x06, 0xe6, 0x81, 0x8e, 0x07, 0xa5, 0x6a, 0xe7, 0x13, 0x0c, 0xdc, 0xc7,
+  0x6e, 0xea, 0xa6, 0xf0, 0x25, 0xb5, 0x5a, 0xdc, 0xf1, 0x4f, 0x10, 0xeb,
+  0x7d, 0x56, 0x9a, 0xb1, 0xea, 0x62, 0x71, 0xd4, 0xb5, 0x01, 0x7a, 0x0c,
+  0x40, 0x6e, 0x50, 0xd9, 0x32, 0x09, 0xf3, 0xd2, 0xb8, 0xe6, 0x61, 0x45,
+  0xb5, 0x11, 0x92, 0x15, 0xb8, 0xc2, 0x8d, 0xbd, 0xfd, 0xb8, 0x69, 0xd1,
+  0x8d, 0xc6, 0xd7, 0xa6, 0xf8, 0xc6, 0xd8, 0xd6, 0xbb, 0xeb, 0x25, 0x7e,
+  0xb3, 0xd1, 0x06, 0xd1, 0xf9, 0x7b, 0xa4, 0xfe, 0x6c, 0x46, 0x0b, 0xec,
+  0x53, 0xfa, 0xa2, 0xca, 0xe3, 0xe1, 0x04, 0x13, 0x8b, 0x62, 0xe0, 0x25,
+  0x55, 0xc0, 0x2e, 0x18, 0x4d, 0xb2, 0x81, 0x12, 0x79, 0xbd, 0x70, 0x0d,
+  0xa1, 0x34, 0xf2, 0x6d, 0xc2, 0xd0, 0x6b, 0x11, 0xb7, 0x04, 0x3f, 0xa1,
+  0x29, 0xd0, 0x57, 0x7c, 0x5d, 0xa7, 0x12, 0x7b, 0x6f, 0xdd, 0xd0, 0xd6,
+  0x65, 0xa3, 0xa2, 0xad, 0xf4, 0x3a, 0xb8, 0x73, 0x62, 0xfa, 0x4d, 0xda,
+  0x74, 0x08, 0x3d, 0x15, 0x0f, 0x82, 0x5b, 0xb4, 0x59, 0x82, 0x3b, 0xfb,
+  0x68, 0x43, 0x9f, 0xa5, 0x13, 0x94, 0x39, 0xd1, 0x4a, 0x4f, 0xc8, 0x6b,
+  0x5a, 0x65, 0x07, 0xe9, 0x0d, 0x66, 0xe5, 0x55, 0x6e, 0x2d, 0x92, 0xe2,
+  0x6e, 0xab, 0x07, 0x24, 0x93, 0x51, 0xee, 0x36, 0xe6, 0x93, 0x3f, 0x85,
+  0x43, 0xc9, 0x38, 0xef, 0x49, 0xbd, 0x58, 0x0c, 0xa1, 0x79, 0x66, 0x1c,
+  0xe6, 0x27, 0x0b, 0x14, 0x92, 0x48, 0x74, 0x1c, 0x3d, 0x91, 0xf4, 0xdd,
+  0x72, 0x07, 0x89, 0x99, 0x31, 0xa9, 0x3c, 0xb2, 0x66, 0xb4, 0x46, 0x48,
+  0xca, 0x1e, 0x8c, 0x27, 0xcd, 0xaf, 0xb4, 0x8b, 0xdc, 0x30, 0x56, 0x2a,
+  0x48, 0xe9, 0x59, 0xbf, 0xd6, 0x54, 0x59, 0x51, 0x35, 0x8c, 0xca, 0x4b,
+  0xde, 0x12, 0x20, 0x39, 0x74, 0xae, 0x65, 0xd7, 0xc9, 0xf0, 0x2e, 0x82,
+  0xe9, 0x4c, 0xc4, 0xe1, 0x86, 0x3b, 0x6a, 0xaa, 0x32, 0x2d, 0x37, 0x7a,
+  0x06, 0x88, 0x68, 0xc5, 0xb9, 0x7a, 0x80, 0x3b, 0x29, 0xd0, 0xc9, 0x83,
+  0xce, 0x57, 0x73, 0xa0, 0x0f, 0x3e, 0x64, 0xcd, 0xc1, 0xd4, 0x40, 0x08,
+  0x9e, 0x36, 0xcc, 0xa0, 0xf0, 0x02, 0xe5, 0xcf, 0x23, 0x88, 0xad, 0x07,
+  0x70, 0x29, 0x04, 0xb2, 0xb5, 0xe4, 0x6a, 0xd1, 0x58, 0x51, 0x77, 0x5b,
+  0xb1, 0xb5, 0x61, 0x10, 0x4f, 0x38, 0x1a, 0x5e, 0xa5, 0x20, 0xe2, 0xf7,
+  0x1e, 0xc2, 0x78, 0x9b, 0x27, 0xc2, 0x65, 0xc3, 0x1f, 0xca, 0x78, 0xcd,
+  0x12, 0xac, 0xf4, 0x37, 0x3e, 0x80, 0xf1, 0x9a, 0xc6, 0x1f, 0x42, 0x16,
+  0x76, 0x64, 0x6b, 0x82, 0x5b, 0x15, 0x13, 0x46, 0xce, 0x71, 0x23, 0xe5,
+  0x1f, 0xf9, 0x9b, 0x0f, 0xa7, 0x7c, 0x14, 0x40, 0x89, 0x65, 0xc4, 0x54,
+  0x02, 0x67, 0x25, 0x34, 0x53, 0xd4, 0x48, 0xb7, 0xa2, 0x37, 0xc0, 0x12,
+  0x40, 0x4c, 0xc4, 0xbd, 0xd9, 0x06, 0xa9, 0x40, 0x54, 0x24, 0xae, 0x79,
+  0x23, 0x4e, 0x97, 0xdc, 0xf7, 0x25, 0x72, 0x08, 0x73, 0x95, 0x96, 0xde,
+  0xa3, 0x14, 0x40, 0xdf, 0x52, 0x50, 0xce, 0x70, 0x15, 0x5f, 0x2c, 0xc1,
+  0xbe, 0x57, 0xd9, 0x4e, 0x80, 0x72, 0x47, 0x13, 0x9e, 0x38, 0x8e, 0x5d,
+  0xec, 0x27, 0x82, 0x10, 0x88, 0x68, 0xf6, 0x98, 0x27, 0x82, 0xf1, 0xda,
+  0x54, 0x3a, 0xd9, 0x07, 0x95, 0xb1, 0x2c, 0x9b, 0x9c, 0x3f, 0x34, 0xc6,
+  0xb3, 0x79, 0x3a, 0xa3, 0xc6, 0x30, 0xd5, 0x31, 0x95, 0xd4, 0xcf, 0x22,
+  0xfd, 0x95, 0xbd, 0xe2, 0x72, 0x2f, 0x5c, 0xa6, 0x33, 0x50, 0x0e, 0x9a,
+  0x7e, 0x9d, 0xc9, 0x28, 0x99, 0x9b, 0xd7, 0x60, 0xd2, 0x88, 0xb9, 0x9d,
+  0x0d, 0x81, 0x60, 0x70, 0x19, 0x29, 0x45, 0x98, 0x56, 0x76, 0xb4, 0x74,
+  0x5a, 0xc8, 0xe7, 0x31, 0x55, 0x38, 0x45, 0x44, 0x7b, 0x23, 0x84, 0xc5,
+  0xf1, 0xb8, 0x9a, 0x9b, 0xbd, 0x5c, 0xc9, 0x10, 0xf1, 0xa1, 0x7b, 0xd5,
+  0xc7, 0x8a, 0xd6, 0xcb, 0x0a, 0x68, 0xeb, 0xff, 0x1e, 0x34, 0x4e, 0x43,
+  0xf2, 0x70, 0x61, 0x97, 0x59, 0x0f, 0xca, 0xc9, 0x3d, 0xe4, 0x07, 0x3e,
+  0x37, 0x20, 0x6e, 0x94, 0x15, 0x22, 0x30, 0xfb, 0xa4, 0xe4, 0x30, 0xb8,
+  0x25, 0x1c, 0x2e, 0xbb, 0x9c, 0xe1, 0x2d, 0xb5, 0x16, 0x83, 0x93, 0xcc,
+  0x50, 0xc4, 0xea, 0x12, 0x58, 0x8d, 0xd1, 0x82, 0x72, 0x5c, 0xa7, 0x19,
+  0xc5, 0x48, 0x6f, 0xe7, 0xe3, 0x31, 0xa1, 0x80, 0x03, 0xfb, 0xac, 0x8a,
+  0x6c, 0xb0, 0x08, 0x04, 0x64, 0xcc, 0xf3, 0x0c, 0xab, 0x65, 0x28, 0xf2,
+  0x1f, 0xf7, 0x69, 0xfb, 0x60, 0xc8, 0xe5, 0xd5, 0xac, 0xcd, 0x5f, 0x85,
+  0x68, 0xd9, 0xf6, 0x37, 0xc5, 0xec, 0xf1, 0xfd, 0x6e, 0x40, 0xbf, 0x97,
+  0x87, 0x11, 0x82, 0x37, 0xd6, 0x07, 0x71, 0xbd, 0x10, 0x71, 0xd4, 0x6e,
+  0xc1, 0x1d, 0x8f, 0x11, 0x2e, 0x63, 0x7b, 0x3f, 0x24, 0x05, 0xc2, 0x70,
+  0x1e, 0x18, 0xf5, 0x56, 0x41, 0x77, 0x90, 0x3b, 0x24, 0x24, 0xdd, 0xf8,
+  0x70, 0x79, 0x43, 0xaa, 0x14, 0xa6, 0x60, 0xf3, 0x16, 0x87, 0x57, 0x70,
+  0xd1, 0x2d, 0xe1, 0x2b, 0x32, 0xb4, 0xe4, 0x01, 0xe1, 0x6b, 0x01, 0x89,
+  0x6d, 0x31, 0xbf, 0x2c, 0x92, 0x91, 0x60, 0x35, 0xf2, 0xc5, 0x98, 0xd6,
+  0x98, 0x6e, 0x93, 0x6f, 0x10, 0x98, 0x27, 0xc9, 0xbe, 0xca, 0xad, 0x95,
+  0x92, 0x9c, 0xb7, 0x80, 0xa3, 0x03, 0x4b, 0x64, 0x8b, 0x29, 0xca, 0xc8,
+  0xb3, 0x7c, 0x16, 0x73, 0xdb, 0x9e, 0x48, 0x76, 0x2f, 0x9e, 0x2d, 0x5c,
+  0xd3, 0x30, 0x69, 0xb3, 0x37, 0x3e, 0x4e, 0x94, 0xf0, 0x2c, 0x31, 0x49,
+  0xa8, 0x01, 0xd0, 0x70, 0x03, 0xac, 0x52, 0x60, 0xc0, 0x77, 0x27, 0x30,
+  0xca, 0x09, 0xe1, 0xf4, 0xa7, 0xb3, 0x61, 0x71, 0x17, 0x16, 0xb6, 0xef,
+  0xc5, 0x42, 0x3f, 0xea, 0xcd, 0x20, 0x1c, 0x3f, 0x78, 0x2d, 0x08, 0xdb,
+  0x70, 0xaf, 0x8f, 0xd5, 0x37, 0x83, 0x7f, 0x9a, 0x19, 0xa8, 0x10, 0xd7,
+  0x56, 0x10, 0x4b, 0x0c, 0x66, 0x1a, 0xa1, 0xcf, 0x13, 0x4a, 0x60, 0x7d,
+  0x4f, 0x15, 0xd3, 0x04, 0x63, 0xae, 0xfc, 0x75, 0x62, 0x06, 0x62, 0xec,
+  0xd1, 0x84, 0xd6, 0xf6, 0x61, 0xb7, 0x0e, 0xc5, 0x50, 0x20, 0x88, 0x98,
+  0x3a, 0x4b, 0x02, 0xe5, 0x06, 0xc9, 0x65, 0x51, 0xb9, 0x80, 0xce, 0xc6,
+  0xc2, 0x34, 0x48, 0x05, 0x43, 0x50, 0xca, 0xef, 0x8d, 0x17, 0x15, 0x52,
+  0x76, 0x1b, 0x94, 0x6f, 0x93, 0xbd, 0xad, 0x57, 0x89, 0x7d, 0x65, 0x21,
+  0x76, 0x9c, 0xcf, 0xfa, 0x7c, 0x0b, 0x58, 0xf5, 0x7c, 0x7f, 0x8d, 0xdc,
+  0x55, 0x21, 0xf2, 0x6e, 0x83, 0x45, 0xc9, 0x19, 0x18, 0x66, 0xf3, 0xab,
+  0xd4, 0x45, 0x2e, 0x8b, 0xf7, 0xba, 0xfc, 0xd6, 0xf5, 0x9e, 0x77, 0x81,
+  0xf5, 0x4f, 0xeb, 0xc2, 0xb9, 0xfa, 0xa6, 0x60, 0xab, 0x40, 0x12, 0x56,
+  0x78, 0x5f, 0xcb, 0x08, 0xae, 0xf7, 0xba, 0x92, 0xb9, 0x95, 0x14, 0xe1,
+  0xe0, 0x55, 0xc1, 0x07, 0xad, 0x29, 0x98, 0xc8, 0xa2, 0x8a, 0xc5, 0x50,
+  0x4f, 0x90, 0x90, 0x76, 0x8f, 0x1b, 0x8c, 0xa8, 0xd2, 0xd8, 0x28, 0xf5,
+  0x0e, 0x8a, 0xc3, 0x25, 0xcd, 0x14, 0x09, 0xd3, 0x07, 0x43, 0x20, 0x9f,
+  0xec, 0x3e, 0x7d, 0xb2, 0xb5, 0x4a, 0x58, 0x81, 0xc6, 0x3f, 0x41, 0xa8,
+  0x29, 0xb5, 0xbb, 0xde, 0xbd, 0x82, 0x4f, 0x63, 0x29, 0x15, 0xde, 0x21,
+  0xfc, 0x6b, 0xaf, 0xe7, 0xee, 0x4b, 0xa4, 0xdc, 0xa7, 0xb4, 0x70, 0xcf,
+  0x1e, 0x44, 0xc3, 0x6c, 0x84, 0x47, 0x88, 0x16, 0x59, 0xcd, 0x16, 0x78,
+  0xb6, 0x06, 0x8b, 0x6c, 0x42, 0x90, 0x12, 0xca, 0x3c, 0x89, 0x71, 0x36,
+  0x98, 0xd6, 0xd4, 0x8f, 0xe5, 0x6d, 0x38, 0x13, 0xa9, 0x0c, 0xe2, 0xbe,
+  0x8e, 0x88, 0x2d, 0x77, 0xf1, 0x2e, 0xc1, 0xfe, 0x54, 0x93, 0xf2, 0x7a,
+  0x57, 0xeb, 0xce, 0xf1, 0x5f, 0xbd, 0xdd, 0x00, 0xf4, 0xb8, 0x7e, 0xb7,
+  0xe7, 0xd0, 0x9e, 0x6d, 0xf1, 0xc3, 0x69, 0x6f, 0x7f, 0x05, 0xed, 0xad,
+  0x4b, 0x7a, 0xfb, 0x11, 0x43, 0x6a, 0xaf, 0x4b, 0x7b, 0x4f, 0x1f, 0x3f,
+  0xf9, 0x72, 0x35, 0xed, 0xed, 0x7f, 0x22, 0xda, 0xdb, 0xbf, 0x2f, 0xed,
+  0x99, 0x82, 0x82, 0x4a, 0x7d, 0x0d, 0xf2, 0x73, 0x36, 0xdb, 0x50, 0x9f,
+  0x62, 0x33, 0xb4, 0xd3, 0xde, 0xda, 0xa4, 0xd7, 0x4e, 0x7b, 0x0e, 0xf1,
+  0x91, 0x00, 0xe1, 0x1e, 0x08, 0x25, 0x3f, 0xa5, 0x3e, 0x97, 0xbe, 0xee,
+  0x4b, 0x7b, 0x9a, 0x5f, 0x79, 0x88, 0x32, 0xdd, 0x37, 0x1e, 0xf4, 0xb2,
+  0xe0, 0xa9, 0x22, 0xe4, 0x0e, 0x82, 0xc7, 0xb2, 0x6c, 0x24, 0xaf, 0x78,
+  0x90, 0xf9, 0x52, 0x58, 0x8e, 0x44, 0x2d, 0xb2, 0x58, 0x07, 0xbc, 0xd3,
+  0xb6, 0xb0, 0x28, 0xb9, 0x30, 0xe6, 0x13, 0xbc, 0x1c, 0x36, 0xe2, 0x0d,
+  0x0d, 0x6c, 0x50, 0x49, 0xcd, 0x81, 0xaa, 0xe5, 0xb4, 0xdc, 0xcf, 0x9f,
+  0xfb, 0xcd, 0xee, 0x11, 0x9e, 0xfb, 0xe7, 0x4b, 0x3e, 0xe3, 0xfe, 0x05,
+  0x4d, 0xb8, 0xba, 0xad, 0x1e, 0x9e, 0x5d, 0xcb, 0x34, 0xe1, 0xa4, 0x74,
+  0xd7, 0xc9, 0xe2, 0x0e, 0x04, 0x38, 0xa9, 0xa9, 0x19, 0x84, 0xc9, 0x10,
+  0x53, 0x83, 0x31, 0x09, 0xeb, 0x0a, 0x0e, 0xb0, 0x02, 0xe2, 0x18, 0x44,
+  0xce, 0x88, 0xda, 0x10, 0x3d, 0x0d, 0xf7, 0x13, 0x8f, 0x06, 0x3a, 0xf9,
+  0x83, 0x95, 0x38, 0xcb, 0x66, 0x3a, 0x76, 0x4f, 0x22, 0x39, 0x51, 0x64,
+  0x70, 0x07, 0x43, 0xc7, 0xa0, 0x04, 0x79, 0x62, 0xc8, 0x60, 0x43, 0xd3,
+  0x40, 0x65, 0xe3, 0xff, 0x2c, 0x9c, 0x80, 0xda, 0xe8, 0x3f, 0x7a, 0x5c,
+  0xa8, 0xdb, 0xfa, 0xda, 0xbc, 0xb2, 0x36, 0xb4, 0xf8, 0xe5, 0x7a, 0xc4,
+  0xf4, 0xb2, 0xab, 0xf5, 0xa3, 0x88, 0x92, 0x5c, 0xda, 0xaa, 0x83, 0xaf,
+  0x34, 0xf1, 0x42, 0x80, 0x13, 0x52, 0x0a, 0xb7, 0xfa, 0x25, 0x85, 0x02,
+  0x82, 0x50, 0x62, 0x62, 0x76, 0xad, 0x16, 0x64, 0xce, 0xd7, 0x50, 0x96,
+  0x84, 0x3c, 0x6c, 0x08, 0xc7, 0x7a, 0x72, 0x6c, 0x6a, 0x86, 0xd1, 0x25,
+  0x8e, 0x18, 0x81, 0x0c, 0x1e, 0x1d, 0x46, 0x8a, 0xe6, 0x50, 0x15, 0xfb,
+  0xa6, 0x40, 0xbc, 0xc8, 0x10, 0x02, 0x9c, 0x39, 0x95, 0x4a, 0x5c, 0xfe,
+  0xf1, 0x15, 0xf4, 0x56, 0xd9, 0x8b, 0xd1, 0x62, 0x3a, 0x97, 0x99, 0x48,
+  0x49, 0x0d, 0x81, 0x1b, 0x66, 0x28, 0xb1, 0xa4, 0x70, 0xa2, 0x79, 0xae,
+  0xf2, 0x1b, 0x3f, 0x59, 0x9b, 0x03, 0x85, 0xf4, 0x34, 0x88, 0x35, 0x5f,
+  0x61, 0xc3, 0x5f, 0x56, 0xf5, 0x02, 0x9a, 0x1c, 0x62, 0x3a, 0x4a, 0x07,
+  0x0b, 0x44, 0x26, 0x0a, 0x6a, 0x6b, 0x16, 0xc2, 0xd8, 0x1e, 0x79, 0x1a,
+  0x18, 0xd6, 0xa6, 0x4e, 0xbb, 0x0c, 0x00, 0x77, 0x87, 0xa2, 0x42, 0x95,
+  0x81, 0xe6, 0x30, 0x5c, 0x11, 0xdd, 0xdc, 0xb2, 0x69, 0x1f, 0xdb, 0xd0,
+  0xd1, 0xd2, 0xcd, 0xda, 0x94, 0xdd, 0x36, 0x5c, 0xbb, 0x2f, 0xf1, 0xad,
+  0x10, 0xc3, 0x5a, 0x44, 0xff, 0xac, 0x5b, 0xdf, 0x6b, 0xf8, 0x33, 0xeb,
+  0x3a, 0xad, 0xd2, 0x51, 0x98, 0x77, 0xeb, 0x74, 0xdb, 0x3c, 0xcf, 0x6e,
+  0xd0, 0x74, 0xc3, 0x60, 0x5c, 0x0d, 0xe7, 0xf1, 0x18, 0xae, 0x8f, 0x7c,
+  0xee, 0xa1, 0x66, 0x0b, 0x3c, 0x91, 0x70, 0x9f, 0x8b, 0xe3, 0xf3, 0xe8,
+  0x39, 0xde, 0x33, 0xa8, 0x1b, 0x47, 0x9b, 0x20, 0x74, 0x3d, 0x7d, 0xb4,
+  0xbb, 0xbf, 0xb5, 0x5c, 0x9d, 0x73, 0x5b, 0x6f, 0xa9, 0xf2, 0xfb, 0x70,
+  0x43, 0xbc, 0xdb, 0xf8, 0xba, 0xfb, 0x55, 0x1b, 0xd8, 0x7a, 0x8a, 0xc3,
+  0x18, 0x7e, 0xa6, 0x31, 0x49, 0xbc, 0x75, 0x53, 0xfc, 0x57, 0xfe, 0xca,
+  0xce, 0xf2, 0x10, 0xf0, 0xde, 0xc5, 0xa2, 0x98, 0x69, 0xc9, 0x6f, 0x58,
+  0xd6, 0x77, 0xaf, 0xcf, 0x9e, 0x9d, 0x9c, 0x1e, 0xfd, 0xdd, 0x58, 0x96,
+  0xb0, 0x33, 0xad, 0x38, 0xf5, 0x2e, 0x4d, 0xca, 0xbb, 0x77, 0x70, 0xb7,
+  0xc3, 0x97, 0x9b, 0xfb, 0x5b, 0x54, 0x6e, 0xd0, 0x03, 0xe0, 0xbf, 0x4c,
+  0x6b, 0x35, 0x20, 0x05, 0x05, 0xd1, 0xa9, 0x8c, 0x18, 0x8e, 0x03, 0x44,
+  0x72, 0xd8, 0xe9, 0x81, 0x84, 0x27, 0xe8, 0x38, 0x18, 0x01, 0xe5, 0xfa,
+  0x6e, 0x9c, 0x32, 0x13, 0x48, 0x66, 0x77, 0xb6, 0xa0, 0x9f, 0x57, 0x51,
+  0x80, 0x4d, 0xdf, 0xe8, 0x17, 0xe5, 0x9b, 0x12, 0xd1, 0x15, 0xc7, 0x63,
+  0xad, 0xd7, 0x24, 0xe8, 0xfa, 0x04, 0x67, 0x4e, 0xb8, 0x8b, 0x4b, 0x8f,
+  0xbe, 0xb3, 0x70, 0xed, 0x85, 0xa1, 0x1f, 0x7c, 0x81, 0x39, 0xad, 0x3f,
+  0x84, 0x68, 0x74, 0x60, 0x6b, 0xd1, 0xcc, 0xeb, 0x2e, 0xf7, 0x3d, 0x58,
+  0x8c, 0x6b, 0x35, 0x8d, 0xe3, 0x8a, 0xa4, 0xe9, 0x74, 0x32, 0x4b, 0x2b,
+  0xc1, 0x11, 0x8b, 0x0e, 0xe1, 0xe7, 0xd7, 0x20, 0xc6, 0x79, 0x95, 0xce,
+  0x92, 0x52, 0x37, 0xc6, 0x91, 0x5d, 0xf0, 0x4d, 0xc3, 0xcc, 0x7b, 0x5a,
+  0x5b, 0x26, 0x1d, 0x99, 0x27, 0xe1, 0x1e, 0x38, 0xf0, 0xc4, 0x93, 0x8b,
+  0xbf, 0x9f, 0x9f, 0x7c, 0x7d, 0x88, 0x92, 0xcf, 0x37, 0x88, 0x21, 0x5a,
+  0xd6, 0x04, 0x21, 0x02, 0x0c, 0xf1, 0x96, 0xe6, 0xc7, 0x67, 0x2f, 0xfb,
+  0xe7, 0xa7, 0x67, 0xc7, 0x5f, 0x1f, 0xfe, 0x88, 0x16, 0x6e, 0x10, 0xa4,
+  0xef, 0x9c, 0x77, 0xcd, 0x67, 0x91, 0x96, 0x52, 0xf4, 0x8b, 0x78, 0x9e,
+  0xfc, 0xf0, 0xee, 0xe4, 0xf5, 0xdf, 0xbe, 0x3e, 0xbc, 0x4e, 0x8a, 0x2e,
+  0xce, 0x8f, 0xdf, 0x46, 0x34, 0xa6, 0xd9, 0x75, 0x56, 0xe4, 0x33, 0x0c,
+  0xe9, 0x00, 0xf9, 0xb5, 0xc8, 0x70, 0xe7, 0x02, 0xd5, 0x68, 0xea, 0xcb,
+  0xf4, 0xc9, 0x6a, 0xd2, 0x54, 0xb2, 0x3c, 0xd7, 0xd5, 0xee, 0xce, 0x8e,
+  0xac, 0xf0, 0xbd, 0x0d, 0x41, 0x7f, 0xe9, 0x72, 0xf8, 0xd3, 0x38, 0xbb,
+  0xec, 0x39, 0x9c, 0x00, 0xed, 0x6a, 0x83, 0xc9, 0xfb, 0x32, 0xfb, 0x2d,
+  0x8d, 0x0e, 0x49, 0x44, 0xf7, 0xaa, 0xda, 0x5e, 0x70, 0x1d, 0x47, 0xd8,
+  0x4d, 0xfc, 0x2d, 0xfa, 0xee, 0xf4, 0x2f, 0xfd, 0x97, 0xff, 0x7d, 0x62,
+  0x62, 0x50, 0xa7, 0x0b, 0x2c, 0x5f, 0x96, 0x46, 0xdf, 0x3c, 0xde, 0xdd,
+  0xdb, 0x12, 0xa9, 0x41, 0xaa, 0xc9, 0x0c, 0x26, 0x18, 0xec, 0xdc, 0x30,
+  0x68, 0x62, 0x4f, 0xa4, 0x38, 0x36, 0x6b, 0x41, 0xd9, 0x9a, 0xb8, 0x1a,
+  0x30, 0x46, 0x80, 0x8c, 0x04, 0x66, 0x04, 0xdf, 0x02, 0x17, 0x41, 0xa8,
+  0x42, 0x2f, 0x30, 0x97, 0x06, 0xa5, 0xf1, 0x11, 0x4e, 0x29, 0x0a, 0x18,
+  0x8e, 0x84, 0xdb, 0x2d, 0x0d, 0xbf, 0xe2, 0x40, 0xd7, 0xda, 0x3a, 0x7c,
+  0x2e, 0xcc, 0xbf, 0xda, 0x20, 0x76, 0x77, 0xf6, 0x1e, 0x45, 0x95, 0x5f,
+  0xbf, 0x10, 0xd5, 0xc6, 0x25, 0x57, 0x00, 0xb5, 0x01, 0xe7, 0xd9, 0x2b,
+  0xf8, 0xea, 0x7d, 0x15, 0xde, 0x66, 0x27, 0x43, 0x9d, 0xb0, 0x98, 0x73,
+  0x2a, 0xbc, 0xc3, 0x8b, 0xac, 0x07, 0x57, 0x2b, 0x0d, 0x2e, 0x57, 0x2e,
+  0xa6, 0xb8, 0x86, 0x44, 0xf4, 0x14, 0x52, 0xe5, 0x04, 0x4c, 0x4d, 0xd2,
+  0x4b, 0x8c, 0xb2, 0x90, 0x4d, 0x2b, 0x6d, 0xf9, 0xea, 0x00, 0x20, 0x76,
+  0x94, 0x0c, 0xd1, 0x0a, 0x4c, 0x55, 0x89, 0x18, 0xe0, 0x91, 0xeb, 0xbf,
+  0x02, 0x3f, 0x37, 0xd1, 0x56, 0xb5, 0xd1, 0x49, 0xe9, 0x8d, 0xf6, 0x0a,
+  0x45, 0x2a, 0x38, 0xfb, 0x9b, 0xae, 0xe6, 0x9e, 0xa5, 0x37, 0x40, 0x7d,
+  0x11, 0xef, 0xe5, 0xdb, 0x5c, 0xe3, 0x06, 0x68, 0xdb, 0xbd, 0x35, 0x08,
+  0xc8, 0x19, 0x9c, 0x90, 0xcf, 0xee, 0x57, 0x7b, 0xbd, 0xdd, 0x27, 0x5f,
+  0x62, 0xd1, 0xaa, 0xed, 0x55, 0xa4, 0x23, 0xcb, 0x51, 0x17, 0x1f, 0xbe,
+  0xac, 0x89, 0x0f, 0xbf, 0xd1, 0xcd, 0x00, 0xd3, 0x8d, 0x29, 0x82, 0xf5,
+  0x10, 0x7f, 0x0d, 0x96, 0xc2, 0xa6, 0x80, 0x73, 0xf6, 0xe3, 0x53, 0x68,
+  0x0f, 0x9b, 0x3c, 0x68, 0xb3, 0x0d, 0x8e, 0xe7, 0x34, 0x1f, 0xb1, 0x82,
+  0x89, 0xb5, 0x9a, 0x4d, 0x08, 0x75, 0xf3, 0x54, 0x39, 0x00, 0xe5, 0xa4,
+  0xaa, 0xc2, 0xb3, 0x24, 0xb5, 0x23, 0x54, 0x6e, 0x4b, 0x7b, 0xa6, 0x36,
+  0x41, 0x20, 0x82, 0x48, 0x50, 0xc9, 0x31, 0x1b, 0xf3, 0x10, 0xdb, 0x42,
+  0x29, 0x01, 0x45, 0x64, 0x58, 0xb4, 0x6f, 0x94, 0x7d, 0x27, 0x6e, 0xc1,
+  0xe6, 0x11, 0xc7, 0x0f, 0x21, 0x3f, 0x2a, 0xfd, 0x62, 0xaa, 0x8c, 0xcb,
+  0xd7, 0xc8, 0xc7, 0x45, 0x85, 0x82, 0x48, 0x1f, 0xef, 0x2d, 0x18, 0x67,
+  0xa9, 0x76, 0x1d, 0x04, 0x61, 0x27, 0xa7, 0x06, 0xba, 0xc0, 0x70, 0x45,
+  0x82, 0xe9, 0x5e, 0x9c, 0x42, 0x40, 0x68, 0xce, 0x70, 0x06, 0x2f, 0x25,
+  0xd9, 0x8f, 0x67, 0x27, 0x8e, 0x59, 0x1a, 0xd4, 0xe6, 0x14, 0x27, 0xb3,
+  0xc5, 0x28, 0xae, 0x41, 0xd3, 0x95, 0x31, 0x43, 0xd5, 0x64, 0x37, 0x68,
+  0x11, 0xdf, 0x47, 0xb9, 0x0d, 0x6e, 0x23, 0x12, 0xd4, 0xd8, 0xfb, 0xcb,
+  0xcd, 0x3a, 0x2b, 0xe2, 0x21, 0x3d, 0x57, 0x41, 0x00, 0xc2, 0x3e, 0x4a,
+  0x9d, 0x8a, 0x3e, 0xe7, 0xae, 0xa8, 0xd6, 0x78, 0x18, 0x61, 0x1d, 0xfb,
+  0xcd, 0x78, 0xcb, 0x14, 0x55, 0x24, 0xb8, 0x69, 0x26, 0x0d, 0x3f, 0xa9,
+  0x06, 0x9e, 0xcf, 0x87, 0x8b, 0x29, 0x17, 0x26, 0x4d, 0x68, 0xe1, 0x38,
+  0xce, 0x52, 0x29, 0x44, 0x68, 0x02, 0x3b, 0xdb, 0xe6, 0xc0, 0x6e, 0x65,
+  0xfc, 0x94, 0xbc, 0xe8, 0x15, 0x0f, 0x6e, 0x34, 0x36, 0x4b, 0x6f, 0xdc,
+  0xc6, 0xac, 0xa1, 0xc3, 0x34, 0xd8, 0x76, 0x53, 0x18, 0xc2, 0xbf, 0x7f,
+  0x36, 0xd8, 0x83, 0x6f, 0x8a, 0xb6, 0x8a, 0xb8, 0xbf, 0x45, 0x9d, 0x1f,
+  0xa0, 0xcf, 0x9d, 0x5d, 0xd8, 0xd4, 0x79, 0xb4, 0xb7, 0xb3, 0xb7, 0x1b,
+  0xed, 0xee, 0x1d, 0xec, 0x7e, 0x79, 0xb0, 0xb3, 0xb3, 0x46, 0x8d, 0x5c,
+  0x68, 0x25, 0xfe, 0x28, 0xcd, 0xd0, 0xb9, 0x5e, 0x4f, 0x55, 0x01, 0x2a,
+  0xba, 0x8c, 0xa9, 0x8e, 0x99, 0xba, 0xa2, 0xde, 0x74, 0x09, 0xef, 0x79,
+  0x9a, 0x57, 0xa9, 0x07, 0xf6, 0x5c, 0x4d, 0x4a, 0x0c, 0xd0, 0x8f, 0x0e,
+  0xff, 0x76, 0xf2, 0xa6, 0xff, 0xf2, 0xec, 0xf5, 0x37, 0x41, 0xf7, 0x80,
+  0x7c, 0x89, 0x84, 0x00, 0xb2, 0x95, 0xad, 0x4c, 0x60, 0x7d, 0xa8, 0xe8,
+  0x98, 0x56, 0x67, 0x1f, 0xd7, 0xf4, 0xce, 0x66, 0xf8, 0x88, 0x5f, 0x00,
+  0x3b, 0x9d, 0x57, 0x8c, 0x3d, 0xae, 0xae, 0x5a, 0xda, 0x6d, 0x32, 0x64,
+  0x92, 0x8b, 0x95, 0xcc, 0xc7, 0x3b, 0x5d, 0xfd, 0x6d, 0xd7, 0xfc, 0xb6,
+  0xe7, 0xf3, 0x07, 0xfe, 0x62, 0x3f, 0x44, 0x50, 0x4d, 0x6f, 0x6a, 0xc9,
+  0x55, 0x29, 0xf0, 0xc8, 0xa0, 0xa2, 0x04, 0xe3, 0xed, 0xd6, 0xf4, 0x1e,
+  0x47, 0xc9, 0x68, 0x89, 0x1e, 0x64, 0xf9, 0x8b, 0x55, 0xf0, 0x32, 0xfa,
+  0xeb, 0xdb, 0x97, 0xc7, 0x31, 0x07, 0x01, 0x10, 0x4b, 0xde, 0x86, 0xf3,
+  0x6e, 0xc2, 0xf1, 0xbd, 0x01, 0x85, 0x93, 0xce, 0x9d, 0x6c, 0xbf, 0xc5,
+  0x9c, 0x11, 0xec, 0x51, 0x86, 0xe5, 0xe2, 0x7d, 0xee, 0x8a, 0x36, 0x9b,
+  0xc3, 0x38, 0xee, 0xda, 0x8b, 0xf0, 0xf0, 0x35, 0x59, 0xc0, 0x9a, 0xcf,
+  0xed, 0x86, 0x9e, 0xdb, 0xf5, 0x9f, 0xdb, 0x0b, 0x3d, 0xb7, 0xe7, 0x3f,
+  0xb7, 0x1f, 0x7a, 0xce, 0xd9, 0x00, 0x39, 0xca, 0x42, 0x55, 0x6b, 0xd4,
+  0x8e, 0x08, 0xc3, 0xa2, 0xd7, 0x8f, 0xb0, 0x7f, 0x76, 0xf5, 0x7a, 0x96,
+  0xfe, 0x70, 0x1e, 0xcb, 0x4e, 0x97, 0xf7, 0xf8, 0xbe, 0x75, 0x58, 0x2c,
+  0x3d, 0x66, 0xee, 0x65, 0xae, 0x04, 0x6a, 0xdc, 0x20, 0x5d, 0xa7, 0x11,
+  0xd7, 0x07, 0xb2, 0xdf, 0xab, 0xad, 0x85, 0x83, 0x56, 0xe6, 0xf9, 0x18,
+  0xd7, 0xf3, 0xec, 0xa8, 0x04, 0xa1, 0xcd, 0x05, 0x2c, 0x3c, 0x93, 0x72,
+  0x77, 0x5f, 0x5d, 0xd0, 0xd1, 0xa1, 0xfc, 0xb2, 0xc8, 0x2a, 0x2e, 0xf1,
+  0xee, 0x6b, 0x22, 0xa7, 0x7d, 0xb7, 0x04, 0x3a, 0x9b, 0x13, 0xf9, 0xad,
+  0x88, 0x5e, 0x2b, 0x6d, 0x01, 0xf4, 0xe6, 0xd1, 0xf2, 0x8b, 0xfe, 0x62,
+  0xa2, 0xbb, 0x41, 0xff, 0x85, 0x69, 0x22, 0x29, 0xd3, 0x72, 0x5c, 0x5c,
+  0x71, 0xff, 0x78, 0xf3, 0xeb, 0xe0, 0xa4, 0x79, 0x52, 0x76, 0x24, 0x05,
+  0xd1, 0xcf, 0xf1, 0xcd, 0x46, 0xfa, 0x3c, 0xc6, 0xba, 0x24, 0x23, 0x24,
+  0x3f, 0xe8, 0x5a, 0x1a, 0xae, 0x8d, 0xd4, 0x58, 0x44, 0x04, 0x4c, 0xdd,
+  0x93, 0x56, 0xdf, 0xbe, 0x39, 0xf5, 0xb4, 0x63, 0xb3, 0xf9, 0xb8, 0xf2,
+  0xbd, 0x32, 0xdd, 0x86, 0x6b, 0xad, 0xdc, 0xa6, 0xc0, 0x16, 0xe9, 0xf6,
+  0xaa, 0x9a, 0x4e, 0x56, 0x16, 0xfa, 0x44, 0x02, 0xc3, 0x48, 0x97, 0xc9,
+  0x9d, 0x18, 0x6e, 0x29, 0x6c, 0xdc, 0x96, 0x0b, 0xc9, 0x9c, 0x1d, 0xf5,
+  0x51, 0xa2, 0xd1, 0xc8, 0x86, 0xe1, 0xb2, 0x78, 0x40, 0x77, 0x51, 0x08,
+  0x23, 0xc9, 0xcd, 0x14, 0x86, 0x63, 0xeb, 0x2e, 0xe7, 0x30, 0xd9, 0x98,
+  0x1a, 0x7c, 0x41, 0xc2, 0x4e, 0x02, 0xa5, 0x1e, 0xa8, 0x72, 0x35, 0xe8,
+  0x80, 0xa5, 0x14, 0x0d, 0x09, 0x2d, 0x58, 0xe9, 0xc6, 0xe0, 0xa6, 0x36,
+  0x72, 0x21, 0x28, 0xe4, 0x87, 0x3d, 0x56, 0x75, 0x72, 0xfb, 0x6c, 0x5a,
+  0x5e, 0x6d, 0x14, 0x30, 0xd5, 0x77, 0x47, 0x27, 0xfd, 0x77, 0xbb, 0x7b,
+  0x5f, 0xbe, 0xfb, 0xfe, 0xf8, 0xd5, 0xbb, 0xfe, 0x8b, 0xa3, 0xbd, 0xc7,
+  0xeb, 0x22, 0x50, 0x68, 0x63, 0x12, 0xd2, 0xb1, 0x00, 0xb5, 0xaa, 0x5c,
+  0xea, 0x77, 0x80, 0x31, 0x60, 0xcc, 0x3c, 0xe1, 0xaf, 0x1e, 0xe2, 0xbf,
+  0xdf, 0xf8, 0xe5, 0x5b, 0xf8, 0x40, 0x78, 0x40, 0x20, 0x68, 0x81, 0x41,
+  0x14, 0x62, 0x26, 0x20, 0x5e, 0xab, 0x46, 0xda, 0x41, 0x4b, 0x7e, 0x02,
+  0x91, 0x5e, 0xa7, 0xff, 0xe6, 0xbc, 0xd3, 0x95, 0x58, 0x5e, 0xe8, 0x20,
+  0x86, 0xbf, 0x23, 0xb2, 0xd9, 0x46, 0xd1, 0xe3, 0x9d, 0xc7, 0x8f, 0xb6,
+  0x7a, 0x0e, 0x77, 0x26, 0xc8, 0xff, 0x40, 0x34, 0x36, 0x7d, 0x69, 0xa0,
+  0x4a, 0x88, 0xe4, 0x9c, 0x12, 0x0a, 0xe8, 0xbf, 0xa9, 0xcd, 0x90, 0x33,
+  0x84, 0xba, 0x9c, 0x91, 0xdb, 0xae, 0x18, 0xca, 0xed, 0x47, 0x3c, 0x84,
+  0x86, 0x59, 0x77, 0x81, 0x60, 0xd6, 0x90, 0x64, 0x58, 0x48, 0xd0, 0x93,
+  0x70, 0xc3, 0x60, 0x60, 0x8b, 0xb2, 0x47, 0x9a, 0x34, 0x9f, 0x26, 0xa9,
+  0x0a, 0x62, 0x26, 0x2d, 0x0b, 0xd6, 0x8d, 0x84, 0x91, 0xa9, 0x5b, 0xbd,
+  0xe5, 0xbc, 0xc1, 0x82, 0x7d, 0x3f, 0x5b, 0xe0, 0x9e, 0x50, 0x3b, 0xda,
+  0x8c, 0xb4, 0xd2, 0x4a, 0xf1, 0xee, 0x2a, 0x7c, 0xa6, 0x7c, 0x4e, 0x77,
+  0x14, 0x38, 0xe4, 0xf5, 0x88, 0x5b, 0xe8, 0xa0, 0x41, 0xbe, 0x66, 0xf7,
+  0x0f, 0x59, 0x2d, 0x0b, 0x12, 0xb0, 0x25, 0x11, 0x24, 0x37, 0x32, 0x2f,
+  0x71, 0xfd, 0xd3, 0x94, 0x68, 0xbb, 0x41, 0xda, 0xd3, 0x14, 0x84, 0xae,
+  0x51, 0x3b, 0xbe, 0xb1, 0xea, 0xe9, 0xce, 0x74, 0x7a, 0x1a, 0xa4, 0x2e,
+  0xb1, 0x10, 0x96, 0x6a, 0x69, 0xf0, 0xe8, 0x41, 0x4d, 0x97, 0xfb, 0xeb,
+  0x03, 0xc9, 0xda, 0x7a, 0x0f, 0xb5, 0xed, 0xa8, 0x99, 0xd5, 0x67, 0xdd,
+  0x51, 0x33, 0x8a, 0xf9, 0xcd, 0xc8, 0x99, 0x37, 0x57, 0xe9, 0xf8, 0x08,
+  0x1b, 0x4c, 0x0d, 0x05, 0xd1, 0xc7, 0x68, 0x6b, 0x15, 0xb1, 0xe8, 0xdf,
+  0xb1, 0xb5, 0x22, 0x00, 0x35, 0xb9, 0x0e, 0xc5, 0xcb, 0x78, 0xcc, 0xe4,
+  0xe3, 0x6e, 0xb8, 0xb3, 0x16, 0x9f, 0x29, 0x07, 0xff, 0x63, 0x6f, 0xb5,
+  0x36, 0xd6, 0xd8, 0x6e, 0x14, 0x56, 0x83, 0xe2, 0xde, 0x73, 0x04, 0xa8,
+  0xaa, 0x63, 0x66, 0x3a, 0x3a, 0x07, 0xe9, 0x18, 0x2a, 0x83, 0x48, 0xe5,
+  0xc9, 0x25, 0x60, 0x99, 0x14, 0xce, 0xcc, 0x3a, 0x26, 0xb5, 0x22, 0x66,
+  0xe3, 0x2f, 0x02, 0xc5, 0x50, 0x31, 0x76, 0x43, 0x7b, 0x41, 0xf1, 0x69,
+  0x6c, 0x40, 0xc1, 0x1a, 0xd1, 0xaa, 0x6a, 0x5a, 0x90, 0xca, 0x36, 0x98,
+  0x74, 0xd8, 0x68, 0xee, 0x1d, 0x5e, 0x1a, 0xef, 0x64, 0x9b, 0x77, 0x34,
+  0x84, 0xd5, 0xe4, 0xcd, 0x61, 0x23, 0xa0, 0xb0, 0x61, 0x0c, 0x59, 0x89,
+  0xb8, 0xfc, 0x4e, 0xa5, 0x9d, 0x3c, 0x64, 0x0c, 0xc3, 0x76, 0xe0, 0x7a,
+  0xc1, 0x1c, 0x3d, 0x8d, 0x0c, 0x51, 0xe9, 0x3d, 0xab, 0x17, 0xe7, 0x45,
+  0x72, 0x48, 0x8c, 0x1a, 0x2c, 0xcb, 0xe6, 0x97, 0x0c, 0x5e, 0xe5, 0xf4,
+  0xe2, 0xdd, 0xf9, 0x04, 0x01, 0x6a, 0xda, 0xf2, 0xda, 0x44, 0xc4, 0x6a,
+  0x8b, 0x5b, 0x88, 0xc5, 0xd7, 0x2c, 0x02, 0xa1, 0x5f, 0xf7, 0xa4, 0xa8,
+  0xdd, 0xff, 0x5d, 0x14, 0xb5, 0xfb, 0xbf, 0x94, 0xa2, 0x76, 0x3f, 0x19,
+  0x45, 0xed, 0x3e, 0x8c, 0xa2, 0xac, 0x5a, 0x8c, 0x53, 0xbf, 0x07, 0x7d,
+  0xed, 0x3d, 0x8c, 0xbe, 0xf6, 0xfe, 0x77, 0xd1, 0xd7, 0xde, 0xff, 0x52,
+  0xfa, 0xda, 0xfb, 0x64, 0xf4, 0xb5, 0xf7, 0x6f, 0xa2, 0xaf, 0xfd, 0x87,
+  0xd1, 0xd7, 0xfe, 0x27, 0xa0, 0xaf, 0x71, 0x28, 0x9d, 0x72, 0x95, 0xb5,
+  0xd2, 0xc4, 0x69, 0x7d, 0x7c, 0x53, 0xe5, 0x6b, 0x93, 0xa3, 0xa2, 0xc6,
+  0x02, 0x05, 0x08, 0x73, 0x13, 0x66, 0xd0, 0x89, 0x83, 0xdf, 0x8b, 0xe9,
+  0xa1, 0xec, 0xad, 0x24, 0x9a, 0xfd, 0x4f, 0x46, 0x34, 0xfb, 0x0f, 0x22,
+  0x9a, 0xbd, 0x25, 0x44, 0xd3, 0xa8, 0xea, 0x6d, 0x2d, 0x7c, 0xe1, 0xe0,
+  0x79, 0x0f, 0x7b, 0x3c, 0xc1, 0x5c, 0x27, 0x14, 0x1b, 0xeb, 0xe4, 0x73,
+  0x2b, 0x54, 0xa3, 0xb6, 0xb1, 0xa0, 0x7e, 0xcb, 0xba, 0x6c, 0x12, 0x29,
+  0xed, 0xb0, 0xb1, 0xc0, 0xc2, 0x14, 0x40, 0xdb, 0x5c, 0x96, 0xd5, 0x17,
+  0xd6, 0x9a, 0x41, 0xaf, 0xd9, 0x25, 0x16, 0x7c, 0x5f, 0xb5, 0x33, 0x9f,
+  0x6a, 0x5f, 0x3e, 0x4a, 0x6e, 0x86, 0x13, 0x7a, 0xfe, 0x1f, 0x92, 0x9b,
+  0x61, 0x6e, 0xc2, 0x5a, 0xb8, 0x7b, 0xc3, 0xf0, 0xeb, 0x32, 0x9c, 0x22,
+  0x4e, 0x81, 0xa3, 0xe3, 0x8a, 0x87, 0x5c, 0xb9, 0xae, 0x17, 0x17, 0xbd,
+  0x36, 0xe8, 0xdb, 0x43, 0xeb, 0xbf, 0x9c, 0xcf, 0xf8, 0x44, 0xde, 0xb5,
+  0x61, 0xa4, 0x7c, 0x92, 0xfd, 0x3a, 0xb6, 0xb9, 0x72, 0x12, 0x53, 0xb8,
+  0x55, 0x2b, 0xa0, 0x09, 0xac, 0x43, 0x57, 0x40, 0x17, 0xb4, 0x1b, 0x5b,
+  0xd1, 0x8a, 0x6a, 0x5d, 0x7b, 0xf5, 0x4e, 0x87, 0x29, 0xd7, 0x20, 0xce,
+  0x96, 0xc7, 0x1e, 0x3b, 0x13, 0xfc, 0x14, 0xa1, 0x5b, 0xb6, 0xf5, 0xb5,
+  0xa9, 0xd0, 0x19, 0xd8, 0x9a, 0x66, 0x3f, 0xb3, 0x11, 0xf5, 0x9d, 0x4c,
+  0x86, 0x69, 0x9c, 0x94, 0xc3, 0x2c, 0x0b, 0x3b, 0x84, 0x35, 0x68, 0x3d,
+  0xa1, 0x84, 0xc3, 0x88, 0x9e, 0x8f, 0x30, 0x8e, 0x13, 0xf7, 0x06, 0x39,
+  0x26, 0x5e, 0xed, 0x54, 0x4f, 0x18, 0x37, 0x02, 0x18, 0xfb, 0x65, 0xae,
+  0x71, 0x38, 0x58, 0xf3, 0xd4, 0x4b, 0x3d, 0x05, 0xf6, 0x4d, 0xdf, 0xa7,
+  0xe5, 0xb0, 0xc8, 0xe6, 0x84, 0x2f, 0x92, 0xcd, 0x30, 0x87, 0x4f, 0x10,
+  0x4d, 0x24, 0x22, 0x8c, 0xfd, 0xb5, 0x12, 0x7b, 0x1c, 0x31, 0x5c, 0x00,
+  0x0a, 0x03, 0x8d, 0xe6, 0x3a, 0x71, 0x07, 0x9d, 0xe3, 0xf8, 0x3d, 0xe9,
+  0xf7, 0xf0, 0x36, 0x48, 0x1d, 0xa9, 0x13, 0x02, 0x1c, 0x69, 0x55, 0xdc,
+  0x65, 0xe9, 0x10, 0x08, 0x8d, 0x96, 0x4d, 0xb3, 0x49, 0x52, 0xc8, 0x71,
+  0xe0, 0x48, 0x5f, 0x34, 0x0e, 0x02, 0xcf, 0xc3, 0xb8, 0x94, 0x5c, 0x8a,
+  0xa5, 0x5d, 0xa5, 0xb7, 0x8c, 0xbb, 0x4f, 0xb3, 0x9d, 0xf9, 0x19, 0x98,
+  0x57, 0x8a, 0x4a, 0x7f, 0xd4, 0x3f, 0x7e, 0xf9, 0xb2, 0x86, 0xd1, 0x8f,
+  0xab, 0x46, 0x11, 0xc9, 0x5c, 0xc9, 0xaf, 0x9c, 0xc2, 0xf2, 0xa1, 0xc9,
+  0x52, 0x67, 0x19, 0x88, 0x3d, 0x98, 0x02, 0xbb, 0xa3, 0x78, 0x29, 0xe0,
+  0xbc, 0x19, 0x57, 0xc5, 0x2e, 0xd0, 0x55, 0x40, 0x66, 0x8c, 0x19, 0x0c,
+  0x33, 0xc3, 0xda, 0xdd, 0x57, 0x8b, 0x69, 0x32, 0x2b, 0xff, 0x43, 0x32,
+  0x3d, 0x5c, 0x8a, 0xfa, 0x8c, 0x36, 0x27, 0x67, 0x14, 0x93, 0xfc, 0x72,
+  0x9d, 0x8c, 0x8f, 0xd6, 0x94, 0x0f, 0x6e, 0x34, 0xc0, 0x63, 0x0d, 0x4f,
+  0x0d, 0x50, 0xbb, 0xc3, 0x63, 0xe9, 0xe8, 0xf8, 0x21, 0xff, 0xde, 0x69,
+  0x0c, 0xc0, 0xb2, 0x9d, 0x17, 0x24, 0x33, 0x97, 0x52, 0xaf, 0x1c, 0x83,
+  0xcf, 0xa7, 0xe4, 0xac, 0xc4, 0x7d, 0x92, 0x43, 0x09, 0xbb, 0xa6, 0xc3,
+  0xa5, 0x70, 0x41, 0xbd, 0x52, 0x02, 0x19, 0xdb, 0x12, 0xe4, 0xf8, 0x1f,
+  0x56, 0x18, 0xd2, 0xce, 0xfe, 0xa3, 0x17, 0x86, 0xb4, 0x4d, 0x3f, 0x8c,
+  0x90, 0x04, 0x17, 0xd4, 0xa5, 0x2a, 0x39, 0xb5, 0x6b, 0x8a, 0x69, 0xf7,
+  0xa4, 0x81, 0xff, 0xad, 0xbc, 0x98, 0x22, 0x95, 0x0c, 0x37, 0xbe, 0x07,
+  0x3b, 0x26, 0x05, 0xaf, 0xf3, 0x7b, 0xe4, 0xe2, 0x9e, 0xa5, 0xf5, 0x5e,
+  0x3c, 0x3d, 0x2d, 0x8a, 0xff, 0x24, 0xc6, 0xf7, 0xd9, 0x2a, 0xa6, 0x73,
+  0xef, 0x6b, 0xb2, 0x3a, 0x97, 0x2a, 0x85, 0xac, 0x1d, 0x4e, 0xc7, 0xe7,
+  0xa5, 0x8d, 0xdd, 0x79, 0xa1, 0xf3, 0x2e, 0xb3, 0x6b, 0x63, 0x9e, 0xdc,
+  0x89, 0x4b, 0xee, 0x08, 0xa4, 0x1c, 0x4b, 0x89, 0xc7, 0x43, 0x44, 0x3f,
+  0xfe, 0x26, 0x2c, 0x51, 0x1e, 0xb3, 0x2a, 0x19, 0x29, 0x16, 0x2e, 0x69,
+  0x8e, 0x6f, 0x03, 0x38, 0xf1, 0x9a, 0x09, 0x09, 0x3b, 0x46, 0x52, 0x65,
+  0x20, 0x99, 0x72, 0x96, 0x56, 0x68, 0x4f, 0x0f, 0x6f, 0xa3, 0x3b, 0xa0,
+  0xcf, 0x77, 0x7f, 0xb9, 0xa3, 0xe0, 0x1f, 0x31, 0x2e, 0xce, 0x9a, 0x1b,
+  0x9b, 0x0c, 0x4a, 0x5c, 0xf6, 0xca, 0x6d, 0xae, 0x1e, 0xac, 0x59, 0x47,
+  0x1b, 0xb9, 0xa0, 0x62, 0xf2, 0xf3, 0x49, 0x9e, 0x8c, 0x62, 0x0a, 0xd3,
+  0x0a, 0xb2, 0x21, 0x0e, 0x11, 0xb0, 0x38, 0x9d, 0xcd, 0xfa, 0x03, 0x84,
+  0x66, 0x2d, 0xe1, 0x9b, 0xb9, 0x00, 0xc4, 0x90, 0xda, 0xf7, 0xf6, 0xcd,
+  0x69, 0x2f, 0x98, 0xde, 0x5a, 0x88, 0xdb, 0x95, 0x5f, 0x22, 0x99, 0x29,
+  0x6b, 0x86, 0xda, 0xc1, 0xcb, 0x5d, 0x27, 0x0a, 0x3c, 0x99, 0xe3, 0x85,
+  0x18, 0xd0, 0x97, 0x9c, 0xde, 0xb9, 0x1e, 0xf3, 0xeb, 0xb3, 0x8b, 0x13,
+  0xbe, 0x0a, 0xd1, 0x76, 0x44, 0x31, 0x19, 0x0c, 0xbb, 0x87, 0xe2, 0xd3,
+  0x04, 0x19, 0xe0, 0xb6, 0x26, 0xb1, 0x04, 0xea, 0x96, 0x70, 0x26, 0x6f,
+  0xce, 0x31, 0xe7, 0x58, 0x7d, 0x65, 0x42, 0xb0, 0x8e, 0x4c, 0xe7, 0x54,
+  0x5f, 0x57, 0xf3, 0x9a, 0xeb, 0x93, 0x60, 0x06, 0xe8, 0xe9, 0xaf, 0x4e,
+  0x18, 0xfb, 0x55, 0x36, 0x7b, 0x6f, 0xc6, 0x55, 0x30, 0x31, 0xd9, 0xde,
+  0x34, 0xd7, 0xd7, 0x59, 0xbe, 0xb1, 0xaf, 0xd0, 0x28, 0x83, 0x5c, 0x94,
+  0xa9, 0xe8, 0xd1, 0xd4, 0xf6, 0x14, 0xc1, 0xc7, 0x27, 0xd9, 0xfb, 0x74,
+  0x72, 0x27, 0x50, 0x95, 0xe4, 0x81, 0xa6, 0x8d, 0x8d, 0x30, 0x20, 0x5a,
+  0xeb, 0x74, 0x34, 0x79, 0x2e, 0x2c, 0x48, 0x0d, 0x2c, 0x55, 0x02, 0x3e,
+  0x14, 0xfd, 0x7a, 0xb3, 0xbf, 0x25, 0x5a, 0x3b, 0x1f, 0x80, 0xf3, 0xb7,
+  0x17, 0x26, 0x43, 0x61, 0x99, 0x0f, 0xa9, 0x05, 0x0a, 0xde, 0x2e, 0x14,
+  0xde, 0x1d, 0x9b, 0x09, 0xe2, 0x9d, 0x5c, 0x4e, 0x52, 0x0a, 0xfe, 0xdc,
+  0x52, 0xbb, 0x03, 0xf0, 0x78, 0xa0, 0x05, 0xe7, 0x54, 0x7b, 0xe1, 0x9a,
+  0x7c, 0x3f, 0xe9, 0xc5, 0x14, 0x1d, 0x4d, 0x28, 0x8e, 0xb6, 0x4a, 0x31,
+  0xe0, 0xa0, 0xd9, 0x4f, 0xcf, 0xed, 0x87, 0xa1, 0x72, 0xb7, 0x9a, 0x32,
+  0x77, 0x72, 0x57, 0xbf, 0x16, 0x9c, 0xbe, 0x71, 0x9c, 0x5a, 0xe7, 0x45,
+  0x46, 0x86, 0x94, 0x4a, 0xe0, 0x34, 0x94, 0xbf, 0xe0, 0x33, 0x1c, 0xaa,
+  0x32, 0xc5, 0x20, 0x36, 0x68, 0x3b, 0x8d, 0x48, 0x80, 0x27, 0x6d, 0x5e,
+  0xd0, 0x52, 0xe4, 0x4e, 0x23, 0x7d, 0x55, 0x67, 0x8b, 0xf1, 0xc9, 0xf8,
+  0xcc, 0xc2, 0x0b, 0x8e, 0xc0, 0x2d, 0x0c, 0x2c, 0xe9, 0xdf, 0x1b, 0xe8,
+  0xeb, 0x68, 0x69, 0xab, 0x1f, 0x65, 0xbd, 0xdc, 0xf0, 0x20, 0x69, 0x1c,
+  0x11, 0x99, 0xe8, 0x68, 0xfb, 0x9a, 0xbd, 0x80, 0xfc, 0xd8, 0x8b, 0x4e,
+  0xf0, 0x71, 0x9f, 0x29, 0xfc, 0x91, 0x9a, 0x98, 0x27, 0x59, 0x61, 0x16,
+  0x09, 0xc3, 0xab, 0x12, 0x0e, 0x01, 0xa2, 0x07, 0x03, 0x59, 0xf4, 0xf0,
+  0x1d, 0x55, 0x26, 0xea, 0xf1, 0x19, 0x20, 0x0e, 0x65, 0xc0, 0x19, 0x3b,
+  0x78, 0x47, 0x0f, 0x60, 0xc6, 0x1d, 0x55, 0x96, 0x6a, 0x5d, 0x7a, 0x90,
+  0xf5, 0x97, 0x64, 0x92, 0xee, 0x92, 0xd5, 0x88, 0x83, 0x7c, 0xe4, 0x78,
+  0xe3, 0x1a, 0x08, 0x9d, 0x1b, 0x19, 0x12, 0x5b, 0x50, 0x70, 0x22, 0xda,
+  0x78, 0x3f, 0x78, 0xaa, 0x1e, 0x2e, 0x44, 0x50, 0xf0, 0xf8, 0xa9, 0x8e,
+  0x8a, 0x53, 0xb2, 0x1d, 0x6b, 0xa1, 0x70, 0x27, 0x64, 0x68, 0x5f, 0x04,
+  0xcb, 0xb8, 0xd3, 0x10, 0xd4, 0x64, 0x3a, 0x63, 0xc4, 0x26, 0xde, 0xef,
+  0x03, 0xe7, 0x2c, 0x72, 0x04, 0x71, 0xb2, 0xac, 0x84, 0x0a, 0xcb, 0x28,
+  0x18, 0xf1, 0xf2, 0x78, 0x7f, 0x6f, 0x2f, 0x62, 0xe9, 0x8c, 0x71, 0x9c,
+  0x39, 0x90, 0x1d, 0xcb, 0xf2, 0xa4, 0x09, 0x21, 0xd3, 0xf0, 0xdd, 0x36,
+  0xc4, 0x42, 0xd7, 0x1c, 0x1f, 0x05, 0x8b, 0xd9, 0x92, 0x34, 0x8e, 0x3b,
+  0x02, 0xd7, 0x26, 0xdc, 0x4f, 0xf9, 0xe8, 0xce, 0xb6, 0x0a, 0xe4, 0x50,
+  0x20, 0x07, 0x02, 0xbe, 0x21, 0x08, 0x42, 0x91, 0x84, 0xd5, 0x94, 0x41,
+  0x45, 0x42, 0x91, 0x98, 0xf9, 0x36, 0x18, 0x52, 0x41, 0x35, 0xa4, 0xb3,
+  0x19, 0xfd, 0x8a, 0xf5, 0xe7, 0x17, 0x05, 0xb2, 0x46, 0x4a, 0x66, 0x9a,
+  0xdd, 0x45, 0x37, 0x81, 0x64, 0xb5, 0x3a, 0x71, 0x7d, 0x78, 0x3e, 0x54,
+  0x5b, 0x18, 0xf4, 0x45, 0x7b, 0xe4, 0x71, 0xcb, 0xf3, 0x9d, 0x6c, 0x7a,
+  0xf9, 0xd3, 0x6e, 0xbc, 0xbb, 0xb3, 0xb3, 0xf3, 0x4b, 0x6f, 0x8e, 0xc4,
+  0xc9, 0x29, 0x12, 0xf0, 0x6f, 0xaf, 0x96, 0x47, 0xd5, 0x72, 0x87, 0x3b,
+  0xd3, 0xea, 0xfc, 0x13, 0x7f, 0xec, 0x76, 0xf1, 0xdf, 0xbd, 0x7f, 0x75,
+  0xd6, 0xbb, 0xc7, 0xbf, 0xc7, 0x13, 0x88, 0x51, 0xfd, 0x24, 0x49, 0x99,
+  0xf4, 0xf1, 0x9a, 0x18, 0x05, 0x3d, 0x1e, 0xc2, 0x3f, 0x5e, 0xf8, 0x83,
+  0x16, 0xd8, 0x49, 0x98, 0xce, 0xb9, 0x1a, 0x63, 0x5a, 0x0d, 0xaf, 0x7c,
+  0xc1, 0x0e, 0x2e, 0x0d, 0xd8, 0x77, 0xc4, 0xa0, 0x92, 0xf8, 0x3e, 0x38,
+  0x50, 0xcd, 0xfd, 0x56, 0xcf, 0x8b, 0x34, 0x0b, 0x4d, 0x6e, 0x96, 0x5b,
+  0xba, 0x35, 0x98, 0x2e, 0xc6, 0x6c, 0xb8, 0x25, 0x78, 0x99, 0x39, 0x35,
+  0x8e, 0x03, 0xfb, 0x63, 0xbc, 0x39, 0x3c, 0x95, 0xc3, 0xab, 0x74, 0x2a,
+  0x1c, 0x7a, 0x53, 0x93, 0xaf, 0x3b, 0xb8, 0x44, 0xb0, 0x42, 0x9d, 0xc0,
+  0x2d, 0xda, 0x19, 0xeb, 0x57, 0x30, 0x93, 0x2d, 0x29, 0x9e, 0x60, 0x6e,
+  0x56, 0xca, 0x17, 0x48, 0xa2, 0xcb, 0x05, 0xda, 0x03, 0x07, 0x89, 0x5c,
+  0x61, 0x5a, 0x52, 0x24, 0x2c, 0x81, 0x20, 0x17, 0x4e, 0x0b, 0xba, 0x37,
+  0xcb, 0xc5, 0x20, 0x16, 0x99, 0x92, 0x46, 0x44, 0x19, 0x1a, 0x68, 0xf7,
+  0x7b, 0xf6, 0xf2, 0xf8, 0x82, 0xeb, 0x22, 0xc0, 0xbf, 0x88, 0xc6, 0x06,
+  0x3f, 0x10, 0x5c, 0xab, 0x09, 0x7a, 0x4e, 0x18, 0x6d, 0x94, 0x7d, 0x44,
+  0xc7, 0x5e, 0xca, 0xce, 0x10, 0x8b, 0x32, 0xe9, 0xea, 0xae, 0x6c, 0xd8,
+  0x8d, 0x72, 0x3c, 0x23, 0x37, 0x59, 0x99, 0x86, 0x70, 0x1e, 0x6a, 0x62,
+  0xa4, 0xa9, 0x7c, 0xf1, 0xe8, 0x71, 0x6f, 0x87, 0xa7, 0x88, 0x6b, 0x28,
+  0xa7, 0x46, 0x10, 0x4f, 0xc9, 0x9b, 0xa1, 0xe1, 0x91, 0x49, 0x38, 0x6c,
+  0xdb, 0x0c, 0xa5, 0x1b, 0x21, 0xf6, 0x0c, 0xa5, 0x5d, 0x57, 0x79, 0xac,
+  0xdf, 0x3a, 0x69, 0xb8, 0xc1, 0xc2, 0x4d, 0x8a, 0x8d, 0x26, 0xd5, 0xe6,
+  0x44, 0x1c, 0xe7, 0x8d, 0x15, 0x0c, 0x12, 0x2e, 0xd9, 0xc4, 0xbc, 0x5c,
+  0xee, 0x38, 0x46, 0x79, 0xf3, 0xce, 0xbf, 0xc4, 0xf1, 0xd3, 0x6a, 0xb7,
+  0x25, 0x33, 0x19, 0x50, 0xd6, 0xb3, 0x99, 0x02, 0x12, 0x77, 0x49, 0x52,
+  0xcc, 0x86, 0x0b, 0xb4, 0xdb, 0x21, 0xd9, 0x61, 0xe5, 0x10, 0x0a, 0xc7,
+  0x2f, 0x4b, 0xdc, 0x2f, 0x5c, 0x14, 0xc2, 0x1b, 0x80, 0xc1, 0x36, 0xaf,
+  0x51, 0x84, 0x96, 0x63, 0x0d, 0x50, 0x94, 0x01, 0xfb, 0x9e, 0x30, 0x3e,
+  0x11, 0x93, 0x90, 0xf9, 0xdf, 0xc1, 0xfd, 0x3f, 0xed, 0x45, 0xdf, 0xa5,
+  0x37, 0x49, 0x91, 0xfe, 0x57, 0x80, 0x7f, 0x01, 0xe5, 0x7d, 0xb2, 0x3c,
+  0x4e, 0x6a, 0x7d, 0x2d, 0x76, 0x61, 0xf4, 0x54, 0xe6, 0x17, 0xb5, 0x5c,
+  0x4e, 0xc3, 0x31, 0xbe, 0xa3, 0x5b, 0xbd, 0x14, 0x8d, 0x2c, 0x04, 0xb3,
+  0x2a, 0x08, 0x83, 0x92, 0x3d, 0xcf, 0xe6, 0x4c, 0x15, 0xfa, 0x7b, 0xe8,
+  0x57, 0xe4, 0x93, 0x40, 0x3b, 0x8f, 0xb3, 0xd7, 0x20, 0xb6, 0xd4, 0x5b,
+  0x6c, 0x2a, 0x1b, 0xe7, 0xa0, 0x93, 0x27, 0x44, 0x29, 0x6c, 0x9d, 0x22,
+  0xab, 0x96, 0x38, 0x88, 0x3a, 0x7f, 0xc2, 0x58, 0xaa, 0xaf, 0x8f, 0x3a,
+  0xbd, 0x7a, 0x1c, 0xb2, 0x07, 0xd9, 0xb6, 0xc0, 0x7d, 0xa2, 0x9b, 0xb3,
+  0x6e, 0x4e, 0x90, 0xdb, 0x12, 0x6f, 0x67, 0x9c, 0x3e, 0x89, 0x5e, 0x48,
+  0xc9, 0x37, 0xd9, 0x6c, 0x7f, 0x4f, 0xf6, 0x71, 0x89, 0x5b, 0xcf, 0x5d,
+  0x91, 0x8f, 0x6e, 0x82, 0x32, 0x2d, 0xaf, 0xa9, 0x0a, 0x7e, 0xe7, 0xc3,
+  0x8f, 0x6e, 0xbf, 0x39, 0x39, 0x7a, 0xf6, 0xea, 0x64, 0x05, 0xd8, 0xa4,
+  0xe8, 0xdd, 0xb8, 0x4c, 0x9e, 0xda, 0x7d, 0x24, 0xbb, 0x5f, 0xc4, 0xc9,
+  0x25, 0xae, 0x60, 0x30, 0x74, 0x4e, 0x34, 0x6f, 0xbd, 0x42, 0x48, 0xe0,
+  0xc1, 0x57, 0x8e, 0xe8, 0x15, 0x8e, 0xa4, 0x34, 0x39, 0x9f, 0x6e, 0x51,
+  0x1a, 0x75, 0x0b, 0xfb, 0x6c, 0x43, 0x04, 0x83, 0xc1, 0x24, 0x99, 0xbd,
+  0x37, 0x58, 0x1d, 0xdc, 0x52, 0x17, 0xf1, 0x25, 0xb9, 0x06, 0x80, 0xfd,
+  0x50, 0xf2, 0x40, 0x43, 0x52, 0xdb, 0x3f, 0x16, 0xa8, 0x13, 0x4d, 0x93,
+  0xe2, 0xbd, 0xa2, 0x8f, 0x08, 0x88, 0x88, 0x4b, 0x8b, 0xa6, 0x34, 0x05,
+  0xcb, 0x32, 0xb1, 0x02, 0x8d, 0x04, 0xd2, 0x6e, 0xae, 0x4c, 0xe1, 0x1f,
+  0x83, 0x46, 0xd2, 0xc2, 0x8a, 0xd0, 0xbd, 0x8d, 0xb2, 0x26, 0xde, 0x66,
+  0x94, 0xf7, 0x3d, 0x9d, 0x57, 0x77, 0x46, 0x28, 0x25, 0xfb, 0x47, 0x73,
+  0x7d, 0x37, 0x3b, 0x9d, 0x2d, 0x4a, 0xe9, 0x0b, 0x68, 0x49, 0x8c, 0x31,
+  0x28, 0xde, 0x05, 0x9e, 0x41, 0x8e, 0x3b, 0x8d, 0x0a, 0x0c, 0x67, 0xea,
+  0xb1, 0x0e, 0x48, 0x1e, 0x35, 0x13, 0x39, 0x4f, 0x95, 0x91, 0x48, 0x32,
+  0x6b, 0x2a, 0x5d, 0xb8, 0xb6, 0x91, 0x82, 0x6c, 0x98, 0xaa, 0x4c, 0x29,
+  0x21, 0x16, 0x38, 0x42, 0x30, 0xdc, 0xe1, 0x68, 0x31, 0xda, 0xec, 0x44,
+  0x9d, 0xad, 0x96, 0x60, 0x42, 0x67, 0x02, 0xf5, 0xac, 0x97, 0x7f, 0x63,
+  0x04, 0xfc, 0x51, 0xd4, 0x61, 0x7a, 0xdb, 0xd9, 0x79, 0xba, 0xa6, 0xd8,
+  0xf4, 0xa2, 0x6b, 0x37, 0x9c, 0xcf, 0x82, 0xbb, 0xbd, 0xce, 0x69, 0x58,
+  0xe8, 0x6e, 0x81, 0x08, 0x05, 0xff, 0x1e, 0x68, 0xd4, 0x61, 0x9b, 0x30,
+  0x55, 0x49, 0xc1, 0xec, 0xc8, 0xd4, 0x07, 0x32, 0x41, 0x8f, 0xa2, 0xb4,
+  0x22, 0xd3, 0x11, 0xf5, 0xce, 0x06, 0x97, 0x86, 0xe2, 0xdc, 0x7b, 0xd1,
+  0x99, 0x29, 0xe0, 0x85, 0x4c, 0xbb, 0x2a, 0x86, 0x32, 0x56, 0xfa, 0x5d,
+  0x92, 0x73, 0x93, 0x49, 0x2b, 0x11, 0xa2, 0xe3, 0x6a, 0x8e, 0xb9, 0x19,
+  0xa6, 0x94, 0xa2, 0x95, 0xda, 0x71, 0x78, 0xae, 0xcd, 0x04, 0xa6, 0x0f,
+  0xa4, 0xca, 0x85, 0x04, 0x3c, 0xec, 0x8d, 0x66, 0xa0, 0xa5, 0x31, 0xf6,
+  0xb4, 0xcd, 0xb5, 0x94, 0x50, 0xfa, 0x09, 0xd0, 0xd5, 0x62, 0xee, 0xa8,
+  0x94, 0x5c, 0xf1, 0x0a, 0xa8, 0x78, 0x92, 0xcf, 0xba, 0x5e, 0x71, 0x5a,
+  0x0c, 0x5e, 0x17, 0x0f, 0x18, 0xe5, 0xb8, 0x4e, 0xe7, 0x39, 0xc8, 0x30,
+  0x83, 0x49, 0x6a, 0x02, 0x0d, 0xf8, 0x4d, 0xe5, 0x0e, 0xb6, 0x73, 0x3c,
+  0xc8, 0xde, 0xa9, 0xb5, 0xd8, 0x20, 0x34, 0x54, 0xb3, 0x11, 0x40, 0xf4,
+  0x5d, 0x06, 0xf6, 0xf4, 0xa6, 0x04, 0x12, 0x84, 0x5c, 0x05, 0x22, 0xbd,
+  0x64, 0x1c, 0x5f, 0x5b, 0xba, 0x6b, 0x75, 0x05, 0x5b, 0xe2, 0x5a, 0xbf,
+  0xa5, 0xe0, 0x30, 0x1c, 0xf2, 0xe6, 0x36, 0xd2, 0xa1, 0xe7, 0x83, 0x8a,
+  0x2b, 0x8c, 0x52, 0x04, 0x25, 0x04, 0x61, 0xfa, 0xaf, 0x45, 0x38, 0x40,
+  0x25, 0x29, 0x9d, 0xb1, 0xe9, 0x32, 0xd7, 0xca, 0xd9, 0xd1, 0xb0, 0xf0,
+  0x12, 0x7a, 0x47, 0x48, 0x2c, 0x40, 0xc0, 0xdc, 0xa2, 0x2c, 0xce, 0x1d,
+  0x26, 0xf5, 0xb2, 0x30, 0x82, 0x79, 0xcb, 0x70, 0x93, 0x92, 0xc8, 0x48,
+  0x8b, 0x53, 0xda, 0x95, 0x2f, 0x7d, 0x7c, 0x53, 0x9e, 0xa9, 0xad, 0x51,
+  0x29, 0x87, 0x51, 0x30, 0x4f, 0x49, 0x3c, 0xba, 0xce, 0x78, 0xfd, 0x39,
+  0xcd, 0x22, 0x81, 0x6b, 0x93, 0xa6, 0xc4, 0x29, 0xd1, 0x9e, 0xcf, 0x20,
+  0x4d, 0x18, 0xe4, 0x10, 0xc5, 0x74, 0x44, 0xc4, 0xcf, 0xc8, 0x6f, 0xc0,
+  0x97, 0xf1, 0x95, 0x56, 0x47, 0x28, 0x52, 0xcc, 0x46, 0x46, 0xe4, 0x54,
+  0x9a, 0x45, 0xa2, 0x18, 0x77, 0x5e, 0x70, 0x16, 0x1b, 0x56, 0x0a, 0xe3,
+  0x7e, 0x45, 0x02, 0x9b, 0x21, 0x77, 0x61, 0x49, 0x0a, 0x61, 0x17, 0xb1,
+  0x47, 0xbe, 0xcf, 0x3d, 0x49, 0xaa, 0x17, 0x84, 0xbe, 0x62, 0x21, 0x23,
+  0xfa, 0x4b, 0x5a, 0x0c, 0xd2, 0x22, 0x87, 0x79, 0xff, 0xed, 0xb1, 0xa6,
+  0x15, 0x6b, 0x29, 0x0b, 0xd6, 0x0a, 0xe4, 0x84, 0xe2, 0x31, 0xe2, 0xa1,
+  0x7b, 0xb1, 0x2b, 0x8c, 0x4d, 0x84, 0x6b, 0xab, 0x6f, 0xba, 0x9a, 0x41,
+  0x93, 0x42, 0xbb, 0x64, 0x0b, 0x02, 0xea, 0x43, 0xbe, 0x3c, 0x0e, 0x5e,
+  0x31, 0x06, 0x98, 0x98, 0x02, 0x37, 0x48, 0xe4, 0x24, 0x20, 0xdf, 0x28,
+  0x1f, 0x54, 0x09, 0xcd, 0xcf, 0x0c, 0xfb, 0x22, 0x63, 0x73, 0xed, 0x4b,
+  0xc5, 0x9e, 0xf1, 0x01, 0x0f, 0x4c, 0x96, 0x0a, 0x8e, 0x25, 0x43, 0xb2,
+  0x69, 0xc6, 0xb2, 0xa3, 0x36, 0x57, 0x5e, 0xa1, 0x42, 0x84, 0x66, 0x2d,
+  0xb2, 0xef, 0x85, 0x0d, 0x16, 0xb4, 0x66, 0xaf, 0x2f, 0x4e, 0x5f, 0x75,
+  0x1b, 0xa7, 0x4e, 0x04, 0x5b, 0xa7, 0xbc, 0xac, 0x72, 0x1c, 0x21, 0x29,
+  0xdf, 0x79, 0x51, 0x44, 0xb2, 0x1c, 0x26, 0xd8, 0x8b, 0xdc, 0xdf, 0xb4,
+  0x72, 0x5d, 0xc9, 0x87, 0x29, 0x04, 0xc9, 0x50, 0x4d, 0x7e, 0xbc, 0xac,
+  0xbe, 0x25, 0x0a, 0x69, 0xb0, 0xa4, 0xad, 0x27, 0x2b, 0x29, 0xdc, 0x30,
+  0xc0, 0x6b, 0xa4, 0x8a, 0x02, 0x5d, 0x01, 0x4b, 0xea, 0x35, 0xda, 0x5e,
+  0x79, 0x2a, 0xc8, 0x5d, 0xd2, 0x8c, 0x0e, 0xce, 0xb3, 0xfc, 0x66, 0x16,
+  0x9f, 0x22, 0x76, 0x73, 0x74, 0x9a, 0x5f, 0xe2, 0x01, 0x7a, 0x1d, 0x36,
+  0xd8, 0xbe, 0x3d, 0x7f, 0x1d, 0x6d, 0xa2, 0xd8, 0x83, 0xf5, 0x4d, 0xa4,
+  0x5e, 0x36, 0x3e, 0xba, 0x25, 0x46, 0x93, 0x92, 0x45, 0x61, 0x19, 0x4d,
+  0x37, 0x3a, 0xf9, 0xf1, 0xe8, 0xd5, 0xf9, 0xe9, 0xc9, 0xcf, 0x9c, 0xd7,
+  0xe1, 0x4d, 0x07, 0x3f, 0xfe, 0xd6, 0xb9, 0xbd, 0x28, 0x04, 0x06, 0x43,
+  0xe4, 0x60, 0x24, 0xc1, 0xc2, 0xa2, 0xb8, 0xf5, 0xcc, 0x15, 0x6d, 0x19,
+  0x96, 0xf3, 0x97, 0xb1, 0x56, 0x7f, 0x26, 0x86, 0x35, 0xc8, 0x66, 0x68,
+  0xf0, 0x21, 0x10, 0x55, 0x2c, 0xcb, 0x08, 0x03, 0x23, 0xf2, 0xf7, 0x2a,
+  0xb5, 0xe8, 0x71, 0xe8, 0x46, 0xaf, 0x35, 0x95, 0xb1, 0x4b, 0x9b, 0x8e,
+  0x47, 0xf0, 0x59, 0x76, 0x49, 0x21, 0x3b, 0x8d, 0x14, 0x2e, 0x31, 0x04,
+  0x20, 0x1d, 0x34, 0xe9, 0x19, 0xab, 0xdc, 0x68, 0x88, 0x58, 0x99, 0x4e,
+  0xd8, 0x3d, 0xd3, 0x7a, 0x35, 0x32, 0x87, 0xa4, 0x5d, 0x24, 0xa8, 0x9c,
+  0xe6, 0xe8, 0x14, 0x3a, 0x07, 0x75, 0x57, 0xde, 0x40, 0xb1, 0x0e, 0x30,
+  0x85, 0xf0, 0xa5, 0x20, 0x79, 0x1b, 0x86, 0xeb, 0x1f, 0x44, 0x9d, 0x78,
+  0x11, 0x1d, 0x74, 0x96, 0x48, 0x30, 0x9f, 0xcb, 0x25, 0x47, 0xfb, 0x56,
+  0x1c, 0x94, 0x29, 0x30, 0xf9, 0x35, 0x3d, 0x72, 0xb3, 0x6e, 0x5d, 0x18,
+  0x08, 0xab, 0x70, 0xae, 0x93, 0xad, 0xd1, 0xd4, 0x2b, 0xba, 0x5f, 0x69,
+  0x1c, 0xea, 0x85, 0x1b, 0x2d, 0x0a, 0xb5, 0x6f, 0x1a, 0x0f, 0x00, 0xfb,
+  0x71, 0x81, 0x01, 0x09, 0xef, 0x27, 0x5c, 0xbc, 0x4b, 0xdf, 0x86, 0x4d,
+  0x94, 0x05, 0x37, 0x0f, 0x07, 0xf3, 0x81, 0xde, 0xb6, 0x01, 0x64, 0xc4,
+  0xce, 0x65, 0xbc, 0x7c, 0x3a, 0x14, 0xa3, 0x26, 0x16, 0x96, 0x7c, 0x04,
+  0xea, 0xdb, 0x11, 0x47, 0x20, 0x10, 0xb8, 0x98, 0xdf, 0x1c, 0x6d, 0xe2,
+  0xc6, 0x37, 0x1b, 0x12, 0xf4, 0xd7, 0x11, 0x19, 0x0d, 0xef, 0x90, 0x0e,
+  0x6b, 0x74, 0x98, 0x35, 0x8f, 0xa3, 0x07, 0x16, 0xb2, 0x71, 0xb8, 0x11,
+  0xc9, 0x83, 0xfa, 0x64, 0xf3, 0xc6, 0xa4, 0xf7, 0x24, 0xb8, 0x4b, 0x61,
+  0xcd, 0x35, 0x98, 0x99, 0x01, 0x1c, 0xe0, 0x36, 0x87, 0x7b, 0x15, 0xb9,
+  0xc8, 0x0c, 0x4f, 0xed, 0x84, 0xea, 0x73, 0x4a, 0xf0, 0x58, 0x12, 0xb0,
+  0x7d, 0x9b, 0x91, 0xcb, 0x58, 0xff, 0xa0, 0x63, 0x4d, 0x46, 0xa3, 0x8c,
+  0x25, 0x32, 0x72, 0x95, 0x5b, 0xc2, 0x82, 0x3e, 0x29, 0xcf, 0xb6, 0xe5,
+  0x08, 0x73, 0xd2, 0x2c, 0x5a, 0xcf, 0x48, 0x43, 0x0a, 0xa2, 0x15, 0xba,
+  0x70, 0x78, 0x1c, 0xf8, 0xe3, 0xd3, 0x21, 0x6f, 0x1f, 0x9d, 0x4c, 0xcd,
+  0x9f, 0x9d, 0xe4, 0x39, 0xba, 0x1d, 0x70, 0x07, 0xdb, 0x7a, 0x57, 0x5f,
+  0x93, 0xb5, 0xf7, 0xf1, 0xf5, 0x6f, 0xdc, 0xe1, 0xa4, 0xca, 0xe0, 0x93,
+  0x22, 0xa2, 0x88, 0xe9, 0xa7, 0xdb, 0x02, 0x5d, 0x6c, 0x2a, 0x05, 0x98,
+  0xc8, 0x93, 0x46, 0xdc, 0x8f, 0xa0, 0x88, 0x7c, 0x76, 0xc7, 0xbc, 0x14,
+  0xb5, 0x27, 0x98, 0x56, 0x03, 0x25, 0x42, 0xa4, 0x21, 0xae, 0xbc, 0x7f,
+  0x2c, 0xb2, 0x74, 0x79, 0x54, 0x8a, 0x9e, 0x9f, 0x75, 0xd0, 0xdc, 0xfd,
+  0xdc, 0xf1, 0xa6, 0x35, 0xc0, 0x0b, 0xfc, 0xb8, 0x9f, 0x2d, 0x48, 0x07,
+  0xb3, 0x16, 0x37, 0x71, 0x71, 0x16, 0xeb, 0x56, 0x5f, 0xc1, 0x50, 0x0e,
+  0x62, 0x26, 0xfb, 0x59, 0xb4, 0x36, 0x76, 0xa5, 0xc5, 0x99, 0xff, 0x37,
+  0x61, 0x48, 0x01, 0x20, 0x98, 0x67, 0x12, 0x71, 0xe4, 0x06, 0x98, 0x08,
+  0xbe, 0x1f, 0xbb, 0x83, 0x44, 0xed, 0xd7, 0x08, 0x57, 0x0d, 0x02, 0xce,
+  0xc8, 0x59, 0xeb, 0xd9, 0x6c, 0x2e, 0x1c, 0x3d, 0x83, 0x63, 0x9d, 0x4c,
+  0x64, 0x38, 0x39, 0xfc, 0x30, 0x3c, 0x46, 0x9b, 0xc0, 0xbc, 0x7c, 0x62,
+  0x25, 0xda, 0xb6, 0x7f, 0x2b, 0xb3, 0x30, 0xbd, 0x8f, 0x49, 0x6b, 0x70,
+  0xec, 0xef, 0x24, 0xfd, 0x00, 0xdd, 0x5a, 0xd0, 0xf8, 0x7b, 0xcd, 0xf8,
+  0xc3, 0x96, 0xd3, 0xdb, 0x74, 0xb8, 0xa8, 0x82, 0xc8, 0x6e, 0x17, 0x57,
+  0x5a, 0x87, 0x95, 0x87, 0xb4, 0x49, 0x3c, 0x44, 0x6a, 0xff, 0x75, 0xce,
+  0xb5, 0x44, 0xe1, 0x41, 0x67, 0x4b, 0xa2, 0x04, 0x29, 0x64, 0xc7, 0xd6,
+  0x2e, 0xf4, 0x4e, 0x3a, 0x46, 0x5c, 0xcb, 0x90, 0x8b, 0x94, 0xfd, 0x64,
+  0x36, 0xdc, 0x37, 0xd8, 0x3d, 0x9c, 0xf0, 0x22, 0xd8, 0xfb, 0x73, 0xf6,
+  0x10, 0x39, 0x9d, 0xcb, 0xe1, 0x1a, 0xaa, 0xf3, 0xa8, 0xf4, 0xb8, 0xa0,
+  0xd7, 0x73, 0x4e, 0xa0, 0x7f, 0xd1, 0xd1, 0x35, 0xb0, 0x06, 0xb2, 0x72,
+  0xe9, 0xab, 0xba, 0xf8, 0x1e, 0x04, 0x41, 0x32, 0xa9, 0xe2, 0xf2, 0x7a,
+  0x18, 0x86, 0x08, 0x11, 0x8c, 0x3f, 0x53, 0xfb, 0xe3, 0x08, 0x1e, 0xee,
+  0x5f, 0x0f, 0x0f, 0xd4, 0x0a, 0xe2, 0x5c, 0xdb, 0xde, 0x64, 0x8f, 0xca,
+  0xbb, 0xd9, 0xf0, 0xea, 0xd9, 0xeb, 0x7e, 0xb8, 0x69, 0xa2, 0x71, 0x1a,
+  0x3e, 0x59, 0x0a, 0x13, 0x7a, 0x1a, 0xe4, 0x0b, 0xac, 0x56, 0xcd, 0x8e,
+  0x79, 0x29, 0x34, 0x8e, 0xe5, 0xbe, 0x8e, 0x9c, 0x6f, 0xc3, 0xcd, 0xd5,
+  0x5f, 0x31, 0xc6, 0x76, 0xf4, 0xb1, 0x32, 0x23, 0x14, 0xa1, 0x92, 0x40,
+  0x24, 0xe2, 0x04, 0x57, 0x24, 0x68, 0xe9, 0x36, 0x3b, 0x8b, 0x2e, 0xe0,
+  0x74, 0xa4, 0x2d, 0x16, 0x4e, 0xc6, 0x81, 0x57, 0x5b, 0x2f, 0xaf, 0x26,
+  0x59, 0x6d, 0xa9, 0x2c, 0x70, 0xb4, 0x7c, 0xa9, 0x81, 0xbd, 0x44, 0xeb,
+  0xd8, 0x9a, 0x78, 0xea, 0xbd, 0xc6, 0x8e, 0xaf, 0x92, 0xe2, 0x38, 0x9f,
+  0x5d, 0x87, 0x47, 0xd5, 0x08, 0x2c, 0x67, 0xc3, 0x9b, 0xd3, 0xef, 0x10,
+  0xde, 0x4e, 0x86, 0x15, 0x15, 0xa3, 0xa5, 0x7a, 0xd6, 0x9a, 0x3c, 0x14,
+  0x6e, 0x6e, 0x13, 0xc3, 0x0f, 0xa2, 0x93, 0xef, 0x8e, 0x9f, 0xbd, 0x3c,
+  0xde, 0x6a, 0x8e, 0xe4, 0x19, 0xe3, 0xef, 0xb2, 0x8d, 0x97, 0x6f, 0x6a,
+  0xde, 0x28, 0x43, 0x76, 0xce, 0x20, 0xe8, 0x61, 0xe1, 0x5b, 0x2c, 0xf6,
+  0xb6, 0x74, 0x39, 0x45, 0x04, 0xaf, 0xb4, 0x28, 0xf2, 0x82, 0xf8, 0xd3,
+  0x7b, 0x0d, 0x84, 0x9b, 0xa6, 0x53, 0x8c, 0xa8, 0x30, 0xc2, 0x0d, 0x97,
+  0x84, 0x25, 0xb1, 0x9d, 0x3a, 0x8f, 0xc3, 0xcd, 0x8d, 0x50, 0x3b, 0x40,
+  0x51, 0x89, 0xf3, 0xf8, 0x3d, 0xbb, 0xff, 0x65, 0x99, 0x60, 0x6d, 0x1e,
+  0x62, 0x45, 0x34, 0xdc, 0x18, 0xb5, 0xbf, 0xfe, 0x51, 0xff, 0xb4, 0x29,
+  0x43, 0x1b, 0xde, 0x04, 0xb7, 0x05, 0x6a, 0xcc, 0x8c, 0x7c, 0x19, 0xee,
+  0xd5, 0x94, 0xa9, 0x39, 0x7e, 0x73, 0xf4, 0x0a, 0xc8, 0x8c, 0xc3, 0x37,
+  0xfc, 0xc0, 0x7f, 0x5a, 0x1a, 0xf8, 0x98, 0x46, 0xe1, 0x6d, 0xf5, 0xf7,
+  0xfd, 0x7e, 0x7c, 0x74, 0xfe, 0x32, 0xdc, 0x85, 0x7c, 0x29, 0x65, 0xdc,
+  0xd9, 0xa3, 0xed, 0xb5, 0xf0, 0xa2, 0x7f, 0xd1, 0xd7, 0x1f, 0x3a, 0x26,
+  0x3a, 0x91, 0x69, 0x59, 0x83, 0x3c, 0xd7, 0xc7, 0x81, 0xe6, 0xf6, 0xf8,
+  0xc7, 0xf6, 0x9e, 0x79, 0xc1, 0x00, 0xad, 0xe9, 0xfa, 0xf4, 0x02, 0xaf,
+  0xed, 0xcb, 0x6b, 0xfb, 0xcb, 0x5e, 0x0b, 0xbc, 0xd7, 0x8f, 0x43, 0x85,
+  0xe5, 0x3d, 0x0e, 0x90, 0x05, 0x52, 0x25, 0x96, 0x95, 0x4c, 0x7f, 0xf9,
+  0xec, 0x75, 0xbd, 0x01, 0x13, 0xa4, 0x80, 0xdf, 0xc4, 0x0a, 0xd3, 0x26,
+  0x42, 0xa0, 0xa3, 0x5e, 0x06, 0x0c, 0xc5, 0xe7, 0xd7, 0x4f, 0x9c, 0xd8,
+  0x0c, 0xdc, 0x48, 0xfa, 0xc8, 0x28, 0x31, 0xde, 0x1b, 0xaa, 0xfc, 0x87,
+  0x27, 0x65, 0x4c, 0x03, 0x7f, 0x7b, 0xec, 0x91, 0xd8, 0xb2, 0xbd, 0x3c,
+  0x4d, 0x8a, 0xcb, 0x34, 0x10, 0x47, 0xe1, 0xad, 0x95, 0x99, 0xaa, 0x0d,
+  0xee, 0x82, 0xdb, 0x73, 0x82, 0xaf, 0x73, 0x14, 0x45, 0x57, 0x82, 0x29,
+  0xe8, 0xa3, 0xa2, 0x8d, 0xbd, 0xc1, 0x5c, 0xf7, 0xbe, 0xff, 0xce, 0x1b,
+  0x06, 0x50, 0xeb, 0x6f, 0xc8, 0xbb, 0x0d, 0x03, 0x1b, 0xa5, 0x2e, 0xef,
+  0xda, 0xbc, 0xce, 0x92, 0xe8, 0xf2, 0xb7, 0x6c, 0x4e, 0xe0, 0x6c, 0x98,
+  0x91, 0xb6, 0x45, 0x77, 0xb7, 0xc9, 0x5b, 0x08, 0x77, 0xc7, 0x03, 0x32,
+  0x8c, 0x6f, 0xf9, 0x4a, 0xbc, 0x42, 0x21, 0xae, 0xdf, 0x3f, 0xbd, 0xf7,
+  0x42, 0x18, 0xa9, 0xaf, 0x9e, 0x18, 0xd6, 0xcc, 0x2f, 0x43, 0x15, 0x5a,
+  0x7e, 0xac, 0xb3, 0x31, 0xf8, 0xc2, 0xbb, 0x1f, 0xbe, 0x0b, 0x8f, 0x86,
+  0x5a, 0x1b, 0xa5, 0x88, 0x7f, 0x29, 0xd1, 0x5a, 0xe8, 0xc7, 0x02, 0x5d,
+  0x7f, 0x04, 0x37, 0xe4, 0x64, 0x2e, 0xc5, 0xe4, 0x5b, 0xdb, 0x3e, 0xc7,
+  0x6a, 0xad, 0xfc, 0x03, 0x9f, 0xbb, 0x52, 0x3e, 0x7e, 0xbe, 0x18, 0x4c,
+  0x60, 0xed, 0xfb, 0x8b, 0xf1, 0x38, 0xbb, 0x8d, 0x4e, 0x33, 0xa9, 0x77,
+  0x2b, 0x1a, 0x96, 0x66, 0x21, 0x65, 0xe5, 0x92, 0x5b, 0x82, 0x33, 0x60,
+  0xe8, 0x84, 0xd6, 0xd0, 0x4a, 0x2c, 0xf6, 0x26, 0x4b, 0x76, 0x9d, 0x39,
+  0xf7, 0x55, 0x2e, 0xc6, 0x71, 0xdb, 0xe6, 0xdd, 0xa6, 0xa5, 0xaf, 0xbc,
+  0xf7, 0xcf, 0x5f, 0x9f, 0x7c, 0x7f, 0xa6, 0x3f, 0xd6, 0x59, 0xd1, 0x3e,
+  0xcf, 0x1a, 0x7f, 0x98, 0xe4, 0x56, 0x20, 0x22, 0x84, 0xe3, 0xc5, 0xcb,
+  0xdf, 0x16, 0x8a, 0x26, 0xdb, 0xb5, 0x36, 0xd3, 0x65, 0xc8, 0x77, 0x3f,
+  0x08, 0xd9, 0x65, 0x37, 0x5d, 0xf4, 0x77, 0xc2, 0xbf, 0xe8, 0xde, 0xef,
+  0xd3, 0x9a, 0x81, 0x70, 0x1d, 0xc2, 0xa4, 0xee, 0x03, 0x6f, 0x95, 0x1f,
+  0x4b, 0xc7, 0x2a, 0xa0, 0x2c, 0x2d, 0xd2, 0x11, 0x21, 0xdd, 0xf4, 0xb9,
+  0x3c, 0xcc, 0x1b, 0x0e, 0x00, 0x3c, 0x17, 0x53, 0xca, 0xd6, 0xb2, 0x25,
+  0x69, 0x59, 0x68, 0xd8, 0xf9, 0x60, 0x69, 0x4a, 0xbc, 0x28, 0x5f, 0xd1,
+  0x05, 0x19, 0x7e, 0x91, 0xaf, 0x6a, 0xb9, 0x42, 0xcd, 0xb5, 0xba, 0x74,
+  0x5e, 0x6f, 0x67, 0x19, 0x7a, 0xf9, 0x5a, 0x80, 0xe1, 0xf8, 0x4b, 0xc3,
+  0x8a, 0x73, 0xe3, 0xce, 0x0f, 0xb5, 0x73, 0xdb, 0xa7, 0x98, 0xd5, 0xb2,
+  0xb5, 0xad, 0x5b, 0x89, 0x8e, 0x2d, 0xeb, 0x97, 0x54, 0x8b, 0xd8, 0xf8,
+  0x5b, 0x59, 0x8d, 0x56, 0x71, 0x20, 0x7c, 0x66, 0x4b, 0x12, 0xa2, 0x6d,
+  0xee, 0x1a, 0xb3, 0x99, 0xf0, 0x30, 0x56, 0xf1, 0x9e, 0x9a, 0x83, 0xd9,
+  0x20, 0x04, 0xde, 0x0b, 0x44, 0x3e, 0x54, 0x1f, 0x2c, 0xa0, 0x4a, 0xd6,
+  0x73, 0x9c, 0x3d, 0x1d, 0xd2, 0x2a, 0x8f, 0xa4, 0x99, 0xf9, 0x00, 0x70,
+  0x57, 0xec, 0x29, 0x9b, 0xcc, 0x59, 0xbd, 0x7b, 0x85, 0x7f, 0x4e, 0x93,
+  0xd9, 0xc2, 0xf5, 0x3b, 0xc5, 0x37, 0xf8, 0x29, 0x55, 0xb3, 0xc1, 0x70,
+  0x8e, 0xe8, 0x90, 0xf5, 0xb8, 0x6f, 0x02, 0x96, 0x27, 0xee, 0x50, 0x91,
+  0xb4, 0x5d, 0x8d, 0x8f, 0x2c, 0x0f, 0xe4, 0xa9, 0x4f, 0xc6, 0x28, 0x4a,
+  0x26, 0xc6, 0xd7, 0x39, 0xe2, 0x3b, 0xc7, 0xcf, 0xfd, 0x2d, 0x7a, 0xaa,
+  0xee, 0x51, 0x2b, 0x91, 0x98, 0x8d, 0xc5, 0xfb, 0x4c, 0xa9, 0xa3, 0x58,
+  0x6e, 0x2e, 0x9f, 0x91, 0xfd, 0x9c, 0x0b, 0xe3, 0xb0, 0xf7, 0x1f, 0x78,
+  0xcb, 0x28, 0x64, 0x79, 0xc2, 0x40, 0xb4, 0xd9, 0x62, 0x3a, 0x40, 0x17,
+  0xef, 0xd8, 0x20, 0x75, 0x97, 0xec, 0x40, 0x92, 0x5e, 0x7c, 0xab, 0x77,
+  0x12, 0x00, 0x0a, 0x9d, 0xc0, 0x62, 0x10, 0xf8, 0x5f, 0x87, 0xc7, 0x83,
+  0x58, 0x55, 0x28, 0x55, 0xaa, 0xd7, 0x95, 0xf2, 0x16, 0xd4, 0xdc, 0xc0,
+  0x0a, 0xae, 0xb4, 0xcf, 0x6e, 0x91, 0x40, 0xca, 0x83, 0x28, 0x6c, 0xdf,
+  0x6a, 0xfa, 0x43, 0x47, 0x83, 0x27, 0x6b, 0xd6, 0x56, 0xd3, 0x9c, 0x59,
+  0x95, 0x00, 0xda, 0x35, 0xc7, 0x92, 0x52, 0xc2, 0x3c, 0xee, 0x1a, 0x34,
+  0x1a, 0x77, 0x82, 0x6a, 0xa3, 0x5d, 0x83, 0x48, 0x05, 0xbc, 0xba, 0x65,
+  0x4a, 0x7b, 0x51, 0x3f, 0x6e, 0xb9, 0x18, 0x94, 0x55, 0x56, 0x2d, 0x7c,
+  0x76, 0x23, 0xc1, 0x33, 0x6c, 0x4a, 0xcd, 0xc5, 0x6f, 0x63, 0x01, 0xbc,
+  0xc9, 0x10, 0x85, 0xf9, 0x7a, 0x55, 0x97, 0x16, 0x94, 0x53, 0x4f, 0x06,
+  0x8c, 0xc0, 0x3b, 0xc9, 0x6f, 0xbc, 0x82, 0x0f, 0xa8, 0x21, 0xdb, 0xd1,
+  0xd5, 0xb1, 0xbb, 0xa0, 0x81, 0xdf, 0xff, 0x53, 0xbf, 0x7c, 0x87, 0x8b,
+  0xf5, 0x2f, 0x5d, 0x2c, 0x19, 0x76, 0xe2, 0xb9, 0x4c, 0xc8, 0xf8, 0xf7,
+  0x7b, 0x5a, 0x94, 0x5f, 0x31, 0x12, 0x9c, 0x57, 0x06, 0xcb, 0xe1, 0x50,
+  0x73, 0xbf, 0xef, 0x19, 0x69, 0x4d, 0x9b, 0x40, 0xf0, 0x57, 0x36, 0x31,
+  0x0c, 0xee, 0x3c, 0xfb, 0x13, 0xd2, 0xe0, 0xcf, 0xb3, 0x2e, 0xd2, 0x71,
+  0x52, 0xc0, 0x40, 0x2e, 0xc9, 0xf5, 0x85, 0x65, 0x11, 0x68, 0x1b, 0x7f,
+  0x2e, 0xa4, 0xe2, 0x4a, 0x95, 0x0c, 0xc4, 0xdf, 0xce, 0x9f, 0x87, 0xd5,
+  0x77, 0x93, 0x63, 0xa3, 0xeb, 0x5c, 0xab, 0xe6, 0x04, 0x2d, 0x25, 0xc5,
+  0xc8, 0xd8, 0x0a, 0x07, 0x5a, 0x1a, 0x81, 0x49, 0xb5, 0xb9, 0xf7, 0x54,
+  0xbe, 0x40, 0xca, 0xa6, 0xe8, 0xab, 0xa4, 0x1b, 0xd9, 0x30, 0x9c, 0xdf,
+  0xff, 0x93, 0xf3, 0x67, 0xfe, 0xe5, 0x7b, 0x48, 0x79, 0x1c, 0x35, 0x53,
+  0xa5, 0xd8, 0xef, 0x89, 0xe8, 0x28, 0x4e, 0x8e, 0x0c, 0xae, 0xb3, 0x2a,
+  0x32, 0xb8, 0xbc, 0x64, 0x77, 0x0d, 0xe5, 0x5c, 0xfc, 0x9e, 0xdb, 0xf8,
+  0x27, 0x6f, 0x91, 0x86, 0x8c, 0xb1, 0x56, 0x9d, 0x49, 0xfe, 0x00, 0x1a,
+  0x64, 0xa9, 0x1e, 0x9a, 0x7a, 0x14, 0x39, 0x1a, 0x6c, 0x1c, 0x50, 0xa3,
+  0xc5, 0x3e, 0xb0, 0xe9, 0x3a, 0x97, 0x4c, 0x2c, 0x3f, 0xb9, 0x09, 0xb6,
+  0xf8, 0x2c, 0x9b, 0x70, 0x8a, 0x19, 0xe2, 0x4e, 0x30, 0xf9, 0xf8, 0x49,
+  0x7a, 0x5c, 0x8c, 0x1b, 0x76, 0x9f, 0xe8, 0x9e, 0x98, 0xb9, 0x93, 0x24,
+  0xd2, 0x15, 0x4d, 0x4b, 0x82, 0xb6, 0x19, 0x68, 0x59, 0xfa, 0xba, 0xb9,
+  0x42, 0x66, 0xd8, 0x5c, 0x79, 0xda, 0x66, 0x60, 0x07, 0xd3, 0x29, 0xfa,
+  0x49, 0x4d, 0xb2, 0x85, 0x94, 0x8f, 0xfb, 0xb2, 0x86, 0xdd, 0xa0, 0xa2,
+  0xde, 0xd9, 0xc5, 0xc9, 0x01, 0x0d, 0xf9, 0xf7, 0x71, 0x79, 0x37, 0x1d,
+  0xe4, 0x13, 0xe1, 0x72, 0x48, 0xeb, 0x40, 0xb0, 0xfa, 0x19, 0x9f, 0x49,
+  0x8a, 0x66, 0x8a, 0x9d, 0x6a, 0x03, 0xbe, 0x93, 0x9d, 0x16, 0x98, 0xcc,
+  0x4b, 0xf9, 0x90, 0xf1, 0x1b, 0x11, 0x04, 0x02, 0x56, 0xf3, 0xf7, 0x91,
+  0x22, 0xf0, 0x03, 0x17, 0x26, 0x0f, 0xd2, 0x8d, 0x75, 0xff, 0x89, 0x81,
+  0x38, 0x18, 0xa7, 0x10, 0xa2, 0x57, 0xe7, 0x60, 0x1a, 0x9b, 0x50, 0xa8,
+  0x4e, 0x83, 0x6c, 0xc0, 0x3b, 0xc2, 0x74, 0xe3, 0x57, 0x8f, 0xf9, 0xa3,
+  0xf8, 0x02, 0x3f, 0x92, 0x90, 0x6f, 0x25, 0x24, 0xe4, 0x06, 0x8a, 0x3a,
+  0xd2, 0x0d, 0x40, 0x71, 0x46, 0xa1, 0xfc, 0x11, 0xd4, 0x8c, 0x81, 0xb1,
+  0x7b, 0xe3, 0x24, 0x9a, 0x9f, 0x96, 0x97, 0xce, 0xb0, 0xf9, 0x18, 0x4c,
+  0x31, 0x4c, 0xfa, 0x32, 0xed, 0x45, 0x9b, 0x6e, 0xf5, 0xdd, 0xc7, 0xbd,
+  0x1d, 0xcf, 0x5a, 0x91, 0xde, 0xc2, 0x59, 0xa2, 0x28, 0x7e, 0xd3, 0x04,
+  0x5c, 0x1f, 0x58, 0x2f, 0x15, 0xb6, 0xc6, 0x7c, 0x29, 0x93, 0xb0, 0x11,
+  0x72, 0x9b, 0x4d, 0x48, 0xd3, 0xf0, 0xff, 0x5a, 0x3a, 0x55, 0xfe, 0xff,
+  0x8e, 0x25, 0x01, 0x38, 0x11, 0xcb, 0x9b, 0xa1, 0x38, 0x0d, 0x90, 0x28,
+  0xa6, 0x89, 0x64, 0x8a, 0x70, 0x6a, 0x88, 0xe1, 0xbc, 0x5a, 0x87, 0x8e,
+  0x32, 0x99, 0x81, 0x2b, 0xf4, 0x56, 0x35, 0x87, 0x07, 0x33, 0x13, 0x08,
+  0x43, 0x09, 0xb3, 0x47, 0x47, 0x51, 0x36, 0x36, 0x6a, 0x75, 0x85, 0x18,
+  0x32, 0xa8, 0x95, 0x60, 0xcb, 0x2b, 0xf6, 0x28, 0xd7, 0x18, 0x00, 0x63,
+  0x49, 0x6d, 0x84, 0x7d, 0x16, 0x36, 0x4a, 0x34, 0x40, 0x82, 0x51, 0x28,
+  0x72, 0x26, 0x7a, 0x49, 0x7e, 0x28, 0x66, 0x46, 0x0b, 0xf6, 0x63, 0xe1,
+  0x41, 0xcb, 0xa7, 0xe8, 0x10, 0xad, 0x32, 0xeb, 0x2e, 0x5c, 0x31, 0x3a,
+  0x33, 0x14, 0x66, 0x18, 0x6e, 0x20, 0xaa, 0x47, 0x4f, 0xe3, 0x6a, 0xfe,
+  0x0e, 0xe8, 0xb2, 0xb8, 0x7b, 0x47, 0xf9, 0x58, 0x17, 0x8e, 0xeb, 0x9d,
+  0x3e, 0xa0, 0xc5, 0x61, 0xb4, 0xe3, 0xc5, 0x1c, 0x87, 0x43, 0xe7, 0x6b,
+  0x92, 0xb3, 0xe5, 0x29, 0x9f, 0xad, 0x5c, 0x27, 0x27, 0xe1, 0xc7, 0xa9,
+  0x55, 0xf1, 0x45, 0x90, 0x07, 0xbe, 0xfb, 0xb5, 0x44, 0x51, 0x12, 0xee,
+  0xc9, 0xe8, 0xcf, 0xfd, 0xb3, 0xd7, 0x51, 0x3e, 0xc0, 0x82, 0xef, 0x22,
+  0xe5, 0xc0, 0xe9, 0x27, 0x06, 0xde, 0xac, 0xd5, 0x15, 0x12, 0x15, 0xfc,
+  0x23, 0xa5, 0xdc, 0xdd, 0xd2, 0xf3, 0xdf, 0xf0, 0x4e, 0x67, 0x26, 0x6a,
+  0xe1, 0x8f, 0x49, 0x2a, 0x2a, 0x56, 0x6c, 0x57, 0x91, 0xdc, 0x95, 0x5d,
+  0x29, 0x66, 0xac, 0x58, 0xbb, 0x09, 0xfb, 0x6e, 0x8c, 0x14, 0x6c, 0xaa,
+  0xd9, 0xe1, 0x69, 0x5e, 0xde, 0x9c, 0xc8, 0x66, 0xe6, 0x55, 0x12, 0x36,
+  0x7c, 0xf5, 0x21, 0x70, 0x40, 0xe4, 0x42, 0x20, 0x6b, 0x8d, 0x9d, 0x44,
+  0x86, 0xfb, 0x73, 0x93, 0x16, 0x38, 0xa6, 0x2e, 0x85, 0xee, 0xdc, 0xe3,
+  0xd8, 0x72, 0x94, 0x07, 0xe6, 0xdd, 0xce, 0xe7, 0x69, 0x02, 0x8b, 0x84,
+  0x7e, 0x30, 0xbd, 0x3b, 0x6e, 0x32, 0xcc, 0x73, 0x39, 0xb9, 0x45, 0x60,
+  0x70, 0x0e, 0xa5, 0x5e, 0xac, 0x58, 0x22, 0xac, 0x3b, 0x94, 0x60, 0xbf,
+  0x4e, 0x41, 0xb5, 0xf4, 0x8e, 0x16, 0xfb, 0xb2, 0xc8, 0x17, 0x73, 0x8e,
+  0x61, 0x77, 0xe2, 0xab, 0x56, 0x8c, 0xce, 0x70, 0x7d, 0xc5, 0xd0, 0x40,
+  0x19, 0x51, 0x83, 0x02, 0x39, 0x0f, 0x88, 0x65, 0x34, 0xb6, 0xe9, 0xad,
+  0x18, 0x5d, 0xc9, 0xf8, 0x4f, 0xb2, 0x77, 0x44, 0x6a, 0x20, 0xee, 0x04,
+  0x72, 0x39, 0xd0, 0x2f, 0xf5, 0xce, 0xf2, 0xca, 0x3a, 0xab, 0x34, 0x84,
+  0x48, 0x0f, 0xd0, 0x90, 0xb8, 0x80, 0x33, 0xc6, 0x7c, 0x66, 0xb3, 0xd5,
+  0xe7, 0x94, 0x3c, 0xf5, 0x36, 0xb4, 0x48, 0x33, 0xd2, 0x38, 0x12, 0x19,
+  0xf3, 0x10, 0x0c, 0xb1, 0xb6, 0x8c, 0x8b, 0x53, 0x48, 0x9b, 0xe3, 0x6a,
+  0x1f, 0x8e, 0xf6, 0xb8, 0x6a, 0x79, 0x78, 0x5a, 0x9b, 0x12, 0xeb, 0x44,
+  0x76, 0xc5, 0x2d, 0xe6, 0x79, 0xc4, 0x0e, 0x1a, 0xf5, 0xf6, 0xc2, 0xa3,
+  0x33, 0x8a, 0x21, 0x8b, 0x82, 0xf8, 0x99, 0x83, 0x27, 0xcf, 0x1b, 0x88,
+  0xe3, 0x8b, 0xcc, 0x85, 0xa0, 0x88, 0xcc, 0x2b, 0x58, 0xb9, 0x7b, 0xbf,
+  0x3d, 0xde, 0x09, 0x5c, 0x35, 0xca, 0x44, 0x54, 0xe6, 0x0e, 0xf3, 0x12,
+  0x7b, 0xc5, 0xbf, 0x4f, 0x03, 0xc8, 0x01, 0x94, 0x76, 0xf9, 0x2e, 0x9b,
+  0xbb, 0xe2, 0xec, 0xcb, 0xf3, 0x08, 0x1d, 0xe6, 0x84, 0xcb, 0x22, 0xd7,
+  0x23, 0x67, 0x67, 0x62, 0xc0, 0xb0, 0x7c, 0x40, 0xdc, 0x7b, 0xe5, 0x0a,
+  0x0f, 0x19, 0x80, 0x9a, 0x5c, 0x2e, 0x0e, 0xa8, 0x54, 0xac, 0xbc, 0x40,
+  0x3d, 0x30, 0x68, 0x5f, 0x7d, 0x14, 0x88, 0xe2, 0x89, 0x7c, 0xc3, 0x6c,
+  0xcb, 0x0c, 0xc8, 0x86, 0x60, 0x66, 0xc0, 0xc3, 0x8d, 0xe8, 0x43, 0xab,
+  0x32, 0x3a, 0xe3, 0x76, 0x06, 0xb6, 0x62, 0x06, 0xb6, 0xb2, 0xfd, 0x17,
+  0x5e, 0x00, 0x21, 0xe1, 0x8d, 0xd6, 0x18, 0x15, 0xee, 0xbe, 0x7c, 0xae,
+  0x81, 0x70, 0x8d, 0x5e, 0x99, 0xb9, 0xaf, 0x5e, 0x3a, 0x09, 0x1b, 0xae,
+  0x49, 0x39, 0x7b, 0x01, 0x2a, 0x80, 0xe9, 0xe9, 0x09, 0x29, 0x51, 0x24,
+  0xe5, 0xd9, 0xe2, 0x74, 0x41, 0x01, 0x8a, 0xcc, 0x37, 0x54, 0x28, 0x52,
+  0x46, 0xe3, 0x5e, 0x11, 0x2b, 0x46, 0x11, 0x3a, 0x94, 0xd8, 0xa3, 0xd1,
+  0x2e, 0xcc, 0xa1, 0x94, 0x35, 0xf6, 0x6e, 0x2d, 0x7f, 0x05, 0x56, 0x5c,
+  0x3a, 0xaa, 0x95, 0x6c, 0x62, 0x00, 0x59, 0x42, 0xe9, 0x1e, 0x08, 0x62,
+  0x45, 0xbc, 0xaf, 0x90, 0x0a, 0xbd, 0xa0, 0x28, 0x18, 0x6c, 0xb0, 0xd5,
+  0x57, 0x22, 0x96, 0x7c, 0x5c, 0x94, 0xea, 0x71, 0x7e, 0xd9, 0x27, 0xc1,
+  0x9d, 0x52, 0xab, 0x24, 0xa4, 0xd8, 0x1c, 0xb6, 0xfb, 0x48, 0x7d, 0xfb,
+  0x2d, 0x9b, 0xa0, 0x63, 0x2b, 0xcd, 0x26, 0xd0, 0x72, 0xe8, 0x87, 0xcc,
+  0xa8, 0x50, 0xe4, 0x1d, 0xe7, 0x98, 0x50, 0x6a, 0x89, 0xe3, 0x9e, 0xa4,
+  0xd0, 0xec, 0x13, 0x48, 0x97, 0x04, 0x62, 0x87, 0xfc, 0x28, 0xe4, 0x4e,
+  0xa5, 0x72, 0x95, 0xca, 0x28, 0x1f, 0x63, 0x46, 0xa1, 0xc6, 0x57, 0xf9,
+  0x0d, 0x61, 0xe4, 0x47, 0xab, 0x79, 0xb6, 0xb2, 0xe4, 0x48, 0x14, 0x63,
+  0xda, 0x05, 0x4e, 0x98, 0xfd, 0x2d, 0x2d, 0x72, 0x11, 0xd0, 0xa3, 0x0f,
+  0x94, 0x96, 0x89, 0xe5, 0xbe, 0x2b, 0xcb, 0x09, 0xb2, 0xd1, 0x6c, 0x7c,
+  0x07, 0x8b, 0x58, 0xb6, 0xd6, 0xa6, 0x68, 0xcc, 0x14, 0xd3, 0x9d, 0x64,
+  0xae, 0x8e, 0x5f, 0x68, 0xa3, 0x24, 0x23, 0xf2, 0x3c, 0x45, 0x05, 0x32,
+  0x2d, 0xaa, 0x6c, 0x9c, 0xad, 0xe2, 0x51, 0x28, 0x79, 0x53, 0xf7, 0x36,
+  0x76, 0x4e, 0xee, 0x14, 0xa3, 0xd8, 0xf4, 0xa2, 0x1d, 0xb1, 0xb4, 0xaf,
+  0x5c, 0xb8, 0x5a, 0x4b, 0xd8, 0x88, 0x0d, 0x17, 0xad, 0x9f, 0xe6, 0xc7,
+  0xa1, 0xd3, 0xac, 0xf4, 0xf2, 0x8e, 0x64, 0x7f, 0x8e, 0xf1, 0x94, 0x24,
+  0x6e, 0x73, 0x32, 0xb0, 0x51, 0x3a, 0xce, 0xaa, 0x48, 0x83, 0x20, 0xac,
+  0x65, 0xef, 0x56, 0x8a, 0xa9, 0x42, 0x7d, 0x91, 0x43, 0x99, 0xd1, 0x26,
+  0x6e, 0xe4, 0x8d, 0x94, 0x9f, 0x9d, 0x26, 0xb7, 0x31, 0x7d, 0x57, 0x46,
+  0x6d, 0xce, 0x04, 0x87, 0x01, 0x6e, 0x49, 0x22, 0x91, 0xaa, 0x94, 0x6c,
+  0x02, 0x41, 0x42, 0x13, 0xfc, 0xaf, 0x21, 0x06, 0xa9, 0x48, 0x0e, 0x63,
+  0xb2, 0xea, 0xe4, 0x4b, 0xf9, 0xed, 0x1b, 0x0a, 0x47, 0x26, 0x23, 0xdc,
+  0x25, 0x15, 0x7f, 0xca, 0x7b, 0xfe, 0x3a, 0x61, 0xcd, 0x81, 0x1a, 0xf1,
+  0x47, 0x6f, 0xf8, 0xb3, 0x03, 0x23, 0x2f, 0x99, 0x88, 0x55, 0x55, 0x32,
+  0xd7, 0xa0, 0xd6, 0x27, 0xc1, 0xcd, 0x41, 0xf1, 0xde, 0x5c, 0x96, 0x17,
+  0x56, 0xe2, 0x87, 0x1b, 0xb3, 0x71, 0x61, 0xba, 0xa6, 0x16, 0x3c, 0x7b,
+  0xeb, 0xdc, 0x34, 0xf6, 0x7e, 0x94, 0xeb, 0x91, 0x6e, 0xc7, 0xbc, 0x08,
+  0xdf, 0x7f, 0x32, 0x2a, 0xbd, 0x00, 0x2f, 0x58, 0x23, 0xa7, 0x61, 0x7d,
+  0xda, 0xfb, 0x4f, 0x59, 0xbd, 0x08, 0x8e, 0x9f, 0x42, 0x68, 0x34, 0x5c,
+  0x68, 0x13, 0x2d, 0x99, 0x54, 0x10, 0x0e, 0x9d, 0x55, 0x33, 0x93, 0x68,
+  0x4a, 0x7d, 0x07, 0x12, 0x61, 0x24, 0x35, 0xb5, 0x46, 0x1f, 0x44, 0x83,
+  0xf2, 0xc5, 0x26, 0xd6, 0xa8, 0x63, 0x03, 0xfe, 0x10, 0xe1, 0xbc, 0x46,
+  0xc6, 0xc5, 0xb4, 0x75, 0x8f, 0x4b, 0x05, 0x67, 0xe2, 0x8a, 0x73, 0x9c,
+  0xe2, 0xb9, 0xf2, 0x70, 0x63, 0xcd, 0xb5, 0x77, 0x23, 0x18, 0x3e, 0xe5,
+  0xb9, 0x73, 0xe4, 0x4f, 0x5e, 0x61, 0x24, 0xdd, 0x14, 0x96, 0x85, 0xb8,
+  0x19, 0xd7, 0x32, 0x14, 0xa9, 0x91, 0xac, 0x41, 0xfa, 0xfc, 0x4a, 0x79,
+  0xd1, 0xad, 0xc9, 0x48, 0xc5, 0xee, 0x64, 0xc7, 0x31, 0x53, 0x7c, 0x9b,
+  0xeb, 0x2b, 0xea, 0x2e, 0xdc, 0xf3, 0xe6, 0x2f, 0xd0, 0xc3, 0x46, 0xc1,
+  0x65, 0x8c, 0x5b, 0xd7, 0x52, 0x9a, 0x98, 0xa6, 0xa5, 0x09, 0x5a, 0xcb,
+  0xa6, 0xa5, 0x78, 0x6a, 0x66, 0x46, 0xd4, 0xe4, 0x8a, 0x71, 0xb4, 0xf6,
+  0x68, 0x04, 0x05, 0xde, 0x5d, 0xee, 0x32, 0xbc, 0x94, 0xb4, 0x92, 0x8e,
+  0x79, 0x7c, 0x79, 0x8f, 0x2e, 0xb3, 0x0d, 0x77, 0x2d, 0x48, 0x05, 0x2d,
+  0x93, 0x95, 0x9e, 0x6b, 0xbb, 0xa8, 0xb8, 0x01, 0xff, 0xb1, 0x7b, 0x08,
+  0x17, 0xe6, 0xc8, 0xd2, 0x26, 0x4e, 0x2b, 0xc1, 0x88, 0xeb, 0x4b, 0xbb,
+  0x5d, 0xfc, 0x8c, 0x63, 0x9a, 0x82, 0x0b, 0xb1, 0x5c, 0x14, 0x1c, 0xe6,
+  0xb9, 0x5a, 0x08, 0x53, 0x87, 0x91, 0x69, 0x0f, 0xeb, 0x78, 0xe2, 0x3a,
+  0xcd, 0x29, 0x34, 0x09, 0xe3, 0xef, 0x5a, 0x46, 0x65, 0x56, 0x9b, 0xf6,
+  0x59, 0x87, 0xa5, 0x70, 0x11, 0x1f, 0x69, 0x54, 0xdc, 0xda, 0x7d, 0xc6,
+  0xf4, 0xa1, 0xc2, 0x4a, 0x53, 0x3c, 0x21, 0xf9, 0xc3, 0x88, 0x0d, 0xf7,
+  0xb0, 0xa0, 0xad, 0x92, 0x4f, 0x6a, 0x22, 0xc8, 0x6a, 0x46, 0xe6, 0xc8,
+  0x27, 0x5f, 0xf8, 0x9e, 0x28, 0xa0, 0x20, 0xf3, 0xe7, 0x73, 0x4e, 0x6a,
+  0x44, 0xd3, 0x43, 0x9e, 0x21, 0xad, 0xcf, 0xba, 0x62, 0x12, 0xb4, 0xee,
+  0xc5, 0x9a, 0x2f, 0x64, 0x79, 0xe7, 0x2d, 0x8e, 0x12, 0x12, 0x2c, 0xeb,
+  0xdc, 0xf4, 0x49, 0x48, 0xe6, 0x16, 0x87, 0x64, 0x6d, 0x70, 0x3c, 0xba,
+  0x25, 0xc3, 0x53, 0xd0, 0x96, 0x87, 0x0e, 0x4e, 0xeb, 0xd3, 0x9b, 0x93,
+  0xca, 0x62, 0xce, 0x68, 0x95, 0x08, 0x4f, 0xd9, 0xf9, 0xdd, 0x88, 0xbc,
+  0x3f, 0x36, 0xc1, 0x9d, 0x54, 0x44, 0x92, 0xca, 0xa4, 0x6c, 0x35, 0x46,
+  0xaa, 0xb0, 0x8b, 0x75, 0x85, 0xe5, 0x82, 0x1e, 0xd7, 0x3c, 0x5e, 0x46,
+  0x53, 0x8b, 0x56, 0x2f, 0x19, 0x5e, 0x78, 0xef, 0x92, 0xf9, 0x5c, 0x2e,
+  0xf5, 0xd5, 0x94, 0xcb, 0x35, 0x17, 0x11, 0xa5, 0x8b, 0x0e, 0x03, 0x97,
+  0xb7, 0xac, 0xf2, 0xfc, 0xbd, 0x4d, 0x70, 0x25, 0x1d, 0x0d, 0xe1, 0x6e,
+  0x57, 0x52, 0xee, 0x24, 0x52, 0xfa, 0xdf, 0xee, 0xf7, 0x5f, 0x6c, 0xa7,
+  0xd5, 0x50, 0xa5, 0x8b, 0x6d, 0x9b, 0xee, 0x64, 0x2c, 0xa9, 0x2b, 0x9a,
+  0x23, 0xf9, 0x06, 0x71, 0x21, 0x88, 0x86, 0x8d, 0x37, 0xba, 0x17, 0x9c,
+  0x72, 0xdd, 0x82, 0xf4, 0x91, 0x27, 0x25, 0x55, 0xd4, 0x75, 0x2e, 0x0d,
+  0x5b, 0x30, 0x0d, 0x11, 0x05, 0x6c, 0xb6, 0x2e, 0xad, 0x3e, 0x8e, 0x2b,
+  0xa6, 0x82, 0x36, 0x50, 0xcc, 0x1c, 0x58, 0xcc, 0xff, 0xed, 0xbb, 0x47,
+  0xde, 0x35, 0x34, 0xb1, 0x73, 0xfc, 0x2b, 0x79, 0xd2, 0x56, 0x0f, 0x78,
+  0x8e, 0x86, 0x3f, 0x96, 0xe2, 0x56, 0x8f, 0xf8, 0xfe, 0x43, 0xbe, 0xf7,
+  0x88, 0x19, 0xcf, 0x4c, 0xe5, 0x48, 0x1c, 0x30, 0x39, 0x90, 0x25, 0xd4,
+  0x89, 0x0e, 0xdf, 0x20, 0xbd, 0xf4, 0x43, 0x1c, 0x83, 0x37, 0xb3, 0x06,
+  0x84, 0x26, 0x94, 0x95, 0x9b, 0xc6, 0xa6, 0x5d, 0xc9, 0x6e, 0x2c, 0x25,
+  0x11, 0xf2, 0x32, 0x5f, 0x39, 0xba, 0x44, 0xaa, 0xf7, 0x22, 0x2f, 0x77,
+  0xfc, 0xe3, 0x43, 0xa5, 0x1f, 0x07, 0x23, 0x03, 0x48, 0x67, 0x55, 0x73,
+  0x28, 0xb9, 0x32, 0xa2, 0xcb, 0x35, 0x86, 0x26, 0xb7, 0xec, 0x85, 0xd1,
+  0xb0, 0x56, 0x91, 0x07, 0xc6, 0x2b, 0x4f, 0x26, 0x46, 0x23, 0x5b, 0x79,
+  0x8f, 0xc0, 0x1d, 0x34, 0xd7, 0xe5, 0x41, 0xba, 0x20, 0x32, 0x61, 0x32,
+  0xed, 0xea, 0xc1, 0xe8, 0x46, 0xf7, 0x26, 0x05, 0xca, 0x5b, 0xb2, 0x16,
+  0x08, 0x5b, 0xe4, 0x97, 0xac, 0xe8, 0x54, 0x23, 0x1e, 0xbf, 0x4c, 0x86,
+  0xaa, 0x64, 0xaf, 0x1a, 0x1d, 0x99, 0x91, 0x7a, 0x8d, 0x45, 0xb0, 0x98,
+  0xbf, 0x46, 0x0a, 0xe0, 0x3c, 0x81, 0x7b, 0xdd, 0xc1, 0x88, 0x2c, 0x8a,
+  0xeb, 0x64, 0xdc, 0x19, 0xce, 0x62, 0x95, 0xe1, 0xe5, 0xa7, 0x71, 0x7c,
+  0xe6, 0xc3, 0x80, 0xa9, 0x17, 0x28, 0x9f, 0xda, 0x93, 0x50, 0x3b, 0x08,
+  0xd1, 0x1a, 0x72, 0xa5, 0x41, 0xfb, 0xb0, 0x39, 0x1c, 0x8d, 0x03, 0xcf,
+  0x51, 0x14, 0x93, 0x32, 0x5f, 0x2d, 0x88, 0xd1, 0x7a, 0xd2, 0x8c, 0x38,
+  0xd1, 0x16, 0xf3, 0x89, 0x38, 0x0c, 0x02, 0xf4, 0x33, 0x3c, 0x06, 0x95,
+  0x12, 0xc0, 0x6a, 0xb3, 0x3e, 0xec, 0x48, 0x78, 0x03, 0x44, 0x47, 0xa8,
+  0xab, 0x0c, 0xfe, 0x2a, 0x2b, 0x32, 0x20, 0xe7, 0xa3, 0x50, 0xd6, 0xdd,
+  0x7d, 0x48, 0x02, 0x35, 0xd6, 0xc0, 0xc9, 0x63, 0x4b, 0x4e, 0x6d, 0x67,
+  0x0d, 0x8c, 0x0a, 0xa9, 0xc4, 0x29, 0x45, 0x7c, 0xdc, 0xc3, 0xa1, 0x0d,
+  0x2d, 0x81, 0x82, 0xed, 0xb5, 0x94, 0xcd, 0x46, 0xe9, 0x6d, 0x4d, 0xcd,
+  0xcf, 0x6c, 0x24, 0x70, 0x37, 0xda, 0x89, 0xe9, 0x81, 0x95, 0xba, 0xc7,
+  0xb3, 0x34, 0x26, 0xdc, 0x34, 0x14, 0x49, 0xa0, 0x59, 0x2c, 0x84, 0x7b,
+  0x95, 0xe8, 0xb1, 0x2b, 0x39, 0x6f, 0xda, 0xe9, 0x68, 0xd5, 0xa1, 0xa3,
+  0x28, 0xa4, 0x22, 0x03, 0xce, 0x1a, 0x69, 0xb3, 0x84, 0x23, 0x79, 0x9f,
+  0x59, 0x5a, 0xe7, 0x79, 0xfb, 0x7a, 0xd1, 0x72, 0xdb, 0x3c, 0x7d, 0xb2,
+  0x6b, 0xa0, 0x08, 0xbc, 0x62, 0xa7, 0xc4, 0x1d, 0xae, 0x25, 0x49, 0x18,
+  0xa1, 0x16, 0x1d, 0xe2, 0x1a, 0xa2, 0x25, 0xf6, 0x31, 0x35, 0xa8, 0x1d,
+  0x2c, 0x6f, 0xae, 0x4d, 0x9f, 0x22, 0x48, 0x52, 0x2b, 0x76, 0x2e, 0x49,
+  0x65, 0x65, 0xa2, 0xfe, 0x74, 0x90, 0xa4, 0x37, 0xd1, 0xc6, 0xef, 0xff,
+  0x69, 0x4c, 0x25, 0xff, 0xfa, 0x79, 0xb6, 0xb1, 0x5e, 0x16, 0x9a, 0x0f,
+  0x09, 0x1b, 0x04, 0x32, 0xbb, 0x4d, 0x80, 0xb3, 0x05, 0xd3, 0xfa, 0xcb,
+  0xe4, 0x9a, 0x13, 0x4e, 0x15, 0x2e, 0x5d, 0x63, 0x0a, 0xea, 0x65, 0x44,
+  0xaa, 0x5a, 0xe5, 0x8a, 0xb2, 0x0a, 0x60, 0x18, 0x80, 0xbe, 0x84, 0x51,
+  0x82, 0x74, 0xa3, 0x4f, 0xd3, 0x2a, 0x21, 0x85, 0x18, 0x3e, 0xa0, 0xf4,
+  0x8c, 0x91, 0x46, 0x7b, 0xa2, 0xb7, 0xa0, 0x2a, 0x32, 0x90, 0xb4, 0x29,
+  0x4d, 0xc8, 0x56, 0xb1, 0x0c, 0xa4, 0x64, 0x0a, 0xf2, 0x15, 0xf5, 0x66,
+  0xec, 0xf1, 0xb7, 0xa3, 0xcb, 0x1e, 0x53, 0x6e, 0x8f, 0xd2, 0xce, 0xb4,
+  0x35, 0x9c, 0x7d, 0x97, 0x78, 0x3e, 0x5a, 0x08, 0x42, 0xcd, 0x49, 0xc0,
+  0x4c, 0xa4, 0xa5, 0x18, 0xeb, 0xed, 0x4e, 0x89, 0x05, 0x51, 0x2c, 0x8d,
+  0x69, 0xb3, 0x67, 0xaa, 0xae, 0x84, 0x62, 0x0a, 0x0d, 0x0a, 0x84, 0x49,
+  0xb3, 0xd4, 0x68, 0x59, 0x33, 0x65, 0x3b, 0x57, 0x8c, 0x66, 0xbb, 0x49,
+  0x8a, 0x19, 0xc7, 0xf9, 0x36, 0x53, 0x19, 0xcb, 0x72, 0x11, 0x0a, 0x36,
+  0x77, 0x12, 0x26, 0x69, 0x07, 0x97, 0xa6, 0x4b, 0xda, 0xe8, 0xd6, 0xfb,
+  0x27, 0x4c, 0x52, 0xab, 0xeb, 0xa6, 0x4b, 0xf2, 0x50, 0x62, 0x26, 0x03,
+  0x54, 0xf6, 0xd7, 0xa2, 0xd8, 0x66, 0x8d, 0xf1, 0xae, 0x17, 0x03, 0x1b,
+  0x02, 0xf2, 0x7e, 0xfe, 0xf2, 0xf4, 0xc4, 0xa4, 0xa5, 0xfd, 0xbf, 0xdb,
+  0x3d, 0x1c, 0x4a, 0x31, 0xf4, 0x12, 0xa0, 0x18, 0x66, 0xcd, 0xc1, 0xcc,
+  0x53, 0x1c, 0x36, 0xfd, 0xa8, 0x06, 0xc0, 0x76, 0xf2, 0xfa, 0x6f, 0x2f,
+  0xdf, 0x9c, 0xbd, 0x7e, 0x75, 0xf2, 0xfa, 0xe2, 0x0b, 0x37, 0x92, 0xc9,
+  0xc6, 0x80, 0x39, 0xc1, 0x58, 0x5e, 0xec, 0xaa, 0x06, 0x38, 0x48, 0xd4,
+  0x45, 0x11, 0xc1, 0xe6, 0xcb, 0x5f, 0x3d, 0xb7, 0x39, 0xe7, 0x21, 0x75,
+  0x3c, 0xe3, 0xbe, 0xcd, 0xd1, 0xcc, 0x3b, 0xc2, 0x60, 0x82, 0x1e, 0xbb,
+  0xaa, 0x49, 0x05, 0xa1, 0x08, 0x35, 0x3c, 0x33, 0x18, 0xe4, 0x40, 0xd9,
+  0x9c, 0xa5, 0x13, 0xa4, 0xac, 0x91, 0x43, 0xd6, 0x6b, 0x5c, 0x1b, 0x84,
+  0xdd, 0xc8, 0xb7, 0x0c, 0xd6, 0x81, 0x9a, 0x6c, 0x68, 0x36, 0x5a, 0xe6,
+  0x89, 0x24, 0x59, 0xea, 0x96, 0x30, 0x2f, 0xf5, 0x26, 0x61, 0x42, 0x72,
+  0xee, 0x10, 0xb7, 0xe6, 0x2f, 0x3f, 0xdf, 0x8c, 0xe3, 0x71, 0x66, 0xf0,
+  0x93, 0xda, 0x6a, 0x81, 0x22, 0x7e, 0x39, 0x44, 0x0d, 0xeb, 0x9b, 0x9f,
+  0x0e, 0xf0, 0x58, 0xfc, 0xe2, 0x17, 0x91, 0x2c, 0x9d, 0x21, 0x88, 0x68,
+  0xe1, 0x60, 0xfd, 0xe0, 0x41, 0x36, 0x4b, 0x49, 0x5e, 0xa4, 0x77, 0xe7,
+  0x6f, 0xce, 0x7e, 0xfc, 0xfb, 0x47, 0xee, 0xc2, 0x89, 0xdf, 0xff, 0x09,
+  0x13, 0xd7, 0xb4, 0xf1, 0x5f, 0x3e, 0x7a, 0x6f, 0xf5, 0xe6, 0xbb, 0x12,
+  0x52, 0x48, 0x57, 0x4c, 0x40, 0x8b, 0x60, 0x4c, 0x43, 0x46, 0x31, 0xb5,
+  0x19, 0xad, 0x91, 0x63, 0x4d, 0x33, 0x09, 0x35, 0x24, 0xc9, 0x95, 0x75,
+  0xe2, 0x4c, 0x7c, 0x40, 0xd6, 0x1e, 0x83, 0xcb, 0xd9, 0x8c, 0x8b, 0xae,
+  0x20, 0x2e, 0x22, 0xa4, 0x62, 0x97, 0x61, 0x17, 0x29, 0x8f, 0xcf, 0x2c,
+  0xc8, 0xd1, 0xe9, 0xe9, 0x47, 0x5d, 0x05, 0xb8, 0xd8, 0xb1, 0xc6, 0x8b,
+  0xb6, 0x15, 0x1b, 0xbd, 0x4a, 0x9e, 0x5e, 0x51, 0xcc, 0xf3, 0xf5, 0x99,
+  0x8c, 0xe6, 0x90, 0x54, 0xba, 0xb8, 0x4c, 0x41, 0x11, 0xa3, 0x08, 0x1f,
+  0x2d, 0x16, 0x8e, 0x03, 0x2b, 0xb7, 0x39, 0x81, 0xac, 0xfc, 0xc6, 0x8b,
+  0x2c, 0xc7, 0x7b, 0x5c, 0x9e, 0x92, 0x80, 0x25, 0x5a, 0x4d, 0xc1, 0xd8,
+  0xa1, 0xa4, 0xfd, 0xdc, 0xa0, 0xa1, 0x63, 0x48, 0x3b, 0xa7, 0xb3, 0xe1,
+  0x35, 0x00, 0x03, 0xf1, 0x51, 0x64, 0x11, 0x15, 0x0d, 0x2e, 0x81, 0x22,
+  0x2b, 0xdf, 0x13, 0x9e, 0x01, 0x1e, 0x4f, 0x52, 0x04, 0x14, 0xdf, 0x12,
+  0x15, 0x35, 0x1a, 0x93, 0x00, 0xff, 0x5a, 0x88, 0x9b, 0xac, 0x0c, 0x8d,
+  0x0e, 0x85, 0xa5, 0x84, 0x45, 0x28, 0x74, 0x63, 0xb0, 0x87, 0x29, 0xa9,
+  0x01, 0xae, 0x48, 0xcd, 0x75, 0x8e, 0xcd, 0x2f, 0x0d, 0x04, 0x67, 0x1c,
+  0x40, 0xb1, 0xee, 0x4a, 0xca, 0x2c, 0x3d, 0xc0, 0x5d, 0x57, 0x65, 0x3a,
+  0x19, 0x87, 0x31, 0x04, 0x82, 0xac, 0x42, 0xd0, 0x2f, 0x4b, 0xc5, 0x05,
+  0x50, 0x6a, 0xc5, 0xcd, 0x4a, 0x09, 0x22, 0x1a, 0x7d, 0x93, 0xbe, 0x69,
+  0x58, 0x08, 0xd1, 0x89, 0x4c, 0xac, 0x71, 0x0e, 0xc6, 0xd5, 0x86, 0x4e,
+  0x75, 0x4b, 0xbf, 0x66, 0xfd, 0x8c, 0x20, 0x60, 0x9b, 0x53, 0x51, 0x58,
+  0x17, 0x09, 0xba, 0x8c, 0x6f, 0x99, 0xe1, 0x00, 0x25, 0xf2, 0xf6, 0xb8,
+  0xd0, 0x2f, 0xfa, 0xcd, 0x7d, 0x9a, 0xb3, 0xa8, 0x96, 0x34, 0xab, 0x0a,
+  0xf3, 0xef, 0x2a, 0x71, 0x45, 0xf1, 0xfb, 0x84, 0x76, 0x8d, 0xa7, 0xcb,
+  0x19, 0x66, 0xec, 0xd7, 0x3f, 0xaa, 0x6a, 0x43, 0xe0, 0x7b, 0xf2, 0x3e,
+  0x83, 0x44, 0x3f, 0x57, 0x1c, 0x8a, 0x33, 0xae, 0x3d, 0x6d, 0x86, 0x49,
+  0xaa, 0x18, 0x0f, 0x92, 0x85, 0x6e, 0x45, 0xed, 0x4f, 0x5b, 0xd2, 0x2e,
+  0x39, 0xdc, 0x46, 0xa9, 0x9e, 0xc9, 0x5e, 0xe8, 0xbe, 0x86, 0xe8, 0xa7,
+  0x00, 0x19, 0xd6, 0x43, 0x48, 0x3e, 0x53, 0x0f, 0x45, 0x8b, 0xf2, 0x76,
+  0x04, 0xe1, 0x83, 0x92, 0x2e, 0x4d, 0x3a, 0x98, 0x9c, 0x20, 0x02, 0xb6,
+  0x19, 0x28, 0xbe, 0x97, 0x71, 0x81, 0xc3, 0x35, 0x37, 0xc9, 0xcb, 0x50,
+  0x15, 0xb3, 0x01, 0x26, 0x3f, 0x01, 0xc7, 0x68, 0x49, 0xf3, 0xb4, 0x03,
+  0x52, 0x17, 0xae, 0x04, 0x4b, 0xa2, 0x51, 0x00, 0x31, 0xb3, 0x88, 0xed,
+  0x51, 0x9a, 0x08, 0x06, 0x43, 0xe6, 0x8c, 0xc6, 0x15, 0x30, 0x20, 0x73,
+  0xc4, 0x2d, 0x9e, 0x2c, 0x2d, 0x1d, 0x5e, 0xa4, 0x92, 0x95, 0x21, 0xb6,
+  0x9e, 0x44, 0x59, 0x31, 0xde, 0x81, 0x07, 0x51, 0xd4, 0x39, 0x38, 0xd8,
+  0xed, 0x98, 0x50, 0xfa, 0x26, 0x81, 0x13, 0x10, 0x4f, 0x89, 0x0f, 0xed,
+  0xe0, 0x63, 0x9c, 0x37, 0x90, 0xa2, 0xcf, 0x96, 0xb8, 0x08, 0xf5, 0xe4,
+  0xb0, 0xd1, 0xf3, 0xf3, 0x67, 0x47, 0x17, 0x47, 0xd1, 0x21, 0x50, 0xd5,
+  0x37, 0x3e, 0x70, 0x9a, 0xc5, 0x5e, 0x6d, 0xf8, 0xeb, 0x15, 0x2c, 0x9e,
+  0xdc, 0xff, 0x55, 0x71, 0x27, 0x36, 0xe5, 0x71, 0x26, 0xc0, 0x0e, 0x57,
+  0xb9, 0x07, 0x4d, 0x66, 0xc0, 0xee, 0x7b, 0x8a, 0x0f, 0x3c, 0x2f, 0xb2,
+  0x29, 0x22, 0x19, 0xe1, 0xc3, 0xb6, 0x69, 0x9c, 0x2e, 0x32, 0xa7, 0xc5,
+  0xac, 0xc6, 0x61, 0x8f, 0xcf, 0x4e, 0xdf, 0xbe, 0x7a, 0xdd, 0x8f, 0x0e,
+  0x11, 0xb8, 0x97, 0x8c, 0x39, 0x37, 0xd9, 0xc8, 0xaf, 0x1f, 0xc1, 0xfc,
+  0xb0, 0xdb, 0xa8, 0x26, 0x60, 0xb5, 0x5c, 0x93, 0xd7, 0x5e, 0xd6, 0xb4,
+  0xa3, 0x36, 0x78, 0x2b, 0xd3, 0x19, 0xf7, 0xa6, 0xf1, 0x0e, 0xd8, 0x7a,
+  0x22, 0xc0, 0xf3, 0xa8, 0x6e, 0x02, 0x91, 0x5f, 0x22, 0x0d, 0xc4, 0x83,
+  0xa4, 0x90, 0xfc, 0xcb, 0x9b, 0x59, 0x00, 0x7a, 0x98, 0x64, 0x71, 0x1c,
+  0x9e, 0x53, 0x18, 0x80, 0x6b, 0x0d, 0x80, 0x10, 0xb8, 0x60, 0x6c, 0x3a,
+  0xa4, 0x4b, 0x29, 0x90, 0x46, 0x3c, 0xf6, 0xa6, 0x56, 0xb9, 0xe7, 0x18,
+  0xce, 0xd7, 0xbb, 0xe3, 0xa3, 0x77, 0xdf, 0xbd, 0x7d, 0xfd, 0xec, 0xf4,
+  0x24, 0x5c, 0xb1, 0x41, 0xd7, 0xa0, 0x36, 0x41, 0x91, 0xa3, 0x40, 0xe2,
+  0x4c, 0x50, 0x23, 0x62, 0x7d, 0xb1, 0xd1, 0xee, 0x8b, 0xb3, 0x57, 0x27,
+  0x41, 0x52, 0xd0, 0x16, 0xc5, 0xc7, 0xc8, 0xf6, 0x20, 0xb3, 0x63, 0x34,
+  0x19, 0xb8, 0x19, 0x86, 0xef, 0x4b, 0x5d, 0x1f, 0xa6, 0x08, 0x8e, 0x1c,
+  0xc9, 0x3c, 0x00, 0x8e, 0x0c, 0xc3, 0x47, 0x68, 0xd7, 0x1b, 0x54, 0x61,
+  0xd6, 0x27, 0x23, 0x61, 0xb9, 0xca, 0x66, 0x0b, 0xc6, 0x72, 0xa7, 0xd6,
+  0xa3, 0x1f, 0x9f, 0x7d, 0xff, 0xee, 0xf8, 0xec, 0x75, 0xf3, 0xb8, 0x3e,
+  0x7f, 0xf9, 0x3d, 0x0d, 0xbd, 0x31, 0x9b, 0x7e, 0xff, 0xf4, 0xdd, 0x77,
+  0x47, 0xc7, 0x7f, 0x39, 0x79, 0xfd, 0x2c, 0x3a, 0x74, 0x12, 0x7a, 0x03,
+  0x93, 0x5b, 0x85, 0x86, 0xd0, 0xd1, 0x4c, 0xe2, 0x8e, 0x05, 0xa1, 0x17,
+  0x47, 0x6d, 0xd6, 0xbc, 0x7c, 0x39, 0x5b, 0xd6, 0x20, 0x04, 0xb8, 0xcd,
+  0x10, 0x64, 0x01, 0x25, 0x4c, 0x63, 0x7c, 0x8a, 0x33, 0x24, 0xd1, 0x69,
+  0x97, 0xe1, 0x64, 0xd9, 0xd5, 0x16, 0x79, 0x3f, 0x35, 0x3e, 0x83, 0xd6,
+  0x64, 0x9a, 0x00, 0x41, 0x3b, 0xf6, 0x61, 0xed, 0x3c, 0x52, 0x19, 0xe8,
+  0xc6, 0x00, 0x6b, 0x93, 0xd1, 0xfa, 0x3a, 0x7f, 0x4f, 0xd0, 0x7f, 0x8a,
+  0x2c, 0x4d, 0xcd, 0x86, 0x60, 0x4b, 0x04, 0xef, 0x30, 0xb1, 0xb3, 0x76,
+  0xcf, 0x86, 0x05, 0xe9, 0x66, 0xd1, 0xb0, 0x4a, 0xee, 0x2c, 0x48, 0x6b,
+  0x18, 0xad, 0x3a, 0x9c, 0xe7, 0x6b, 0x86, 0x2b, 0xf7, 0xc4, 0x26, 0xce,
+  0x3b, 0x76, 0xe6, 0xbd, 0x75, 0x00, 0x0b, 0x93, 0x14, 0x65, 0x39, 0xe9,
+  0x46, 0x97, 0xb3, 0x45, 0x35, 0x01, 0xbe, 0x75, 0x59, 0xbe, 0xcf, 0xbc,
+  0x8c, 0x19, 0x60, 0x06, 0x23, 0xfa, 0x76, 0x56, 0xc2, 0x3f, 0xf9, 0x1c,
+  0x1a, 0xc0, 0x77, 0x8a, 0x45, 0x49, 0x9f, 0x96, 0xc0, 0x24, 0x66, 0xb3,
+  0x94, 0xb0, 0xb2, 0x31, 0x21, 0x97, 0xed, 0xf5, 0xb8, 0x8b, 0x70, 0xa6,
+  0xf2, 0x89, 0x97, 0xdd, 0x0c, 0x2f, 0x9b, 0x01, 0x2f, 0x3b, 0x42, 0x4c,
+  0xda, 0xe2, 0x6c, 0xc4, 0xff, 0xe8, 0x60, 0x36, 0xd9, 0xa6, 0x53, 0x15,
+  0x84, 0xb9, 0x2b, 0x2f, 0x71, 0x93, 0x93, 0x90, 0xa1, 0xb3, 0x17, 0x9d,
+  0x22, 0xee, 0x86, 0x24, 0x1d, 0x18, 0x60, 0x28, 0x8e, 0x97, 0x10, 0xa5,
+  0x53, 0x54, 0xd2, 0x9e, 0x73, 0xc4, 0x7d, 0x48, 0x1c, 0x39, 0x59, 0x7a,
+  0x92, 0xd8, 0xc0, 0xc5, 0x98, 0xb3, 0xa4, 0x09, 0x9a, 0xf9, 0xfd, 0xf5,
+  0xf4, 0xec, 0xfb, 0x67, 0x2f, 0xdf, 0xd0, 0x14, 0x9d, 0xda, 0x25, 0xa1,
+  0xd9, 0x86, 0x0e, 0x55, 0x1d, 0xfa, 0xa1, 0x6b, 0x60, 0xcb, 0xab, 0x86,
+  0x98, 0xd7, 0xc4, 0xef, 0x76, 0xf4, 0xc3, 0x44, 0xc2, 0x74, 0x9d, 0x65,
+  0xaa, 0x53, 0x18, 0x72, 0xe3, 0xd1, 0x02, 0x63, 0xe1, 0xff, 0x31, 0xc9,
+  0x2f, 0xcb, 0x40, 0x74, 0x26, 0x9f, 0x5c, 0xd3, 0x40, 0xd7, 0x80, 0x48,
+  0xb2, 0xf9, 0x84, 0xe9, 0x0b, 0xff, 0x1d, 0x49, 0xe2, 0x2a, 0xaf, 0x27,
+  0x82, 0x7c, 0x86, 0xbc, 0xe3, 0x4e, 0x08, 0x56, 0x36, 0x8a, 0x36, 0x81,
+  0xfe, 0xaf, 0xd2, 0xdb, 0xad, 0x5e, 0xf4, 0x8c, 0xae, 0xdc, 0xd4, 0x29,
+  0xf6, 0x59, 0xa6, 0x8a, 0x60, 0xf0, 0xff, 0x2d, 0xee, 0xda, 0x7a, 0xdb,
+  0x56, 0x8e, 0xf0, 0xbb, 0x7e, 0x05, 0x11, 0x14, 0x68, 0x0e, 0xe0, 0xab,
+  0x2c, 0xc9, 0x52, 0x1e, 0x1a, 0x38, 0xb6, 0x4e, 0x6c, 0x9c, 0x24, 0x36,
+  0x44, 0x25, 0x4e, 0x81, 0x02, 0x05, 0x6d, 0xd1, 0x32, 0x1b, 0x99, 0xf2,
+  0xa1, 0xa4, 0x63, 0x3b, 0xbf, 0xbe, 0x3b, 0xf3, 0xcd, 0xec, 0x0e, 0xb9,
+  0x54, 0xda, 0x93, 0x3e, 0xf4, 0xc5, 0xb0, 0x69, 0x72, 0x97, 0xbb, 0x9c,
+  0x9d, 0xfb, 0x7c, 0xa3, 0xd1, 0xdc, 0xdb, 0x58, 0x50, 0x3a, 0xbb, 0x81,
+  0xf8, 0x3e, 0x83, 0x2e, 0xec, 0x25, 0xd7, 0x04, 0x55, 0x8a, 0xcd, 0xbb,
+  0x71, 0x02, 0x81, 0x5b, 0xe1, 0xb6, 0x40, 0x13, 0xa4, 0xe7, 0xe3, 0x0f,
+  0x1f, 0x18, 0x01, 0x6b, 0x06, 0x6c, 0xd6, 0x2f, 0x1f, 0xd3, 0xa4, 0xce,
+  0x8d, 0xdd, 0xde, 0xcd, 0x72, 0xc6, 0x21, 0x2d, 0xee, 0x3c, 0x34, 0xf7,
+  0xd9, 0xe9, 0x07, 0x52, 0xc5, 0x33, 0x42, 0x75, 0x2b, 0x9e, 0x5f, 0x45,
+  0xfd, 0x0d, 0x73, 0x8b, 0xa8, 0x4a, 0x1c, 0xf5, 0x74, 0x3c, 0x99, 0xfe,
+  0x53, 0x29, 0xe0, 0xcf, 0x4a, 0x1e, 0xae, 0x99, 0x69, 0x48, 0x1e, 0x3f,
+  0x28, 0xb9, 0x52, 0xda, 0x9b, 0x42, 0xfd, 0x8c, 0x40, 0x73, 0xc3, 0xfe,
+  0x36, 0xfe, 0xbb, 0xa3, 0x56, 0x0c, 0xeb, 0x9b, 0xc2, 0xfc, 0xad, 0x1d,
+  0x33, 0x0d, 0x5e, 0x87, 0x6d, 0xb6, 0x46, 0x28, 0x68, 0x12, 0xa4, 0x4b,
+  0x29, 0xb2, 0x8a, 0xd5, 0x39, 0xf6, 0xdd, 0x49, 0xb7, 0x64, 0x42, 0x02,
+  0x14, 0x60, 0x57, 0x92, 0x78, 0x81, 0x4c, 0x24, 0xbd, 0x99, 0x0a, 0x83,
+  0xb9, 0x48, 0xea, 0x9e, 0xc1, 0xea, 0x98, 0xdf, 0xc6, 0x96, 0x1c, 0x40,
+  0x70, 0x00, 0xec, 0x46, 0x76, 0x5d, 0xb6, 0x78, 0xf9, 0x0e, 0x85, 0x90,
+  0x66, 0x71, 0xac, 0xe9, 0x8e, 0xcc, 0x54, 0x37, 0x20, 0x61, 0x9c, 0x21,
+  0x20, 0x82, 0x8f, 0x5b, 0xe6, 0x91, 0xe9, 0x05, 0xe8, 0x7b, 0x1e, 0x02,
+  0x14, 0x41, 0xd8, 0x08, 0xda, 0x82, 0xe1, 0x9a, 0x3a, 0xd3, 0x3a, 0xf5,
+  0xe8, 0x9b, 0xb8, 0xc7, 0x9f, 0x02, 0xe5, 0xa1, 0x94, 0x79, 0x11, 0x77,
+  0xa7, 0x79, 0xa2, 0x61, 0x2c, 0x58, 0xc6, 0x9b, 0xe4, 0xd2, 0xb1, 0x53,
+  0xb7, 0xf9, 0x0c, 0xc0, 0x45, 0x3a, 0x91, 0x63, 0xa3, 0xef, 0x96, 0xa4,
+  0x07, 0xf3, 0xc5, 0xe4, 0x7d, 0xb9, 0xe1, 0x5e, 0xd0, 0xc9, 0xa7, 0x34,
+  0x6d, 0xc1, 0x1d, 0x24, 0xfe, 0xea, 0x6e, 0x34, 0x1e, 0xa3, 0x74, 0x3c,
+  0x71, 0x06, 0x0e, 0xbe, 0xe2, 0xff, 0x43, 0x4b, 0x65, 0x2d, 0x6c, 0x47,
+  0x95, 0xd5, 0x9d, 0x30, 0x3a, 0x6b, 0xaa, 0x28, 0xbb, 0x84, 0xae, 0x9a,
+  0xc4, 0x0a, 0x5f, 0x43, 0xd9, 0xd3, 0x16, 0x09, 0x7c, 0x0e, 0x5e, 0xfd,
+  0xc5, 0xac, 0xed, 0x1f, 0x27, 0x8f, 0x28, 0x0a, 0x22, 0x2e, 0x72, 0x46,
+  0x10, 0x87, 0x61, 0x0b, 0x9a, 0xcc, 0x79, 0x9b, 0x78, 0x09, 0x0c, 0xde,
+  0x37, 0xbc, 0x86, 0x2a, 0xdc, 0xd8, 0x13, 0x56, 0xa6, 0x74, 0x5b, 0x44,
+  0x6c, 0xc4, 0x38, 0xac, 0x64, 0xdc, 0xd7, 0x45, 0x88, 0x36, 0xfb, 0x80,
+  0xa7, 0xc3, 0xfd, 0x9c, 0x5e, 0x3a, 0xad, 0xdc, 0xfd, 0x32, 0xfe, 0xf5,
+  0xe2, 0x6b, 0xf0, 0x82, 0x4e, 0x83, 0x8b, 0x05, 0x65, 0xfb, 0x51, 0x8b,
+  0x25, 0x81, 0xe7, 0x35, 0x8e, 0x1b, 0x96, 0x35, 0xc5, 0x33, 0x92, 0x5a,
+  0x00, 0x07, 0xea, 0x01, 0x10, 0xea, 0x7a, 0xf6, 0xf3, 0x4b, 0x80, 0xf5,
+  0x08, 0x5b, 0x44, 0xcb, 0xb7, 0xfe, 0x1b, 0x56, 0xc2, 0xad, 0xd3, 0x69,
+  0xdd, 0x7c, 0x29, 0xb7, 0x40, 0xb1, 0xb7, 0xe4, 0x02, 0x39, 0xcb, 0x3b,
+  0x46, 0x4f, 0x87, 0x4d, 0x96, 0x99, 0x36, 0x40, 0x4e, 0x69, 0xdb, 0x31,
+  0x03, 0x29, 0x37, 0x5a, 0xbb, 0x83, 0xb7, 0x06, 0x43, 0xd2, 0x9c, 0xeb,
+  0x86, 0xd1, 0xcb, 0x58, 0x71, 0x7e, 0x98, 0xfa, 0x22, 0x64, 0xe5, 0x62,
+  0x3d, 0x72, 0xae, 0x2b, 0x45, 0x92, 0x56, 0x6f, 0x6a, 0x2e, 0x4c, 0xb7,
+  0x45, 0xad, 0x98, 0x9f, 0x00, 0xcc, 0x63, 0x0f, 0x7a, 0x73, 0x76, 0x9e,
+  0x55, 0xbf, 0x20, 0xdc, 0x5b, 0x9a, 0xde, 0xda, 0x52, 0x02, 0x46, 0x9b,
+  0x2f, 0xc7, 0xa5, 0xee, 0x3c, 0x5d, 0xfd, 0x60, 0xea, 0x78, 0xe5, 0x11,
+  0xcc, 0x12, 0xe1, 0x75, 0xac, 0x7a, 0x3f, 0x1a, 0x83, 0x1c, 0xdb, 0xbf,
+  0x6f, 0x0a, 0xc7, 0xbe, 0x73, 0x24, 0x42, 0xee, 0xee, 0xe2, 0xa1, 0xc6,
+  0x18, 0xd9, 0x4f, 0x0d, 0x92, 0xd5, 0x47, 0xe9, 0xff, 0xcc, 0x20, 0xfd,
+  0xc6, 0x18, 0xf7, 0x3f, 0x35, 0xc8, 0xae, 0xba, 0xba, 0x3a, 0x9d, 0xf1,
+  0xd7, 0x8b, 0xa9, 0x33, 0x68, 0xcf, 0x6a, 0x67, 0xa6, 0x12, 0x8e, 0x42,
+  0x6a, 0x74, 0xe9, 0x28, 0xcf, 0x3d, 0x3a, 0x2b, 0xee, 0x58, 0x01, 0x5b,
+  0x4b, 0xd9, 0x04, 0x85, 0xe2, 0x56, 0x0a, 0x9e, 0x58, 0x54, 0x68, 0xdf,
+  0x44, 0x09, 0xd3, 0x1c, 0x8b, 0x31, 0x08, 0xc0, 0xa6, 0xe2, 0x79, 0x15,
+  0x50, 0x33, 0x50, 0xbb, 0x88, 0x16, 0xe3, 0x7e, 0xc4, 0x12, 0x08, 0xa7,
+  0x0c, 0x8d, 0xb7, 0x56, 0x7f, 0x53, 0xc1, 0xe0, 0xc8, 0x9e, 0x99, 0x31,
+  0x07, 0xa1, 0x38, 0x08, 0x37, 0x6e, 0x00, 0x30, 0x22, 0x5b, 0x68, 0x33,
+  0x90, 0x6d, 0xa0, 0xd5, 0x03, 0x11, 0xbe, 0x48, 0x0e, 0x54, 0x2c, 0x8f,
+  0xd0, 0x83, 0x2e, 0xe0, 0x7f, 0xd4, 0xe0, 0xb0, 0xb3, 0x5b, 0xb7, 0x14,
+  0x6d, 0xa0, 0x15, 0x9b, 0x05, 0x04, 0x30, 0x5a, 0x6d, 0x9a, 0x39, 0x12,
+  0x87, 0x22, 0x20, 0xca, 0xda, 0xd1, 0xe2, 0x43, 0x25, 0x12, 0x8c, 0x14,
+  0xcf, 0x99, 0x22, 0x42, 0x6a, 0x50, 0x6a, 0x55, 0x03, 0x22, 0x8c, 0x14,
+  0x6b, 0x3f, 0x84, 0x9f, 0xa7, 0x2b, 0x56, 0x66, 0x56, 0x2c, 0xa0, 0xae,
+  0x4b, 0x05, 0x70, 0xf1, 0xdd, 0xa8, 0x1b, 0x47, 0xde, 0x97, 0xed, 0xb6,
+  0x7a, 0xc1, 0x69, 0xe7, 0x33, 0x1c, 0xc1, 0xd5, 0x4b, 0xb9, 0xce, 0x9e,
+  0x59, 0x11, 0x26, 0xb6, 0x22, 0x2d, 0xb7, 0xc2, 0x93, 0x3d, 0xad, 0xc3,
+  0xf3, 0x8d, 0xbd, 0x88, 0x37, 0x69, 0x78, 0x53, 0xc3, 0xd7, 0x21, 0xb1,
+  0x41, 0x21, 0x9f, 0x45, 0x27, 0x2d, 0x2a, 0x86, 0x16, 0xdc, 0xed, 0xb4,
+  0x14, 0xff, 0xf8, 0x49, 0x15, 0x3f, 0x7a, 0x89, 0x54, 0xa6, 0xfc, 0x99,
+  0x64, 0x4d, 0xc1, 0xa9, 0xfc, 0xda, 0x43, 0x88, 0x34, 0x54, 0xde, 0x2f,
+  0xe9, 0x9b, 0xdb, 0xf0, 0xd7, 0x59, 0x30, 0x55, 0x55, 0x89, 0x66, 0x4b,
+  0xde, 0x40, 0xb4, 0x9d, 0x70, 0xfb, 0x76, 0x93, 0x11, 0x74, 0x3d, 0x43,
+  0xba, 0x66, 0x25, 0x9c, 0x17, 0xfa, 0x05, 0xda, 0xe1, 0x26, 0xc3, 0x26,
+  0xf4, 0xc5, 0x6e, 0xf7, 0xde, 0x6e, 0x01, 0x4b, 0xb4, 0xbc, 0x0c, 0xae,
+  0x3b, 0x09, 0x0b, 0x91, 0xc3, 0xf0, 0xd6, 0xdf, 0xcd, 0x29, 0x28, 0xf1,
+  0x26, 0xac, 0x1a, 0x49, 0x4d, 0x03, 0x3b, 0x0b, 0x1e, 0xd4, 0x79, 0xd0,
+  0x2b, 0x2a, 0x4c, 0x63, 0xf3, 0xf0, 0xc2, 0x3c, 0x37, 0xf9, 0x7f, 0x31,
+  0xcb, 0x71, 0x93, 0x5e, 0x4c, 0x8a, 0x1f, 0x4f, 0xe3, 0xef, 0x1c, 0x4a,
+  0xc0, 0x3b, 0x27, 0x1c, 0x4f, 0x89, 0x47, 0x54, 0xf9, 0xe3, 0x42, 0x16,
+  0x2c, 0x57, 0x38, 0x03, 0x9d, 0x83, 0xd6, 0x70, 0xb4, 0xf8, 0xb7, 0x71,
+  0xb6, 0xbc, 0x8d, 0xad, 0x8d, 0x64, 0x5e, 0x27, 0x01, 0xe0, 0x98, 0xa5,
+  0xe6, 0x02, 0x85, 0x27, 0x43, 0x0c, 0x86, 0x4b, 0x54, 0xa1, 0xee, 0x84,
+  0xe2, 0xd2, 0xff, 0xad, 0x4f, 0xc4, 0x40, 0x85, 0x70, 0xab, 0x1b, 0xaf,
+  0x01, 0xed, 0xd8, 0xa6, 0x02, 0x0e, 0x70, 0xb0, 0xc1, 0x18, 0x77, 0x26,
+  0x2b, 0xa5, 0xcb, 0x52, 0x45, 0x65, 0x77, 0x7b, 0xc9, 0xc7, 0x65, 0x54,
+  0xb9, 0xbc, 0xbc, 0x5b, 0x0b, 0xc2, 0x38, 0xd5, 0xf5, 0x62, 0x7b, 0x9c,
+  0xb5, 0x3d, 0x17, 0x1d, 0xdb, 0xf4, 0xdf, 0x24, 0xca, 0xf7, 0x01, 0x6c,
+  0xc7, 0x6f, 0xd8, 0x57, 0x5c, 0xb6, 0xbc, 0x5d, 0xb3, 0x66, 0xfe, 0xf0,
+  0xc0, 0xef, 0x03, 0x2f, 0x8b, 0x8a, 0xb2, 0xf9, 0x5b, 0x38, 0x63, 0x8a,
+  0xbb, 0x2e, 0x3e, 0x65, 0xcc, 0xc9, 0xbc, 0xa5, 0x1c, 0x22, 0x41, 0xfa,
+  0xa5, 0x48, 0x9b, 0x8d, 0xbd, 0xdf, 0x5c, 0x53, 0x95, 0x21, 0xc1, 0x04,
+  0xc5, 0xfa, 0x00, 0x92, 0x12, 0xb9, 0xb9, 0xc3, 0x01, 0x52, 0xcf, 0xa8,
+  0x91, 0x25, 0xcd, 0x90, 0x29, 0x54, 0x29, 0xbe, 0x25, 0xee, 0x4f, 0x5d,
+  0xb5, 0x8c, 0xfd, 0x18, 0x7a, 0x23, 0x98, 0xf5, 0x1c, 0xfa, 0xf5, 0x3c,
+  0x31, 0xa5, 0x5c, 0x9d, 0xa4, 0xa9, 0xd2, 0xc9, 0x69, 0x0b, 0x49, 0xa8,
+  0x17, 0x79, 0xf1, 0xe2, 0x1b, 0x26, 0xc5, 0x3c, 0x55, 0x06, 0x69, 0x94,
+  0x2b, 0x1c, 0x82, 0xd9, 0x9d, 0x01, 0x3d, 0xbc, 0x7d, 0xb9, 0x4f, 0xb5,
+  0x4d, 0x04, 0x94, 0x78, 0xa3, 0xd9, 0x41, 0xbb, 0x81, 0x8c, 0x3c, 0x65,
+  0xda, 0x66, 0x06, 0xe8, 0xd5, 0xfc, 0x2d, 0x72, 0x78, 0x3a, 0x8e, 0x44,
+  0x8c, 0xcc, 0xbc, 0xc8, 0x51, 0xbc, 0xe8, 0x2f, 0x58, 0xd4, 0xce, 0xff,
+  0xb4, 0xe8, 0x2f, 0x2d, 0x8b, 0xee, 0x35, 0xe6, 0xea, 0x76, 0x8f, 0x05,
+  0x03, 0xa9, 0xb6, 0xc1, 0xe0, 0x18, 0x98, 0x0d, 0x2b, 0x76, 0x37, 0xee,
+  0x6a, 0xf3, 0xf5, 0xc8, 0x13, 0x1f, 0x4e, 0xaf, 0x99, 0xaa, 0xef, 0xa7,
+  0xba, 0xcd, 0x4a, 0x1a, 0x8f, 0xd4, 0x37, 0x30, 0x9f, 0x98, 0xf9, 0x69,
+  0x80, 0x8c, 0x82, 0x1e, 0x4f, 0x54, 0xd5, 0xb6, 0xa5, 0x12, 0x45, 0x5f,
+  0xc3, 0xcc, 0x33, 0xf0, 0xb1, 0xe9, 0xfd, 0xae, 0xe6, 0xc6, 0x9f, 0x30,
+  0x93, 0x5e, 0xe4, 0x0f, 0x4c, 0x9a, 0xf0, 0x05, 0x04, 0xed, 0x18, 0x98,
+  0x9e, 0x77, 0x55, 0xc6, 0x2d, 0xc5, 0x17, 0xd9, 0x4b, 0x4b, 0x4f, 0x27,
+  0xc9, 0x9a, 0xa2, 0xe8, 0x10, 0x77, 0x00, 0x9d, 0xe7, 0x25, 0x45, 0x41,
+  0x58, 0x25, 0x11, 0xbf, 0x24, 0x79, 0x36, 0x39, 0x65, 0xfe, 0xce, 0xa7,
+  0x2c, 0xc9, 0xac, 0x11, 0xbe, 0x38, 0x65, 0x40, 0xac, 0x9b, 0x08, 0x2d,
+  0xed, 0xbd, 0xe8, 0x0e, 0x8f, 0xc3, 0xbe, 0xf9, 0x6d, 0x22, 0x9b, 0x1d,
+  0xcd, 0x10, 0xec, 0xe6, 0x09, 0x3b, 0x31, 0x89, 0xa0, 0x5a, 0x71, 0x1d,
+  0xd1, 0xa5, 0x3c, 0x1c, 0x66, 0x01, 0x43, 0xbe, 0x22, 0x6e, 0x27, 0x5d,
+  0x85, 0xf7, 0x9c, 0x81, 0x49, 0x0a, 0x0a, 0xda, 0x14, 0x4b, 0x98, 0x11,
+  0x56, 0x7b, 0x16, 0xd2, 0xe5, 0xea, 0xa4, 0x3b, 0x6a, 0x79, 0x57, 0x2d,
+  0x5f, 0xd9, 0x17, 0x46, 0x1b, 0x7a, 0xcd, 0x68, 0x4e, 0x53, 0x9e, 0x4c,
+  0xc6, 0xd3, 0x09, 0x27, 0x7d, 0x13, 0x0b, 0x88, 0x6c, 0xed, 0xac, 0xfa,
+  0xc5, 0x77, 0x43, 0x11, 0x7e, 0x16, 0x54, 0x94, 0xc0, 0x22, 0xd0, 0x28,
+  0xcb, 0x7f, 0x71, 0xfc, 0xa9, 0xcf, 0xf9, 0xa2, 0x5c, 0x6c, 0x79, 0xc8,
+  0x07, 0xad, 0xb7, 0xf0, 0xea, 0x76, 0x43, 0x45, 0xd3, 0x23, 0x7d, 0x13,
+  0x10, 0xa5, 0x20, 0x31, 0xec, 0x49, 0x75, 0x8a, 0xa2, 0xf7, 0x90, 0xce,
+  0xa3, 0x8a, 0x06, 0x0a, 0xf5, 0x96, 0x55, 0x9b, 0x34, 0xf6, 0xf5, 0xc0,
+  0xa2, 0x1b, 0x68, 0x2d, 0xb0, 0xe9, 0xd8, 0x85, 0x22, 0x77, 0xc3, 0x43,
+  0xd1, 0x17, 0xb7, 0x77, 0x70, 0x10, 0x17, 0xf9, 0x67, 0x37, 0x8e, 0xad,
+  0x8a, 0xa2, 0x27, 0x28, 0x5c, 0x40, 0xe6, 0xe1, 0xef, 0xc5, 0xaa, 0xee,
+  0x8a, 0xec, 0x9e, 0xdd, 0x5d, 0xda, 0xad, 0xd8, 0xb8, 0xe9, 0x82, 0xc3,
+  0x5c, 0x33, 0x24, 0x98, 0xec, 0x57, 0x83, 0xb1, 0x00, 0x2e, 0x0c, 0x05,
+  0x54, 0xc1, 0xf1, 0xc8, 0x0e, 0x3c, 0xc9, 0xb0, 0x8a, 0xde, 0x2a, 0xe2,
+  0xde, 0xdd, 0x70, 0xe2, 0x2d, 0x1b, 0x49, 0xa7, 0x97, 0x13, 0x21, 0xb0,
+  0x58, 0x3a, 0x73, 0xbd, 0x03, 0xdd, 0xe0, 0x15, 0xe7, 0x9d, 0x96, 0x06,
+  0x15, 0x7c, 0x52, 0x68, 0x5c, 0xdf, 0x7e, 0xd6, 0xcc, 0x8a, 0xf3, 0x3f,
+  0x21, 0xe0, 0x38, 0x59, 0xdb, 0x17, 0x01, 0xc5, 0xd4, 0x86, 0xc4, 0x7a,
+  0x2a, 0xcd, 0x43, 0x38, 0x64, 0x97, 0x38, 0xbd, 0x00, 0x81, 0x24, 0x1a,
+  0x12, 0x38, 0x48, 0x6a, 0x68, 0x2c, 0x0e, 0x0a, 0x2d, 0xa2, 0x8b, 0xe8,
+  0x10, 0x07, 0xe8, 0x32, 0xf4, 0x9c, 0x06, 0x7f, 0x97, 0x45, 0x7a, 0x83,
+  0x9c, 0x2e, 0x73, 0x4a, 0x15, 0x7a, 0x32, 0x4b, 0x55, 0x52, 0x86, 0xec,
+  0x82, 0xdb, 0xdd, 0x48, 0x7c, 0x58, 0xdb, 0xc0, 0xda, 0x2c, 0x41, 0xfd,
+  0x36, 0x32, 0xff, 0xea, 0x72, 0x32, 0x4d, 0xbc, 0xc8, 0xe7, 0x99, 0xf9,
+  0x52, 0xe3, 0xf0, 0x10, 0x14, 0x00, 0x7b, 0x6f, 0x02, 0xee, 0x4e, 0x94,
+  0xe2, 0x21, 0xa6, 0xc2, 0xba, 0x31, 0xc4, 0x0e, 0x47, 0xed, 0x66, 0x4b,
+  0xb8, 0x50, 0x03, 0xa3, 0x11, 0x2f, 0x32, 0x4b, 0x99, 0x6d, 0xed, 0x8f,
+  0x02, 0xb0, 0xf4, 0xd1, 0x61, 0x0b, 0x9f, 0x20, 0x71, 0x30, 0x19, 0xa7,
+  0x53, 0xec, 0x18, 0xfd, 0x16, 0xbd, 0x37, 0x70, 0x6b, 0xe5, 0x62, 0x64,
+  0xbf, 0x78, 0xca, 0xa0, 0xf2, 0x31, 0xf2, 0x60, 0xd3, 0xf8, 0x1e, 0xe0,
+  0xd7, 0xec, 0xd8, 0x91, 0xa9, 0x5a, 0x64, 0x8e, 0x29, 0x74, 0xc2, 0x87,
+  0x9b, 0x2f, 0xbc, 0x92, 0x49, 0x5e, 0x39, 0xb5, 0x4c, 0x0e, 0xc4, 0xb2,
+  0xfa, 0x66, 0x86, 0xe8, 0x19, 0x36, 0x41, 0x62, 0x4a, 0x46, 0xb8, 0x00,
+  0x66, 0xf2, 0x82, 0x2f, 0xee, 0x2a, 0xad, 0xb0, 0xac, 0x00, 0x55, 0xe0,
+  0xbe, 0x30, 0x4e, 0xdf, 0x07, 0x79, 0x54, 0x53, 0x30, 0xef, 0x42, 0x97,
+  0xb5, 0xd0, 0x87, 0xb5, 0xb6, 0x06, 0xcd, 0x1d, 0x81, 0xd4, 0xdf, 0x65,
+  0xb3, 0x50, 0x73, 0x88, 0xb5, 0xd7, 0xa4, 0x82, 0x44, 0x13, 0x59, 0x47,
+  0xcb, 0xaa, 0x45, 0x41, 0xd9, 0x2b, 0x37, 0xb0, 0x1a, 0xe9, 0xb1, 0xb6,
+  0xc6, 0xdb, 0x66, 0x0e, 0x11, 0x3f, 0xe4, 0x84, 0xbc, 0x35, 0x62, 0xda,
+  0x4d, 0x85, 0x33, 0x1c, 0x94, 0x7d, 0x8a, 0x26, 0x79, 0x21, 0xb1, 0x97,
+  0x5c, 0x51, 0x00, 0x99, 0xf5, 0xa6, 0xd5, 0xdb, 0x30, 0x1c, 0x8e, 0x09,
+  0xa5, 0x35, 0xa9, 0x1a, 0x40, 0x40, 0xbf, 0x7b, 0xb8, 0xc2, 0x98, 0xbf,
+  0xc1, 0x64, 0x8e, 0xd6, 0x3b, 0x0a, 0x0f, 0xaf, 0xdc, 0x52, 0x6e, 0xef,
+  0xa3, 0x5b, 0x7a, 0x42, 0x59, 0x9b, 0x12, 0x5a, 0xa5, 0xe7, 0xcc, 0x74,
+  0x9a, 0xe9, 0x7b, 0xb0, 0xd1, 0xc8, 0x23, 0xdc, 0xe9, 0x3d, 0x35, 0x0e,
+  0x6e, 0x86, 0x82, 0x28, 0x38, 0x91, 0xad, 0xa2, 0xbe, 0x27, 0xee, 0xcc,
+  0x90, 0x22, 0xe7, 0xc6, 0x2a, 0x89, 0xcf, 0x7a, 0xaf, 0x65, 0x2d, 0x1f,
+  0x9a, 0xf7, 0xd6, 0xb7, 0x9f, 0x89, 0x40, 0xf8, 0xea, 0x49, 0x7a, 0x3d,
+  0xd0, 0xa2, 0xa7, 0x1b, 0x2f, 0xbd, 0x6a, 0x6f, 0x27, 0x15, 0xd7, 0xe2,
+  0x3c, 0xbc, 0xc9, 0xb8, 0x7d, 0x43, 0xe6, 0x84, 0xbb, 0x55, 0xfe, 0x7b,
+  0xfd, 0x30, 0xd4, 0x1d, 0x41, 0xf3, 0xf9, 0xb1, 0x02, 0xf7, 0x71, 0x8c,
+  0x47, 0xba, 0xd9, 0x14, 0xfe, 0xb6, 0x9a, 0x8a, 0xf7, 0x1f, 0xfa, 0x01,
+  0xf5, 0x8e, 0xc5, 0x26, 0x26, 0xa3, 0xb8, 0x7c, 0x09, 0x98, 0x08, 0x7b,
+  0xc8, 0x5d, 0x86, 0x07, 0x8f, 0x26, 0xf0, 0xff, 0x11, 0x27, 0xf0, 0xbd,
+  0x78, 0x88, 0x1e, 0xb2, 0xe7, 0x48, 0xc0, 0x3f, 0x6c, 0x1e, 0xa4, 0x1a,
+  0xd8, 0xcc, 0x34, 0x14, 0x17, 0x07, 0xca, 0xd7, 0xb5, 0x9b, 0x4b, 0xe0,
+  0xa3, 0x4b, 0x6f, 0x4a, 0x87, 0xaa, 0x8a, 0x19, 0xd7, 0x86, 0xfa, 0x4a,
+  0xe2, 0xb8, 0xad, 0x33, 0xf5, 0x68, 0x02, 0x30, 0x07, 0xd4, 0x5d, 0xf5,
+  0x35, 0x2c, 0x15, 0xb5, 0x53, 0x7c, 0x0e, 0x72, 0x1f, 0xfe, 0xb5, 0xbd,
+  0x9d, 0x46, 0x95, 0xff, 0x8b, 0x15, 0xc9, 0x3d, 0x88, 0x1b, 0xe0, 0xa0,
+  0x61, 0x95, 0x84, 0x29, 0x1b, 0x18, 0x5e, 0x6f, 0x24, 0xbe, 0x32, 0xf1,
+  0x8f, 0x50, 0xf2, 0x76, 0x49, 0x6d, 0xcb, 0x1b, 0x39, 0x9b, 0xfd, 0x6e,
+  0xf0, 0x9a, 0x8a, 0x5c, 0x2c, 0xf4, 0xc4, 0x91, 0x7e, 0xef, 0xf6, 0x9c,
+  0x90, 0x45, 0xe7, 0x3b, 0x92, 0x71, 0xa6, 0xed, 0xc5, 0x7c, 0xc3, 0x1a,
+  0x68, 0x19, 0x6d, 0xd0, 0x80, 0x66, 0x92, 0xa3, 0xc0, 0x74, 0xaa, 0x97,
+  0x47, 0x0e, 0xb4, 0xcc, 0x49, 0x95, 0x6f, 0x39, 0x04, 0x7d, 0x30, 0xba,
+  0x53, 0x1c, 0x55, 0x52, 0x3b, 0xe3, 0xc7, 0x58, 0xa3, 0x6e, 0x44, 0xaf,
+  0xfb, 0x7d, 0xeb, 0x09, 0xa0, 0xc6, 0xa9, 0x12, 0x97, 0xe1, 0x38, 0x0c,
+  0xe9, 0x15, 0xe6, 0xde, 0x81, 0xbf, 0x97, 0x13, 0x41, 0x4a, 0xe9, 0x70,
+  0xf4, 0x83, 0x27, 0x86, 0x9a, 0x8c, 0x0d, 0x9d, 0x5e, 0x03, 0x35, 0xd0,
+  0x52, 0x4c, 0x99, 0xb0, 0xd7, 0xeb, 0xfa, 0xa3, 0x86, 0x97, 0x85, 0xa4,
+  0x4d, 0xa0, 0x26, 0x5e, 0x54, 0xf1, 0x78, 0x6f, 0xcf, 0xd3, 0x00, 0x82,
+  0xf5, 0x8a, 0x2a, 0x8f, 0x6b, 0xa5, 0xc7, 0xca, 0xb7, 0x72, 0x8b, 0x4e,
+  0xad, 0xc7, 0x13, 0xe4, 0x7a, 0x7a, 0xb2, 0x0d, 0x4b, 0x85, 0x09, 0xd4,
+  0x4c, 0x72, 0x28, 0x64, 0xee, 0x96, 0xbc, 0x9c, 0x97, 0xc5, 0x77, 0xc5,
+  0x07, 0x26, 0xa9, 0xca, 0x4d, 0x64, 0x6b, 0xca, 0xcd, 0xe0, 0x48, 0xe8,
+  0xe8, 0xb9, 0xa0, 0x43, 0xc3, 0xda, 0x38, 0x97, 0xbd, 0x53, 0x76, 0x72,
+  0x5e, 0x43, 0x82, 0x1e, 0xf4, 0x44, 0x0f, 0x52, 0x65, 0x95, 0xa4, 0x21,
+  0xad, 0x73, 0xc1, 0xcd, 0xe0, 0x9a, 0x8c, 0x73, 0x20, 0x92, 0x48, 0xbe,
+  0x14, 0xbb, 0xd8, 0x48, 0xfb, 0x13, 0x9e, 0x49, 0x20, 0x9d, 0x55, 0xfe,
+  0x84, 0xf0, 0x51, 0x16, 0xab, 0x3f, 0x83, 0xc1, 0x16, 0x4f, 0xe1, 0x0a,
+  0x62, 0x6c, 0xcc, 0xa4, 0x62, 0xee, 0x3f, 0xf6, 0x84, 0x6e, 0xba, 0x0a,
+  0x6a, 0x0b, 0xb5, 0x1d, 0xdb, 0x29, 0x51, 0xd9, 0xb3, 0x78, 0x34, 0x40,
+  0xe1, 0x33, 0x04, 0x22, 0x9b, 0xae, 0x7c, 0x3f, 0xfd, 0x62, 0x39, 0x4f,
+  0x6c, 0x3b, 0x85, 0x01, 0x28, 0xe6, 0x57, 0x0e, 0x64, 0x06, 0x6d, 0xbd,
+  0x4c, 0xa6, 0x6d, 0xd8, 0x83, 0x83, 0x91, 0x7c, 0x7a, 0x95, 0x60, 0xde,
+  0x7c, 0xdc, 0xf6, 0xc4, 0xf1, 0x81, 0x55, 0x20, 0x67, 0x94, 0x7b, 0x0a,
+  0x7c, 0xd4, 0xad, 0x0f, 0xe0, 0xc3, 0x5f, 0x2c, 0x08, 0xf6, 0x7e, 0x81,
+  0x7b, 0x42, 0xbb, 0xb2, 0x70, 0x5b, 0xb7, 0xc6, 0x06, 0xa7, 0x56, 0xa5,
+  0x49, 0x2e, 0xce, 0xcc, 0x8d, 0x47, 0x61, 0x81, 0xd9, 0x82, 0xe4, 0xf3,
+  0x0b, 0x5c, 0x47, 0xab, 0xe4, 0x35, 0x3d, 0x65, 0x10, 0x3f, 0x8e, 0x41,
+  0x19, 0x9f, 0x96, 0x88, 0x7f, 0xf2, 0xfe, 0x47, 0xf7, 0x1c, 0xd7, 0x4e,
+  0x98, 0x6a, 0xce, 0x5a, 0x8e, 0x2f, 0xf4, 0x9d, 0xbc, 0xa6, 0x70, 0xde,
+  0x5b, 0x75, 0xa1, 0x55, 0xd4, 0xcb, 0x6b, 0xf5, 0xd6, 0x0e, 0x33, 0xb4,
+  0x35, 0xfd, 0x70, 0x9e, 0xf9, 0xd4, 0x0a, 0x6f, 0x7f, 0x93, 0x19, 0x55,
+  0xf7, 0x77, 0x99, 0x11, 0xf0, 0x29, 0x9c, 0xc0, 0xdd, 0x94, 0xe1, 0xbc,
+  0xc2, 0x4e, 0x12, 0xf0, 0xbf, 0x99, 0x6d, 0xf9, 0x96, 0xa6, 0xe7, 0xea,
+  0xae, 0x31, 0xde, 0xc6, 0x83, 0x06, 0x75, 0xae, 0xee, 0x37, 0x30, 0x4c,
+  0xfd, 0x8a, 0xda, 0x60, 0x5b, 0x86, 0xdd, 0x06, 0xd3, 0x60, 0x0d, 0xeb,
+  0xd4, 0xbd, 0x2d, 0x2c, 0x57, 0x26, 0x0e, 0x04, 0xd4, 0x9e, 0xaa, 0x25,
+  0xdc, 0x6a, 0xe4, 0x39, 0x09, 0x03, 0x88, 0x74, 0xa7, 0x5a, 0x92, 0x4a,
+  0x32, 0xb9, 0x9a, 0x27, 0x67, 0xd8, 0xf3, 0x5b, 0x44, 0x1f, 0xf7, 0xca,
+  0x99, 0xc2, 0x5b, 0x8d, 0xdd, 0x21, 0x0e, 0xe9, 0xc7, 0x62, 0x85, 0x10,
+  0x9d, 0x23, 0xb5, 0xc9, 0x34, 0xbd, 0x4a, 0x4e, 0xd3, 0xfc, 0x77, 0xc9,
+  0xf4, 0x33, 0xbc, 0x65, 0x38, 0x68, 0xbf, 0x3b, 0x15, 0x6f, 0xd6, 0x05,
+  0x77, 0x60, 0x75, 0xfb, 0x59, 0x7b, 0xe8, 0x58, 0x08, 0x4e, 0x5d, 0xdd,
+  0x70, 0xfa, 0xd0, 0xab, 0x31, 0xb7, 0x59, 0xd4, 0xbe, 0xce, 0x70, 0x18,
+  0x14, 0xf9, 0xfb, 0x4d, 0xf9, 0xcd, 0xab, 0x48, 0xd2, 0x4e, 0x49, 0x3f,
+  0x95, 0x79, 0x62, 0xa4, 0xc4, 0x67, 0x7c, 0x7f, 0xbe, 0x78, 0x42, 0xb2,
+  0x17, 0xd5, 0xdd, 0x26, 0x61, 0x46, 0xc7, 0xc1, 0x6a, 0xb5, 0x38, 0xa3,
+  0x03, 0x2f, 0xc0, 0xa4, 0xf1, 0xc2, 0x37, 0x4e, 0xf3, 0x14, 0x0a, 0xd2,
+  0x64, 0xed, 0xc7, 0xa2, 0x24, 0xab, 0x3b, 0xdc, 0x62, 0x46, 0x90, 0xd3,
+  0x57, 0xfe, 0xe1, 0x58, 0x94, 0xb0, 0x7f, 0xc3, 0xe1, 0x81, 0x7f, 0x66,
+  0x6e, 0x07, 0x21, 0xa4, 0x14, 0xf5, 0x7b, 0x10, 0xe2, 0x2b, 0x4a, 0xf5,
+  0x31, 0x35, 0x1c, 0x47, 0xfe, 0xa1, 0x23, 0xa5, 0x5c, 0xea, 0x41, 0xd3,
+  0xa6, 0xcf, 0x21, 0x3f, 0x82, 0x05, 0x37, 0x03, 0x6b, 0x8b, 0x76, 0x19,
+  0x46, 0xe8, 0xe9, 0x08, 0x8d, 0x36, 0x08, 0x7e, 0x30, 0xef, 0xd5, 0xc8,
+  0x22, 0xd3, 0x62, 0xd4, 0xd7, 0xe0, 0x8a, 0xf2, 0x2e, 0xa0, 0x2a, 0x7a,
+  0xe7, 0x97, 0xf5, 0x7e, 0xed, 0x1f, 0xc9, 0xdb, 0x47, 0x8e, 0xae, 0x66,
+  0x2f, 0xa0, 0x3f, 0xe7, 0xf6, 0x82, 0xa7, 0x0b, 0x1e, 0x0e, 0x7e, 0xbf,
+  0x08, 0x11, 0xf0, 0x07, 0x9e, 0xaf, 0x11, 0xe8, 0x97, 0xd3, 0x7e, 0x2c,
+  0xb5, 0xa8, 0x62, 0x2b, 0x19, 0xf2, 0x70, 0xa1, 0x21, 0xd0, 0xce, 0x4d,
+  0x84, 0x58, 0x57, 0x77, 0xef, 0xc6, 0xc2, 0x2e, 0x12, 0xc0, 0xd4, 0xf0,
+  0xec, 0x45, 0x87, 0xe0, 0xb1, 0x0b, 0x5f, 0x1b, 0x81, 0xb0, 0xb4, 0xb7,
+  0x23, 0x65, 0x67, 0x5a, 0x4c, 0xc8, 0xaf, 0x5f, 0x71, 0xb4, 0x7c, 0x23,
+  0x26, 0x89, 0x08, 0x32, 0xc5, 0x4a, 0xb0, 0x11, 0xba, 0x19, 0x7d, 0x2c,
+  0x0e, 0x6d, 0x55, 0xf9, 0x22, 0xa7, 0x5e, 0x8c, 0x30, 0xed, 0x98, 0xcb,
+  0xb5, 0x25, 0x5f, 0xbb, 0xdd, 0x44, 0x3c, 0x9c, 0x92, 0x2d, 0xd9, 0x97,
+  0x8b, 0x2e, 0xc1, 0xf0, 0xed, 0xb9, 0x37, 0x78, 0xf7, 0xf9, 0x7d, 0x6a,
+  0x63, 0xff, 0xdc, 0x1b, 0x3b, 0x7f, 0x26, 0x77, 0x02, 0x60, 0x50, 0x49,
+  0x2f, 0xf7, 0x5f, 0x40, 0x7d, 0x4c, 0xd2, 0x63, 0x72, 0xb5, 0xb9, 0x79,
+  0xa0, 0x88, 0x79, 0x89, 0xfa, 0xb6, 0x86, 0x4f, 0xd5, 0x3d, 0x44, 0xfa,
+  0xec, 0x5f, 0x29, 0x7c, 0x38, 0x47, 0x0f, 0x0c, 0x4a, 0x1d, 0x2e, 0x93,
+  0xf7, 0xc5, 0xfa, 0x7c, 0x73, 0xf3, 0xc6, 0x47, 0xc5, 0xe7, 0x6e, 0xcc,
+  0xcd, 0x0d, 0x25, 0xc2, 0xef, 0xd3, 0xc0, 0xf8, 0xc1, 0x23, 0xae, 0x3a,
+  0x9d, 0x93, 0xcf, 0xd3, 0xf3, 0xcb, 0x49, 0x9a, 0xec, 0x13, 0x1c, 0xe8,
+  0x74, 0x72, 0xf1, 0xee, 0xf3, 0xd4, 0xfd, 0xa9, 0x73, 0x9c, 0x65, 0x65,
+  0xe1, 0xd4, 0x8f, 0x74, 0x9d, 0x97, 0x8e, 0x5b, 0xcd, 0x75, 0xf3, 0xd1,
+  0x14, 0xd7, 0x51, 0xf9, 0xb2, 0x52, 0xc4, 0x77, 0xca, 0x0e, 0x5a, 0x0a,
+  0xc7, 0x91, 0x2e, 0x15, 0x25, 0x4a, 0xf7, 0x96, 0xc1, 0x5d, 0x51, 0x34,
+  0x70, 0x4c, 0xb5, 0xfa, 0x24, 0x99, 0x9e, 0x9f, 0x7c, 0xfa, 0x2d, 0xd5,
+  0xbc, 0x8d, 0xeb, 0xeb, 0xeb, 0x66, 0x64, 0x9f, 0x4d, 0x87, 0x55, 0xde,
+  0xe9, 0xa4, 0xe3, 0x71, 0x72, 0xf2, 0x21, 0xbd, 0xd4, 0x1b, 0xee, 0xd6,
+  0x8f, 0xaf, 0x0f, 0x7f, 0x71, 0x1a, 0xf6, 0x3c, 0x5f, 0xbb, 0x5f, 0x3a,
+  0x9d, 0x7f, 0x03, 0x79, 0x3a, 0x77, 0xa4, 0x90, 0xdd, 0x03, 0x00,
+};
+#define BUF_SIZE 0x10000
+static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
+{
+  (void) opaque;
+  /* not a typo, keep it calloc() */
+  return (voidpf) calloc(items, size);
+}
+static void zfree_func(voidpf opaque, voidpf ptr)
+{
+  (void) opaque;
+  free(ptr);
+}
+/* Decompress and send to stdout a gzip-compressed buffer */
+void hugehelp(void)
+{
+  unsigned char* buf;
+  int status,headerlen;
+  z_stream z;
+
+  /* Make sure no gzip options are set */
+  if (hugehelpgz[3] & 0xfe)
+    return;
+
+  headerlen = 10;
+  memset(&z, 0, sizeof(z_stream));
+  z.zalloc = (alloc_func)zalloc_func;
+  z.zfree = (free_func)zfree_func;
+  z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen);
+  z.next_in = (unsigned char *)hugehelpgz + headerlen;
+
+  if (inflateInit2(&z, -MAX_WBITS) != Z_OK)
+    return;
+
+  buf = malloc(BUF_SIZE);
+  if (buf) {
+    while(1) {
+      z.avail_out = BUF_SIZE;
+      z.next_out = buf;
+      status = inflate(&z, Z_SYNC_FLUSH);
+      if (status == Z_OK || status == Z_STREAM_END) {
+        fwrite(buf, BUF_SIZE - z.avail_out, 1, stdout);
+        if (status == Z_STREAM_END)
+          break;
+      }
+      else
+        break;    /* Error */
+    }
+    free(buf);
+  }
+  inflateEnd(&z);
+}
+#endif /* USE_MANUAL */
+#endif /* HAVE_LIBZ */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.h b/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.h
new file mode 100755
index 0000000..d5880ac
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_hugehelp.h
@@ -0,0 +1,35 @@
+#ifndef HEADER_CURL_TOOL_HUGEHELP_H
+#define HEADER_CURL_TOOL_HUGEHELP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef USE_MANUAL
+void hugehelp(void);
+#else
+/* do nothing if not there */
+#define hugehelp()
+#endif
+
+#endif /* HEADER_CURL_TOOL_HUGEHELP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.c b/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.c
new file mode 100755
index 0000000..801fd57
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.c
@@ -0,0 +1,124 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_libinfo.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* global variable definitions, for libcurl run-time info */
+
+static const char *no_protos = NULL;
+
+curl_version_info_data *curlinfo = NULL;
+const char * const *built_in_protos = &no_protos;
+
+size_t proto_count = 0;
+
+const char *proto_file = NULL;
+const char *proto_ftp = NULL;
+const char *proto_ftps = NULL;
+const char *proto_http = NULL;
+const char *proto_https = NULL;
+const char *proto_rtsp = NULL;
+const char *proto_scp = NULL;
+const char *proto_sftp = NULL;
+const char *proto_tftp = NULL;
+
+static struct proto_name_tokenp {
+  const char   *proto_name;
+  const char  **proto_tokenp;
+} const possibly_built_in[] = {
+  { "file",     &proto_file  },
+  { "ftp",      &proto_ftp   },
+  { "ftps",     &proto_ftps  },
+  { "http",     &proto_http  },
+  { "https",    &proto_https },
+  { "rtsp",     &proto_rtsp  },
+  { "scp",      &proto_scp   },
+  { "sftp",     &proto_sftp  },
+  { "tftp",     &proto_tftp  },
+  {  NULL,      NULL         }
+};
+
+/*
+ * libcurl_info_init: retrieves run-time information about libcurl,
+ * setting a global pointer 'curlinfo' to libcurl's run-time info
+ * struct, count protocols and flag those we are interested in.
+ */
+
+CURLcode get_libcurl_info(void)
+{
+  CURLcode result = CURLE_OK;
+
+  /* Pointer to libcurl's run-time version information */
+  curlinfo = curl_version_info(CURLVERSION_NOW);
+  if(!curlinfo)
+    return CURLE_FAILED_INIT;
+
+  if(curlinfo->protocols) {
+    const char *const *builtin;
+    const struct proto_name_tokenp *p;
+
+    built_in_protos = curlinfo->protocols;
+
+    for(builtin = built_in_protos; !result && *builtin; builtin++) {
+      /* Identify protocols we are interested in. */
+      for(p = possibly_built_in; p->proto_name; p++)
+        if(curl_strequal(p->proto_name, *builtin)) {
+          *p->proto_tokenp = *builtin;
+          break;
+        }
+    }
+    proto_count = builtin - built_in_protos;
+  }
+
+  return CURLE_OK;
+}
+
+/* Tokenize a protocol name.
+ * Return the address of the protocol name listed by the library, or NULL if
+ * not found.
+ * Although this may seem useless, this always returns the same address for
+ * a given protocol and thus allows comparing pointers rather than strings.
+ * In addition, the returned pointer is not deallocated until the program ends.
+ */
+
+const char *proto_token(const char *proto)
+{
+  const char * const *builtin;
+
+  if(!proto)
+    return NULL;
+  for(builtin = built_in_protos; *builtin; builtin++)
+    if(curl_strequal(*builtin, proto))
+      break;
+  return *builtin;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.h b/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.h
new file mode 100755
index 0000000..40e5aff
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_libinfo.h
@@ -0,0 +1,48 @@
+#ifndef HEADER_CURL_TOOL_LIBINFO_H
+#define HEADER_CURL_TOOL_LIBINFO_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/* global variable declarations, for libcurl run-time info */
+
+
+extern curl_version_info_data *curlinfo;
+extern const char * const *built_in_protos;
+extern size_t proto_count;
+
+extern const char *proto_file;
+extern const char *proto_ftp;
+extern const char *proto_ftps;
+extern const char *proto_http;
+extern const char *proto_https;
+extern const char *proto_rtsp;
+extern const char *proto_scp;
+extern const char *proto_sftp;
+extern const char *proto_tftp;
+
+CURLcode get_libcurl_info(void);
+const char *proto_token(const char *proto);
+
+#endif /* HEADER_CURL_TOOL_LIBINFO_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_listhelp.c b/ap/lib/libcurl/curl-7.86.0/src/tool_listhelp.c
new file mode 100755
index 0000000..6a2d10f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_listhelp.c
@@ -0,0 +1,781 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel.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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_help.h"
+
+/*
+ * DO NOT edit tool_listhelp.c manually.
+ * This source file is generated with the following command:
+
+  cd $srcroot/docs/cmdline-opts
+  ./gen.pl listhelp *.d > $srcroot/src/tool_listhelp.c
+ */
+
+const struct helptxt helptext[] = {
+  {"    --abstract-unix-socket <path>",
+   "Connect via abstract Unix domain socket",
+   CURLHELP_CONNECTION},
+  {"    --alt-svc <file name>",
+   "Enable alt-svc with this cache file",
+   CURLHELP_HTTP},
+  {"    --anyauth",
+   "Pick any authentication method",
+   CURLHELP_HTTP | CURLHELP_PROXY | CURLHELP_AUTH},
+  {"-a, --append",
+   "Append to target file when uploading",
+   CURLHELP_FTP | CURLHELP_SFTP},
+  {"    --aws-sigv4 <provider1[:provider2[:region[:service]]]>",
+   "Use AWS V4 signature authentication",
+   CURLHELP_AUTH | CURLHELP_HTTP},
+  {"    --basic",
+   "Use HTTP Basic Authentication",
+   CURLHELP_AUTH},
+  {"    --cacert <file>",
+   "CA certificate to verify peer against",
+   CURLHELP_TLS},
+  {"    --capath <dir>",
+   "CA directory to verify peer against",
+   CURLHELP_TLS},
+  {"-E, --cert <certificate[:password]>",
+   "Client certificate file and password",
+   CURLHELP_TLS},
+  {"    --cert-status",
+   "Verify the status of the server cert via OCSP-staple",
+   CURLHELP_TLS},
+  {"    --cert-type <type>",
+   "Certificate type (DER/PEM/ENG/P12)",
+   CURLHELP_TLS},
+  {"    --ciphers <list of ciphers>",
+   "SSL ciphers to use",
+   CURLHELP_TLS},
+  {"    --compressed",
+   "Request compressed response",
+   CURLHELP_HTTP},
+  {"    --compressed-ssh",
+   "Enable SSH compression",
+   CURLHELP_SCP | CURLHELP_SSH},
+  {"-K, --config <file>",
+   "Read config from a file",
+   CURLHELP_CURL},
+  {"    --connect-timeout <fractional seconds>",
+   "Maximum time allowed for connection",
+   CURLHELP_CONNECTION},
+  {"    --connect-to <HOST1:PORT1:HOST2:PORT2>",
+   "Connect to host",
+   CURLHELP_CONNECTION},
+  {"-C, --continue-at <offset>",
+   "Resumed transfer offset",
+   CURLHELP_CONNECTION},
+  {"-b, --cookie <data|filename>",
+   "Send cookies from string/file",
+   CURLHELP_HTTP},
+  {"-c, --cookie-jar <filename>",
+   "Write cookies to <filename> after operation",
+   CURLHELP_HTTP},
+  {"    --create-dirs",
+   "Create necessary local directory hierarchy",
+   CURLHELP_CURL},
+  {"    --create-file-mode <mode>",
+   "File mode for created files",
+   CURLHELP_SFTP | CURLHELP_SCP | CURLHELP_FILE | CURLHELP_UPLOAD},
+  {"    --crlf",
+   "Convert LF to CRLF in upload",
+   CURLHELP_FTP | CURLHELP_SMTP},
+  {"    --crlfile <file>",
+   "Use this CRL list",
+   CURLHELP_TLS},
+  {"    --curves <algorithm list>",
+   "(EC) TLS key exchange algorithm(s) to request",
+   CURLHELP_TLS},
+  {"-d, --data <data>",
+   "HTTP POST data",
+   CURLHELP_IMPORTANT | CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"    --data-ascii <data>",
+   "HTTP POST ASCII data",
+   CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"    --data-binary <data>",
+   "HTTP POST binary data",
+   CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"    --data-raw <data>",
+   "HTTP POST data, '@' allowed",
+   CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"    --data-urlencode <data>",
+   "HTTP POST data URL encoded",
+   CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"    --delegation <LEVEL>",
+   "GSS-API delegation permission",
+   CURLHELP_AUTH},
+  {"    --digest",
+   "Use HTTP Digest Authentication",
+   CURLHELP_PROXY | CURLHELP_AUTH | CURLHELP_HTTP},
+  {"-q, --disable",
+   "Disable .curlrc",
+   CURLHELP_CURL},
+  {"    --disable-eprt",
+   "Inhibit using EPRT or LPRT",
+   CURLHELP_FTP},
+  {"    --disable-epsv",
+   "Inhibit using EPSV",
+   CURLHELP_FTP},
+  {"    --disallow-username-in-url",
+   "Disallow username in URL",
+   CURLHELP_CURL | CURLHELP_HTTP},
+  {"    --dns-interface <interface>",
+   "Interface to use for DNS requests",
+   CURLHELP_DNS},
+  {"    --dns-ipv4-addr <address>",
+   "IPv4 address to use for DNS requests",
+   CURLHELP_DNS},
+  {"    --dns-ipv6-addr <address>",
+   "IPv6 address to use for DNS requests",
+   CURLHELP_DNS},
+  {"    --dns-servers <addresses>",
+   "DNS server addrs to use",
+   CURLHELP_DNS},
+  {"    --doh-cert-status",
+   "Verify the status of the DoH server cert via OCSP-staple",
+   CURLHELP_DNS | CURLHELP_TLS},
+  {"    --doh-insecure",
+   "Allow insecure DoH server connections",
+   CURLHELP_DNS | CURLHELP_TLS},
+  {"    --doh-url <URL>",
+   "Resolve host names over DoH",
+   CURLHELP_DNS},
+  {"-D, --dump-header <filename>",
+   "Write the received headers to <filename>",
+   CURLHELP_HTTP | CURLHELP_FTP},
+  {"    --egd-file <file>",
+   "EGD socket path for random data",
+   CURLHELP_TLS},
+  {"    --engine <name>",
+   "Crypto engine to use",
+   CURLHELP_TLS},
+  {"    --etag-compare <file>",
+   "Pass an ETag from a file as a custom header",
+   CURLHELP_HTTP},
+  {"    --etag-save <file>",
+   "Parse ETag from a request and save it to a file",
+   CURLHELP_HTTP},
+  {"    --expect100-timeout <seconds>",
+   "How long to wait for 100-continue",
+   CURLHELP_HTTP},
+  {"-f, --fail",
+   "Fail fast with no output on HTTP errors",
+   CURLHELP_IMPORTANT | CURLHELP_HTTP},
+  {"    --fail-early",
+   "Fail on first transfer error, do not continue",
+   CURLHELP_CURL},
+  {"    --fail-with-body",
+   "Fail on HTTP errors but save the body",
+   CURLHELP_HTTP | CURLHELP_OUTPUT},
+  {"    --false-start",
+   "Enable TLS False Start",
+   CURLHELP_TLS},
+  {"-F, --form <name=content>",
+   "Specify multipart MIME data",
+   CURLHELP_HTTP | CURLHELP_UPLOAD},
+  {"    --form-escape",
+   "Escape multipart form field/file names using backslash",
+   CURLHELP_HTTP | CURLHELP_UPLOAD},
+  {"    --form-string <name=string>",
+   "Specify multipart MIME data",
+   CURLHELP_HTTP | CURLHELP_UPLOAD},
+  {"    --ftp-account <data>",
+   "Account data string",
+   CURLHELP_FTP | CURLHELP_AUTH},
+  {"    --ftp-alternative-to-user <command>",
+   "String to replace USER [name]",
+   CURLHELP_FTP},
+  {"    --ftp-create-dirs",
+   "Create the remote dirs if not present",
+   CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_CURL},
+  {"    --ftp-method <method>",
+   "Control CWD usage",
+   CURLHELP_FTP},
+  {"    --ftp-pasv",
+   "Use PASV/EPSV instead of PORT",
+   CURLHELP_FTP},
+  {"-P, --ftp-port <address>",
+   "Use PORT instead of PASV",
+   CURLHELP_FTP},
+  {"    --ftp-pret",
+   "Send PRET before PASV",
+   CURLHELP_FTP},
+  {"    --ftp-skip-pasv-ip",
+   "Skip the IP address for PASV",
+   CURLHELP_FTP},
+  {"    --ftp-ssl-ccc",
+   "Send CCC after authenticating",
+   CURLHELP_FTP | CURLHELP_TLS},
+  {"    --ftp-ssl-ccc-mode <active/passive>",
+   "Set CCC mode",
+   CURLHELP_FTP | CURLHELP_TLS},
+  {"    --ftp-ssl-control",
+   "Require SSL/TLS for FTP login, clear for transfer",
+   CURLHELP_FTP | CURLHELP_TLS},
+  {"-G, --get",
+   "Put the post data in the URL and use GET",
+   CURLHELP_HTTP | CURLHELP_UPLOAD},
+  {"-g, --globoff",
+   "Disable URL sequences and ranges using {} and []",
+   CURLHELP_CURL},
+  {"    --happy-eyeballs-timeout-ms <milliseconds>",
+   "Time for IPv6 before trying IPv4",
+   CURLHELP_CONNECTION},
+  {"    --haproxy-protocol",
+   "Send HAProxy PROXY protocol v1 header",
+   CURLHELP_HTTP | CURLHELP_PROXY},
+  {"-I, --head",
+   "Show document info only",
+   CURLHELP_HTTP | CURLHELP_FTP | CURLHELP_FILE},
+  {"-H, --header <header/@file>",
+   "Pass custom header(s) to server",
+   CURLHELP_HTTP | CURLHELP_IMAP | CURLHELP_SMTP},
+  {"-h, --help <category>",
+   "Get help for commands",
+   CURLHELP_IMPORTANT | CURLHELP_CURL},
+  {"    --hostpubmd5 <md5>",
+   "Acceptable MD5 hash of the host public key",
+   CURLHELP_SFTP | CURLHELP_SCP},
+  {"    --hostpubsha256 <sha256>",
+   "Acceptable SHA256 hash of the host public key",
+   CURLHELP_SFTP | CURLHELP_SCP},
+  {"    --hsts <file name>",
+   "Enable HSTS with this cache file",
+   CURLHELP_HTTP},
+  {"    --http0.9",
+   "Allow HTTP 0.9 responses",
+   CURLHELP_HTTP},
+  {"-0, --http1.0",
+   "Use HTTP 1.0",
+   CURLHELP_HTTP},
+  {"    --http1.1",
+   "Use HTTP 1.1",
+   CURLHELP_HTTP},
+  {"    --http2",
+   "Use HTTP 2",
+   CURLHELP_HTTP},
+  {"    --http2-prior-knowledge",
+   "Use HTTP 2 without HTTP/1.1 Upgrade",
+   CURLHELP_HTTP},
+  {"    --http3",
+   "Use HTTP v3",
+   CURLHELP_HTTP},
+  {"    --ignore-content-length",
+   "Ignore the size of the remote resource",
+   CURLHELP_HTTP | CURLHELP_FTP},
+  {"-i, --include",
+   "Include protocol response headers in the output",
+   CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
+  {"-k, --insecure",
+   "Allow insecure server connections",
+   CURLHELP_TLS | CURLHELP_SFTP | CURLHELP_SCP},
+  {"    --interface <name>",
+   "Use network INTERFACE (or address)",
+   CURLHELP_CONNECTION},
+  {"-4, --ipv4",
+   "Resolve names to IPv4 addresses",
+   CURLHELP_CONNECTION | CURLHELP_DNS},
+  {"-6, --ipv6",
+   "Resolve names to IPv6 addresses",
+   CURLHELP_CONNECTION | CURLHELP_DNS},
+  {"    --json <data>",
+   "HTTP POST JSON",
+   CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
+  {"-j, --junk-session-cookies",
+   "Ignore session cookies read from file",
+   CURLHELP_HTTP},
+  {"    --keepalive-time <seconds>",
+   "Interval time for keepalive probes",
+   CURLHELP_CONNECTION},
+  {"    --key <key>",
+   "Private key file name",
+   CURLHELP_TLS | CURLHELP_SSH},
+  {"    --key-type <type>",
+   "Private key file type (DER/PEM/ENG)",
+   CURLHELP_TLS},
+  {"    --krb <level>",
+   "Enable Kerberos with security <level>",
+   CURLHELP_FTP},
+  {"    --libcurl <file>",
+   "Dump libcurl equivalent code of this command line",
+   CURLHELP_CURL},
+  {"    --limit-rate <speed>",
+   "Limit transfer speed to RATE",
+   CURLHELP_CONNECTION},
+  {"-l, --list-only",
+   "List only mode",
+   CURLHELP_FTP | CURLHELP_POP3},
+  {"    --local-port <num/range>",
+   "Force use of RANGE for local port numbers",
+   CURLHELP_CONNECTION},
+  {"-L, --location",
+   "Follow redirects",
+   CURLHELP_HTTP},
+  {"    --location-trusted",
+   "Like --location, and send auth to other hosts",
+   CURLHELP_HTTP | CURLHELP_AUTH},
+  {"    --login-options <options>",
+   "Server login options",
+   CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP | CURLHELP_AUTH},
+  {"    --mail-auth <address>",
+   "Originator address of the original email",
+   CURLHELP_SMTP},
+  {"    --mail-from <address>",
+   "Mail from this address",
+   CURLHELP_SMTP},
+  {"    --mail-rcpt <address>",
+   "Mail to this address",
+   CURLHELP_SMTP},
+  {"    --mail-rcpt-allowfails",
+   "Allow RCPT TO command to fail for some recipients",
+   CURLHELP_SMTP},
+  {"-M, --manual",
+   "Display the full manual",
+   CURLHELP_CURL},
+  {"    --max-filesize <bytes>",
+   "Maximum file size to download",
+   CURLHELP_CONNECTION},
+  {"    --max-redirs <num>",
+   "Maximum number of redirects allowed",
+   CURLHELP_HTTP},
+  {"-m, --max-time <fractional seconds>",
+   "Maximum time allowed for transfer",
+   CURLHELP_CONNECTION},
+  {"    --metalink",
+   "Process given URLs as metalink XML file",
+   CURLHELP_MISC},
+  {"    --negotiate",
+   "Use HTTP Negotiate (SPNEGO) authentication",
+   CURLHELP_AUTH | CURLHELP_HTTP},
+  {"-n, --netrc",
+   "Must read .netrc for user name and password",
+   CURLHELP_CURL},
+  {"    --netrc-file <filename>",
+   "Specify FILE for netrc",
+   CURLHELP_CURL},
+  {"    --netrc-optional",
+   "Use either .netrc or URL",
+   CURLHELP_CURL},
+  {"-:, --next",
+   "Make next URL use its separate set of options",
+   CURLHELP_CURL},
+  {"    --no-alpn",
+   "Disable the ALPN TLS extension",
+   CURLHELP_TLS | CURLHELP_HTTP},
+  {"-N, --no-buffer",
+   "Disable buffering of the output stream",
+   CURLHELP_CURL},
+  {"    --no-clobber",
+   "Do not overwrite files that already exist",
+   CURLHELP_CURL | CURLHELP_OUTPUT},
+  {"    --no-keepalive",
+   "Disable TCP keepalive on the connection",
+   CURLHELP_CONNECTION},
+  {"    --no-npn",
+   "Disable the NPN TLS extension",
+   CURLHELP_TLS | CURLHELP_HTTP},
+  {"    --no-progress-meter",
+   "Do not show the progress meter",
+   CURLHELP_VERBOSE},
+  {"    --no-sessionid",
+   "Disable SSL session-ID reusing",
+   CURLHELP_TLS},
+  {"    --noproxy <no-proxy-list>",
+   "List of hosts which do not use proxy",
+   CURLHELP_PROXY},
+  {"    --ntlm",
+   "Use HTTP NTLM authentication",
+   CURLHELP_AUTH | CURLHELP_HTTP},
+  {"    --ntlm-wb",
+   "Use HTTP NTLM authentication with winbind",
+   CURLHELP_AUTH | CURLHELP_HTTP},
+  {"    --oauth2-bearer <token>",
+   "OAuth 2 Bearer Token",
+   CURLHELP_AUTH},
+  {"-o, --output <file>",
+   "Write to file instead of stdout",
+   CURLHELP_IMPORTANT | CURLHELP_CURL},
+  {"    --output-dir <dir>",
+   "Directory to save files in",
+   CURLHELP_CURL},
+  {"-Z, --parallel",
+   "Perform transfers in parallel",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"    --parallel-immediate",
+   "Do not wait for multiplexing (with --parallel)",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"    --parallel-max <num>",
+   "Maximum concurrency for parallel transfers",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"    --pass <phrase>",
+   "Pass phrase for the private key",
+   CURLHELP_SSH | CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --path-as-is",
+   "Do not squash .. sequences in URL path",
+   CURLHELP_CURL},
+  {"    --pinnedpubkey <hashes>",
+   "FILE/HASHES Public key to verify peer against",
+   CURLHELP_TLS},
+  {"    --post301",
+   "Do not switch to GET after following a 301",
+   CURLHELP_HTTP | CURLHELP_POST},
+  {"    --post302",
+   "Do not switch to GET after following a 302",
+   CURLHELP_HTTP | CURLHELP_POST},
+  {"    --post303",
+   "Do not switch to GET after following a 303",
+   CURLHELP_HTTP | CURLHELP_POST},
+  {"    --preproxy [protocol://]host[:port]",
+   "Use this proxy first",
+   CURLHELP_PROXY},
+  {"-#, --progress-bar",
+   "Display transfer progress as a bar",
+   CURLHELP_VERBOSE},
+  {"    --proto <protocols>",
+   "Enable/disable PROTOCOLS",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"    --proto-default <protocol>",
+   "Use PROTOCOL for any URL missing a scheme",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"    --proto-redir <protocols>",
+   "Enable/disable PROTOCOLS on redirect",
+   CURLHELP_CONNECTION | CURLHELP_CURL},
+  {"-x, --proxy [protocol://]host[:port]",
+   "Use this proxy",
+   CURLHELP_PROXY},
+  {"    --proxy-anyauth",
+   "Pick any proxy authentication method",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --proxy-basic",
+   "Use Basic authentication on the proxy",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --proxy-cacert <file>",
+   "CA certificate to verify peer against for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-capath <dir>",
+   "CA directory to verify peer against for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-cert <cert[:passwd]>",
+   "Set client certificate for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-cert-type <type>",
+   "Client certificate type for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-ciphers <list>",
+   "SSL ciphers to use for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-crlfile <file>",
+   "Set a CRL list for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-digest",
+   "Use Digest authentication on the proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-header <header/@file>",
+   "Pass custom header(s) to proxy",
+   CURLHELP_PROXY},
+  {"    --proxy-insecure",
+   "Do HTTPS proxy connections without verifying the proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-key <key>",
+   "Private key for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-key-type <type>",
+   "Private key file type for proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-negotiate",
+   "Use HTTP Negotiate (SPNEGO) authentication on the proxy",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --proxy-ntlm",
+   "Use NTLM authentication on the proxy",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --proxy-pass <phrase>",
+   "Pass phrase for the private key for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --proxy-pinnedpubkey <hashes>",
+   "FILE/HASHES public key to verify proxy with",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-service-name <name>",
+   "SPNEGO proxy service name",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-ssl-allow-beast",
+   "Allow security flaw for interop for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-ssl-auto-client-cert",
+   "Use auto client certificate for proxy (Schannel)",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-tls13-ciphers <ciphersuite list>",
+   "TLS 1.3 proxy cipher suites",
+   CURLHELP_PROXY | CURLHELP_TLS},
+  {"    --proxy-tlsauthtype <type>",
+   "TLS authentication type for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --proxy-tlspassword <string>",
+   "TLS password for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --proxy-tlsuser <name>",
+   "TLS username for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --proxy-tlsv1",
+   "Use TLSv1 for HTTPS proxy",
+   CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
+  {"-U, --proxy-user <user:password>",
+   "Proxy user and password",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --proxy1.0 <host[:port]>",
+   "Use HTTP/1.0 proxy on given port",
+   CURLHELP_PROXY},
+  {"-p, --proxytunnel",
+   "Operate through an HTTP proxy tunnel (using CONNECT)",
+   CURLHELP_PROXY},
+  {"    --pubkey <key>",
+   "SSH Public key file name",
+   CURLHELP_SFTP | CURLHELP_SCP | CURLHELP_AUTH},
+  {"-Q, --quote <command>",
+   "Send command(s) to server before transfer",
+   CURLHELP_FTP | CURLHELP_SFTP},
+  {"    --random-file <file>",
+   "File for reading random data from",
+   CURLHELP_MISC},
+  {"-r, --range <range>",
+   "Retrieve only the bytes within RANGE",
+   CURLHELP_HTTP | CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_FILE},
+  {"    --rate <max request rate>",
+   "Request rate for serial transfers",
+   CURLHELP_CONNECTION},
+  {"    --raw",
+   "Do HTTP \"raw\"; no transfer decoding",
+   CURLHELP_HTTP},
+  {"-e, --referer <URL>",
+   "Referrer URL",
+   CURLHELP_HTTP},
+  {"-J, --remote-header-name",
+   "Use the header-provided filename",
+   CURLHELP_OUTPUT},
+  {"-O, --remote-name",
+   "Write output to a file named as the remote file",
+   CURLHELP_IMPORTANT | CURLHELP_OUTPUT},
+  {"    --remote-name-all",
+   "Use the remote file name for all URLs",
+   CURLHELP_OUTPUT},
+  {"-R, --remote-time",
+   "Set the remote file's time on the local output",
+   CURLHELP_OUTPUT},
+  {"    --remove-on-error",
+   "Remove output file on errors",
+   CURLHELP_CURL},
+  {"-X, --request <method>",
+   "Specify request method to use",
+   CURLHELP_CONNECTION},
+  {"    --request-target <path>",
+   "Specify the target for this request",
+   CURLHELP_HTTP},
+  {"    --resolve <[+]host:port:addr[,addr]...>",
+   "Resolve the host+port to this address",
+   CURLHELP_CONNECTION | CURLHELP_DNS},
+  {"    --retry <num>",
+   "Retry request if transient problems occur",
+   CURLHELP_CURL},
+  {"    --retry-all-errors",
+   "Retry all errors (use with --retry)",
+   CURLHELP_CURL},
+  {"    --retry-connrefused",
+   "Retry on connection refused (use with --retry)",
+   CURLHELP_CURL},
+  {"    --retry-delay <seconds>",
+   "Wait time between retries",
+   CURLHELP_CURL},
+  {"    --retry-max-time <seconds>",
+   "Retry only within this period",
+   CURLHELP_CURL},
+  {"    --sasl-authzid <identity>",
+   "Identity for SASL PLAIN authentication",
+   CURLHELP_AUTH},
+  {"    --sasl-ir",
+   "Enable initial response in SASL authentication",
+   CURLHELP_AUTH},
+  {"    --service-name <name>",
+   "SPNEGO service name",
+   CURLHELP_MISC},
+  {"-S, --show-error",
+   "Show error even when -s is used",
+   CURLHELP_CURL},
+  {"-s, --silent",
+   "Silent mode",
+   CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
+  {"    --socks4 <host[:port]>",
+   "SOCKS4 proxy on given host + port",
+   CURLHELP_PROXY},
+  {"    --socks4a <host[:port]>",
+   "SOCKS4a proxy on given host + port",
+   CURLHELP_PROXY},
+  {"    --socks5 <host[:port]>",
+   "SOCKS5 proxy on given host + port",
+   CURLHELP_PROXY},
+  {"    --socks5-basic",
+   "Enable username/password auth for SOCKS5 proxies",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --socks5-gssapi",
+   "Enable GSS-API auth for SOCKS5 proxies",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --socks5-gssapi-nec",
+   "Compatibility with NEC SOCKS5 server",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --socks5-gssapi-service <name>",
+   "SOCKS5 proxy service name for GSS-API",
+   CURLHELP_PROXY | CURLHELP_AUTH},
+  {"    --socks5-hostname <host[:port]>",
+   "SOCKS5 proxy, pass host name to proxy",
+   CURLHELP_PROXY},
+  {"-Y, --speed-limit <speed>",
+   "Stop transfers slower than this",
+   CURLHELP_CONNECTION},
+  {"-y, --speed-time <seconds>",
+   "Trigger 'speed-limit' abort after this time",
+   CURLHELP_CONNECTION},
+  {"    --ssl",
+   "Try SSL/TLS",
+   CURLHELP_TLS},
+  {"    --ssl-allow-beast",
+   "Allow security flaw to improve interop",
+   CURLHELP_TLS},
+  {"    --ssl-auto-client-cert",
+   "Use auto client certificate (Schannel)",
+   CURLHELP_TLS},
+  {"    --ssl-no-revoke",
+   "Disable cert revocation checks (Schannel)",
+   CURLHELP_TLS},
+  {"    --ssl-reqd",
+   "Require SSL/TLS",
+   CURLHELP_TLS},
+  {"    --ssl-revoke-best-effort",
+   "Ignore missing/offline cert CRL dist points",
+   CURLHELP_TLS},
+  {"-2, --sslv2",
+   "Use SSLv2",
+   CURLHELP_TLS},
+  {"-3, --sslv3",
+   "Use SSLv3",
+   CURLHELP_TLS},
+  {"    --stderr <file>",
+   "Where to redirect stderr",
+   CURLHELP_VERBOSE},
+  {"    --styled-output",
+   "Enable styled output for HTTP headers",
+   CURLHELP_VERBOSE},
+  {"    --suppress-connect-headers",
+   "Suppress proxy CONNECT response headers",
+   CURLHELP_PROXY},
+  {"    --tcp-fastopen",
+   "Use TCP Fast Open",
+   CURLHELP_CONNECTION},
+  {"    --tcp-nodelay",
+   "Use the TCP_NODELAY option",
+   CURLHELP_CONNECTION},
+  {"-t, --telnet-option <opt=val>",
+   "Set telnet option",
+   CURLHELP_TELNET},
+  {"    --tftp-blksize <value>",
+   "Set TFTP BLKSIZE option",
+   CURLHELP_TFTP},
+  {"    --tftp-no-options",
+   "Do not send any TFTP options",
+   CURLHELP_TFTP},
+  {"-z, --time-cond <time>",
+   "Transfer based on a time condition",
+   CURLHELP_HTTP | CURLHELP_FTP},
+  {"    --tls-max <VERSION>",
+   "Set maximum allowed TLS version",
+   CURLHELP_TLS},
+  {"    --tls13-ciphers <ciphersuite list>",
+   "TLS 1.3 cipher suites to use",
+   CURLHELP_TLS},
+  {"    --tlsauthtype <type>",
+   "TLS authentication type",
+   CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --tlspassword <string>",
+   "TLS password",
+   CURLHELP_TLS | CURLHELP_AUTH},
+  {"    --tlsuser <name>",
+   "TLS user name",
+   CURLHELP_TLS | CURLHELP_AUTH},
+  {"-1, --tlsv1",
+   "Use TLSv1.0 or greater",
+   CURLHELP_TLS},
+  {"    --tlsv1.0",
+   "Use TLSv1.0 or greater",
+   CURLHELP_TLS},
+  {"    --tlsv1.1",
+   "Use TLSv1.1 or greater",
+   CURLHELP_TLS},
+  {"    --tlsv1.2",
+   "Use TLSv1.2 or greater",
+   CURLHELP_TLS},
+  {"    --tlsv1.3",
+   "Use TLSv1.3 or greater",
+   CURLHELP_TLS},
+  {"    --tr-encoding",
+   "Request compressed transfer encoding",
+   CURLHELP_HTTP},
+  {"    --trace <file>",
+   "Write a debug trace to FILE",
+   CURLHELP_VERBOSE},
+  {"    --trace-ascii <file>",
+   "Like --trace, but without hex output",
+   CURLHELP_VERBOSE},
+  {"    --trace-time",
+   "Add time stamps to trace/verbose output",
+   CURLHELP_VERBOSE},
+  {"    --unix-socket <path>",
+   "Connect through this Unix domain socket",
+   CURLHELP_CONNECTION},
+  {"-T, --upload-file <file>",
+   "Transfer local FILE to destination",
+   CURLHELP_IMPORTANT | CURLHELP_UPLOAD},
+  {"    --url <url>",
+   "URL to work with",
+   CURLHELP_CURL},
+  {"-B, --use-ascii",
+   "Use ASCII/text transfer",
+   CURLHELP_MISC},
+  {"-u, --user <user:password>",
+   "Server user and password",
+   CURLHELP_IMPORTANT | CURLHELP_AUTH},
+  {"-A, --user-agent <name>",
+   "Send User-Agent <name> to server",
+   CURLHELP_IMPORTANT | CURLHELP_HTTP},
+  {"-v, --verbose",
+   "Make the operation more talkative",
+   CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
+  {"-V, --version",
+   "Show version number and quit",
+   CURLHELP_IMPORTANT | CURLHELP_CURL},
+  {"-w, --write-out <format>",
+   "Use output FORMAT after completion",
+   CURLHELP_VERBOSE},
+  {"    --xattr",
+   "Store metadata in extended file attributes",
+   CURLHELP_MISC},
+  { NULL, NULL, CURLHELP_HIDDEN }
+};
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_main.c b/ap/lib/libcurl/curl-7.86.0/src/tool_main.c
new file mode 100755
index 0000000..434979d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_main.c
@@ -0,0 +1,307 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include <sys/stat.h>
+
+#ifdef WIN32
+#include <tchar.h>
+#endif
+
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
+#ifdef USE_NSS
+#include <nspr.h>
+#include <plarenas.h>
+#endif
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_doswin.h"
+#include "tool_msgs.h"
+#include "tool_operate.h"
+#include "tool_panykey.h"
+#include "tool_vms.h"
+#include "tool_main.h"
+#include "tool_libinfo.h"
+
+/*
+ * This is low-level hard-hacking memory leak tracking and similar. Using
+ * the library level code from this client-side is ugly, but we do this
+ * anyway for convenience.
+ */
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef __VMS
+/*
+ * vms_show is a global variable, used in main() as parameter for
+ * function vms_special_exit() to allow proper curl tool exiting.
+ * Its value may be set in other tool_*.c source files thanks to
+ * forward declaration present in tool_vms.h
+ */
+int vms_show = 0;
+#endif
+
+#ifdef __MINGW32__
+/*
+ * There seems to be no way to escape "*" in command-line arguments with MinGW
+ * when command-line argument globbing is enabled under the MSYS shell, so turn
+ * it off.
+ */
+int _CRT_glob = 0;
+#endif /* __MINGW32__ */
+
+/* if we build a static library for unit tests, there is no main() function */
+#ifndef UNITTESTS
+
+#if defined(HAVE_PIPE) && defined(HAVE_FCNTL)
+/*
+ * Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
+ * open before starting to run.  Otherwise, the first three network
+ * sockets opened by curl could be used for input sources, downloaded data
+ * or error logs as they will effectively be stdin, stdout and/or stderr.
+ *
+ * fcntl's F_GETFD instruction returns -1 if the file descriptor is closed,
+ * otherwise it returns "the file descriptor flags (which typically can only
+ * be FD_CLOEXEC, which is not set here).
+ */
+static int main_checkfds(void)
+{
+  int fd[2];
+  while((fcntl(STDIN_FILENO, F_GETFD) == -1) ||
+        (fcntl(STDOUT_FILENO, F_GETFD) == -1) ||
+        (fcntl(STDERR_FILENO, F_GETFD) == -1))
+    if(pipe(fd))
+      return 1;
+  return 0;
+}
+#else
+#define main_checkfds() 0
+#endif
+
+#ifdef CURLDEBUG
+static void memory_tracking_init(void)
+{
+  char *env;
+  /* if CURL_MEMDEBUG is set, this starts memory tracking message logging */
+  env = curlx_getenv("CURL_MEMDEBUG");
+  if(env) {
+    /* use the value as file name */
+    char fname[CURL_MT_LOGFNAME_BUFSIZE];
+    if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE)
+      env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0';
+    strcpy(fname, env);
+    curl_free(env);
+    curl_dbg_memdebug(fname);
+    /* this weird stuff here is to make curl_free() get called before
+       curl_dbg_memdebug() as otherwise memory tracking will log a free()
+       without an alloc! */
+  }
+  /* if CURL_MEMLIMIT is set, this enables fail-on-alloc-number-N feature */
+  env = curlx_getenv("CURL_MEMLIMIT");
+  if(env) {
+    char *endptr;
+    long num = strtol(env, &endptr, 10);
+    if((endptr != env) && (endptr == env + strlen(env)) && (num > 0))
+      curl_dbg_memlimit(num);
+    curl_free(env);
+  }
+}
+#else
+#  define memory_tracking_init() Curl_nop_stmt
+#endif
+
+/*
+ * This is the main global constructor for the app. Call this before
+ * _any_ libcurl usage. If this fails, *NO* libcurl functions may be
+ * used, or havoc may be the result.
+ */
+static CURLcode main_init(struct GlobalConfig *config)
+{
+  CURLcode result = CURLE_OK;
+
+#if defined(__DJGPP__) || defined(__GO32__)
+  /* stop stat() wasting time */
+  _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE;
+#endif
+
+  /* Initialise the global config */
+  config->showerror = -1;             /* Will show errors */
+  config->errors = stderr;            /* Default errors to stderr */
+  config->styled_output = TRUE;       /* enable detection */
+  config->parallel_max = PARALLEL_DEFAULT;
+
+  /* Allocate the initial operate config */
+  config->first = config->last = malloc(sizeof(struct OperationConfig));
+  if(config->first) {
+    /* Perform the libcurl initialization */
+    result = curl_global_init(CURL_GLOBAL_DEFAULT);
+    if(!result) {
+      /* Get information about libcurl */
+      result = get_libcurl_info();
+
+      if(!result) {
+        /* Initialise the config */
+        config_init(config->first);
+        config->first->global = config;
+      }
+      else {
+        errorf(config, "error retrieving curl library information\n");
+        free(config->first);
+      }
+    }
+    else {
+      errorf(config, "error initializing curl library\n");
+      free(config->first);
+    }
+  }
+  else {
+    errorf(config, "error initializing curl\n");
+    result = CURLE_FAILED_INIT;
+  }
+
+  return result;
+}
+
+static void free_globalconfig(struct GlobalConfig *config)
+{
+  Curl_safefree(config->trace_dump);
+
+  if(config->errors_fopened && config->errors)
+    fclose(config->errors);
+  config->errors = NULL;
+
+  if(config->trace_fopened && config->trace_stream)
+    fclose(config->trace_stream);
+  config->trace_stream = NULL;
+
+  Curl_safefree(config->libcurl);
+}
+
+/*
+ * This is the main global destructor for the app. Call this after
+ * _all_ libcurl usage is done.
+ */
+static void main_free(struct GlobalConfig *config)
+{
+  /* Cleanup the easy handle */
+  /* Main cleanup */
+  curl_global_cleanup();
+#ifdef USE_NSS
+  if(PR_Initialized()) {
+    /* prevent valgrind from reporting still reachable mem from NSPR arenas */
+    PL_ArenaFinish();
+    /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */
+    PR_Cleanup();
+  }
+#endif
+  free_globalconfig(config);
+
+  /* Free the config structures */
+  config_free(config->last);
+  config->first = NULL;
+  config->last = NULL;
+}
+
+/*
+** curl tool main function.
+*/
+#ifdef _UNICODE
+int wmain(int argc, wchar_t *argv[])
+#else
+int main(int argc, char *argv[])
+#endif
+{
+  CURLcode result = CURLE_OK;
+  struct GlobalConfig global;
+  memset(&global, 0, sizeof(global));
+
+#ifdef WIN32
+  /* Undocumented diagnostic option to list the full paths of all loaded
+     modules. This is purposely pre-init. */
+  if(argc == 2 && !_tcscmp(argv[1], _T("--dump-module-paths"))) {
+    struct curl_slist *item, *head = GetLoadedModulePaths();
+    for(item = head; item; item = item->next)
+      printf("%s\n", item->data);
+    curl_slist_free_all(head);
+    return head ? 0 : 1;
+  }
+  /* win32_init must be called before other init routines. */
+  result = win32_init();
+  if(result) {
+    fprintf(stderr, "curl: (%d) Windows-specific init failed.\n", result);
+    return result;
+  }
+#endif
+
+  if(main_checkfds()) {
+    fprintf(stderr, "curl: out of file descriptors\n");
+    return CURLE_FAILED_INIT;
+  }
+
+#if defined(HAVE_SIGNAL) && defined(SIGPIPE)
+  (void)signal(SIGPIPE, SIG_IGN);
+#endif
+
+  /* Initialize memory tracking */
+  memory_tracking_init();
+
+  /* Initialize the curl library - do not call any libcurl functions before
+     this point */
+  result = main_init(&global);
+  if(!result) {
+    /* Start our curl operation */
+    result = operate(&global, argc, argv);
+
+    /* Perform the main cleanup */
+    main_free(&global);
+  }
+
+#ifdef WIN32
+  /* Flush buffers of all streams opened in write or update mode */
+  fflush(NULL);
+#endif
+
+#ifdef __NOVELL_LIBC__
+  if(!getenv("_IN_NETWARE_BASH_"))
+    tool_pressanykey();
+#endif
+
+#ifdef __VMS
+  vms_special_exit(result, vms_show);
+#else
+  return (int)result;
+#endif
+}
+
+#endif /* ndef UNITTESTS */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_main.h b/ap/lib/libcurl/curl-7.86.0/src/tool_main.h
new file mode 100755
index 0000000..a1fd107
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_main.h
@@ -0,0 +1,48 @@
+#ifndef HEADER_CURL_TOOL_MAIN_H
+#define HEADER_CURL_TOOL_MAIN_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define DEFAULT_MAXREDIRS  50L
+
+#define RETRY_SLEEP_DEFAULT 1000L   /* ms */
+#define RETRY_SLEEP_MAX     600000L /* ms == 10 minutes */
+
+#define MAX_PARALLEL 300 /* conservative */
+#define PARALLEL_DEFAULT 50
+
+#ifndef STDIN_FILENO
+#  define STDIN_FILENO  fileno(stdin)
+#endif
+
+#ifndef STDOUT_FILENO
+#  define STDOUT_FILENO  fileno(stdout)
+#endif
+
+#ifndef STDERR_FILENO
+#  define STDERR_FILENO  fileno(stderr)
+#endif
+
+#endif /* HEADER_CURL_TOOL_MAIN_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.c b/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.c
new file mode 100755
index 0000000..a880a66
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.c
@@ -0,0 +1,141 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_msgs.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#define WARN_PREFIX "Warning: "
+#define NOTE_PREFIX "Note: "
+#define ERROR_PREFIX "curl: "
+
+static void voutf(struct GlobalConfig *config,
+                  const char *prefix,
+                  const char *fmt,
+                  va_list ap)
+{
+  size_t width = (79 - strlen(prefix));
+  if(!config->mute) {
+    size_t len;
+    char *ptr;
+    char *print_buffer;
+
+    print_buffer = curlx_mvaprintf(fmt, ap);
+    if(!print_buffer)
+      return;
+    len = strlen(print_buffer);
+
+    ptr = print_buffer;
+    while(len > 0) {
+      fputs(prefix, config->errors);
+
+      if(len > width) {
+        size_t cut = width-1;
+
+        while(!ISBLANK(ptr[cut]) && cut) {
+          cut--;
+        }
+        if(0 == cut)
+          /* not a single cutting position was found, just cut it at the
+             max text width then! */
+          cut = width-1;
+
+        (void)fwrite(ptr, cut + 1, 1, config->errors);
+        fputs("\n", config->errors);
+        ptr += cut + 1; /* skip the space too */
+        len -= cut + 1;
+      }
+      else {
+        fputs(ptr, config->errors);
+        len = 0;
+      }
+    }
+    curl_free(print_buffer);
+  }
+}
+
+/*
+ * Emit 'note' formatted message on configured 'errors' stream, if verbose was
+ * selected.
+ */
+void notef(struct GlobalConfig *config, const char *fmt, ...)
+{
+  va_list ap;
+  va_start(ap, fmt);
+  if(config->tracetype)
+    voutf(config, NOTE_PREFIX, fmt, ap);
+  va_end(ap);
+}
+
+/*
+ * Emit warning formatted message on configured 'errors' stream unless
+ * mute (--silent) was selected.
+ */
+
+void warnf(struct GlobalConfig *config, const char *fmt, ...)
+{
+  va_list ap;
+  va_start(ap, fmt);
+  voutf(config, WARN_PREFIX, fmt, ap);
+  va_end(ap);
+}
+/*
+ * Emit help formatted message on given stream. This is for errors with or
+ * related to command line arguments.
+ */
+void helpf(FILE *errors, const char *fmt, ...)
+{
+  if(fmt) {
+    va_list ap;
+    va_start(ap, fmt);
+    fputs("curl: ", errors); /* prefix it */
+    vfprintf(errors, fmt, ap);
+    va_end(ap);
+  }
+  fprintf(errors, "curl: try 'curl --help' "
+#ifdef USE_MANUAL
+          "or 'curl --manual' "
+#endif
+          "for more information\n");
+}
+
+/*
+ * Emit error message on error stream if not muted. When errors are not tied
+ * to command line arguments, use helpf() for such errors.
+ */
+void errorf(struct GlobalConfig *config, const char *fmt, ...)
+{
+  if(!config->mute) {
+    va_list ap;
+    va_start(ap, fmt);
+    voutf(config, ERROR_PREFIX, fmt, ap);
+    va_end(ap);
+  }
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.h b/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.h
new file mode 100755
index 0000000..e35884e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_msgs.h
@@ -0,0 +1,33 @@
+#ifndef HEADER_CURL_TOOL_MSGS_H
+#define HEADER_CURL_TOOL_MSGS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+void warnf(struct GlobalConfig *config, const char *fmt, ...);
+void notef(struct GlobalConfig *config, const char *fmt, ...);
+void helpf(FILE *errors, const char *fmt, ...);
+void errorf(struct GlobalConfig *config, const char *fmt, ...);
+
+#endif /* HEADER_CURL_TOOL_MSGS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_operate.c b/ap/lib/libcurl/curl-7.86.0/src/tool_operate.c
new file mode 100755
index 0000000..43c1c5e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_operate.c
@@ -0,0 +1,2723 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_FCNTL_H
+#  include <fcntl.h>
+#endif
+
+#ifdef HAVE_LOCALE_H
+#  include <locale.h>
+#endif
+
+#ifdef HAVE_SYS_SELECT_H
+#  include <sys/select.h>
+#elif defined(HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#ifdef __VMS
+#  include <fabdef.h>
+#endif
+
+#ifdef __AMIGA__
+#  include <proto/dos.h>
+#endif
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_binmode.h"
+#include "tool_cfgable.h"
+#include "tool_cb_dbg.h"
+#include "tool_cb_hdr.h"
+#include "tool_cb_prg.h"
+#include "tool_cb_rea.h"
+#include "tool_cb_see.h"
+#include "tool_cb_wrt.h"
+#include "tool_dirhie.h"
+#include "tool_doswin.h"
+#include "tool_easysrc.h"
+#include "tool_filetime.h"
+#include "tool_getparam.h"
+#include "tool_helpers.h"
+#include "tool_findfile.h"
+#include "tool_libinfo.h"
+#include "tool_main.h"
+#include "tool_msgs.h"
+#include "tool_operate.h"
+#include "tool_operhlp.h"
+#include "tool_paramhlp.h"
+#include "tool_parsecfg.h"
+#include "tool_setopt.h"
+#include "tool_sleep.h"
+#include "tool_urlglob.h"
+#include "tool_util.h"
+#include "tool_writeout.h"
+#include "tool_xattr.h"
+#include "tool_vms.h"
+#include "tool_help.h"
+#include "tool_hugehelp.h"
+#include "tool_progress.h"
+#include "dynbuf.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef CURLDEBUG
+/* libcurl's debug builds provide an extra function */
+CURLcode curl_easy_perform_ev(CURL *easy);
+#endif
+
+#ifndef O_BINARY
+/* since O_BINARY as used in bitmasks, setting it to zero makes it usable in
+   source code but yet it doesn't ruin anything */
+#  define O_BINARY 0
+#endif
+
+#define CURL_CA_CERT_ERRORMSG                                               \
+  "More details here: https://curl.se/docs/sslcerts.html\n\n"          \
+  "curl failed to verify the legitimacy of the server and therefore "       \
+  "could not\nestablish a secure connection to it. To learn more about "    \
+  "this situation and\nhow to fix it, please visit the web page mentioned " \
+  "above.\n"
+
+static CURLcode single_transfer(struct GlobalConfig *global,
+                                struct OperationConfig *config,
+                                CURLSH *share,
+                                bool capath_from_env,
+                                bool *added);
+static CURLcode create_transfer(struct GlobalConfig *global,
+                                CURLSH *share,
+                                bool *added);
+
+static bool is_fatal_error(CURLcode code)
+{
+  switch(code) {
+  case CURLE_FAILED_INIT:
+  case CURLE_OUT_OF_MEMORY:
+  case CURLE_UNKNOWN_OPTION:
+  case CURLE_FUNCTION_NOT_FOUND:
+  case CURLE_BAD_FUNCTION_ARGUMENT:
+    /* critical error */
+    return TRUE;
+  default:
+    break;
+  }
+
+  /* no error or not critical */
+  return FALSE;
+}
+
+/*
+ * Check if a given string is a PKCS#11 URI
+ */
+static bool is_pkcs11_uri(const char *string)
+{
+  if(curl_strnequal(string, "pkcs11:", 7)) {
+    return TRUE;
+  }
+  else {
+    return FALSE;
+  }
+}
+
+#ifdef __VMS
+/*
+ * get_vms_file_size does what it takes to get the real size of the file
+ *
+ * For fixed files, find out the size of the EOF block and adjust.
+ *
+ * For all others, have to read the entire file in, discarding the contents.
+ * Most posted text files will be small, and binary files like zlib archives
+ * and CD/DVD images should be either a STREAM_LF format or a fixed format.
+ *
+ */
+static curl_off_t vms_realfilesize(const char *name,
+                                   const struct_stat *stat_buf)
+{
+  char buffer[8192];
+  curl_off_t count;
+  int ret_stat;
+  FILE * file;
+
+  /* !checksrc! disable FOPENMODE 1 */
+  file = fopen(name, "r"); /* VMS */
+  if(!file) {
+    return 0;
+  }
+  count = 0;
+  ret_stat = 1;
+  while(ret_stat > 0) {
+    ret_stat = fread(buffer, 1, sizeof(buffer), file);
+    if(ret_stat)
+      count += ret_stat;
+  }
+  fclose(file);
+
+  return count;
+}
+
+/*
+ *
+ *  VmsSpecialSize checks to see if the stat st_size can be trusted and
+ *  if not to call a routine to get the correct size.
+ *
+ */
+static curl_off_t VmsSpecialSize(const char *name,
+                                 const struct_stat *stat_buf)
+{
+  switch(stat_buf->st_fab_rfm) {
+  case FAB$C_VAR:
+  case FAB$C_VFC:
+    return vms_realfilesize(name, stat_buf);
+    break;
+  default:
+    return stat_buf->st_size;
+  }
+}
+#endif /* __VMS */
+
+#define BUFFER_SIZE (100*1024)
+
+struct per_transfer *transfers; /* first node */
+static struct per_transfer *transfersl; /* last node */
+static long all_pers;
+
+/* add_per_transfer creates a new 'per_transfer' node in the linked
+   list of transfers */
+static CURLcode add_per_transfer(struct per_transfer **per)
+{
+  struct per_transfer *p;
+  p = calloc(sizeof(struct per_transfer), 1);
+  if(!p)
+    return CURLE_OUT_OF_MEMORY;
+  if(!transfers)
+    /* first entry */
+    transfersl = transfers = p;
+  else {
+    /* make the last node point to the new node */
+    transfersl->next = p;
+    /* make the new node point back to the formerly last node */
+    p->prev = transfersl;
+    /* move the last node pointer to the new entry */
+    transfersl = p;
+  }
+  *per = p;
+  all_xfers++; /* count total number of transfers added */
+  all_pers++;
+
+  return CURLE_OK;
+}
+
+/* Remove the specified transfer from the list (and free it), return the next
+   in line */
+static struct per_transfer *del_per_transfer(struct per_transfer *per)
+{
+  struct per_transfer *n;
+  struct per_transfer *p;
+  DEBUGASSERT(transfers);
+  DEBUGASSERT(transfersl);
+  DEBUGASSERT(per);
+
+  n = per->next;
+  p = per->prev;
+
+  if(p)
+    p->next = n;
+  else
+    transfers = n;
+
+  if(n)
+    n->prev = p;
+  else
+    transfersl = p;
+
+  free(per);
+  all_pers--;
+
+  return n;
+}
+
+static CURLcode pre_transfer(struct GlobalConfig *global,
+                             struct per_transfer *per)
+{
+  curl_off_t uploadfilesize = -1;
+  struct_stat fileinfo;
+  CURLcode result = CURLE_OK;
+
+  if(per->uploadfile && !stdin_upload(per->uploadfile)) {
+    /* VMS Note:
+     *
+     * Reading binary from files can be a problem...  Only FIXED, VAR
+     * etc WITHOUT implied CC will work. Others need a \n appended to
+     * a line
+     *
+     * - Stat gives a size but this is UNRELIABLE in VMS. E.g.
+     * a fixed file with implied CC needs to have a byte added for every
+     * record processed, this can be derived from Filesize & recordsize
+     * for VARiable record files the records need to be counted!  for
+     * every record add 1 for linefeed and subtract 2 for the record
+     * header for VARIABLE header files only the bare record data needs
+     * to be considered with one appended if implied CC
+     */
+#ifdef __VMS
+    /* Calculate the real upload size for VMS */
+    per->infd = -1;
+    if(stat(per->uploadfile, &fileinfo) == 0) {
+      fileinfo.st_size = VmsSpecialSize(uploadfile, &fileinfo);
+      switch(fileinfo.st_fab_rfm) {
+      case FAB$C_VAR:
+      case FAB$C_VFC:
+      case FAB$C_STMCR:
+        per->infd = open(per->uploadfile, O_RDONLY | O_BINARY);
+        break;
+      default:
+        per->infd = open(per->uploadfile, O_RDONLY | O_BINARY,
+                        "rfm=stmlf", "ctx=stm");
+      }
+    }
+    if(per->infd == -1)
+#else
+      per->infd = open(per->uploadfile, O_RDONLY | O_BINARY);
+    if((per->infd == -1) || fstat(per->infd, &fileinfo))
+#endif
+    {
+      helpf(global->errors, "Can't open '%s'!\n", per->uploadfile);
+      if(per->infd != -1) {
+        close(per->infd);
+        per->infd = STDIN_FILENO;
+      }
+      return CURLE_READ_ERROR;
+    }
+    per->infdopen = TRUE;
+
+    /* we ignore file size for char/block devices, sockets, etc. */
+    if(S_ISREG(fileinfo.st_mode))
+      uploadfilesize = fileinfo.st_size;
+
+    if(uploadfilesize != -1) {
+      struct OperationConfig *config = per->config; /* for the macro below */
+#ifdef CURL_DISABLE_LIBCURL_OPTION
+      (void)config;
+#endif
+      my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
+    }
+    per->input.fd = per->infd;
+  }
+  return result;
+}
+
+#ifdef __AMIGA__
+static void AmigaSetComment(struct per_transfer *per,
+                            CURLcode result)
+{
+  struct OutStruct *outs = &per->outs;
+  if(!result && outs->s_isreg && outs->filename) {
+    /* Set the url (up to 80 chars) as comment for the file */
+    if(strlen(per->this_url) > 78)
+      per->this_url[79] = '\0';
+    SetComment(outs->filename, per->this_url);
+  }
+}
+#else
+#define AmigaSetComment(x,y) Curl_nop_stmt
+#endif
+
+/* When doing serial transfers, we use a single fixed error area */
+static char global_errorbuffer[CURL_ERROR_SIZE];
+
+void single_transfer_cleanup(struct OperationConfig *config)
+{
+  if(config) {
+    struct State *state = &config->state;
+    if(state->urls) {
+      /* Free list of remaining URLs */
+      glob_cleanup(state->urls);
+      state->urls = NULL;
+    }
+    Curl_safefree(state->outfiles);
+    Curl_safefree(state->httpgetfields);
+    Curl_safefree(state->uploadfile);
+    if(state->inglob) {
+      /* Free list of globbed upload files */
+      glob_cleanup(state->inglob);
+      state->inglob = NULL;
+    }
+  }
+}
+
+/*
+ * Call this after a transfer has completed.
+ */
+static CURLcode post_per_transfer(struct GlobalConfig *global,
+                                  struct per_transfer *per,
+                                  CURLcode result,
+                                  bool *retryp,
+                                  long *delay) /* milliseconds! */
+{
+  struct OutStruct *outs = &per->outs;
+  CURL *curl = per->curl;
+  struct OperationConfig *config = per->config;
+
+  if(!curl || !config)
+    return result;
+
+  *retryp = FALSE;
+  *delay = 0; /* for no retry, keep it zero */
+
+  if(per->infdopen)
+    close(per->infd);
+
+#ifdef __VMS
+  if(is_vms_shell()) {
+    /* VMS DCL shell behavior */
+    if(!global->showerror)
+      vms_show = VMSSTS_HIDE;
+  }
+  else
+#endif
+    if(!config->synthetic_error && result && global->showerror) {
+      const char *msg = per->errorbuffer;
+      fprintf(global->errors, "curl: (%d) %s\n", result,
+              (msg && msg[0]) ? msg : curl_easy_strerror(result));
+      if(result == CURLE_PEER_FAILED_VERIFICATION)
+        fputs(CURL_CA_CERT_ERRORMSG, global->errors);
+    }
+    else if(config->failwithbody) {
+      /* if HTTP response >= 400, return error */
+      long code = 0;
+      curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &code);
+      if(code >= 400) {
+        if(global->showerror)
+          fprintf(global->errors,
+                  "curl: (%d) The requested URL returned error: %ld\n",
+                  CURLE_HTTP_RETURNED_ERROR, code);
+        result = CURLE_HTTP_RETURNED_ERROR;
+      }
+    }
+  /* Set file extended attributes */
+  if(!result && config->xattr && outs->fopened && outs->stream) {
+    int rc = fwrite_xattr(curl, per->this_url, fileno(outs->stream));
+    if(rc)
+      warnf(config->global, "Error setting extended attributes on '%s': %s\n",
+            outs->filename, strerror(errno));
+  }
+
+  if(!result && !outs->stream && !outs->bytes) {
+    /* we have received no data despite the transfer was successful
+       ==> force creation of an empty output file (if an output file
+       was specified) */
+    long cond_unmet = 0L;
+    /* do not create (or even overwrite) the file in case we get no
+       data because of unmet condition */
+    curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &cond_unmet);
+    if(!cond_unmet && !tool_create_output_file(outs, config))
+      result = CURLE_WRITE_ERROR;
+  }
+
+  if(!outs->s_isreg && outs->stream) {
+    /* Dump standard stream buffered data */
+    int rc = fflush(outs->stream);
+    if(!result && rc) {
+      /* something went wrong in the writing process */
+      result = CURLE_WRITE_ERROR;
+      if(global->showerror)
+        fprintf(global->errors, "curl: (%d) Failed writing body\n", result);
+    }
+  }
+
+  /* if retry-max-time is non-zero, make sure we haven't exceeded the
+     time */
+  if(per->retry_numretries &&
+     (!config->retry_maxtime ||
+      (tvdiff(tvnow(), per->retrystart) <
+       config->retry_maxtime*1000L)) ) {
+    enum {
+      RETRY_NO,
+      RETRY_ALL_ERRORS,
+      RETRY_TIMEOUT,
+      RETRY_CONNREFUSED,
+      RETRY_HTTP,
+      RETRY_FTP,
+      RETRY_LAST /* not used */
+    } retry = RETRY_NO;
+    long response = 0;
+    if((CURLE_OPERATION_TIMEDOUT == result) ||
+       (CURLE_COULDNT_RESOLVE_HOST == result) ||
+       (CURLE_COULDNT_RESOLVE_PROXY == result) ||
+       (CURLE_FTP_ACCEPT_TIMEOUT == result))
+      /* retry timeout always */
+      retry = RETRY_TIMEOUT;
+    else if(config->retry_connrefused &&
+            (CURLE_COULDNT_CONNECT == result)) {
+      long oserrno = 0;
+      curl_easy_getinfo(curl, CURLINFO_OS_ERRNO, &oserrno);
+      if(ECONNREFUSED == oserrno)
+        retry = RETRY_CONNREFUSED;
+    }
+    else if((CURLE_OK == result) ||
+            ((config->failonerror || config->failwithbody) &&
+             (CURLE_HTTP_RETURNED_ERROR == result))) {
+      /* If it returned OK. _or_ failonerror was enabled and it
+         returned due to such an error, check for HTTP transient
+         errors to retry on. */
+      const char *scheme;
+      curl_easy_getinfo(curl, CURLINFO_SCHEME, &scheme);
+      scheme = proto_token(scheme);
+      if(scheme == proto_http || scheme == proto_https) {
+        /* This was HTTP(S) */
+        curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+
+        switch(response) {
+        case 408: /* Request Timeout */
+        case 429: /* Too Many Requests (RFC6585) */
+        case 500: /* Internal Server Error */
+        case 502: /* Bad Gateway */
+        case 503: /* Service Unavailable */
+        case 504: /* Gateway Timeout */
+          retry = RETRY_HTTP;
+          /*
+           * At this point, we have already written data to the output
+           * file (or terminal). If we write to a file, we must rewind
+           * or close/re-open the file so that the next attempt starts
+           * over from the beginning.
+           *
+           * TODO: similar action for the upload case. We might need
+           * to start over reading from a previous point if we have
+           * uploaded something when this was returned.
+           */
+          break;
+        }
+      }
+    } /* if CURLE_OK */
+    else if(result) {
+      const char *scheme;
+
+      curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response);
+      curl_easy_getinfo(curl, CURLINFO_SCHEME, &scheme);
+      scheme = proto_token(scheme);
+
+      if((scheme == proto_ftp || scheme == proto_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
+         * are transient.
+         */
+        retry = RETRY_FTP;
+    }
+
+    if(result && !retry && config->retry_all_errors)
+      retry = RETRY_ALL_ERRORS;
+
+    if(retry) {
+      long sleeptime = 0;
+      curl_off_t retry_after = 0;
+      static const char * const m[]={
+        NULL,
+        "(retrying all errors)",
+        ": timeout",
+        ": connection refused",
+        ": HTTP error",
+        ": FTP error"
+      };
+
+      sleeptime = per->retry_sleep;
+      if(RETRY_HTTP == retry) {
+        curl_easy_getinfo(curl, CURLINFO_RETRY_AFTER, &retry_after);
+        if(retry_after) {
+          /* store in a 'long', make sure it doesn't overflow */
+          if(retry_after > LONG_MAX/1000)
+            sleeptime = LONG_MAX;
+          else
+            sleeptime = (long)retry_after * 1000; /* milliseconds */
+
+          /* if adding retry_after seconds to the process would exceed the
+             maximum time allowed for retrying, then exit the retries right
+             away */
+          if(config->retry_maxtime) {
+            curl_off_t seconds = tvdiff(tvnow(), per->retrystart)/1000;
+
+            if((CURL_OFF_T_MAX - retry_after < seconds) ||
+               (seconds + retry_after > config->retry_maxtime)) {
+              warnf(config->global, "The Retry-After: time would "
+                    "make this command line exceed the maximum allowed time "
+                    "for retries.");
+              goto noretry;
+            }
+          }
+        }
+      }
+      warnf(config->global, "Problem %s. "
+            "Will retry in %ld seconds. "
+            "%ld retries left.\n",
+            m[retry], sleeptime/1000L, per->retry_numretries);
+
+      per->retry_numretries--;
+      if(!config->retry_delay) {
+        per->retry_sleep *= 2;
+        if(per->retry_sleep > RETRY_SLEEP_MAX)
+          per->retry_sleep = RETRY_SLEEP_MAX;
+      }
+      if(outs->bytes && outs->filename && outs->stream) {
+        int rc;
+        /* We have written data to an output file, we truncate file
+         */
+        if(!global->mute)
+          fprintf(global->errors, "Throwing away %"
+                  CURL_FORMAT_CURL_OFF_T " bytes\n",
+                  outs->bytes);
+        fflush(outs->stream);
+        /* truncate file at the position where we started appending */
+#ifdef HAVE_FTRUNCATE
+        if(ftruncate(fileno(outs->stream), outs->init)) {
+          /* when truncate fails, we can't just append as then we'll
+             create something strange, bail out */
+          if(global->showerror)
+            fprintf(global->errors,
+                    "curl: (23) Failed to truncate file\n");
+          return CURLE_WRITE_ERROR;
+        }
+        /* now seek to the end of the file, the position where we
+           just truncated the file in a large file-safe way */
+        rc = fseek(outs->stream, 0, SEEK_END);
+#else
+        /* ftruncate is not available, so just reposition the file
+           to the location we would have truncated it. This won't
+           work properly with large files on 32-bit systems, but
+           most of those will have ftruncate. */
+        rc = fseek(outs->stream, (long)outs->init, SEEK_SET);
+#endif
+        if(rc) {
+          if(global->showerror)
+            fprintf(global->errors,
+                    "curl: (23) Failed seeking to end of file\n");
+          return CURLE_WRITE_ERROR;
+        }
+        outs->bytes = 0; /* clear for next round */
+      }
+      *retryp = TRUE;
+      *delay = sleeptime;
+      return CURLE_OK;
+    }
+  } /* if retry_numretries */
+  noretry:
+
+  if((global->progressmode == CURL_PROGRESS_BAR) &&
+     per->progressbar.calls)
+    /* if the custom progress bar has been displayed, we output a
+       newline here */
+    fputs("\n", per->progressbar.out);
+
+  /* Close the outs file */
+  if(outs->fopened && outs->stream) {
+    int rc = fclose(outs->stream);
+    if(!result && rc) {
+      /* something went wrong in the writing process */
+      result = CURLE_WRITE_ERROR;
+      if(global->showerror)
+        fprintf(global->errors, "curl: (%d) Failed writing body\n", result);
+    }
+    if(result && config->rm_partial) {
+      notef(global, "Removing output file: %s\n", outs->filename);
+      unlink(outs->filename);
+    }
+  }
+
+  AmigaSetComment(per, result);
+
+  /* File time can only be set _after_ the file has been closed */
+  if(!result && config->remote_time && outs->s_isreg && outs->filename) {
+    /* Ask libcurl if we got a remote file time */
+    curl_off_t filetime = -1;
+    curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
+    setfiletime(filetime, outs->filename, global);
+  }
+
+  /* Write the --write-out data before cleanup but after result is final */
+  if(config->writeout)
+    ourWriteOut(config->writeout, per, result);
+
+  /* Close function-local opened file descriptors */
+  if(per->heads.fopened && per->heads.stream)
+    fclose(per->heads.stream);
+
+  if(per->heads.alloc_filename)
+    Curl_safefree(per->heads.filename);
+
+  if(per->etag_save.fopened && per->etag_save.stream)
+    fclose(per->etag_save.stream);
+
+  if(per->etag_save.alloc_filename)
+    Curl_safefree(per->etag_save.filename);
+
+  curl_easy_cleanup(per->curl);
+  if(outs->alloc_filename)
+    free(outs->filename);
+  free(per->this_url);
+  free(per->outfile);
+  free(per->uploadfile);
+  if(global->parallel)
+    free(per->errorbuffer);
+
+  return result;
+}
+
+/*
+ * Return the protocol token for the scheme used in the given URL
+ */
+static const char *url_proto(char *url)
+{
+  CURLU *uh = curl_url();
+  const char *proto = NULL;
+
+  if(uh) {
+    if(url) {
+      if(!curl_url_set(uh, CURLUPART_URL, url,
+                       CURLU_GUESS_SCHEME | CURLU_NON_SUPPORT_SCHEME)) {
+        char *schemep = NULL;
+        if(!curl_url_get(uh, CURLUPART_SCHEME, &schemep,
+                         CURLU_DEFAULT_SCHEME) &&
+           schemep) {
+          proto = proto_token(schemep);
+          curl_free(schemep);
+        }
+      }
+    }
+    curl_url_cleanup(uh);
+  }
+  return proto? proto: "???";   /* Never match if not found. */
+}
+
+/* create the next (singular) transfer */
+static CURLcode single_transfer(struct GlobalConfig *global,
+                                struct OperationConfig *config,
+                                CURLSH *share,
+                                bool capath_from_env,
+                                bool *added)
+{
+  CURLcode result = CURLE_OK;
+  struct getout *urlnode;
+  bool orig_noprogress = global->noprogress;
+  bool orig_isatty = global->isatty;
+  struct State *state = &config->state;
+  char *httpgetfields = state->httpgetfields;
+  *added = FALSE; /* not yet */
+
+  if(config->postfields) {
+    if(config->use_httpget) {
+      if(!httpgetfields) {
+        /* Use the postfields data for a http get */
+        httpgetfields = state->httpgetfields = strdup(config->postfields);
+        Curl_safefree(config->postfields);
+        if(!httpgetfields) {
+          errorf(global, "out of memory\n");
+          result = CURLE_OUT_OF_MEMORY;
+        }
+        else if(SetHTTPrequest(config,
+                               (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET),
+                               &config->httpreq)) {
+          result = CURLE_FAILED_INIT;
+        }
+      }
+    }
+    else {
+      if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq))
+        result = CURLE_FAILED_INIT;
+    }
+    if(result) {
+      single_transfer_cleanup(config);
+      return result;
+    }
+  }
+  if(!state->urlnode) {
+    /* first time caller, setup things */
+    state->urlnode = config->url_list;
+    state->infilenum = 1;
+  }
+
+  while(config->state.urlnode) {
+    static bool warn_more_options = FALSE;
+    char *infiles; /* might be a glob pattern */
+    struct URLGlob *inglob = state->inglob;
+    urlnode = config->state.urlnode;
+
+    /* urlnode->url is the full URL (it might be NULL) */
+
+    if(!urlnode->url) {
+      /* This node has no URL. Free node data without destroying the
+         node itself nor modifying next pointer and continue to next */
+      Curl_safefree(urlnode->outfile);
+      Curl_safefree(urlnode->infile);
+      urlnode->flags = 0;
+      config->state.urlnode = urlnode->next;
+      state->up = 0;
+      if(!warn_more_options) {
+        /* only show this once */
+        warnf(config->global, "Got more output options than URLs\n");
+        warn_more_options = TRUE;
+      }
+      continue; /* next URL please */
+    }
+
+    /* save outfile pattern before expansion */
+    if(urlnode->outfile && !state->outfiles) {
+      state->outfiles = strdup(urlnode->outfile);
+      if(!state->outfiles) {
+        errorf(global, "out of memory\n");
+        result = CURLE_OUT_OF_MEMORY;
+        break;
+      }
+    }
+
+    infiles = urlnode->infile;
+
+    if(!config->globoff && infiles && !inglob) {
+      /* Unless explicitly shut off */
+      result = glob_url(&inglob, infiles, &state->infilenum,
+                        global->showerror?global->errors:NULL);
+      if(result)
+        break;
+      config->state.inglob = inglob;
+    }
+
+    {
+      unsigned long urlnum;
+
+      if(!state->up && !infiles)
+        Curl_nop_stmt;
+      else {
+        if(!state->uploadfile) {
+          if(inglob) {
+            result = glob_next_url(&state->uploadfile, inglob);
+            if(result == CURLE_OUT_OF_MEMORY)
+              errorf(global, "out of memory\n");
+          }
+          else if(!state->up) {
+            state->uploadfile = strdup(infiles);
+            if(!state->uploadfile) {
+              errorf(global, "out of memory\n");
+              result = CURLE_OUT_OF_MEMORY;
+            }
+          }
+        }
+        if(result)
+          break;
+      }
+
+      if(!state->urlnum) {
+        if(!config->globoff) {
+          /* Unless explicitly shut off, we expand '{...}' and '[...]'
+             expressions and return total number of URLs in pattern set */
+          result = glob_url(&state->urls, urlnode->url, &state->urlnum,
+                            global->showerror?global->errors:NULL);
+          if(result)
+            break;
+          urlnum = state->urlnum;
+        }
+        else
+          urlnum = 1; /* without globbing, this is a single URL */
+      }
+      else
+        urlnum = state->urlnum;
+
+      if(state->up < state->infilenum) {
+        struct per_transfer *per = NULL;
+        struct OutStruct *outs;
+        struct InStruct *input;
+        struct OutStruct *heads;
+        struct OutStruct *etag_save;
+        struct HdrCbData *hdrcbdata = NULL;
+        struct OutStruct etag_first;
+        const char *use_proto;
+        CURL *curl;
+
+        /* --etag-save */
+        memset(&etag_first, 0, sizeof(etag_first));
+        etag_save = &etag_first;
+        etag_save->stream = stdout;
+
+        /* --etag-compare */
+        if(config->etag_compare_file) {
+          char *etag_from_file = NULL;
+          char *header = NULL;
+          ParameterError pe;
+
+          /* open file for reading: */
+          FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT);
+          if(!file && !config->etag_save_file) {
+            errorf(global,
+                   "Failed to open %s\n", config->etag_compare_file);
+            result = CURLE_READ_ERROR;
+            break;
+          }
+
+          if((PARAM_OK == file2string(&etag_from_file, file)) &&
+             etag_from_file) {
+            header = aprintf("If-None-Match: %s", etag_from_file);
+            Curl_safefree(etag_from_file);
+          }
+          else
+            header = aprintf("If-None-Match: \"\"");
+
+          if(!header) {
+            if(file)
+              fclose(file);
+            errorf(global,
+                   "Failed to allocate memory for custom etag header\n");
+            result = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+
+          /* add Etag from file to list of custom headers */
+          pe = add2list(&config->headers, header);
+          Curl_safefree(header);
+
+          if(file)
+            fclose(file);
+          if(pe != PARAM_OK) {
+            result = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+        }
+
+        if(config->etag_save_file) {
+          /* open file for output: */
+          if(strcmp(config->etag_save_file, "-")) {
+            FILE *newfile = fopen(config->etag_save_file, "wb");
+            if(!newfile) {
+              warnf(global, "Failed creating file for saving etags: \"%s\". "
+                    "Skip this transfer\n", config->etag_save_file);
+              Curl_safefree(state->outfiles);
+              glob_cleanup(state->urls);
+              return CURLE_OK;
+            }
+            else {
+              etag_save->filename = config->etag_save_file;
+              etag_save->s_isreg = TRUE;
+              etag_save->fopened = TRUE;
+              etag_save->stream = newfile;
+            }
+          }
+          else {
+            /* always use binary mode for protocol header output */
+            set_binmode(etag_save->stream);
+          }
+        }
+
+        curl = curl_easy_init();
+        if(curl)
+          result = add_per_transfer(&per);
+        else
+          result = CURLE_OUT_OF_MEMORY;
+        if(result) {
+          curl_easy_cleanup(curl);
+          if(etag_save->fopened)
+            fclose(etag_save->stream);
+          break;
+        }
+        per->etag_save = etag_first; /* copy the whole struct */
+        if(state->uploadfile) {
+          per->uploadfile = strdup(state->uploadfile);
+          if(!per->uploadfile) {
+            curl_easy_cleanup(curl);
+            result = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+          if(SetHTTPrequest(config, HTTPREQ_PUT, &config->httpreq)) {
+            Curl_safefree(per->uploadfile);
+            curl_easy_cleanup(curl);
+            result = CURLE_FAILED_INIT;
+            break;
+          }
+        }
+        *added = TRUE;
+        per->config = config;
+        per->curl = curl;
+        per->urlnum = urlnode->num;
+
+        /* default headers output stream is stdout */
+        heads = &per->heads;
+        heads->stream = stdout;
+
+        /* Single header file for all URLs */
+        if(config->headerfile) {
+          /* open file for output: */
+          if(strcmp(config->headerfile, "-")) {
+            FILE *newfile;
+            newfile = fopen(config->headerfile, per->prev == NULL?"wb":"ab");
+            if(!newfile) {
+              warnf(global, "Failed to open %s\n", config->headerfile);
+              result = CURLE_WRITE_ERROR;
+              break;
+            }
+            else {
+              heads->filename = config->headerfile;
+              heads->s_isreg = TRUE;
+              heads->fopened = TRUE;
+              heads->stream = newfile;
+            }
+          }
+          else {
+            /* always use binary mode for protocol header output */
+            set_binmode(heads->stream);
+          }
+        }
+
+        hdrcbdata = &per->hdrcbdata;
+
+        outs = &per->outs;
+        input = &per->input;
+
+        per->outfile = NULL;
+        per->infdopen = FALSE;
+        per->infd = STDIN_FILENO;
+
+        /* default output stream is stdout */
+        outs->stream = stdout;
+
+        if(state->urls) {
+          result = glob_next_url(&per->this_url, state->urls);
+          if(result)
+            break;
+        }
+        else if(!state->li) {
+          per->this_url = strdup(urlnode->url);
+          if(!per->this_url) {
+            result = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+        }
+        else
+          per->this_url = NULL;
+        if(!per->this_url)
+          break;
+
+        if(state->outfiles) {
+          per->outfile = strdup(state->outfiles);
+          if(!per->outfile) {
+            result = CURLE_OUT_OF_MEMORY;
+            break;
+          }
+        }
+
+        if(((urlnode->flags&GETOUT_USEREMOTE) ||
+            (per->outfile && strcmp("-", per->outfile)))) {
+
+          /*
+           * We have specified a file name to store the result in, or we have
+           * decided we want to use the remote file name.
+           */
+
+          if(!per->outfile) {
+            /* extract the file name from the URL */
+            result = get_url_file_name(&per->outfile, per->this_url);
+            if(result) {
+              errorf(global, "Failed to extract a sensible file name"
+                     " from the URL to use for storage!\n");
+              break;
+            }
+            if(!*per->outfile && !config->content_disposition) {
+              errorf(global, "Remote file name has no length!\n");
+              result = CURLE_WRITE_ERROR;
+              break;
+            }
+          }
+          else if(state->urls) {
+            /* fill '#1' ... '#9' terms from URL pattern */
+            char *storefile = per->outfile;
+            result = glob_match_url(&per->outfile, storefile, state->urls);
+            Curl_safefree(storefile);
+            if(result) {
+              /* bad globbing */
+              warnf(global, "bad output glob!\n");
+              break;
+            }
+            if(!*per->outfile) {
+              warnf(global, "output glob produces empty string!\n");
+              result = CURLE_WRITE_ERROR;
+              break;
+            }
+          }
+
+          if(config->output_dir && *config->output_dir) {
+            char *d = aprintf("%s/%s", config->output_dir, per->outfile);
+            if(!d) {
+              result = CURLE_WRITE_ERROR;
+              break;
+            }
+            free(per->outfile);
+            per->outfile = d;
+          }
+          /* Create the directory hierarchy, if not pre-existent to a multiple
+             file output call */
+
+          if(config->create_dirs) {
+            result = create_dir_hierarchy(per->outfile, global->errors);
+            /* create_dir_hierarchy shows error upon CURLE_WRITE_ERROR */
+            if(result)
+              break;
+          }
+
+          if((urlnode->flags & GETOUT_USEREMOTE)
+             && config->content_disposition) {
+            /* Our header callback MIGHT set the filename */
+            DEBUGASSERT(!outs->filename);
+          }
+
+          if(config->resume_from_current) {
+            /* We're told to continue from where we are now. Get the size
+               of the file as it is now and open it for append instead */
+            struct_stat fileinfo;
+            /* VMS -- Danger, the filesize is only valid for stream files */
+            if(0 == stat(per->outfile, &fileinfo))
+              /* set offset to current file size: */
+              config->resume_from = fileinfo.st_size;
+            else
+              /* let offset be 0 */
+              config->resume_from = 0;
+          }
+
+          if(config->resume_from) {
+#ifdef __VMS
+            /* open file for output, forcing VMS output format into stream
+               mode which is needed for stat() call above to always work. */
+            FILE *file = fopen(outfile, "ab",
+                               "ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0");
+#else
+            /* open file for output: */
+            FILE *file = fopen(per->outfile, "ab");
+#endif
+            if(!file) {
+              errorf(global, "Can't open '%s'!\n", per->outfile);
+              result = CURLE_WRITE_ERROR;
+              break;
+            }
+            outs->fopened = TRUE;
+            outs->stream = file;
+            outs->init = config->resume_from;
+          }
+          else {
+            outs->stream = NULL; /* open when needed */
+          }
+          outs->filename = per->outfile;
+          outs->s_isreg = TRUE;
+        }
+
+        if(per->uploadfile && !stdin_upload(per->uploadfile)) {
+          /*
+           * We have specified a file to upload and it isn't "-".
+           */
+          result = add_file_name_to_url(per->curl, &per->this_url,
+                                        per->uploadfile);
+          if(result)
+            break;
+        }
+        else if(per->uploadfile && stdin_upload(per->uploadfile)) {
+          /* count to see if there are more than one auth bit set
+             in the authtype field */
+          int authbits = 0;
+          int bitcheck = 0;
+          while(bitcheck < 32) {
+            if(config->authtype & (1UL << bitcheck++)) {
+              authbits++;
+              if(authbits > 1) {
+                /* more than one, we're done! */
+                break;
+              }
+            }
+          }
+
+          /*
+           * If the user has also selected --anyauth or --proxy-anyauth
+           * we should warn them.
+           */
+          if(config->proxyanyauth || (authbits>1)) {
+            warnf(global,
+                  "Using --anyauth or --proxy-anyauth with upload from stdin"
+                  " involves a big risk of it not working. Use a temporary"
+                  " file or a fixed auth type instead!\n");
+          }
+
+          DEBUGASSERT(per->infdopen == FALSE);
+          DEBUGASSERT(per->infd == STDIN_FILENO);
+
+          set_binmode(stdin);
+          if(!strcmp(per->uploadfile, ".")) {
+            if(curlx_nonblock((curl_socket_t)per->infd, TRUE) < 0)
+              warnf(global,
+                    "fcntl failed on fd=%d: %s\n", per->infd, strerror(errno));
+          }
+        }
+
+        if(per->uploadfile && config->resume_from_current)
+          config->resume_from = -1; /* -1 will then force get-it-yourself */
+
+        if(output_expected(per->this_url, per->uploadfile) && outs->stream &&
+           isatty(fileno(outs->stream)))
+          /* we send the output to a tty, therefore we switch off the progress
+             meter */
+          per->noprogress = global->noprogress = global->isatty = TRUE;
+        else {
+          /* progress meter is per download, so restore config
+             values */
+          per->noprogress = global->noprogress = orig_noprogress;
+          global->isatty = orig_isatty;
+        }
+
+        if(httpgetfields) {
+          CURLU *uh = curl_url();
+          if(uh) {
+            char *updated;
+            if(curl_url_set(uh, CURLUPART_URL, per->this_url,
+                            CURLU_GUESS_SCHEME) ||
+               curl_url_set(uh, CURLUPART_QUERY, httpgetfields,
+                            CURLU_APPENDQUERY) ||
+               curl_url_get(uh, CURLUPART_URL, &updated, CURLU_GUESS_SCHEME)) {
+              curl_url_cleanup(uh);
+              result = CURLE_OUT_OF_MEMORY;
+              break;
+            }
+            Curl_safefree(per->this_url); /* free previous URL */
+            per->this_url = updated; /* use our new URL instead! */
+            curl_url_cleanup(uh);
+          }
+        }
+
+        if(!global->errors)
+          global->errors = stderr;
+
+        if((!per->outfile || !strcmp(per->outfile, "-")) &&
+           !config->use_ascii) {
+          /* We get the output to stdout and we have not got the ASCII/text
+             flag, then set stdout to be binary */
+          set_binmode(stdout);
+        }
+
+        /* explicitly passed to stdout means okaying binary gunk */
+        config->terminal_binary_ok =
+          (per->outfile && !strcmp(per->outfile, "-"));
+
+        /* Avoid having this setopt added to the --libcurl source output. */
+        result = curl_easy_setopt(curl, CURLOPT_SHARE, share);
+        if(result)
+          break;
+
+        use_proto = url_proto(per->this_url);
+
+        if(!config->tcp_nodelay)
+          my_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
+
+        if(config->tcp_fastopen)
+          my_setopt(curl, CURLOPT_TCP_FASTOPEN, 1L);
+
+        /* where to store */
+        my_setopt(curl, CURLOPT_WRITEDATA, per);
+        my_setopt(curl, CURLOPT_INTERLEAVEDATA, per);
+
+        /* what call to write */
+        my_setopt(curl, CURLOPT_WRITEFUNCTION, tool_write_cb);
+
+        /* for uploads */
+        input->config = config;
+        /* Note that if CURLOPT_READFUNCTION is fread (the default), then
+         * lib/telnet.c will Curl_poll() on the input file descriptor
+         * rather than calling the READFUNCTION at regular intervals.
+         * The circumstances in which it is preferable to enable this
+         * behavior, by omitting to set the READFUNCTION & READDATA options,
+         * have not been determined.
+         */
+        my_setopt(curl, CURLOPT_READDATA, input);
+        /* what call to read */
+        my_setopt(curl, CURLOPT_READFUNCTION, tool_read_cb);
+
+        /* in 7.18.0, the CURLOPT_SEEKFUNCTION/DATA pair is taking over what
+           CURLOPT_IOCTLFUNCTION/DATA pair previously provided for seeking */
+        my_setopt(curl, CURLOPT_SEEKDATA, input);
+        my_setopt(curl, CURLOPT_SEEKFUNCTION, tool_seek_cb);
+
+        if(config->recvpersecond &&
+           (config->recvpersecond < BUFFER_SIZE))
+          /* use a smaller sized buffer for better sleeps */
+          my_setopt(curl, CURLOPT_BUFFERSIZE, (long)config->recvpersecond);
+        else
+          my_setopt(curl, CURLOPT_BUFFERSIZE, (long)BUFFER_SIZE);
+
+        my_setopt_str(curl, CURLOPT_URL, per->this_url);
+        my_setopt(curl, CURLOPT_NOPROGRESS, global->noprogress?1L:0L);
+        if(config->no_body)
+          my_setopt(curl, CURLOPT_NOBODY, 1L);
+
+        if(config->oauth_bearer)
+          my_setopt_str(curl, CURLOPT_XOAUTH2_BEARER, config->oauth_bearer);
+
+        my_setopt_str(curl, CURLOPT_PROXY, config->proxy);
+
+        if(config->proxy && result) {
+          errorf(global, "proxy support is disabled in this libcurl\n");
+          config->synthetic_error = TRUE;
+          result = CURLE_NOT_BUILT_IN;
+          break;
+        }
+
+        /* new in libcurl 7.5 */
+        if(config->proxy)
+          my_setopt_enum(curl, CURLOPT_PROXYTYPE, config->proxyver);
+
+        my_setopt_str(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd);
+
+        /* new in libcurl 7.3 */
+        my_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel?1L:0L);
+
+        /* new in libcurl 7.52.0 */
+        if(config->preproxy)
+          my_setopt_str(curl, CURLOPT_PRE_PROXY, config->preproxy);
+
+        /* new in libcurl 7.10.6 */
+        if(config->proxyanyauth)
+          my_setopt_bitmask(curl, CURLOPT_PROXYAUTH,
+                            (long)CURLAUTH_ANY);
+        else if(config->proxynegotiate)
+          my_setopt_bitmask(curl, CURLOPT_PROXYAUTH,
+                            (long)CURLAUTH_GSSNEGOTIATE);
+        else if(config->proxyntlm)
+          my_setopt_bitmask(curl, CURLOPT_PROXYAUTH,
+                            (long)CURLAUTH_NTLM);
+        else if(config->proxydigest)
+          my_setopt_bitmask(curl, CURLOPT_PROXYAUTH,
+                            (long)CURLAUTH_DIGEST);
+        else if(config->proxybasic)
+          my_setopt_bitmask(curl, CURLOPT_PROXYAUTH,
+                            (long)CURLAUTH_BASIC);
+
+        /* new in libcurl 7.19.4 */
+        my_setopt_str(curl, CURLOPT_NOPROXY, config->noproxy);
+
+        my_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS,
+                  config->suppress_connect_headers?1L:0L);
+
+        my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror?1L:0L);
+        my_setopt(curl, CURLOPT_REQUEST_TARGET, config->request_target);
+        my_setopt(curl, CURLOPT_UPLOAD, per->uploadfile?1L:0L);
+        my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly?1L:0L);
+        my_setopt(curl, CURLOPT_APPEND, config->ftp_append?1L:0L);
+
+        if(config->netrc_opt)
+          my_setopt_enum(curl, CURLOPT_NETRC, (long)CURL_NETRC_OPTIONAL);
+        else if(config->netrc || config->netrc_file)
+          my_setopt_enum(curl, CURLOPT_NETRC, (long)CURL_NETRC_REQUIRED);
+        else
+          my_setopt_enum(curl, CURLOPT_NETRC, (long)CURL_NETRC_IGNORED);
+
+        if(config->netrc_file)
+          my_setopt_str(curl, CURLOPT_NETRC_FILE, config->netrc_file);
+
+        my_setopt(curl, CURLOPT_TRANSFERTEXT, config->use_ascii?1L:0L);
+        if(config->login_options)
+          my_setopt_str(curl, CURLOPT_LOGIN_OPTIONS, config->login_options);
+        my_setopt_str(curl, CURLOPT_USERPWD, config->userpwd);
+        my_setopt_str(curl, CURLOPT_RANGE, config->range);
+        if(!global->parallel) {
+          per->errorbuffer = global_errorbuffer;
+          my_setopt(curl, CURLOPT_ERRORBUFFER, global_errorbuffer);
+        }
+        my_setopt(curl, CURLOPT_TIMEOUT_MS, (long)(config->timeout * 1000));
+
+        switch(config->httpreq) {
+        case HTTPREQ_SIMPLEPOST:
+          my_setopt_str(curl, CURLOPT_POSTFIELDS,
+                        config->postfields);
+          my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE,
+                    config->postfieldsize);
+          break;
+        case HTTPREQ_MIMEPOST:
+          /* free previous remainders */
+          curl_mime_free(config->mimepost);
+          config->mimepost = NULL;
+          result = tool2curlmime(curl, config->mimeroot, &config->mimepost);
+          if(result)
+            break;
+          my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost);
+          break;
+        default:
+          break;
+        }
+        if(result)
+          break;
+
+        /* new in libcurl 7.81.0 */
+        if(config->mime_options)
+          my_setopt(curl, CURLOPT_MIME_OPTIONS, config->mime_options);
+
+        /* new in libcurl 7.10.6 (default is Basic) */
+        if(config->authtype)
+          my_setopt_bitmask(curl, CURLOPT_HTTPAUTH, (long)config->authtype);
+
+        my_setopt_slist(curl, CURLOPT_HTTPHEADER, config->headers);
+
+        if(proto_http || proto_rtsp) {
+          my_setopt_str(curl, CURLOPT_REFERER, config->referer);
+          my_setopt_str(curl, CURLOPT_USERAGENT, config->useragent);
+        }
+
+        if(proto_http) {
+          long postRedir = 0;
+
+          my_setopt(curl, CURLOPT_FOLLOWLOCATION,
+                    config->followlocation?1L:0L);
+          my_setopt(curl, CURLOPT_UNRESTRICTED_AUTH,
+                    config->unrestricted_auth?1L:0L);
+
+          my_setopt(curl, CURLOPT_AUTOREFERER, config->autoreferer?1L:0L);
+
+          /* new in libcurl 7.36.0 */
+          if(config->proxyheaders) {
+            my_setopt_slist(curl, CURLOPT_PROXYHEADER, config->proxyheaders);
+            my_setopt(curl, CURLOPT_HEADEROPT, CURLHEADER_SEPARATE);
+          }
+
+          /* new in libcurl 7.5 */
+          my_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs);
+
+          if(config->httpversion)
+            my_setopt_enum(curl, CURLOPT_HTTP_VERSION, config->httpversion);
+          else if(curlinfo->features & CURL_VERSION_HTTP2) {
+            my_setopt_enum(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
+          }
+
+          /* curl 7.19.1 (the 301 version existed in 7.18.2),
+             303 was added in 7.26.0 */
+          if(config->post301)
+            postRedir |= CURL_REDIR_POST_301;
+          if(config->post302)
+            postRedir |= CURL_REDIR_POST_302;
+          if(config->post303)
+            postRedir |= CURL_REDIR_POST_303;
+          my_setopt(curl, CURLOPT_POSTREDIR, postRedir);
+
+          /* new in libcurl 7.21.6 */
+          if(config->encoding)
+            my_setopt_str(curl, CURLOPT_ACCEPT_ENCODING, "");
+
+          /* new in libcurl 7.21.6 */
+          if(config->tr_encoding)
+            my_setopt(curl, CURLOPT_TRANSFER_ENCODING, 1L);
+          /* new in libcurl 7.64.0 */
+          my_setopt(curl, CURLOPT_HTTP09_ALLOWED,
+                    config->http09_allowed ? 1L : 0L);
+          if(result) {
+            errorf(global, "HTTP/0.9 is not supported in this build!\n");
+            return result;
+          }
+
+        } /* (proto_http) */
+
+        if(proto_ftp)
+          my_setopt_str(curl, CURLOPT_FTPPORT, config->ftpport);
+        my_setopt(curl, CURLOPT_LOW_SPEED_LIMIT,
+                  config->low_speed_limit);
+        my_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time);
+        my_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE,
+                  config->sendpersecond);
+        my_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE,
+                  config->recvpersecond);
+
+        if(config->use_resume)
+          my_setopt(curl, CURLOPT_RESUME_FROM_LARGE, config->resume_from);
+        else
+          my_setopt(curl, CURLOPT_RESUME_FROM_LARGE, CURL_OFF_T_C(0));
+
+        my_setopt_str(curl, CURLOPT_KEYPASSWD, config->key_passwd);
+        my_setopt_str(curl, CURLOPT_PROXY_KEYPASSWD, config->proxy_key_passwd);
+
+        if(use_proto == proto_scp || use_proto == proto_sftp) {
+
+          /* SSH and SSL private key uses same command-line option */
+          /* new in libcurl 7.16.1 */
+          my_setopt_str(curl, CURLOPT_SSH_PRIVATE_KEYFILE, config->key);
+          /* new in libcurl 7.16.1 */
+          my_setopt_str(curl, CURLOPT_SSH_PUBLIC_KEYFILE, config->pubkey);
+
+          /* new in libcurl 7.17.1: SSH host key md5 checking allows us
+             to fail if we are not talking to who we think we should */
+          my_setopt_str(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
+                        config->hostpubmd5);
+
+          /* new in libcurl 7.80.0: SSH host key sha256 checking allows us
+             to fail if we are not talking to who we think we should */
+          my_setopt_str(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256,
+              config->hostpubsha256);
+
+          /* new in libcurl 7.56.0 */
+          if(config->ssh_compression)
+            my_setopt(curl, CURLOPT_SSH_COMPRESSION, 1L);
+        }
+
+        if(config->cacert)
+          my_setopt_str(curl, CURLOPT_CAINFO, config->cacert);
+        if(config->proxy_cacert)
+          my_setopt_str(curl, CURLOPT_PROXY_CAINFO, config->proxy_cacert);
+
+        if(config->capath) {
+          result = res_setopt_str(curl, CURLOPT_CAPATH, config->capath);
+          if(result == CURLE_NOT_BUILT_IN) {
+            warnf(global, "ignoring %s, not supported by libcurl\n",
+                  capath_from_env?
+                  "SSL_CERT_DIR environment variable":"--capath");
+          }
+          else if(result)
+            break;
+        }
+        /* For the time being if --proxy-capath is not set then we use the
+           --capath value for it, if any. See #1257 */
+        if(config->proxy_capath || config->capath) {
+          result = res_setopt_str(curl, CURLOPT_PROXY_CAPATH,
+                                  (config->proxy_capath ?
+                                   config->proxy_capath :
+                                   config->capath));
+          if(result == CURLE_NOT_BUILT_IN) {
+            if(config->proxy_capath) {
+              warnf(global,
+                    "ignoring --proxy-capath, not supported by libcurl\n");
+            }
+          }
+          else if(result)
+            break;
+        }
+
+        if(config->crlfile)
+          my_setopt_str(curl, CURLOPT_CRLFILE, config->crlfile);
+        if(config->proxy_crlfile)
+          my_setopt_str(curl, CURLOPT_PROXY_CRLFILE, config->proxy_crlfile);
+        else if(config->crlfile) /* CURLOPT_PROXY_CRLFILE default is crlfile */
+          my_setopt_str(curl, CURLOPT_PROXY_CRLFILE, config->crlfile);
+
+        if(config->pinnedpubkey)
+          my_setopt_str(curl, CURLOPT_PINNEDPUBLICKEY, config->pinnedpubkey);
+
+        if(config->ssl_ec_curves)
+          my_setopt_str(curl, CURLOPT_SSL_EC_CURVES, config->ssl_ec_curves);
+
+        if(curlinfo->features & CURL_VERSION_SSL) {
+          /* Check if config->cert is a PKCS#11 URI and set the
+           * config->cert_type if necessary */
+          if(config->cert) {
+            if(!config->cert_type) {
+              if(is_pkcs11_uri(config->cert)) {
+                config->cert_type = strdup("ENG");
+              }
+            }
+          }
+
+          /* Check if config->key is a PKCS#11 URI and set the
+           * config->key_type if necessary */
+          if(config->key) {
+            if(!config->key_type) {
+              if(is_pkcs11_uri(config->key)) {
+                config->key_type = strdup("ENG");
+              }
+            }
+          }
+
+          /* Check if config->proxy_cert is a PKCS#11 URI and set the
+           * config->proxy_type if necessary */
+          if(config->proxy_cert) {
+            if(!config->proxy_cert_type) {
+              if(is_pkcs11_uri(config->proxy_cert)) {
+                config->proxy_cert_type = strdup("ENG");
+              }
+            }
+          }
+
+          /* Check if config->proxy_key is a PKCS#11 URI and set the
+           * config->proxy_key_type if necessary */
+          if(config->proxy_key) {
+            if(!config->proxy_key_type) {
+              if(is_pkcs11_uri(config->proxy_key)) {
+                config->proxy_key_type = strdup("ENG");
+              }
+            }
+          }
+
+          /* In debug build of curl tool, using
+           *    --cert loadmem=<filename>:<password> --cert-type p12
+           *  must do the same thing as classic:
+           *    --cert <filename>:<password> --cert-type p12
+           *  but is designed to test blob */
+#if defined(CURLDEBUG) || defined(DEBUGBUILD)
+          if(config->cert && (strlen(config->cert) > 8) &&
+             (memcmp(config->cert, "loadmem=",8) == 0)) {
+            FILE *fInCert = fopen(config->cert + 8, "rb");
+            void *certdata = NULL;
+            long filesize = 0;
+            bool continue_reading = fInCert != NULL;
+            if(continue_reading)
+              continue_reading = fseek(fInCert, 0, SEEK_END) == 0;
+            if(continue_reading)
+              filesize = ftell(fInCert);
+            if(filesize < 0)
+              continue_reading = FALSE;
+            if(continue_reading)
+              continue_reading = fseek(fInCert, 0, SEEK_SET) == 0;
+            if(continue_reading)
+              certdata = malloc(((size_t)filesize) + 1);
+            if((!certdata) ||
+                ((int)fread(certdata, (size_t)filesize, 1, fInCert) != 1))
+              continue_reading = FALSE;
+            if(fInCert)
+              fclose(fInCert);
+            if((filesize > 0) && continue_reading) {
+              struct curl_blob structblob;
+              structblob.data = certdata;
+              structblob.len = (size_t)filesize;
+              structblob.flags = CURL_BLOB_COPY;
+              my_setopt_str(curl, CURLOPT_SSLCERT_BLOB, &structblob);
+              /* if test run well, we are sure we don't reuse
+               * original mem pointer */
+              memset(certdata, 0, (size_t)filesize);
+            }
+            free(certdata);
+          }
+          else
+#endif
+          my_setopt_str(curl, CURLOPT_SSLCERT, config->cert);
+          my_setopt_str(curl, CURLOPT_PROXY_SSLCERT, config->proxy_cert);
+          my_setopt_str(curl, CURLOPT_SSLCERTTYPE, config->cert_type);
+          my_setopt_str(curl, CURLOPT_PROXY_SSLCERTTYPE,
+                        config->proxy_cert_type);
+
+
+#if defined(CURLDEBUG) || defined(DEBUGBUILD)
+          if(config->key && (strlen(config->key) > 8) &&
+             (memcmp(config->key, "loadmem=",8) == 0)) {
+            FILE *fInCert = fopen(config->key + 8, "rb");
+            void *certdata = NULL;
+            long filesize = 0;
+            bool continue_reading = fInCert != NULL;
+            if(continue_reading)
+              continue_reading = fseek(fInCert, 0, SEEK_END) == 0;
+            if(continue_reading)
+              filesize = ftell(fInCert);
+            if(filesize < 0)
+              continue_reading = FALSE;
+            if(continue_reading)
+              continue_reading = fseek(fInCert, 0, SEEK_SET) == 0;
+            if(continue_reading)
+              certdata = malloc(((size_t)filesize) + 1);
+            if((!certdata) ||
+                ((int)fread(certdata, (size_t)filesize, 1, fInCert) != 1))
+              continue_reading = FALSE;
+            if(fInCert)
+              fclose(fInCert);
+            if((filesize > 0) && continue_reading) {
+              struct curl_blob structblob;
+              structblob.data = certdata;
+              structblob.len = (size_t)filesize;
+              structblob.flags = CURL_BLOB_COPY;
+              my_setopt_str(curl, CURLOPT_SSLKEY_BLOB, &structblob);
+              /* if test run well, we are sure we don't reuse
+               * original mem pointer */
+              memset(certdata, 0, (size_t)filesize);
+            }
+            free(certdata);
+          }
+          else
+#endif
+          my_setopt_str(curl, CURLOPT_SSLKEY, config->key);
+          my_setopt_str(curl, CURLOPT_PROXY_SSLKEY, config->proxy_key);
+          my_setopt_str(curl, CURLOPT_SSLKEYTYPE, config->key_type);
+          my_setopt_str(curl, CURLOPT_PROXY_SSLKEYTYPE,
+                        config->proxy_key_type);
+          my_setopt_str(curl, CURLOPT_AWS_SIGV4,
+                        config->aws_sigv4);
+
+          if(config->insecure_ok) {
+            my_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
+            my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
+          }
+          else {
+            my_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
+            /* libcurl default is strict verifyhost -> 2L   */
+            /* my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L); */
+          }
+
+          if(config->doh_insecure_ok) {
+            my_setopt(curl, CURLOPT_DOH_SSL_VERIFYPEER, 0L);
+            my_setopt(curl, CURLOPT_DOH_SSL_VERIFYHOST, 0L);
+          }
+
+          if(config->proxy_insecure_ok) {
+            my_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 0L);
+            my_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 0L);
+          }
+          else {
+            my_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 1L);
+          }
+
+          if(config->verifystatus)
+            my_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 1L);
+
+          if(config->doh_verifystatus)
+            my_setopt(curl, CURLOPT_DOH_SSL_VERIFYSTATUS, 1L);
+
+          if(config->falsestart)
+            my_setopt(curl, CURLOPT_SSL_FALSESTART, 1L);
+
+          my_setopt_enum(curl, CURLOPT_SSLVERSION,
+                         config->ssl_version | config->ssl_version_max);
+          if(config->proxy)
+            my_setopt_enum(curl, CURLOPT_PROXY_SSLVERSION,
+                           config->proxy_ssl_version);
+
+          {
+            long mask =
+              (config->ssl_allow_beast ?
+               CURLSSLOPT_ALLOW_BEAST : 0) |
+              (config->ssl_no_revoke ?
+               CURLSSLOPT_NO_REVOKE : 0) |
+              (config->ssl_revoke_best_effort ?
+               CURLSSLOPT_REVOKE_BEST_EFFORT : 0) |
+              (config->native_ca_store ?
+               CURLSSLOPT_NATIVE_CA : 0) |
+              (config->ssl_auto_client_cert ?
+               CURLSSLOPT_AUTO_CLIENT_CERT : 0);
+
+            if(mask)
+              my_setopt_bitmask(curl, CURLOPT_SSL_OPTIONS, mask);
+          }
+
+          {
+            long mask =
+              (config->proxy_ssl_allow_beast ?
+               CURLSSLOPT_ALLOW_BEAST : 0) |
+              (config->proxy_ssl_auto_client_cert ?
+               CURLSSLOPT_AUTO_CLIENT_CERT : 0);
+
+            if(mask)
+              my_setopt_bitmask(curl, CURLOPT_PROXY_SSL_OPTIONS, mask);
+          }
+        }
+
+        if(config->path_as_is)
+          my_setopt(curl, CURLOPT_PATH_AS_IS, 1L);
+
+        if((use_proto == proto_scp || use_proto == proto_sftp) &&
+           !config->insecure_ok) {
+          char *known = findfile(".ssh/known_hosts", FALSE);
+          if(known) {
+            /* new in curl 7.19.6 */
+            result = res_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, known);
+            curl_free(known);
+            if(result == CURLE_UNKNOWN_OPTION)
+              /* libssh2 version older than 1.1.1 */
+              result = CURLE_OK;
+            if(result)
+              break;
+          }
+          else
+            warnf(global, "Couldn't find a known_hosts file!");
+        }
+
+        if(config->no_body || config->remote_time) {
+          /* no body or use remote time */
+          my_setopt(curl, CURLOPT_FILETIME, 1L);
+        }
+
+        my_setopt(curl, CURLOPT_CRLF, config->crlf?1L:0L);
+        my_setopt_slist(curl, CURLOPT_QUOTE, config->quote);
+        my_setopt_slist(curl, CURLOPT_POSTQUOTE, config->postquote);
+        my_setopt_slist(curl, CURLOPT_PREQUOTE, config->prequote);
+
+        if(config->cookies) {
+          struct curlx_dynbuf cookies;
+          struct curl_slist *cl;
+
+          /* The maximum size needs to match MAX_NAME in cookie.h */
+#define MAX_COOKIE_LINE 4096
+          curlx_dyn_init(&cookies, MAX_COOKIE_LINE);
+          for(cl = config->cookies; cl; cl = cl->next) {
+            if(cl == config->cookies)
+              result = curlx_dyn_addf(&cookies, "%s", cl->data);
+            else
+              result = curlx_dyn_addf(&cookies, ";%s", cl->data);
+
+            if(result) {
+              warnf(global,
+                    "skipped provided cookie, the cookie header "
+                    "would go over %u bytes\n", MAX_COOKIE_LINE);
+              break;
+            }
+          }
+
+          my_setopt_str(curl, CURLOPT_COOKIE, curlx_dyn_ptr(&cookies));
+          curlx_dyn_free(&cookies);
+        }
+
+        if(config->cookiefiles) {
+          struct curl_slist *cfl;
+
+          for(cfl = config->cookiefiles; cfl; cfl = cfl->next)
+            my_setopt_str(curl, CURLOPT_COOKIEFILE, cfl->data);
+        }
+
+        /* new in libcurl 7.9 */
+        if(config->cookiejar)
+          my_setopt_str(curl, CURLOPT_COOKIEJAR, config->cookiejar);
+
+        /* new in libcurl 7.9.7 */
+        my_setopt(curl, CURLOPT_COOKIESESSION, config->cookiesession?1L:0L);
+
+        my_setopt_enum(curl, CURLOPT_TIMECONDITION, (long)config->timecond);
+        my_setopt(curl, CURLOPT_TIMEVALUE_LARGE, config->condtime);
+        my_setopt_str(curl, CURLOPT_CUSTOMREQUEST, config->customrequest);
+        customrequest_helper(config, config->httpreq, config->customrequest);
+        my_setopt(curl, CURLOPT_STDERR, global->errors);
+
+        /* three new ones in libcurl 7.3: */
+        my_setopt_str(curl, CURLOPT_INTERFACE, config->iface);
+        my_setopt_str(curl, CURLOPT_KRBLEVEL, config->krblevel);
+        progressbarinit(&per->progressbar, config);
+
+        if((global->progressmode == CURL_PROGRESS_BAR) &&
+           !global->noprogress && !global->mute) {
+          /* we want the alternative style, then we have to implement it
+             ourselves! */
+          my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_progress_cb);
+          my_setopt(curl, CURLOPT_XFERINFODATA, per);
+        }
+        else if(per->uploadfile && !strcmp(per->uploadfile, ".")) {
+          /* when reading from stdin in non-blocking mode, we use the progress
+             function to unpause a busy read */
+          my_setopt(curl, CURLOPT_NOPROGRESS, 0L);
+          my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_readbusy_cb);
+          my_setopt(curl, CURLOPT_XFERINFODATA, per);
+        }
+
+        /* new in libcurl 7.24.0: */
+        if(config->dns_servers)
+          my_setopt_str(curl, CURLOPT_DNS_SERVERS, config->dns_servers);
+
+        /* new in libcurl 7.33.0: */
+        if(config->dns_interface)
+          my_setopt_str(curl, CURLOPT_DNS_INTERFACE, config->dns_interface);
+        if(config->dns_ipv4_addr)
+          my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP4, config->dns_ipv4_addr);
+        if(config->dns_ipv6_addr)
+        my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP6, config->dns_ipv6_addr);
+
+        /* new in libcurl 7.6.2: */
+        my_setopt_slist(curl, CURLOPT_TELNETOPTIONS, config->telnet_options);
+
+        /* new in libcurl 7.7: */
+        my_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS,
+                  (long)(config->connecttimeout * 1000));
+
+        if(config->doh_url)
+          my_setopt_str(curl, CURLOPT_DOH_URL, config->doh_url);
+
+        if(config->cipher_list)
+          my_setopt_str(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list);
+
+        if(config->proxy_cipher_list)
+          my_setopt_str(curl, CURLOPT_PROXY_SSL_CIPHER_LIST,
+                        config->proxy_cipher_list);
+
+        if(config->cipher13_list)
+          my_setopt_str(curl, CURLOPT_TLS13_CIPHERS, config->cipher13_list);
+
+        if(config->proxy_cipher13_list)
+          my_setopt_str(curl, CURLOPT_PROXY_TLS13_CIPHERS,
+                        config->proxy_cipher13_list);
+
+        /* new in libcurl 7.9.2: */
+        if(config->disable_epsv)
+          /* disable it */
+          my_setopt(curl, CURLOPT_FTP_USE_EPSV, 0L);
+
+        /* new in libcurl 7.10.5 */
+        if(config->disable_eprt)
+          /* disable it */
+          my_setopt(curl, CURLOPT_FTP_USE_EPRT, 0L);
+
+        if(global->tracetype != TRACE_NONE) {
+          my_setopt(curl, CURLOPT_DEBUGFUNCTION, tool_debug_cb);
+          my_setopt(curl, CURLOPT_DEBUGDATA, config);
+          my_setopt(curl, CURLOPT_VERBOSE, 1L);
+        }
+
+        /* new in curl 7.9.3 */
+        if(config->engine) {
+          result = res_setopt_str(curl, CURLOPT_SSLENGINE, config->engine);
+          if(result)
+            break;
+        }
+
+        /* new in curl 7.10.7, extended in 7.19.4. Modified to use
+           CREATE_DIR_RETRY in 7.49.0 */
+        my_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS,
+                  (long)(config->ftp_create_dirs?
+                         CURLFTP_CREATE_DIR_RETRY:
+                         CURLFTP_CREATE_DIR_NONE));
+
+        /* new in curl 7.10.8 */
+        if(config->max_filesize)
+          my_setopt(curl, CURLOPT_MAXFILESIZE_LARGE,
+                    config->max_filesize);
+
+        my_setopt(curl, CURLOPT_IPRESOLVE, config->ip_version);
+
+        /* new in curl 7.15.5 */
+        if(config->ftp_ssl_reqd)
+          my_setopt_enum(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
+
+        /* new in curl 7.11.0 */
+        else if(config->ftp_ssl)
+          my_setopt_enum(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_TRY);
+
+        /* new in curl 7.16.0 */
+        else if(config->ftp_ssl_control)
+          my_setopt_enum(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_CONTROL);
+
+        /* new in curl 7.16.1 */
+        if(config->ftp_ssl_ccc)
+          my_setopt_enum(curl, CURLOPT_FTP_SSL_CCC,
+                         (long)config->ftp_ssl_ccc_mode);
+
+        /* new in curl 7.19.4 */
+        if(config->socks5_gssapi_nec)
+          my_setopt_str(curl, CURLOPT_SOCKS5_GSSAPI_NEC,
+                        config->socks5_gssapi_nec);
+
+        /* new in curl 7.55.0 */
+        if(config->socks5_auth)
+          my_setopt_bitmask(curl, CURLOPT_SOCKS5_AUTH,
+                            (long)config->socks5_auth);
+
+        /* new in curl 7.43.0 */
+        if(config->proxy_service_name)
+          my_setopt_str(curl, CURLOPT_PROXY_SERVICE_NAME,
+                        config->proxy_service_name);
+
+        /* new in curl 7.43.0 */
+        if(config->service_name)
+          my_setopt_str(curl, CURLOPT_SERVICE_NAME,
+                        config->service_name);
+
+        /* curl 7.13.0 */
+        my_setopt_str(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account);
+        my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl?1L:0L);
+
+        /* curl 7.14.2 */
+        my_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, config->ftp_skip_ip?1L:0L);
+
+        /* curl 7.15.1 */
+        if(proto_ftp)
+          my_setopt(curl, CURLOPT_FTP_FILEMETHOD,
+                    (long)config->ftp_filemethod);
+
+        /* curl 7.15.2 */
+        if(config->localport) {
+          my_setopt(curl, CURLOPT_LOCALPORT, config->localport);
+          my_setopt_str(curl, CURLOPT_LOCALPORTRANGE, config->localportrange);
+        }
+
+        /* curl 7.15.5 */
+        my_setopt_str(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER,
+                      config->ftp_alternative_to_user);
+
+        /* curl 7.16.0 */
+        if(config->disable_sessionid)
+          /* disable it */
+          my_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 0L);
+
+        /* curl 7.16.2 */
+        if(config->raw) {
+          my_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 0L);
+          my_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 0L);
+        }
+
+        /* curl 7.17.1 */
+        if(!config->nokeepalive) {
+          my_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
+          if(config->alivetime) {
+            my_setopt(curl, CURLOPT_TCP_KEEPIDLE, config->alivetime);
+            my_setopt(curl, CURLOPT_TCP_KEEPINTVL, config->alivetime);
+          }
+        }
+        else
+          my_setopt(curl, CURLOPT_TCP_KEEPALIVE, 0L);
+
+        /* curl 7.20.0 */
+        if(config->tftp_blksize && proto_tftp)
+          my_setopt(curl, CURLOPT_TFTP_BLKSIZE, config->tftp_blksize);
+
+        if(config->mail_from)
+          my_setopt_str(curl, CURLOPT_MAIL_FROM, config->mail_from);
+
+        if(config->mail_rcpt)
+          my_setopt_slist(curl, CURLOPT_MAIL_RCPT, config->mail_rcpt);
+
+        /* curl 7.69.x */
+        my_setopt(curl, CURLOPT_MAIL_RCPT_ALLLOWFAILS,
+          config->mail_rcpt_allowfails ? 1L : 0L);
+
+        /* curl 7.20.x */
+        if(config->ftp_pret)
+          my_setopt(curl, CURLOPT_FTP_USE_PRET, 1L);
+
+        if(config->create_file_mode)
+          my_setopt(curl, CURLOPT_NEW_FILE_PERMS, config->create_file_mode);
+
+        if(config->proto_present)
+          my_setopt_str(curl, CURLOPT_PROTOCOLS_STR, config->proto_str);
+        if(config->proto_redir_present)
+          my_setopt_str(curl, CURLOPT_REDIR_PROTOCOLS_STR,
+                        config->proto_redir_str);
+
+        if(config->content_disposition
+           && (urlnode->flags & GETOUT_USEREMOTE))
+          hdrcbdata->honor_cd_filename = TRUE;
+        else
+          hdrcbdata->honor_cd_filename = FALSE;
+
+        hdrcbdata->outs = outs;
+        hdrcbdata->heads = heads;
+        hdrcbdata->etag_save = etag_save;
+        hdrcbdata->global = global;
+        hdrcbdata->config = config;
+
+        my_setopt(curl, CURLOPT_HEADERFUNCTION, tool_header_cb);
+        my_setopt(curl, CURLOPT_HEADERDATA, per);
+
+        if(config->resolve)
+          /* new in 7.21.3 */
+          my_setopt_slist(curl, CURLOPT_RESOLVE, config->resolve);
+
+        if(config->connect_to)
+          /* new in 7.49.0 */
+          my_setopt_slist(curl, CURLOPT_CONNECT_TO, config->connect_to);
+
+        /* new in 7.21.4 */
+        if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) {
+          if(config->tls_username)
+            my_setopt_str(curl, CURLOPT_TLSAUTH_USERNAME,
+                          config->tls_username);
+          if(config->tls_password)
+            my_setopt_str(curl, CURLOPT_TLSAUTH_PASSWORD,
+                          config->tls_password);
+          if(config->tls_authtype)
+            my_setopt_str(curl, CURLOPT_TLSAUTH_TYPE,
+                          config->tls_authtype);
+          if(config->proxy_tls_username)
+            my_setopt_str(curl, CURLOPT_PROXY_TLSAUTH_USERNAME,
+                          config->proxy_tls_username);
+          if(config->proxy_tls_password)
+            my_setopt_str(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD,
+                          config->proxy_tls_password);
+          if(config->proxy_tls_authtype)
+            my_setopt_str(curl, CURLOPT_PROXY_TLSAUTH_TYPE,
+                          config->proxy_tls_authtype);
+        }
+
+        /* new in 7.22.0 */
+        if(config->gssapi_delegation)
+          my_setopt_str(curl, CURLOPT_GSSAPI_DELEGATION,
+                        config->gssapi_delegation);
+
+        if(config->mail_auth)
+          my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth);
+
+        /* new in 7.66.0 */
+        if(config->sasl_authzid)
+          my_setopt_str(curl, CURLOPT_SASL_AUTHZID, config->sasl_authzid);
+
+        /* new in 7.31.0 */
+        if(config->sasl_ir)
+          my_setopt(curl, CURLOPT_SASL_IR, 1L);
+
+        if(config->noalpn) {
+          my_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L);
+        }
+
+        /* new in 7.40.0, abstract support added in 7.53.0 */
+        if(config->unix_socket_path) {
+          if(config->abstract_unix_socket) {
+            my_setopt_str(curl, CURLOPT_ABSTRACT_UNIX_SOCKET,
+                          config->unix_socket_path);
+          }
+          else {
+            my_setopt_str(curl, CURLOPT_UNIX_SOCKET_PATH,
+                          config->unix_socket_path);
+          }
+        }
+
+        /* new in 7.45.0 */
+        if(config->proto_default)
+          my_setopt_str(curl, CURLOPT_DEFAULT_PROTOCOL, config->proto_default);
+
+        /* new in 7.47.0 */
+        if(config->expect100timeout > 0)
+          my_setopt_str(curl, CURLOPT_EXPECT_100_TIMEOUT_MS,
+                        (long)(config->expect100timeout*1000));
+
+        /* new in 7.48.0 */
+        if(config->tftp_no_options && proto_tftp)
+          my_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 1L);
+
+        /* new in 7.59.0 */
+        if(config->happy_eyeballs_timeout_ms != CURL_HET_DEFAULT)
+          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);
+
+        if(config->disallow_username_in_url)
+          my_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L);
+
+        if(config->altsvc)
+          my_setopt_str(curl, CURLOPT_ALTSVC, config->altsvc);
+
+        if(config->hsts)
+          my_setopt_str(curl, CURLOPT_HSTS, config->hsts);
+
+        /* initialize retry vars for loop below */
+        per->retry_sleep_default = (config->retry_delay) ?
+          config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
+        per->retry_numretries = config->req_retry;
+        per->retry_sleep = per->retry_sleep_default; /* ms */
+        per->retrystart = tvnow();
+
+        state->li++;
+        /* Here's looping around each globbed URL */
+        if(state->li >= urlnum) {
+          state->li = 0;
+          state->urlnum = 0; /* forced reglob of URLs */
+          glob_cleanup(state->urls);
+          state->urls = NULL;
+          state->up++;
+          Curl_safefree(state->uploadfile); /* clear it to get the next */
+        }
+      }
+      else {
+        /* Free this URL node data without destroying the
+           node itself nor modifying next pointer. */
+        Curl_safefree(urlnode->outfile);
+        Curl_safefree(urlnode->infile);
+        urlnode->flags = 0;
+        glob_cleanup(state->urls);
+        state->urls = NULL;
+        state->urlnum = 0;
+
+        Curl_safefree(state->outfiles);
+        Curl_safefree(state->uploadfile);
+        if(state->inglob) {
+          /* Free list of globbed upload files */
+          glob_cleanup(state->inglob);
+          state->inglob = NULL;
+        }
+        config->state.urlnode = urlnode->next;
+        state->up = 0;
+        continue;
+      }
+    }
+    break;
+  }
+  Curl_safefree(state->outfiles);
+
+  if(!*added || result) {
+    *added = FALSE;
+    single_transfer_cleanup(config);
+  }
+  return result;
+}
+
+static long all_added; /* number of easy handles currently added */
+
+/*
+ * add_parallel_transfers() sets 'morep' to TRUE if there are more transfers
+ * to add even after this call returns. sets 'addedp' to TRUE if one or more
+ * transfers were added.
+ */
+static CURLcode add_parallel_transfers(struct GlobalConfig *global,
+                                       CURLM *multi,
+                                       CURLSH *share,
+                                       bool *morep,
+                                       bool *addedp)
+{
+  struct per_transfer *per;
+  CURLcode result = CURLE_OK;
+  CURLMcode mcode;
+  bool sleeping = FALSE;
+  char *errorbuf;
+  *addedp = FALSE;
+  *morep = FALSE;
+  if(all_pers < (global->parallel_max*2)) {
+    result = create_transfer(global, share, addedp);
+    if(result)
+      return result;
+  }
+  for(per = transfers; per && (all_added < global->parallel_max);
+      per = per->next) {
+    bool getadded = FALSE;
+    if(per->added)
+      /* already added */
+      continue;
+    if(per->startat && (time(NULL) < per->startat)) {
+      /* this is still delaying */
+      sleeping = TRUE;
+      continue;
+    }
+    per->added = TRUE;
+
+    result = pre_transfer(global, per);
+    if(result)
+      return result;
+
+    errorbuf = malloc(CURL_ERROR_SIZE);
+    if(!errorbuf)
+      return CURLE_OUT_OF_MEMORY;
+
+    /* parallel connect means that we don't set PIPEWAIT since pipewait
+       will make libcurl prefer multiplexing */
+    (void)curl_easy_setopt(per->curl, CURLOPT_PIPEWAIT,
+                           global->parallel_connect ? 0L : 1L);
+    (void)curl_easy_setopt(per->curl, CURLOPT_PRIVATE, per);
+    (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFOFUNCTION, xferinfo_cb);
+    (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFODATA, per);
+    (void)curl_easy_setopt(per->curl, CURLOPT_NOPROGRESS, 0L);
+
+    mcode = curl_multi_add_handle(multi, per->curl);
+    if(mcode) {
+      DEBUGASSERT(mcode == CURLM_OUT_OF_MEMORY);
+      result = CURLE_OUT_OF_MEMORY;
+    }
+
+    if(!result)
+      result = create_transfer(global, share, &getadded);
+    if(result) {
+      free(errorbuf);
+      return result;
+    }
+    errorbuf[0] = 0;
+    (void)curl_easy_setopt(per->curl, CURLOPT_ERRORBUFFER, errorbuf);
+    per->errorbuffer = errorbuf;
+    per->added = TRUE;
+    all_added++;
+    *addedp = TRUE;
+  }
+  *morep = (per || sleeping) ? TRUE : FALSE;
+  return CURLE_OK;
+}
+
+static CURLcode parallel_transfers(struct GlobalConfig *global,
+                                   CURLSH *share)
+{
+  CURLM *multi;
+  CURLMcode mcode = CURLM_OK;
+  CURLcode result = CURLE_OK;
+  int still_running = 1;
+  struct timeval start = tvnow();
+  bool more_transfers;
+  bool added_transfers;
+  /* wrapitup is set TRUE after a critical error occurs to end all transfers */
+  bool wrapitup = FALSE;
+  /* wrapitup_processed is set TRUE after the per transfer abort flag is set */
+  bool wrapitup_processed = FALSE;
+  time_t tick = time(NULL);
+
+  multi = curl_multi_init();
+  if(!multi)
+    return CURLE_OUT_OF_MEMORY;
+
+  result = add_parallel_transfers(global, multi, share,
+                                  &more_transfers, &added_transfers);
+  if(result) {
+    curl_multi_cleanup(multi);
+    return result;
+  }
+
+  while(!mcode && (still_running || more_transfers)) {
+    /* If stopping prematurely (eg due to a --fail-early condition) then signal
+       that any transfers in the multi should abort (via progress callback). */
+    if(wrapitup) {
+      if(!still_running)
+        break;
+      if(!wrapitup_processed) {
+        struct per_transfer *per;
+        for(per = transfers; per; per = per->next) {
+          if(per->added)
+            per->abort = TRUE;
+        }
+        wrapitup_processed = TRUE;
+      }
+    }
+
+    mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL);
+    if(!mcode)
+      mcode = curl_multi_perform(multi, &still_running);
+
+    progress_meter(global, &start, FALSE);
+
+    if(!mcode) {
+      int rc;
+      CURLMsg *msg;
+      bool checkmore = FALSE;
+      do {
+        msg = curl_multi_info_read(multi, &rc);
+        if(msg) {
+          bool retry;
+          long delay;
+          struct per_transfer *ended;
+          CURL *easy = msg->easy_handle;
+          CURLcode tres = msg->data.result;
+          curl_easy_getinfo(easy, CURLINFO_PRIVATE, (void *)&ended);
+          curl_multi_remove_handle(multi, easy);
+
+          if(ended->abort && tres == CURLE_ABORTED_BY_CALLBACK) {
+            msnprintf(ended->errorbuffer, CURL_ERROR_SIZE,
+                      "Transfer aborted due to critical error "
+                      "in another transfer");
+          }
+          tres = post_per_transfer(global, ended, tres, &retry, &delay);
+          progress_finalize(ended); /* before it goes away */
+          all_added--; /* one fewer added */
+          checkmore = TRUE;
+          if(retry) {
+            ended->added = FALSE; /* add it again */
+            /* we delay retries in full integer seconds only */
+            ended->startat = delay ? time(NULL) + delay/1000 : 0;
+          }
+          else {
+            /* result receives this transfer's error unless the transfer was
+               marked for abort due to a critical error in another transfer */
+            if(tres && (!ended->abort || !result))
+              result = tres;
+            if(is_fatal_error(result) || (result && global->fail_early))
+              wrapitup = TRUE;
+            (void)del_per_transfer(ended);
+          }
+        }
+      } while(msg);
+      if(wrapitup) {
+        if(still_running)
+          continue;
+        else
+          break;
+      }
+      if(!checkmore) {
+        time_t tock = time(NULL);
+        if(tick != tock) {
+          checkmore = TRUE;
+          tick = tock;
+        }
+      }
+      if(checkmore) {
+        /* one or more transfers completed, add more! */
+        CURLcode tres = add_parallel_transfers(global, multi, share,
+                                               &more_transfers,
+                                               &added_transfers);
+        if(tres)
+          result = tres;
+        if(added_transfers)
+          /* we added new ones, make sure the loop doesn't exit yet */
+          still_running = 1;
+      }
+      if(is_fatal_error(result) || (result && global->fail_early))
+        wrapitup = TRUE;
+    }
+  }
+
+  (void)progress_meter(global, &start, TRUE);
+
+  /* Make sure to return some kind of error if there was a multi problem */
+  if(mcode) {
+    result = (mcode == CURLM_OUT_OF_MEMORY) ? CURLE_OUT_OF_MEMORY :
+      /* The other multi errors should never happen, so return
+         something suitably generic */
+      CURLE_BAD_FUNCTION_ARGUMENT;
+  }
+
+  curl_multi_cleanup(multi);
+
+  return result;
+}
+
+static CURLcode serial_transfers(struct GlobalConfig *global,
+                                 CURLSH *share)
+{
+  CURLcode returncode = CURLE_OK;
+  CURLcode result = CURLE_OK;
+  struct per_transfer *per;
+  bool added = FALSE;
+
+  result = create_transfer(global, share, &added);
+  if(result)
+    return result;
+  if(!added) {
+    errorf(global, "no transfer performed\n");
+    return CURLE_READ_ERROR;
+  }
+  for(per = transfers; per;) {
+    bool retry;
+    long delay_ms;
+    bool bailout = FALSE;
+    struct timeval start;
+    result = pre_transfer(global, per);
+    if(result)
+      break;
+
+    if(global->libcurl) {
+      result = easysrc_perform();
+      if(result)
+        break;
+    }
+
+    start = tvnow();
+#ifdef CURLDEBUG
+    if(global->test_event_based)
+      result = curl_easy_perform_ev(per->curl);
+    else
+#endif
+      result = curl_easy_perform(per->curl);
+
+    returncode = post_per_transfer(global, per, result, &retry, &delay_ms);
+    if(retry) {
+      tool_go_sleep(delay_ms);
+      continue;
+    }
+
+    /* Bail out upon critical errors or --fail-early */
+    if(is_fatal_error(returncode) || (returncode && global->fail_early))
+      bailout = TRUE;
+    else {
+      /* setup the next one just before we delete this */
+      result = create_transfer(global, share, &added);
+      if(result)
+        bailout = TRUE;
+    }
+
+    per = del_per_transfer(per);
+
+    if(bailout)
+      break;
+
+    if(per && global->ms_per_transfer) {
+      /* how long time did the most recent transfer take in number of
+         milliseconds */
+      long milli = tvdiff(tvnow(), start);
+      if(milli < global->ms_per_transfer) {
+        notef(global, "Transfer took %ld ms, waits %ldms as set by --rate\n",
+              milli, global->ms_per_transfer - milli);
+        /* The transfer took less time than wanted. Wait a little. */
+        tool_go_sleep(global->ms_per_transfer - milli);
+      }
+    }
+  }
+  if(returncode)
+    /* returncode errors have priority */
+    result = returncode;
+
+  if(result)
+    single_transfer_cleanup(global->current);
+
+  return result;
+}
+
+/* setup a transfer for the given config */
+static CURLcode transfer_per_config(struct GlobalConfig *global,
+                                    struct OperationConfig *config,
+                                    CURLSH *share,
+                                    bool *added)
+{
+  CURLcode result = CURLE_OK;
+  bool capath_from_env;
+  *added = FALSE;
+
+  /* Check we have a url */
+  if(!config->url_list || !config->url_list->url) {
+    helpf(global->errors, "no URL specified!\n");
+    return CURLE_FAILED_INIT;
+  }
+
+  /* On WIN32 we can't set the path to curl-ca-bundle.crt
+   * at compile time. So we look here for the file in two ways:
+   * 1: look at the environment variable CURL_CA_BUNDLE for a path
+   * 2: if #1 isn't found, use the windows API function SearchPath()
+   *    to find it along the app's path (includes app's dir and CWD)
+   *
+   * We support the environment variable thing for non-Windows platforms
+   * too. Just for the sake of it.
+   */
+  capath_from_env = false;
+  if(!config->cacert &&
+     !config->capath &&
+     (!config->insecure_ok || (config->doh_url && !config->doh_insecure_ok))) {
+    CURL *curltls = curl_easy_init();
+    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(curltls, CURLINFO_TLS_SSL_PTR,
+                               &tls_backend_info);
+    if(result) {
+      curl_easy_cleanup(curltls);
+      return result;
+    }
+
+    /* 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 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->cacert = strdup(env);
+        if(!config->cacert) {
+          curl_free(env);
+          curl_easy_cleanup(curltls);
+          errorf(global, "out of memory\n");
+          return CURLE_OUT_OF_MEMORY;
+        }
+      }
+      else {
+        env = curlx_getenv("SSL_CERT_DIR");
+        if(env) {
+          config->capath = strdup(env);
+          if(!config->capath) {
+            curl_free(env);
+            curl_easy_cleanup(curltls);
+            helpf(global->errors, "out of memory\n");
+            return CURLE_OUT_OF_MEMORY;
+          }
+          capath_from_env = true;
+        }
+        else {
+          env = curlx_getenv("SSL_CERT_FILE");
+          if(env) {
+            config->cacert = strdup(env);
+            if(!config->cacert) {
+              curl_free(env);
+              curl_easy_cleanup(curltls);
+              errorf(global, "out of memory\n");
+              return CURLE_OUT_OF_MEMORY;
+            }
+          }
+        }
+      }
+
+      if(env)
+        curl_free(env);
+#ifdef WIN32
+      else {
+        result = FindWin32CACert(config, tls_backend_info->backend,
+                                 TEXT("curl-ca-bundle.crt"));
+      }
+#endif
+    }
+    curl_easy_cleanup(curltls);
+  }
+
+  if(!result)
+    result = single_transfer(global, config, share, capath_from_env, added);
+
+  return result;
+}
+
+/*
+ * 'create_transfer' gets the details and sets up a new transfer if 'added'
+ * returns TRUE.
+ */
+static CURLcode create_transfer(struct GlobalConfig *global,
+                                CURLSH *share,
+                                bool *added)
+{
+  CURLcode result = CURLE_OK;
+  *added = FALSE;
+  while(global->current) {
+    result = transfer_per_config(global, global->current, share, added);
+    if(!result && !*added) {
+      /* when one set is drained, continue to next */
+      global->current = global->current->next;
+      continue;
+    }
+    break;
+  }
+  return result;
+}
+
+static CURLcode run_all_transfers(struct GlobalConfig *global,
+                                  CURLSH *share,
+                                  CURLcode result)
+{
+  /* Save the values of noprogress and isatty to restore them later on */
+  bool orig_noprogress = global->noprogress;
+  bool orig_isatty = global->isatty;
+  struct per_transfer *per;
+
+  /* Time to actually do the transfers */
+  if(!result) {
+    if(global->parallel)
+      result = parallel_transfers(global, share);
+    else
+      result = serial_transfers(global, share);
+  }
+
+  /* cleanup if there are any left */
+  for(per = transfers; per;) {
+    bool retry;
+    long delay;
+    CURLcode result2 = post_per_transfer(global, per, result, &retry, &delay);
+    if(!result)
+      /* don't overwrite the original error */
+      result = result2;
+
+    /* Free list of given URLs */
+    clean_getout(per->config);
+
+    per = del_per_transfer(per);
+  }
+
+  /* Reset the global config variables */
+  global->noprogress = orig_noprogress;
+  global->isatty = orig_isatty;
+
+
+  return result;
+}
+
+CURLcode operate(struct GlobalConfig *global, int argc, argv_item_t argv[])
+{
+  CURLcode result = CURLE_OK;
+  char *first_arg = argc > 1 ? curlx_convert_tchar_to_UTF8(argv[1]) : NULL;
+
+  /* Setup proper locale from environment */
+#ifdef HAVE_SETLOCALE
+  setlocale(LC_ALL, "");
+#endif
+
+  /* Parse .curlrc if necessary */
+  if((argc == 1) ||
+     (first_arg && strncmp(first_arg, "-q", 2) &&
+      !curl_strequal(first_arg, "--disable"))) {
+    parseconfig(NULL, global); /* ignore possible failure */
+
+    /* If we had no arguments then make sure a url was specified in .curlrc */
+    if((argc < 2) && (!global->first->url_list)) {
+      helpf(global->errors, NULL);
+      result = CURLE_FAILED_INIT;
+    }
+  }
+
+  curlx_unicodefree(first_arg);
+
+  if(!result) {
+    /* Parse the command line arguments */
+    ParameterError res = parse_args(global, argc, argv);
+    if(res) {
+      result = CURLE_OK;
+
+      /* Check if we were asked for the help */
+      if(res == PARAM_HELP_REQUESTED)
+        tool_help(global->help_category);
+      /* Check if we were asked for the manual */
+      else if(res == PARAM_MANUAL_REQUESTED)
+        hugehelp();
+      /* Check if we were asked for the version information */
+      else if(res == PARAM_VERSION_INFO_REQUESTED)
+        tool_version_info();
+      /* Check if we were asked to list the SSL engines */
+      else if(res == PARAM_ENGINES_REQUESTED)
+        tool_list_engines();
+      else if(res == PARAM_LIBCURL_UNSUPPORTED_PROTOCOL)
+        result = CURLE_UNSUPPORTED_PROTOCOL;
+      else if(res == PARAM_READ_ERROR)
+        result = CURLE_READ_ERROR;
+      else
+        result = CURLE_FAILED_INIT;
+    }
+    else {
+      if(global->libcurl) {
+        /* Initialise the libcurl source output */
+        result = easysrc_init();
+      }
+
+      /* Perform the main operations */
+      if(!result) {
+        size_t count = 0;
+        struct OperationConfig *operation = global->first;
+        CURLSH *share = curl_share_init();
+        if(!share) {
+          if(global->libcurl) {
+            /* Cleanup the libcurl source output */
+            easysrc_cleanup();
+          }
+          return CURLE_OUT_OF_MEMORY;
+        }
+
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
+        curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_PSL);
+
+        /* Get the required arguments for each operation */
+        do {
+          result = get_args(operation, count++);
+
+          operation = operation->next;
+        } while(!result && operation);
+
+        /* Set the current operation pointer */
+        global->current = global->first;
+
+        /* now run! */
+        result = run_all_transfers(global, share, result);
+
+        curl_share_cleanup(share);
+        if(global->libcurl) {
+          /* Cleanup the libcurl source output */
+          easysrc_cleanup();
+
+          /* Dump the libcurl code if previously enabled */
+          dumpeasysrc(global);
+        }
+      }
+      else
+        errorf(global, "out of memory\n");
+    }
+  }
+
+  return result;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_operate.h b/ap/lib/libcurl/curl-7.86.0/src/tool_operate.h
new file mode 100755
index 0000000..c714da1
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_operate.h
@@ -0,0 +1,83 @@
+#ifndef HEADER_CURL_TOOL_OPERATE_H
+#define HEADER_CURL_TOOL_OPERATE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_cb_hdr.h"
+#include "tool_cb_prg.h"
+#include "tool_sdecls.h"
+
+struct per_transfer {
+  /* double linked */
+  struct per_transfer *next;
+  struct per_transfer *prev;
+  struct OperationConfig *config; /* for this transfer */
+  CURL *curl;
+  long retry_numretries;
+  long retry_sleep_default;
+  long retry_sleep;
+  struct timeval retrystart;
+  char *this_url;
+  unsigned int urlnum; /* the index of the given URL */
+  char *outfile;
+  bool infdopen; /* TRUE if infd needs closing */
+  int infd;
+  bool noprogress;
+  struct ProgressData progressbar;
+  struct OutStruct outs;
+  struct OutStruct heads;
+  struct OutStruct etag_save;
+  struct InStruct input;
+  struct HdrCbData hdrcbdata;
+  long num_headers;
+  bool was_last_header_empty;
+
+  bool added; /* set TRUE when added to the multi handle */
+  time_t startat; /* when doing parallel transfers, this is a retry transfer
+                     that has been set to sleep until this time before it
+                     should get started (again) */
+  bool abort; /* when doing parallel transfers and this is TRUE then a critical
+                 error (eg --fail-early) has occurred in another transfer and
+                 this transfer will be aborted in the progress callback */
+
+  /* for parallel progress bar */
+  curl_off_t dltotal;
+  curl_off_t dlnow;
+  curl_off_t ultotal;
+  curl_off_t ulnow;
+  bool dltotal_added; /* if the total has been added from this */
+  bool ultotal_added;
+
+  /* NULL or malloced */
+  char *uploadfile;
+  char *errorbuffer; /* alloced and assigned while this is used for a
+                        transfer */
+};
+
+CURLcode operate(struct GlobalConfig *config, int argc, argv_item_t argv[]);
+void single_transfer_cleanup(struct OperationConfig *config);
+
+extern struct per_transfer *transfers; /* first node */
+
+#endif /* HEADER_CURL_TOOL_OPERATE_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.c b/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.c
new file mode 100755
index 0000000..eb58772
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.c
@@ -0,0 +1,215 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_operate.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_doswin.h"
+#include "tool_operhlp.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void clean_getout(struct OperationConfig *config)
+{
+  if(config) {
+    struct getout *next;
+    struct getout *node = config->url_list;
+
+    while(node) {
+      next = node->next;
+      Curl_safefree(node->url);
+      Curl_safefree(node->outfile);
+      Curl_safefree(node->infile);
+      Curl_safefree(node);
+      node = next;
+    }
+    config->url_list = NULL;
+  }
+  single_transfer_cleanup(config);
+}
+
+bool output_expected(const char *url, const char *uploadfile)
+{
+  if(!uploadfile)
+    return TRUE;  /* download */
+  if(checkprefix("http://", url) || checkprefix("https://", url))
+    return TRUE;   /* HTTP(S) upload */
+
+  return FALSE; /* non-HTTP upload, probably no output should be expected */
+}
+
+bool stdin_upload(const char *uploadfile)
+{
+  return (!strcmp(uploadfile, "-") ||
+          !strcmp(uploadfile, ".")) ? TRUE : FALSE;
+}
+
+/*
+ * Adds the file name to the URL if it doesn't already have one.
+ * url will be freed before return if the returned pointer is different
+ */
+CURLcode add_file_name_to_url(CURL *curl, char **inurlp, const char *filename)
+{
+  CURLcode result = CURLE_OUT_OF_MEMORY;
+  CURLU *uh = curl_url();
+  char *path = NULL;
+  if(uh) {
+    char *ptr;
+    if(curl_url_set(uh, CURLUPART_URL, *inurlp,
+                    CURLU_GUESS_SCHEME|CURLU_NON_SUPPORT_SCHEME))
+      goto fail;
+    if(curl_url_get(uh, CURLUPART_PATH, &path, 0))
+      goto fail;
+
+    ptr = strrchr(path, '/');
+    if(!ptr || !*++ptr) {
+      /* The URL path has no file name part, add the local file name. In order
+         to be able to do so, we have to create a new URL in another buffer.*/
+
+      /* We only want the part of the local path that is on the right
+         side of the rightmost slash and backslash. */
+      const char *filep = strrchr(filename, '/');
+      char *file2 = strrchr(filep?filep:filename, '\\');
+      char *encfile;
+
+      if(file2)
+        filep = file2 + 1;
+      else if(filep)
+        filep++;
+      else
+        filep = filename;
+
+      /* URL encode the file name */
+      encfile = curl_easy_escape(curl, filep, 0 /* use strlen */);
+      if(encfile) {
+        char *newpath;
+        char *newurl;
+        CURLUcode uerr;
+        if(ptr)
+          /* there is a trailing slash on the path */
+          newpath = aprintf("%s%s", path, encfile);
+        else
+          /* there is no trailing slash on the path */
+          newpath = aprintf("%s/%s", path, encfile);
+
+        curl_free(encfile);
+
+        if(!newpath)
+          goto fail;
+        uerr = curl_url_set(uh, CURLUPART_PATH, newpath, 0);
+        free(newpath);
+        if(uerr)
+          goto fail;
+        if(curl_url_get(uh, CURLUPART_URL, &newurl, CURLU_DEFAULT_SCHEME))
+          goto fail;
+        free(*inurlp);
+        *inurlp = newurl;
+        result = CURLE_OK;
+      }
+    }
+    else
+      /* nothing to do */
+      result = CURLE_OK;
+  }
+  fail:
+  curl_url_cleanup(uh);
+  curl_free(path);
+  return result;
+}
+
+/* Extracts the name portion of the URL.
+ * Returns a pointer to a heap-allocated string or NULL if
+ * no name part, at location indicated by first argument.
+ */
+CURLcode get_url_file_name(char **filename, const char *url)
+{
+  const char *pc, *pc2;
+  CURLU *uh = curl_url();
+  char *path = NULL;
+
+  if(!uh)
+    return CURLE_OUT_OF_MEMORY;
+
+  *filename = NULL;
+
+  if(!curl_url_set(uh, CURLUPART_URL, url, CURLU_GUESS_SCHEME) &&
+     !curl_url_get(uh, CURLUPART_PATH, &path, 0)) {
+    curl_url_cleanup(uh);
+
+    pc = strrchr(path, '/');
+    pc2 = strrchr(pc ? pc + 1 : path, '\\');
+    if(pc2)
+      pc = pc2;
+
+    if(pc)
+      /* duplicate the string beyond the slash */
+      pc++;
+    else
+      /* no slash => empty string */
+      pc = "";
+
+    *filename = strdup(pc);
+    curl_free(path);
+    if(!*filename)
+      return CURLE_OUT_OF_MEMORY;
+
+#if defined(MSDOS) || defined(WIN32)
+    {
+      char *sanitized;
+      SANITIZEcode sc = sanitize_file_name(&sanitized, *filename, 0);
+      Curl_safefree(*filename);
+      if(sc)
+        return CURLE_URL_MALFORMAT;
+      *filename = sanitized;
+    }
+#endif /* MSDOS || WIN32 */
+
+    /* in case we built debug enabled, we allow an environment variable
+     * named CURL_TESTDIR to prefix the given file name to put it into a
+     * specific directory
+     */
+#ifdef DEBUGBUILD
+    {
+      char *tdir = curlx_getenv("CURL_TESTDIR");
+      if(tdir) {
+        char *alt = aprintf("%s/%s", tdir, *filename);
+        Curl_safefree(*filename);
+        *filename = alt;
+        curl_free(tdir);
+        if(!*filename)
+          return CURLE_OUT_OF_MEMORY;
+      }
+    }
+#endif
+    return CURLE_OK;
+  }
+  curl_url_cleanup(uh);
+  return CURLE_URL_MALFORMAT;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.h b/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.h
new file mode 100755
index 0000000..8018d1a
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_operhlp.h
@@ -0,0 +1,40 @@
+#ifndef HEADER_CURL_TOOL_OPERHLP_H
+#define HEADER_CURL_TOOL_OPERHLP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+struct OperationConfig;
+
+void clean_getout(struct OperationConfig *config);
+
+bool output_expected(const char *url, const char *uploadfile);
+
+bool stdin_upload(const char *uploadfile);
+
+CURLcode add_file_name_to_url(CURL *curl, char **inurlp, const char *filename);
+
+CURLcode get_url_file_name(char **filename, const char *url);
+
+#endif /* HEADER_CURL_TOOL_OPERHLP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.c b/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.c
new file mode 100755
index 0000000..81feaba
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.c
@@ -0,0 +1,47 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(NETWARE)
+
+#ifdef NETWARE
+#  ifdef __NOVELL_LIBC__
+#    include <screen.h>
+#  else
+#    include <nwconio.h>
+#  endif
+#endif
+
+#include "tool_panykey.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void tool_pressanykey(void)
+{
+#if defined(NETWARE)
+  pressanykey();
+#endif
+}
+
+#endif /* NETWARE */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.h b/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.h
new file mode 100755
index 0000000..c5cc322
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_panykey.h
@@ -0,0 +1,34 @@
+#ifndef HEADER_CURL_TOOL_PANYKEY_H
+#define HEADER_CURL_TOOL_PANYKEY_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(NETWARE)
+void tool_pressanykey(void);
+#else
+#define tool_pressanykey() Curl_nop_stmt
+#endif
+
+#endif /* HEADER_CURL_TOOL_PANYKEY_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.c b/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.c
new file mode 100755
index 0000000..05afb8d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.c
@@ -0,0 +1,705 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "strcase.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_getparam.h"
+#include "tool_getpass.h"
+#include "tool_msgs.h"
+#include "tool_paramhlp.h"
+#include "tool_libinfo.h"
+#include "tool_util.h"
+#include "tool_version.h"
+#include "dynbuf.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+struct getout *new_getout(struct OperationConfig *config)
+{
+  struct getout *node = calloc(1, sizeof(struct getout));
+  struct getout *last = config->url_last;
+  if(node) {
+    static int outnum = 0;
+
+    /* append this new node last in the list */
+    if(last)
+      last->next = node;
+    else
+      config->url_list = node; /* first node */
+
+    /* move the last pointer */
+    config->url_last = node;
+
+    node->flags = config->default_node_flags;
+    node->num = outnum++;
+  }
+  return node;
+}
+
+#define MAX_FILE2STRING (256*1024*1024) /* big enough ? */
+
+ParameterError file2string(char **bufp, FILE *file)
+{
+  struct curlx_dynbuf dyn;
+  DEBUGASSERT(MAX_FILE2STRING < INT_MAX); /* needs to fit in an int later */
+  curlx_dyn_init(&dyn, MAX_FILE2STRING);
+  if(file) {
+    char buffer[256];
+
+    while(fgets(buffer, sizeof(buffer), file)) {
+      char *ptr = strchr(buffer, '\r');
+      if(ptr)
+        *ptr = '\0';
+      ptr = strchr(buffer, '\n');
+      if(ptr)
+        *ptr = '\0';
+      if(curlx_dyn_add(&dyn, buffer))
+        return PARAM_NO_MEM;
+    }
+  }
+  *bufp = curlx_dyn_ptr(&dyn);
+  return PARAM_OK;
+}
+
+#define MAX_FILE2MEMORY (1024*1024*1024) /* big enough ? */
+
+ParameterError file2memory(char **bufp, size_t *size, FILE *file)
+{
+  if(file) {
+    size_t nread;
+    struct curlx_dynbuf dyn;
+    /* The size needs to fit in an int later */
+    DEBUGASSERT(MAX_FILE2MEMORY < INT_MAX);
+    curlx_dyn_init(&dyn, MAX_FILE2MEMORY);
+    do {
+      char buffer[4096];
+      nread = fread(buffer, 1, sizeof(buffer), file);
+      if(ferror(file)) {
+        curlx_dyn_free(&dyn);
+        *size = 0;
+        *bufp = NULL;
+        return PARAM_READ_ERROR;
+      }
+      if(nread)
+        if(curlx_dyn_addn(&dyn, buffer, nread))
+          return PARAM_NO_MEM;
+    } while(!feof(file));
+    *size = curlx_dyn_len(&dyn);
+    *bufp = curlx_dyn_ptr(&dyn);
+  }
+  else {
+    *size = 0;
+    *bufp = NULL;
+  }
+  return PARAM_OK;
+}
+
+/*
+ * Parse the string and write the long in the given address. Return PARAM_OK
+ * on success, otherwise a parameter specific error enum.
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+static ParameterError getnum(long *val, const char *str, int base)
+{
+  if(str) {
+    char *endptr = NULL;
+    long num;
+    errno = 0;
+    num = strtol(str, &endptr, base);
+    if(errno == ERANGE)
+      return PARAM_NUMBER_TOO_LARGE;
+    if((endptr != str) && (endptr == str + strlen(str))) {
+      *val = num;
+      return PARAM_OK;  /* Ok */
+    }
+  }
+  return PARAM_BAD_NUMERIC; /* badness */
+}
+
+ParameterError str2num(long *val, const char *str)
+{
+  return getnum(val, str, 10);
+}
+
+ParameterError oct2nummax(long *val, const char *str, long max)
+{
+  ParameterError result = getnum(val, str, 8);
+  if(result != PARAM_OK)
+    return result;
+  else if(*val > max)
+    return PARAM_NUMBER_TOO_LARGE;
+  else if(*val < 0)
+    return PARAM_NEGATIVE_NUMERIC;
+
+  return PARAM_OK;
+}
+
+/*
+ * Parse the string and write the long in the given address. Return PARAM_OK
+ * on success, otherwise a parameter error enum. ONLY ACCEPTS POSITIVE NUMBERS!
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+ParameterError str2unum(long *val, const char *str)
+{
+  ParameterError result = getnum(val, str, 10);
+  if(result != PARAM_OK)
+    return result;
+  if(*val < 0)
+    return PARAM_NEGATIVE_NUMERIC;
+
+  return PARAM_OK;
+}
+
+/*
+ * Parse the string and write the long in the given address if it is below the
+ * maximum allowed value. Return PARAM_OK on success, otherwise a parameter
+ * error enum. ONLY ACCEPTS POSITIVE NUMBERS!
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+ParameterError str2unummax(long *val, const char *str, long max)
+{
+  ParameterError result = str2unum(val, str);
+  if(result != PARAM_OK)
+    return result;
+  if(*val > max)
+    return PARAM_NUMBER_TOO_LARGE;
+
+  return PARAM_OK;
+}
+
+
+/*
+ * Parse the string and write the double in the given address. Return PARAM_OK
+ * on success, otherwise a parameter specific error enum.
+ *
+ * The 'max' argument is the maximum value allowed, as the numbers are often
+ * multiplied when later used.
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+static ParameterError str2double(double *val, const char *str, double max)
+{
+  if(str) {
+    char *endptr;
+    double num;
+    errno = 0;
+    num = strtod(str, &endptr);
+    if(errno == ERANGE)
+      return PARAM_NUMBER_TOO_LARGE;
+    if(num > max) {
+      /* too large */
+      return PARAM_NUMBER_TOO_LARGE;
+    }
+    if((endptr != str) && (endptr == str + strlen(str))) {
+      *val = num;
+      return PARAM_OK;  /* Ok */
+    }
+  }
+  return PARAM_BAD_NUMERIC; /* badness */
+}
+
+/*
+ * Parse the string and write the double in the given address. Return PARAM_OK
+ * on success, otherwise a parameter error enum. ONLY ACCEPTS POSITIVE NUMBERS!
+ *
+ * The 'max' argument is the maximum value allowed, as the numbers are often
+ * multiplied when later used.
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+ParameterError str2udouble(double *valp, const char *str, double max)
+{
+  double value;
+  ParameterError result = str2double(&value, str, max);
+  if(result != PARAM_OK)
+    return result;
+  if(value < 0)
+    return PARAM_NEGATIVE_NUMERIC;
+
+  *valp = value;
+  return PARAM_OK;
+}
+
+/*
+ * Implement protocol sets in null-terminated array of protocol name pointers.
+ */
+
+/* Return index of prototype token in set, card(set) if not found.
+   Can be called with proto == NULL to get card(set). */
+static size_t protoset_index(const char * const *protoset, const char *proto)
+{
+  const char * const *p = protoset;
+
+  DEBUGASSERT(proto == proto_token(proto));     /* Ensure it is tokenized. */
+
+  for(; *p; p++)
+    if(proto == *p)
+      break;
+  return p - protoset;
+}
+
+/* Include protocol token in set. */
+static void protoset_set(const char **protoset, const char *proto)
+{
+  if(proto) {
+    size_t n = protoset_index(protoset, proto);
+
+    if(!protoset[n]) {
+      DEBUGASSERT(n < proto_count);
+      protoset[n] = proto;
+      protoset[n + 1] = NULL;
+    }
+  }
+}
+
+/* Exclude protocol token from set. */
+static void protoset_clear(const char **protoset, const char *proto)
+{
+  if(proto) {
+    size_t n = protoset_index(protoset, proto);
+
+    if(protoset[n]) {
+      size_t m = protoset_index(protoset, NULL) - 1;
+
+      protoset[n] = protoset[m];
+      protoset[m] = NULL;
+    }
+  }
+}
+
+/*
+ * Parse the string and provide an allocated libcurl compatible protocol
+ * string output. Return non-zero on failure, zero on success.
+ *
+ * The string is a list of protocols
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+#define MAX_PROTOSTRING (64*11) /* Enough room for 64 10-chars proto names. */
+
+ParameterError proto2num(struct OperationConfig *config,
+                         const char * const *val, char **ostr, const char *str)
+{
+  char *buffer;
+  const char *sep = ",";
+  char *token;
+  const char **protoset;
+  struct curlx_dynbuf obuf;
+  size_t proto;
+  CURLcode result;
+
+  curlx_dyn_init(&obuf, MAX_PROTOSTRING);
+
+  if(!str)
+    return PARAM_OPTION_AMBIGUOUS;
+
+  buffer = strdup(str); /* because strtok corrupts it */
+  if(!buffer)
+    return PARAM_NO_MEM;
+
+  protoset = malloc((proto_count + 1) * sizeof(*protoset));
+  if(!protoset) {
+    free(buffer);
+    return PARAM_NO_MEM;
+  }
+
+  /* Preset protocol set with default values. */
+  protoset[0] = NULL;
+  for(; *val; val++) {
+    const char *p = proto_token(*val);
+
+    if(p)
+      protoset_set(protoset, p);
+  }
+
+  /* Allow strtok() here since this isn't used threaded */
+  /* !checksrc! disable BANNEDFUNC 2 */
+  for(token = strtok(buffer, sep);
+      token;
+      token = strtok(NULL, sep)) {
+    enum e_action { allow, deny, set } action = allow;
+
+    /* Process token modifiers */
+    while(!ISALNUM(*token)) { /* may be NULL if token is all modifiers */
+      switch (*token++) {
+      case '=':
+        action = set;
+        break;
+      case '-':
+        action = deny;
+        break;
+      case '+':
+        action = allow;
+        break;
+      default: /* Includes case of terminating NULL */
+        free(buffer);
+        free((char *) protoset);
+        return PARAM_BAD_USE;
+      }
+    }
+
+    if(curl_strequal(token, "all")) {
+      switch(action) {
+      case deny:
+        protoset[0] = NULL;
+        break;
+      case allow:
+      case set:
+        memcpy((char *) protoset,
+               built_in_protos, (proto_count + 1) * sizeof(*protoset));
+        break;
+      }
+    }
+    else {
+      const char *p = proto_token(token);
+
+      if(p)
+        switch(action) {
+        case deny:
+          protoset_clear(protoset, p);
+          break;
+        case set:
+          protoset[0] = NULL;
+          /* FALLTHROUGH */
+        case allow:
+          protoset_set(protoset, p);
+          break;
+        }
+      else { /* unknown protocol */
+        /* If they have specified only this protocol, we say treat it as
+           if no protocols are allowed */
+        if(action == set)
+          protoset[0] = NULL;
+        warnf(config->global, "unrecognized protocol '%s'\n", token);
+      }
+    }
+  }
+  free(buffer);
+
+  /* We need the protocols in alphabetic order for CI tests requirements. */
+  qsort((char *) protoset, protoset_index(protoset, NULL), sizeof(*protoset),
+        struplocompare4sort);
+
+  result = curlx_dyn_addn(&obuf, "", 0);
+  for(proto = 0; protoset[proto] && !result; proto++)
+    result = curlx_dyn_addf(&obuf, "%s,", protoset[proto]);
+  free((char *) protoset);
+  curlx_dyn_setlen(&obuf, curlx_dyn_len(&obuf) - 1);
+  *ostr = curlx_dyn_ptr(&obuf);
+
+  return *ostr ? PARAM_OK : PARAM_NO_MEM;
+}
+
+/**
+ * Check if the given string is a protocol supported by libcurl
+ *
+ * @param str  the protocol name
+ * @return PARAM_OK  protocol supported
+ * @return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL  protocol not supported
+ * @return PARAM_REQUIRES_PARAMETER   missing parameter
+ */
+ParameterError check_protocol(const char *str)
+{
+  if(!str)
+    return PARAM_REQUIRES_PARAMETER;
+
+  if(proto_token(str))
+    return PARAM_OK;
+  return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL;
+}
+
+/**
+ * Parses the given string looking for an offset (which may be a
+ * larger-than-integer value). The offset CANNOT be negative!
+ *
+ * @param val  the offset to populate
+ * @param str  the buffer containing the offset
+ * @return PARAM_OK if successful, a parameter specific error enum if failure.
+ */
+ParameterError str2offset(curl_off_t *val, const char *str)
+{
+  char *endptr;
+  if(str[0] == '-')
+    /* offsets aren't negative, this indicates weird input */
+    return PARAM_NEGATIVE_NUMERIC;
+
+#if(SIZEOF_CURL_OFF_T > SIZEOF_LONG)
+  {
+    CURLofft offt = curlx_strtoofft(str, &endptr, 0, val);
+    if(CURL_OFFT_FLOW == offt)
+      return PARAM_NUMBER_TOO_LARGE;
+    else if(CURL_OFFT_INVAL == offt)
+      return PARAM_BAD_NUMERIC;
+  }
+#else
+  errno = 0;
+  *val = strtol(str, &endptr, 0);
+  if((*val == LONG_MIN || *val == LONG_MAX) && errno == ERANGE)
+    return PARAM_NUMBER_TOO_LARGE;
+#endif
+  if((endptr != str) && (endptr == str + strlen(str)))
+    return PARAM_OK;
+
+  return PARAM_BAD_NUMERIC;
+}
+
+#define MAX_USERPWDLENGTH (100*1024)
+static CURLcode checkpasswd(const char *kind, /* for what purpose */
+                            const size_t i,   /* operation index */
+                            const bool last,  /* TRUE if last operation */
+                            char **userpwd)   /* pointer to allocated string */
+{
+  char *psep;
+  char *osep;
+
+  if(!*userpwd)
+    return CURLE_OK;
+
+  /* Attempt to find the password separator */
+  psep = strchr(*userpwd, ':');
+
+  /* Attempt to find the options separator */
+  osep = strchr(*userpwd, ';');
+
+  if(!psep && **userpwd != ';') {
+    /* no password present, prompt for one */
+    char passwd[2048] = "";
+    char prompt[256];
+    struct curlx_dynbuf dyn;
+
+    curlx_dyn_init(&dyn, MAX_USERPWDLENGTH);
+    if(osep)
+      *osep = '\0';
+
+    /* build a nice-looking prompt */
+    if(!i && last)
+      curlx_msnprintf(prompt, sizeof(prompt),
+                      "Enter %s password for user '%s':",
+                      kind, *userpwd);
+    else
+      curlx_msnprintf(prompt, sizeof(prompt),
+                      "Enter %s password for user '%s' on URL #%zu:",
+                      kind, *userpwd, i + 1);
+
+    /* get password */
+    getpass_r(prompt, passwd, sizeof(passwd));
+    if(osep)
+      *osep = ';';
+
+    if(curlx_dyn_addf(&dyn, "%s:%s", *userpwd, passwd))
+      return CURLE_OUT_OF_MEMORY;
+
+    /* return the new string */
+    free(*userpwd);
+    *userpwd = curlx_dyn_ptr(&dyn);
+  }
+
+  return CURLE_OK;
+}
+
+ParameterError add2list(struct curl_slist **list, const char *ptr)
+{
+  struct curl_slist *newlist = curl_slist_append(*list, ptr);
+  if(newlist)
+    *list = newlist;
+  else
+    return PARAM_NO_MEM;
+
+  return PARAM_OK;
+}
+
+int ftpfilemethod(struct OperationConfig *config, const char *str)
+{
+  if(curl_strequal("singlecwd", str))
+    return CURLFTPMETHOD_SINGLECWD;
+  if(curl_strequal("nocwd", str))
+    return CURLFTPMETHOD_NOCWD;
+  if(curl_strequal("multicwd", str))
+    return CURLFTPMETHOD_MULTICWD;
+
+  warnf(config->global, "unrecognized ftp file method '%s', using default\n",
+        str);
+
+  return CURLFTPMETHOD_MULTICWD;
+}
+
+int ftpcccmethod(struct OperationConfig *config, const char *str)
+{
+  if(curl_strequal("passive", str))
+    return CURLFTPSSL_CCC_PASSIVE;
+  if(curl_strequal("active", str))
+    return CURLFTPSSL_CCC_ACTIVE;
+
+  warnf(config->global, "unrecognized ftp CCC method '%s', using default\n",
+        str);
+
+  return CURLFTPSSL_CCC_PASSIVE;
+}
+
+long delegation(struct OperationConfig *config, const char *str)
+{
+  if(curl_strequal("none", str))
+    return CURLGSSAPI_DELEGATION_NONE;
+  if(curl_strequal("policy", str))
+    return CURLGSSAPI_DELEGATION_POLICY_FLAG;
+  if(curl_strequal("always", str))
+    return CURLGSSAPI_DELEGATION_FLAG;
+
+  warnf(config->global, "unrecognized delegation method '%s', using none\n",
+        str);
+
+  return CURLGSSAPI_DELEGATION_NONE;
+}
+
+/*
+ * my_useragent: returns allocated string with default user agent
+ */
+static char *my_useragent(void)
+{
+  return strdup(CURL_NAME "/" CURL_VERSION);
+}
+
+#define isheadersep(x) ((((x)==':') || ((x)==';')))
+
+/*
+ * inlist() returns true if the given 'checkfor' header is present in the
+ * header list.
+ */
+static bool inlist(const struct curl_slist *head,
+                   const char *checkfor)
+{
+  size_t thislen = strlen(checkfor);
+  DEBUGASSERT(thislen);
+  DEBUGASSERT(checkfor[thislen-1] != ':');
+
+  for(; head; head = head->next) {
+    if(curl_strnequal(head->data, checkfor, thislen) &&
+       isheadersep(head->data[thislen]) )
+      return TRUE;
+  }
+
+  return FALSE;
+}
+
+CURLcode get_args(struct OperationConfig *config, const size_t i)
+{
+  CURLcode result = CURLE_OK;
+  bool last = (config->next ? FALSE : TRUE);
+
+  if(config->jsoned) {
+    ParameterError err = PARAM_OK;
+    /* --json also implies json Content-Type: and Accept: headers - if
+       they are not set with -H */
+    if(!inlist(config->headers, "Content-Type"))
+      err = add2list(&config->headers, "Content-Type: application/json");
+    if(!err && !inlist(config->headers, "Accept"))
+      err = add2list(&config->headers, "Accept: application/json");
+    if(err)
+      return CURLE_OUT_OF_MEMORY;
+  }
+
+  /* Check we have a password for the given host user */
+  if(config->userpwd && !config->oauth_bearer) {
+    result = checkpasswd("host", i, last, &config->userpwd);
+    if(result)
+      return result;
+  }
+
+  /* Check we have a password for the given proxy user */
+  if(config->proxyuserpwd) {
+    result = checkpasswd("proxy", i, last, &config->proxyuserpwd);
+    if(result)
+      return result;
+  }
+
+  /* Check we have a user agent */
+  if(!config->useragent) {
+    config->useragent = my_useragent();
+    if(!config->useragent) {
+      errorf(config->global, "out of memory\n");
+      result = CURLE_OUT_OF_MEMORY;
+    }
+  }
+
+  return result;
+}
+
+/*
+ * Parse the string and modify ssl_version in the val argument. Return PARAM_OK
+ * on success, otherwise a parameter error enum. ONLY ACCEPTS POSITIVE NUMBERS!
+ *
+ * Since this function gets called with the 'nextarg' pointer from within the
+ * getparameter a lot, we must check it for NULL before accessing the str
+ * data.
+ */
+
+ParameterError str2tls_max(long *val, const char *str)
+{
+   static struct s_tls_max {
+    const char *tls_max_str;
+    long tls_max;
+  } const tls_max_array[] = {
+    { "default", CURL_SSLVERSION_MAX_DEFAULT },
+    { "1.0",     CURL_SSLVERSION_MAX_TLSv1_0 },
+    { "1.1",     CURL_SSLVERSION_MAX_TLSv1_1 },
+    { "1.2",     CURL_SSLVERSION_MAX_TLSv1_2 },
+    { "1.3",     CURL_SSLVERSION_MAX_TLSv1_3 }
+  };
+  size_t i = 0;
+  if(!str)
+    return PARAM_REQUIRES_PARAMETER;
+  for(i = 0; i < sizeof(tls_max_array)/sizeof(tls_max_array[0]); i++) {
+    if(!strcmp(str, tls_max_array[i].tls_max_str)) {
+      *val = tls_max_array[i].tls_max;
+      return PARAM_OK;
+    }
+  }
+  return PARAM_BAD_USE;
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.h b/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.h
new file mode 100755
index 0000000..7d68583
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_paramhlp.h
@@ -0,0 +1,61 @@
+#ifndef HEADER_CURL_TOOL_PARAMHLP_H
+#define HEADER_CURL_TOOL_PARAMHLP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_libinfo.h"
+
+struct getout *new_getout(struct OperationConfig *config);
+
+ParameterError file2string(char **bufp, FILE *file);
+
+ParameterError file2memory(char **bufp, size_t *size, FILE *file);
+
+ParameterError str2num(long *val, const char *str);
+ParameterError str2unum(long *val, const char *str);
+ParameterError oct2nummax(long *val, const char *str, long max);
+ParameterError str2unummax(long *val, const char *str, long max);
+ParameterError str2udouble(double *val, const char *str, double max);
+
+ParameterError proto2num(struct OperationConfig *config,
+                         const char * const *val, char **obuf,
+                         const char *str);
+
+ParameterError check_protocol(const char *str);
+
+ParameterError str2offset(curl_off_t *val, const char *str);
+
+CURLcode get_args(struct OperationConfig *config, const size_t i);
+
+ParameterError add2list(struct curl_slist **list, const char *ptr);
+
+int ftpfilemethod(struct OperationConfig *config, const char *str);
+
+int ftpcccmethod(struct OperationConfig *config, const char *str);
+
+long delegation(struct OperationConfig *config, const char *str);
+
+ParameterError str2tls_max(long *val, const char *str);
+
+#endif /* HEADER_CURL_TOOL_PARAMHLP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.c b/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.c
new file mode 100755
index 0000000..a166757
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.c
@@ -0,0 +1,351 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_getparam.h"
+#include "tool_helpers.h"
+#include "tool_findfile.h"
+#include "tool_msgs.h"
+#include "tool_parsecfg.h"
+#include "dynbuf.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* only acknowledge colon or equals as separators if the option was not
+   specified with an initial dash! */
+#define ISSEP(x,dash) (!dash && (((x) == '=') || ((x) == ':')))
+
+static const char *unslashquote(const char *line, char *param);
+
+#define MAX_CONFIG_LINE_LENGTH (100*1024)
+static bool my_get_line(FILE *fp, struct curlx_dynbuf *, bool *error);
+
+#ifdef WIN32
+static FILE *execpath(const char *filename, char **pathp)
+{
+  static char filebuffer[512];
+  /* Get the filename of our executable. GetModuleFileName is already declared
+   * via inclusions done in setup header file.  We assume that we are using
+   * the ASCII version here.
+   */
+  unsigned long len = GetModuleFileNameA(0, filebuffer, sizeof(filebuffer));
+  if(len > 0 && len < sizeof(filebuffer)) {
+    /* We got a valid filename - get the directory part */
+    char *lastdirchar = strrchr(filebuffer, '\\');
+    if(lastdirchar) {
+      size_t remaining;
+      *lastdirchar = 0;
+      /* If we have enough space, build the RC filename */
+      remaining = sizeof(filebuffer) - strlen(filebuffer);
+      if(strlen(filename) < remaining - 1) {
+        FILE *f;
+        msnprintf(lastdirchar, remaining, "%s%s", DIR_CHAR, filename);
+        *pathp = filebuffer;
+        f = fopen(filebuffer, FOPEN_READTEXT);
+        return f;
+      }
+    }
+  }
+
+  return NULL;
+}
+#endif
+
+
+/* return 0 on everything-is-fine, and non-zero otherwise */
+int parseconfig(const char *filename, struct GlobalConfig *global)
+{
+  FILE *file = NULL;
+  bool usedarg = FALSE;
+  int rc = 0;
+  struct OperationConfig *operation = global->last;
+  char *pathalloc = NULL;
+
+  if(!filename) {
+    /* NULL means load .curlrc from homedir! */
+    char *curlrc = findfile(".curlrc", CURLRC_DOTSCORE);
+    if(curlrc) {
+      file = fopen(curlrc, FOPEN_READTEXT);
+      if(!file) {
+        free(curlrc);
+        return 1;
+      }
+      filename = pathalloc = curlrc;
+    }
+#ifdef WIN32 /* Windows */
+    else {
+      char *fullp;
+      /* check for .curlrc then _curlrc in the dir of the executable */
+      file = execpath(".curlrc", &fullp);
+      if(!file)
+        file = execpath("_curlrc", &fullp);
+      if(file)
+        /* this is the filename we read from */
+        filename = fullp;
+    }
+#endif
+  }
+  else {
+    if(strcmp(filename, "-"))
+      file = fopen(filename, FOPEN_READTEXT);
+    else
+      file = stdin;
+  }
+
+  if(file) {
+    char *line;
+    char *option;
+    char *param;
+    int lineno = 0;
+    bool dashed_option;
+    struct curlx_dynbuf buf;
+    bool fileerror;
+    curlx_dyn_init(&buf, MAX_CONFIG_LINE_LENGTH);
+    DEBUGASSERT(filename);
+
+    while(my_get_line(file, &buf, &fileerror)) {
+      int res;
+      bool alloced_param = FALSE;
+      lineno++;
+      line = curlx_dyn_ptr(&buf);
+      if(!line) {
+        rc = 1; /* out of memory */
+        break;
+      }
+
+      /* line with # in the first non-blank column is a comment! */
+      while(*line && ISSPACE(*line))
+        line++;
+
+      switch(*line) {
+      case '#':
+      case '/':
+      case '\r':
+      case '\n':
+      case '*':
+      case '\0':
+        curlx_dyn_reset(&buf);
+        continue;
+      }
+
+      /* the option keywords starts here */
+      option = line;
+
+      /* the option starts with a dash? */
+      dashed_option = option[0]=='-'?TRUE:FALSE;
+
+      while(*line && !ISSPACE(*line) && !ISSEP(*line, dashed_option))
+        line++;
+      /* ... and has ended here */
+
+      if(*line)
+        *line++ = '\0'; /* null-terminate, we have a local copy of the data */
+
+#ifdef DEBUG_CONFIG
+      fprintf(stderr, "GOT: %s\n", option);
+#endif
+
+      /* pass spaces and separator(s) */
+      while(*line && (ISSPACE(*line) || ISSEP(*line, dashed_option)))
+        line++;
+
+      /* the parameter starts here (unless quoted) */
+      if(*line == '\"') {
+        /* quoted parameter, do the quote dance */
+        line++;
+        param = malloc(strlen(line) + 1); /* parameter */
+        if(!param) {
+          /* out of memory */
+          rc = 1;
+          break;
+        }
+        alloced_param = TRUE;
+        (void)unslashquote(line, param);
+      }
+      else {
+        param = line; /* parameter starts here */
+        while(*line && !ISSPACE(*line))
+          line++;
+
+        if(*line) {
+          *line = '\0'; /* null-terminate */
+
+          /* to detect mistakes better, see if there's data following */
+          line++;
+          /* pass all spaces */
+          while(*line && ISSPACE(*line))
+            line++;
+
+          switch(*line) {
+          case '\0':
+          case '\r':
+          case '\n':
+          case '#': /* comment */
+            break;
+          default:
+            warnf(operation->global, "%s:%d: warning: '%s' uses unquoted "
+                  "whitespace in the line that may cause side-effects!\n",
+                  filename, lineno, option);
+          }
+        }
+        if(!*param)
+          /* do this so getparameter can check for required parameters.
+             Otherwise it always thinks there's a parameter. */
+          param = NULL;
+      }
+
+#ifdef DEBUG_CONFIG
+      fprintf(stderr, "PARAM: \"%s\"\n",(param ? param : "(null)"));
+#endif
+      res = getparameter(option, param, &usedarg, global, operation);
+      operation = global->last;
+
+      if(!res && param && *param && !usedarg)
+        /* we passed in a parameter that wasn't used! */
+        res = PARAM_GOT_EXTRA_PARAMETER;
+
+      if(res == PARAM_NEXT_OPERATION) {
+        if(operation->url_list && operation->url_list->url) {
+          /* Allocate the next config */
+          operation->next = malloc(sizeof(struct OperationConfig));
+          if(operation->next) {
+            /* Initialise the newly created config */
+            config_init(operation->next);
+
+            /* Set the global config pointer */
+            operation->next->global = global;
+
+            /* Update the last operation pointer */
+            global->last = operation->next;
+
+            /* Move onto the new config */
+            operation->next->prev = operation;
+            operation = operation->next;
+          }
+          else
+            res = PARAM_NO_MEM;
+        }
+      }
+
+      if(res != PARAM_OK && res != PARAM_NEXT_OPERATION) {
+        /* the help request isn't really an error */
+        if(!strcmp(filename, "-")) {
+          filename = "<stdin>";
+        }
+        if(res != PARAM_HELP_REQUESTED &&
+           res != PARAM_MANUAL_REQUESTED &&
+           res != PARAM_VERSION_INFO_REQUESTED &&
+           res != PARAM_ENGINES_REQUESTED) {
+          const char *reason = param2text(res);
+          warnf(operation->global, "%s:%d: warning: '%s' %s\n",
+                filename, lineno, option, reason);
+        }
+      }
+
+      if(alloced_param)
+        Curl_safefree(param);
+
+      curlx_dyn_reset(&buf);
+    }
+    curlx_dyn_free(&buf);
+    if(file != stdin)
+      fclose(file);
+    if(fileerror)
+      rc = 1;
+  }
+  else
+    rc = 1; /* couldn't open the file */
+
+  free(pathalloc);
+  return rc;
+}
+
+/*
+ * Copies the string from line to the buffer at param, unquoting
+ * backslash-quoted characters and NUL-terminating the output string.
+ * Stops at the first non-backslash-quoted double quote character or the
+ * end of the input string. param must be at least as long as the input
+ * string.  Returns the pointer after the last handled input character.
+ */
+static const char *unslashquote(const char *line, char *param)
+{
+  while(*line && (*line != '\"')) {
+    if(*line == '\\') {
+      char out;
+      line++;
+
+      /* default is to output the letter after the backslash */
+      switch(out = *line) {
+      case '\0':
+        continue; /* this'll break out of the loop */
+      case 't':
+        out = '\t';
+        break;
+      case 'n':
+        out = '\n';
+        break;
+      case 'r':
+        out = '\r';
+        break;
+      case 'v':
+        out = '\v';
+        break;
+      }
+      *param++ = out;
+      line++;
+    }
+    else
+      *param++ = *line++;
+  }
+  *param = '\0'; /* always null-terminate */
+  return line;
+}
+
+/*
+ * Reads a line from the given file, ensuring is NUL terminated.
+ */
+static bool my_get_line(FILE *fp, struct curlx_dynbuf *db,
+                        bool *error)
+{
+  char buf[4096];
+  *error = FALSE;
+  do {
+    /* fgets() returns s on success, and NULL on error or when end of file
+       occurs while no characters have been read. */
+    if(!fgets(buf, sizeof(buf), fp))
+      /* only if there's data in the line, return TRUE */
+      return curlx_dyn_len(db) ? TRUE : FALSE;
+    if(curlx_dyn_add(db, buf)) {
+      *error = TRUE; /* error */
+      return FALSE; /* stop reading */
+    }
+  } while(!strchr(buf, '\n'));
+
+  return TRUE; /* continue */
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.h b/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.h
new file mode 100755
index 0000000..90af619
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_parsecfg.h
@@ -0,0 +1,30 @@
+#ifndef HEADER_CURL_TOOL_PARSECFG_H
+#define HEADER_CURL_TOOL_PARSECFG_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+int parseconfig(const char *filename, struct GlobalConfig *config);
+
+#endif /* HEADER_CURL_TOOL_PARSECFG_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_progress.c b/ap/lib/libcurl/curl-7.86.0/src/tool_progress.c
new file mode 100755
index 0000000..266177b
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_progress.c
@@ -0,0 +1,331 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_operate.h"
+#include "tool_progress.h"
+#include "tool_util.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+/* The point of this function would be to return a string of the input data,
+   but never longer than 5 columns (+ one zero byte).
+   Add suffix k, M, G when suitable... */
+static char *max5data(curl_off_t bytes, char *max5)
+{
+#define ONE_KILOBYTE  CURL_OFF_T_C(1024)
+#define ONE_MEGABYTE (CURL_OFF_T_C(1024) * ONE_KILOBYTE)
+#define ONE_GIGABYTE (CURL_OFF_T_C(1024) * ONE_MEGABYTE)
+#define ONE_TERABYTE (CURL_OFF_T_C(1024) * ONE_GIGABYTE)
+#define ONE_PETABYTE (CURL_OFF_T_C(1024) * ONE_TERABYTE)
+
+  if(bytes < CURL_OFF_T_C(100000))
+    msnprintf(max5, 6, "%5" CURL_FORMAT_CURL_OFF_T, bytes);
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_KILOBYTE)
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "k", bytes/ONE_KILOBYTE);
+
+  else if(bytes < CURL_OFF_T_C(100) * ONE_MEGABYTE)
+    /* 'XX.XM' is good as long as we're less than 100 megs */
+    msnprintf(max5, 6, "%2" CURL_FORMAT_CURL_OFF_T ".%0"
+              CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE,
+              (bytes%ONE_MEGABYTE) / (ONE_MEGABYTE/CURL_OFF_T_C(10)) );
+
+#if (SIZEOF_CURL_OFF_T > 4)
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_MEGABYTE)
+    /* 'XXXXM' is good until we're at 10000MB or above */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE);
+
+  else if(bytes < CURL_OFF_T_C(100) * ONE_GIGABYTE)
+    /* 10000 MB - 100 GB, we show it as XX.XG */
+    msnprintf(max5, 6, "%2" CURL_FORMAT_CURL_OFF_T ".%0"
+              CURL_FORMAT_CURL_OFF_T "G", bytes/ONE_GIGABYTE,
+              (bytes%ONE_GIGABYTE) / (ONE_GIGABYTE/CURL_OFF_T_C(10)) );
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_GIGABYTE)
+    /* up to 10000GB, display without decimal: XXXXG */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "G", bytes/ONE_GIGABYTE);
+
+  else if(bytes < CURL_OFF_T_C(10000) * ONE_TERABYTE)
+    /* up to 10000TB, display without decimal: XXXXT */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "T", bytes/ONE_TERABYTE);
+
+  else
+    /* up to 10000PB, display without decimal: XXXXP */
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "P", bytes/ONE_PETABYTE);
+
+    /* 16384 petabytes (16 exabytes) is the maximum a 64 bit unsigned number
+       can hold, but our data type is signed so 8192PB will be the maximum. */
+
+#else
+
+  else
+    msnprintf(max5, 6, "%4" CURL_FORMAT_CURL_OFF_T "M", bytes/ONE_MEGABYTE);
+
+#endif
+
+  return max5;
+}
+
+int xferinfo_cb(void *clientp,
+                curl_off_t dltotal,
+                curl_off_t dlnow,
+                curl_off_t ultotal,
+                curl_off_t ulnow)
+{
+  struct per_transfer *per = clientp;
+  struct OperationConfig *config = per->config;
+  per->dltotal = dltotal;
+  per->dlnow = dlnow;
+  per->ultotal = ultotal;
+  per->ulnow = ulnow;
+
+  if(per->abort)
+    return 1;
+
+  if(config->readbusy) {
+    config->readbusy = FALSE;
+    curl_easy_pause(per->curl, CURLPAUSE_CONT);
+  }
+
+  return 0;
+}
+
+/* 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)
+{
+  curl_off_t h;
+  if(seconds <= 0) {
+    strcpy(r, "--:--:--");
+    return;
+  }
+  h = seconds / CURL_OFF_T_C(3600);
+  if(h <= CURL_OFF_T_C(99)) {
+    curl_off_t m = (seconds - (h*CURL_OFF_T_C(3600))) / CURL_OFF_T_C(60);
+    curl_off_t s = (seconds - (h*CURL_OFF_T_C(3600))) - (m*CURL_OFF_T_C(60));
+    msnprintf(r, 9, "%2" CURL_FORMAT_CURL_OFF_T ":%02" CURL_FORMAT_CURL_OFF_T
+              ":%02" CURL_FORMAT_CURL_OFF_T, h, m, s);
+  }
+  else {
+    /* this equals to more than 99 hours, switch to a more suitable output
+       format to fit within the limits. */
+    curl_off_t d = seconds / CURL_OFF_T_C(86400);
+    h = (seconds - (d*CURL_OFF_T_C(86400))) / CURL_OFF_T_C(3600);
+    if(d <= CURL_OFF_T_C(999))
+      msnprintf(r, 9, "%3" CURL_FORMAT_CURL_OFF_T
+                "d %02" CURL_FORMAT_CURL_OFF_T "h", d, h);
+    else
+      msnprintf(r, 9, "%7" CURL_FORMAT_CURL_OFF_T "d", d);
+  }
+}
+
+static curl_off_t all_dltotal = 0;
+static curl_off_t all_ultotal = 0;
+static curl_off_t all_dlalready = 0;
+static curl_off_t all_ulalready = 0;
+
+curl_off_t all_xfers = 0;   /* current total */
+
+struct speedcount {
+  curl_off_t dl;
+  curl_off_t ul;
+  struct timeval stamp;
+};
+#define SPEEDCNT 10
+static unsigned int speedindex;
+static bool indexwrapped;
+static struct speedcount speedstore[SPEEDCNT];
+
+/*
+  |DL% UL%  Dled  Uled  Xfers  Live Total     Current  Left    Speed
+  |  6 --   9.9G     0     2     2   0:00:40  0:00:02  0:00:37 4087M
+*/
+bool progress_meter(struct GlobalConfig *global,
+                    struct timeval *start,
+                    bool final)
+{
+  static struct timeval stamp;
+  static bool header = FALSE;
+  struct timeval now;
+  long diff;
+
+  if(global->noprogress)
+    return FALSE;
+
+  now = tvnow();
+  diff = tvdiff(now, stamp);
+
+  if(!header) {
+    header = TRUE;
+    fputs("DL% UL%  Dled  Uled  Xfers  Live "
+          "Total     Current  Left    Speed\n",
+          global->errors);
+  }
+  if(final || (diff > 500)) {
+    char time_left[10];
+    char time_total[10];
+    char time_spent[10];
+    char buffer[3][6];
+    curl_off_t spent = tvdiff(now, *start)/1000;
+    char dlpercen[4]="--";
+    char ulpercen[4]="--";
+    struct per_transfer *per;
+    curl_off_t all_dlnow = 0;
+    curl_off_t all_ulnow = 0;
+    bool dlknown = TRUE;
+    bool ulknown = TRUE;
+    curl_off_t all_running = 0; /* in progress */
+    curl_off_t speed = 0;
+    unsigned int i;
+    stamp = now;
+
+    /* first add the amounts of the already completed transfers */
+    all_dlnow += all_dlalready;
+    all_ulnow += all_ulalready;
+
+    for(per = transfers; per; per = per->next) {
+      all_dlnow += per->dlnow;
+      all_ulnow += per->ulnow;
+      if(!per->dltotal)
+        dlknown = FALSE;
+      else if(!per->dltotal_added) {
+        /* only add this amount once */
+        all_dltotal += per->dltotal;
+        per->dltotal_added = TRUE;
+      }
+      if(!per->ultotal)
+        ulknown = FALSE;
+      else if(!per->ultotal_added) {
+        /* only add this amount once */
+        all_ultotal += per->ultotal;
+        per->ultotal_added = TRUE;
+      }
+      if(per->added)
+        all_running++;
+    }
+    if(dlknown && all_dltotal)
+      /* TODO: handle integer overflow */
+      msnprintf(dlpercen, sizeof(dlpercen), "%3" CURL_FORMAT_CURL_OFF_T,
+                all_dlnow * 100 / all_dltotal);
+    if(ulknown && all_ultotal)
+      /* TODO: handle integer overflow */
+      msnprintf(ulpercen, sizeof(ulpercen), "%3" CURL_FORMAT_CURL_OFF_T,
+                all_ulnow * 100 / all_ultotal);
+
+    /* get the transfer speed, the higher of the two */
+
+    i = speedindex;
+    speedstore[i].dl = all_dlnow;
+    speedstore[i].ul = all_ulnow;
+    speedstore[i].stamp = now;
+    if(++speedindex >= SPEEDCNT) {
+      indexwrapped = TRUE;
+      speedindex = 0;
+    }
+
+    {
+      long deltams;
+      curl_off_t dl;
+      curl_off_t ul;
+      curl_off_t dls;
+      curl_off_t uls;
+      if(indexwrapped) {
+        /* 'speedindex' is the oldest stored data */
+        deltams = tvdiff(now, speedstore[speedindex].stamp);
+        dl = all_dlnow - speedstore[speedindex].dl;
+        ul = all_ulnow - speedstore[speedindex].ul;
+      }
+      else {
+        /* since the beginning */
+        deltams = tvdiff(now, *start);
+        dl = all_dlnow;
+        ul = all_ulnow;
+      }
+      if(!deltams) /* no division by zero please */
+        deltams++;
+      dls = (curl_off_t)((double)dl / ((double)deltams/1000.0));
+      uls = (curl_off_t)((double)ul / ((double)deltams/1000.0));
+      speed = dls > uls ? dls : uls;
+    }
+
+
+    if(dlknown && speed) {
+      curl_off_t est = all_dltotal / speed;
+      curl_off_t left = (all_dltotal - all_dlnow) / speed;
+      time2str(time_left, left);
+      time2str(time_total, est);
+    }
+    else {
+      time2str(time_left, 0);
+      time2str(time_total, 0);
+    }
+    time2str(time_spent, spent);
+
+    fprintf(global->errors,
+            "\r"
+            "%-3s " /* percent downloaded */
+            "%-3s " /* percent uploaded */
+            "%s " /* Dled */
+            "%s " /* Uled */
+            "%5" CURL_FORMAT_CURL_OFF_T " " /* Xfers */
+            "%5" CURL_FORMAT_CURL_OFF_T " " /* Live */
+            " %s "  /* Total time */
+            "%s "  /* Current time */
+            "%s "  /* Time left */
+            "%s "  /* Speed */
+            "%5s" /* final newline */,
+
+            dlpercen,  /* 3 letters */
+            ulpercen,  /* 3 letters */
+            max5data(all_dlnow, buffer[0]),
+            max5data(all_ulnow, buffer[1]),
+            all_xfers,
+            all_running,
+            time_total,
+            time_spent,
+            time_left,
+            max5data(speed, buffer[2]), /* speed */
+            final ? "\n" :"");
+    return TRUE;
+  }
+  return FALSE;
+}
+
+void progress_finalize(struct per_transfer *per)
+{
+  /* get the numbers before this transfer goes away */
+  all_dlalready += per->dlnow;
+  all_ulalready += per->ulnow;
+  if(!per->dltotal_added) {
+    all_dltotal += per->dltotal;
+    per->dltotal_added = TRUE;
+  }
+  if(!per->ultotal_added) {
+    all_ultotal += per->ultotal;
+    per->ultotal_added = TRUE;
+  }
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_progress.h b/ap/lib/libcurl/curl-7.86.0/src/tool_progress.h
new file mode 100755
index 0000000..5f68474
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_progress.h
@@ -0,0 +1,41 @@
+#ifndef HEADER_CURL_TOOL_PROGRESS_H
+#define HEADER_CURL_TOOL_PROGRESS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+int xferinfo_cb(void *clientp,
+                curl_off_t dltotal,
+                curl_off_t dlnow,
+                curl_off_t ultotal,
+                curl_off_t ulnow);
+
+bool progress_meter(struct GlobalConfig *global,
+                    struct timeval *start,
+                    bool final);
+void progress_finalize(struct per_transfer *per);
+
+extern curl_off_t all_xfers;   /* total number */
+
+#endif /* HEADER_CURL_TOOL_PROGRESS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_sdecls.h b/ap/lib/libcurl/curl-7.86.0/src/tool_sdecls.h
new file mode 100755
index 0000000..70e44d4
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_sdecls.h
@@ -0,0 +1,144 @@
+#ifndef HEADER_CURL_TOOL_SDECLS_H
+#define HEADER_CURL_TOOL_SDECLS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+/*
+ * OutStruct variables keep track of information relative to curl's
+ * output writing, which may take place to a standard stream or a file.
+ *
+ * 'filename' member is either a pointer to a file name string or NULL
+ * when dealing with a standard stream.
+ *
+ * 'alloc_filename' member is TRUE when string pointed by 'filename' has been
+ * dynamically allocated and 'belongs' to this OutStruct, otherwise FALSE.
+ *
+ * 'is_cd_filename' member is TRUE when string pointed by 'filename' has been
+ * set using a server-specified Content-Disposition filename, otherwise FALSE.
+ *
+ * 's_isreg' member is TRUE when output goes to a regular file, this also
+ * implies that output is 'seekable' and 'appendable' and also that member
+ * 'filename' points to file name's string. For any standard stream member
+ * 's_isreg' will be FALSE.
+ *
+ * 'fopened' member is TRUE when output goes to a regular file and it
+ * has been fopen'ed, requiring it to be closed later on. In any other
+ * case this is FALSE.
+ *
+ * 'stream' member is a pointer to a stream controlling object as returned
+ * from a 'fopen' call or a standard stream.
+ *
+ * 'config' member is a pointer to associated 'OperationConfig' struct.
+ *
+ * 'bytes' member represents amount written so far.
+ *
+ * 'init' member holds original file size or offset at which truncation is
+ * taking place. Always zero unless appending to a non-empty regular file.
+ *
+ */
+
+struct OutStruct {
+  char *filename;
+  bool alloc_filename;
+  bool is_cd_filename;
+  bool s_isreg;
+  bool fopened;
+  FILE *stream;
+  curl_off_t bytes;
+  curl_off_t init;
+};
+
+
+/*
+ * InStruct variables keep track of information relative to curl's
+ * input reading, which may take place from stdin or from some file.
+ *
+ * 'fd' member is either 'stdin' file descriptor number STDIN_FILENO
+ * or a file descriptor as returned from an 'open' call for some file.
+ *
+ * 'config' member is a pointer to associated 'OperationConfig' struct.
+ */
+
+struct InStruct {
+  int fd;
+  struct OperationConfig *config;
+};
+
+
+/*
+ * A linked list of these 'getout' nodes contain URL's to fetch,
+ * as well as information relative to where URL contents should
+ * be stored or which file should be uploaded.
+ */
+
+struct getout {
+  struct getout *next;      /* next one */
+  char          *url;       /* the URL we deal with */
+  char          *outfile;   /* where to store the output */
+  char          *infile;    /* file to upload, if GETOUT_UPLOAD is set */
+  int            flags;     /* options - composed of GETOUT_* bits */
+  int            num;       /* which URL number in an invocation */
+};
+
+#define GETOUT_OUTFILE    (1<<0)  /* set when outfile is deemed done */
+#define GETOUT_URL        (1<<1)  /* set when URL is deemed done */
+#define GETOUT_USEREMOTE  (1<<2)  /* use remote file name locally */
+#define GETOUT_UPLOAD     (1<<3)  /* if set, -T has been used */
+#define GETOUT_NOUPLOAD   (1<<4)  /* if set, -T "" has been used */
+
+/*
+ * 'trace' enumeration represents curl's output look'n feel possibilities.
+ */
+
+typedef enum {
+  TRACE_NONE,  /* no trace/verbose output at all */
+  TRACE_BIN,   /* tcpdump inspired look */
+  TRACE_ASCII, /* like *BIN but without the hex output */
+  TRACE_PLAIN  /* -v/--verbose type */
+} trace;
+
+
+/*
+ * 'HttpReq' enumeration represents HTTP request types.
+ */
+
+typedef enum {
+  HTTPREQ_UNSPEC,  /* first in list */
+  HTTPREQ_GET,
+  HTTPREQ_HEAD,
+  HTTPREQ_MIMEPOST,
+  HTTPREQ_SIMPLEPOST,
+  HTTPREQ_PUT
+} HttpReq;
+
+
+/*
+ * Complete struct declarations which have OperationConfig struct members,
+ * just in case this header is directly included in some source file.
+ */
+
+#include "tool_cfgable.h"
+
+#endif /* HEADER_CURL_TOOL_SDECLS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.c b/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.c
new file mode 100755
index 0000000..3db2fe3
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.c
@@ -0,0 +1,716 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+
+#include "tool_cfgable.h"
+#include "tool_easysrc.h"
+#include "tool_setopt.h"
+#include "tool_msgs.h"
+#include "dynbuf.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+/* Lookup tables for converting setopt values back to symbols */
+/* For enums, values may be in any order. */
+/* For bit masks, put combinations first, then single bits, */
+/* and finally any "NONE" value. */
+
+#define NV(e) {#e, e}
+#define NV1(e, v) {#e, (v)}
+#define NVEND {NULL, 0}         /* sentinel to mark end of list */
+
+const struct NameValue setopt_nv_CURLPROXY[] = {
+  NV(CURLPROXY_HTTP),
+  NV(CURLPROXY_HTTP_1_0),
+  NV(CURLPROXY_HTTPS),
+  NV(CURLPROXY_SOCKS4),
+  NV(CURLPROXY_SOCKS5),
+  NV(CURLPROXY_SOCKS4A),
+  NV(CURLPROXY_SOCKS5_HOSTNAME),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURL_SOCKS_PROXY[] = {
+  NV(CURLPROXY_SOCKS4),
+  NV(CURLPROXY_SOCKS5),
+  NV(CURLPROXY_SOCKS4A),
+  NV(CURLPROXY_SOCKS5_HOSTNAME),
+  NVEND,
+};
+
+const struct NameValueUnsigned setopt_nv_CURLHSTS[] = {
+  NV(CURLHSTS_ENABLE),
+  NVEND,
+};
+
+const struct NameValueUnsigned setopt_nv_CURLAUTH[] = {
+  NV(CURLAUTH_ANY),             /* combination */
+  NV(CURLAUTH_ANYSAFE),         /* combination */
+  NV(CURLAUTH_BASIC),
+  NV(CURLAUTH_DIGEST),
+  NV(CURLAUTH_GSSNEGOTIATE),
+  NV(CURLAUTH_NTLM),
+  NV(CURLAUTH_DIGEST_IE),
+  NV(CURLAUTH_NTLM_WB),
+  NV(CURLAUTH_ONLY),
+  NV(CURLAUTH_NONE),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURL_HTTP_VERSION[] = {
+  NV(CURL_HTTP_VERSION_NONE),
+  NV(CURL_HTTP_VERSION_1_0),
+  NV(CURL_HTTP_VERSION_1_1),
+  NV(CURL_HTTP_VERSION_2_0),
+  NV(CURL_HTTP_VERSION_2TLS),
+  NV(CURL_HTTP_VERSION_3),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURL_SSLVERSION[] = {
+  NV(CURL_SSLVERSION_DEFAULT),
+  NV(CURL_SSLVERSION_TLSv1),
+  NV(CURL_SSLVERSION_SSLv2),
+  NV(CURL_SSLVERSION_SSLv3),
+  NV(CURL_SSLVERSION_TLSv1_0),
+  NV(CURL_SSLVERSION_TLSv1_1),
+  NV(CURL_SSLVERSION_TLSv1_2),
+  NV(CURL_SSLVERSION_TLSv1_3),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURL_TIMECOND[] = {
+  NV(CURL_TIMECOND_IFMODSINCE),
+  NV(CURL_TIMECOND_IFUNMODSINCE),
+  NV(CURL_TIMECOND_LASTMOD),
+  NV(CURL_TIMECOND_NONE),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURLFTPSSL_CCC[] = {
+  NV(CURLFTPSSL_CCC_NONE),
+  NV(CURLFTPSSL_CCC_PASSIVE),
+  NV(CURLFTPSSL_CCC_ACTIVE),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURLUSESSL[] = {
+  NV(CURLUSESSL_NONE),
+  NV(CURLUSESSL_TRY),
+  NV(CURLUSESSL_CONTROL),
+  NV(CURLUSESSL_ALL),
+  NVEND,
+};
+
+const struct NameValueUnsigned setopt_nv_CURLSSLOPT[] = {
+  NV(CURLSSLOPT_ALLOW_BEAST),
+  NV(CURLSSLOPT_NO_REVOKE),
+  NV(CURLSSLOPT_NO_PARTIALCHAIN),
+  NV(CURLSSLOPT_REVOKE_BEST_EFFORT),
+  NV(CURLSSLOPT_NATIVE_CA),
+  NV(CURLSSLOPT_AUTO_CLIENT_CERT),
+  NVEND,
+};
+
+const struct NameValue setopt_nv_CURL_NETRC[] = {
+  NV(CURL_NETRC_IGNORED),
+  NV(CURL_NETRC_OPTIONAL),
+  NV(CURL_NETRC_REQUIRED),
+  NVEND,
+};
+
+/* These options have non-zero default values. */
+static const struct NameValue setopt_nv_CURLNONZERODEFAULTS[] = {
+  NV1(CURLOPT_SSL_VERIFYPEER, 1),
+  NV1(CURLOPT_SSL_VERIFYHOST, 1),
+  NV1(CURLOPT_SSL_ENABLE_NPN, 1),
+  NV1(CURLOPT_SSL_ENABLE_ALPN, 1),
+  NV1(CURLOPT_TCP_NODELAY, 1),
+  NV1(CURLOPT_PROXY_SSL_VERIFYPEER, 1),
+  NV1(CURLOPT_PROXY_SSL_VERIFYHOST, 1),
+  NV1(CURLOPT_SOCKS5_AUTH, 1),
+  NVEND
+};
+
+/* Format and add code; jump to nomem on malloc error */
+#define ADD(args) do { \
+  ret = easysrc_add args; \
+  if(ret) \
+    goto nomem; \
+} while(0)
+#define ADDF(args) do { \
+  ret = easysrc_addf args; \
+  if(ret) \
+    goto nomem; \
+} while(0)
+#define NULL_CHECK(p) do { \
+  if(!p) { \
+    ret = CURLE_OUT_OF_MEMORY; \
+    goto nomem; \
+  } \
+} while(0)
+
+#define DECL0(s) ADD((&easysrc_decl, s))
+#define DECL1(f,a) ADDF((&easysrc_decl, f,a))
+
+#define DATA0(s) ADD((&easysrc_data, s))
+#define DATA1(f,a) ADDF((&easysrc_data, f,a))
+#define DATA2(f,a,b) ADDF((&easysrc_data, f,a,b))
+#define DATA3(f,a,b,c) ADDF((&easysrc_data, f,a,b,c))
+
+#define CODE0(s) ADD((&easysrc_code, s))
+#define CODE1(f,a) ADDF((&easysrc_code, f,a))
+#define CODE2(f,a,b) ADDF((&easysrc_code, f,a,b))
+#define CODE3(f,a,b,c) ADDF((&easysrc_code, f,a,b,c))
+
+#define CLEAN0(s) ADD((&easysrc_clean, s))
+#define CLEAN1(f,a) ADDF((&easysrc_clean, f,a))
+
+#define REM0(s) ADD((&easysrc_toohard, s))
+#define REM1(f,a) ADDF((&easysrc_toohard, f,a))
+#define REM3(f,a,b,c) ADDF((&easysrc_toohard, f,a,b,c))
+
+/* Escape string to C string syntax.  Return NULL if out of memory.
+ * Is this correct for those wacky EBCDIC guys? */
+
+#define MAX_STRING_LENGTH_OUTPUT 2000
+#define ZERO_TERMINATED -1
+
+static char *c_escape(const char *str, curl_off_t len)
+{
+  const char *s;
+  unsigned int cutoff = 0;
+  CURLcode result;
+  struct curlx_dynbuf escaped;
+
+  curlx_dyn_init(&escaped, 4 * MAX_STRING_LENGTH_OUTPUT + 3);
+
+  if(len == ZERO_TERMINATED)
+    len = strlen(str);
+
+  if(len > MAX_STRING_LENGTH_OUTPUT) {
+    /* cap ridiculously long strings */
+    len = MAX_STRING_LENGTH_OUTPUT;
+    cutoff = 3;
+  }
+
+  result = curlx_dyn_addn(&escaped, STRCONST(""));
+  for(s = str; !result && len; s++, len--) {
+    /* escape question marks as well, to prevent generating accidental
+       trigraphs */
+    static const char from[] = "\t\r\n?\"\\";
+    static const char to[] = "\\t\\r\\n\\?\\\"\\\\";
+    const char *p = strchr(from, *s);
+
+    if(!p && ISPRINT(*s))
+      continue;
+
+    result = curlx_dyn_addn(&escaped, str, s - str);
+    str = s + 1;
+
+    if(!result) {
+      if(p && *p)
+        result = curlx_dyn_addn(&escaped, to + 2 * (p - from), 2);
+      else {
+        const char *format = "\\x%02x";
+
+        if(len > 1 && ISXDIGIT(s[1])) {
+          /* Octal escape to avoid >2 digit hex. */
+          format = "\\%03o";
+        }
+
+        result = curlx_dyn_addf(&escaped, format,
+                                (unsigned int) *(unsigned char *) s);
+      }
+    }
+  }
+
+  if(!result)
+    result = curlx_dyn_addn(&escaped, str, s - str);
+
+  if(!result)
+    (void) !curlx_dyn_addn(&escaped, "...", cutoff);
+
+  return curlx_dyn_ptr(&escaped);
+}
+
+/* setopt wrapper for enum types */
+CURLcode tool_setopt_enum(CURL *curl, struct GlobalConfig *config,
+                          const char *name, CURLoption tag,
+                          const struct NameValue *nvlist, long lval)
+{
+  CURLcode ret = CURLE_OK;
+  bool skip = FALSE;
+
+  ret = curl_easy_setopt(curl, tag, lval);
+  if(!lval)
+    skip = TRUE;
+
+  if(config->libcurl && !skip && !ret) {
+    /* we only use this for real if --libcurl was used */
+    const struct NameValue *nv = NULL;
+    for(nv = nvlist; nv->name; nv++) {
+      if(nv->value == lval)
+        break; /* found it */
+    }
+    if(!nv->name) {
+      /* If no definition was found, output an explicit value.
+       * This could happen if new values are defined and used
+       * but the NameValue list is not updated. */
+      CODE2("curl_easy_setopt(hnd, %s, %ldL);", name, lval);
+    }
+    else {
+      CODE2("curl_easy_setopt(hnd, %s, (long)%s);", name, nv->name);
+    }
+  }
+
+#ifdef DEBUGBUILD
+  if(ret)
+    warnf(config, "option %s returned error (%d)\n", name, (int)ret);
+#endif
+  nomem:
+  return ret;
+}
+
+/* setopt wrapper for flags */
+CURLcode tool_setopt_flags(CURL *curl, struct GlobalConfig *config,
+                           const char *name, CURLoption tag,
+                           const struct NameValue *nvlist, long lval)
+{
+  CURLcode ret = CURLE_OK;
+  bool skip = FALSE;
+
+  ret = curl_easy_setopt(curl, tag, lval);
+  if(!lval)
+    skip = TRUE;
+
+  if(config->libcurl && !skip && !ret) {
+    /* we only use this for real if --libcurl was used */
+    char preamble[80];          /* should accommodate any symbol name */
+    long rest = lval;           /* bits not handled yet */
+    const struct NameValue *nv = NULL;
+    msnprintf(preamble, sizeof(preamble),
+              "curl_easy_setopt(hnd, %s, ", name);
+    for(nv = nvlist; nv->name; nv++) {
+      if((nv->value & ~ rest) == 0) {
+        /* all value flags contained in rest */
+        rest &= ~ nv->value;    /* remove bits handled here */
+        CODE3("%s(long)%s%s",
+              preamble, nv->name, rest ? " |" : ");");
+        if(!rest)
+          break;                /* handled them all */
+        /* replace with all spaces for continuation line */
+        msnprintf(preamble, sizeof(preamble), "%*s", strlen(preamble), "");
+      }
+    }
+    /* If any bits have no definition, output an explicit value.
+     * This could happen if new bits are defined and used
+     * but the NameValue list is not updated. */
+    if(rest)
+      CODE2("%s%ldL);", preamble, rest);
+  }
+
+ nomem:
+  return ret;
+}
+
+/* setopt wrapper for bitmasks */
+CURLcode tool_setopt_bitmask(CURL *curl, struct GlobalConfig *config,
+                             const char *name, CURLoption tag,
+                             const struct NameValueUnsigned *nvlist,
+                             long lval)
+{
+  CURLcode ret = CURLE_OK;
+  bool skip = FALSE;
+
+  ret = curl_easy_setopt(curl, tag, lval);
+  if(!lval)
+    skip = TRUE;
+
+  if(config->libcurl && !skip && !ret) {
+    /* we only use this for real if --libcurl was used */
+    char preamble[80];
+    unsigned long rest = (unsigned long)lval;
+    const struct NameValueUnsigned *nv = NULL;
+    msnprintf(preamble, sizeof(preamble),
+              "curl_easy_setopt(hnd, %s, ", name);
+    for(nv = nvlist; nv->name; nv++) {
+      if((nv->value & ~ rest) == 0) {
+        /* all value flags contained in rest */
+        rest &= ~ nv->value;    /* remove bits handled here */
+        CODE3("%s(long)%s%s",
+              preamble, nv->name, rest ? " |" : ");");
+        if(!rest)
+          break;                /* handled them all */
+        /* replace with all spaces for continuation line */
+        msnprintf(preamble, sizeof(preamble), "%*s", strlen(preamble), "");
+      }
+    }
+    /* If any bits have no definition, output an explicit value.
+     * This could happen if new bits are defined and used
+     * but the NameValue list is not updated. */
+    if(rest)
+      CODE2("%s%luUL);", preamble, rest);
+  }
+
+ nomem:
+  return ret;
+}
+
+/* Generate code for a struct curl_slist. */
+static CURLcode libcurl_generate_slist(struct curl_slist *slist, int *slistno)
+{
+  CURLcode ret = CURLE_OK;
+  char *escaped = NULL;
+
+  /* May need several slist variables, so invent name */
+  *slistno = ++easysrc_slist_count;
+
+  DECL1("struct curl_slist *slist%d;", *slistno);
+  DATA1("slist%d = NULL;", *slistno);
+  CLEAN1("curl_slist_free_all(slist%d);", *slistno);
+  CLEAN1("slist%d = NULL;", *slistno);
+  for(; slist; slist = slist->next) {
+    Curl_safefree(escaped);
+    escaped = c_escape(slist->data, ZERO_TERMINATED);
+    if(!escaped)
+      return CURLE_OUT_OF_MEMORY;
+    DATA3("slist%d = curl_slist_append(slist%d, \"%s\");",
+                                       *slistno, *slistno, escaped);
+  }
+
+ nomem:
+  Curl_safefree(escaped);
+  return ret;
+}
+
+static CURLcode libcurl_generate_mime(CURL *curl,
+                                      struct GlobalConfig *config,
+                                      struct tool_mime *toolmime,
+                                      int *mimeno);     /* Forward. */
+
+/* Wrapper to generate source code for a mime part. */
+static CURLcode libcurl_generate_mime_part(CURL *curl,
+                                           struct GlobalConfig *config,
+                                           struct tool_mime *part,
+                                           int mimeno)
+{
+  CURLcode ret = CURLE_OK;
+  int submimeno = 0;
+  char *escaped = NULL;
+  const char *data = NULL;
+  const char *filename = part->filename;
+
+  /* Parts are linked in reverse order. */
+  if(part->prev) {
+    ret = libcurl_generate_mime_part(curl, config, part->prev, mimeno);
+    if(ret)
+      return ret;
+  }
+
+  /* Create the part. */
+  CODE2("part%d = curl_mime_addpart(mime%d);", mimeno, mimeno);
+
+  switch(part->kind) {
+  case TOOLMIME_PARTS:
+    ret = libcurl_generate_mime(curl, config, part, &submimeno);
+    if(!ret) {
+      CODE2("curl_mime_subparts(part%d, mime%d);", mimeno, submimeno);
+      CODE1("mime%d = NULL;", submimeno);   /* Avoid freeing in CLEAN. */
+    }
+    break;
+
+  case TOOLMIME_DATA:
+    data = part->data;
+    if(!ret) {
+      Curl_safefree(escaped);
+      escaped = c_escape(data, ZERO_TERMINATED);
+      NULL_CHECK(escaped);
+      CODE2("curl_mime_data(part%d, \"%s\", CURL_ZERO_TERMINATED);",
+                            mimeno, escaped);
+    }
+    break;
+
+  case TOOLMIME_FILE:
+  case TOOLMIME_FILEDATA:
+    escaped = c_escape(part->data, ZERO_TERMINATED);
+    NULL_CHECK(escaped);
+    CODE2("curl_mime_filedata(part%d, \"%s\");", mimeno, escaped);
+    if(part->kind == TOOLMIME_FILEDATA && !filename) {
+      CODE1("curl_mime_filename(part%d, NULL);", mimeno);
+    }
+    break;
+
+  case TOOLMIME_STDIN:
+    if(!filename)
+      filename = "-";
+    /* FALLTHROUGH */
+  case TOOLMIME_STDINDATA:
+    /* Can only be reading stdin in the current context. */
+    CODE1("curl_mime_data_cb(part%d, -1, (curl_read_callback) fread, \\",
+          mimeno);
+    CODE0("                  (curl_seek_callback) fseek, NULL, stdin);");
+    break;
+  default:
+    /* Other cases not possible in this context. */
+    break;
+  }
+
+  if(!ret && part->encoder) {
+    Curl_safefree(escaped);
+    escaped = c_escape(part->encoder, ZERO_TERMINATED);
+    NULL_CHECK(escaped);
+    CODE2("curl_mime_encoder(part%d, \"%s\");", mimeno, escaped);
+  }
+
+  if(!ret && filename) {
+    Curl_safefree(escaped);
+    escaped = c_escape(filename, ZERO_TERMINATED);
+    NULL_CHECK(escaped);
+    CODE2("curl_mime_filename(part%d, \"%s\");", mimeno, escaped);
+  }
+
+  if(!ret && part->name) {
+    Curl_safefree(escaped);
+    escaped = c_escape(part->name, ZERO_TERMINATED);
+    NULL_CHECK(escaped);
+    CODE2("curl_mime_name(part%d, \"%s\");", mimeno, escaped);
+  }
+
+  if(!ret && part->type) {
+    Curl_safefree(escaped);
+    escaped = c_escape(part->type, ZERO_TERMINATED);
+    NULL_CHECK(escaped);
+    CODE2("curl_mime_type(part%d, \"%s\");", mimeno, escaped);
+  }
+
+  if(!ret && part->headers) {
+    int slistno;
+
+    ret = libcurl_generate_slist(part->headers, &slistno);
+    if(!ret) {
+      CODE2("curl_mime_headers(part%d, slist%d, 1);", mimeno, slistno);
+      CODE1("slist%d = NULL;", slistno); /* Prevent CLEANing. */
+    }
+  }
+
+nomem:
+  Curl_safefree(escaped);
+  return ret;
+}
+
+/* Wrapper to generate source code for a mime structure. */
+static CURLcode libcurl_generate_mime(CURL *curl,
+                                      struct GlobalConfig *config,
+                                      struct tool_mime *toolmime,
+                                      int *mimeno)
+{
+  CURLcode ret = CURLE_OK;
+
+  /* May need several mime variables, so invent name. */
+  *mimeno = ++easysrc_mime_count;
+  DECL1("curl_mime *mime%d;", *mimeno);
+  DATA1("mime%d = NULL;", *mimeno);
+  CODE1("mime%d = curl_mime_init(hnd);", *mimeno);
+  CLEAN1("curl_mime_free(mime%d);", *mimeno);
+  CLEAN1("mime%d = NULL;", *mimeno);
+
+  if(toolmime->subparts) {
+    DECL1("curl_mimepart *part%d;", *mimeno);
+    ret = libcurl_generate_mime_part(curl, config,
+                                     toolmime->subparts, *mimeno);
+  }
+
+nomem:
+  return ret;
+}
+
+/* setopt wrapper for CURLOPT_MIMEPOST */
+CURLcode tool_setopt_mimepost(CURL *curl, struct GlobalConfig *config,
+                              const char *name, CURLoption tag,
+                              curl_mime *mimepost)
+{
+  CURLcode ret = curl_easy_setopt(curl, tag, mimepost);
+  int mimeno = 0;
+
+  if(!ret && config->libcurl) {
+    ret = libcurl_generate_mime(curl, config,
+                                config->current->mimeroot, &mimeno);
+
+    if(!ret)
+      CODE2("curl_easy_setopt(hnd, %s, mime%d);", name, mimeno);
+  }
+
+nomem:
+  return ret;
+}
+
+/* setopt wrapper for curl_slist options */
+CURLcode tool_setopt_slist(CURL *curl, struct GlobalConfig *config,
+                           const char *name, CURLoption tag,
+                           struct curl_slist *list)
+{
+  CURLcode ret = CURLE_OK;
+
+  ret = curl_easy_setopt(curl, tag, list);
+
+  if(config->libcurl && list && !ret) {
+    int i;
+
+    ret = libcurl_generate_slist(list, &i);
+    if(!ret)
+      CODE2("curl_easy_setopt(hnd, %s, slist%d);", name, i);
+  }
+
+ nomem:
+  return ret;
+}
+
+/* generic setopt wrapper for all other options.
+ * Some type information is encoded in the tag value. */
+CURLcode tool_setopt(CURL *curl, bool str, struct GlobalConfig *global,
+                     struct OperationConfig *config,
+                     const char *name, CURLoption tag, ...)
+{
+  va_list arg;
+  char buf[256];
+  const char *value = NULL;
+  bool remark = FALSE;
+  bool skip = FALSE;
+  bool escape = FALSE;
+  char *escaped = NULL;
+  CURLcode ret = CURLE_OK;
+
+  va_start(arg, tag);
+
+  if(tag < CURLOPTTYPE_OBJECTPOINT) {
+    /* Value is expected to be a long */
+    long lval = va_arg(arg, long);
+    long defval = 0L;
+    const struct NameValue *nv = NULL;
+    for(nv = setopt_nv_CURLNONZERODEFAULTS; nv->name; nv++) {
+      if(!strcmp(name, nv->name)) {
+        defval = nv->value;
+        break; /* found it */
+      }
+    }
+
+    msnprintf(buf, sizeof(buf), "%ldL", lval);
+    value = buf;
+    ret = curl_easy_setopt(curl, tag, lval);
+    if(lval == defval)
+      skip = TRUE;
+  }
+  else if(tag < CURLOPTTYPE_OFF_T) {
+    /* Value is some sort of object pointer */
+    void *pval = va_arg(arg, void *);
+
+    /* function pointers are never printable */
+    if(tag >= CURLOPTTYPE_FUNCTIONPOINT) {
+      if(pval) {
+        value = "function pointer";
+        remark = TRUE;
+      }
+      else
+        skip = TRUE;
+    }
+
+    else if(pval && str) {
+      value = (char *)pval;
+      escape = TRUE;
+    }
+    else if(pval) {
+      value = "object pointer";
+      remark = TRUE;
+    }
+    else
+      skip = TRUE;
+
+    ret = curl_easy_setopt(curl, tag, pval);
+
+  }
+  else if(tag < CURLOPTTYPE_BLOB) {
+    /* Value is expected to be curl_off_t */
+    curl_off_t oval = va_arg(arg, curl_off_t);
+    msnprintf(buf, sizeof(buf),
+              "(curl_off_t)%" CURL_FORMAT_CURL_OFF_T, oval);
+    value = buf;
+    ret = curl_easy_setopt(curl, tag, oval);
+
+    if(!oval)
+      skip = TRUE;
+  }
+  else {
+    /* Value is a blob */
+    void *pblob = va_arg(arg, void *);
+
+    /* blobs are never printable */
+    if(pblob) {
+      value = "blob pointer";
+      remark = TRUE;
+    }
+    else
+      skip = TRUE;
+
+    ret = curl_easy_setopt(curl, tag, pblob);
+  }
+
+  va_end(arg);
+
+  if(global->libcurl && !skip && !ret) {
+    /* we only use this for real if --libcurl was used */
+
+    if(remark)
+      REM3("%s was set to a%s %s", name, (*value == 'o' ? "n" : ""), value);
+    else {
+      if(escape) {
+        curl_off_t len = ZERO_TERMINATED;
+        if(tag == CURLOPT_POSTFIELDS)
+          len = config->postfieldsize;
+        escaped = c_escape(value, len);
+        NULL_CHECK(escaped);
+        CODE2("curl_easy_setopt(hnd, %s, \"%s\");", name, escaped);
+      }
+      else
+        CODE2("curl_easy_setopt(hnd, %s, %s);", name, value);
+    }
+  }
+
+ nomem:
+  Curl_safefree(escaped);
+  return ret;
+}
+
+#else /* CURL_DISABLE_LIBCURL_OPTION */
+
+#include "tool_cfgable.h"
+#include "tool_setopt.h"
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.h b/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.h
new file mode 100755
index 0000000..bc5afe9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_setopt.h
@@ -0,0 +1,156 @@
+#ifndef HEADER_CURL_TOOL_SETOPT_H
+#define HEADER_CURL_TOOL_SETOPT_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#include "tool_formparse.h"
+
+/*
+ * Macros used in operate()
+ */
+
+#define SETOPT_CHECK(v,opt) do {              \
+    result = (v);                             \
+  } while(0)
+
+#ifndef CURL_DISABLE_LIBCURL_OPTION
+
+/* Associate symbolic names with option values */
+struct NameValue {
+  const char *name;
+  long value;
+};
+
+struct NameValueUnsigned {
+  const char *name;
+  unsigned long value;
+};
+
+extern const struct NameValue setopt_nv_CURLPROXY[];
+extern const struct NameValue setopt_nv_CURL_SOCKS_PROXY[];
+extern const struct NameValue setopt_nv_CURL_HTTP_VERSION[];
+extern const struct NameValue setopt_nv_CURL_SSLVERSION[];
+extern const struct NameValue setopt_nv_CURL_TIMECOND[];
+extern const struct NameValue setopt_nv_CURLFTPSSL_CCC[];
+extern const struct NameValue setopt_nv_CURLUSESSL[];
+extern const struct NameValueUnsigned setopt_nv_CURLSSLOPT[];
+extern const struct NameValue setopt_nv_CURL_NETRC[];
+extern const struct NameValueUnsigned setopt_nv_CURLAUTH[];
+extern const struct NameValueUnsigned setopt_nv_CURLHSTS[];
+
+/* Map options to NameValue sets */
+#define setopt_nv_CURLOPT_HSTS_CTRL setopt_nv_CURLHSTS
+#define setopt_nv_CURLOPT_HTTP_VERSION setopt_nv_CURL_HTTP_VERSION
+#define setopt_nv_CURLOPT_HTTPAUTH setopt_nv_CURLAUTH
+#define setopt_nv_CURLOPT_SSLVERSION setopt_nv_CURL_SSLVERSION
+#define setopt_nv_CURLOPT_PROXY_SSLVERSION setopt_nv_CURL_SSLVERSION
+#define setopt_nv_CURLOPT_TIMECONDITION setopt_nv_CURL_TIMECOND
+#define setopt_nv_CURLOPT_FTP_SSL_CCC setopt_nv_CURLFTPSSL_CCC
+#define setopt_nv_CURLOPT_USE_SSL setopt_nv_CURLUSESSL
+#define setopt_nv_CURLOPT_SSL_OPTIONS setopt_nv_CURLSSLOPT
+#define setopt_nv_CURLOPT_PROXY_SSL_OPTIONS setopt_nv_CURLSSLOPT
+#define setopt_nv_CURLOPT_NETRC setopt_nv_CURL_NETRC
+#define setopt_nv_CURLOPT_PROXYTYPE setopt_nv_CURLPROXY
+#define setopt_nv_CURLOPT_PROXYAUTH setopt_nv_CURLAUTH
+#define setopt_nv_CURLOPT_SOCKS5_AUTH setopt_nv_CURLAUTH
+
+/* Intercept setopt calls for --libcurl */
+
+CURLcode tool_setopt_enum(CURL *curl, struct GlobalConfig *config,
+                          const char *name, CURLoption tag,
+                          const struct NameValue *nv, long lval);
+CURLcode tool_setopt_flags(CURL *curl, struct GlobalConfig *config,
+                           const char *name, CURLoption tag,
+                           const struct NameValue *nv, long lval);
+CURLcode tool_setopt_bitmask(CURL *curl, struct GlobalConfig *config,
+                             const char *name, CURLoption tag,
+                             const struct NameValueUnsigned *nv, long lval);
+CURLcode tool_setopt_mimepost(CURL *curl, struct GlobalConfig *config,
+                              const char *name, CURLoption tag,
+                              curl_mime *mimepost);
+CURLcode tool_setopt_slist(CURL *curl, struct GlobalConfig *config,
+                           const char *name, CURLoption tag,
+                           struct curl_slist *list);
+CURLcode tool_setopt(CURL *curl, bool str, struct GlobalConfig *global,
+                     struct OperationConfig *config,
+                     const char *name, CURLoption tag, ...);
+
+#define my_setopt(x,y,z) \
+  SETOPT_CHECK(tool_setopt(x, FALSE, global, config, #y, y, z), y)
+
+#define my_setopt_str(x,y,z) \
+  SETOPT_CHECK(tool_setopt(x, TRUE, global, config, #y, y, z), y)
+
+#define my_setopt_enum(x,y,z) \
+  SETOPT_CHECK(tool_setopt_enum(x, global, #y, y, setopt_nv_ ## y, z), y)
+
+#define my_setopt_flags(x,y,z) \
+  SETOPT_CHECK(tool_setopt_flags(x, global, #y, y, setopt_nv_ ## y, z), y)
+
+#define my_setopt_bitmask(x,y,z) \
+  SETOPT_CHECK(tool_setopt_bitmask(x, global, #y, y, setopt_nv_ ## y, z), y)
+
+#define my_setopt_mimepost(x,y,z) \
+  SETOPT_CHECK(tool_setopt_mimepost(x, global, #y, y, z), y)
+
+#define my_setopt_slist(x,y,z) \
+  SETOPT_CHECK(tool_setopt_slist(x, global, #y, y, z), y)
+
+#define res_setopt(x,y,z) tool_setopt(x, FALSE, global, config, #y, y, z)
+
+#define res_setopt_str(x,y,z) tool_setopt(x, TRUE, global, config, #y, y, z)
+
+#else /* CURL_DISABLE_LIBCURL_OPTION */
+
+/* No --libcurl, so pass options directly to library */
+
+#define my_setopt(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_str(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_enum(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_flags(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_bitmask(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_mimepost(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define my_setopt_slist(x,y,z) \
+  SETOPT_CHECK(curl_easy_setopt(x, y, z), y)
+
+#define res_setopt(x,y,z) curl_easy_setopt(x,y,z)
+
+#define res_setopt_str(x,y,z) curl_easy_setopt(x,y,z)
+
+#endif /* CURL_DISABLE_LIBCURL_OPTION */
+
+#endif /* HEADER_CURL_TOOL_SETOPT_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_setup.h b/ap/lib/libcurl/curl-7.86.0/src/tool_setup.h
new file mode 100755
index 0000000..16fa00e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_setup.h
@@ -0,0 +1,67 @@
+#ifndef HEADER_CURL_TOOL_SETUP_H
+#define HEADER_CURL_TOOL_SETUP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+
+#define CURL_NO_OLDIES
+
+/*
+ * curl_setup.h may define preprocessor macros such as _FILE_OFFSET_BITS and
+ * _LARGE_FILES in order to support files larger than 2 GB. On platforms
+ * where this happens it is mandatory that these macros are defined before
+ * any system header file is included, otherwise file handling function
+ * prototypes will be misdeclared and curl tool may not build properly;
+ * therefore we must include curl_setup.h before curl.h when building curl.
+ */
+
+#include "curl_setup.h" /* from the lib directory */
+
+/*
+ * curl tool certainly uses libcurl's external interface.
+ */
+
+#include <curl/curl.h> /* external interface */
+
+/*
+ * Platform specific stuff.
+ */
+
+#if defined(macintosh) && defined(__MRC__)
+#  define main(x,y) curl_main(x,y)
+#endif
+
+#ifndef OS
+#  define OS "unknown"
+#endif
+
+#ifndef UNPRINTABLE_CHAR
+   /* define what to use for unprintable characters */
+#  define UNPRINTABLE_CHAR '.'
+#endif
+
+#ifndef HAVE_STRDUP
+#  include "tool_strdup.h"
+#endif
+
+#endif /* HEADER_CURL_TOOL_SETUP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.c b/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.c
new file mode 100755
index 0000000..c52425f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.c
@@ -0,0 +1,61 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_SYS_SELECT_H
+#  include <sys/select.h>
+#elif defined(HAVE_UNISTD_H)
+#  include <unistd.h>
+#endif
+
+#ifdef HAVE_POLL_H
+#  include <poll.h>
+#elif defined(HAVE_SYS_POLL_H)
+#  include <sys/poll.h>
+#endif
+
+#ifdef MSDOS
+#  include <dos.h>
+#endif
+
+#include "tool_sleep.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void tool_go_sleep(long ms)
+{
+#if defined(MSDOS)
+  delay(ms);
+#elif defined(WIN32)
+  Sleep(ms);
+#elif defined(HAVE_POLL_FINE)
+  (void)poll((void *)0, 0, (int)ms);
+#else
+  struct timeval timeout;
+  timeout.tv_sec = ms / 1000L;
+  ms = ms % 1000L;
+  timeout.tv_usec = (int)ms * 1000;
+  select(0, NULL,  NULL, NULL, &timeout);
+#endif
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.h b/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.h
new file mode 100755
index 0000000..d84b467
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_sleep.h
@@ -0,0 +1,30 @@
+#ifndef HEADER_CURL_TOOL_SLEEP_H
+#define HEADER_CURL_TOOL_SLEEP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+void tool_go_sleep(long ms);
+
+#endif /* HEADER_CURL_TOOL_SLEEP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.c b/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.c
new file mode 100755
index 0000000..402f1c9
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.c
@@ -0,0 +1,44 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_strdup.h"
+
+#ifndef HAVE_STRDUP
+char *strdup(const char *str)
+{
+  size_t len;
+  char *newstr;
+
+  if(!str)
+    return (char *)NULL;
+
+  len = strlen(str) + 1;
+
+  newstr = malloc(len);
+  if(!newstr)
+    return (char *)NULL;
+
+  memcpy(newstr, str, len);
+  return newstr;
+}
+#endif
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.h b/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.h
new file mode 100755
index 0000000..c31c046
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_strdup.h
@@ -0,0 +1,32 @@
+#ifndef HEADER_TOOL_STRDUP_H
+#define HEADER_TOOL_STRDUP_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifndef HAVE_STRDUP
+extern char *strdup(const char *str);
+#endif
+
+#endif /* HEADER_TOOL_STRDUP_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.c b/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.c
new file mode 100755
index 0000000..fae8b13
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.c
@@ -0,0 +1,710 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+#include "tool_cfgable.h"
+#include "tool_doswin.h"
+#include "tool_urlglob.h"
+#include "tool_vms.h"
+#include "dynbuf.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#define GLOBERROR(string, column, code) \
+  glob->error = string, glob->pos = column, code
+
+static CURLcode glob_fixed(struct URLGlob *glob, char *fixed, size_t len)
+{
+  struct URLPattern *pat = &glob->pattern[glob->size];
+  pat->type = UPTSet;
+  pat->content.Set.size = 1;
+  pat->content.Set.ptr_s = 0;
+  pat->globindex = -1;
+
+  pat->content.Set.elements = malloc(sizeof(char *));
+
+  if(!pat->content.Set.elements)
+    return GLOBERROR("out of memory", 0, CURLE_OUT_OF_MEMORY);
+
+  pat->content.Set.elements[0] = malloc(len + 1);
+  if(!pat->content.Set.elements[0])
+    return GLOBERROR("out of memory", 0, CURLE_OUT_OF_MEMORY);
+
+  memcpy(pat->content.Set.elements[0], fixed, len);
+  pat->content.Set.elements[0][len] = 0;
+
+  return CURLE_OK;
+}
+
+/* multiply
+ *
+ * Multiplies and checks for overflow.
+ */
+static int multiply(unsigned long *amount, long with)
+{
+  unsigned long sum = *amount * with;
+  if(!with) {
+    *amount = 0;
+    return 0;
+  }
+  if(sum/with != *amount)
+    return 1; /* didn't fit, bail out */
+  *amount = sum;
+  return 0;
+}
+
+static CURLcode glob_set(struct URLGlob *glob, char **patternp,
+                         size_t *posp, unsigned long *amount,
+                         int globindex)
+{
+  /* processes a set expression with the point behind the opening '{'
+     ','-separated elements are collected until the next closing '}'
+  */
+  struct URLPattern *pat;
+  bool done = FALSE;
+  char *buf = glob->glob_buffer;
+  char *pattern = *patternp;
+  char *opattern = pattern;
+  size_t opos = *posp-1;
+
+  pat = &glob->pattern[glob->size];
+  /* patterns 0,1,2,... correspond to size=1,3,5,... */
+  pat->type = UPTSet;
+  pat->content.Set.size = 0;
+  pat->content.Set.ptr_s = 0;
+  pat->content.Set.elements = NULL;
+  pat->globindex = globindex;
+
+  while(!done) {
+    switch (*pattern) {
+    case '\0':                  /* URL ended while set was still open */
+      return GLOBERROR("unmatched brace", opos, CURLE_URL_MALFORMAT);
+
+    case '{':
+    case '[':                   /* no nested expressions at this time */
+      return GLOBERROR("nested brace", *posp, CURLE_URL_MALFORMAT);
+
+    case '}':                           /* set element completed */
+      if(opattern == pattern)
+        return GLOBERROR("empty string within braces", *posp,
+                         CURLE_URL_MALFORMAT);
+
+      /* add 1 to size since it'll be incremented below */
+      if(multiply(amount, pat->content.Set.size + 1))
+        return GLOBERROR("range overflow", 0, CURLE_URL_MALFORMAT);
+
+      /* FALLTHROUGH */
+    case ',':
+
+      *buf = '\0';
+      if(pat->content.Set.elements) {
+        char **new_arr = realloc(pat->content.Set.elements,
+                                 (pat->content.Set.size + 1) * sizeof(char *));
+        if(!new_arr)
+          return GLOBERROR("out of memory", 0, CURLE_OUT_OF_MEMORY);
+
+        pat->content.Set.elements = new_arr;
+      }
+      else
+        pat->content.Set.elements = malloc(sizeof(char *));
+
+      if(!pat->content.Set.elements)
+        return GLOBERROR("out of memory", 0, CURLE_OUT_OF_MEMORY);
+
+      pat->content.Set.elements[pat->content.Set.size] =
+        strdup(glob->glob_buffer);
+      if(!pat->content.Set.elements[pat->content.Set.size])
+        return GLOBERROR("out of memory", 0, CURLE_OUT_OF_MEMORY);
+      ++pat->content.Set.size;
+
+      if(*pattern == '}') {
+        pattern++; /* pass the closing brace */
+        done = TRUE;
+        continue;
+      }
+
+      buf = glob->glob_buffer;
+      ++pattern;
+      ++(*posp);
+      break;
+
+    case ']':                           /* illegal closing bracket */
+      return GLOBERROR("unexpected close bracket", *posp, CURLE_URL_MALFORMAT);
+
+    case '\\':                          /* escaped character, skip '\' */
+      if(pattern[1]) {
+        ++pattern;
+        ++(*posp);
+      }
+      /* FALLTHROUGH */
+    default:
+      *buf++ = *pattern++;              /* copy character to set element */
+      ++(*posp);
+    }
+  }
+
+  *patternp = pattern; /* return with the new position */
+  return CURLE_OK;
+}
+
+static CURLcode glob_range(struct URLGlob *glob, char **patternp,
+                           size_t *posp, unsigned long *amount,
+                           int globindex)
+{
+  /* processes a range expression with the point behind the opening '['
+     - char range: e.g. "a-z]", "B-Q]"
+     - num range: e.g. "0-9]", "17-2000]"
+     - num range with leading zeros: e.g. "001-999]"
+     expression is checked for well-formedness and collected until the next ']'
+  */
+  struct URLPattern *pat;
+  int rc;
+  char *pattern = *patternp;
+  char *c;
+
+  pat = &glob->pattern[glob->size];
+  pat->globindex = globindex;
+
+  if(ISALPHA(*pattern)) {
+    /* character range detected */
+    char min_c;
+    char max_c;
+    char end_c;
+    unsigned long step = 1;
+
+    pat->type = UPTCharRange;
+
+    rc = sscanf(pattern, "%c-%c%c", &min_c, &max_c, &end_c);
+
+    if(rc == 3) {
+      if(end_c == ':') {
+        char *endp;
+        errno = 0;
+        step = strtoul(&pattern[4], &endp, 10);
+        if(errno || &pattern[4] == endp || *endp != ']')
+          step = 0;
+        else
+          pattern = endp + 1;
+      }
+      else if(end_c != ']')
+        /* then this is wrong */
+        rc = 0;
+      else
+        /* end_c == ']' */
+        pattern += 4;
+    }
+
+    *posp += (pattern - *patternp);
+
+    if(rc != 3 || !step || step > (unsigned)INT_MAX ||
+       (min_c == max_c && step != 1) ||
+       (min_c != max_c && (min_c > max_c || step > (unsigned)(max_c - min_c) ||
+                           (max_c - min_c) > ('z' - 'a'))))
+      /* the pattern is not well-formed */
+      return GLOBERROR("bad range", *posp, CURLE_URL_MALFORMAT);
+
+    /* if there was a ":[num]" thing, use that as step or else use 1 */
+    pat->content.CharRange.step = (int)step;
+    pat->content.CharRange.ptr_c = pat->content.CharRange.min_c = min_c;
+    pat->content.CharRange.max_c = max_c;
+
+    if(multiply(amount, ((pat->content.CharRange.max_c -
+                          pat->content.CharRange.min_c) /
+                         pat->content.CharRange.step + 1)))
+      return GLOBERROR("range overflow", *posp, CURLE_URL_MALFORMAT);
+  }
+  else if(ISDIGIT(*pattern)) {
+    /* numeric range detected */
+    unsigned long min_n;
+    unsigned long max_n = 0;
+    unsigned long step_n = 0;
+    char *endp;
+
+    pat->type = UPTNumRange;
+    pat->content.NumRange.padlength = 0;
+
+    if(*pattern == '0') {
+      /* leading zero specified, count them! */
+      c = pattern;
+      while(ISDIGIT(*c)) {
+        c++;
+        ++pat->content.NumRange.padlength; /* padding length is set for all
+                                              instances of this pattern */
+      }
+    }
+
+    errno = 0;
+    min_n = strtoul(pattern, &endp, 10);
+    if(errno || (endp == pattern))
+      endp = NULL;
+    else {
+      if(*endp != '-')
+        endp = NULL;
+      else {
+        pattern = endp + 1;
+        while(*pattern && ISBLANK(*pattern))
+          pattern++;
+        if(!ISDIGIT(*pattern)) {
+          endp = NULL;
+          goto fail;
+        }
+        errno = 0;
+        max_n = strtoul(pattern, &endp, 10);
+        if(errno)
+          /* overflow */
+          endp = NULL;
+        else if(*endp == ':') {
+          pattern = endp + 1;
+          errno = 0;
+          step_n = strtoul(pattern, &endp, 10);
+          if(errno)
+            /* over/underflow situation */
+            endp = NULL;
+        }
+        else
+          step_n = 1;
+        if(endp && (*endp == ']')) {
+          pattern = endp + 1;
+        }
+        else
+          endp = NULL;
+      }
+    }
+
+    fail:
+    *posp += (pattern - *patternp);
+
+    if(!endp || !step_n ||
+       (min_n == max_n && step_n != 1) ||
+       (min_n != max_n && (min_n > max_n || step_n > (max_n - min_n))))
+      /* the pattern is not well-formed */
+      return GLOBERROR("bad range", *posp, CURLE_URL_MALFORMAT);
+
+    /* typecasting to ints are fine here since we make sure above that we
+       are within 31 bits */
+    pat->content.NumRange.ptr_n = pat->content.NumRange.min_n = min_n;
+    pat->content.NumRange.max_n = max_n;
+    pat->content.NumRange.step = step_n;
+
+    if(multiply(amount, ((pat->content.NumRange.max_n -
+                          pat->content.NumRange.min_n) /
+                         pat->content.NumRange.step + 1)))
+      return GLOBERROR("range overflow", *posp, CURLE_URL_MALFORMAT);
+  }
+  else
+    return GLOBERROR("bad range specification", *posp, CURLE_URL_MALFORMAT);
+
+  *patternp = pattern;
+  return CURLE_OK;
+}
+
+#define MAX_IP6LEN 128
+
+static bool peek_ipv6(const char *str, size_t *skip)
+{
+  /*
+   * Scan for a potential IPv6 literal.
+   * - Valid globs contain a hyphen and <= 1 colon.
+   * - IPv6 literals contain no hyphens and >= 2 colons.
+   */
+  char hostname[MAX_IP6LEN];
+  CURLU *u;
+  char *endbr = strchr(str, ']');
+  size_t hlen;
+  CURLUcode rc;
+  if(!endbr)
+    return FALSE;
+
+  hlen = endbr - str + 1;
+  if(hlen >= MAX_IP6LEN)
+    return FALSE;
+
+  u = curl_url();
+  if(!u)
+    return FALSE;
+
+  memcpy(hostname, str, hlen);
+  hostname[hlen] = 0;
+
+  /* ask to "guess scheme" as then it works without a https:// prefix */
+  rc = curl_url_set(u, CURLUPART_URL, hostname, CURLU_GUESS_SCHEME);
+
+  curl_url_cleanup(u);
+  if(!rc)
+    *skip = hlen;
+  return rc ? FALSE : TRUE;
+}
+
+static CURLcode glob_parse(struct URLGlob *glob, char *pattern,
+                           size_t pos, unsigned long *amount)
+{
+  /* processes a literal string component of a URL
+     special characters '{' and '[' branch to set/range processing functions
+   */
+  CURLcode res = CURLE_OK;
+  int globindex = 0; /* count "actual" globs */
+
+  *amount = 1;
+
+  while(*pattern && !res) {
+    char *buf = glob->glob_buffer;
+    size_t sublen = 0;
+    while(*pattern && *pattern != '{') {
+      if(*pattern == '[') {
+        /* skip over IPv6 literals and [] */
+        size_t skip = 0;
+        if(!peek_ipv6(pattern, &skip) && (pattern[1] == ']'))
+          skip = 2;
+        if(skip) {
+          memcpy(buf, pattern, skip);
+          buf += skip;
+          pattern += skip;
+          sublen += skip;
+          continue;
+        }
+        break;
+      }
+      if(*pattern == '}' || *pattern == ']')
+        return GLOBERROR("unmatched close brace/bracket", pos,
+                         CURLE_URL_MALFORMAT);
+
+      /* only allow \ to escape known "special letters" */
+      if(*pattern == '\\' &&
+         (*(pattern + 1) == '{' || *(pattern + 1) == '[' ||
+          *(pattern + 1) == '}' || *(pattern + 1) == ']') ) {
+
+        /* escape character, skip '\' */
+        ++pattern;
+        ++pos;
+      }
+      *buf++ = *pattern++; /* copy character to literal */
+      ++pos;
+      sublen++;
+    }
+    if(sublen) {
+      /* we got a literal string, add it as a single-item list */
+      *buf = '\0';
+      res = glob_fixed(glob, glob->glob_buffer, sublen);
+    }
+    else {
+      switch (*pattern) {
+      case '\0': /* done  */
+        break;
+
+      case '{':
+        /* process set pattern */
+        pattern++;
+        pos++;
+        res = glob_set(glob, &pattern, &pos, amount, globindex++);
+        break;
+
+      case '[':
+        /* process range pattern */
+        pattern++;
+        pos++;
+        res = glob_range(glob, &pattern, &pos, amount, globindex++);
+        break;
+      }
+    }
+
+    if(++glob->size >= GLOB_PATTERN_NUM)
+      return GLOBERROR("too many globs", pos, CURLE_URL_MALFORMAT);
+  }
+  return res;
+}
+
+CURLcode glob_url(struct URLGlob **glob, char *url, unsigned long *urlnum,
+                  FILE *error)
+{
+  /*
+   * We can deal with any-size, just make a buffer with the same length
+   * as the specified URL!
+   */
+  struct URLGlob *glob_expand;
+  unsigned long amount = 0;
+  char *glob_buffer;
+  CURLcode res;
+
+  *glob = NULL;
+
+  glob_buffer = malloc(strlen(url) + 1);
+  if(!glob_buffer)
+    return CURLE_OUT_OF_MEMORY;
+  glob_buffer[0] = 0;
+
+  glob_expand = calloc(1, sizeof(struct URLGlob));
+  if(!glob_expand) {
+    Curl_safefree(glob_buffer);
+    return CURLE_OUT_OF_MEMORY;
+  }
+  glob_expand->urllen = strlen(url);
+  glob_expand->glob_buffer = glob_buffer;
+
+  res = glob_parse(glob_expand, url, 1, &amount);
+  if(!res)
+    *urlnum = amount;
+  else {
+    if(error && glob_expand->error) {
+      char text[512];
+      const char *t;
+      if(glob_expand->pos) {
+        msnprintf(text, sizeof(text), "%s in URL position %zu:\n%s\n%*s^",
+                  glob_expand->error,
+                  glob_expand->pos, url, (int)glob_expand->pos - 1, " ");
+        t = text;
+      }
+      else
+        t = glob_expand->error;
+
+      /* send error description to the error-stream */
+      fprintf(error, "curl: (%d) %s\n", res, t);
+    }
+    /* it failed, we cleanup */
+    glob_cleanup(glob_expand);
+    *urlnum = 1;
+    return res;
+  }
+
+  *glob = glob_expand;
+  return CURLE_OK;
+}
+
+void glob_cleanup(struct URLGlob *glob)
+{
+  size_t i;
+  int elem;
+
+  if(!glob)
+    return;
+
+  for(i = 0; i < glob->size; i++) {
+    if((glob->pattern[i].type == UPTSet) &&
+       (glob->pattern[i].content.Set.elements)) {
+      for(elem = glob->pattern[i].content.Set.size - 1;
+          elem >= 0;
+          --elem) {
+        Curl_safefree(glob->pattern[i].content.Set.elements[elem]);
+      }
+      Curl_safefree(glob->pattern[i].content.Set.elements);
+    }
+  }
+  Curl_safefree(glob->glob_buffer);
+  Curl_safefree(glob);
+}
+
+CURLcode glob_next_url(char **globbed, struct URLGlob *glob)
+{
+  struct URLPattern *pat;
+  size_t i;
+  size_t len;
+  size_t buflen = glob->urllen + 1;
+  char *buf = glob->glob_buffer;
+
+  *globbed = NULL;
+
+  if(!glob->beenhere)
+    glob->beenhere = 1;
+  else {
+    bool carry = TRUE;
+
+    /* implement a counter over the index ranges of all patterns, starting
+       with the rightmost pattern */
+    for(i = 0; carry && (i < glob->size); i++) {
+      carry = FALSE;
+      pat = &glob->pattern[glob->size - 1 - i];
+      switch(pat->type) {
+      case UPTSet:
+        if((pat->content.Set.elements) &&
+           (++pat->content.Set.ptr_s == pat->content.Set.size)) {
+          pat->content.Set.ptr_s = 0;
+          carry = TRUE;
+        }
+        break;
+      case UPTCharRange:
+        pat->content.CharRange.ptr_c =
+          (char)(pat->content.CharRange.step +
+                 (int)((unsigned char)pat->content.CharRange.ptr_c));
+        if(pat->content.CharRange.ptr_c > pat->content.CharRange.max_c) {
+          pat->content.CharRange.ptr_c = pat->content.CharRange.min_c;
+          carry = TRUE;
+        }
+        break;
+      case UPTNumRange:
+        pat->content.NumRange.ptr_n += pat->content.NumRange.step;
+        if(pat->content.NumRange.ptr_n > pat->content.NumRange.max_n) {
+          pat->content.NumRange.ptr_n = pat->content.NumRange.min_n;
+          carry = TRUE;
+        }
+        break;
+      default:
+        printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
+        return CURLE_FAILED_INIT;
+      }
+    }
+    if(carry) {         /* first pattern ptr has run into overflow, done! */
+      return CURLE_OK;
+    }
+  }
+
+  for(i = 0; i < glob->size; ++i) {
+    pat = &glob->pattern[i];
+    switch(pat->type) {
+    case UPTSet:
+      if(pat->content.Set.elements) {
+        msnprintf(buf, buflen, "%s",
+                  pat->content.Set.elements[pat->content.Set.ptr_s]);
+        len = strlen(buf);
+        buf += len;
+        buflen -= len;
+      }
+      break;
+    case UPTCharRange:
+      if(buflen) {
+        *buf++ = pat->content.CharRange.ptr_c;
+        *buf = '\0';
+        buflen--;
+      }
+      break;
+    case UPTNumRange:
+      msnprintf(buf, buflen, "%0*lu",
+                pat->content.NumRange.padlength,
+                pat->content.NumRange.ptr_n);
+      len = strlen(buf);
+      buf += len;
+      buflen -= len;
+      break;
+    default:
+      printf("internal error: invalid pattern type (%d)\n", (int)pat->type);
+      return CURLE_FAILED_INIT;
+    }
+  }
+
+  *globbed = strdup(glob->glob_buffer);
+  if(!*globbed)
+    return CURLE_OUT_OF_MEMORY;
+
+  return CURLE_OK;
+}
+
+#define MAX_OUTPUT_GLOB_LENGTH (10*1024)
+
+CURLcode glob_match_url(char **result, char *filename, struct URLGlob *glob)
+{
+  char numbuf[18];
+  char *appendthis = (char *)"";
+  size_t appendlen = 0;
+  struct curlx_dynbuf dyn;
+
+  *result = NULL;
+
+  /* We cannot use the glob_buffer for storage since the filename may be
+   * longer than the URL we use.
+   */
+  curlx_dyn_init(&dyn, MAX_OUTPUT_GLOB_LENGTH);
+
+  while(*filename) {
+    if(*filename == '#' && ISDIGIT(filename[1])) {
+      char *ptr = filename;
+      unsigned long num = strtoul(&filename[1], &filename, 10);
+      struct URLPattern *pat = NULL;
+
+      if(num && (num < glob->size)) {
+        unsigned long i;
+        num--; /* make it zero based */
+        /* find the correct glob entry */
+        for(i = 0; i<glob->size; i++) {
+          if(glob->pattern[i].globindex == (int)num) {
+            pat = &glob->pattern[i];
+            break;
+          }
+        }
+      }
+
+      if(pat) {
+        switch(pat->type) {
+        case UPTSet:
+          if(pat->content.Set.elements) {
+            appendthis = pat->content.Set.elements[pat->content.Set.ptr_s];
+            appendlen =
+              strlen(pat->content.Set.elements[pat->content.Set.ptr_s]);
+          }
+          break;
+        case UPTCharRange:
+          numbuf[0] = pat->content.CharRange.ptr_c;
+          numbuf[1] = 0;
+          appendthis = numbuf;
+          appendlen = 1;
+          break;
+        case UPTNumRange:
+          msnprintf(numbuf, sizeof(numbuf), "%0*lu",
+                    pat->content.NumRange.padlength,
+                    pat->content.NumRange.ptr_n);
+          appendthis = numbuf;
+          appendlen = strlen(numbuf);
+          break;
+        default:
+          fprintf(stderr, "internal error: invalid pattern type (%d)\n",
+                  (int)pat->type);
+          curlx_dyn_free(&dyn);
+          return CURLE_FAILED_INIT;
+        }
+      }
+      else {
+        /* #[num] out of range, use the #[num] in the output */
+        filename = ptr;
+        appendthis = filename++;
+        appendlen = 1;
+      }
+    }
+    else {
+      appendthis = filename++;
+      appendlen = 1;
+    }
+    if(curlx_dyn_addn(&dyn, appendthis, appendlen))
+      return CURLE_OUT_OF_MEMORY;
+  }
+
+  if(curlx_dyn_addn(&dyn, "", 0))
+    return CURLE_OUT_OF_MEMORY;
+
+#if defined(MSDOS) || defined(WIN32)
+  {
+    char *sanitized;
+    SANITIZEcode sc = sanitize_file_name(&sanitized, curlx_dyn_ptr(&dyn),
+                                         (SANITIZE_ALLOW_PATH |
+                                          SANITIZE_ALLOW_RESERVED));
+    curlx_dyn_free(&dyn);
+    if(sc)
+      return CURLE_URL_MALFORMAT;
+    *result = sanitized;
+    return CURLE_OK;
+  }
+#else
+  *result = curlx_dyn_ptr(&dyn);
+  return CURLE_OK;
+#endif /* MSDOS || WIN32 */
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.h b/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.h
new file mode 100755
index 0000000..80c1537
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_urlglob.h
@@ -0,0 +1,78 @@
+#ifndef HEADER_CURL_TOOL_URLGLOB_H
+#define HEADER_CURL_TOOL_URLGLOB_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+typedef enum {
+  UPTSet = 1,
+  UPTCharRange,
+  UPTNumRange
+} URLPatternType;
+
+struct URLPattern {
+  URLPatternType type;
+  int globindex; /* the number of this particular glob or -1 if not used
+                    within {} or [] */
+  union {
+    struct {
+      char **elements;
+      int size;
+      int ptr_s;
+    } Set;
+    struct {
+      char min_c;
+      char max_c;
+      char ptr_c;
+      int step;
+    } CharRange;
+    struct {
+      unsigned long min_n;
+      unsigned long max_n;
+      int padlength;
+      unsigned long ptr_n;
+      unsigned long step;
+    } NumRange;
+  } content;
+};
+
+/* the total number of globs supported */
+#define GLOB_PATTERN_NUM 100
+
+struct URLGlob {
+  struct URLPattern pattern[GLOB_PATTERN_NUM];
+  size_t size;
+  size_t urllen;
+  char *glob_buffer;
+  char beenhere;
+  const char *error; /* error message */
+  size_t pos;        /* column position of error or 0 */
+};
+
+CURLcode glob_url(struct URLGlob**, char *, unsigned long *, FILE *);
+CURLcode glob_next_url(char **, struct URLGlob *);
+CURLcode glob_match_url(char **, char *, struct URLGlob *);
+void glob_cleanup(struct URLGlob *glob);
+
+#endif /* HEADER_CURL_TOOL_URLGLOB_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_util.c b/ap/lib/libcurl/curl-7.86.0/src/tool_util.c
new file mode 100755
index 0000000..fb4829f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_util.c
@@ -0,0 +1,165 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#if defined(HAVE_STRCASECMP) && defined(HAVE_STRINGS_H)
+#include <strings.h>
+#endif
+
+#include "tool_util.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#if defined(WIN32) && !defined(MSDOS)
+
+/* set in win32_init() */
+extern LARGE_INTEGER tool_freq;
+extern bool tool_isVistaOrGreater;
+
+/* In case of bug fix this function has a counterpart in timeval.c */
+struct timeval tvnow(void)
+{
+  struct timeval now;
+  if(tool_isVistaOrGreater) { /* QPC timer might have issues pre-Vista */
+    LARGE_INTEGER count;
+    QueryPerformanceCounter(&count);
+    now.tv_sec = (long)(count.QuadPart / tool_freq.QuadPart);
+    now.tv_usec = (long)((count.QuadPart % tool_freq.QuadPart) * 1000000 /
+                         tool_freq.QuadPart);
+  }
+  else {
+    /* Disable /analyze warning that GetTickCount64 is preferred  */
+#if defined(_MSC_VER)
+#pragma warning(push)
+#pragma warning(disable:28159)
+#endif
+    DWORD milliseconds = GetTickCount();
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif
+
+    now.tv_sec = (long)(milliseconds / 1000);
+    now.tv_usec = (long)((milliseconds % 1000) * 1000);
+  }
+  return now;
+}
+
+#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)
+
+struct timeval tvnow(void)
+{
+  /*
+  ** clock_gettime() is granted to be increased monotonically when the
+  ** monotonic clock is queried. Time starting point is unspecified, it
+  ** could be the system start-up time, the Epoch, or something else,
+  ** in any case the time starting point does not change once that the
+  ** system has started up.
+  */
+  struct timeval now;
+  struct timespec tsnow;
+  if(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow)) {
+    now.tv_sec = tsnow.tv_sec;
+    now.tv_usec = (int)(tsnow.tv_nsec / 1000);
+  }
+  /*
+  ** Even when the configure process has truly detected monotonic clock
+  ** availability, it might happen that it is not actually available at
+  ** run-time. When this occurs simply fallback to other time source.
+  */
+#ifdef HAVE_GETTIMEOFDAY
+  else
+    (void)gettimeofday(&now, NULL);
+#else
+  else {
+    now.tv_sec = time(NULL);
+    now.tv_usec = 0;
+  }
+#endif
+  return now;
+}
+
+#elif defined(HAVE_GETTIMEOFDAY)
+
+struct timeval tvnow(void)
+{
+  /*
+  ** gettimeofday() is not granted to be increased monotonically, due to
+  ** clock drifting and external source time synchronization it can jump
+  ** forward or backward in time.
+  */
+  struct timeval now;
+  (void)gettimeofday(&now, NULL);
+  return now;
+}
+
+#else
+
+struct timeval tvnow(void)
+{
+  /*
+  ** time() returns the value of time in seconds since the Epoch.
+  */
+  struct timeval now;
+  now.tv_sec = time(NULL);
+  now.tv_usec = 0;
+  return now;
+}
+
+#endif
+
+/*
+ * Make sure that the first argument is the more recent time, as otherwise
+ * we'll get a weird negative time-diff back...
+ *
+ * Returns: the time difference in number of milliseconds.
+ */
+long tvdiff(struct timeval newer, struct timeval older)
+{
+  return (long)(newer.tv_sec-older.tv_sec)*1000+
+    (long)(newer.tv_usec-older.tv_usec)/1000;
+}
+
+/* Case insensitive compare. Accept NULL pointers. */
+int struplocompare(const char *p1, const char *p2)
+{
+  if(!p1)
+    return p2? -1: 0;
+  if(!p2)
+    return 1;
+#ifdef HAVE_STRCASECMP
+  return strcasecmp(p1, p2);
+#elif defined(HAVE_STRCMPI)
+  return strcmpi(p1, p2);
+#elif defined(HAVE_STRICMP)
+  return stricmp(p1, p2);
+#else
+  return strcmp(p1, p2);
+#endif
+}
+
+/* Indirect version to use as qsort callback. */
+int struplocompare4sort(const void *p1, const void *p2)
+{
+  return struplocompare(* (char * const *) p1, * (char * const *) p2);
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_util.h b/ap/lib/libcurl/curl-7.86.0/src/tool_util.h
new file mode 100755
index 0000000..72b355e
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_util.h
@@ -0,0 +1,42 @@
+#ifndef HEADER_CURL_TOOL_UTIL_H
+#define HEADER_CURL_TOOL_UTIL_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+struct timeval tvnow(void);
+
+/*
+ * Make sure that the first argument (t1) is the more recent time and t2 is
+ * the older time, as otherwise you get a weird negative time-diff back...
+ *
+ * Returns: the time difference in number of milliseconds.
+ */
+long tvdiff(struct timeval t1, struct timeval t2);
+
+/* Case insensitive comparison support. */
+int struplocompare(const char *p1, const char *p2);
+int struplocompare4sort(const void *p1, const void *p2);
+
+#endif /* HEADER_CURL_TOOL_UTIL_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_version.h b/ap/lib/libcurl/curl-7.86.0/src/tool_version.h
new file mode 100755
index 0000000..0bbb9a5
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_version.h
@@ -0,0 +1,36 @@
+#ifndef HEADER_CURL_TOOL_VERSION_H
+#define HEADER_CURL_TOOL_VERSION_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include <curl/curlver.h>
+
+#define CURL_NAME "curl"
+#define CURL_COPYRIGHT LIBCURL_COPYRIGHT
+#define CURL_VERSION "7.86.0"
+#define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
+#define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
+#define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
+#define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") "
+
+#endif /* HEADER_CURL_TOOL_VERSION_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_vms.c b/ap/lib/libcurl/curl-7.86.0/src/tool_vms.c
new file mode 100755
index 0000000..7d45d5f
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_vms.c
@@ -0,0 +1,220 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef __VMS
+
+#if defined(__DECC) && !defined(__VAX) && \
+    defined(__CRTL_VER) && (__CRTL_VER >= 70301000)
+#include <unixlib.h>
+#endif
+
+#define ENABLE_CURLX_PRINTF
+#include "curlx.h"
+
+#include "curlmsg_vms.h"
+#include "tool_vms.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+void decc$__posix_exit(int __status);
+void decc$exit(int __status);
+
+static int vms_shell = -1;
+
+/* VMS has a DCL shell and also has Unix shells ported to it.
+ * When curl is running under a Unix shell, we want it to be as much
+ * like Unix as possible.
+ */
+int is_vms_shell(void)
+{
+  char *shell;
+
+  /* Have we checked the shell yet? */
+  if(vms_shell >= 0)
+    return vms_shell;
+
+  shell = getenv("SHELL");
+
+  /* No shell, means DCL */
+  if(!shell) {
+    vms_shell = 1;
+    return 1;
+  }
+
+  /* Have to make sure some one did not set shell to DCL */
+  if(strcmp(shell, "DCL") == 0) {
+    vms_shell = 1;
+    return 1;
+  }
+
+  vms_shell = 0;
+  return 0;
+}
+
+/*
+ * VMS has two exit() routines.  When running under a Unix style shell, then
+ * Unix style and the __posix_exit() routine is used.
+ *
+ * When running under the DCL shell, then the VMS encoded codes and decc$exit()
+ * is used.
+ *
+ * We can not use exit() or return a code from main() because the actual
+ * routine called depends on both the compiler version, compile options, and
+ * feature macro settings, and one of the exit routines is hidden at compile
+ * time.
+ *
+ * Since we want Curl to work properly under the VMS DCL shell and Unix
+ * shells under VMS, this routine should compile correctly regardless of
+ * the settings.
+ */
+
+void vms_special_exit(int code, int vms_show)
+{
+  int vms_code;
+
+  /* The Posix exit mode is only available after VMS 7.0 */
+#if __CRTL_VER >= 70000000
+  if(is_vms_shell() == 0) {
+    decc$__posix_exit(code);
+  }
+#endif
+
+  if(code > CURL_LAST) {   /* If CURL_LAST exceeded then */
+    vms_code = CURL_LAST;  /* curlmsg.h is out of sync.  */
+  }
+  else {
+    vms_code = vms_cond[code] | vms_show;
+  }
+  decc$exit(vms_code);
+}
+
+#if defined(__DECC) && !defined(__VAX) && \
+    defined(__CRTL_VER) && (__CRTL_VER >= 70301000)
+
+/*
+ * 2004-09-19 SMS.
+ *
+ * decc_init()
+ *
+ * On non-VAX systems, use LIB$INITIALIZE to set a collection of C
+ * RTL features without using the DECC$* logical name method, nor
+ * requiring the user to define the corresponding logical names.
+ */
+
+/* Structure to hold a DECC$* feature name and its desired value. */
+struct decc_feat_t {
+  char *name;
+  int value;
+};
+
+/* Array of DECC$* feature names and their desired values. */
+static const struct decc_feat_t decc_feat_array[] = {
+  /* Preserve command-line case with SET PROCESS/PARSE_STYLE=EXTENDED */
+  { "DECC$ARGV_PARSE_STYLE", 1 },
+  /* Preserve case for file names on ODS5 disks. */
+  { "DECC$EFS_CASE_PRESERVE", 1 },
+  /* Enable multiple dots (and most characters) in ODS5 file names,
+     while preserving VMS-ness of ";version". */
+  { "DECC$EFS_CHARSET", 1 },
+  /* List terminator. */
+  { (char *)NULL, 0 }
+};
+
+/* Flag to sense if decc_init() was called. */
+static int decc_init_done = -1;
+
+/* LIB$INITIALIZE initialization function. */
+static void decc_init(void)
+{
+  int feat_index;
+  int feat_value;
+  int feat_value_max;
+  int feat_value_min;
+  int i;
+  int sts;
+
+  /* Set the global flag to indicate that LIB$INITIALIZE worked. */
+  decc_init_done = 1;
+
+  /* Loop through all items in the decc_feat_array[]. */
+  for(i = 0; decc_feat_array[i].name != NULL; i++) {
+
+    /* Get the feature index. */
+    feat_index = decc$feature_get_index(decc_feat_array[i].name);
+
+    if(feat_index >= 0) {
+      /* Valid item.  Collect its properties. */
+      feat_value = decc$feature_get_value(feat_index, 1);
+      feat_value_min = decc$feature_get_value(feat_index, 2);
+      feat_value_max = decc$feature_get_value(feat_index, 3);
+
+      if((decc_feat_array[i].value >= feat_value_min) &&
+         (decc_feat_array[i].value <= feat_value_max)) {
+        /* Valid value.  Set it if necessary. */
+        if(feat_value != decc_feat_array[i].value) {
+          sts = decc$feature_set_value(feat_index, 1,
+                                       decc_feat_array[i].value);
+        }
+      }
+      else {
+        /* Invalid DECC feature value. */
+        printf(" INVALID DECC FEATURE VALUE, %d: %d <= %s <= %d.\n",
+               feat_value,
+               feat_value_min, decc_feat_array[i].name, feat_value_max);
+      }
+    }
+    else {
+      /* Invalid DECC feature name. */
+      printf(" UNKNOWN DECC FEATURE: %s.\n", decc_feat_array[i].name);
+    }
+
+  }
+}
+
+/* Get "decc_init()" into a valid, loaded LIB$INITIALIZE PSECT. */
+
+#pragma nostandard
+
+/* Establish the LIB$INITIALIZE PSECTs, with proper alignment and
+   other attributes.  Note that "nopic" is significant only on VAX. */
+#pragma extern_model save
+#pragma extern_model strict_refdef "LIB$INITIALIZ" 2, nopic, nowrt
+const int spare[8] = {0};
+#pragma extern_model strict_refdef "LIB$INITIALIZE" 2, nopic, nowrt
+void (*const x_decc_init)() = decc_init;
+#pragma extern_model restore
+
+/* Fake reference to ensure loading the LIB$INITIALIZE PSECT. */
+#pragma extern_model save
+int LIB$INITIALIZE(void);
+#pragma extern_model strict_refdef
+int dmy_lib$initialize = (int) LIB$INITIALIZE;
+#pragma extern_model restore
+
+#pragma standard
+
+#endif /* __DECC && !__VAX && __CRTL_VER && __CRTL_VER >= 70301000 */
+
+#endif /* __VMS */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_vms.h b/ap/lib/libcurl/curl-7.86.0/src/tool_vms.h
new file mode 100755
index 0000000..949206d
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_vms.h
@@ -0,0 +1,48 @@
+#ifndef HEADER_CURL_TOOL_VMS_H
+#define HEADER_CURL_TOOL_VMS_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef __VMS
+
+/*
+ * Forward-declaration of global variable vms_show defined
+ * in tool_main.c, used in main() as parameter for function
+ * vms_special_exit() to allow proper curl tool exiting.
+ */
+extern int vms_show;
+
+int is_vms_shell(void);
+void vms_special_exit(int code, int vms_show);
+
+#undef exit
+#define exit(__code) vms_special_exit((__code), (0))
+
+#define  VMS_STS(c,f,e,s) (((c&0xF)<<28)|((f&0xFFF)<<16)|((e&0x1FFF)<3)|(s&7))
+#define  VMSSTS_HIDE  VMS_STS(1,0,0,0)
+
+#endif /* __VMS */
+
+#endif /* HEADER_CURL_TOOL_VMS_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.c b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.c
new file mode 100755
index 0000000..2789ee2
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.c
@@ -0,0 +1,439 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#define ENABLE_CURLX_PRINTF
+/* use our own printf() functions */
+#include "curlx.h"
+#include "tool_cfgable.h"
+#include "tool_writeout.h"
+#include "tool_writeout_json.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+static int writeTime(FILE *stream, const struct writeoutvar *wovar,
+                     struct per_transfer *per, CURLcode per_result,
+                     bool use_json);
+
+static int writeString(FILE *stream, const struct writeoutvar *wovar,
+                       struct per_transfer *per, CURLcode per_result,
+                       bool use_json);
+
+static int writeLong(FILE *stream, const struct writeoutvar *wovar,
+                     struct per_transfer *per, CURLcode per_result,
+                     bool use_json);
+
+static int writeOffset(FILE *stream, const struct writeoutvar *wovar,
+                       struct per_transfer *per, CURLcode per_result,
+                       bool use_json);
+
+struct httpmap {
+  const char *str;
+  int num;
+};
+
+static const struct httpmap http_version[] = {
+  { "0",   CURL_HTTP_VERSION_NONE},
+  { "1",   CURL_HTTP_VERSION_1_0},
+  { "1.1", CURL_HTTP_VERSION_1_1},
+  { "2",   CURL_HTTP_VERSION_2},
+  { "3",   CURL_HTTP_VERSION_3},
+  { NULL, 0} /* end of list */
+};
+
+/* The designated write function should be the same as the CURLINFO return type
+   with exceptions special cased in the respective function. For example,
+   http_version uses CURLINFO_HTTP_VERSION which returns the version as a long,
+   however it is output as a string and therefore is handled in writeString.
+
+   Yes: "http_version": "1.1"
+   No:  "http_version": 1.1
+
+   Variable names should be in alphabetical order.
+   */
+static const struct writeoutvar variables[] = {
+  {"content_type", VAR_CONTENT_TYPE, CURLINFO_CONTENT_TYPE, writeString},
+  {"errormsg", VAR_ERRORMSG, CURLINFO_NONE, writeString},
+  {"exitcode", VAR_EXITCODE, CURLINFO_NONE, writeLong},
+  {"filename_effective", VAR_EFFECTIVE_FILENAME, CURLINFO_NONE, writeString},
+  {"ftp_entry_path", VAR_FTP_ENTRY_PATH, CURLINFO_FTP_ENTRY_PATH, writeString},
+  {"header_json", VAR_HEADER_JSON, CURLINFO_NONE, NULL},
+  {"http_code", VAR_HTTP_CODE, CURLINFO_RESPONSE_CODE, writeLong},
+  {"http_connect", VAR_HTTP_CODE_PROXY, CURLINFO_HTTP_CONNECTCODE, writeLong},
+  {"http_version", VAR_HTTP_VERSION, CURLINFO_HTTP_VERSION, writeString},
+  {"json", VAR_JSON, CURLINFO_NONE, NULL},
+  {"local_ip", VAR_LOCAL_IP, CURLINFO_LOCAL_IP, writeString},
+  {"local_port", VAR_LOCAL_PORT, CURLINFO_LOCAL_PORT, writeLong},
+  {"method", VAR_EFFECTIVE_METHOD, CURLINFO_EFFECTIVE_METHOD, writeString},
+  {"num_connects", VAR_NUM_CONNECTS, CURLINFO_NUM_CONNECTS, writeLong},
+  {"num_headers", VAR_NUM_HEADERS, CURLINFO_NONE, writeLong},
+  {"num_redirects", VAR_REDIRECT_COUNT, CURLINFO_REDIRECT_COUNT, writeLong},
+  {"onerror", VAR_ONERROR, CURLINFO_NONE, NULL},
+  {"proxy_ssl_verify_result", VAR_PROXY_SSL_VERIFY_RESULT,
+   CURLINFO_PROXY_SSL_VERIFYRESULT, writeLong},
+  {"redirect_url", VAR_REDIRECT_URL, CURLINFO_REDIRECT_URL, writeString},
+  {"referer", VAR_REFERER, CURLINFO_REFERER, writeString},
+  {"remote_ip", VAR_PRIMARY_IP, CURLINFO_PRIMARY_IP, writeString},
+  {"remote_port", VAR_PRIMARY_PORT, CURLINFO_PRIMARY_PORT, writeLong},
+  {"response_code", VAR_HTTP_CODE, CURLINFO_RESPONSE_CODE, writeLong},
+  {"scheme", VAR_SCHEME, CURLINFO_SCHEME, writeString},
+  {"size_download", VAR_SIZE_DOWNLOAD, CURLINFO_SIZE_DOWNLOAD_T, writeOffset},
+  {"size_header", VAR_HEADER_SIZE, CURLINFO_HEADER_SIZE, writeLong},
+  {"size_request", VAR_REQUEST_SIZE, CURLINFO_REQUEST_SIZE, writeLong},
+  {"size_upload", VAR_SIZE_UPLOAD, CURLINFO_SIZE_UPLOAD_T, writeOffset},
+  {"speed_download", VAR_SPEED_DOWNLOAD, CURLINFO_SPEED_DOWNLOAD_T,
+   writeOffset},
+  {"speed_upload", VAR_SPEED_UPLOAD, CURLINFO_SPEED_UPLOAD_T, writeOffset},
+  {"ssl_verify_result", VAR_SSL_VERIFY_RESULT, CURLINFO_SSL_VERIFYRESULT,
+   writeLong},
+  {"stderr", VAR_STDERR, CURLINFO_NONE, NULL},
+  {"stdout", VAR_STDOUT, CURLINFO_NONE, NULL},
+  {"time_appconnect", VAR_APPCONNECT_TIME, CURLINFO_APPCONNECT_TIME_T,
+   writeTime},
+  {"time_connect", VAR_CONNECT_TIME, CURLINFO_CONNECT_TIME_T, writeTime},
+  {"time_namelookup", VAR_NAMELOOKUP_TIME, CURLINFO_NAMELOOKUP_TIME_T,
+   writeTime},
+  {"time_pretransfer", VAR_PRETRANSFER_TIME, CURLINFO_PRETRANSFER_TIME_T,
+   writeTime},
+  {"time_redirect", VAR_REDIRECT_TIME, CURLINFO_REDIRECT_TIME_T, writeTime},
+  {"time_starttransfer", VAR_STARTTRANSFER_TIME, CURLINFO_STARTTRANSFER_TIME_T,
+   writeTime},
+  {"time_total", VAR_TOTAL_TIME, CURLINFO_TOTAL_TIME_T, writeTime},
+  {"url", VAR_INPUT_URL, CURLINFO_NONE, writeString},
+  {"url_effective", VAR_EFFECTIVE_URL, CURLINFO_EFFECTIVE_URL, writeString},
+  {"urlnum", VAR_URLNUM, CURLINFO_NONE, writeLong},
+  {NULL, VAR_NONE, CURLINFO_NONE, NULL}
+};
+
+static int writeTime(FILE *stream, const struct writeoutvar *wovar,
+                     struct per_transfer *per, CURLcode per_result,
+                     bool use_json)
+{
+  bool valid = false;
+  curl_off_t us = 0;
+
+  (void)per;
+  (void)per_result;
+  DEBUGASSERT(wovar->writefunc == writeTime);
+
+  if(wovar->ci) {
+    if(!curl_easy_getinfo(per->curl, wovar->ci, &us))
+      valid = true;
+  }
+  else {
+    DEBUGASSERT(0);
+  }
+
+  if(valid) {
+    curl_off_t secs = us / 1000000;
+    us %= 1000000;
+
+    if(use_json)
+      fprintf(stream, "\"%s\":", wovar->name);
+
+    fprintf(stream, "%" CURL_FORMAT_CURL_OFF_TU
+            ".%06" CURL_FORMAT_CURL_OFF_TU, secs, us);
+  }
+  else {
+    if(use_json)
+      fprintf(stream, "\"%s\":null", wovar->name);
+  }
+
+  return 1; /* return 1 if anything was written */
+}
+
+static int writeString(FILE *stream, const struct writeoutvar *wovar,
+                       struct per_transfer *per, CURLcode per_result,
+                       bool use_json)
+{
+  bool valid = false;
+  const char *strinfo = NULL;
+
+  DEBUGASSERT(wovar->writefunc == writeString);
+
+  if(wovar->ci) {
+    if(wovar->ci == CURLINFO_HTTP_VERSION) {
+      long version = 0;
+      if(!curl_easy_getinfo(per->curl, CURLINFO_HTTP_VERSION, &version)) {
+        const struct httpmap *m = &http_version[0];
+        while(m->str) {
+          if(m->num == version) {
+            strinfo = m->str;
+            valid = true;
+            break;
+          }
+          m++;
+        }
+      }
+    }
+    else {
+      if(!curl_easy_getinfo(per->curl, wovar->ci, &strinfo) && strinfo)
+        valid = true;
+    }
+  }
+  else {
+    switch(wovar->id) {
+    case VAR_ERRORMSG:
+      if(per_result) {
+        strinfo = (per->errorbuffer && per->errorbuffer[0]) ?
+          per->errorbuffer : curl_easy_strerror(per_result);
+        valid = true;
+      }
+      break;
+    case VAR_EFFECTIVE_FILENAME:
+      if(per->outs.filename) {
+        strinfo = per->outs.filename;
+        valid = true;
+      }
+      break;
+    case VAR_INPUT_URL:
+      if(per->this_url) {
+        strinfo = per->this_url;
+        valid = true;
+      }
+      break;
+    default:
+      DEBUGASSERT(0);
+      break;
+    }
+  }
+
+  if(valid) {
+    DEBUGASSERT(strinfo);
+    if(use_json) {
+      fprintf(stream, "\"%s\":", wovar->name);
+      jsonWriteString(stream, strinfo, FALSE);
+    }
+    else
+      fputs(strinfo, stream);
+  }
+  else {
+    if(use_json)
+      fprintf(stream, "\"%s\":null", wovar->name);
+  }
+
+  return 1; /* return 1 if anything was written */
+}
+
+static int writeLong(FILE *stream, const struct writeoutvar *wovar,
+                     struct per_transfer *per, CURLcode per_result,
+                     bool use_json)
+{
+  bool valid = false;
+  long longinfo = 0;
+
+  DEBUGASSERT(wovar->writefunc == writeLong);
+
+  if(wovar->ci) {
+    if(!curl_easy_getinfo(per->curl, wovar->ci, &longinfo))
+      valid = true;
+  }
+  else {
+    switch(wovar->id) {
+    case VAR_NUM_HEADERS:
+      longinfo = per->num_headers;
+      valid = true;
+      break;
+    case VAR_EXITCODE:
+      longinfo = per_result;
+      valid = true;
+      break;
+    case VAR_URLNUM:
+      if(per->urlnum <= INT_MAX) {
+        longinfo = (long)per->urlnum;
+        valid = true;
+      }
+      break;
+    default:
+      DEBUGASSERT(0);
+      break;
+    }
+  }
+
+  if(valid) {
+    if(use_json)
+      fprintf(stream, "\"%s\":%ld", wovar->name, longinfo);
+    else {
+      if(wovar->id == VAR_HTTP_CODE || wovar->id == VAR_HTTP_CODE_PROXY)
+        fprintf(stream, "%03ld", longinfo);
+      else
+        fprintf(stream, "%ld", longinfo);
+    }
+  }
+  else {
+    if(use_json)
+      fprintf(stream, "\"%s\":null", wovar->name);
+  }
+
+  return 1; /* return 1 if anything was written */
+}
+
+static int writeOffset(FILE *stream, const struct writeoutvar *wovar,
+                       struct per_transfer *per, CURLcode per_result,
+                       bool use_json)
+{
+  bool valid = false;
+  curl_off_t offinfo = 0;
+
+  (void)per;
+  (void)per_result;
+  DEBUGASSERT(wovar->writefunc == writeOffset);
+
+  if(wovar->ci) {
+    if(!curl_easy_getinfo(per->curl, wovar->ci, &offinfo))
+      valid = true;
+  }
+  else {
+    DEBUGASSERT(0);
+  }
+
+  if(valid) {
+    if(use_json)
+      fprintf(stream, "\"%s\":", wovar->name);
+
+    fprintf(stream, "%" CURL_FORMAT_CURL_OFF_T, offinfo);
+  }
+  else {
+    if(use_json)
+      fprintf(stream, "\"%s\":null", wovar->name);
+  }
+
+  return 1; /* return 1 if anything was written */
+}
+
+void ourWriteOut(const char *writeinfo, struct per_transfer *per,
+                 CURLcode per_result)
+{
+  FILE *stream = stdout;
+  const char *ptr = writeinfo;
+  bool done = FALSE;
+
+  while(ptr && *ptr && !done) {
+    if('%' == *ptr && ptr[1]) {
+      if('%' == ptr[1]) {
+        /* an escaped %-letter */
+        fputc('%', stream);
+        ptr += 2;
+      }
+      else {
+        /* this is meant as a variable to output */
+        char *end;
+        size_t vlen;
+        if('{' == ptr[1]) {
+          int i;
+          bool match = FALSE;
+          end = strchr(ptr, '}');
+          ptr += 2; /* pass the % and the { */
+          if(!end) {
+            fputs("%{", stream);
+            continue;
+          }
+          vlen = end - ptr;
+          for(i = 0; variables[i].name; i++) {
+            if((strlen(variables[i].name) == vlen) &&
+               curl_strnequal(ptr, variables[i].name, vlen)) {
+              match = TRUE;
+              switch(variables[i].id) {
+              case VAR_ONERROR:
+                if(per_result == CURLE_OK)
+                  /* this isn't error so skip the rest */
+                  done = TRUE;
+                break;
+              case VAR_STDOUT:
+                stream = stdout;
+                break;
+              case VAR_STDERR:
+                stream = stderr;
+                break;
+              case VAR_JSON:
+                ourWriteOutJSON(stream, variables, per, per_result);
+                break;
+              case VAR_HEADER_JSON:
+                headerJSON(stream, per);
+                break;
+              default:
+                (void)variables[i].writefunc(stream, &variables[i],
+                                             per, per_result, false);
+                break;
+              }
+              break;
+            }
+          }
+          if(!match) {
+            fprintf(stderr, "curl: unknown --write-out variable: '%.*s'\n",
+                    (int)vlen, ptr);
+          }
+          ptr = end + 1; /* pass the end */
+        }
+        else if(!strncmp("header{", &ptr[1], 7)) {
+          ptr += 8;
+          end = strchr(ptr, '}');
+          if(end) {
+            char hname[256]; /* holds the longest header field name */
+            struct curl_header *header;
+            vlen = end - ptr;
+            if(vlen < sizeof(hname)) {
+              memcpy(hname, ptr, vlen);
+              hname[vlen] = 0;
+              if(CURLHE_OK == curl_easy_header(per->curl, hname, 0,
+                                               CURLH_HEADER, -1, &header))
+                fputs(header->value, stream);
+            }
+            ptr = end + 1;
+          }
+          else
+            fputs("%header{", stream);
+        }
+        else {
+          /* illegal syntax, then just output the characters that are used */
+          fputc('%', stream);
+          fputc(ptr[1], stream);
+          ptr += 2;
+        }
+      }
+    }
+    else if('\\' == *ptr && ptr[1]) {
+      switch(ptr[1]) {
+      case 'r':
+        fputc('\r', stream);
+        break;
+      case 'n':
+        fputc('\n', stream);
+        break;
+      case 't':
+        fputc('\t', stream);
+        break;
+      default:
+        /* unknown, just output this */
+        fputc(*ptr, stream);
+        fputc(ptr[1], stream);
+        break;
+      }
+      ptr += 2;
+    }
+    else {
+      fputc(*ptr, stream);
+      ptr++;
+    }
+  }
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.h b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.h
new file mode 100755
index 0000000..c7cdb97
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout.h
@@ -0,0 +1,88 @@
+#ifndef HEADER_CURL_TOOL_WRITEOUT_H
+#define HEADER_CURL_TOOL_WRITEOUT_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_operate.h"
+
+typedef enum {
+  VAR_NONE,       /* must be the first */
+  VAR_APPCONNECT_TIME,
+  VAR_CONNECT_TIME,
+  VAR_CONTENT_TYPE,
+  VAR_EFFECTIVE_FILENAME,
+  VAR_EFFECTIVE_METHOD,
+  VAR_EFFECTIVE_URL,
+  VAR_ERRORMSG,
+  VAR_EXITCODE,
+  VAR_FTP_ENTRY_PATH,
+  VAR_HEADER_JSON,
+  VAR_HEADER_SIZE,
+  VAR_HTTP_CODE,
+  VAR_HTTP_CODE_PROXY,
+  VAR_HTTP_VERSION,
+  VAR_INPUT_URL,
+  VAR_JSON,
+  VAR_LOCAL_IP,
+  VAR_LOCAL_PORT,
+  VAR_NAMELOOKUP_TIME,
+  VAR_NUM_CONNECTS,
+  VAR_NUM_HEADERS,
+  VAR_ONERROR,
+  VAR_PRETRANSFER_TIME,
+  VAR_PRIMARY_IP,
+  VAR_PRIMARY_PORT,
+  VAR_PROXY_SSL_VERIFY_RESULT,
+  VAR_REDIRECT_COUNT,
+  VAR_REDIRECT_TIME,
+  VAR_REDIRECT_URL,
+  VAR_REFERER,
+  VAR_REQUEST_SIZE,
+  VAR_SCHEME,
+  VAR_SIZE_DOWNLOAD,
+  VAR_SIZE_UPLOAD,
+  VAR_SPEED_DOWNLOAD,
+  VAR_SPEED_UPLOAD,
+  VAR_SSL_VERIFY_RESULT,
+  VAR_STARTTRANSFER_TIME,
+  VAR_STDERR,
+  VAR_STDOUT,
+  VAR_TOTAL_TIME,
+  VAR_URLNUM,
+  VAR_NUM_OF_VARS /* must be the last */
+} writeoutid;
+
+struct writeoutvar {
+  const char *name;
+  writeoutid id;
+  CURLINFO ci;
+  int (*writefunc)(FILE *stream, const struct writeoutvar *wovar,
+                   struct per_transfer *per, CURLcode per_result,
+                   bool use_json);
+};
+
+void ourWriteOut(const char *writeinfo, struct per_transfer *per,
+                 CURLcode per_result);
+
+#endif /* HEADER_CURL_TOOL_WRITEOUT_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.c b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.c
new file mode 100755
index 0000000..a36d60c
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.c
@@ -0,0 +1,145 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#define ENABLE_CURLX_PRINTF
+
+/* use our own printf() functions */
+#include "curlx.h"
+#include "tool_cfgable.h"
+#include "tool_writeout_json.h"
+#include "tool_writeout.h"
+
+void jsonWriteString(FILE *stream, const char *in, bool lowercase)
+{
+  const char *i = in;
+  const char *in_end = in + strlen(in);
+
+  fputc('\"', stream);
+  for(; i < in_end; i++) {
+    switch(*i) {
+    case '\\':
+      fputs("\\\\", stream);
+      break;
+    case '\"':
+      fputs("\\\"", stream);
+      break;
+    case '\b':
+      fputs("\\b", stream);
+      break;
+    case '\f':
+      fputs("\\f", stream);
+      break;
+    case '\n':
+      fputs("\\n", stream);
+      break;
+    case '\r':
+      fputs("\\r", stream);
+      break;
+    case '\t':
+      fputs("\\t", stream);
+      break;
+    default:
+      if (*i < 32) {
+        fprintf(stream, "u%04x", *i);
+      }
+      else {
+        char out = *i;
+        if(lowercase && (out >= 'A' && out <= 'Z'))
+          /* do not use tolower() since that's locale specific */
+          out |= ('a' - 'A');
+        fputc(out, stream);
+      }
+      break;
+    }
+  }
+  fputc('\"', stream);
+}
+
+void ourWriteOutJSON(FILE *stream, const struct writeoutvar mappings[],
+                     struct per_transfer *per, CURLcode per_result)
+{
+  int i;
+
+  fputs("{", stream);
+
+  for(i = 0; mappings[i].name != NULL; i++) {
+    if(mappings[i].writefunc &&
+       mappings[i].writefunc(stream, &mappings[i], per, per_result, true))
+      fputs(",", stream);
+  }
+
+  /* The variables are sorted in alphabetical order but as a special case
+     curl_version (which is not actually a --write-out variable) is last. */
+  fprintf(stream, "\"curl_version\":");
+  jsonWriteString(stream, curl_version(), FALSE);
+  fprintf(stream, "}");
+}
+
+#ifdef _MSC_VER
+/* warning C4706: assignment within conditional expression */
+#pragma warning(disable:4706)
+#endif
+
+void headerJSON(FILE *stream, struct per_transfer *per)
+{
+  struct curl_header *header;
+  struct curl_header *prev = NULL;
+
+  fputc('{', stream);
+  while((header = curl_easy_nextheader(per->curl, CURLH_HEADER, -1,
+                                       prev))) {
+    if(prev)
+      fputs(",\n", stream);
+    jsonWriteString(stream, header->name, TRUE);
+    fputc(':', stream);
+    prev = header;
+    if(header->amount > 1) {
+      if(!header->index) {
+        /* act on the 0-index entry and pull the others in, then output in a
+           JSON list */
+        size_t a = header->amount;
+        size_t i = 0;
+        char *name = header->name;
+        fputc('[', stream);
+        do {
+          jsonWriteString(stream, header->value, FALSE);
+          if(++i >= a)
+            break;
+          fputc(',', stream);
+          if(curl_easy_header(per->curl, name, i, CURLH_HEADER,
+                              -1, &header))
+            break;
+        } while(1);
+      }
+      fputc(']', stream);
+    }
+    else {
+      fputc('[', stream);
+      jsonWriteString(stream, header->value, FALSE);
+      fputc(']', stream);
+    }
+  }
+  fputs("\n}", stream);
+}
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.h b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.h
new file mode 100755
index 0000000..d846605
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_writeout_json.h
@@ -0,0 +1,34 @@
+#ifndef HEADER_CURL_TOOL_WRITEOUT_JSON_H
+#define HEADER_CURL_TOOL_WRITEOUT_JSON_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_writeout.h"
+
+void ourWriteOutJSON(FILE *stream, const struct writeoutvar mappings[],
+                     struct per_transfer *per, CURLcode per_result);
+void headerJSON(FILE *stream, struct per_transfer *per);
+void jsonWriteString(FILE *stream, const char *in, bool lowercase);
+
+#endif /* HEADER_CURL_TOOL_WRITEOUT_H */
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.c b/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.c
new file mode 100755
index 0000000..bd05749
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.c
@@ -0,0 +1,136 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+#include "tool_xattr.h"
+
+#include "memdebug.h" /* keep this as LAST include */
+
+#ifdef USE_XATTR
+
+/* mapping table of curl metadata to extended attribute names */
+static const struct xattr_mapping {
+  const char *attr; /* name of the xattr */
+  CURLINFO info;
+} mappings[] = {
+  /* mappings proposed by
+   * https://freedesktop.org/wiki/CommonExtendedAttributes/
+   */
+  { "user.xdg.referrer.url", CURLINFO_REFERER },
+  { "user.mime_type",        CURLINFO_CONTENT_TYPE },
+  { NULL,                    CURLINFO_NONE } /* last element, abort here */
+};
+
+/* returns a new URL that needs to be freed */
+/* @unittest: 1621 */
+#ifdef UNITTESTS
+char *stripcredentials(const char *url);
+#else
+static
+#endif
+char *stripcredentials(const char *url)
+{
+  CURLU *u;
+  CURLUcode uc;
+  char *nurl;
+  u = curl_url();
+  if(u) {
+    uc = curl_url_set(u, CURLUPART_URL, url, 0);
+    if(uc)
+      goto error;
+
+    uc = curl_url_set(u, CURLUPART_USER, NULL, 0);
+    if(uc)
+      goto error;
+
+    uc = curl_url_set(u, CURLUPART_PASSWORD, NULL, 0);
+    if(uc)
+      goto error;
+
+    uc = curl_url_get(u, CURLUPART_URL, &nurl, 0);
+    if(uc)
+      goto error;
+
+    curl_url_cleanup(u);
+
+    return nurl;
+  }
+  error:
+  curl_url_cleanup(u);
+  return NULL;
+}
+
+static int xattr(int fd,
+                 const char *attr, /* name of the xattr */
+                 const char *value)
+{
+  int err = 0;
+  if(value) {
+#ifdef DEBUGBUILD
+    if(getenv("CURL_FAKE_XATTR")) {
+      printf("%s => %s\n", attr, value);
+    }
+    return 0;
+#endif
+#ifdef HAVE_FSETXATTR_6
+    err = fsetxattr(fd, attr, value, strlen(value), 0, 0);
+#elif defined(HAVE_FSETXATTR_5)
+    err = fsetxattr(fd, attr, value, strlen(value), 0);
+#elif defined(__FreeBSD_version) || defined(__MidnightBSD_version)
+    {
+      ssize_t rc = extattr_set_fd(fd, EXTATTR_NAMESPACE_USER,
+                                  attr, value, strlen(value));
+      /* FreeBSD's extattr_set_fd returns the length of the extended
+         attribute */
+      err = (rc < 0 ? -1 : 0);
+    }
+#endif
+  }
+  return err;
+}
+/* store metadata from the curl request alongside the downloaded
+ * file using extended attributes
+ */
+int fwrite_xattr(CURL *curl, const char *url, int fd)
+{
+  int i = 0;
+  int err = 0;
+
+  /* loop through all xattr-curlinfo pairs and abort on a set error */
+  while(!err && mappings[i].attr) {
+    char *value = NULL;
+    CURLcode result = curl_easy_getinfo(curl, mappings[i].info, &value);
+    if(!result && value)
+      err = xattr(fd, mappings[i].attr, value);
+    i++;
+  }
+  if(!err) {
+    char *nurl = stripcredentials(url);
+    if(!nurl)
+      return 1;
+    err = xattr(fd, "user.xdg.origin.url", nurl);
+    curl_free(nurl);
+  }
+  return err;
+}
+#endif
diff --git a/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.h b/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.h
new file mode 100755
index 0000000..e85d4cd
--- /dev/null
+++ b/ap/lib/libcurl/curl-7.86.0/src/tool_xattr.h
@@ -0,0 +1,45 @@
+#ifndef HEADER_CURL_TOOL_XATTR_H
+#define HEADER_CURL_TOOL_XATTR_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2022, 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.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.
+ *
+ * SPDX-License-Identifier: curl
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+#ifdef HAVE_FSETXATTR
+#  include <sys/xattr.h> /* header from libc, not from libattr */
+#  define USE_XATTR
+#elif (defined(__FreeBSD_version) && (__FreeBSD_version > 500000)) || \
+      defined(__MidnightBSD_version)
+#  include <sys/types.h>
+#  include <sys/extattr.h>
+#  define USE_XATTR
+#endif
+
+#ifdef USE_XATTR
+int fwrite_xattr(CURL *curl, const char *url, int fd);
+
+#else
+#define fwrite_xattr(a,b,c) 0
+#endif
+
+#endif /* HEADER_CURL_TOOL_XATTR_H */