diff options
Diffstat (limited to 'Utilities/cmcurl-7.19.0/src')
43 files changed, 0 insertions, 18545 deletions
diff --git a/Utilities/cmcurl-7.19.0/src/CMakeLists.txt b/Utilities/cmcurl-7.19.0/src/CMakeLists.txt deleted file mode 100644 index c0a1137..0000000 --- a/Utilities/cmcurl-7.19.0/src/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -# 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. -set(CURLX_ONES - ${CURL_SOURCE_DIR}/lib/strtoofft.c - ${CURL_SOURCE_DIR}/lib/strdup.c - ) - -set(CURL_SOURCES - main.c hugehelp.c urlglob.c writeout.c writeenv.c - getpass.c homedir.c curlutil.c) - -set(CURL_HFILES hugehelp.h setup.h config-win32.h config-mac.h - config-riscos.h urlglob.h version.h - writeout.h writeenv.h getpass.h homedir.h curlutil.h -) - -add_executable(curl ${CURL_SOURCES} ${CURLX_ONES} ${CURL_HFILES}) -target_link_libraries(curl cmcurl) - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.Watcom b/Utilities/cmcurl-7.19.0/src/Makefile.Watcom deleted file mode 100644 index 6154002..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.Watcom +++ /dev/null @@ -1,96 +0,0 @@ -# -# Watcom / OpenWatcom / Win32 makefile for cURL. -# G. Vanem <gvanem@broadpark.no> -# -# $Id$ - -CC = wcc386 - -CFLAGS = -3r -mf -d3 -hc -zff -zgf -zq -zm -s -fr=con -w2 -fpi -oilrtfm & - -bt=nt -d+ -dWIN32 -dHAVE_STRTOLL -dCURLDEBUG -dENABLE_IPV6 & - -dHAVE_WINSOCK2_H -I..\include -I..\lib - -OBJ_DIR = WC_Win32.obj - -OBJS = $(OBJ_DIR)\getpass.obj $(OBJ_DIR)\homedir.obj $(OBJ_DIR)\hugehelp.obj & - $(OBJ_DIR)\main.obj $(OBJ_DIR)\urlglob.obj $(OBJ_DIR)\writeenv.obj & - $(OBJ_DIR)\writeout.obj $(OBJ_DIR)\curlutil.obj - -RESOURCE = $(OBJ_DIR)\curl.res - -all: hugehelp.c $(OBJ_DIR) curl.exe .SYMBOLIC - @echo Welcome to cURL - -hugehelp.c: hugehelp.c.cvs - copy hugehelp.c.cvs hugehelp.c - -$(OBJ_DIR): - mkdir $(OBJ_DIR) - -curl.exe: $(OBJS) $(RESOURCE) - wlink name $@ system nt file { $(OBJS) } & - option quiet, map, caseexact, eliminate, res=$(RESOURCE) & - libpath $(%watcom)\lib386;$(%watcom)\lib386\nt & - library ..\lib\libcurl_wc_imp.lib, clib3r.lib, ws2_32.lib - -clean: .SYMBOLIC - - rm -f $(OBJS) $(RESOURCE) - -vclean realclean: clean .SYMBOLIC - - rm -f curl.exe curl.map hugehelp.c - - rmdir $(OBJ_DIR) - -$(RESOURCE): curl.rc - wrc -dCURLDEBUG=1 -q -r -zm -I..\include -fo=$@ curl.rc - -.ERASE -.c{$(OBJ_DIR)}.obj: - $(CC) $[@ $(CFLAGS) -fo=$@ - -# -# Dependencies based on "gcc -MM .." -# -$(OBJ_DIR)\getpass.obj: getpass.c setup.h config-win32.h ..\lib\setup_once.h getpass.h & - ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h & - ..\include\curl\curlbuild.h ..\include\curl\curlrules.h & - ..\include\curl\curl.h ..\include\curl\curlver.h & - ..\include\curl\curlrules.h ..\include\curl\easy.h & - ..\include\curl\multi.h ..\include\curl\curl.h - -$(OBJ_DIR)\homedir.obj: homedir.c setup.h config-win32.h ..\lib\setup_once.h homedir.h & - ..\lib\memdebug.h ..\lib\setup.h ..\lib\config-win32.h & - ..\include\curl\curlbuild.h ..\include\curl\curlrules.h & - ..\include\curl\curl.h ..\include\curl\curlver.h & - ..\include\curl\curlrules.h ..\include\curl\easy.h & - ..\include\curl\multi.h ..\include\curl\curl.h - -$(OBJ_DIR)\hugehelp.obj: hugehelp.c - -$(OBJ_DIR)\main.obj: main.c setup.h config-win32.h ..\lib\setup_once.h & - ..\include\curl\curl.h ..\include\curl\curlver.h & - ..\include\curl\curlbuild.h ..\include\curl\curlrules.h & - ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h & - urlglob.h writeout.h getpass.h homedir.h curlutil.h hugehelp.h & - version.h ..\include\curl\curlver.h ..\lib\curlx.h & - ..\include\curl\mprintf.h ..\lib\strequal.h ..\lib\strtoofft.h & - ..\lib\setup.h ..\lib\config-win32.h ..\include\curl\curlbuild.h & - ..\include\curl\curlrules.h ..\lib\timeval.h ..\lib\memdebug.h - -$(OBJ_DIR)\urlglob.obj: urlglob.c setup.h config-win32.h ..\lib\setup_once.h & - ..\include\curl\curl.h ..\include\curl\curlver.h & - ..\include\curl\curlbuild.h ..\include\curl\curlrules.h & - ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h & - ..\include\curl\mprintf.h urlglob.h ..\lib\memdebug.h ..\lib\setup.h & - ..\lib\config-win32.h ..\include\curl\curlbuild.h & - ..\include\curl\curlrules.h - -$(OBJ_DIR)\writeenv.obj: writeenv.c setup.h config-win32.h ..\lib\setup_once.h - -$(OBJ_DIR)\writeout.obj: writeout.c setup.h config-win32.h ..\lib\setup_once.h & - ..\include\curl\curl.h ..\include\curl\curlver.h & - ..\include\curl\curlbuild.h ..\include\curl\curlrules.h & - ..\include\curl\easy.h ..\include\curl\multi.h ..\include\curl\curl.h & - ..\include\curl\mprintf.h writeout.h - -$(OBJ_DIR)\curlutil.obj: curlutil.c setup.h config-win32.h ..\lib\setup_once.h & - curlutil.h diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.am b/Utilities/cmcurl-7.19.0/src/Makefile.am deleted file mode 100644 index be76828..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.am +++ /dev/null @@ -1,92 +0,0 @@ -#*************************************************************************** -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. -# -# You may opt to use, copy, modify, merge, publish, distribute and/or sell -# copies of the Software, and permit persons to whom the Software is -# furnished to do so, under the terms of the COPYING file. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -# $Id$ -########################################################################### -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_builddir)/include is for libcurl's generated curl/curlbuild.h file -# $(top_srcdir)/include is for libcurl's external include files -# $(top_builddir)/lib is for libcurl's generated lib/config.h file -# $(top_builddir)/src is for curl's generated src/config.h file -# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files -# $(top_srcdir)/src is for curl's src/setup.h and "curl-private" files - -INCLUDES = -I$(top_builddir)/include \ - -I$(top_srcdir)/include \ - -I$(top_builddir)/lib \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/lib \ - -I$(top_srcdir)/src - -bin_PROGRAMS = curl - -include Makefile.inc - -curl_LDADD = ../lib/libcurl.la @CURL_LIBS@ -curl_DEPENDENCIES = ../lib/libcurl.la -BUILT_SOURCES = hugehelp.c -CLEANFILES = 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.vc6 Makefile.b32 Makefile.m32 \ - Makefile.riscos config.h.in macos/curl.mcp.xml.sit.hqx \ - macos/MACINSTALL.TXT macos/src/curl_GUSIConfig.cpp curlsrc.dsp \ - macos/src/macos_main.cpp config-amigaos.h makefile.amiga curl.rc \ - Makefile.netware Makefile.inc Makefile.Watcom curlsrc.dsw - -MANPAGE=$(top_srcdir)/docs/curl.1 -README=$(top_srcdir)/docs/MANUAL -MKHELP=$(top_srcdir)/src/mkhelp.pl -HUGE=hugehelp.c - -if USE_MANUAL -# Here are the stuff to create a built-in manual - -if HAVE_LIBZ -# This generates the hugehelp.c file in both uncompressed and compressed formats -$(HUGE): $(README) $(MANPAGE) mkhelp.pl - echo '#include "setup.h"' > $(HUGE) - echo '#ifndef HAVE_LIBZ' >> $(HUGE) - $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE) - echo '#else' >> $(HUGE) - $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE) - echo '#endif /* HAVE_LIBZ */' >> $(HUGE) -else # HAVE_LIBZ -# This generates the hugehelp.c file uncompressed only -$(HUGE): $(README) $(MANPAGE) mkhelp.pl - echo '#include "setup.h"' > $(HUGE) - $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE) -endif - -else # USE_MANUAL -# built-in manual has been disabled, make a blank file -$(HUGE): - echo "/* built-in manual is disabled, blank function */" > $(HUGE) - echo '#include "hugehelp.h"' >> $(HUGE) - echo "void hugehelp(void) {}" >>$(HUGE) -endif diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.b32 b/Utilities/cmcurl-7.19.0/src/Makefile.b32 deleted file mode 100644 index b4677c6..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.b32 +++ /dev/null @@ -1,90 +0,0 @@ -############################################################ -# $Id$ -# -# Makefile.b32 - Borland's C++ Compiler 5.X -# -# 'src' directory -# -# 'BCCDIR' has to be set up to point to the base directory -# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55 -# where c:\Borland\BCC55 is the compiler is installed -# -# Written by Jaepil Kim, pit@paradise.net.nz -############################################################ - -# Edit the path below to point to the base of your Zlib sources. -!ifndef ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.1 -!endif - -# Edit the path below to point to the base of your OpenSSL package. -!ifndef OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.7d -!endif - -# Set program's name -PROGNAME = curl.exe - -# Setup environment -CXX = bcc32 -LD = bcc32 -CP = copy -RM = del -LIB = tlib - -CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM -LDFLAGS = -q -lq -lap - -INCDIRS = -I.;../include;../lib -LINKLIB = $(BCCDIR)/lib/cw32mt.lib - -# If you build with SSL support, set WITH_SSL=1 -DEFINES = -DNDEBUG -DWIN32 - -!ifdef DYNAMIC -LIBCURL_LIB = ../lib/libcurl_imp.lib -!else -LIBCURL_LIB = ../lib/libcurl.lib -DEFINES = $(DEFINES) -DCURL_STATICLIB -!endif - -!ifdef WITH_ZLIB -DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H -INCDIRS = $(INCDIRS);$(ZLIB_PATH) -LINKLIB = $(LINKLIB) $(ZLIB_PATH)/zlib.lib -!endif - -!ifdef WITH_SSL -DEFINES = $(DEFINES) -DUSE_SSLEAY -INCDIRS = $(INCDIRS);$(OPENSSL_PATH)/inc32;$(OPENSSL_PATH)/inc32/openssl -LINKLIB = $(LINKLIB) $(OPENSSL_PATH)/out32/ssleay32.lib $(OPENSSL_PATH)/out32/libeay32.lib -!endif - -.autodepend - -# Makefile.inc provides the CSOURCES and HHEADERS defines -top_srcdir = .. -!include Makefile.inc - -CSOURCES = $(CURL_SOURCES) $(CURLX_ONES) -OBJECTS = $(CSOURCES:.c=.obj) - -.c.obj: - $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $< - -all: $(PROGNAME) - -clean: - -$(RM) $(PROGNAME) - -$(RM) *.obj - -$(RM) hugehelp.c - -$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB) - @-$(RM) $@ - $(LD) $(LDFLAGS) -e$@ $** - -hugehelp.c: hugehelp.c.cvs - @echo Creating $@ - @$(CP) $** $@ - - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.in b/Utilities/cmcurl-7.19.0/src/Makefile.in deleted file mode 100644 index c17c9ca..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.in +++ /dev/null @@ -1,659 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 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@ - -# ./src/Makefile.inc - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -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) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/Makefile.inc $(srcdir)/config.h.in -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curl-reentrant.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/lib/config.h config.h \ - $(top_builddir)/include/curl/curlbuild.h -CONFIG_CLEAN_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am__objects_1 = main.$(OBJEXT) hugehelp.$(OBJEXT) urlglob.$(OBJEXT) \ - writeout.$(OBJEXT) writeenv.$(OBJEXT) getpass.$(OBJEXT) \ - homedir.$(OBJEXT) curlutil.$(OBJEXT) -am__objects_2 = strtoofft.$(OBJEXT) strdup.$(OBJEXT) -am__objects_3 = -am_curl_OBJECTS = $(am__objects_1) $(am__objects_2) $(am__objects_3) -curl_OBJECTS = $(am_curl_OBJECTS) -DEFAULT_INCLUDES = -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(curl_SOURCES) -DIST_SOURCES = $(curl_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CROSSCOMPILING_FALSE = @CROSSCOMPILING_FALSE@ -CROSSCOMPILING_TRUE = @CROSSCOMPILING_TRUE@ -CURL_CA_BUNDLE = @CURL_CA_BUNDLE@ -CURL_DISABLE_DICT = @CURL_DISABLE_DICT@ -CURL_DISABLE_FILE = @CURL_DISABLE_FILE@ -CURL_DISABLE_FTP = @CURL_DISABLE_FTP@ -CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@ -CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@ -CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@ -CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@ -CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@ -CURL_LIBS = @CURL_LIBS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -HAVE_ARES = @HAVE_ARES@ -HAVE_LIBZ = @HAVE_LIBZ@ -HAVE_LIBZ_FALSE = @HAVE_LIBZ_FALSE@ -HAVE_LIBZ_TRUE = @HAVE_LIBZ_TRUE@ -HAVE_PK11_CREATEGENERICOBJECT = @HAVE_PK11_CREATEGENERICOBJECT@ -IDN_ENABLED = @IDN_ENABLED@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -IPV6_ENABLED = @IPV6_ENABLED@ -KRB4_ENABLED = @KRB4_ENABLED@ -LDFLAGS = @LDFLAGS@ -LIBCURL_LIBS = @LIBCURL_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEINFO = @MAKEINFO@ -MANOPT = @MANOPT@ -MIMPURE_FALSE = @MIMPURE_FALSE@ -MIMPURE_TRUE = @MIMPURE_TRUE@ -NMEDIT = @NMEDIT@ -NO_UNDEFINED_FALSE = @NO_UNDEFINED_FALSE@ -NO_UNDEFINED_TRUE = @NO_UNDEFINED_TRUE@ -# 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 -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -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@ -REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -SONAME_BUMP_FALSE = @SONAME_BUMP_FALSE@ -SONAME_BUMP_TRUE = @SONAME_BUMP_TRUE@ -SSL_ENABLED = @SSL_ENABLED@ -STATICLIB_FALSE = @STATICLIB_FALSE@ -STATICLIB_TRUE = @STATICLIB_TRUE@ -STRIP = @STRIP@ -TEST_SERVER_LIBS = @TEST_SERVER_LIBS@ -USE_GNUTLS = @USE_GNUTLS@ -USE_LIBSSH2 = @USE_LIBSSH2@ -USE_MANUAL_FALSE = @USE_MANUAL_FALSE@ -USE_MANUAL_TRUE = @USE_MANUAL_TRUE@ -USE_NSS = @USE_NSS@ -USE_SSLEAY = @USE_SSLEAY@ -USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ -VERSION = @VERSION@ -VERSIONNUM = @VERSIONNUM@ -ac_ct_CC = @ac_ct_CC@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -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@ -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@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -subdirs = @subdirs@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ - -#*************************************************************************** -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. -# -# You may opt to use, copy, modify, merge, publish, distribute and/or sell -# copies of the Software, and permit persons to whom the Software is -# furnished to do so, under the terms of the COPYING file. -# -# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY -# KIND, either express or implied. -# -# $Id$ -########################################################################### -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_builddir)/include is for libcurl's generated curl/curlbuild.h file -# $(top_srcdir)/include is for libcurl's external include files -# $(top_builddir)/lib is for libcurl's generated lib/config.h file -# $(top_builddir)/src is for curl's generated src/config.h file -# $(top_srcdir)/lib is for libcurl's lib/setup.h and other "borrowed" files -# $(top_srcdir)/src is for curl's src/setup.h and "curl-private" files -INCLUDES = -I$(top_builddir)/include \ - -I$(top_srcdir)/include \ - -I$(top_builddir)/lib \ - -I$(top_builddir)/src \ - -I$(top_srcdir)/lib \ - -I$(top_srcdir)/src - - -# 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_ONES = $(top_srcdir)/lib/strtoofft.c \ - $(top_srcdir)/lib/strdup.c - -CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \ - getpass.c homedir.c curlutil.c - -CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \ - config-riscos.h urlglob.h version.h \ - writeout.h writeenv.h getpass.h homedir.h curlutil.h - -curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES) -curl_LDADD = ../lib/libcurl.la @CURL_LIBS@ -curl_DEPENDENCIES = ../lib/libcurl.la -BUILT_SOURCES = hugehelp.c -CLEANFILES = hugehelp.c -EXTRA_DIST = mkhelp.pl makefile.dj Makefile.vc6 Makefile.b32 Makefile.m32 \ - Makefile.riscos config.h.in macos/curl.mcp.xml.sit.hqx \ - macos/MACINSTALL.TXT macos/src/curl_GUSIConfig.cpp curlsrc.dsp \ - macos/src/macos_main.cpp config-amigaos.h makefile.amiga curl.rc \ - Makefile.netware Makefile.inc Makefile.Watcom curlsrc.dsw - -MANPAGE = $(top_srcdir)/docs/curl.1 -README = $(top_srcdir)/docs/MANUAL -MKHELP = $(top_srcdir)/src/mkhelp.pl -HUGE = hugehelp.c -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(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 \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -.PRECIOUS: 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__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(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 - -config.h: stamp-h2 - @if test ! -f $@; then \ - rm -f stamp-h2; \ - $(MAKE) stamp-h2; \ - else :; fi - -stamp-h2: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h2 - cd $(top_builddir) && $(SHELL) ./config.status src/config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h2 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h2 -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -curl$(EXEEXT): $(curl_OBJECTS) $(curl_DEPENDENCIES) - @rm -f curl$(EXEEXT) - $(LINK) $(curl_LDFLAGS) $(curl_OBJECTS) $(curl_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curlutil.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpass.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/homedir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hugehelp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoofft.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/urlglob.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeenv.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writeout.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< - -strtoofft.o: $(top_srcdir)/lib/strtoofft.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.o -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.o `test -f '$(top_srcdir)/lib/strtoofft.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strtoofft.c - -strtoofft.obj: $(top_srcdir)/lib/strtoofft.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strtoofft.obj -MD -MP -MF "$(DEPDIR)/strtoofft.Tpo" -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strtoofft.Tpo" "$(DEPDIR)/strtoofft.Po"; else rm -f "$(DEPDIR)/strtoofft.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strtoofft.c' object='strtoofft.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoofft.obj `if test -f '$(top_srcdir)/lib/strtoofft.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strtoofft.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strtoofft.c'; fi` - -strdup.o: $(top_srcdir)/lib/strdup.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.o -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strdup.c' object='strdup.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.o `test -f '$(top_srcdir)/lib/strdup.c' || echo '$(srcdir)/'`$(top_srcdir)/lib/strdup.c - -strdup.obj: $(top_srcdir)/lib/strdup.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT strdup.obj -MD -MP -MF "$(DEPDIR)/strdup.Tpo" -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/strdup.Tpo" "$(DEPDIR)/strdup.Po"; else rm -f "$(DEPDIR)/strdup.Tpo"; exit 1; fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/lib/strdup.c' object='strdup.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.obj `if test -f '$(top_srcdir)/lib/strdup.c'; then $(CYGPATH_W) '$(top_srcdir)/lib/strdup.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/lib/strdup.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(mkdir_p) $(distdir)/macos $(distdir)/macos/src - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: install-binPROGRAMS - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-info-am - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool ctags distclean distclean-compile \ - distclean-generic distclean-hdr 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-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-info-am - - -# Here are the stuff to create a built-in manual - -# This generates the hugehelp.c file in both uncompressed and compressed formats -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE) mkhelp.pl -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#include "setup.h"' > $(HUGE) -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#ifndef HAVE_LIBZ' >> $(HUGE) -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE) -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#else' >> $(HUGE) -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c $(README) >> $(HUGE) -@HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#endif /* HAVE_LIBZ */' >> $(HUGE) -# This generates the hugehelp.c file uncompressed only -@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@$(HUGE): $(README) $(MANPAGE) mkhelp.pl -@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ echo '#include "setup.h"' > $(HUGE) -@HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) $(README) >> $(HUGE) - -# built-in manual has been disabled, make a blank file -@USE_MANUAL_FALSE@$(HUGE): -@USE_MANUAL_FALSE@ echo "/* built-in manual is disabled, blank function */" > $(HUGE) -@USE_MANUAL_FALSE@ echo '#include "hugehelp.h"' >> $(HUGE) -@USE_MANUAL_FALSE@ echo "void hugehelp(void) {}" >>$(HUGE) -# 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/Utilities/cmcurl-7.19.0/src/Makefile.inc b/Utilities/cmcurl-7.19.0/src/Makefile.inc deleted file mode 100644 index 1ebbd0d..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.inc +++ /dev/null @@ -1,17 +0,0 @@ -# ./src/Makefile.inc - -# 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_ONES = $(top_srcdir)/lib/strtoofft.c \ - $(top_srcdir)/lib/strdup.c - -CURL_SOURCES = main.c hugehelp.c urlglob.c writeout.c writeenv.c \ - getpass.c homedir.c curlutil.c - -CURL_HFILES = hugehelp.h setup.h config-win32.h config-mac.h \ - config-riscos.h urlglob.h version.h \ - writeout.h writeenv.h getpass.h homedir.h curlutil.h - -curl_SOURCES = $(CURL_SOURCES) $(CURLX_ONES) $(CURL_HFILES) - - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.m32 b/Utilities/cmcurl-7.19.0/src/Makefile.m32 deleted file mode 100644 index 3ecd999..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.m32 +++ /dev/null @@ -1,151 +0,0 @@ -######################################################################### -# $Id$ -# -## Makefile for building curl.exe with MingW32 (GCC-3.2) -## and optionally OpenSSL (0.9.8), libssh2 (0.18), zlib (1.2.3) -## -## Usage: -## mingw32-make -f Makefile.m32 [SSL=1] [SSH2=1] [ZLIB=1] [SSPI=1] [IPV6=1] [DYN=1] -## -## Hint: you can also set environment vars to control the build, f.e.: -## set ZLIB_PATH=c:/zlib-1.2.3 -## set ZLIB=1 -## -## Comments to: Troy Engel <tengel@sonic.net> or -## Joern Hartroth <hartroth@acm.org> -######################################################################### - -# Edit the path below to point to the base of your Zlib sources. -ifndef ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.3 -endif -# Edit the path below to point to the base of your OpenSSL package. -ifndef OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8g -endif -# Edit the path below to point to the base of your LibSSH2 package. -ifndef LIBSSH2_PATH -LIBSSH2_PATH = ../../libssh2-0.18 -endif -# Edit the path below to point to the base of your Novell LDAP NDK. -ifndef LDAP_SDK -LDAP_SDK = c:/novell/ndk/cldapsdk/win32 -endif - -ARES_LIB = ../ares - -CC = gcc -CFLAGS = -g -O2 -# comment LDFLAGS below to keep debug info -LDFLAGS = -s -RC = windres -RCFLAGS = --include-dir=../include -O COFF -i -RM = del /q /f > NUL 2>&1 -CP = copy - -# We may need these someday -# PERL = perl -# NROFF = nroff - -######################################################## -## Nothing more to do below this line! - -INCLUDES = -I. -I.. -I../include -I../lib -LINK = $(CC) $(LDFLAGS) -o $@ - -curl_PROGRAMS = curl.exe -ifdef DYN - curl_DEPENDENCIES = ../lib/libcurldll.a ../lib/libcurl.dll - curl_LDADD = -L../lib -lcurldll -else - curl_DEPENDENCIES = ../lib/libcurl.a - curl_LDADD = -L../lib -lcurl - CFLAGS += -DCURL_STATICLIB -endif -ifdef ARES - ifndef DYN - curl_DEPENDENCIES += $(ARES_LIB)/libcares.a - endif - CFLAGS += -DUSE_ARES - curl_LDADD += -L$(ARES_LIB) -lcares -endif -ifdef SSH2 - CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H - curl_LDADD += -L$(LIBSSH2_PATH)/win32 -lssh2 -endif -ifdef SSL - CFLAGS += -DUSE_SSLEAY -DHAVE_OPENSSL_ENGINE_H - curl_LDADD += -L$(OPENSSL_PATH)/out -leay32 -lssl32 -endif -ifdef ZLIB - INCLUDES += -I"$(ZLIB_PATH)" - CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H - curl_LDADD += -L$(ZLIB_PATH) -lz -endif -ifdef SSPI - CFLAGS += -DUSE_WINDOWS_SSPI -endif -ifdef IPV6 - CFLAGS += -DENABLE_IPV6 -endif -ifdef LDAPS - CFLAGS += -DHAVE_LDAP_SSL -endif -ifdef USE_LDAP_NOVELL - CFLAGS += -DCURL_HAS_NOVELL_LDAPSDK - curl_LDADD += -L"$(LDAP_SDK)/lib/mscvc" -lldapsdk -lldapssl -lldapx -endif -ifdef USE_LDAP_OPENLDAP - CFLAGS += -DCURL_HAS_OPENLDAP_LDAPSDK - curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber -endif -ifndef USE_LDAP_NOVELL -ifndef USE_LDAP_OPENLDAP -curl_LDADD += -lwldap32 -endif -endif -curl_LDADD += -lws2_32 -COMPILE = $(CC) $(INCLUDES) $(CFLAGS) - -# Makefile.inc provides the CSOURCES and HHEADERS defines -include Makefile.inc - -curl_OBJECTS := $(patsubst %.c,%.o,$(strip $(CURL_SOURCES))) -# curlx_OBJECTS := $(patsubst %.c,%.o,$(notdir $(strip $(CURLX_ONES)))) -# vpath %.c ../lib - -RESOURCE = curl.res - -.SUFFIXES: .rc .res - -all: curl.exe - -curl.exe: $(RESOURCE) $(curl_OBJECTS) $(curl_DEPENDENCIES) - -$(RM) $@ - $(LINK) $< $(curl_OBJECTS) $(curl_LDADD) - -# We don't have nroff normally under win32 -# hugehelp.c: ../README.curl ../curl.1 mkhelp.pl -# -$(RM) hugehelp.c -# $(NROFF) -man ../curl.1 | $(PERL) mkhelp.pl ../README.curl > hugehelp.c - -hugehelp.c: - @echo Creating $@ - @$(CP) hugehelp.c.cvs $@ - -.c.o: - $(COMPILE) -c $< - -.rc.res: - $(RC) $(RCFLAGS) $< -o $@ - -clean: -ifeq "$(wildcard hugehelp.c.cvs)" "hugehelp.c.cvs" - -$(RM) hugehelp.c -endif - -$(RM) $(curl_OBJECTS) $(RESOURCE) - -distrib: clean - -$(RM) $(curl_PROGRAMS) - - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.netware b/Utilities/cmcurl-7.19.0/src/Makefile.netware deleted file mode 100644 index b8ff8b7..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.netware +++ /dev/null @@ -1,545 +0,0 @@ -################################################################# -# $Id$ -# -## Makefile for building curl.nlm (NetWare version - gnu make) -## Use: make -f Makefile.netware -## -## Comments to: Guenter Knauf http://www.gknw.de/phpbb -# -################################################################# - -# Edit the path below to point to the base of your Novell NDK. -ifndef NDKBASE -NDKBASE = c:/novell -endif - -# Edit the path below to point to the base of your Zlib sources. -ifndef ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.3 -endif - -# Edit the path below to point to the base of your OpenSSL package. -ifndef OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8h -endif - -# Edit the path below to point to the base of your LibSSH2 package. -ifndef LIBSSH2_PATH -LIBSSH2_PATH = ../../libssh2-0.18 -endif - -ifndef INSTDIR -INSTDIR = ..$(DS)curl-$(LIBCURL_VERSION_STR)-bin-nw -endif - -# Edit the vars below to change NLM target settings. -TARGET = curl -VERSION = $(LIBCURL_VERSION) -COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR) -DESCR = cURL $(LIBCURL_VERSION_STR) ($(LIBARCH)) - http://curl.haxx.se -MTSAFE = YES -STACK = 64000 -SCREEN = $(TARGET) commandline utility -# Comment the line below if you dont want to load protected automatically. -# LDRING = 3 - -# Uncomment the next line to enable linking with POSIX semantics. -# POSIXFL = 1 - -# Edit the var below to point to your lib architecture. -ifndef LIBARCH -LIBARCH = LIBC -endif - -# must be equal to NDEBUG or DEBUG, CURLDEBUG -ifndef DB -DB = NDEBUG -endif -# Optimization: -O<n> or debugging: -g -ifeq ($(DB),NDEBUG) - OPT = -O2 - OBJDIR = release -else - OPT = -g - OBJDIR = debug -endif - -# The following lines defines your compiler. -ifdef CWFolder - METROWERKS = $(CWFolder) -endif -ifdef METROWERKS - # MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support - MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support/Metrowerks Support - CC = mwccnlm -else - CC = gcc -endif -PERL = perl -# a native win32 awk can be downloaded from here: -# http://www.gknw.net/development/prgtools/awk-20070501.zip -AWK = awk -CP = cp -afv -MKDIR = mkdir -# RM = rm -f -# if you want to mark the target as MTSAFE you will need a tool for -# generating the xdc data for the linker; here's a minimal tool: -# http://www.gknw.net/development/prgtools/mkxdc.zip -MPKXDC = mkxdc - -# LIBARCH_U = $(shell $(AWK) 'BEGIN {print toupper(ARGV[1])}' $(LIBARCH)) -LIBARCH_L = $(shell $(AWK) 'BEGIN {print tolower(ARGV[1])}' $(LIBARCH)) - -# Include the version info retrieved from curlver.h --include $(OBJDIR)/version.inc - -# Global flags for all compilers -CFLAGS += $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc - -ifeq ($(CC),mwccnlm) -LD = mwldnlm -LDFLAGS = -nostdlib $(OBJS) $(PRELUDE) $(LDLIBS) -o $@ -commandfile -LIBEXT = lib -CFLAGS += -gccinc -inline off -opt nointrinsics -proc 586 -CFLAGS += -relax_pointers -#CFLAGS += -w on -ifeq ($(LIBARCH),LIBC) -ifeq ($(POSIXFL),1) - PRELUDE = $(SDK_LIBC)/imports/posixpre.o -else - PRELUDE = $(SDK_LIBC)/imports/libcpre.o -endif - CFLAGS += -align 4 -else - # PRELUDE = $(SDK_CLIB)/imports/clibpre.o - # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK - PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj" - # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h" - CFLAGS += -align 1 -endif -else -LD = nlmconv -LDFLAGS = -T -LIBEXT = a -CFLAGS += -fno-builtin -fpcc-struct-return -fno-strict-aliasing -CFLAGS += -Wall # -pedantic -ifeq ($(LIBARCH),LIBC) -ifeq ($(POSIXFL),1) - PRELUDE = $(SDK_LIBC)/imports/posixpre.gcc.o -else - PRELUDE = $(SDK_LIBC)/imports/libcpre.gcc.o -endif -else - # PRELUDE = $(SDK_CLIB)/imports/clibpre.gcc.o - # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK - # http://www.gknw.net/development/mk_nlm/gcc_pre.zip - PRELUDE = $(NDK_ROOT)/pre/prelude.o - CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h -endif -endif - -NDK_ROOT = $(NDKBASE)/ndk -SDK_CLIB = $(NDK_ROOT)/nwsdk -SDK_LIBC = $(NDK_ROOT)/libc -SDK_LDAP = $(NDK_ROOT)/cldapsdk/netware -CURL_INC = ../include -CURL_LIB = ../lib -ARES_LIB = ../ares - -INCLUDES = -I$(CURL_INC) -I$(CURL_LIB) - -ifdef LINK_STATIC - LDLIBS = $(CURL_LIB)/libcurl.$(LIBEXT) -ifdef WITH_ARES - LDLIBS += $(ARES_LIB)/libcares.$(LIBEXT) -endif -else - MODULES = libcurl.nlm - IMPORTS = @$(CURL_LIB)/libcurl.imp -endif -ifdef WITH_SSH2 - INCLUDES += -I$(LIBSSH2_PATH)/include -ifdef LINK_STATIC - LDLIBS += $(LIBSSH2_PATH)/nw/libssh2.$(LIBEXT) -else - MODULES += libssh2.nlm - IMPORTS += @$(LIBSSH2_PATH)/nw/libssh2.imp -endif -endif -ifdef WITH_SSL - INCLUDES += -I$(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L) - LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT) - LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT) - IMPORTS += GetProcessSwitchCount RunningProcess -endif -ifdef WITH_ZLIB - INCLUDES += -I$(ZLIB_PATH) -ifdef LINK_STATIC - LDLIBS += $(ZLIB_PATH)/nw/$(LIBARCH)/libz.$(LIBEXT) -else - MODULES += libz.nlm - IMPORTS += @$(ZLIB_PATH)/nw/$(LIBARCH)/libz.imp -endif -endif - -ifeq ($(LIBARCH),LIBC) - INCLUDES += -I$(SDK_LIBC)/include - # INCLUDES += -I$(SDK_LIBC)/include/nks - # INCLUDES += -I$(SDK_LIBC)/include/winsock - CFLAGS += -D_POSIX_SOURCE -else - INCLUDES += -I$(SDK_CLIB)/include/nlm - # INCLUDES += -I$(SDK_CLIB)/include -endif -ifndef DISABLE_LDAP - # INCLUDES += -I$(SDK_LDAP)/$(LIBARCH_L)/inc -endif -CFLAGS += $(INCLUDES) - -ifeq ($(MTSAFE),YES) - XDCOPT = -n -endif -ifeq ($(MTSAFE),NO) - XDCOPT = -u -endif -ifdef XDCOPT - XDCDATA = $(OBJDIR)/$(TARGET).xdc -endif - -ifeq ($(findstring linux,$(OSTYPE)),linux) -DL = ' -DS = / -PCT = % -#-include $(NDKBASE)/nlmconv/ncpfs.inc -else -DS = \\ -PCT = %% -endif - -# Makefile.inc provides the CSOURCES and HHEADERS defines -include Makefile.inc - -OBJX := $(patsubst %.c,$(OBJDIR)/%.o,$(notdir $(strip $(CURLX_ONES)))) -OBJS := $(patsubst %.c,$(OBJDIR)/%.o,$(strip $(CURL_SOURCES))) $(OBJX) - -vpath %.c $(CURL_LIB) - -all: prebuild $(TARGET).nlm - -prebuild: $(OBJDIR) $(OBJDIR)/version.inc config.h - -$(OBJDIR)/%.o: %.c -# @echo Compiling $< - $(CC) $(CFLAGS) -c $< -o $@ - -$(OBJDIR)/version.inc: $(CURL_INC)/curl/curlver.h $(OBJDIR) - @echo Creating $@ - @$(AWK) -f ../packages/NetWare/get_ver.awk $< > $@ - -install: $(INSTDIR) all - @-$(CP) ../docs/$(TARGET).pdf $(INSTDIR) - @-$(CP) ../docs/$(TARGET).html $(INSTDIR) - @$(CP) $(TARGET).nlm $(INSTDIR) - -clean: -ifeq "$(wildcard hugehelp.c.cvs)" "hugehelp.c.cvs" - -$(RM) hugehelp.c -endif - -$(RM) config.h - -$(RM) -r $(OBJDIR) - -distclean: clean - -$(RM) $(TARGET).nlm - -$(OBJDIR) $(INSTDIR): - @$(MKDIR) $@ - -$(TARGET).nlm: $(OBJS) $(OBJDIR)/$(TARGET).def $(XDCDATA) - @echo Linking $@ - @-$(RM) $@ - @$(LD) $(LDFLAGS) $(OBJDIR)/$(TARGET).def - -$(OBJDIR)/%.xdc: Makefile.netware - @echo Creating $@ - @$(MPKXDC) $(XDCOPT) $@ - -$(OBJDIR)/%.def: Makefile.netware - @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@ - @echo $(DL)# Do not edit this file - it is created by make!$(DL) >> $@ - @echo $(DL)# All your changes will be lost!!$(DL) >> $@ - @echo $(DL)#$(DL) >> $@ - @echo $(DL)copyright "$(COPYR)"$(DL) >> $@ - @echo $(DL)description "$(DESCR)"$(DL) >> $@ - @echo $(DL)version $(VERSION)$(DL) >> $@ -ifdef NLMTYPE - @echo $(DL)type $(NLMTYPE)$(DL) >> $@ -endif -ifdef STACK - @echo $(DL)stack $(STACK)$(DL) >> $@ -endif -ifdef SCREEN - @echo $(DL)screenname "$(SCREEN)"$(DL) >> $@ -else - @echo $(DL)screenname "DEFAULT"$(DL) >> $@ -endif -ifneq ($(DB),NDEBUG) - @echo $(DL)debug$(DL) >> $@ -endif - @echo $(DL)threadname "$(TARGET)"$(DL) >> $@ -ifdef XDCDATA - @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@ -endif -ifeq ($(LDRING),0) - @echo $(DL)flag_on 16$(DL) >> $@ -endif -ifeq ($(LDRING),3) - @echo $(DL)flag_on 512$(DL) >> $@ -endif -ifeq ($(LIBARCH),CLIB) - @echo $(DL)start _Prelude$(DL) >> $@ - @echo $(DL)exit _Stop$(DL) >> $@ - @echo $(DL)import @$(SDK_CLIB)/imports/clib.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_CLIB)/imports/threads.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_CLIB)/imports/nlmlib.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_CLIB)/imports/socklib.imp$(DL) >> $@ - @echo $(DL)module clib$(DL) >> $@ -ifndef DISABLE_LDAP - @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@ -# @echo $(DL)import @$(SDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@ - @echo $(DL)module ldapsdk ldapssl$(DL) >> $@ -endif -else -ifeq ($(POSIXFL),1) - @echo $(DL)flag_on 4194304$(DL) >> $@ -endif - @echo $(DL)flag_on 64$(DL) >> $@ - @echo $(DL)pseudopreemption$(DL) >> $@ -ifeq ($(findstring posixpre,$(PRELUDE)),posixpre) - @echo $(DL)start POSIX_Start$(DL) >> $@ - @echo $(DL)exit POSIX_Stop$(DL) >> $@ - @echo $(DL)check POSIX_CheckUnload$(DL) >> $@ -else - @echo $(DL)start _LibCPrelude$(DL) >> $@ - @echo $(DL)exit _LibCPostlude$(DL) >> $@ - @echo $(DL)check _LibCCheckUnload$(DL) >> $@ -endif - @echo $(DL)import @$(SDK_LIBC)/imports/libc.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_LIBC)/imports/netware.imp$(DL) >> $@ - @echo $(DL)module libc$(DL) >> $@ -ifndef DISABLE_LDAP - @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@ - @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@ -# @echo $(DL)import @$(SDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@ - @echo $(DL)module lldapsdk lldapssl$(DL) >> $@ -endif -endif -ifdef MODULES - @echo $(DL)module $(MODULES)$(DL) >> $@ -endif -ifdef EXPORTS - @echo $(DL)export $(EXPORTS)$(DL) >> $@ -endif -ifdef IMPORTS - @echo $(DL)import $(IMPORTS)$(DL) >> $@ -endif -ifeq ($(findstring nlmconv,$(LD)),nlmconv) - @echo $(DL)input $(PRELUDE)$(DL) >> $@ - @echo $(DL)input $(OBJS)$(DL) >> $@ -ifdef LDLIBS - @echo $(DL)input $(LDLIBS)$(DL) >> $@ -endif - @echo $(DL)output $(TARGET).nlm$(DL) >> $@ -endif - -config.h: Makefile.netware - @echo Creating $@ - @echo $(DL)/* $@ for NetWare target.$(DL) > $@ - @echo $(DL)** Do not edit this file - it is created by make!$(DL) >> $@ - @echo $(DL)** All your changes will be lost!!$(DL) >> $@ - @echo $(DL)*/$(DL) >> $@ - @echo $(DL)#ifndef NETWARE$(DL) >> $@ - @echo $(DL)#error This $(notdir $@) is created for NetWare platform!$(DL) >> $@ - @echo $(DL)#endif$(DL) >> $@ - @echo $(DL)#define VERSION "$(LIBCURL_VERSION_STR)"$(DL) >> $@ - @echo $(DL)#define PACKAGE_BUGREPORT "a suitable curl mailing list => http://curl.haxx.se/mail/"$(DL) >> $@ -ifeq ($(LIBARCH),CLIB) - @echo $(DL)#define OS "i586-pc-clib-NetWare"$(DL) >> $@ - @echo $(DL)#define NETDB_USE_INTERNET 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRICMP 1$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG2 char *$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG3 int$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_RETV int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG2 char$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG3 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG6 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_RETV int$(DL) >> $@ - @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG2 char *$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG3 int$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_RETV int$(DL) >> $@ - @echo $(DL)#define socklen_t int$(DL) >> $@ - @echo $(DL)#define pressanykey PressAnyKeyToContinue$(DL) >> $@ -else - @echo $(DL)#define OS "i586-pc-libc-NetWare"$(DL) >> $@ - @echo $(DL)#define HAVE_FTRUNCATE 1$(DL) >> $@ - @echo $(DL)#define HAVE_GETTIMEOFDAY 1$(DL) >> $@ - @echo $(DL)#define HAVE_INET_PTON 1$(DL) >> $@ - @echo $(DL)#define HAVE_INTTYPES_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LIMITS_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LONGLONG 1$(DL) >> $@ - @echo $(DL)#define HAVE_STDINT_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRCASECMP 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRLCAT 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRLCPY 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRTOLL 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_PARAM_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_SELECT_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_TERMIOS_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_AF_INET6 1$(DL) >> $@ - @echo $(DL)#define HAVE_PF_INET6 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRUCT_IN6_ADDR 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRUCT_SOCKADDR_IN6 1$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG2 void *$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG3 size_t$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define RECV_TYPE_RETV ssize_t$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG2 void$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG3 size_t$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG5 struct sockaddr$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG6 size_t$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_RETV ssize_t$(DL) >> $@ - @echo $(DL)#define RECVFROM_TYPE_ARG2_IS_VOID 1$(DL) >> $@ - @echo $(DL)#define SEND_QUAL_ARG2$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG1 int$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG2 void *$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG3 size_t$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_ARG4 int$(DL) >> $@ - @echo $(DL)#define SEND_TYPE_RETV ssize_t$(DL) >> $@ - @echo $(DL)#define SIZEOF_STRUCT_IN6_ADDR 16$(DL) >> $@ -ifdef ENABLE_IPV6 - @echo $(DL)#define ENABLE_IPV6 1$(DL) >> $@ -endif -endif - @echo $(DL)#define USE_MANUAL 1$(DL) >> $@ - @echo $(DL)#define HAVE_ARPA_INET_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_ASSERT_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_ERR_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_FCNTL_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_FIONBIO 1$(DL) >> $@ - @echo $(DL)#define HAVE_GETHOSTBYADDR 1$(DL) >> $@ - @echo $(DL)#define HAVE_GETHOSTBYNAME 1$(DL) >> $@ - @echo $(DL)#define HAVE_GETPROTOBYNAME 1$(DL) >> $@ - @echo $(DL)#define HAVE_GMTIME_R 1$(DL) >> $@ - @echo $(DL)#define HAVE_INET_ADDR 1$(DL) >> $@ - @echo $(DL)#define HAVE_INET_NTOA 1$(DL) >> $@ - @echo $(DL)#define HAVE_LL 1$(DL) >> $@ - @echo $(DL)#define HAVE_LOCALE_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LOCALTIME_R 1$(DL) >> $@ - @echo $(DL)#define HAVE_MALLOC_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_NETINET_IN_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_RECV 1$(DL) >> $@ - @echo $(DL)#define HAVE_RECVFROM 1$(DL) >> $@ - @echo $(DL)#define HAVE_SELECT 1$(DL) >> $@ - @echo $(DL)#define HAVE_SEND 1$(DL) >> $@ - @echo $(DL)#define HAVE_SETJMP_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SETLOCALE 1$(DL) >> $@ - @echo $(DL)#define HAVE_SIGNAL 1$(DL) >> $@ - @echo $(DL)#define HAVE_SIGNAL_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SIG_ATOMIC_T 1$(DL) >> $@ - @echo $(DL)#define HAVE_SOCKET 1$(DL) >> $@ - @echo $(DL)#define HAVE_STDLIB_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRDUP 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRFTIME 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRING_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRSTR 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRUCT_ADDRINFO 1$(DL) >> $@ - @echo $(DL)#define HAVE_STRUCT_TIMEVAL 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_IOCTL_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_STAT_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_TIME_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_TIME_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_UNAME 1$(DL) >> $@ - @echo $(DL)#define HAVE_UNISTD_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_UTIME 1$(DL) >> $@ - @echo $(DL)#define HAVE_UTIME_H 1$(DL) >> $@ - @echo $(DL)#define RETSIGTYPE void$(DL) >> $@ - @echo $(DL)#define SIZEOF_STRUCT_IN_ADDR 4$(DL) >> $@ - @echo $(DL)#define STDC_HEADERS 1$(DL) >> $@ - @echo $(DL)#define TIME_WITH_SYS_TIME 1$(DL) >> $@ -ifdef DISABLE_LDAP - @echo $(DL)#define CURL_DISABLE_LDAP 1$(DL) >> $@ -else - @echo $(DL)#define CURL_HAS_NOVELL_LDAPSDK 1$(DL) >> $@ -ifndef DISABLE_LDAPS - @echo $(DL)#define HAVE_LDAP_SSL 1$(DL) >> $@ -endif - @echo $(DL)#define HAVE_LDAP_SSL_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LDAP_URL_PARSE 1$(DL) >> $@ -endif -ifdef NW_WINSOCK - @echo $(DL)#define HAVE_CLOSESOCKET 1$(DL) >> $@ -else - @echo $(DL)#define USE_BSD_SOCKETS 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_TYPES_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_SOCKET_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_SYS_SOCKIO_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_NETDB_H 1$(DL) >> $@ -endif -ifdef WITH_ARES - @echo $(DL)#define USE_ARES 1$(DL) >> $@ -endif -ifdef WITH_ZLIB - @echo $(DL)#define HAVE_ZLIB_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LIBZ 1$(DL) >> $@ -endif -ifdef WITH_SSL - @echo $(DL)#define USE_SSLEAY 1$(DL) >> $@ - @echo $(DL)#define USE_OPENSSL 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_X509_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_SSL_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_RSA_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_PEM_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_ERR_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_CRYPTO_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_OPENSSL_ENGINE_H 1$(DL) >> $@ - @echo $(DL)#define HAVE_LIBSSL 1$(DL) >> $@ - @echo $(DL)#define HAVE_LIBCRYPTO 1$(DL) >> $@ - @echo $(DL)#define OPENSSL_NO_KRB5 1$(DL) >> $@ -endif -ifdef WITH_SSH2 - @echo $(DL)#define USE_LIBSSH2 1$(DL) >> $@ - @echo $(DL)#define HAVE_LIBSSH2_H 1$(DL) >> $@ -endif - @echo $(DL)#ifdef __GNUC__$(DL) >> $@ - @echo $(DL)#define HAVE_VARIADIC_MACROS_GCC 1$(DL) >> $@ - @echo $(DL)#else$(DL) >> $@ - @echo $(DL)#define HAVE_VARIADIC_MACROS_C99 1$(DL) >> $@ - @echo $(DL)#endif$(DL) >> $@ -ifdef OLD_NOVELLSDK - @echo $(DL)#define socklen_t int$(DL) >> $@ -endif -ifdef CABUNDLE - @echo $(DL)#define CURL_CA_BUNDLE "$(CABUNDLE)"$(DL) >> $@ -else - @echo $(DL)#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")$(DL) >> $@ -endif - -hugehelp.c: - @echo Creating $@ - @$(CP) hugehelp.c.cvs $@ - -$(ARES_LIB)/libcares.$(LIBEXT): - $(MAKE) -C $(ARES_LIB) -f Makefile.netware lib - - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.riscos b/Utilities/cmcurl-7.19.0/src/Makefile.riscos deleted file mode 100644 index ac8b776..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.riscos +++ /dev/null @@ -1,48 +0,0 @@ -# Makefile for project cURL -# Generated on Sun,13 Jan 2002.17:11:10 by EasyGCC (0.1.3 [beta 2] (3 Jan 2002)) -# Contact: easygcc@melotech.co.uk - -# Project objects: -objs = o.hugehelp o.main o.urlglob o.writeout o.writeenv \ - - -# Compile options: -linkopts = ../lib/libcurl openldap:libraries/libldap/libldap -o curl -compileropts = -mpoke-function-name -IUtilLib: -mthrowback - -# Project target: -curl: $(objs) - gcc $(linkopts) $(objs) - -# Static dependancies: -o.hugehelp: c.hugehelp - gcc $(compileropts) -c -o hugehelp.o c.hugehelp - -o.main: c.main - gcc $(compileropts) -c -o main.o c.main - -o.urlglob: c.urlglob - gcc $(compileropts) -c -o urlglob.o c.urlglob - -o.writeout: c.writeout - gcc $(compileropts) -c -o writeout.o c.writeout - -o.writeenv: c.writeenv - gcc $(compileropts) -c -o writeenv.o c.writeenv - -# Dynamic dependancies: -o.hugehelp: c.hugehelp - -o.main: c.main -o.main: h.setup -o.main: h.urlglob -o.main: h.writeout -o.main: h.version - -o.urlglob: c.urlglob -o.urlglob: h.setup -o.urlglob: h.urlglob - -o.writeout: c.writeout -o.writeout: h.writeout - diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.vc6 b/Utilities/cmcurl-7.19.0/src/Makefile.vc6 deleted file mode 100644 index e2684e3..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.vc6 +++ /dev/null @@ -1,282 +0,0 @@ -############################################################# -# $Id$ -# -## Makefile for building curl.exe with MSVC6 -## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl] -## (default is release) -## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL -## into curl.exe producing a standalone SSL-enabled executable. -## -## Comments to: Troy Engel <tengel@sonic.net> -## Updated by: Craig Davison <cd@securityfocus.com> -## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com> -# -############################################################# - -PROGRAM_NAME = curl.exe - -!IFNDEF ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.3 -!ENDIF - -!IFNDEF OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8g -!ENDIF - -!IFNDEF MACHINE -MACHINE = X86 -!ENDIF - -# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication -# without an openssl installation and offers the ability to authenticate -# using the "current logged in user". Since at least with MSVC6 the sspi.h -# header is broken it is either required to install the Windows SDK, -# or to fix sspi.h with adding this define at the beginning of sspi.h: -# #define FreeCredentialHandle FreeCredentialsHandle -# -# If, for some reason the Windows SDK is installed but not installed -# in the default location, you can specify WINDOWS_SDK_PATH. -# It can be downloaded from: -# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ - -# WINDOWS_SSPI = 1 - -!IFDEF WINDOWS_SSPI -!IFNDEF WINDOWS_SDK_PATH -WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK" -!ENDIF -!ENDIF - -######################################################## -## Nothing more to do below this line! -ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)" -ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)" -ZLIB_LIBS = zlib.lib -ZLIB_IMP_LIBS = zdll.lib - -SSL_CFLAGS = /DUSE_SSLEAY -SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32" -SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll" -SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib - -# Runtime library configuration -RTLIB = /MD -RTLIBD = /MDd - -!IF "$(RTLIBCFG)" == "static" -RTLIB = /MT -RTLIBD = /MTd -!ENDIF - -## Release -CCR = cl.exe $(RTLIB) /O2 /DNDEBUG -LINKR = link.exe /incremental:no /libpath:"../lib" -RCR = rc.exe /dCURLDEBUG=0 - -## Debug -CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ -LINKD = link.exe /incremental:yes /debug /libpath:"../lib" -RCD = rc.exe /dCURLDEBUG=1 - -CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c -LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE) -RESFLAGS = /i../include - -# This manifest thing is for VC8, enabled by the maketgz script that -# builds the VC8 version of this makefile. Left commented out in the VC6 -# version! -#MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1 - -!IFDEF WINDOWS_SSPI -CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include -!ENDIF - -RELEASE_OBJS= \ - hugehelpr.obj \ - writeoutr.obj \ - urlglobr.obj \ - getpassr.obj \ - homedirr.obj \ - curlutilr.obj \ - strtoofftr.obj \ - mainr.obj \ - curlr.res - -DEBUG_OBJS= \ - hugehelpd.obj \ - writeoutd.obj \ - urlglobd.obj \ - getpassd.obj \ - homedird.obj \ - curlutild.obj \ - strtoofftd.obj \ - maind.obj \ - curld.res - -################################################# -# If CFG not specified, use static libs - -CFLAGS = $(CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib -LINKLIBS_DEBUG = libcurld.lib - -################################################# -# release dynamic library - -!IF "$(CFG)" == "release-dll" -LINKLIBS = libcurl_imp.lib -LINKLIBS_DEBUG = libcurld_imp.lib -!ENDIF - -################################################# -# release static library with zlib - -!IF "$(CFG)" == "release-zlib" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with ssl - -!IF "$(CFG)" == "release-ssl" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic ssl - -!IF "$(CFG)" == "release-dll-ssl-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) -LINKLIBS = libcurl_imp.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) -!ENDIF - -################################################# -# release static library with ssl and zlib - -!IF "$(CFG)" == "release-ssl-zlib" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS) -LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic ssl - -!IF "$(CFG)" == "release-ssl-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic zlib - -!IF "$(CFG)" == "release-zlib-dll" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic zlib - -!IF "$(CFG)" == "release-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) -LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic ssl and dynamic zlib - -!IF "$(CFG)" == "release-ssl-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic ssl and dynamic zlib - -!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) -LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - - -LINKLIBS = $(LINKLIBS) wsock32.lib wldap32.lib -LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib wldap32.lib - -all : release - -release: $(RELEASE_OBJS) - $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS) - $(MANIFESTTOOL) - -debug: $(DEBUG_OBJS) - $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS) - $(MANIFESTTOOL) - -## Release -hugehelpr.obj: hugehelp.c - $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutr.obj: writeout.c - $(CCR) $(CFLAGS) /Fo"$@" writeout.c -urlglobr.obj: urlglob.c - $(CCR) $(CFLAGS) /Fo"$@" urlglob.c -getpassr.obj: getpass.c - $(CCR) $(CFLAGS) /Fo"$@" getpass.c -homedirr.obj: homedir.c - $(CCR) $(CFLAGS) /Fo"$@" homedir.c -curlutilr.obj: curlutil.c - $(CCR) $(CFLAGS) /Fo"$@" curlutil.c -strtoofftr.obj: ../lib/strtoofft.c - $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -mainr.obj: main.c - $(CCR) $(CFLAGS) /Fo"$@" main.c -curlr.res : curl.rc - $(RCR) $(RESFLAGS) /Fo"$@" curl.rc - -## Debug -hugehelpd.obj: hugehelp.c - $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutd.obj: writeout.c - $(CCD) $(CFLAGS) /Fo"$@" writeout.c -urlglobd.obj: urlglob.c - $(CCD) $(CFLAGS) /Fo"$@" urlglob.c -getpassd.obj: getpass.c - $(CCD) $(CFLAGS) /Fo"$@" getpass.c -homedird.obj: homedir.c - $(CCD) $(CFLAGS) /Fo"$@" homedir.c -curlutild.obj: curlutil.c - $(CCD) $(CFLAGS) /Fo"$@" curlutil.c -strtoofftd.obj: ../lib/strtoofft.c - $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -maind.obj: main.c - $(CCD) $(CFLAGS) /Fo"$@" main.c -curld.res : curl.rc - $(RCD) $(RESFLAGS) /Fo"$@" curl.rc - -clean: - @-erase $(PROGRAM_NAME) 2> NUL - @-erase $(RELEASE_OBJS) 2> NUL - @-erase $(DEBUG_OBJS) 2> NUL - @-erase *.idb 2> NUL - @-erase *.pdb 2> NUL - @-erase *.pch 2> NUL - @-erase *.ilk 2> NUL diff --git a/Utilities/cmcurl-7.19.0/src/Makefile.vc8 b/Utilities/cmcurl-7.19.0/src/Makefile.vc8 deleted file mode 100644 index 7f66a15..0000000 --- a/Utilities/cmcurl-7.19.0/src/Makefile.vc8 +++ /dev/null @@ -1,282 +0,0 @@ -############################################################# -# $Id$ -# -## Makefile for building curl.exe with MSVC8 -## Use: nmake -f makefile.vc8 [release | debug] [CFG=release-ssl] -## (default is release) -## "nmake -f makefile.vc8 CFG=release-ssl" statically links OpenSSL -## into curl.exe producing a standalone SSL-enabled executable. -## -## Comments to: Troy Engel <tengel@sonic.net> -## Updated by: Craig Davison <cd@securityfocus.com> -## release-ssl added by Miklos Nemeth <mnemeth@kfkisystems.com> -# -############################################################# - -PROGRAM_NAME = curl.exe - -!IFNDEF ZLIB_PATH -ZLIB_PATH = ../../zlib-1.2.3 -!ENDIF - -!IFNDEF OPENSSL_PATH -OPENSSL_PATH = ../../openssl-0.9.8g -!ENDIF - -!IFNDEF MACHINE -MACHINE = X86 -!ENDIF - -# USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication -# without an openssl installation and offers the ability to authenticate -# using the "current logged in user". Since at least with MSVC8 the sspi.h -# header is broken it is either required to install the Windows SDK, -# or to fix sspi.h with adding this define at the beginning of sspi.h: -# #define FreeCredentialHandle FreeCredentialsHandle -# -# If, for some reason the Windows SDK is installed but not installed -# in the default location, you can specify WINDOWS_SDK_PATH. -# It can be downloaded from: -# http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ - -# WINDOWS_SSPI = 1 - -!IFDEF WINDOWS_SSPI -!IFNDEF WINDOWS_SDK_PATH -WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK" -!ENDIF -!ENDIF - -######################################################## -## Nothing more to do below this line! -ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)" -ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)" -ZLIB_LIBS = zlib.lib -ZLIB_IMP_LIBS = zdll.lib - -SSL_CFLAGS = /DUSE_SSLEAY -SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32" -SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll" -SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib - -# Runtime library configuration -RTLIB = /MD -RTLIBD = /MDd - -!IF "$(RTLIBCFG)" == "static" -RTLIB = /MT -RTLIBD = /MTd -!ENDIF - -## Release -CCR = cl.exe $(RTLIB) /O2 /DNDEBUG -LINKR = link.exe /incremental:no /libpath:"../lib" -RCR = rc.exe /dCURLDEBUG=0 - -## Debug -CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /RTC1 -LINKD = link.exe /incremental:yes /debug /libpath:"../lib" -RCD = rc.exe /dCURLDEBUG=1 - -CFLAGS = /I../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c -LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE) -RESFLAGS = /i../include - -# This manifest thing is for VC8, enabled by the maketgz script that -# builds the VC8 version of this makefile. Left commented out in the VC8 -# version! -MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1 - -!IFDEF WINDOWS_SSPI -CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include -!ENDIF - -RELEASE_OBJS= \ - hugehelpr.obj \ - writeoutr.obj \ - urlglobr.obj \ - getpassr.obj \ - homedirr.obj \ - curlutilr.obj \ - strtoofftr.obj \ - mainr.obj \ - curlr.res - -DEBUG_OBJS= \ - hugehelpd.obj \ - writeoutd.obj \ - urlglobd.obj \ - getpassd.obj \ - homedird.obj \ - curlutild.obj \ - strtoofftd.obj \ - maind.obj \ - curld.res - -################################################# -# If CFG not specified, use static libs - -CFLAGS = $(CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib -LINKLIBS_DEBUG = libcurld.lib - -################################################# -# release dynamic library - -!IF "$(CFG)" == "release-dll" -LINKLIBS = libcurl_imp.lib -LINKLIBS_DEBUG = libcurld_imp.lib -!ENDIF - -################################################# -# release static library with zlib - -!IF "$(CFG)" == "release-zlib" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with ssl - -!IF "$(CFG)" == "release-ssl" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic ssl - -!IF "$(CFG)" == "release-dll-ssl-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) -LINKLIBS = libcurl_imp.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) -!ENDIF - -################################################# -# release static library with ssl and zlib - -!IF "$(CFG)" == "release-ssl-zlib" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_LIBS) -LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic ssl - -!IF "$(CFG)" == "release-ssl-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic zlib - -!IF "$(CFG)" == "release-zlib-dll" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic zlib - -!IF "$(CFG)" == "release-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) -LINKLIBS = libcurl_imp.lib $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release static library with dynamic ssl and dynamic zlib - -!IF "$(CFG)" == "release-ssl-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB -LINKLIBS = libcurl.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - -################################################# -# release dynamic library with dynamic ssl and dynamic zlib - -!IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll" -CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) -LINKLIBS = libcurl_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LINKLIBS_DEBUG = libcurld_imp.lib $(SSL_LIBS) $(ZLIB_IMP_LIBS) -LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS) -!ENDIF - - -LINKLIBS = $(LINKLIBS) wsock32.lib bufferoverflowu.lib wldap32.lib -LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) wsock32.lib bufferoverflowu.lib wldap32.lib - -all : release - -release: $(RELEASE_OBJS) - $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS) - $(MANIFESTTOOL) - -debug: $(DEBUG_OBJS) - $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS) - $(MANIFESTTOOL) - -## Release -hugehelpr.obj: hugehelp.c - $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutr.obj: writeout.c - $(CCR) $(CFLAGS) /Fo"$@" writeout.c -urlglobr.obj: urlglob.c - $(CCR) $(CFLAGS) /Fo"$@" urlglob.c -getpassr.obj: getpass.c - $(CCR) $(CFLAGS) /Fo"$@" getpass.c -homedirr.obj: homedir.c - $(CCR) $(CFLAGS) /Fo"$@" homedir.c -curlutilr.obj: curlutil.c - $(CCR) $(CFLAGS) /Fo"$@" curlutil.c -strtoofftr.obj: ../lib/strtoofft.c - $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -mainr.obj: main.c - $(CCR) $(CFLAGS) /Fo"$@" main.c -curlr.res : curl.rc - $(RCR) $(RESFLAGS) /Fo"$@" curl.rc - -## Debug -hugehelpd.obj: hugehelp.c - $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c -writeoutd.obj: writeout.c - $(CCD) $(CFLAGS) /Fo"$@" writeout.c -urlglobd.obj: urlglob.c - $(CCD) $(CFLAGS) /Fo"$@" urlglob.c -getpassd.obj: getpass.c - $(CCD) $(CFLAGS) /Fo"$@" getpass.c -homedird.obj: homedir.c - $(CCD) $(CFLAGS) /Fo"$@" homedir.c -curlutild.obj: curlutil.c - $(CCD) $(CFLAGS) /Fo"$@" curlutil.c -strtoofftd.obj: ../lib/strtoofft.c - $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c -maind.obj: main.c - $(CCD) $(CFLAGS) /Fo"$@" main.c -curld.res : curl.rc - $(RCD) $(RESFLAGS) /Fo"$@" curl.rc - -clean: - @-erase $(PROGRAM_NAME) 2> NUL - @-erase $(RELEASE_OBJS) 2> NUL - @-erase $(DEBUG_OBJS) 2> NUL - @-erase *.idb 2> NUL - @-erase *.pdb 2> NUL - @-erase *.pch 2> NUL - @-erase *.ilk 2> NUL diff --git a/Utilities/cmcurl-7.19.0/src/config-amigaos.h b/Utilities/cmcurl-7.19.0/src/config-amigaos.h deleted file mode 100644 index 75b1fb8..0000000 --- a/Utilities/cmcurl-7.19.0/src/config-amigaos.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef CURL_CONFIG_AMIGAOS_H -#define CURL_CONFIG_AMIGAOS_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2007, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#ifdef __AMIGA__ /* Any AmigaOS flavour */ - -/* Define to 1 if you want the built-in manual */ -#define USE_MANUAL 1 - -#define OS "AmigaOS" - -#define HAVE_UNISTD_H 1 -#define HAVE_STRDUP 1 -#define HAVE_UTIME 1 -#define HAVE_UTIME_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_SYS_SOCKET_H 1 -#define HAVE_WRITABLE_ARGV 1 -#define HAVE_SYS_TIME_H 1 -#define HAVE_TIME_H 1 -#define TIME_WITH_SYS_TIME 1 -#define HAVE_STRUCT_TIMEVAL 1 - -#if 0 -# define HAVE_TERMIOS_H 1 -# define HAVE_FTRUNCATE 1 -#endif - -#define HAVE_PWD_H 1 - -#ifndef F_OK -# define F_OK 0 -#endif -#ifndef O_RDONLY -# define O_RDONLY 0x0000 /* open for reading only */ -#endif -#ifndef LONG_MAX -# define LONG_MAX 0x7fffffffL /* max value for a long */ -#endif -#ifndef LONG_MIN -# define LONG_MIN (-0x7fffffffL-1) /* min value for a long */ -#endif - -#endif /* __AMIGA__ */ -#endif /* CURL_CONFIG_AMIGAOS_H */ diff --git a/Utilities/cmcurl-7.19.0/src/config-mac.h b/Utilities/cmcurl-7.19.0/src/config-mac.h deleted file mode 100644 index 2697afe..0000000 --- a/Utilities/cmcurl-7.19.0/src/config-mac.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Define to 1 if you want the built-in manual */ -#define USE_MANUAL 1 - -#define HAVE_UNISTD_H 1 -#define HAVE_FCNTL_H 1 -#define HAVE_UTIME_H 1 -#define HAVE_SYS_UTIME_H 1 - -#define HAVE_SETVBUF 1 -#define HAVE_UTIME 1 -#define HAVE_FTRUNCATE 1 - -#define HAVE_TIME_H 1 -#define HAVE_SYS_TIME_H 1 -#define TIME_WITH_SYS_TIME 1 -#define HAVE_STRUCT_TIMEVAL 1 - -#define main(x,y) curl_main(x,y) - -/* we provide our own strdup prototype */ -char *strdup(char *s1); diff --git a/Utilities/cmcurl-7.19.0/src/config-riscos.h b/Utilities/cmcurl-7.19.0/src/config-riscos.h deleted file mode 100644 index 544b249..0000000 --- a/Utilities/cmcurl-7.19.0/src/config-riscos.h +++ /dev/null @@ -1,387 +0,0 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ -/* Name of this package! */ -#undef PACKAGE - -/* Version number of this archive. */ -#undef VERSION - -/* Define if you have the getpass function. */ -#undef HAVE_GETPASS - -/* Define cpu-machine-OS */ -#define OS "ARM-RISC OS" - -/* Define to 1 if you want the built-in manual */ -#define USE_MANUAL 1 - -/* Define if you have the gethostbyaddr_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYADDR_R_5 - -/* Define if you have the gethostbyaddr_r() function with 7 arguments */ -#undef HAVE_GETHOSTBYADDR_R_7 - -/* Define if you have the gethostbyaddr_r() function with 8 arguments */ -#undef HAVE_GETHOSTBYADDR_R_8 - -/* Define if you have the gethostbyname_r() function with 3 arguments */ -#undef HAVE_GETHOSTBYNAME_R_3 - -/* Define if you have the gethostbyname_r() function with 5 arguments */ -#undef HAVE_GETHOSTBYNAME_R_5 - -/* Define if you have the gethostbyname_r() function with 6 arguments */ -#undef HAVE_GETHOSTBYNAME_R_6 - -/* Define if you have the inet_ntoa_r function declared. */ -#undef HAVE_INET_NTOA_R_DECL - -/* Define if you need the _REENTRANT define for some functions */ -#undef NEED_REENTRANT - -/* Define if you have the Kerberos4 libraries (including -ldes) */ -#undef HAVE_KRB4 - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define this to 'int' if ssize_t is not an available typedefed type */ -#undef ssize_t - -/* Type to use in place of socklen_t when system does not provide it. */ -#undef socklen_t - -/* Define this as a suitable file to read random data from */ -#undef RANDOM_FILE - -/* Define this to your Entropy Gathering Daemon socket pathname */ -#undef EGD_SOCKET - -/* Set to explicitly specify we don't want to use thread-safe functions */ -#define DISABLED_THREADSAFE - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define if you have the <alloca.h> header file. */ -#define HAVE_ALLOCA_H - -/* Define if you have the <arpa/inet.h> header file. */ -#define HAVE_ARPA_INET_H - -/* Define if you have the `closesocket' function. */ -#undef HAVE_CLOSESOCKET - -/* Define if you have the <crypto.h> header file. */ -#undef HAVE_CRYPTO_H - -/* Define if you have the <des.h> header file. */ -#undef HAVE_DES_H - -/* Define if you have the <err.h> header file. */ -#undef HAVE_ERR_H - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H - -/* Define if you have the `ftruncate' function. */ -#define HAVE_FTRUNCATE - -/* Define if getaddrinfo exists and works */ -#define HAVE_GETADDRINFO - -/* Define if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define if you have the `gethostbyaddr' function. */ -#define HAVE_GETHOSTBYADDR - -/* Define if you have the `gethostbyaddr_r' function. */ -#undef HAVE_GETHOSTBYADDR_R - -/* Define if you have the `gethostbyname_r' function. */ -#undef HAVE_GETHOSTBYNAME_R - -/* Define if you have the `gethostname' function. */ -#define HAVE_GETHOSTNAME - -/* Define if you have the <getopt.h> header file. */ -#define HAVE_GETOPT_H - -/* Define if you have the `getpass_r' function. */ -#undef HAVE_GETPASS_R - -/* Define if you have the `getpwuid' function. */ -#undef HAVE_GETPWUID - -/* Define if you have the `getservbyname' function. */ -#undef HAVE_GETSERVBYNAME - -/* Define if you have the `gettimeofday' function. */ -#define HAVE_GETTIMEOFDAY - -/* Define if you have the `timeval' struct. */ -#define HAVE_STRUCT_TIMEVAL - -/* Define if you have the `inet_addr' function. */ -#undef HAVE_INET_ADDR - -/* Define if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define if you have the `inet_ntoa_r' function. */ -#undef HAVE_INET_NTOA_R - -/* Define if you have the <inttypes.h> header file. */ -#define HAVE_INTTYPES_H - -/* Define if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* Define if you have the `krb_get_our_ip_for_realm' function. */ -#undef HAVE_KRB_GET_OUR_IP_FOR_REALM - -/* Define if you have the <krb.h> header file. */ -#undef HAVE_KRB_H - -/* Define if you have the `crypto' library (-lcrypto). */ -#undef HAVE_LIBCRYPTO - -/* Define if you have the `nsl' library (-lnsl). */ -#undef HAVE_LIBNSL - -/* Define if you have the `resolv' library (-lresolv). */ -#undef HAVE_LIBRESOLV - -/* Define if you have the `resolve' library (-lresolve). */ -#undef HAVE_LIBRESOLVE - -/* Define if you have the `socket' library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Define if you have the `ssl' library (-lssl). */ -#undef HAVE_LIBSSL - -/* Define if you have the `ucb' library (-lucb). */ -#undef HAVE_LIBUCB - -/* Define if you have the `localtime_r' function. */ -#undef HAVE_LOCALTIME_R - -/* Define if you have the <malloc.h> header file. */ -#define HAVE_MALLOC_H - -/* Define to 1 if you need the malloc.h header file even with stdlib.h */ -/* #define NEED_MALLOC_H 1 */ - -/* Define if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define if you have the <netdb.h> header file. */ -#define HAVE_NETDB_H - -/* Define if you have the <netinet/if_ether.h> header file. */ -#undef HAVE_NETINET_IF_ETHER_H - -/* Define if you have the <netinet/in.h> header file. */ -#define HAVE_NETINET_IN_H - -/* Define if you have the <net/if.h> header file. */ -#define HAVE_NET_IF_H - -/* Define if you have the <openssl/crypto.h> header file. */ -#undef HAVE_OPENSSL_CRYPTO_H - -/* Define if you have the <openssl/err.h> header file. */ -#undef HAVE_OPENSSL_ERR_H - -/* Define if you have the <openssl/pem.h> header file. */ -#undef HAVE_OPENSSL_PEM_H - -/* Define if you have the <openssl/rsa.h> header file. */ -#undef HAVE_OPENSSL_RSA_H - -/* Define if you have the <openssl/ssl.h> header file. */ -#undef HAVE_OPENSSL_SSL_H - -/* Define if you have the <openssl/x509.h> header file. */ -#undef HAVE_OPENSSL_X509_H - -/* Define if you have the <pem.h> header file. */ -#undef HAVE_PEM_H - -/* Define if you have the `perror' function. */ -#undef HAVE_PERROR - -/* Define if you have the <pwd.h> header file. */ -#undef HAVE_PWD_H - -/* Define if you have the `RAND_egd' function. */ -#undef HAVE_RAND_EGD - -/* Define if you have the `RAND_screen' function. */ -#undef HAVE_RAND_SCREEN - -/* Define if you have the `RAND_status' function. */ -#undef HAVE_RAND_STATUS - -/* Define if you have the <rsa.h> header file. */ -#undef HAVE_RSA_H - -/* Define if you have the `select' function. */ -#define HAVE_SELECT - -/* Define if you have the `setvbuf' function. */ -#undef HAVE_SETVBUF - -/* Define if you have the <sgtty.h> header file. */ -#define HAVE_SGTTY_H - -/* Define if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - -/* Define if you have the `signal' function. */ -#define HAVE_SIGNAL - -/* Define if you have the `socket' function. */ -#define HAVE_SOCKET - -/* Define if you have the <ssl.h> header file. */ -#undef HAVE_SSL_H - -/* Define if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define if you have the <stdlib.h> header file. */ -#define HAVE_STDLIB_H - -/* Define if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the `strcmpi' function. */ -#undef HAVE_STRCMPI - -/* Define if you have the `strdup' function. */ -#define HAVE_STRDUP - -/* Define if you have the `strftime' function. */ -#define HAVE_STRFTIME - -/* Define if you have the `stricmp' function. */ -#define HAVE_STRICMP - -/* Define if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the <string.h> header file. */ -#define HAVE_STRING_H - -/* Define if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define if you have the `strstr' function. */ -#define HAVE_STRSTR - -/* Define if you have the `strtok_r' function. */ -#undef HAVE_STRTOK_R - -/* Define if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the <sys/socket.h> header file. */ -#define HAVE_SYS_SOCKET_H - -/* Define if you have the <sys/sockio.h> header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define if you have the <sys/time.h> header file. */ -#define HAVE_SYS_TIME_H - -/* Define if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H - -/* Define if you have the `tcgetattr' function. */ -#define HAVE_TCGETATTR - -/* Define if you have the `tcsetattr' function. */ -#define HAVE_TCSETATTR - -/* Define if you have the <termios.h> header file. */ -#define HAVE_TERMIOS_H - -/* Define if you have the <termio.h> header file. */ -#undef HAVE_TERMIO_H - -/* Define if you have the <time.h> header file. */ -#undef HAVE_TIME_H - -/* Define if you have the `uname' function. */ -#define HAVE_UNAME - -/* Define if you have the <unistd.h> header file. */ -#define HAVE_UNISTD_H - -/* Define if you have the <winsock.h> header file. */ -#undef HAVE_WINSOCK_H - -/* Define if you have the <x509.h> header file. */ -#undef HAVE_X509_H - -/* Name of package */ -#undef PACKAGE - -/* Define as the return type of signal handlers (`int' or `void'). */ -#define RETSIGTYPE void - -/* The size of a `long double', as computed by sizeof. */ -#undef SIZEOF_LONG_DOUBLE - -/* The size of a `long long', as computed by sizeof. */ -#undef SIZEOF_LONG_LONG - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define if on AIX 3. - System headers sometimes define this. - We just want to avoid a redefinition error message. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `unsigned' if <sys/types.h> does not define. */ -#undef size_t - -/* Define to `int' if <sys/types.h> does not define. */ -#undef ssize_t - -/* this is a quick hack. I hope it's correct. */ -#define ifr_dstaddr ifr_addr - -#define IOCTL_3_ARGS - -#define HAVE_FIONBIO - diff --git a/Utilities/cmcurl-7.19.0/src/config-win32.h b/Utilities/cmcurl-7.19.0/src/config-win32.h deleted file mode 100644 index 654d892..0000000 --- a/Utilities/cmcurl-7.19.0/src/config-win32.h +++ /dev/null @@ -1,267 +0,0 @@ -#ifndef __SRC_CONFIG_WIN32_H -#define __SRC_CONFIG_WIN32_H - -/* ================================================================ */ -/* src/config-win32.h - Hand crafted config file for windows */ -/* ================================================================ */ - -/* ---------------------------------------------------------------- */ -/* HEADER FILES */ -/* ---------------------------------------------------------------- */ - -/* Define if you have the <fcntl.h> header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the <io.h> header file. */ -#define HAVE_IO_H 1 - -/* Define if you have the <limits.h> header file. */ -#define HAVE_LIMITS_H 1 - -/* Define if you have the <locale.h> header file. */ -#define HAVE_LOCALE_H 1 - -/* Define if you have the <signal.h> header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define if you have the <sys/time.h> header file */ -/* #define HAVE_SYS_TIME_H 1 */ - -/* Define if you have the <sys/types.h> header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define if you have the <time.h> header file. */ -#define HAVE_TIME_H 1 - -/* Define if you have the <sys/utime.h> header file. */ -#ifndef __BORLANDC__ -#define HAVE_SYS_UTIME_H 1 -#endif - -/* Define if you have the <unistd.h> header file. */ -#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) -#define HAVE_UNISTD_H 1 -#endif - -/* Define if you have the <windows.h> header file. */ -#define HAVE_WINDOWS_H 1 - -/* Define if you have the <winsock.h> header file. */ -#define HAVE_WINSOCK_H 1 - -/* Define if you have the <winsock2.h> header file. */ -#define HAVE_WINSOCK2_H 1 - -/* Define if you have the <ws2tcpip.h> header file. */ -#define HAVE_WS2TCPIP_H 1 - -/* ---------------------------------------------------------------- */ -/* OTHER HEADER INFO */ -/* ---------------------------------------------------------------- */ - -/* Define if sig_atomic_t is an available typedef. */ -#define HAVE_SIG_ATOMIC_T 1 - -/* Define if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you can safely include both <sys/time.h> and <time.h>. */ -/* #define TIME_WITH_SYS_TIME 1 */ - -/* ---------------------------------------------------------------- */ -/* FUNCTIONS */ -/* ---------------------------------------------------------------- */ - -/* Define if you have the setmode function. */ -#define HAVE_SETMODE 1 - -/* Define if you have the ftruncate function. */ -#define HAVE_FTRUNCATE 1 - -/* Define if you have the setlocale function. */ -#define HAVE_SETLOCALE 1 - -/* Define if you have the strdup function. */ -#define HAVE_STRDUP 1 - -/* Define if you have the stricmp function. */ -#define HAVE_STRICMP 1 - -/* Define if you have the utime function */ -#ifndef __BORLANDC__ -#define HAVE_UTIME 1 -#endif - -/* Define if you have the recv function. */ -#define HAVE_RECV 1 - -/* Define to the type of arg 1 for recv. */ -#define RECV_TYPE_ARG1 SOCKET - -/* Define to the type of arg 2 for recv. */ -#define RECV_TYPE_ARG2 char * - -/* Define to the type of arg 3 for recv. */ -#define RECV_TYPE_ARG3 int - -/* Define to the type of arg 4 for recv. */ -#define RECV_TYPE_ARG4 int - -/* Define to the function return type for recv. */ -#define RECV_TYPE_RETV int - -/* Define if you have the recvfrom function. */ -#define HAVE_RECVFROM 1 - -/* Define to the type of arg 1 for recvfrom. */ -#define RECVFROM_TYPE_ARG1 SOCKET - -/* Define to the type pointed by arg 2 for recvfrom. */ -#define RECVFROM_TYPE_ARG2 char - -/* Define to the type of arg 3 for recvfrom. */ -#define RECVFROM_TYPE_ARG3 int - -/* Define to the type of arg 4 for recvfrom. */ -#define RECVFROM_TYPE_ARG4 int - -/* Define to the type pointed by arg 5 for recvfrom. */ -#define RECVFROM_TYPE_ARG5 struct sockaddr - -/* Define to the type pointed by arg 6 for recvfrom. */ -#define RECVFROM_TYPE_ARG6 int - -/* Define to the function return type for recvfrom. */ -#define RECVFROM_TYPE_RETV int - -/* Define if you have the send function. */ -#define HAVE_SEND 1 - -/* Define to the type of arg 1 for send. */ -#define SEND_TYPE_ARG1 SOCKET - -/* Define to the type qualifier of arg 2 for send. */ -#define SEND_QUAL_ARG2 const - -/* Define to the type of arg 2 for send. */ -#define SEND_TYPE_ARG2 char * - -/* Define to the type of arg 3 for send. */ -#define SEND_TYPE_ARG3 int - -/* Define to the type of arg 4 for send. */ -#define SEND_TYPE_ARG4 int - -/* Define to the function return type for send. */ -#define SEND_TYPE_RETV int - -/* ---------------------------------------------------------------- */ -/* TYPEDEF REPLACEMENTS */ -/* ---------------------------------------------------------------- */ - -/* Define this if in_addr_t is not an available 'typedefed' type */ -#define in_addr_t unsigned long - -/* Define as the return type of signal handlers (int or void). */ -#define RETSIGTYPE void - -#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \ - defined(__MINGW32__) -#elif defined(_WIN64) -#define ssize_t __int64 -#else -#define ssize_t int -#endif - -/* ---------------------------------------------------------------- */ -/* STRUCT RELATED */ -/* ---------------------------------------------------------------- */ - -/* Define this if you have struct sockaddr_storage */ -#ifndef __SALFORDC__ -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 -#endif - -/* Define this if you have struct timeval */ -#define HAVE_STRUCT_TIMEVAL 1 - -/* ---------------------------------------------------------------- */ -/* COMPILER SPECIFIC */ -/* ---------------------------------------------------------------- */ - -/* Undef keyword 'const' if it does not work. */ -/* #undef const */ - -/* Windows should not have HAVE_GMTIME_R defined */ -/* #undef HAVE_GMTIME_R */ - -/* Define if the compiler supports C99 variadic macro style. */ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#define HAVE_VARIADIC_MACROS_C99 1 -#endif - -/* Define if the compiler supports the 'long long' data type. */ -#if defined(__MINGW32__) || defined(__WATCOMC__) -#define HAVE_LONGLONG 1 -#endif - -/* Define to avoid VS2005 complaining about portable C functions */ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#define _CRT_SECURE_NO_DEPRECATE 1 -#define _CRT_NONSTDC_NO_DEPRECATE 1 -#endif - -/* VS2005 and later dafault size for time_t is 64-bit, unless */ -/* _USE_32BIT_TIME_T has been defined to get a 32-bit time_t. */ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -# ifndef _USE_32BIT_TIME_T -# define SIZEOF_TIME_T 8 -# else -# define SIZEOF_TIME_T 4 -# endif -#endif - -/* VS2008 does not support Windows build targets prior to WinXP, */ -/* so, if no build target has been defined we will target WinXP. */ -#if defined(_MSC_VER) && (_MSC_VER >= 1500) -# ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0501 -# endif -# ifndef WINVER -# define WINVER 0x0501 -# endif -# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501) -# error VS2008 does not support Windows build targets prior to WinXP -# endif -#endif - -/* ---------------------------------------------------------------- */ -/* LARGE FILE SUPPORT */ -/* ---------------------------------------------------------------- */ - -#if defined(_MSC_VER) && !defined(_WIN32_WCE) -# if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64) -# define USE_WIN32_LARGE_FILES -# else -# define USE_WIN32_SMALL_FILES -# endif -#endif - -#if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES) -# define USE_WIN32_SMALL_FILES -#endif - -/* ---------------------------------------------------------------- */ -/* ADDITIONAL DEFINITIONS */ -/* ---------------------------------------------------------------- */ - -/* Define cpu-machine-OS */ -#ifndef OS -#define OS "i386-pc-win32" -#endif - -/* Define to 1 if you want the built-in manual */ -#define USE_MANUAL 1 - - -#endif /* __SRC_CONFIG_WIN32_H */ diff --git a/Utilities/cmcurl-7.19.0/src/config.h.in b/Utilities/cmcurl-7.19.0/src/config.h.in deleted file mode 100644 index 3d264e6..0000000 --- a/Utilities/cmcurl-7.19.0/src/config.h.in +++ /dev/null @@ -1,857 +0,0 @@ -/* lib/config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the $func function. */ -#undef AS_TR_CPP - -/* when building libcurl itself */ -#undef BUILDING_LIBCURL - -/* Location of default ca bundle */ -#undef CURL_CA_BUNDLE - -/* Location of default ca path */ -#undef CURL_CA_PATH - -/* to disable cookies support */ -#undef CURL_DISABLE_COOKIES - -/* to disable cryptographic authentication */ -#undef CURL_DISABLE_CRYPTO_AUTH - -/* to disable DICT */ -#undef CURL_DISABLE_DICT - -/* to disable FILE */ -#undef CURL_DISABLE_FILE - -/* to disable FTP */ -#undef CURL_DISABLE_FTP - -/* to disable HTTP */ -#undef CURL_DISABLE_HTTP - -/* to disable LDAP */ -#undef CURL_DISABLE_LDAP - -/* to disable LDAPS */ -#undef CURL_DISABLE_LDAPS - -/* to disable TELNET */ -#undef CURL_DISABLE_TELNET - -/* to disable TFTP */ -#undef CURL_DISABLE_TFTP - -/* to disable verbose strings */ -#undef CURL_DISABLE_VERBOSE_STRINGS - -/* to make a symbol visible */ -#undef CURL_EXTERN_SYMBOL - -/* to enable hidden symbols */ -#undef CURL_HIDDEN_SYMBOLS - -/* W$ LDAP with non-W$ compiler */ -#undef CURL_LDAP_HYBRID - -/* Use W$ LDAP implementation */ -#undef CURL_LDAP_WIN - -/* when not building a shared library */ -#undef CURL_STATICLIB - -/* Set to explicitly specify we don't want to use thread-safe functions */ -#undef DISABLED_THREADSAFE - -/* your Entropy Gathering Daemon socket pathname */ -#undef EGD_SOCKET - -/* Define if you want to enable IPv6 support */ -#undef ENABLE_IPV6 - -/* Define to the type qualifier of arg 1 for getnameinfo. */ -#undef GETNAMEINFO_QUAL_ARG1 - -/* Define to the type of arg 1 for getnameinfo. */ -#undef GETNAMEINFO_TYPE_ARG1 - -/* Define to the type of arg 2 for getnameinfo. */ -#undef GETNAMEINFO_TYPE_ARG2 - -/* Define to the type of args 4 and 6 for getnameinfo. */ -#undef GETNAMEINFO_TYPE_ARG46 - -/* Define to the type of arg 7 for getnameinfo. */ -#undef GETNAMEINFO_TYPE_ARG7 - -/* Define to 1 if you have the <alloca.h> header file. */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the <arpa/inet.h> header file. */ -#undef HAVE_ARPA_INET_H - -/* Define to 1 if you have the <arpa/tftp.h> header file. */ -#undef HAVE_ARPA_TFTP_H - -/* Define to 1 if you have the <assert.h> header file. */ -#undef HAVE_ASSERT_H - -/* Define to 1 if you have the `basename' function. */ -#undef HAVE_BASENAME - -/* Define to 1 if bool is an available type. */ -#undef HAVE_BOOL_T - -/* Define to 1 if you have the clock_gettime function and monotonic timer. */ -#undef HAVE_CLOCK_GETTIME_MONOTONIC - -/* Define to 1 if you have the `closesocket' function. */ -#undef HAVE_CLOSESOCKET - -/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */ -#undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA - -/* Define to 1 if you have the <crypto.h> header file. */ -#undef HAVE_CRYPTO_H - -/* Define to 1 if you have the <des.h> header file. */ -#undef HAVE_DES_H - -/* disabled non-blocking sockets */ -#undef HAVE_DISABLED_NONBLOCKING - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */ -#undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES - -/* Define to 1 if you have the <errno.h> header file. */ -#undef HAVE_ERRNO_H - -/* Define to 1 if you have the <err.h> header file. */ -#undef HAVE_ERR_H - -/* Define to 1 if you have the <fcntl.h> header file. */ -#undef HAVE_FCNTL_H - -/* use FIONBIO for non-blocking sockets */ -#undef HAVE_FIONBIO - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define to 1 if you have the `ftruncate' function. */ -#undef HAVE_FTRUNCATE - -/* Define if getaddrinfo exists and works */ -#undef HAVE_GETADDRINFO - -/* Define to 1 if you have the `geteuid' function. */ -#undef HAVE_GETEUID - -/* Define to 1 if you have the `gethostbyaddr' function. */ -#undef HAVE_GETHOSTBYADDR - -/* If you have gethostbyname */ -#undef HAVE_GETHOSTBYNAME - -/* Define to 1 if you have the gethostbyname_r function. */ -#undef HAVE_GETHOSTBYNAME_R - -/* gethostbyname_r() takes 3 args */ -#undef HAVE_GETHOSTBYNAME_R_3 - -/* gethostbyname_r() takes 5 args */ -#undef HAVE_GETHOSTBYNAME_R_5 - -/* gethostbyname_r() takes 6 args */ -#undef HAVE_GETHOSTBYNAME_R_6 - -/* Define to 1 if you have the getnameinfo function. */ -#undef HAVE_GETNAMEINFO - -/* Define to 1 if you have the `getpass_r' function. */ -#undef HAVE_GETPASS_R - -/* Define to 1 if you have the `getppid' function. */ -#undef HAVE_GETPPID - -/* Define to 1 if you have the `getprotobyname' function. */ -#undef HAVE_GETPROTOBYNAME - -/* Define to 1 if you have the `getpwuid' function. */ -#undef HAVE_GETPWUID - -/* Define to 1 if you have the `getrlimit' function. */ -#undef HAVE_GETRLIMIT - -/* Define to 1 if you have the `gettimeofday' function. */ -#undef HAVE_GETTIMEOFDAY - -/* we have a glibc-style strerror_r() */ -#undef HAVE_GLIBC_STRERROR_R - -/* Define to 1 if you have the `gmtime_r' function. */ -#undef HAVE_GMTIME_R - -/* if you have the gssapi libraries */ -#undef HAVE_GSSAPI - -/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */ -#undef HAVE_GSSAPI_GSSAPI_GENERIC_H - -/* Define to 1 if you have the <gssapi/gssapi.h> header file. */ -#undef HAVE_GSSAPI_GSSAPI_H - -/* Define to 1 if you have the <gssapi/gssapi_krb5.h> header file. */ -#undef HAVE_GSSAPI_GSSAPI_KRB5_H - -/* if you have the GNU gssapi libraries */ -#undef HAVE_GSSGNU - -/* if you have the Heimdal gssapi libraries */ -#undef HAVE_GSSHEIMDAL - -/* if you have the MIT gssapi libraries */ -#undef HAVE_GSSMIT - -/* Define to 1 if you have the `idna_strerror' function. */ -#undef HAVE_IDNA_STRERROR - -/* Define to 1 if you have the `idn_free' function. */ -#undef HAVE_IDN_FREE - -/* Define to 1 if you have the <idn-free.h> header file. */ -#undef HAVE_IDN_FREE_H - -/* Define to 1 if you have the `inet_addr' function. */ -#undef HAVE_INET_ADDR - -/* Define to 1 if you have the `inet_ntoa' function. */ -#undef HAVE_INET_NTOA - -/* Define to 1 if you have the `inet_ntoa_r' function. */ -#undef HAVE_INET_NTOA_R - -/* inet_ntoa_r() is declared */ -#undef HAVE_INET_NTOA_R_DECL - -/* Define to 1 if you have the `inet_pton' function. */ -#undef HAVE_INET_PTON - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* use ioctlsocket() for non-blocking sockets */ -#undef HAVE_IOCTLSOCKET - -/* use Ioctlsocket() for non-blocking sockets */ -#undef HAVE_IOCTLSOCKET_CASE - -/* Define to 1 if you have the <io.h> header file. */ -#undef HAVE_IO_H - -/* if you have the Kerberos4 libraries (including -ldes) */ -#undef HAVE_KRB4 - -/* Define to 1 if you have the `krb_get_our_ip_for_realm' function. */ -#undef HAVE_KRB_GET_OUR_IP_FOR_REALM - -/* Define to 1 if you have the <krb.h> header file. */ -#undef HAVE_KRB_H - -/* Define to 1 if you have the lber.h header file. */ -#undef HAVE_LBER_H - -/* Define to 1 if you have the ldapssl.h header file. */ -#undef HAVE_LDAPSSL_H - -/* Define to 1 if you have the ldap.h header file. */ -#undef HAVE_LDAP_H - -/* Use LDAPS implementation */ -#undef HAVE_LDAP_SSL - -/* Define to 1 if you have the ldap_ssl.h header file. */ -#undef HAVE_LDAP_SSL_H - -/* Define to 1 if you have the `ldap_url_parse' function. */ -#undef HAVE_LDAP_URL_PARSE - -/* Define to 1 if you have the <libgen.h> header file. */ -#undef HAVE_LIBGEN_H - -/* Define to 1 if you have the `idn' library (-lidn). */ -#undef HAVE_LIBIDN - -/* Define to 1 if you have the `resolv' library (-lresolv). */ -#undef HAVE_LIBRESOLV - -/* Define to 1 if you have the `resolve' library (-lresolve). */ -#undef HAVE_LIBRESOLVE - -/* Define to 1 if you have the `socket' library (-lsocket). */ -#undef HAVE_LIBSOCKET - -/* Define to 1 if you have the `ssh2' library (-lssh2). */ -#undef HAVE_LIBSSH2 - -/* Define to 1 if you have the <libssh2.h> header file. */ -#undef HAVE_LIBSSH2_H - -/* Define to 1 if you have the `ssl' library (-lssl). */ -#undef HAVE_LIBSSL - -/* if zlib is available */ -#undef HAVE_LIBZ - -/* Define to 1 if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* if your compiler supports LL */ -#undef HAVE_LL - -/* Define to 1 if you have the <locale.h> header file. */ -#undef HAVE_LOCALE_H - -/* Define to 1 if you have the `localtime_r' function. */ -#undef HAVE_LOCALTIME_R - -/* Define to 1 if the compiler supports the 'long long' data type. */ -#undef HAVE_LONGLONG - -/* Define to 1 if you have the malloc.h header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the MSG_NOSIGNAL flag. */ -#undef HAVE_MSG_NOSIGNAL - -/* Define to 1 if you have the <netdb.h> header file. */ -#undef HAVE_NETDB_H - -/* Define to 1 if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the <netinet/tcp.h> header file. */ -#undef HAVE_NETINET_TCP_H - -/* Define to 1 if you have the <net/if.h> header file. */ -#undef HAVE_NET_IF_H - -/* Define to 1 if NI_WITHSCOPEID exists and works. */ -#undef HAVE_NI_WITHSCOPEID - -/* Defined if no inet_pton() prototype available */ -#undef HAVE_NO_INET_PTON_PROTO - -/* we have no strerror_r() proto */ -#undef HAVE_NO_STRERROR_R_DECL - -/* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE - */ -#undef HAVE_OLD_GSSMIT - -/* Define to 1 if you have the <openssl/crypto.h> header file. */ -#undef HAVE_OPENSSL_CRYPTO_H - -/* Define to 1 if you have the <openssl/engine.h> header file. */ -#undef HAVE_OPENSSL_ENGINE_H - -/* Define to 1 if you have the <openssl/err.h> header file. */ -#undef HAVE_OPENSSL_ERR_H - -/* Define to 1 if you have the <openssl/pem.h> header file. */ -#undef HAVE_OPENSSL_PEM_H - -/* Define to 1 if you have the <openssl/pkcs12.h> header file. */ -#undef HAVE_OPENSSL_PKCS12_H - -/* Define to 1 if you have the <openssl/rsa.h> header file. */ -#undef HAVE_OPENSSL_RSA_H - -/* Define to 1 if you have the <openssl/ssl.h> header file. */ -#undef HAVE_OPENSSL_SSL_H - -/* Define to 1 if you have the <openssl/x509.h> header file. */ -#undef HAVE_OPENSSL_X509_H - -/* use O_NONBLOCK for non-blocking sockets */ -#undef HAVE_O_NONBLOCK - -/* Define to 1 if you have the <pem.h> header file. */ -#undef HAVE_PEM_H - -/* Define to 1 if you have the `perror' function. */ -#undef HAVE_PERROR - -/* Define to 1 if you have the `pipe' function. */ -#undef HAVE_PIPE - -/* if you have the function PK11_CreateGenericObject */ -#undef HAVE_PK11_CREATEGENERICOBJECT - -/* Define to 1 if you have the `poll' function. */ -#undef HAVE_POLL - -/* If you have a fine poll */ -#undef HAVE_POLL_FINE - -/* Define to 1 if you have the <poll.h> header file. */ -#undef HAVE_POLL_H - -/* we have a POSIX-style strerror_r() */ -#undef HAVE_POSIX_STRERROR_R - -/* Define to 1 if you have the <pwd.h> header file. */ -#undef HAVE_PWD_H - -/* Define to 1 if you have the `RAND_egd' function. */ -#undef HAVE_RAND_EGD - -/* Define to 1 if you have the `RAND_screen' function. */ -#undef HAVE_RAND_SCREEN - -/* Define to 1 if you have the `RAND_status' function. */ -#undef HAVE_RAND_STATUS - -/* Define to 1 if you have the recv function. */ -#undef HAVE_RECV - -/* Define to 1 if you have the recvfrom function. */ -#undef HAVE_RECVFROM - -/* Define to 1 if you have the <rsa.h> header file. */ -#undef HAVE_RSA_H - -/* Define to 1 if you have the select function. */ -#undef HAVE_SELECT - -/* Define to 1 if you have the send function. */ -#undef HAVE_SEND - -/* Define to 1 if you have the <setjmp.h> header file. */ -#undef HAVE_SETJMP_H - -/* Define to 1 if you have the `setlocale' function. */ -#undef HAVE_SETLOCALE - -/* Define to 1 if you have the `setmode' function. */ -#undef HAVE_SETMODE - -/* Define to 1 if you have the `setrlimit' function. */ -#undef HAVE_SETRLIMIT - -/* Define to 1 if you have the <sgtty.h> header file. */ -#undef HAVE_SGTTY_H - -/* Define to 1 if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - -/* Define to 1 if you have the `siginterrupt' function. */ -#undef HAVE_SIGINTERRUPT - -/* Define to 1 if you have the `signal' function. */ -#undef HAVE_SIGNAL - -/* Define to 1 if you have the <signal.h> header file. */ -#undef HAVE_SIGNAL_H - -/* If you have sigsetjmp */ -#undef HAVE_SIGSETJMP - -/* Define to 1 if sig_atomic_t is an available typedef. */ -#undef HAVE_SIG_ATOMIC_T - -/* Define to 1 if sig_atomic_t is already defined as volatile. */ -#undef HAVE_SIG_ATOMIC_T_VOLATILE - -/* Define to 1 if you have the `socket' function. */ -#undef HAVE_SOCKET - -/* use SO_NONBLOCK for non-blocking sockets */ -#undef HAVE_SO_NONBLOCK - -/* Define this if you have the SPNEGO library fbopenssl */ -#undef HAVE_SPNEGO - -/* Define to 1 if you have the `SSL_get_shutdown' function. */ -#undef HAVE_SSL_GET_SHUTDOWN - -/* Define to 1 if you have the <ssl.h> header file. */ -#undef HAVE_SSL_H - -/* Define to 1 if you have the <stdbool.h> header file. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdio.h> header file. */ -#undef HAVE_STDIO_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strcasecmp' function. */ -#undef HAVE_STRCASECMP - -/* Define to 1 if you have the `strcasestr' function. */ -#undef HAVE_STRCASESTR - -/* Define to 1 if you have the `strcmpi' function. */ -#undef HAVE_STRCMPI - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the `strerror_r' function. */ -#undef HAVE_STRERROR_R - -/* Define to 1 if you have the `stricmp' function. */ -#undef HAVE_STRICMP - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strlcat' function. */ -#undef HAVE_STRLCAT - -/* Define to 1 if you have the `strlcpy' function. */ -#undef HAVE_STRLCPY - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the `strtok_r' function. */ -#undef HAVE_STRTOK_R - -/* Define to 1 if you have the `strtoll' function. */ -#undef HAVE_STRTOLL - -/* if struct sockaddr_storage is defined */ -#undef HAVE_STRUCT_SOCKADDR_STORAGE - -/* Define to 1 if you have the timeval struct. */ -#undef HAVE_STRUCT_TIMEVAL - -/* Define to 1 if you have the <sys/filio.h> header file. */ -#undef HAVE_SYS_FILIO_H - -/* Define to 1 if you have the <sys/ioctl.h> header file. */ -#undef HAVE_SYS_IOCTL_H - -/* Define to 1 if you have the <sys/param.h> header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the <sys/poll.h> header file. */ -#undef HAVE_SYS_POLL_H - -/* Define to 1 if you have the <sys/resource.h> header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define to 1 if you have the <sys/select.h> header file. */ -#undef HAVE_SYS_SELECT_H - -/* Define to 1 if you have the <sys/socket.h> header file. */ -#undef HAVE_SYS_SOCKET_H - -/* Define to 1 if you have the <sys/sockio.h> header file. */ -#undef HAVE_SYS_SOCKIO_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/time.h> header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <sys/un.h> header file. */ -#undef HAVE_SYS_UN_H - -/* Define to 1 if you have the <sys/utime.h> header file. */ -#undef HAVE_SYS_UTIME_H - -/* Define to 1 if you have the <termios.h> header file. */ -#undef HAVE_TERMIOS_H - -/* Define to 1 if you have the <termio.h> header file. */ -#undef HAVE_TERMIO_H - -/* Define to 1 if you have the <time.h> header file. */ -#undef HAVE_TIME_H - -/* Define to 1 if you have the <tld.h> header file. */ -#undef HAVE_TLD_H - -/* Define to 1 if you have the `tld_strerror' function. */ -#undef HAVE_TLD_STRERROR - -/* Define to 1 if you have the `uname' function. */ -#undef HAVE_UNAME - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `utime' function. */ -#undef HAVE_UTIME - -/* Define to 1 if you have the <utime.h> header file. */ -#undef HAVE_UTIME_H - -/* Define to 1 if compiler supports C99 variadic macro style. */ -#undef HAVE_VARIADIC_MACROS_C99 - -/* Define to 1 if compiler supports old gcc variadic macro style. */ -#undef HAVE_VARIADIC_MACROS_GCC - -/* Define to 1 if you have the winber.h header file. */ -#undef HAVE_WINBER_H - -/* Define to 1 if you have the windows.h header file. */ -#undef HAVE_WINDOWS_H - -/* Define to 1 if you have the winldap.h header file. */ -#undef HAVE_WINLDAP_H - -/* Define to 1 if you have the winsock2.h header file. */ -#undef HAVE_WINSOCK2_H - -/* Define to 1 if you have the winsock.h header file. */ -#undef HAVE_WINSOCK_H - -/* Define this symbol if your OS supports changing the contents of argv */ -#undef HAVE_WRITABLE_ARGV - -/* Define to 1 if you have the ws2tcpip.h header file. */ -#undef HAVE_WS2TCPIP_H - -/* Define to 1 if you have the <x509.h> header file. */ -#undef HAVE_X509_H - -/* if you have the zlib.h header file */ -#undef HAVE_ZLIB_H - -/* Define to 1 if you are building a native Windows target. */ -#undef NATIVE_WINDOWS - -/* If you lack a fine basename() prototype */ -#undef NEED_BASENAME_PROTO - -/* Define to 1 if you need the lber.h header file even with ldap.h */ -#undef NEED_LBER_H - -/* Define to 1 if you need the malloc.h header file even with stdlib.h */ -#undef NEED_MALLOC_H - -/* Define to 1 if _REENTRANT preprocessor symbol must be defined. */ -#undef NEED_REENTRANT - -/* cpu-machine-OS */ -#undef OS - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* a suitable file to read random data from */ -#undef RANDOM_FILE - -/* Define to the type of arg 1 for recvfrom. */ -#undef RECVFROM_TYPE_ARG1 - -/* Define to the type pointed by arg 2 for recvfrom. */ -#undef RECVFROM_TYPE_ARG2 - -/* Define to 1 if the type pointed by arg 2 for recvfrom is void. */ -#undef RECVFROM_TYPE_ARG2_IS_VOID - -/* Define to the type of arg 3 for recvfrom. */ -#undef RECVFROM_TYPE_ARG3 - -/* Define to the type of arg 4 for recvfrom. */ -#undef RECVFROM_TYPE_ARG4 - -/* Define to the type pointed by arg 5 for recvfrom. */ -#undef RECVFROM_TYPE_ARG5 - -/* Define to 1 if the type pointed by arg 5 for recvfrom is void. */ -#undef RECVFROM_TYPE_ARG5_IS_VOID - -/* Define to the type pointed by arg 6 for recvfrom. */ -#undef RECVFROM_TYPE_ARG6 - -/* Define to 1 if the type pointed by arg 6 for recvfrom is void. */ -#undef RECVFROM_TYPE_ARG6_IS_VOID - -/* Define to the function return type for recvfrom. */ -#undef RECVFROM_TYPE_RETV - -/* Define to the type of arg 1 for recv. */ -#undef RECV_TYPE_ARG1 - -/* Define to the type of arg 2 for recv. */ -#undef RECV_TYPE_ARG2 - -/* Define to the type of arg 3 for recv. */ -#undef RECV_TYPE_ARG3 - -/* Define to the type of arg 4 for recv. */ -#undef RECV_TYPE_ARG4 - -/* Define to the function return type for recv. */ -#undef RECV_TYPE_RETV - -/* Define as the return type of signal handlers (`int' or `void'). */ -#undef RETSIGTYPE - -/* Define to the type qualifier of arg 5 for select. */ -#undef SELECT_QUAL_ARG5 - -/* Define to the type of arg 1 for select. */ -#undef SELECT_TYPE_ARG1 - -/* Define to the type of args 2, 3 and 4 for select. */ -#undef SELECT_TYPE_ARG234 - -/* Define to the type of arg 5 for select. */ -#undef SELECT_TYPE_ARG5 - -/* Define to the function return type for select. */ -#undef SELECT_TYPE_RETV - -/* Define to the type qualifier of arg 2 for send. */ -#undef SEND_QUAL_ARG2 - -/* Define to the type of arg 1 for send. */ -#undef SEND_TYPE_ARG1 - -/* Define to the type of arg 2 for send. */ -#undef SEND_TYPE_ARG2 - -/* Define to the type of arg 3 for send. */ -#undef SEND_TYPE_ARG3 - -/* Define to the type of arg 4 for send. */ -#undef SEND_TYPE_ARG4 - -/* Define to the function return type for send. */ -#undef SEND_TYPE_RETV - -/* The size of `int', as computed by sizeof. */ -#undef SIZEOF_INT - -/* The size of `long', as computed by sizeof. */ -#undef SIZEOF_LONG - -/* The size of `off_t', as computed by sizeof. */ -#undef SIZEOF_OFF_T - -/* The size of `size_t', as computed by sizeof. */ -#undef SIZEOF_SIZE_T - -/* The size of `time_t', as computed by sizeof. */ -#undef SIZEOF_TIME_T - -/* The size of `void*', as computed by sizeof. */ -#undef SIZEOF_VOIDP - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ -#undef TIME_WITH_SYS_TIME - -/* Define if you want to enable c-ares support */ -#undef USE_ARES - -/* if GnuTLS is enabled */ -#undef USE_GNUTLS - -/* if libSSH2 is in use */ -#undef USE_LIBSSH2 - -/* If you want to build curl with the built-in manual */ -#undef USE_MANUAL - -/* if NSS is enabled */ -#undef USE_NSS - -/* if OpenSSL is in use */ -#undef USE_OPENSSL - -/* if SSL is enabled */ -#undef USE_SSLEAY - -/* Define to 1 if you are building a Windows target without large file - support. */ -#undef USE_WIN32_LARGE_FILES - -/* to enable SSPI support */ -#undef USE_WINDOWS_SSPI - -/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */ -#undef USE_YASSLEMUL - -/* Version number of package */ -#undef VERSION - -/* Define to avoid automatic inclusion of winsock.h */ -#undef WIN32_LEAN_AND_MEAN - -/* Define to 1 if OS is AIX. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* define this if you need it to compile thread-safe code */ -#undef _THREAD_SAFE - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Type to use in place of in_addr_t when system does not provide it. */ -#undef in_addr_t - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -/* Type to use in place of socklen_t when system does not provide it. */ -#undef socklen_t - -/* the signed version of size_t */ -#undef ssize_t diff --git a/Utilities/cmcurl-7.19.0/src/curl.rc b/Utilities/cmcurl-7.19.0/src/curl.rc deleted file mode 100644 index fd29f18..0000000 --- a/Utilities/cmcurl-7.19.0/src/curl.rc +++ /dev/null @@ -1,64 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ -#include <winver.h> -#include "version.h" - -LANGUAGE 0x09,0x01 - -#define RC_VERSION CURL_VERSION_MAJOR, CURL_VERSION_MINOR, CURL_VERSION_PATCH, 0 - -VS_VERSION_INFO VERSIONINFO - FILEVERSION RC_VERSION - PRODUCTVERSION RC_VERSION - FILEFLAGSMASK 0x3fL -#if defined(CURLDEBUG) || defined(_DEBUG) - FILEFLAGS 1 -#else - FILEFLAGS 0 -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L - -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "cURL, http://curl.haxx.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", "© " CURL_COPYRIGHT "\0" - VALUE "License", "http://curl.haxx.se/docs/copyright.html\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/Utilities/cmcurl-7.19.0/src/curlsrc.dsp b/Utilities/cmcurl-7.19.0/src/curlsrc.dsp deleted file mode 100644 index c5b0ecb..0000000 --- a/Utilities/cmcurl-7.19.0/src/curlsrc.dsp +++ /dev/null @@ -1,234 +0,0 @@ -# Microsoft Developer Studio Project File - Name="curlsrc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=curlsrc - Win32 using libcurl LIB Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "curlsrc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "curlsrc.mak" CFG="curlsrc - Win32 using libcurl LIB Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "curlsrc - Win32 using libcurl DLL Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl DLL Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl LIB Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE "curlsrc - Win32 using libcurl LIB Release" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "curlsrc - Win32 using libcurl DLL Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "DLL-Debug"
-# PROP BASE Intermediate_Dir "DLL-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "DLL-Debug"
-# PROP Intermediate_Dir "DLL-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurld_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"DLL-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\DLL-Debug"
-# ADD LINK32 libcurld_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"DLL-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\DLL-Debug"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl DLL Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "DLL-Release"
-# PROP BASE Intermediate_Dir "DLL-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "DLL-Release"
-# PROP Intermediate_Dir "DLL-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /FD /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurl_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"DLL-Release/curl.exe" /libpath:"..\lib\DLL-Release"
-# ADD LINK32 libcurl_imp.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"DLL-Release/curl.exe" /libpath:"..\lib\DLL-Release"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl LIB Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "LIB-Debug"
-# PROP BASE Intermediate_Dir "LIB-Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "LIB-Debug"
-# PROP Intermediate_Dir "LIB-Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /GZ /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "_DEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurld.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"LIB-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\LIB-Debug"
-# ADD LINK32 libcurld.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"LIB-Debug/curl.exe" /pdbtype:sept /libpath:"..\lib\LIB-Debug"
-
-!ELSEIF "$(CFG)" == "curlsrc - Win32 using libcurl LIB Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "LIB-Release"
-# PROP BASE Intermediate_Dir "LIB-Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "LIB-Release"
-# PROP Intermediate_Dir "LIB-Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\lib" /I "..\include" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /c
-# ADD BASE RSC /l 0x409 /i "..\include" /d "NDEBUG"
-# ADD RSC /l 0x409 /i "..\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 libcurl.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"LIB-Release/curl.exe" /libpath:"..\lib\LIB-Release"
-# ADD LINK32 libcurl.lib kernel32.lib ws2_32.lib wldap32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"LIB-Release/curl.exe" /libpath:"..\lib\LIB-Release"
-
-!ENDIF
-
-# Begin Target
-
-# Name "curlsrc - Win32 using libcurl DLL Debug"
-# Name "curlsrc - Win32 using libcurl DLL Release"
-# Name "curlsrc - Win32 using libcurl LIB Debug"
-# Name "curlsrc - Win32 using libcurl LIB Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\curlutil.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\getpass.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\homedir.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hugehelp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\lib\strtoofft.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\urlglob.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeenv.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeout.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=".\config-win32.h"
-# End Source File
-# Begin Source File
-
-SOURCE=.\curlutil.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\getpass.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\homedir.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\hugehelp.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\setup.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\lib\strtoofft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\urlglob.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\version.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeenv.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\writeout.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\curl.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/Utilities/cmcurl-7.19.0/src/curlsrc.dsw b/Utilities/cmcurl-7.19.0/src/curlsrc.dsw deleted file mode 100644 index 2aec010..0000000 --- a/Utilities/cmcurl-7.19.0/src/curlsrc.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "curlsrc"=".\curlsrc.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Utilities/cmcurl-7.19.0/src/curlutil.c b/Utilities/cmcurl-7.19.0/src/curlutil.c deleted file mode 100644 index 1712ce3..0000000 --- a/Utilities/cmcurl-7.19.0/src/curlutil.c +++ /dev/null @@ -1,135 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include "setup.h" - -#include "curlutil.h" - -#if defined(WIN32) && !defined(MSDOS) - -struct timeval cutil_tvnow(void) -{ - /* - ** GetTickCount() is available on _all_ Windows versions from W95 up - ** to nowadays. Returns milliseconds elapsed since last system boot, - ** increases monotonically and wraps once 49.7 days have elapsed. - */ - struct timeval now; - DWORD milliseconds = GetTickCount(); - now.tv_sec = milliseconds / 1000; - now.tv_usec = (milliseconds % 1000) * 1000; - return now; -} - -#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC) - -struct timeval cutil_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 = 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 = (long)time(NULL); - now.tv_usec = 0; - } -#endif - return now; -} - -#elif defined(HAVE_GETTIMEOFDAY) - -struct timeval cutil_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 cutil_tvnow(void) -{ - /* - ** time() returns the value of time in seconds since the Epoch. - */ - struct timeval now; - now.tv_sec = (long)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 cutil_tvdiff(struct timeval newer, struct timeval older) -{ - return (newer.tv_sec-older.tv_sec)*1000+ - (newer.tv_usec-older.tv_usec)/1000; -} - -/* - * Same as cutil_tvdiff but with full usec resolution. - * - * Returns: the time difference in seconds with subsecond resolution. - */ -double cutil_tvdiff_secs(struct timeval newer, struct timeval older) -{ - return (double)(newer.tv_sec-older.tv_sec)+ - (double)(newer.tv_usec-older.tv_usec)/1000000.0; -} - -/* return the number of seconds in the given input timeval struct */ -long cutil_tvlong(struct timeval t1) -{ - return t1.tv_sec; -} - diff --git a/Utilities/cmcurl-7.19.0/src/curlutil.h b/Utilities/cmcurl-7.19.0/src/curlutil.h deleted file mode 100644 index 50f0bfaf..0000000 --- a/Utilities/cmcurl-7.19.0/src/curlutil.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef __CURL_SRC_UTIL_H -#define __CURL_SRC_UTIL_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2007, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include "setup.h" - - -struct timeval cutil_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 cutil_tvdiff(struct timeval t1, struct timeval t2); - -/* - * Same as cutil_tvdiff but with full usec resolution. - * - * Returns: the time difference in seconds with subsecond resolution. - */ -double cutil_tvdiff_secs(struct timeval t1, struct timeval t2); - -long cutil_tvlong(struct timeval t1); - - -#endif /* __CURL_SRC_UTIL_H */ - diff --git a/Utilities/cmcurl-7.19.0/src/getpass.c b/Utilities/cmcurl-7.19.0/src/getpass.c deleted file mode 100644 index 7209a2a..0000000 --- a/Utilities/cmcurl-7.19.0/src/getpass.c +++ /dev/null @@ -1,268 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2005, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -/* This file is a reimplementation of the previous one, due to license - problems. */ - -#include "setup.h" - -#ifndef HAVE_GETPASS_R -/* this file is only for systems without getpass_r() */ - -#include <stdio.h> -#include <string.h> - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#include "getpass.h" - -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif -#ifdef HAVE_TERMIOS_H -#include <termios.h> -#else -#ifdef HAVE_TERMIO_H -#include <termio.h> -#endif -#endif - -/* The last #include file should be: */ -#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG) -#include "memdebug.h" -#endif - -#ifdef VMS -/* VMS implementation */ -#include descrip -#include starlet -#include iodef -/* #include iosbdef */ -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'; - - sts = sys$dassgn(chan); - } - return buffer; /* we always return success */ -} -#define DONE -#endif /* VMS */ - - -#ifdef WIN32 -/* Windows implementation */ -#include <conio.h> -#endif - -#ifdef __SYMBIAN32__ -#define getch() getchar() -#endif - -#if defined(WIN32) || defined(__SYMBIAN32__) - -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] = 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); - } -#ifndef __SYMBIAN32__ - /* since echo is disabled, print a newline */ - fputs("\n", stderr); -#endif - /* 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 || __SYMBIAN32__ */ - -#ifdef NETWARE -/* NetWare implementation */ -#ifdef __NOVELL_LIBC__ -#include <screen.h> -char *getpass_r(const char *prompt, char *buffer, size_t buflen) -{ - return getpassword(prompt, buffer, buflen); -} -#else -#include <nwconio.h> -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 -#else -#ifdef HAVE_TERMIO_H -#define struct_term struct termio -#else -#undef struct_term -#endif -#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); -#else /* HAVE_TERMIOS_H */ -#ifdef HAVE_TERMIO_H - ioctl(fd, TCGETA, &withecho); - noecho = withecho; - noecho.c_lflag &= ~ECHO; - ioctl(fd, TCSETA, &noecho); -#else /* HAVE_TERMIO_H */ -/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H, we can't disable echo! */ - (void)fd; /* prevent compiler warning on unused variable */ - return FALSE; /* not disabled */ -#endif -#endif - return TRUE; /* disabled */ - } - else { - /* 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); -#else /* HAVE_TERMIOS_H */ -#ifdef HAVE_TERMIO_H - ioctl(fd, TCSETA, &withecho); -#else -/* neither HAVE_TERMIO_H nor HAVE_TERMIOS_H */ - return FALSE; /* not enabled */ -#endif -#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 = 1; /* 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; /* zero 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(1 != fd) - close(fd); - - return password; /* return pointer to buffer */ -} - -#endif /* DONE */ -#endif /* HAVE_GETPASS_R */ diff --git a/Utilities/cmcurl-7.19.0/src/getpass.h b/Utilities/cmcurl-7.19.0/src/getpass.h deleted file mode 100644 index ed31704..0000000 --- a/Utilities/cmcurl-7.19.0/src/getpass.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __GETPASS_H -#define __GETPASS_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ -#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 diff --git a/Utilities/cmcurl-7.19.0/src/homedir.c b/Utilities/cmcurl-7.19.0/src/homedir.c deleted file mode 100644 index d9bc39f..0000000 --- a/Utilities/cmcurl-7.19.0/src/homedir.c +++ /dev/null @@ -1,121 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2007, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#ifdef HAVE_PWD_H -#include <pwd.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef VMS -#include <unixlib.h> -#endif - -#include "homedir.h" - -#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG) -#include "memdebug.h" -#endif - -static -char *GetEnv(const char *variable, char do_expand) -{ - char *env = NULL; -#ifdef WIN32 - char buf1[1024], buf2[1024]; - DWORD rc; - - /* Don't use getenv(); it doesn't find variable added after program was - * started. Don't accept truncated results (i.e. rc >= sizeof(buf1)). */ - - rc = GetEnvironmentVariable(variable, buf1, sizeof(buf1)); - if (rc > 0 && rc < sizeof(buf1)) { - env = buf1; - variable = buf1; - } - if (do_expand && strchr(variable,'%')) { - /* buf2 == variable if not expanded */ - rc = ExpandEnvironmentStrings (variable, buf2, sizeof(buf2)); - if (rc > 0 && rc < sizeof(buf2) && - !strchr(buf2,'%')) /* no vars still unexpanded */ - env = buf2; - } -#else - (void)do_expand; -#ifdef VMS - env = getenv(variable); - if (env && strcmp("HOME",variable) == 0) { - env = decc$translate_vms(env); - } -#else - /* no length control */ - env = getenv(variable); -#endif -#endif - return (env && env[0])?strdup(env):NULL; -} - -/* return the home directory of the current user as an allocated string */ -char *homedir(void) -{ - char *home; - - home = GetEnv("CURL_HOME", FALSE); - if(home) - return home; - - home = GetEnv("HOME", FALSE); - if(home) - return home; - -#if defined(HAVE_GETPWUID) && defined(HAVE_GETEUID) - { - struct passwd *pw = getpwuid(geteuid()); - - if (pw) { -#ifdef VMS - home = decc$translate_vms(pw->pw_dir); -#else - home = pw->pw_dir; -#endif - if (home && home[0]) - home = strdup(home); - else - home = NULL; - } - } -#endif /* PWD-stuff */ -#ifdef WIN32 - home = GetEnv("APPDATA", TRUE); - if(!home) - home = GetEnv("%USERPROFILE%\\Application Data", TRUE); /* Normally only - on Win-2K/XP */ -#endif /* WIN32 */ - return home; -} diff --git a/Utilities/cmcurl-7.19.0/src/homedir.h b/Utilities/cmcurl-7.19.0/src/homedir.h deleted file mode 100644 index ba790ba..0000000 --- a/Utilities/cmcurl-7.19.0/src/homedir.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __HOMEDIR_H -#define __HOMEDIR_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -char *homedir(void); - -#endif diff --git a/Utilities/cmcurl-7.19.0/src/hugehelp.c b/Utilities/cmcurl-7.19.0/src/hugehelp.c deleted file mode 100644 index 5b8ab7a..0000000 --- a/Utilities/cmcurl-7.19.0/src/hugehelp.c +++ /dev/null @@ -1,6622 +0,0 @@ -#include "setup.h" -#ifndef HAVE_LIBZ -/* - * NEVER EVER edit this manually, fix the mkhelp.pl script instead! - * Generation time: Fri Aug 22 10:00:28 2008 - */ -#include "setup.h" -#ifdef USE_MANUAL -#include "hugehelp.h" -#include <stdio.h> -void hugehelp(void) -{ - fputs( -" _ _ ____ _ \n" -" Project ___| | | | _ \\| | \n" -" / __| | | | |_) | | \n" -" | (__| |_| | _ <| |___ \n" -" \\___|\\___/|_| \\_\\_____|\n" -"\n" -"NAME\n" -" curl - transfer a URL\n" -"\n" -"SYNOPSIS\n" -" curl [options] [URL...]\n" -"\n" -"DESCRIPTION\n" -" curl is a tool to transfer data from or to a server, using one of the\n" -, stdout); - fputs( -" supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT,\n" -" TELNET, LDAP or FILE). The command is designed to work without user\n" -" 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'll find a detailed descrip-\n" -" tion in RFC 3986.\n" -"\n" -" You can specify multiple URLs or parts of URLs by writing part sets\n" -" within braces 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" -" ftp://ftp.numericals.com/file[1-100].txt\n" -, stdout); - fputs( -" ftp://ftp.numericals.com/file[001-100].txt (with leading zeros)\n" -" ftp://ftp.letters.com/file[a-z].txt\n" -"\n" -" No nesting of the sequences is supported at the moment, but you can use\n" -" several ones next to each other:\n" -"\n" -" http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html\n" -"\n" -" You can specify any amount of URLs on the command line. They will be\n" -" fetched in a sequential manner in the specified order.\n" -"\n" -, stdout); - fputs( -" Since curl 7.15.1 you can also specify step counter for the ranges, so\n" -" that you can get every Nth number or letter:\n" -" http://www.numericals.com/file[1-100:10].txt\n" -" http://www.letters.com/file[a-z:2].txt\n" -"\n" -" If you specify URL without protocol:// prefix, curl will attempt to\n" -" guess what protocol you might want. It will then default to HTTP but\n" -" try other protocols based on often-used host name prefixes. For exam-\n" -, stdout); - fputs( -" ple, for host names starting with \"ftp.\" curl will assume you want to\n" -" speak FTP.\n" -"\n" -" Curl will attempt to re-use connections for multiple file transfers, so\n" -" that getting many files from the same server will not do multiple con-\n" -" nects / handshakes. This improves speed. Of course this is only done on\n" -" files specified on a single command line and cannot be used between\n" -" separate curl invokes.\n" -"\n" -"PROGRESS METER\n" -, stdout); - fputs( -" curl normally displays a progress meter during operations, indicating\n" -" amount of transferred data, transfer speeds and estimated time left\n" -" etc.\n" -"\n" -" However, since curl displays data to the terminal by default, if you\n" -" invoke curl to do an operation and it is about to write data to the\n" -" terminal, it disables the progress meter as otherwise it would mess up\n" -" the output mixing progress meter and response data.\n" -"\n" -, stdout); - fputs( -" If you want a progress meter for HTTP POST or PUT requests, you need to\n" -" redirect the response output to a file, using shell redirect (>), -o\n" -" [file] or similar.\n" -"\n" -" It is not the same case for FTP upload as that operation is not spit-\n" -" ting out any response data to the terminal.\n" -"\n" -" If you prefer a progress \"bar\" instead of the regular meter, -# is your\n" -" friend.\n" -"OPTIONS\n" -" In general, all boolean options are enabled with --option and yet again\n" -, stdout); - fputs( -" disabled with --no-option. That is, you use the exact same option name\n" -" but prefix it with \"no-\". However, in this list we mostly only list and\n" -" show the --option version of them. (This concept with --no options was\n" -" added in 7.19.0. Previously most options were toggled on/off on\n" -" repeated use of the same command line option.)\n" -"\n" -" -a/--append\n" -" (FTP/SFTP) When used in an upload, this will tell curl to append\n" -, stdout); - fputs( -" to the target file instead of overwriting it. If the file\n" -" doesn't exist, it will be created. Note that this flag is\n" -" ignored by some SSH servers (including OpenSSH).\n" -"\n" -" -A/--user-agent <agent string>\n" -" (HTTP) Specify the User-Agent string to send to the HTTP server.\n" -" Some badly done CGIs fail if this field isn't set to\n" -" \"Mozilla/4.0\". To encode blanks in the string, surround the\n" -, stdout); - fputs( -" string with single quote marks. This can also be set with the\n" -" -H/--header option of course.\n" -"\n" -" If this option is set more than once, the last one will be the\n" -" one that's used.\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 it supports.\n" -" This is done by first doing a request and checking the response-\n" -, stdout); - fputs( -" headers, thus possibly inducing an extra network round-trip.\n" -" This is used instead of setting a specific authentication\n" -" method, which you can do with --basic, --digest, --ntlm, and\n" -" --negotiate.\n" -"\n" -" Note that using --anyauth is not recommended if you do uploads\n" -" from stdin, since it may require data to be sent twice and then\n" -, stdout); - fputs( -" the client must be able to rewind. If the need should arise when\n" -" uploading from stdin, the upload operation will fail.\n" -"\n" -" -b/--cookie <name=data>\n" -" (HTTP) Pass the data to the HTTP server as a cookie. It is sup-\n" -" posedly the data previously received from the server in a \"Set-\n" -" Cookie:\" line. The data should be in the format \"NAME1=VALUE1;\n" -" NAME2=VALUE2\".\n" -"\n" -, stdout); - fputs( -" If no '=' letter is used in the line, it is treated as a file-\n" -" name to use to read previously stored cookie lines from, which\n" -" should be used in this session if they match. Using this method\n" -" also activates the \"cookie parser\" which will make curl record\n" -" incoming cookies too, which may be handy if you're using this in\n" -" combination with the -L/--location option. The file format of\n" -, stdout); - fputs( -" the file to read cookies from should be plain HTTP headers or\n" -" the Netscape/Mozilla cookie file format.\n" -"\n" -" NOTE that the file specified with -b/--cookie is only used as\n" -" input. No cookies will be stored in the file. To store cookies,\n" -" use the -c/--cookie-jar option or you could even save the HTTP\n" -" headers to a file using -D/--dump-header!\n" -"\n" -, stdout); - fputs( -" If this option is set more than once, the last one will be the\n" -" one that's used.\n" -"\n" -" -B/--use-ascii\n" -" Enable ASCII transfer when using FTP or LDAP. For FTP, this can\n" -" also be enforced by using an URL that ends with \";type=A\". This\n" -" option causes data sent to stdout to be in text mode for win32\n" -" systems.\n" -"\n" -" --basic\n" -" (HTTP) Tells curl to use HTTP Basic authentication. This is the\n" -, stdout); - fputs( -" default and this option is usually pointless, unless you use it\n" -" to override a previously set option that sets a different\n" -" authentication method (such as --ntlm, --digest and --negoti-\n" -" ate).\n" -"\n" -" --ciphers <list of ciphers>\n" -" (SSL) Specifies which ciphers to use in the connection. The list\n" -" of ciphers must be using valid ciphers. Read up on SSL cipher\n" -, stdout); - fputs( -" list details on this URL:\n" -" http://www.openssl.org/docs/apps/ciphers.html\n" -"\n" -" NSS ciphers are done differently than OpenSSL and GnuTLS. The\n" -" full list of NSS ciphers is in the NSSCipherSuite entry at this\n" -" URL: http://directory.fedora.redhat.com/docs/mod_nss.html#Direc-\n" -" tives\n" -"\n" -" If this option is used several times, the last one will override\n" -, stdout); - fputs( -" the others.\n" -"\n" -" --compressed\n" -" (HTTP) Request a compressed response using one of the algorithms\n" -" libcurl supports, and return the uncompressed document. If this\n" -" option is used and the server sends an unsupported encoding,\n" -" curl will report an error.\n" -"\n" -" --connect-timeout <seconds>\n" -" Maximum time in seconds that you allow the connection to the\n" -, stdout); - fputs( -" server to take. This only limits the connection phase, once\n" -" curl has connected this option is of no more use. See also the\n" -" -m/--max-time option.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -c/--cookie-jar <file name>\n" -" Specify to which file you want curl to write all cookies after a\n" -" completed operation. Curl writes all cookies previously read\n" -, stdout); - fputs( -" from a specified file as well as all cookies received from\n" -" remote server(s). If no cookies are known, no file will be writ-\n" -" ten. The file will be written using the Netscape cookie file\n" -" format. If you set the file name to a single dash, \"-\", the\n" -" cookies will be written to stdout.\n" -"\n" -" NOTE If the cookie jar can't be created or written to, the whole\n" -, stdout); - fputs( -" curl operation won't fail or even report an error clearly. Using\n" -" -v will get a warning displayed, but that is the only visible\n" -" feedback you get about this possibly lethal situation.\n" -"\n" -" If this option is used several times, the last specified file\n" -" name will be used.\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 counted from the beginning of the source file before it\n" -" 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 this option is used several times, the last one will be used.\n" -"\n" -" --create-dirs\n" -" When used in conjunction with the -o option, curl will create\n" -" the necessary local directory hierarchy as needed. This option\n" -" creates the dirs mentioned with the -o option, nothing else. If\n" -" the -o file name uses no dir or if the dirs it mentions already\n" -" exist, no dir will be created.\n" -"\n" -, stdout); - fputs( -" To create remote directories when using FTP or SFTP, try --ftp-\n" -" create-dirs.\n" -"\n" -" --crlf (FTP) Convert LF to CRLF in upload. Useful for MVS (OS/390).\n" -"\n" -" -d/--data <data>\n" -" (HTTP) Sends the specified data in a POST request to the HTTP\n" -" server, in the same way that a browser does when a user has\n" -" filled in an HTML form and presses the submit button. This will\n" -, stdout); - fputs( -" cause curl to pass the data to the server using the content-type\n" -" application/x-www-form-urlencoded. Compare to -F/--form.\n" -"\n" -" -d/--data is the same as --data-ascii. To post data purely\n" -" binary, you should instead use the --data-binary option. To URL\n" -" encode the value of a form field you may use --data-urlencode.\n" -"\n" -" If any of these options is used more than once on the same com-\n" -, stdout); - fputs( -" mand line, the data pieces specified will be merged together\n" -" with a separating &-letter. Thus, using '-d name=daniel -d\n" -" skill=lousy' would generate a post chunk that looks like\n" -" 'name=daniel&skill=lousy'.\n" -"\n" -" If you start the data with the letter @, the rest should be a\n" -" file name to read the data from, or - if you want curl to read\n" -, stdout); - fputs( -" the data from stdin. The contents of the file must already be\n" -" url-encoded. Multiple files can also be specified. Posting data\n" -" from a file named 'foobar' would thus be done with --data @foo-\n" -" bar.\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-ascii\n" -" does, except that newlines are preserved and conversions are\n" -" never done.\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-urlencode <data>\n" -" (HTTP) This posts data, similar to the other --data options with\n" -, stdout); - fputs( -" the exception that this performs URL encoding. (Added in 7.18.0)\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" -" on. Just be careful so that the content doesn't contain\n" -, stdout); - fputs( -" any = or @ letters, 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 = letter is not included in the data.\n" -"\n" -" name=content\n" -" This will make curl URL encode the content part and pass\n" -, stdout); - fputs( -" 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\n" -" (including any newlines), URL encode that data and pass\n" -" it on in the POST.\n" -"\n" -" name@filename\n" -" This will make curl load data from the given file\n" -, stdout); - fputs( -" (including any newlines), URL encode that data and pass\n" -" it on in the POST. The name part gets an equal sign\n" -" appended, resulting in name=urlencoded-file-content. Note\n" -" that the name is expected to be URL encoded already.\n" -"\n" -" --digest\n" -" (HTTP) Enables HTTP Digest authentication. This is a authentica-\n" -" tion that prevents the password from being sent over the wire in\n" -, stdout); - fputs( -" clear text. Use this in combination with the normal -u/--user\n" -" option to set user name and password. See also --ntlm, --negoti-\n" -" ate and --anyauth for related options.\n" -"\n" -" If this option is used several times, the following occurrences\n" -" make no difference.\n" -"\n" -" --disable-eprt\n" -" (FTP) Tell curl to disable the use of the EPRT and LPRT commands\n" -, stdout); - fputs( -" 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, may not work on all servers\n" -" but enable more functionality in a better way than the tradi-\n" -" tional PORT command.\n" -"\n" -, stdout); - fputs( -" Since curl 7.19.0, --eprt can be used to explicitly enable EPRT\n" -" again and --no-eprt is an alias for --disable-eprt.\n" -"\n" -" --disable-epsv\n" -" (FTP) Tell curl to disable the use of the EPSV command when\n" -" doing passive FTP transfers. Curl will normally always first\n" -" attempt to use EPSV before PASV, but with this option, it will\n" -" not try using EPSV.\n" -"\n" -, stdout); - fputs( -" Since curl 7.19.0, --epsv can be used to explicitly enable EPRT\n" -" again and --no-epsv is an alias for --disable-epsv.\n" -"\n" -" -D/--dump-header <file>\n" -" Write the protocol headers to the specified file.\n" -"\n" -" This option is handy to use when you want to store the headers\n" -" that a HTTP site sends to you. Cookies from the headers could\n" -" then be read in a second curl invoke by using the -b/--cookie\n" -, stdout); - fputs( -" option! The -c/--cookie-jar option is however a better way to\n" -" store cookies.\n" -"\n" -" When used on FTP, the ftp server response lines are considered\n" -" being \"headers\" and thus are saved there.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -e/--referer <URL>\n" -" (HTTP) Sends the \"Referer Page\" information to the HTTP server.\n" -, stdout); - fputs( -" This can also be set with the -H/--header flag of course. When\n" -" used with -L/--location you can append \";auto\" to the --referer\n" -" URL to make curl automatically set the previous URL when it fol-\n" -" lows a Location: header. The \";auto\" string can be used alone,\n" -" even if you don't set an initial --referer.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --engine <name>\n" -, stdout); - fputs( -" Select the OpenSSL crypto engine to use for cipher operations.\n" -" Use --engine list to print a list of build-time supported\n" -" engines. Note that not all (or none) of the engines may be\n" -" available at run-time.\n" -"\n" -" --environment\n" -" (RISC OS ONLY) Sets a range of environment variables, using the\n" -" names the -w option supports, to easier allow extraction of use-\n" -, stdout); - fputs( -" ful information after having run curl.\n" -"\n" -" --egd-file <file>\n" -" (SSL) Specify the path name to the Entropy Gathering Daemon\n" -" socket. The socket is used to seed the random engine for SSL\n" -" connections. See also the --random-file option.\n" -"\n" -" -E/--cert <certificate[:password]>\n" -" (SSL) Tells curl to use the specified certificate file when get-\n" -" ting a file with HTTPS or FTPS. The certificate must be in PEM\n" -, stdout); - fputs( -" format. If the optional password isn't specified, it will be\n" -" queried for on the terminal. Note that this option assumes a\n" -" \"certificate\" file that is the private key and the private cer-\n" -" tificate concatenated! See --cert and --key to specify them\n" -" independently.\n" -"\n" -" If curl is built against the NSS SSL library then this option\n" -, stdout); - fputs( -" tells curl the nickname of the certificate to use within the NSS\n" -" 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 this option is used several times, the last one will be used.\n" -"\n" -" --cert-type <type>\n" -" (SSL) Tells curl what certificate type the provided certificate\n" -, stdout); - fputs( -" is in. PEM, DER and ENG are recognized types. If not specified,\n" -" PEM is assumed.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --cacert <CA certificate>\n" -" (SSL) 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" -, stdout); - fputs( -" 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" -" if that 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\n" -, stdout); - fputs( -" directory as curl.exe, or in the Current Working Directory, or\n" -" in any folder along your PATH.\n" -"\n" -" If curl is built against the NSS SSL library then this option\n" -" tells curl the nickname of the CA 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" -, stdout); - fputs( -" nsspem.so) is available then PEM files may be loaded.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --capath <CA certificate directory>\n" -" (SSL) Tells curl to use the specified certificate directory to\n" -" verify the peer. The certificates must be in PEM format, and the\n" -" directory must have been processed using the c_rehash utility\n" -, stdout); - fputs( -" supplied with openssl. Using --capath can allow curl to make\n" -" SSL-connections much more efficiently than using --cacert if the\n" -" --cacert file contains many CA certificates.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -f/--fail\n" -" (HTTP) Fail silently (no output at all) on server errors. This\n" -" is mostly done like this to better enable scripts etc to better\n" -, stdout); - fputs( -" deal with failed attempts. In normal cases when a 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" -" prevent curl from outputting that and return error 22.\n" -"\n" -" This method is not fail-safe and there are occasions where non-\n" -" successful response codes will slip through, especially when\n" -, stdout); - fputs( -" authentication is involved (response codes 401 and 407).\n" -"\n" -" --ftp-account [data]\n" -" (FTP) When an FTP server asks for \"account data\" after user name\n" -" and password has been provided, this data is sent off using the\n" -" ACCT command. (Added in 7.13.0)\n" -"\n" -" If this option is used twice, the second will override the pre-\n" -" vious use.\n" -"\n" -" --ftp-create-dirs\n" -, stdout); - fputs( -" (FTP/SFTP) When an FTP or SFTP URL/operation uses a path that\n" -" doesn't currently exist on the server, the standard behavior of\n" -" curl is to fail. Using this option, curl will instead attempt to\n" -" create missing directories.\n" -"\n" -" --ftp-method [method]\n" -" (FTP) Control what method curl should use to reach a file on a\n" -" FTP(S) server. The method argument should be one of the follow-\n" -" ing alternatives:\n" -"\n" -, stdout); - fputs( -" multicwd\n" -" curl does a single CWD operation for each path part in\n" -" the given URL. For deep hierarchies this means very many\n" -" commands. This is how RFC1738 says it should be done.\n" -" This is the default but the slowest behavior.\n" -"\n" -" nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n" -" etc and give a full path to the server for all these com-\n" -, stdout); - fputs( -" mands. This is the fastest behavior.\n" -"\n" -" singlecwd\n" -" curl does one CWD with the full target directory and then\n" -" operates on the file \"normally\" (like in the multicwd\n" -" case). This is somewhat more standards compliant than\n" -" 'nocwd' but without the full penalty of 'multicwd'.\n" -"\n" -" --ftp-pasv\n" -" (FTP) Use PASV when transferring. PASV is the internal default\n" -, stdout); - fputs( -" behavior, but using this option can be used to override a previ-\n" -" ous --ftp-port option. (Added in 7.11.0)\n" -"\n" -" If this option is used several times, the following occurrences\n" -" make no difference. Undoing an enforced PASV really isn't doable\n" -" but you must then instead enforce the correct EPRT again.\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. (Added in 7.15.5)\n" -"\n" -" --ftp-skip-pasv-ip\n" -" (FTP) Tell curl to not use the IP address the server suggests in\n" -" its response to curl's PASV command when curl connects the data\n" -, stdout); - fputs( -" connection. Instead curl will re-use the same IP address it\n" -" already uses for the control connection. (Added in 7.14.2)\n" -"\n" -" This option has no effect if PORT, EPRT or EPSV is used instead\n" -" of PASV.\n" -"\n" -" --ftp-ssl\n" -" (FTP) Try to use SSL/TLS for the FTP connection. Reverts to a\n" -" non-secure connection if the server doesn't support SSL/TLS.\n" -, stdout); - fputs( -" See also --ftp-ssl-control and --ftp-ssl-reqd for different lev-\n" -" els of encryption required. (Added in 7.11.0)\n" -"\n" -" --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 doesn't sup-\n" -" port SSL/TLS. (Added in 7.16.0)\n" -"\n" -" --ftp-ssl-reqd\n" -, stdout); - fputs( -" (FTP) Require SSL/TLS for the FTP connection. Terminates the\n" -" connection if the server doesn't support SSL/TLS. (Added in\n" -" 7.15.5)\n" -"\n" -" --ftp-ssl-ccc\n" -" (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS\n" -" layer after authenticating. The rest of the control channel com-\n" -" munication will be unencrypted. This allows NAT routers to fol-\n" -, stdout); - fputs( -" low the FTP transaction. The default mode is passive. See --ftp-\n" -" ssl-ccc-mode for other modes. (Added in 7.16.1)\n" -"\n" -" --ftp-ssl-ccc-mode [active/passive]\n" -" (FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The\n" -" passive mode will not initiate the shutdown, but instead wait\n" -" for the server to do it, and will not reply to the shutdown from\n" -, stdout); - fputs( -" the server. The active mode initiates the shutdown and waits for\n" -" a reply from the server. (Added in 7.16.2)\n" -"\n" -" -F/--form <name=content>\n" -" (HTTP) This lets curl emulate a filled in form in which a user\n" -" has pressed the submit button. This causes curl to POST data\n" -" using the Content-Type multipart/form-data according to RFC1867.\n" -" This enables uploading of binary files etc. To force the 'con-\n" -, stdout); - fputs( -" 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 letter <. The difference between @ and < is then that @\n" -" makes a file get attached in the post as a file upload, while\n" -" the < makes a text field and just get the contents for that text\n" -" field from a file.\n" -"\n" -, stdout); - fputs( -" Example, to send your password file to the server, where 'pass-\n" -" word' is the name of the form-field to which /etc/passwd will be\n" -" the input:\n" -"\n" -" curl -F password=@/etc/passwd www.mypasswords.com\n" -"\n" -" To read the file's content from stdin instead of a file, use -\n" -" where the file name should've been. This goes for both @ and <\n" -" constructs.\n" -"\n" -, stdout); - fputs( -" 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\" url.com\n" -"\n" -" or\n" -"\n" -" curl -F \"name=daniel;type=text/foo\" url.com\n" -"\n" -" You can also explicitly change the name field of an file upload\n" -" part by setting filename=, like this:\n" -"\n" -" curl -F \"file=@localfile;filename=nameinpost\" url.com\n" -"\n" -, stdout); - fputs( -" See further examples and details in the MANUAL.\n" -"\n" -" This option can be used multiple times.\n" -"\n" -" --form-string <name=string>\n" -" (HTTP) Similar to --form except that the value string for the\n" -" named parameter is used literally. Leading '@' and '<' charac-\n" -" ters, and the ';type=' string in the value have no special mean-\n" -" ing. Use this in preference to --form if there's any possibility\n" -, stdout); - fputs( -" that the string value may accidentally trigger the '@' or '<'\n" -" features of --form.\n" -"\n" -" -g/--globoff\n" -" 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 them being interpreted by curl itself. Note that\n" -" these letters are not normal legal URL contents but they should\n" -, stdout); - fputs( -" be encoded according to the URI standard.\n" -"\n" -" -G/--get\n" -" When used, this option will make all data specified with\n" -" -d/--data or --data-binary to be used in a HTTP GET request\n" -" instead of the POST request that otherwise would be used. The\n" -" data will be appended to the URL with a '?' separator.\n" -"\n" -" If used in combination with -I, the POST data will instead be\n" -, stdout); - fputs( -" appended to the URL with a HEAD request.\n" -"\n" -" If this option is used several times, the following occurrences\n" -" make no difference. This is because undoing a GET doesn't make\n" -" sense, but you should then instead enforce the alternative\n" -" method you prefer.\n" -"\n" -" -h/--help\n" -" Usage help.\n" -"\n" -" -H/--header <header>\n" -" (HTTP) Extra header to use when getting a web page. You may\n" -, stdout); - fputs( -" specify any number of extra headers. Note that if you should add\n" -" a custom header that has the same name as one of the internal\n" -" ones curl would use, your externally set header will be used\n" -" instead of the internal one. This allows you to make even trick-\n" -" ier stuff than curl would normally do. You should not replace\n" -" internally set headers without knowing perfectly well what\n" -, stdout); - fputs( -" you're doing. Remove an internal header by giving a replacement\n" -" without content on the right side of the colon, as in: -H\n" -" \"Host:\".\n" -"\n" -" curl will make sure that each header you add/replace get sent\n" -" with the proper end of line marker, you should thus not add that\n" -" as a part of the header content: do not add newlines or carriage\n" -" returns they will only mess things up for you.\n" -"\n" -, stdout); - fputs( -" See also the -A/--user-agent and -e/--referer options.\n" -"\n" -" This option can be used multiple times to add/replace/remove\n" -" multiple headers.\n" -"\n" -" --hostpubmd5 <md5>\n" -" Pass a string containing 32 hexadecimal digits. The string\n" -" should be the 128 bit MD5 checksum of the remote host's public\n" -" key, curl will refuse the connection with the host unless the\n" -, stdout); - fputs( -" md5sums match. This option is only for SCP and SFTP transfers.\n" -" (Added in 7.17.1)\n" -"\n" -" --ignore-content-length\n" -" (HTTP) Ignore the Content-Length header. This is particularly\n" -" useful for servers running Apache 1.x, which will report incor-\n" -" rect Content-Length for files larger than 2 gigabytes.\n" -"\n" -" -i/--include\n" -" (HTTP) Include the HTTP-header in the output. The HTTP-header\n" -, stdout); - fputs( -" includes things like server-name, date of the document, HTTP-\n" -" version and more...\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" -" curl --interface eth0:1 http://www.netscape.com/\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -I/--head\n" -, stdout); - fputs( -" (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature\n" -" the command HEAD which this uses to get nothing but the header\n" -" of a document. When used on a FTP or FILE file, curl displays\n" -" the file size and last modification time only.\n" -"\n" -" -j/--junk-session-cookies\n" -" (HTTP) When curl is told to read cookies from a given file, this\n" -" option will make it discard all \"session cookies\". This will\n" -, stdout); - fputs( -" basically have the same effect as if a new session is started.\n" -" Typical browsers always discard session cookies when they're\n" -" closed down.\n" -"\n" -" -k/--insecure\n" -" (SSL) This option explicitly allows curl to perform \"insecure\"\n" -" SSL connections and transfers. All SSL connections are attempted\n" -" to be made secure by using the CA certificate bundle installed\n" -, stdout); - fputs( -" by default. This makes all connections considered \"insecure\" to\n" -" fail unless -k/--insecure is used.\n" -"\n" -" See this online resource for further details:\n" -" http://curl.haxx.se/docs/sslcerts.html\n" -"\n" -" --keepalive-time <seconds>\n" -" This option sets the time a connection needs to remain idle\n" -" before sending keepalive probes and the time between individual\n" -, stdout); - fputs( -" keepalive probes. It is currently effective on operating systems\n" -" offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options\n" -" (meaning Linux, recent AIX, HP-UX and more). This option has no\n" -" effect if --no-keepalive is used. (Added in 7.18.0)\n" -"\n" -" If this option is used multiple times, the last occurrence sets\n" -" the amount.\n" -" --key <key>\n" -, stdout); - fputs( -" (SSL/SSH) Private key file name. Allows you to provide your pri-\n" -" vate key in this separate file.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --key-type <type>\n" -" (SSL) 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 this option is used several times, the last one will be used.\n" -"\n" -" --krb <level>\n" -" (FTP) Enable Kerberos authentication and use. The level must be\n" -" entered and should be one of 'clear', 'safe', 'confidential' or\n" -" 'private'. Should you use a level that is not one of these,\n" -" 'private' will instead be used.\n" -"\n" -" This option requires that the library was built with kerberos4\n" -, stdout); - fputs( -" or GSSAPI (GSS-Negotiate) support. This is not very common. Use\n" -" -V/--version to see if your curl supports it.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -K/--config <config file>\n" -" Specify which config file to read curl arguments from. The con-\n" -" fig file is a text file in which command line arguments can be\n" -" written which then will be used as if they were written on the\n" -, stdout); - fputs( -" actual command line. Options and their parameters must be speci-\n" -" fied on the same config file line, separated by white space,\n" -" colon, the equals sign or any combination thereof (however, the\n" -" preferred separator is the equals sign). If the parameter is to\n" -" contain white spaces, the parameter must be enclosed within\n" -" quotes. Within double quotes, the following escape sequences are\n" -, stdout); - fputs( -" available: \\\\, \\\", \\t, \\n, \\r and \\v. A backlash preceding any\n" -" other letter is ignored. If the first column of a config line\n" -" is a '#' character, the rest of the line will be treated as a\n" -" comment. Only write one option per physical line in the config\n" -" file.\n" -"\n" -" Specify the filename to -K/--config as '-' to make curl read the\n" -" file from stdin.\n" -"\n" -, stdout); - fputs( -" Note that to be able to specify a URL in the config file, you\n" -" need to specify it using the --url option, and not by simply\n" -" writing the URL on its own line. So, it could look similar to\n" -" this:\n" -"\n" -" url = \"http://curl.haxx.se/docs/\"\n" -"\n" -" Long option names can optionally be given in the config file\n" -" without the initial double dashes.\n" -"\n" -, stdout); - fputs( -" When curl is invoked, it always (unless -q is used) checks for a\n" -" default config file and uses it if found. The default config\n" -" file is checked for in the following places in this order:\n" -"\n" -" 1) curl tries to find the \"home dir\": It first checks for the\n" -" CURL_HOME and then the HOME environment variables. Failing that,\n" -" it uses getpwuid() on unix-like systems (which returns the home\n" -, stdout); - fputs( -" dir given the current user in your system). On Windows, it then\n" -" checks for the APPDATA variable, or as a last resort the '%USER-\n" -" PROFILE%0lication Data'.\n" -"\n" -" 2) On windows, if there is no _curlrc file in the home dir, it\n" -" checks for one in the same dir the executable curl is placed. On\n" -" unix-like systems, it will simply try to load .curlrc from the\n" -" determined home dir.\n" -"\n" -, stdout); - fputs( -" # --- Example file ---\n" -" # this is a comment\n" -" url = \"curl.haxx.se\"\n" -" output = \"curlhere.html\"\n" -" user-agent = \"superagent/1.0\"\n" -"\n" -" # and fetch another URL too\n" -" url = \"curl.haxx.se/docs/manpage.html\"\n" -" -O\n" -" referer = \"http://nowhereatall.com/\"\n" -" # --- End of example file ---\n" -"\n" -" This option can be used multiple times to load multiple config\n" -" files.\n" -"\n" -, stdout); - fputs( -" --libcurl <file>\n" -" Append this option to any ordinary curl command line, and you\n" -" will get a libcurl-using source code written to the file that\n" -" does the equivalent operation of what your command line opera-\n" -" tion does!\n" -"\n" -" NOTE: this does not properly support -F and the sending of mul-\n" -" tipart formposts, so in those cases the output program will be\n" -, stdout); - fputs( -" missing necessary calls to curl_formadd(3), and possibly more.\n" -"\n" -" If this option is used several times, the last given file name\n" -" will be used. (Added in 7.16.1)\n" -"\n" -" --limit-rate <speed>\n" -" Specify the maximum transfer rate you want curl to use. This\n" -" feature is useful if you have a limited pipe and you'd like your\n" -" transfer not use your entire bandwidth.\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. Examples: 200K, 3m and 1G.\n" -"\n" -" The given rate is the average speed, counted during the entire\n" -" transfer. It means that curl might use higher transfer speeds in\n" -, stdout); - fputs( -" short bursts, but over time it uses no more than the given rate.\n" -" If you are also using the -Y/--speed-limit option, that option\n" -" will take precedence and might cripple the rate-limiting\n" -" slightly, to help keeping the speed-limit logic working.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -l/--list-only\n" -" (FTP) When listing an FTP directory, this switch forces a name-\n" -, stdout); - fputs( -" only view. Especially useful if you want to machine-parse the\n" -" contents of an FTP directory since the normal directory view\n" -" doesn't use a standard look or format.\n" -"\n" -" This option causes an FTP NLST command to be sent. Some FTP\n" -" servers list only files in their response to NLST; they do not\n" -" include subdirectories and symbolic links.\n" -"\n" -" --local-port <num>[-num]\n" -, stdout); - fputs( -" Set a preferred number or range of local port numbers to use for\n" -" the connection(s). Note that port numbers by nature is a scarce\n" -" resource that will be busy at times so setting this range to\n" -" something too narrow might cause unnecessary connection setup\n" -" failures. (Added in 7.15.2)\n" -"\n" -" -L/--location\n" -" (HTTP/HTTPS) If the server reports that the requested page has\n" -, stdout); - fputs( -" moved to a different location (indicated with a Location: header\n" -" and a 3XX response code) this option will make curl redo the\n" -" request on the new place. If used together with -i/--include or\n" -" -I/--head, headers from all requested pages will be shown. When\n" -" authentication is used, curl only sends its credentials to the\n" -" initial host. If a redirect takes curl to a different host, it\n" -, stdout); - fputs( -" won't be able to intercept the user+password. See also --loca-\n" -" tion-trusted on how to change this. You can limit the amount of\n" -" redirects to follow by using the --max-redirs option.\n" -"\n" -" When curl follows a redirect and the request is not a plain GET\n" -" (for example POST or PUT), it will do the following request with\n" -" a GET if the HTTP response was 301, 302, or 303. If the response\n" -, stdout); - fputs( -" code was any other 3xx code, curl will re-send the following\n" -" request using the same unmodified method.\n" -"\n" -" --location-trusted\n" -" (HTTP/HTTPS) Like -L/--location, but will allow sending the name\n" -" + password to all hosts that the site may redirect to. This may\n" -" or may not introduce a security breach if the site redirects you\n" -" do a site to which you'll send your authentication info (which\n" -, stdout); - fputs( -" is plaintext in the case of HTTP Basic authentication).\n" -"\n" -" --max-filesize <bytes>\n" -" Specify the maximum size (in bytes) of a file to download. If\n" -" the file requested is larger than this value, the transfer will\n" -" not start and curl will return with exit code 63.\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" -, stdout); - fputs( -" fer ends up being larger than this given limit. This concerns\n" -" both FTP and HTTP transfers.\n" -"\n" -" -m/--max-time <seconds>\n" -" Maximum time in seconds that you allow the whole operation to\n" -" take. This is useful for preventing your batch jobs from hang-\n" -" ing for hours due to slow networks or links going down. See\n" -" also the --connect-timeout option.\n" -"\n" -, stdout); - fputs( -" If this option is used several times, the last one will be used.\n" -"\n" -" -M/--manual\n" -" Manual. Display the huge help text.\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" -" cally used for ftp on unix. If used with http, curl will enable\n" -" user authentication. See netrc(4) or ftp(1) for details on the\n" -, stdout); - fputs( -" file format. Curl will not complain if that file hasn't the\n" -" right permissions (it should not be world nor group readable).\n" -" The environment variable \"HOME\" is used to find the home direc-\n" -" tory.\n" -"\n" -" A quick and very simple example of how to setup a .netrc to\n" -" allow curl to ftp to the machine host.domain.com with user name\n" -" 'myself' and password 'secret' should look similar to:\n" -"\n" -, stdout); - fputs( -" machine host.domain.com login myself password secret\n" -"\n" -" --netrc-optional\n" -" Very similar to --netrc, but this option makes the .netrc usage\n" -" optional and not mandatory as the --netrc does.\n" -"\n" -" --negotiate\n" -" (HTTP) Enables GSS-Negotiate authentication. The GSS-Negotiate\n" -" method was designed by Microsoft and is used in their web appli-\n" -" cations. It is primarily meant as a support for Kerberos5\n" -, stdout); - fputs( -" authentication but may be also used along with another authenti-\n" -" cation methods. For more information see IETF draft draft-\n" -" brezak-spnego-http-04.txt.\n" -"\n" -" If you want to enable Negotiate for your proxy authentication,\n" -" then use --proxy-negotiate.\n" -"\n" -" This option requires that the library was built with GSSAPI sup-\n" -" port. This is not very common. Use -V/--version to see if your\n" -, stdout); - fputs( -" version supports GSS-Negotiate.\n" -"\n" -" When using this option, you must also provide a fake -u/--user\n" -" option to activate the authentication code properly. Sending a\n" -" '-u :' is enough as the user name and password from the -u\n" -" option aren't actually used.\n" -"\n" -" If this option is used several times, the following occurrences\n" -" make no difference.\n" -"\n" -" -N/--no-buffer\n" -, stdout); - fputs( -" 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" -" Note that this is the negated option name documented. You can\n" -" thus use --buffer to enforce the buffering.\n" -"\n" -, stdout); - fputs( -" --no-keepalive\n" -" Disables the use of keepalive messages on the TCP connection, as\n" -" by default curl enables them.\n" -"\n" -" Note that this is the negated option name documented. You can\n" -" thus use --keepalive to enforce keepalive.\n" -"\n" -" --no-sessionid\n" -" (SSL) Disable curl's use of SSL session-ID caching. By default\n" -" all transfers are done using the cache. Note that while nothing\n" -, stdout); - fputs( -" ever should get hurt by attempting to reuse SSL session-IDs,\n" -" there seem to be broken SSL implementations in the wild that may\n" -" require you to disable this in order for you to succeed. (Added\n" -" in 7.16.0)\n" -"\n" -" Note that this is the negated option name documented. You can\n" -" thus use --sessionid to enforce session-ID caching.\n" -"\n" -" --ntlm (HTTP) Enables NTLM authentication. The NTLM authentication\n" -, stdout); - fputs( -" method was designed by Microsoft and is used by IIS web servers.\n" -" It is a proprietary protocol, reversed engineered by clever peo-\n" -" ple and implemented in curl based on their efforts. This kind of\n" -" behavior should not be endorsed, you should encourage everyone\n" -" who uses NTLM to switch to a public and documented authentica-\n" -" tion method instead. Such as Digest.\n" -"\n" -, stdout); - fputs( -" If you want to enable NTLM for your proxy authentication, then\n" -" use --proxy-ntlm.\n" -"\n" -" This option requires that the library was built with SSL sup-\n" -" port. Use -V/--version to see if your curl supports NTLM.\n" -"\n" -" If this option is used several times, the following occurrences\n" -" make no difference.\n" -"\n" -" -o/--output <file>\n" -" Write output to <file> instead of stdout. If you are using {} or\n" -, stdout); - fputs( -" [] to fetch multiple documents, you can use '#' followed by a\n" -" number in the <file> specifier. That variable will be replaced\n" -" with the current string for the URL being fetched. Like in:\n" -"\n" -" curl http://{one,two}.site.com -o \"file_#1.txt\"\n" -"\n" -" or use several variables like:\n" -"\n" -" curl http://{site,host}.host[1-5].com -o \"#1_#2\"\n" -"\n" -" You may use this option as many times as you have number of\n" -, stdout); - fputs( -" URLs.\n" -"\n" -" See also the --create-dirs option to create the local directo-\n" -" ries dynamically.\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 remote file name to use for saving is extracted from the\n" -" given URL, nothing else.\n" -"\n" -, stdout); - fputs( -" You may use this option as many times as you have number of\n" -" URLs.\n" -"\n" -" --remote-name-all\n" -" This option changes the default action for all given URLs to be\n" -" dealt with as if -O/--remote-name were used for each one. So if\n" -" you want to disable that for a specific URL after --remote-name-\n" -" all has been used, you must use \"-o -\" or --no-remote-name.\n" -" (Added in 7.19.0)\n" -"\n" -" --pass <phrase>\n" -, stdout); - fputs( -" (SSL/SSH) Pass phrase for the private key\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --post301\n" -" Tells curl to respect RFC 2616/10.3.2 and not convert POST\n" -" requests into GET requests when following a 301 redirection. The\n" -" non-RFC behaviour is ubiquitous in web browsers, so curl does\n" -" the conversion by default to maintain consistency. However, a\n" -, stdout); - fputs( -" server may requires a POST to remain a POST after such a redi-\n" -" rection. This option is meaningful only when using -L/--location\n" -" (Added in 7.17.1)\n" -"\n" -" --proxy-anyauth\n" -" Tells curl to pick a suitable authentication method when commu-\n" -" nicating with the given proxy. This might cause an extra\n" -" request/response round-trip. (Added in 7.13.2)\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" -" --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" -, stdout); - fputs( -" --proxy-negotiate\n" -" Tells curl to use HTTP Negotiate authentication when communicat-\n" -" ing with the given proxy. Use --negotiate for enabling HTTP\n" -" Negotiate with a remote host. (Added in 7.17.1)\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" -" -p/--proxytunnel\n" -, stdout); - fputs( -" When an HTTP proxy is used (-x/--proxy), this option will cause\n" -" non-HTTP protocols to attempt to tunnel through the proxy\n" -" instead of merely using it to do HTTP-like operations. The tun-\n" -" nel approach is made with the HTTP proxy CONNECT request and\n" -" requires that the proxy allows direct connect to the remote port\n" -" number curl wants to tunnel through to.\n" -"\n" -" --pubkey <key>\n" -, stdout); - fputs( -" (SSH) Public key file name. Allows you to provide your public\n" -" key in this separate file.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -P/--ftp-port <address>\n" -" (FTP) Reverses the initiator/listener roles when connecting with\n" -" ftp. This switch makes Curl use the PORT command instead of\n" -" PASV. In practise, PORT tells the server to connect to the\n" -, stdout); - fputs( -" client's specified address and port, while PASV asks the server\n" -" for an ip address and port to connect to. <address> should be\n" -" one of:\n" -"\n" -" interface\n" -" i.e \"eth0\" to specify which interface's IP address you\n" -" want to use (Unix only)\n" -"\n" -" IP address\n" -" i.e \"192.168.10.1\" to specify exact IP number\n" -"\n" -" host name\n" -, stdout); - fputs( -" i.e \"my.host.domain\" to specify machine\n" -"\n" -" - make curl pick the same IP address that is already used\n" -" for the control connection\n" -"\n" -" If this option is used several times, the last one will be used. Dis-\n" -" able 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" -, stdout); - fputs( -" -q If used as the first parameter on the command line, the curlrc\n" -" config file will not be read and used. See the -K/--config for\n" -" details on the default config file search path.\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 is taking\n" -" place (just after the initial PWD command in an FTP transfer, to\n" -, stdout); - fputs( -" be exact). To make commands take place after a successful trans-\n" -" fer, prefix them with a dash '-'. To make commands get sent\n" -" after libcurl has changed working directory, just before the\n" -" transfer command(s), prefix the command with '+' (this is only\n" -" supported for FTP). You may specify any number of commands. If\n" -" the server returns failure for one of the commands, the entire\n" -, stdout); - fputs( -" operation will be aborted. You must send syntactically correct\n" -" FTP commands as RFC959 defines to FTP servers, or one of the\n" -" commands listed below to SFTP servers. This option can be used\n" -" multiple times.\n" -"\n" -" SFTP is a binary protocol. Unlike for FTP, libcurl interprets\n" -" SFTP quote commands before sending them to the server. Follow-\n" -" ing is the list of all supported SFTP quote commands:\n" -"\n" -, stdout); - fputs( -" 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" -" 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" -, stdout); - fputs( -" 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\n" -" operand. 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" -, stdout); - fputs( -" mkdir directory_name\n" -" The mkdir command creates the directory named by the\n" -" directory_name operand.\n" -"\n" -" pwd The pwd command returns the absolute pathname of the cur-\n" -" rent working directory.\n" -"\n" -" rename source target\n" -" The rename command renames the file or directory named by\n" -" the source operand to the destination path named by the\n" -, stdout); - fputs( -" target operand.\n" -"\n" -" rm file\n" -" The rm command removes the file specified by the file\n" -" operand.\n" -"\n" -" rmdir directory\n" -" The rmdir command removes the directory entry specified\n" -" by the directory operand, provided it is empty.\n" -"\n" -" symlink source_file target_file\n" -" See ln.\n" -"\n" -" --random-file <file>\n" -, stdout); - fputs( -" (SSL) Specify the path name to file containing what will be con-\n" -" sidered as random data. The data is used to seed the random\n" -" engine for SSL connections. See also the --egd-file option.\n" -"\n" -" -r/--range <range>\n" -" (HTTP/FTP/FILE) Retrieve a byte range (i.e a partial document)\n" -" from a HTTP/1.1, FTP server or a local FILE. Ranges can be spec-\n" -" ified in a number of ways.\n" -"\n" -, stdout); - fputs( -" 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" -" 0-0,-1 specifies the first and last byte only(*)(H)\n" -"\n" -" 500-700,600-799\n" -" specifies 300 bytes from offset 500(H)\n" -"\n" -" 100-199,500-599\n" -, stdout); - fputs( -" specifies two separate 100 bytes ranges(*)(H)\n" -"\n" -" (*) = NOTE that this will cause the server to reply with a multipart\n" -" response!\n" -"\n" -" Only digit characters (0-9) are valid in 'start' and 'stop' of range\n" -" syntax 'start-stop'. If a non-digit character is given in the range,\n" -" the server's response will be indeterminable, depending on different\n" -" server's configuration.\n" -"\n" -, stdout); - fputs( -" You should also be aware that many HTTP/1.1 servers do not have this\n" -" feature enabled, so that when you attempt to get a range, you'll\n" -" instead get the whole document.\n" -"\n" -" FTP range downloads only support the simple syntax 'start-stop'\n" -" (optionally with one of the numbers omitted). It depends on the non-RFC\n" -" command SIZE.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -, stdout); - fputs( -" --raw When used, it disables all internal HTTP decoding of content or\n" -" transfer encodings and instead makes them passed on unaltered,\n" -" raw. (Added in 7.16.2)\n" -"\n" -" -R/--remote-time\n" -" When used, this will make libcurl attempt to figure out the\n" -" timestamp of the remote file, and if that is available make the\n" -" local file get that same timestamp.\n" -"\n" -" --retry <num>\n" -, stdout); - fputs( -" 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 5xx\n" -" response code or an HTTP 5xx response code.\n" -"\n" -" When curl is about to retry a transfer, it will first wait one\n" -, stdout); - fputs( -" 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" -" --retry-max-time to limit the total time allowed for retries.\n" -" (Added in 7.12.3)\n" -"\n" -, stdout); - fputs( -" If this option is used multiple times, the last occurrence\n" -" decide the amount.\n" -"\n" -" --retry-delay <seconds>\n" -" Make curl sleep this amount of time between each retry when a\n" -" transfer has failed with a transient error (it changes the\n" -" default 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. (Added in\n" -" 7.12.3)\n" -"\n" -" If this option is used multiple times, the last occurrence\n" -" decide the amount.\n" -"\n" -" --retry-max-time <seconds>\n" -" The retry timer is reset before the first transfer attempt.\n" -" Retries will be done as usual (see --retry) as long as the timer\n" -" hasn't reached this given limit. Notice that if the timer hasn't\n" -, stdout); - fputs( -" reached the limit, the request will be made and while perform-\n" -" ing, it may take longer than this given time period. To limit a\n" -" single request's maximum time, use -m/--max-time. Set this\n" -" option to zero to not timeout retries. (Added in 7.12.3)\n" -"\n" -" If this option is used multiple times, the last occurrence\n" -" decide the amount.\n" -"\n" -" -s/--silent\n" -, stdout); - fputs( -" Silent mode. Don't show progress meter or error messages. Makes\n" -" Curl mute.\n" -"\n" -" -S/--show-error\n" -" When used with -s it makes curl show error message if it fails.\n" -"\n" -" --socks4 <host[:port]>\n" -" Use the specified SOCKS4 proxy. If the port number is not speci-\n" -" fied, it is assumed at port 1080. (Added in 7.15.2)\n" -"\n" -" This option overrides any previous use of -x/--proxy, as they\n" -, stdout); - fputs( -" are mutually exclusive.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --socks4a <host[:port]>\n" -" Use the specified SOCKS4a proxy. If the port number is not spec-\n" -" ified, it is assumed at port 1080. (Added in 7.18.0)\n" -"\n" -" This option overrides any previous use of -x/--proxy, as they\n" -" are mutually exclusive.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -, stdout); - fputs( -" --socks5-hostname <host[:port]>\n" -" Use the specified SOCKS5 proxy (and let the proxy resolve the\n" -" host name). If the port number is not specified, it is assumed\n" -" at port 1080. (Added in 7.18.0)\n" -"\n" -" This option overrides any previous use of -x/--proxy, as they\n" -" are mutually exclusive.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -, stdout); - fputs( -" (This option was previously wrongly documented and used as\n" -" --socks without the number appended.)\n" -"\n" -" --socks5 <host[:port]>\n" -" Use the specified SOCKS5 proxy - but resolve the host name\n" -" locally. If the port number is not specified, it is assumed at\n" -" port 1080.\n" -"\n" -" This option overrides any previous use of -x/--proxy, as they\n" -" are mutually exclusive.\n" -"\n" -, stdout); - fputs( -" If this option is used several times, the last one will be used.\n" -" (This option was previously wrongly documented and used as\n" -" --socks without the number appended.)\n" -"\n" -" --stderr <file>\n" -" Redirect all writes to stderr to the specified file instead. If\n" -" the file name is a plain '-', it is instead written to stdout.\n" -" This option has no point when you're using a shell with decent\n" -, stdout); - fputs( -" redirecting capabilities.\n" -"\n" -" If this option is used several times, the last one will be used.\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. (Added in 7.11.2)\n" -"\n" -" -t/--telnet-option <OPT=val>\n" -" Pass options to the telnet protocol. Supported options are:\n" -"\n" -" TTYPE=<term> Sets the terminal type.\n" -"\n" -, stdout); - fputs( -" XDISPLOC=<X display> Sets the X display location.\n" -"\n" -" NEW_ENV=<var,val> Sets an environment variable.\n" -"\n" -" -T/--upload-file <file>\n" -" This transfers the specified local file to the remote URL. If\n" -" there is no file part in the specified URL, Curl will append the\n" -" local file name. NOTE that you must use a trailing / on the last\n" -" directory to really prove to Curl that there is no file name or\n" -, stdout); - fputs( -" 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 a http(s) server, the PUT command will\n" -" be used.\n" -"\n" -" Use the file name \"-\" (a single dash) to use stdin instead of a\n" -" given file.\n" -"\n" -" You can specify one -T for each URL on the command line. Each -T\n" -, stdout); - fputs( -" + URL pair specifies what to upload and to where. curl also sup-\n" -" ports \"globbing\" of the -T argument, meaning that you can upload\n" -" multiple files to a single URL by using the same URL globbing\n" -" style supported in the URL, like this:\n" -"\n" -" curl -T \"{file1,file2}\" http://www.uploadtothissite.com\n" -"\n" -" or even\n" -"\n" -" curl -T \"img[1-1000].png\" ftp://ftp.picturemania.com/upload/\n" -"\n" -" --trace <file>\n" -, stdout); - fputs( -" Enables a full trace dump of all incoming and outgoing data,\n" -" including descriptive information, to the given output file. Use\n" -" \"-\" as filename to have the output sent to stdout.\n" -"\n" -" This option overrides previous uses of -v/--verbose or --trace-\n" -" ascii.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --trace-ascii <file>\n" -, stdout); - fputs( -" Enables a full trace dump of all incoming and outgoing data,\n" -" including descriptive information, to the given output file. Use\n" -" \"-\" as filename to have the output sent to stdout.\n" -"\n" -" This is very similar to --trace, but leaves out the hex part and\n" -" only shows the ASCII part of the dump. It makes smaller output\n" -" that might be easier to read for untrained humans.\n" -"\n" -, stdout); - fputs( -" This option overrides previous uses of -v/--verbose or --trace.\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --trace-time\n" -" Prepends a time stamp to each trace or verbose line that curl\n" -" displays. (Added in 7.14.0)\n" -"\n" -" -u/--user <user:password>\n" -" Specify user and password to use for server authentication.\n" -" Overrides -n/--netrc and --netrc-optional.\n" -"\n" -, stdout); - fputs( -" If you just give the user name (without entering a colon) curl\n" -" will prompt for a password.\n" -"\n" -" If you use an SSPI-enabled curl binary and do NTLM authentica-\n" -" tion, you can force curl to pick up the user name and password\n" -" from your environment by simply specifying a single colon with\n" -" this option: \"-u :\".\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -, stdout); - fputs( -" -U/--proxy-user <user:password>\n" -" Specify user and password to use for proxy authentication.\n" -"\n" -" If you use an SSPI-enabled curl binary and do NTLM authentica-\n" -" tion, you can force curl to pick up the user name and password\n" -" from your environment by simply specifying a single colon with\n" -" this option: \"-U :\".\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" --url <URL>\n" -, stdout); - fputs( -" Specify a URL to fetch. This option is mostly handy when you\n" -" want to specify URL(s) in a config file.\n" -"\n" -" This option may be used any number of times. To control where\n" -" this URL is written, use the -o/--output or the -O/--remote-name\n" -" options.\n" -"\n" -" -v/--verbose\n" -" Makes the fetching more verbose/talkative. Mostly usable for\n" -" debugging. Lines starting with '>' means \"header data\" sent by\n" -, stdout); - fputs( -" curl, '<' means \"header data\" received by curl that is hidden in\n" -" normal cases and lines starting with '*' means additional info\n" -" provided by curl.\n" -"\n" -" Note that if you only want HTTP headers in the output,\n" -" -i/--include might be option you're looking for.\n" -"\n" -" If you think this option still doesn't give you enough details,\n" -" consider using --trace or --trace-ascii instead.\n" -"\n" -, stdout); - fputs( -" This option overrides previous uses of --trace-ascii or --trace.\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" -" IPv6 You can use IPv6 with this.\n" -"\n" -" krb4 Krb4 for ftp is supported.\n" -"\n" -" SSL HTTPS and FTPS are supported.\n" -"\n" -" libz Automatic decompression of compressed files over HTTP is\n" -" supported.\n" -"\n" -" NTLM NTLM authentication is supported.\n" -"\n" -" GSS-Negotiate\n" -, stdout); - fputs( -" Negotiate authentication and krb5 for ftp is supported.\n" -"\n" -" Debug This curl uses a libcurl built with Debug. This enables\n" -" more error-tracking and memory debugging etc. For curl-\n" -" developers only!\n" -"\n" -" AsynchDNS\n" -" This curl uses asynchronous name resolves.\n" -"\n" -" SPNEGO SPNEGO Negotiate authentication is supported.\n" -"\n" -" Largefile\n" -, stdout); - fputs( -" This curl supports transfers of large files, files larger\n" -" than 2GB.\n" -"\n" -" IDN This curl supports IDN - international domain names.\n" -"\n" -" SSPI SSPI is supported. If you use NTLM and set a blank user\n" -" name, curl will authenticate with your current user and\n" -" password.\n" -"\n" -" -w/--write-out <format>\n" -" Defines what to display on stdout after a completed and success-\n" -, stdout); - fputs( -" ful operation. The format is a string that may contain plain\n" -" text mixed with any number of variables. The string can be spec-\n" -" ified as \"string\", to get read from a particular file you spec-\n" -" ify it \"@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 like %{variable_name} and to output\n" -" a normal % you just write them like %%. You can output a newline\n" -" by using \\n, a carriage return with \\r and a tab space with \\t.\n" -" NOTE: The %-letter is a special letter in the win32-environment,\n" -" where all occurrences of % must be doubled when using this\n" -" option.\n" -"\n" -, stdout); - fputs( -" Available variables are at this point:\n" -"\n" -" url_effective The URL that was fetched last. This is mostly\n" -" meaningful if you've told curl to follow loca-\n" -" tion: headers.\n" -"\n" -" http_code The numerical response code that was found in the\n" -" last retrieved HTTP(S) or FTP(s) transfer. In\n" -" 7.18.2 the alias response_code was added to show\n" -, stdout); - fputs( -" the same info.\n" -"\n" -" http_connect The numerical code that was found in the last\n" -" response (from a proxy) to a curl CONNECT\n" -" request. (Added in 7.12.4)\n" -"\n" -" time_total The total time, in seconds, that the full opera-\n" -" tion lasted. The time will be displayed with mil-\n" -" lisecond resolution.\n" -"\n" -" time_namelookup\n" -, stdout); - fputs( -" The time, in seconds, it took from the start\n" -" until the name resolving was completed.\n" -"\n" -" time_connect The time, in seconds, it took from the start\n" -" until the TCP connect to the remote host (or\n" -" proxy) was completed.\n" -"\n" -" time_appconnect\n" -" The time, in seconds, it took from the start\n" -, stdout); - fputs( -" until the SSL/SSH/etc connect/handshake to the\n" -" remote host was completed. (Added in 7.19.0)\n" -"\n" -" time_pretransfer\n" -" The time, in seconds, it took from the start\n" -" until the file transfer is just about to begin.\n" -" This includes all pre-transfer commands and nego-\n" -, stdout); - fputs( -" 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" -" steps include name lookup, connect, pretransfer\n" -" and transfer before final transaction was\n" -" started. time_redirect shows the complete execu-\n" -, stdout); - fputs( -" tion time for multiple redirections. (Added in\n" -" 7.12.3)\n" -"\n" -" time_starttransfer\n" -" The time, in seconds, it took from the start\n" -" until the first byte is just about to be trans-\n" -" ferred. This includes time_pretransfer and also\n" -" the time the server needs to calculate the\n" -, stdout); - fputs( -" result.\n" -"\n" -" size_download The total amount of bytes that were downloaded.\n" -"\n" -" size_upload The total amount of bytes that were uploaded.\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( -" speed_download The average download speed that curl measured for\n" -" the complete download.\n" -"\n" -" speed_upload The average upload speed that curl measured for\n" -" the complete upload.\n" -"\n" -" content_type The Content-Type of the requested document, if\n" -" there was any.\n" -"\n" -" num_connects Number of new connects made in the recent trans-\n" -, stdout); - fputs( -" fer. (Added in 7.12.3)\n" -"\n" -" num_redirects Number of redirects that were followed in the\n" -" request. (Added in 7.12.3)\n" -"\n" -" redirect_url When a HTTP request was made without -L to follow\n" -" redirects, this variable will show the actual URL\n" -" a redirect would take you to. (Added in 7.18.2)\n" -"\n" -, stdout); - fputs( -" ftp_entry_path The initial path libcurl ended up in when logging\n" -" on to the remote FTP server. (Added in 7.15.4)\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. (Added in 7.19.0)\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -, stdout); - fputs( -" -x/--proxy <proxyhost[:port]>\n" -" Use specified HTTP proxy. If the port number is not specified,\n" -" it is assumed at port 1080.\n" -"\n" -" This option overrides existing environment variables that sets\n" -" proxy to use. If there's an environment variable setting a\n" -" proxy, you can set proxy to \"\" to override it.\n" -"\n" -" Note that all operations that are performed over a HTTP proxy\n" -, stdout); - fputs( -" will transparently be converted to HTTP. It means that certain\n" -" protocol specific operations might not be available. This is not\n" -" the case if you can tunnel through the proxy, as done with the\n" -" -p/--proxytunnel option.\n" -"\n" -" Starting with 7.14.1, the proxy host can be specified the exact\n" -" same way as the proxy environment variables, include protocol\n" -" prefix (http://) and embedded user + password.\n" -"\n" -, stdout); - fputs( -" If this option is used several times, the last one will be used.\n" -"\n" -" -X/--request <command>\n" -" (HTTP) Specifies a custom request method to use when communicat-\n" -" ing with the HTTP server. The specified request will be used\n" -" instead of the method otherwise used (which defaults to GET).\n" -" Read the HTTP 1.1 specification for details and explanations.\n" -"\n" -, stdout); - fputs( -" (FTP) Specifies a custom FTP command to use instead of LIST when\n" -" doing file lists with ftp.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -y/--speed-time <time>\n" -" If a download is slower than speed-limit bytes per second during\n" -" a speed-time period, the download gets aborted. If speed-time is\n" -" used, the default speed-limit will be 1 unless set with -y.\n" -"\n" -, stdout); - fputs( -" This option controls transfers and thus will not affect slow\n" -" connects etc. If this is a concern for you, try the --connect-\n" -" timeout option.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -Y/--speed-limit <speed>\n" -" If a download is slower than this given speed, in bytes per sec-\n" -" ond, for speed-time seconds it gets aborted. speed-time is set\n" -, stdout); - fputs( -" with -Y and is 30 if not set.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -z/--time-cond <date expression>\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 if\n" -" it doesn't match any internal ones, it tries to get the time\n" -, stdout); - fputs( -" from a given file name instead! See the curl_getdate(3) man\n" -" pages for date expression 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 this option is used several times, the last one will be used.\n" -"\n" -" --max-redirs <num>\n" -, stdout); - fputs( -" Set maximum number of redirection-followings allowed. If\n" -" -L/--location is used, this option can be used to prevent curl\n" -" from following redirections \"in absurdum\". By default, the limit\n" -" is set to 50 redirections. Set this option to -1 to make it lim-\n" -" itless.\n" -"\n" -" If this option is used several times, the last one will be used.\n" -"\n" -" -0/--http1.0\n" -, stdout); - fputs( -" (HTTP) Forces curl to issue its requests using HTTP 1.0 instead\n" -" of using its internally preferred: HTTP 1.1.\n" -"\n" -" -1/--tlsv1\n" -" (SSL) Forces curl to use TSL version 1 when negotiating with a\n" -" remote TLS server.\n" -"\n" -" -2/--sslv2\n" -" (SSL) Forces curl to use SSL version 2 when negotiating with a\n" -" remote SSL server.\n" -"\n" -" -3/--sslv3\n" -" (SSL) Forces curl to use SSL version 3 when negotiating with a\n" -, stdout); - fputs( -" remote SSL server.\n" -"\n" -" -4/--ipv4\n" -" If libcurl is capable of resolving an address to multiple IP\n" -" versions (which it is if it is ipv6-capable), this option tells\n" -" libcurl to resolve names to IPv4 addresses only.\n" -"\n" -" -6/--ipv6\n" -" If libcurl is capable of resolving an address to multiple IP\n" -" versions (which it is if it is ipv6-capable), this option tells\n" -, stdout); - fputs( -" libcurl to resolve names to IPv6 addresses only.\n" -"\n" -" -#/--progress-bar\n" -" Make curl display progress information as a progress bar instead\n" -" of the default statistics.\n" -"\n" -"FILES\n" -" ~/.curlrc\n" -" Default config file, see -K/--config for details.\n" -"\n" -"ENVIRONMENT\n" -" http_proxy [protocol://]<host>[:port]\n" -" Sets proxy server to use for HTTP.\n" -"\n" -" HTTPS_PROXY [protocol://]<host>[:port]\n" -, stdout); - fputs( -" Sets proxy server to use for HTTPS.\n" -"\n" -" FTP_PROXY [protocol://]<host>[:port]\n" -" Sets proxy server to use for FTP.\n" -"\n" -" ALL_PROXY [protocol://]<host>[:port]\n" -" Sets proxy server to use if no protocol-specific proxy is set.\n" -"\n" -" NO_PROXY <comma-separated list of hosts>\n" -" list of host names that shouldn't go through any proxy. If set\n" -" to a asterisk '*' only, it matches all hosts.\n" -"\n" -"EXIT CODES\n" -, stdout); - fputs( -" There exists a bunch of different error codes and their corresponding\n" -" error messages that may appear during bad conditions. At the time of\n" -" this writing, the exit codes are:\n" -"\n" -" 1 Unsupported protocol. This build of curl has no support for this\n" -" protocol.\n" -"\n" -" 2 Failed to initialize.\n" -"\n" -" 3 URL malformat. The syntax was not correct.\n" -"\n" -" 5 Couldn't resolve proxy. The given proxy host could not be\n" -, stdout); - fputs( -" resolved.\n" -"\n" -" 6 Couldn't resolve host. The given remote host was not resolved.\n" -"\n" -" 7 Failed to connect to host.\n" -"\n" -" 8 FTP weird server reply. The server sent data curl couldn't\n" -" parse.\n" -"\n" -" 9 FTP access denied. The server denied login or denied access to\n" -" the particular resource or directory you wanted to reach. Most\n" -" often you tried to change to a directory that doesn't exist on\n" -, stdout); - fputs( -" the server.\n" -"\n" -" 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n" -" PASS request.\n" -"\n" -" 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n" -" PASV request.\n" -"\n" -" 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n" -" server sent.\n" -"\n" -" 15 FTP can't get host. Couldn't resolve the host IP we got in the\n" -" 227-line.\n" -"\n" -, stdout); - fputs( -" 17 FTP couldn't set binary. Couldn't change transfer method to\n" -" binary.\n" -"\n" -" 18 Partial file. Only a part of the file was transferred.\n" -"\n" -" 19 FTP couldn't download/access the given file, the RETR (or simi-\n" -" 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\n" -, stdout); - fputs( -" returned another error with the HTTP error code being 400 or\n" -" above. This return code only appears if -f/--fail is used.\n" -"\n" -" 23 Write error. Curl couldn't write data to a local filesystem or\n" -" similar.\n" -"\n" -" 25 FTP couldn't STOR file. The server denied the STOR operation,\n" -" used for FTP uploading.\n" -"\n" -" 26 Read error. Various reading problems.\n" -"\n" -" 27 Out of memory. A memory allocation request failed.\n" -"\n" -, stdout); - fputs( -" 28 Operation timeout. The specified time-out period was reached\n" -" according to the conditions.\n" -"\n" -" 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n" -" support the PORT command, try doing a transfer using PASV\n" -" instead!\n" -"\n" -" 31 FTP couldn't use REST. The REST command failed. This command is\n" -" used for resumed FTP transfers.\n" -"\n" -" 33 HTTP range error. The range \"command\" didn't work.\n" -"\n" -, stdout); - fputs( -" 34 HTTP post error. Internal post-request generation error.\n" -"\n" -" 35 SSL connect error. The SSL handshaking failed.\n" -"\n" -" 36 FTP bad download resume. Couldn't continue an earlier aborted\n" -" download.\n" -"\n" -" 37 FILE couldn't 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" -, stdout); - fputs( -" 42 Aborted by callback. An application told curl to abort the oper-\n" -" 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 TELNET option specified.\n" -"\n" -" 49 Malformed telnet option.\n" -"\n" -, stdout); - fputs( -" 51 The peer's SSL certificate or SSH MD5 fingerprint was not ok\n" -"\n" -" 52 The server didn't reply anything, which here is considered an\n" -" 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" -"\n" -" 59 Couldn't 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" -" 62 Invalid LDAP URL\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 User, password or similar was not accepted and curl failed to\n" -" login\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" -" 75 Character conversion failed\n" -"\n" -" 76 Character conversion functions required\n" -"\n" -" 77 Problem with reading the SSL CA cert (path? access rights?)\n" -"\n" -, stdout); - fputs( -" 78 The resource referenced in the URL does not exist\n" -"\n" -" 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 (added in\n" -" 7.19.0)\n" -"\n" -" 83 Issuer check failed (added in 7.19.0)\n" -"\n" -" XX There will appear more error codes here in future releases. The\n" -" existing ones are meant to never change.\n" -"\n" -"AUTHORS / CONTRIBUTORS\n" -, stdout); - fputs( -" Daniel Stenberg is the main author, but the whole list of contributors\n" -" is found in the separate THANKS file.\n" -"\n" -"WWW\n" -" http://curl.haxx.se\n" -"\n" -"FTP\n" -" ftp://ftp.sunet.se/pub/www/utilities/curl/\n" -"\n" -"SEE ALSO\n" -" ftp(1), wget(1)\n" -"\n" -"LATEST VERSION\n" -"\n" -" You always find news about what's going on as well as the latest versions\n" -" from the curl web pages, located at:\n" -"\n" -" http://curl.haxx.se\n" -"\n" -"SIMPLE USAGE\n" -"\n" -" Get the main page from Netscape's web-server:\n" -"\n" -, stdout); - fputs( -" curl http://www.netscape.com/\n" -"\n" -" Get the README file the user's home directory at funet's ftp-server:\n" -"\n" -" curl ftp://ftp.funet.fi/README\n" -"\n" -" Get a web page from a server using port 8000:\n" -"\n" -" curl http://www.weirdserver.com:8000/\n" -"\n" -" Get a list of a directory of an FTP site:\n" -"\n" -" curl ftp://cool.haxx.se/\n" -"\n" -" Get the definition of curl from a dictionary:\n" -"\n" -" curl dict://dict.org/m:curl\n" -"\n" -" Fetch two documents at once:\n" -"\n" -, stdout); - fputs( -" curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n" -"\n" -" Get a file off an FTPS server:\n" -"\n" -" curl ftps://files.are.secure.com/secrets.txt\n" -"\n" -" or use the more appropriate FTPS way to get the same file:\n" -"\n" -" curl --ftp-ssl ftp://files.are.secure.com/secrets.txt\n" -"\n" -" Get a file from an SSH server using SFTP:\n" -"\n" -" curl -u username sftp://shell.example.com/etc/issue\n" -"\n" -" Get a file from an SSH server using SCP using a private key to authenticate:\n" -"\n" -, stdout); - fputs( -" curl -u username: --key ~/.ssh/id_dsa --pubkey ~/.ssh/id_dsa.pub \\\n" -" scp://shell.example.com/~/personal.txt\n" -"\n" -" Get the main page from an IPv6 web server:\n" -"\n" -" curl -g \"http://[2001:1890:1112:1::20]/\"\n" -"\n" -"DOWNLOAD TO A FILE\n" -"\n" -" Get a web page and store in a local file:\n" -"\n" -" curl -o thatpage.html http://www.netscape.com/\n" -"\n" -" Get a web page and store in a local file, make the local file get the name\n" -" of the remote document (if no file name part is specified in the URL, this\n" -, stdout); - fputs( -" will fail):\n" -"\n" -" curl -O http://www.netscape.com/index.html\n" -"\n" -" Fetch two files and store them with their remote names:\n" -"\n" -" curl -O www.haxx.se/index.html -O curl.haxx.se/download.html\n" -"\n" -"USING PASSWORDS\n" -"\n" -" FTP\n" -"\n" -" To ftp files using name+passwd, include them in the URL like:\n" -"\n" -" curl ftp://name:passwd@machine.domain:port/full/path/to/file\n" -"\n" -" or specify them with the -u flag like\n" -"\n" -" curl -u name:passwd ftp://machine.domain:port/full/path/to/file\n" -"\n" -" FTPS\n" -"\n" -, stdout); - fputs( -" It is just like for FTP, but you may also want to specify and use\n" -" SSL-specific options for certificates etc.\n" -"\n" -" Note that using FTPS:// as prefix is the \"implicit\" way as described in the\n" -" standards while the recommended \"explicit\" way is done by using FTP:// and\n" -" the --ftp-ssl option.\n" -"\n" -" SFTP / SCP\n" -"\n" -" This is similar to FTP, but you can specify a private key to use instead of\n" -" a password. Note that the private key may itself be protected by a password\n" -, stdout); - fputs( -" that is unrelated to the login password of the remote system. If you\n" -" provide a private key file you must also provide a public key file.\n" -"\n" -" HTTP\n" -"\n" -" Curl also supports user and password in HTTP URLs, thus you can pick a file\n" -" like:\n" -"\n" -" curl http://name:passwd@machine.domain/full/path/to/file\n" -"\n" -" or specify user and password separately like in\n" -"\n" -" curl -u name:passwd http://machine.domain/full/path/to/file\n" -"\n" -, stdout); - fputs( -" HTTP offers many different methods of authentication and curl supports\n" -" several: Basic, Digest, NTLM and Negotiate. Without telling which method to\n" -" use, curl defaults to Basic. You can also ask curl to pick the most secure\n" -" ones out of the ones that the server accepts for the given URL, by using\n" -" --anyauth.\n" -"\n" -" NOTE! Since HTTP URLs don't support user and password, you can't use that\n" -" style when using Curl via a proxy. You _must_ use the -u style fetch\n" -, stdout); - fputs( -" during such circumstances.\n" -"\n" -" HTTPS\n" -"\n" -" Probably most commonly used with private certificates, as explained below.\n" -"\n" -"PROXY\n" -"\n" -" Get an ftp file using a proxy named my-proxy that uses port 888:\n" -"\n" -" curl -x my-proxy:888 ftp://ftp.leachsite.com/README\n" -"\n" -" Get a file from a HTTP server that requires user and password, using the\n" -" same proxy as above:\n" -"\n" -" curl -u user:passwd -x my-proxy:888 http://www.get.this/\n" -"\n" -" Some proxies require special authentication. Specify by using -U as above:\n" -"\n" -, stdout); - fputs( -" curl -U user:passwd -x my-proxy:888 http://www.get.this/\n" -"\n" -" curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.\n" -"\n" -" See also the environment variables Curl support that offer further proxy\n" -" control.\n" -"\n" -"RANGES\n" -"\n" -" With HTTP 1.1 byte-ranges were introduced. Using this, a client can request\n" -" to get only one or more subparts of a specified document. Curl supports\n" -" this with the -r flag.\n" -"\n" -" Get the first 100 bytes of a document:\n" -"\n" -" curl -r 0-99 http://www.get.this/\n" -"\n" -, stdout); - fputs( -" Get the last 500 bytes of a document:\n" -"\n" -" curl -r -500 http://www.get.this/\n" -"\n" -" Curl also supports simple ranges for FTP files as well. Then you can only\n" -" specify start and stop position.\n" -"\n" -" Get the first 100 bytes of a document using FTP:\n" -"\n" -" curl -r 0-99 ftp://www.get.this/README \n" -"\n" -"UPLOADING\n" -"\n" -" FTP / FTPS / SFTP / SCP\n" -"\n" -" Upload all data on stdin to a specified server:\n" -"\n" -" curl -T - ftp://ftp.upload.com/myfile\n" -"\n" -" Upload data from a specified file, login with user and password:\n" -, stdout); - fputs( -"\n" -" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile\n" -"\n" -" Upload a local file to the remote site, and use the local file name remote\n" -" too:\n" -" \n" -" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n" -"\n" -" Upload a local file to get appended to the remote file:\n" -"\n" -" curl -T localfile -a ftp://ftp.upload.com/remotefile\n" -"\n" -" Curl also supports ftp upload through a proxy, but only if the proxy is\n" -" configured to allow that kind of tunneling. If it does, you can run curl in\n" -, stdout); - fputs( -" a fashion similar to:\n" -"\n" -" curl --proxytunnel -x proxy:port -T localfile ftp.upload.com\n" -"\n" -" HTTP\n" -"\n" -" Upload all data on stdin to a specified http site:\n" -"\n" -" curl -T - http://www.upload.com/myfile\n" -"\n" -" Note that the http server must have been configured to accept PUT before\n" -" this can be done successfully.\n" -"\n" -" For other ways to do http data upload, see the POST section below.\n" -"\n" -"VERBOSE / DEBUG\n" -"\n" -" If curl fails where it isn't supposed to, if the servers don't let you in,\n" -, stdout); - fputs( -" if you can't understand the responses: use the -v flag to get verbose\n" -" fetching. Curl will output lots of info and what it sends and receives in\n" -" order to let the user see all client-server interaction (but it won't show\n" -" you the actual data).\n" -"\n" -" curl -v ftp://ftp.upload.com/\n" -"\n" -" To get even more details and information on what curl does, try using the\n" -" --trace or --trace-ascii options with a given file name to log to, like\n" -" this:\n" -"\n" -" curl --trace trace.txt www.haxx.se\n" -" \n" -"\n" -, stdout); - fputs( -"DETAILED INFORMATION\n" -"\n" -" Different protocols provide different ways of getting detailed information\n" -" about specific files/documents. To get curl to show detailed information\n" -" about a single file, you should use -I/--head option. It displays all\n" -" available info on a single file for HTTP and FTP. The HTTP information is a\n" -" lot more extensive.\n" -"\n" -" For HTTP, you can get the header information (the same as -I would show)\n" -" shown before the data by using -i/--include. Curl understands the\n" -, stdout); - fputs( -" -D/--dump-header option when getting files from both FTP and HTTP, and it\n" -" will then store the headers in the specified file.\n" -"\n" -" Store the HTTP headers in a separate file (headers.txt in the example):\n" -"\n" -" curl --dump-header headers.txt curl.haxx.se\n" -"\n" -" Note that headers stored in a separate file can be very useful at a later\n" -" time if you want curl to use cookies sent by the server. More about that in\n" -" the cookies section.\n" -"\n" -"POST (HTTP)\n" -"\n" -, stdout); - fputs( -" It's easy to post data using curl. This is done using the -d <data>\n" -" option. The post data must be urlencoded.\n" -"\n" -" Post a simple \"name\" and \"phone\" guestbook.\n" -"\n" -" curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n" -" http://www.where.com/guest.cgi\n" -"\n" -" How to post a form with curl, lesson #1:\n" -"\n" -" Dig out all the <input> tags in the form that you want to fill in. (There's\n" -" a perl program called formfind.pl on the curl site that helps with this).\n" -"\n" -, stdout); - fputs( -" If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n" -" string\", which is in the format\n" -"\n" -" <variable1>=<data1>&<variable2>=<data2>&...\n" -"\n" -" The 'variable' names are the names set with \"name=\" in the <input> tags, and\n" -" the data is the contents you want to fill in for the inputs. The data *must*\n" -" be properly URL encoded. That means you replace space with + and that you\n" -" write weird letters with %XX where XX is the hexadecimal representation of\n" -, stdout); - fputs( -" the letter's ASCII code.\n" -"\n" -" Example:\n" -"\n" -" (page located at http://www.formpost.com/getthis/\n" -"\n" -" <form action=\"post.cgi\" method=\"post\">\n" -" <input name=user size=10>\n" -" <input name=pass type=password size=10>\n" -" <input name=id type=hidden value=\"blablabla\">\n" -" <input name=ding value=\"submit\">\n" -" </form>\n" -"\n" -" We want to enter user 'foobar' with password '12345'.\n" -"\n" -" To post to this, you enter a curl command line like:\n" -"\n" -, stdout); - fputs( -" curl -d \"user=foobar&pass=12345&id=blablabla&ding=submit\" (continues)\n" -" http://www.formpost.com/getthis/post.cgi\n" -"\n" -"\n" -" While -d uses the application/x-www-form-urlencoded mime-type, generally\n" -" understood by CGI's and similar, curl also supports the more capable\n" -" multipart/form-data type. This latter type supports things like file upload.\n" -"\n" -" -F accepts parameters like -F \"name=contents\". If you want the contents to\n" -, stdout); - fputs( -" be read from a file, use <@filename> as contents. When specifying a file,\n" -" you can also specify the file content type by appending ';type=<mime type>'\n" -" to the file name. You can also post the contents of several files in one\n" -" field. For example, the field name 'coolfiles' is used to send three files,\n" -" with different content types using the following syntax:\n" -"\n" -" curl -F \"coolfiles=@fil1.gif;type=image/gif,fil2.txt,fil3.html\" \\\n" -" http://www.post.com/postit.cgi\n" -"\n" -, stdout); - fputs( -" If the content-type is not specified, curl will try to guess from the file\n" -" extension (it only knows a few), or use the previously specified type (from\n" -" an earlier file if several files are specified in a list) or else it will\n" -" using the default type 'text/plain'.\n" -"\n" -" Emulate a fill-in form with -F. Let's say you fill in three fields in a\n" -" form. One field is a file name which to post, one field is your name and one\n" -, stdout); - fputs( -" field is a file description. We want to post the file we have written named\n" -" \"cooltext.txt\". To let curl do the posting of this data instead of your\n" -" favourite browser, you have to read the HTML source of the form page and\n" -" find the names of the input fields. In our example, the input field names\n" -" are 'file', 'yourname' and 'filedescription'.\n" -"\n" -" curl -F \"file=@cooltext.txt\" -F \"yourname=Daniel\" \\\n" -" -F \"filedescription=Cool text file with cool text inside\" \\\n" -, stdout); - fputs( -" http://www.post.com/postit.cgi\n" -"\n" -" To send two files in one post you can do it in two ways:\n" -"\n" -" 1. Send multiple files in a single \"field\" with a single field name:\n" -" \n" -" curl -F \"pictures=@dog.gif,cat.gif\" \n" -" \n" -" 2. Send two fields with two field names: \n" -"\n" -" curl -F \"docpicture=@dog.gif\" -F \"catpicture=@cat.gif\" \n" -"\n" -" To send a field value literally without interpreting a leading '@'\n" -" or '<', or an embedded ';type=', use --form-string instead of\n" -, stdout); - fputs( -" -F. This is recommended when the value is obtained from a user or\n" -" some other unpredictable source. Under these circumstances, using\n" -" -F instead of --form-string would allow a user to trick curl into\n" -" uploading a file.\n" -"\n" -"REFERRER\n" -"\n" -" A HTTP request has the option to include information about which address\n" -" that referred to actual page. Curl allows you to specify the\n" -" referrer to be used on the command line. It is especially useful to\n" -, stdout); - fputs( -" fool or trick stupid servers or CGI scripts that rely on that information\n" -" being available or contain certain data.\n" -"\n" -" curl -e www.coolsite.com http://www.showme.com/\n" -"\n" -" NOTE: The Referer: [sic] field is defined in the HTTP spec to be a full URL.\n" -"\n" -"USER AGENT\n" -"\n" -" A HTTP request has the option to include information about the browser\n" -" that generated the request. Curl allows it to be specified on the command\n" -" line. It is especially useful to fool or trick stupid servers or CGI\n" -, stdout); - fputs( -" scripts that only accept certain browsers.\n" -"\n" -" Example:\n" -"\n" -" curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n" -"\n" -" Other common strings:\n" -" 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n" -" 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95\n" -" 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2\n" -" 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX\n" -" 'Mozilla/4.05 [en] (X11; U; Linux 2.0.32 i586)' NS for Linux\n" -"\n" -, stdout); - fputs( -" Note that Internet Explorer tries hard to be compatible in every way:\n" -" 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95\n" -"\n" -" Mozilla is not the only possible User-Agent name:\n" -" 'Konqueror/1.0' KDE File Manager desktop client\n" -" 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n" -"\n" -"COOKIES\n" -"\n" -" Cookies are generally used by web servers to keep state information at the\n" -" client's side. The server sets cookies by sending a response line in the\n" -, stdout); - fputs( -" headers that looks like 'Set-Cookie: <data>' where the data part then\n" -" typically contains a set of NAME=VALUE pairs (separated by semicolons ';'\n" -" like \"NAME1=VALUE1; NAME2=VALUE2;\"). The server can also specify for what\n" -" path the \"cookie\" should be used for (by specifying \"path=value\"), when the\n" -" cookie should expire (\"expire=DATE\"), for what domain to use it\n" -" (\"domain=NAME\") and if it should be used on secure connections only\n" -" (\"secure\").\n" -"\n" -, stdout); - fputs( -" If you've received a page from a server that contains a header like:\n" -" Set-Cookie: sessionid=boo123; path=\"/foo\";\n" -"\n" -" it means the server wants that first pair passed on when we get anything in\n" -" a path beginning with \"/foo\".\n" -"\n" -" Example, get a page that wants my name passed in a cookie:\n" -"\n" -" curl -b \"name=Daniel\" www.sillypage.com\n" -"\n" -" Curl also has the ability to use previously received cookies in following\n" -" sessions. If you get cookies from a server and store them in a file in a\n" -, stdout); - fputs( -" manner similar to:\n" -"\n" -" curl --dump-header headers www.example.com\n" -"\n" -" ... you can then in a second connect to that (or another) site, use the\n" -" cookies from the 'headers' file like:\n" -"\n" -" curl -b headers www.example.com\n" -"\n" -" While saving headers to a file is a working way to store cookies, it is\n" -" however error-prone and not the preferred way to do this. Instead, make curl\n" -" save the incoming cookies using the well-known netscape cookie format like\n" -" this:\n" -"\n" -, stdout); - fputs( -" curl -c cookies.txt www.example.com\n" -"\n" -" Note that by specifying -b you enable the \"cookie awareness\" and with -L\n" -" you can make curl follow a location: (which often is used in combination\n" -" with cookies). So that if a site sends cookies and a location, you can\n" -" use a non-existing file to trigger the cookie awareness like:\n" -"\n" -" curl -L -b empty.txt www.example.com\n" -"\n" -" The file to read cookies from must be formatted using plain HTTP headers OR\n" -, stdout); - fputs( -" as netscape's cookie file. Curl will determine what kind it is based on the\n" -" file contents. In the above command, curl will parse the header and store\n" -" the cookies received from www.example.com. curl will send to the server the\n" -" stored cookies which match the request as it follows the location. The\n" -" file \"empty.txt\" may be a nonexistent file.\n" -"\n" -" Alas, to both read and write cookies from a netscape cookie file, you can\n" -" set both -b and -c to use the same file:\n" -"\n" -, stdout); - fputs( -" curl -b cookies.txt -c cookies.txt www.example.com\n" -"\n" -"PROGRESS METER\n" -"\n" -" The progress meter exists to show a user that something actually is\n" -" happening. The different fields in the output have the following meaning:\n" -"\n" -" % Total % Received % Xferd Average Speed Time Curr.\n" -" Dload Upload Total Current Left Speed\n" -" 0 151M 0 38608 0 0 9406 0 4:41:43 0:00:04 4:41:39 9287\n" -"\n" -" From left-to-right:\n" -, stdout); - fputs( -" % - percentage completed of the whole transfer\n" -" Total - total size of the whole expected transfer\n" -" % - percentage completed of the download\n" -" Received - currently downloaded amount of bytes\n" -" % - percentage completed of the upload\n" -" Xferd - currently uploaded amount of bytes\n" -" Average Speed\n" -" Dload - the average transfer speed of the download\n" -" Average Speed\n" -" Upload - the average transfer speed of the upload\n" -, stdout); - fputs( -" Time Total - expected time to complete the operation\n" -" Time Current - time passed since the invoke\n" -" Time Left - expected time left to completion\n" -" Curr.Speed - the average transfer speed the last 5 seconds (the first\n" -" 5 seconds of a transfer is based on less time of course.)\n" -"\n" -" The -# option will display a totally different progress bar that doesn't\n" -" need much explanation!\n" -"\n" -"SPEED LIMIT\n" -"\n" -, stdout); - fputs( -" Curl allows the user to set the transfer speed conditions that must be met\n" -" to let the transfer keep going. By using the switch -y and -Y you\n" -" can make curl abort transfers if the transfer speed is below the specified\n" -" lowest limit for a specified time.\n" -"\n" -" To have curl abort the download if the speed is slower than 3000 bytes per\n" -" second for 1 minute, run:\n" -"\n" -" curl -Y 3000 -y 60 www.far-away-site.com\n" -"\n" -" This can very well be used in combination with the overall time limit, so\n" -, stdout); - fputs( -" that the above operation must be completed in whole within 30 minutes:\n" -"\n" -" curl -m 1800 -Y 3000 -y 60 www.far-away-site.com\n" -"\n" -" Forcing curl not to transfer data faster than a given rate is also possible,\n" -" which might be useful if you're using a limited bandwidth connection and you\n" -" don't want your transfer to use all of it (sometimes referred to as\n" -" \"bandwidth throttle\").\n" -"\n" -" Make curl transfer data no faster than 10 kilobytes per second:\n" -"\n" -, stdout); - fputs( -" curl --limit-rate 10K www.far-away-site.com\n" -"\n" -" or\n" -"\n" -" curl --limit-rate 10240 www.far-away-site.com\n" -"\n" -" Or prevent curl from uploading data faster than 1 megabyte per second:\n" -"\n" -" curl -T upload --limit-rate 1M ftp://uploadshereplease.com\n" -"\n" -" When using the --limit-rate option, the transfer rate is regulated on a\n" -" per-second basis, which will cause the total transfer speed to become lower\n" -" than the given number. Sometimes of course substantially lower, if your\n" -, stdout); - fputs( -" transfer stalls during periods.\n" -"\n" -"CONFIG FILE\n" -"\n" -" Curl automatically tries to read the .curlrc file (or _curlrc file on win32\n" -" systems) from the user's home dir on startup.\n" -"\n" -" The config file could be made up with normal command line switches, but you\n" -" can also specify the long options without the dashes to make it more\n" -" readable. You can separate the options and the parameter with spaces, or\n" -" with = or :. Comments can be used within the file. If the first letter on a\n" -, stdout); - fputs( -" line is a '#'-letter the rest of the line is treated as a comment.\n" -"\n" -" If you want the parameter to contain spaces, you must enclose the entire\n" -" parameter within double quotes (\"). Within those quotes, you specify a\n" -" quote as \\\".\n" -"\n" -" NOTE: You must specify options and their arguments on the same line.\n" -"\n" -" Example, set default time out and proxy in a config file:\n" -"\n" -" # We want a 30 minute timeout:\n" -" -m 1800\n" -" # ... and we use a proxy for all accesses:\n" -, stdout); - fputs( -" proxy = proxy.our.domain.com:8080\n" -"\n" -" White spaces ARE significant at the end of lines, but all white spaces\n" -" leading up to the first characters of each line are ignored.\n" -"\n" -" Prevent curl from reading the default file by using -q as the first command\n" -" line parameter, like:\n" -"\n" -" curl -q www.thatsite.com\n" -"\n" -" Force curl to get and display a local help page in case it is invoked\n" -" without URL by making a config file similar to:\n" -"\n" -" # default url to get\n" -, stdout); - fputs( -" url = \"http://help.with.curl.com/curlhelp.html\"\n" -"\n" -" You can specify another config file to be read by using the -K/--config\n" -" flag. If you set config file name to \"-\" it'll read the config from stdin,\n" -" which can be handy if you want to hide options from being visible in process\n" -" tables etc:\n" -"\n" -" echo \"user = user:passwd\" | curl -K - http://that.secret.site.com\n" -"\n" -"EXTRA HEADERS\n" -"\n" -" When using curl in your own very special programs, you may end up needing\n" -, stdout); - fputs( -" to pass on your own custom headers when getting a web page. You can do\n" -" this by using the -H flag.\n" -"\n" -" Example, send the header \"X-you-and-me: yes\" to the server when getting a\n" -" page:\n" -"\n" -" curl -H \"X-you-and-me: yes\" www.love.com\n" -"\n" -" This can also be useful in case you want curl to send a different text in a\n" -" header than it normally does. The -H header you specify then replaces the\n" -" header curl would normally send. If you replace an internal header with an\n" -, stdout); - fputs( -" empty one, you prevent that header from being sent. To prevent the Host:\n" -" header from being used:\n" -"\n" -" curl -H \"Host:\" www.server.com\n" -"\n" -"FTP and PATH NAMES\n" -"\n" -" Do note that when getting files with the ftp:// URL, the given path is\n" -" relative the directory you enter. To get the file 'README' from your home\n" -" directory at your ftp site, do:\n" -"\n" -" curl ftp://user:passwd@my.site.com/README\n" -"\n" -" But if you want the README file from the root directory of that very same\n" -, stdout); - fputs( -" site, you need to specify the absolute file name:\n" -"\n" -" curl ftp://user:passwd@my.site.com//README\n" -"\n" -" (I.e with an extra slash in front of the file name.)\n" -"\n" -"SFTP and SCP and PATH NAMES\n" -"\n" -" With sftp: and scp: URLs, the path name given is the absolute name on the\n" -" server. To access a file relative to the remote user's home directory,\n" -" prefix the file with /~/ , such as:\n" -"\n" -" curl -u $USER sftp://home.example.com/~/.bashrc\n" -"\n" -"FTP and firewalls\n" -"\n" -, stdout); - fputs( -" The FTP protocol requires one of the involved parties to open a second\n" -" connection as soon as data is about to get transfered. There are two ways to\n" -" do this.\n" -"\n" -" The default way for curl is to issue the PASV command which causes the\n" -" server to open another port and await another connection performed by the\n" -" client. This is good if the client is behind a firewall that don't allow\n" -" incoming connections.\n" -"\n" -" curl ftp.download.com\n" -"\n" -, stdout); - fputs( -" If the server for example, is behind a firewall that don't allow connections\n" -" on other ports than 21 (or if it just doesn't support the PASV command), the\n" -" other way to do it is to use the PORT command and instruct the server to\n" -" connect to the client on the given (as parameters to the PORT command) IP\n" -" number and port.\n" -"\n" -" The -P flag to curl supports a few different options. Your machine may have\n" -" several IP-addresses and/or network interfaces and curl allows you to select\n" -, stdout); - fputs( -" which of them to use. Default address can also be used:\n" -"\n" -" curl -P - ftp.download.com\n" -"\n" -" Download with PORT but use the IP address of our 'le0' interface (this does\n" -" not work on windows):\n" -"\n" -" curl -P le0 ftp.download.com\n" -"\n" -" Download with PORT but use 192.168.0.10 as our IP address to use:\n" -"\n" -" curl -P 192.168.0.10 ftp.download.com\n" -"\n" -"NETWORK INTERFACE\n" -"\n" -" Get a web page from a server using a specified port for the interface:\n" -"\n" -, stdout); - fputs( -" curl --interface eth0:1 http://www.netscape.com/\n" -"\n" -" or\n" -"\n" -" curl --interface 192.168.1.10 http://www.netscape.com/\n" -"\n" -"HTTPS\n" -"\n" -" Secure HTTP requires SSL libraries to be installed and used when curl is\n" -" built. If that is done, curl is capable of retrieving and posting documents\n" -" using the HTTPS protocol.\n" -"\n" -" Example:\n" -"\n" -" curl https://www.secure-site.com\n" -"\n" -" Curl is also capable of using your personal certificates to get/post files\n" -, stdout); - fputs( -" from sites that require valid certificates. The only drawback is that the\n" -" certificate needs to be in PEM-format. PEM is a standard and open format to\n" -" store certificates with, but it is not used by the most commonly used\n" -" browsers (Netscape and MSIE both use the so called PKCS#12 format). If you\n" -" want curl to use the certificates you use with your (favourite) browser, you\n" -" may need to download/compile a converter that can convert your browser's\n" -, stdout); - fputs( -" formatted certificates to PEM formatted ones. This kind of converter is\n" -" included in recent versions of OpenSSL, and for older versions Dr Stephen\n" -" N. Henson has written a patch for SSLeay that adds this functionality. You\n" -" can get his patch (that requires an SSLeay installation) from his site at:\n" -" http://www.drh-consultancy.demon.co.uk/\n" -"\n" -" Example on how to automatically retrieve a document using a certificate with\n" -" a personal password:\n" -"\n" -, stdout); - fputs( -" curl -E /path/to/cert.pem:password https://secure.site.com/\n" -"\n" -" If you neglect to specify the password on the command line, you will be\n" -" prompted for the correct password before any data can be received.\n" -"\n" -" Many older SSL-servers have problems with SSLv3 or TLS, that newer versions\n" -" of OpenSSL etc is using, therefore it is sometimes useful to specify what\n" -" SSL-version curl should use. Use -3, -2 or -1 to specify that exact SSL\n" -" version to use (for SSLv3, SSLv2 or TLSv1 respectively):\n" -, stdout); - fputs( -"\n" -" curl -2 https://secure.site.com/\n" -"\n" -" Otherwise, curl will first attempt to use v3 and then v2.\n" -"\n" -" To use OpenSSL to convert your favourite browser's certificate into a PEM\n" -" formatted one that curl can use, do something like this (assuming netscape,\n" -" but IE is likely to work similarly):\n" -"\n" -" You start with hitting the 'security' menu button in netscape. \n" -"\n" -" Select 'certificates->yours' and then pick a certificate in the list \n" -"\n" -" Press the 'export' button \n" -"\n" -, stdout); - fputs( -" enter your PIN code for the certs \n" -"\n" -" select a proper place to save it \n" -"\n" -" Run the 'openssl' application to convert the certificate. If you cd to the\n" -" openssl installation, you can do it like:\n" -"\n" -" # ./apps/openssl pkcs12 -in [file you saved] -clcerts -out [PEMfile]\n" -"\n" -"\n" -"RESUMING FILE TRANSFERS\n" -"\n" -" To continue a file transfer where it was previously aborted, curl supports\n" -" resume on http(s) downloads as well as ftp uploads and downloads.\n" -"\n" -" Continue downloading a document:\n" -"\n" -, stdout); - fputs( -" curl -C - -o file ftp://ftp.server.com/path/file\n" -"\n" -" Continue uploading a document(*1):\n" -"\n" -" curl -C - -T file ftp://ftp.server.com/path/file\n" -"\n" -" Continue downloading a document from a web server(*2):\n" -"\n" -" curl -C - -o file http://www.server.com/\n" -"\n" -" (*1) = This requires that the ftp server supports the non-standard command\n" -" SIZE. If it doesn't, curl will say so.\n" -"\n" -" (*2) = This requires that the web server supports at least HTTP/1.1. If it\n" -" doesn't, curl will say so.\n" -"\n" -, stdout); - fputs( -"TIME CONDITIONS\n" -"\n" -" HTTP allows a client to specify a time condition for the document it\n" -" requests. It is If-Modified-Since or If-Unmodified-Since. Curl allow you to\n" -" specify them with the -z/--time-cond flag.\n" -"\n" -" For example, you can easily make a download that only gets performed if the\n" -" remote file is newer than a local copy. It would be made like:\n" -"\n" -" curl -z local.html http://remote.server.com/remote.html\n" -"\n" -" Or you can download a file only if the local file is newer than the remote\n" -, stdout); - fputs( -" one. Do this by prepending the date string with a '-', as in:\n" -"\n" -" curl -z -local.html http://remote.server.com/remote.html\n" -"\n" -" You can specify a \"free text\" date as condition. Tell curl to only download\n" -" the file if it was updated since January 12, 2012:\n" -"\n" -" curl -z \"Jan 12 2012\" http://remote.server.com/remote.html\n" -"\n" -" Curl will then accept a wide range of date formats. You always make the date\n" -" check the other way around by prepending it with a dash '-'.\n" -"\n" -"DICT\n" -"\n" -" For fun try\n" -"\n" -, stdout); - fputs( -" curl dict://dict.org/m:curl\n" -" curl dict://dict.org/d:heisenbug:jargon\n" -" curl dict://dict.org/d:daniel:web1913\n" -"\n" -" Aliases for 'm' are 'match' and 'find', and aliases for 'd' are 'define'\n" -" and 'lookup'. For example,\n" -"\n" -" curl dict://dict.org/find:curl\n" -"\n" -" Commands that break the URL description of the RFC (but not the DICT\n" -" protocol) are\n" -"\n" -" curl dict://dict.org/show:db\n" -" curl dict://dict.org/show:strat\n" -"\n" -, stdout); - fputs( -" Authentication is still missing (but this is not required by the RFC)\n" -"\n" -"LDAP\n" -"\n" -" If you have installed the OpenLDAP library, curl can take advantage of it\n" -" and offer ldap:// support.\n" -"\n" -" LDAP is a complex thing and writing an LDAP query is not an easy task. I do\n" -" advice you to dig up the syntax description for that elsewhere. Two places\n" -" that might suit you are:\n" -"\n" -" Netscape's \"Netscape Directory SDK 3.0 for C Programmer's Guide Chapter 10:\n" -" Working with LDAP URLs\":\n" -, stdout); - fputs( -" http://developer.netscape.com/docs/manuals/dirsdk/csdk30/url.htm\n" -"\n" -" RFC 2255, \"The LDAP URL Format\" http://curl.haxx.se/rfc/rfc2255.txt\n" -"\n" -" To show you an example, this is now I can get all people from my local LDAP\n" -" server that has a certain sub-domain in their email address:\n" -"\n" -" curl -B \"ldap://ldap.frontec.se/o=frontec??sub?mail=*sth.frontec.se\"\n" -"\n" -" If I want the same info in HTML format, I can get it by not using the -B\n" -" (enforce ASCII) flag.\n" -"\n" -"ENVIRONMENT VARIABLES\n" -"\n" -, stdout); - fputs( -" Curl reads and understands the following environment variables:\n" -"\n" -" http_proxy, HTTPS_PROXY, FTP_PROXY\n" -"\n" -" They should be set for protocol-specific proxies. General proxy should be\n" -" set with\n" -" \n" -" ALL_PROXY\n" -"\n" -" A comma-separated list of host names that shouldn't go through any proxy is\n" -" set in (only an asterisk, '*' matches all hosts)\n" -"\n" -" NO_PROXY\n" -"\n" -" If a tail substring of the domain-path for a host matches one of these\n" -, stdout); - fputs( -" strings, transactions with that node will not be proxied.\n" -"\n" -"\n" -" The usage of the -x/--proxy flag overrides the environment variables.\n" -"\n" -"NETRC\n" -"\n" -" Unix introduced the .netrc concept a long time ago. It is a way for a user\n" -" to specify name and password for commonly visited ftp sites in a file so\n" -" that you don't have to type them in each time you visit those sites. You\n" -" realize this is a big security risk if someone else gets hold of your\n" -, stdout); - fputs( -" passwords, so therefore most unix programs won't read this file unless it is\n" -" only readable by yourself (curl doesn't care though).\n" -"\n" -" Curl supports .netrc files if told so (using the -n/--netrc and\n" -" --netrc-optional options). This is not restricted to only ftp,\n" -" but curl can use it for all protocols where authentication is used.\n" -"\n" -" A very simple .netrc file could look something like:\n" -"\n" -" machine curl.haxx.se login iamdaniel password mysecret\n" -"\n" -"CUSTOM OUTPUT\n" -"\n" -, stdout); - fputs( -" To better allow script programmers to get to know about the progress of\n" -" curl, the -w/--write-out option was introduced. Using this, you can specify\n" -" what information from the previous transfer you want to extract.\n" -"\n" -" To display the amount of bytes downloaded together with some text and an\n" -" ending newline:\n" -"\n" -" curl -w 'We downloaded %{size_download} bytes\\n' www.download.com\n" -"\n" -"KERBEROS FTP TRANSFER\n" -"\n" -" Curl supports kerberos4 and kerberos5/GSSAPI for FTP transfers. You need\n" -, stdout); - fputs( -" the kerberos package installed and used at curl build time for it to be\n" -" used.\n" -"\n" -" First, get the krb-ticket the normal way, like with the kinit/kauth tool.\n" -" Then use curl in way similar to:\n" -"\n" -" curl --krb private ftp://krb4site.com -u username:fakepwd\n" -"\n" -" There's no use for a password on the -u switch, but a blank one will make\n" -" curl ask for one and you already entered the real password to kinit/kauth.\n" -"\n" -"TELNET\n" -"\n" -, stdout); - fputs( -" The curl telnet support is basic and very easy to use. Curl passes all data\n" -" passed to it on stdin to the remote server. Connect to a remote telnet\n" -" server using a command line similar to:\n" -"\n" -" curl telnet://remote.server.com\n" -"\n" -" And enter the data to pass to the server on stdin. The result will be sent\n" -" to stdout or to the file you specify with -o.\n" -"\n" -" You might want the -N/--no-buffer option to switch off the buffered output\n" -" for slow connections or similar.\n" -"\n" -, stdout); - fputs( -" Pass options to the telnet protocol negotiation, by using the -t option. To\n" -" tell the server we use a vt100 terminal, try something like:\n" -"\n" -" curl -tTTYPE=vt100 telnet://remote.server.com\n" -"\n" -" Other interesting options for it -t include:\n" -"\n" -" - XDISPLOC=<X display> Sets the X display location.\n" -"\n" -" - NEW_ENV=<var,val> Sets an environment variable.\n" -"\n" -" NOTE: the telnet protocol does not specify any way to login with a specified\n" -, stdout); - fputs( -" user and password so curl can't do that automatically. To do that, you need\n" -" to track when the login prompt is received and send the username and\n" -" password accordingly.\n" -"\n" -"PERSISTENT CONNECTIONS\n" -"\n" -" Specifying multiple files on a single command line will make curl transfer\n" -" all of them, one after the other in the specified order.\n" -"\n" -" libcurl will attempt to use persistent connections for the transfers so that\n" -" the second transfer to the same host can use the same connection that was\n" -, stdout); - fputs( -" already initiated and was left open in the previous transfer. This greatly\n" -" decreases connection time for all but the first transfer and it makes a far\n" -" better use of the network.\n" -"\n" -" Note that curl cannot use persistent connections for transfers that are used\n" -" in subsequence curl invokes. Try to stuff as many URLs as possible on the\n" -" same command line if they are using the same host, as that'll make the\n" -" transfers faster. If you use a http proxy for file transfers, practically\n" -, stdout); - fputs( -" all transfers will be persistent.\n" -"\n" -"MULTIPLE TRANSFERS WITH A SINGLE COMMAND LINE\n" -"\n" -" As is mentioned above, you can download multiple files with one command line\n" -" by simply adding more URLs. If you want those to get saved to a local file\n" -" instead of just printed to stdout, you need to add one save option for each\n" -" URL you specify. Note that this also goes for the -O option (but not\n" -" --remote-name-all).\n" -"\n" -" For example: get two files and use -O for the first and a custom file\n" -, stdout); - fputs( -" name for the second:\n" -"\n" -" curl -O http://url.com/file.txt ftp://ftp.com/moo.exe -o moo.jpg\n" -"\n" -" You can also upload multiple files in a similar fashion:\n" -"\n" -" curl -T local1 ftp://ftp.com/moo.exe -T local2 ftp://ftp.com/moo2.txt\n" -"\n" -"IPv6\n" -"\n" -" curl will connect to a server with IPv6 when a host lookup returns an IPv6\n" -" address and fall back to IPv4 if the connection fails. The --ipv4 and --ipv6\n" -" options can specify which address to use when both are available. IPv6\n" -, stdout); - fputs( -" addresses can also be specified directly in URLs using the syntax:\n" -"\n" -" http://[2001:1890:1112:1::20]/overview.html\n" -"\n" -" When this style is used, the -g option must be given to stop curl from\n" -" interpreting the square brackets as special globbing characters. Link local\n" -" and site local addresses including a scope identifier, such as fe80::1234%1,\n" -" may also be used, but the scope portion must be numeric and the percent\n" -" character must be URL escaped. The previous example in an SFTP URL might\n" -, stdout); - fputs( -" look like:\n" -"\n" -" sftp://[fe80::1234%251]/\n" -"\n" -" IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface\n" -" or --ftp-port options) should not be URL encoded.\n" -"\n" -"\n" -"MAILING LISTS\n" -"\n" -" For your convenience, we have several open mailing lists to discuss curl,\n" -" its development and things relevant to this. Get all info at\n" -" http://curl.haxx.se/mail/. Some of the lists available are:\n" -"\n" -" curl-users\n" -"\n" -" Users of the command line tool. How to use it, what doesn't work, new\n" -, stdout); - fputs( -" features, related tools, questions, news, installations, compilations,\n" -" running, porting etc.\n" -"\n" -" curl-library\n" -"\n" -" Developers using or developing libcurl. Bugs, extensions, improvements.\n" -"\n" -" curl-announce\n" -"\n" -" Low-traffic. Only receives announcements of new public versions. At worst,\n" -" that makes something like one or two mails per month, but usually only one\n" -" mail every second month.\n" -"\n" -" curl-and-php\n" -"\n" -" Using the curl functions in PHP. Everything curl with a PHP angle. Or PHP\n" -, stdout); - fputs( -" with a curl angle.\n" -"\n" -" curl-and-python\n" -"\n" -" Python hackers using curl with or without the python binding pycurl.\n" -"\n" -" Please direct curl questions, feature requests and trouble reports to one of\n" -" these mailing lists instead of mailing any individual.\n" -, stdout) ; -} -#endif /* USE_MANUAL */ -#else -/* - * NEVER EVER edit this manually, fix the mkhelp.pl script instead! - * Generation time: Fri Aug 22 10:00:29 2008 - */ -#include "setup.h" -#ifdef USE_MANUAL -#include "hugehelp.h" -#include <stdio.h> -#include <stdlib.h> -#include <zlib.h> -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 shrunk from 123812 - to 38358 bytes. You can disable the use of compressed help - texts by NOT passing -c to the mkhelp.pl tool. */ - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd, - 0x69, 0x5b, 0x23, 0x57, 0xb2, 0x2e, 0xfa, 0xf9, 0xf2, 0x2b, 0xb2, 0xe5, - 0xeb, 0x16, 0x74, 0x4b, 0x62, 0xa8, 0x2a, 0xdb, 0x45, 0x57, 0xb9, 0x8d, - 0x81, 0xb2, 0x39, 0xa6, 0x80, 0x83, 0x28, 0x0f, 0xc7, 0xf6, 0x53, 0x4f, - 0x4a, 0x4a, 0x20, 0x1b, 0x49, 0xa9, 0xce, 0x4c, 0x31, 0xb8, 0x77, 0xef, - 0xdf, 0x7e, 0x23, 0xde, 0x88, 0x58, 0x6b, 0xe5, 0x20, 0x28, 0x77, 0xdb, - 0x67, 0x9f, 0xe1, 0x7a, 0xef, 0x2e, 0x40, 0xca, 0x5c, 0x63, 0xac, 0x58, - 0x31, 0xbe, 0x11, 0x45, 0x4f, 0xfd, 0xf7, 0x1e, 0xff, 0x7b, 0x4f, 0xff, - 0xc9, 0xef, 0x51, 0xb4, 0x16, 0x45, 0x67, 0x79, 0xf6, 0xb7, 0x64, 0x5c, - 0xb6, 0xbf, 0xf0, 0xfe, 0xfd, 0x7f, 0x44, 0xf2, 0x7f, 0xf4, 0xc2, 0x4f, - 0xf8, 0x89, 0x97, 0x1e, 0xf9, 0x6f, 0x33, 0xf2, 0x2f, 0xfd, 0xc7, 0xfb, - 0x8d, 0xe8, 0x43, 0x5e, 0xfa, 0x8f, 0x68, 0x1d, 0x2f, 0xbd, 0xd7, 0x9e, - 0x5e, 0xf1, 0xef, 0x34, 0xca, 0xc7, 0x7b, 0xfa, 0x89, 0x87, 0xc7, 0xff, - 0x6c, 0xf2, 0x8b, 0x3f, 0xbd, 0xe7, 0x5f, 0xe9, 0x93, 0xb5, 0xb5, 0x93, - 0xbd, 0xb7, 0x87, 0xf6, 0xea, 0x78, 0x99, 0x4f, 0xa3, 0x7e, 0x54, 0xe6, - 0xf1, 0xbc, 0xb8, 0x4c, 0xf2, 0x28, 0x8e, 0xde, 0x9d, 0x1f, 0xaf, 0xad, - 0x0d, 0x7f, 0x38, 0x39, 0x3d, 0x1b, 0x1e, 0x0d, 0x2b, 0x8f, 0xfd, 0x98, - 0x2d, 0xca, 0x34, 0x9b, 0x17, 0x3f, 0x47, 0x3f, 0xd2, 0x43, 0x83, 0xc1, - 0xe0, 0xe7, 0xb5, 0xb5, 0x83, 0xc3, 0xe1, 0xfe, 0xf9, 0xd1, 0xd9, 0xc5, - 0xd1, 0xe9, 0x49, 0xe5, 0xd9, 0x28, 0x2d, 0x22, 0x6a, 0xac, 0xcc, 0xb2, - 0x29, 0xfd, 0xe3, 0xdb, 0x9f, 0xc4, 0x65, 0x1c, 0x5d, 0xe6, 0xd9, 0x2c, - 0xca, 0x72, 0xfe, 0x22, 0x8e, 0x8a, 0x24, 0xbf, 0x4d, 0xf2, 0x5e, 0xb4, - 0x2c, 0xd2, 0xf9, 0x55, 0x94, 0xcd, 0x93, 0x28, 0xbb, 0x8c, 0xca, 0xeb, - 0xc4, 0x9a, 0x2b, 0x96, 0x8b, 0x45, 0x96, 0x97, 0xc9, 0x24, 0x5a, 0xe4, - 0x59, 0x99, 0x8d, 0xb3, 0x69, 0x11, 0xad, 0x7f, 0x7d, 0x71, 0x71, 0xd6, - 0x8b, 0xf8, 0xdf, 0x61, 0x2f, 0x7a, 0xc3, 0xbf, 0xbf, 0xc1, 0xaf, 0xd1, - 0x70, 0xff, 0x8c, 0xff, 0xc5, 0x47, 0xd1, 0x85, 0xfc, 0x38, 0x38, 0xda, - 0xbf, 0xe8, 0x59, 0x73, 0x17, 0x87, 0xc7, 0x27, 0x87, 0x17, 0xf4, 0xe9, - 0xf1, 0xc1, 0xde, 0x59, 0xc4, 0xa3, 0x88, 0xde, 0x1c, 0x1d, 0x1f, 0x6e, - 0x0c, 0xe8, 0xab, 0xeb, 0x24, 0x1a, 0x67, 0xb3, 0x59, 0x3c, 0x9f, 0xf0, - 0xf0, 0x27, 0x49, 0x91, 0x5e, 0xcd, 0xa9, 0x5f, 0x1a, 0xe6, 0x5d, 0x96, - 0xdf, 0x44, 0x77, 0x69, 0x79, 0x9d, 0x2d, 0x4b, 0x1a, 0x69, 0x92, 0x5b, - 0x73, 0xe9, 0xbc, 0x4c, 0xf2, 0x78, 0xcc, 0xeb, 0x32, 0x58, 0xab, 0xac, - 0x40, 0x76, 0x49, 0xf3, 0x2d, 0x68, 0x82, 0xa3, 0x65, 0x31, 0xcd, 0xe2, - 0x09, 0x4f, 0x8b, 0xde, 0xbc, 0x5c, 0xd2, 0x82, 0xe4, 0xe9, 0xf8, 0xa6, - 0x88, 0xa6, 0xe9, 0x4d, 0xc2, 0x93, 0xba, 0x7f, 0xb0, 0x49, 0xf6, 0xd0, - 0x76, 0x14, 0x2f, 0x69, 0xfe, 0xf3, 0xbe, 0x35, 0x57, 0xa6, 0xe3, 0x98, - 0x3b, 0xa0, 0x41, 0x5f, 0x96, 0x8b, 0x68, 0xb9, 0xe0, 0xe6, 0x64, 0xf6, - 0xd1, 0x22, 0x2b, 0xe8, 0xad, 0xe1, 0xf0, 0x98, 0x46, 0x3e, 0x9f, 0x27, - 0x18, 0x48, 0xd1, 0xa3, 0x3f, 0xb2, 0x9b, 0x34, 0xa1, 0x5f, 0x2e, 0xd3, - 0x69, 0x22, 0xab, 0xef, 0x9a, 0xe3, 0x6d, 0xc8, 0x93, 0x62, 0x39, 0x4b, - 0x22, 0x9e, 0xe9, 0x2c, 0xcb, 0x93, 0x41, 0xb4, 0x57, 0x44, 0x0f, 0xd9, - 0x92, 0xa6, 0x38, 0x9d, 0xd2, 0x8e, 0x24, 0xd1, 0x28, 0x99, 0x66, 0x77, - 0x3d, 0xde, 0x87, 0x68, 0xbe, 0x9c, 0x8d, 0xe8, 0x15, 0x1a, 0xfe, 0x65, - 0x12, 0x97, 0x4b, 0x7a, 0x15, 0x8f, 0x59, 0x73, 0xb3, 0x98, 0x66, 0x41, - 0xef, 0xe6, 0xd1, 0x75, 0x42, 0xb3, 0x2c, 0x16, 0xe9, 0xfc, 0x0f, 0x6b, - 0x4d, 0x5a, 0x58, 0x64, 0x77, 0x49, 0x4e, 0x8b, 0x19, 0x8d, 0x1e, 0x22, - 0x9a, 0xf9, 0x48, 0xbe, 0xb9, 0xe4, 0xf5, 0x8f, 0xa7, 0x53, 0x47, 0x20, - 0xfd, 0x3c, 0x99, 0xc6, 0xbc, 0xd9, 0xd6, 0xd7, 0x20, 0x1a, 0x26, 0x8e, - 0x16, 0xf4, 0xbd, 0xf5, 0x67, 0x1b, 0x78, 0x73, 0x92, 0x94, 0x71, 0x3a, - 0x2d, 0x68, 0xe1, 0x99, 0x68, 0x6d, 0x83, 0x69, 0xc8, 0xf4, 0x67, 0x54, - 0x3c, 0xcc, 0xcb, 0xf8, 0x9e, 0xfb, 0x36, 0xba, 0xa1, 0xe7, 0x17, 0xc9, - 0x7c, 0x92, 0xcc, 0xcb, 0x41, 0xf4, 0x43, 0xb6, 0xec, 0x52, 0xb7, 0x97, - 0x29, 0xad, 0x40, 0x1c, 0x69, 0x4b, 0x3c, 0x3c, 0xda, 0xf5, 0x71, 0x9e, - 0x2e, 0x82, 0xc5, 0xcf, 0xe6, 0xb4, 0xcb, 0xd1, 0xf9, 0x9b, 0xfd, 0xe8, - 0xd9, 0xcb, 0xcf, 0x3e, 0xf1, 0xbb, 0x4c, 0x4d, 0xd0, 0x04, 0xe3, 0x39, - 0x91, 0xe8, 0x22, 0x19, 0xa7, 0x97, 0x34, 0xaf, 0xd9, 0x72, 0x5a, 0xa6, - 0x0b, 0x5a, 0x71, 0x1e, 0x41, 0xc1, 0xc4, 0xb5, 0x88, 0xf3, 0xb2, 0xe0, - 0xb5, 0xc3, 0x07, 0x34, 0xf7, 0xbb, 0x3c, 0x2d, 0x99, 0xd0, 0xf9, 0x0b, - 0x5a, 0xe9, 0xb2, 0xb0, 0xe6, 0x98, 0xba, 0xa8, 0x9f, 0x11, 0x51, 0x13, - 0xad, 0x70, 0x5c, 0x50, 0xa7, 0xbb, 0xae, 0xaf, 0xe8, 0xba, 0x2c, 0x17, - 0xbb, 0x9b, 0x9b, 0x45, 0x5a, 0x26, 0x83, 0x7f, 0xd0, 0x21, 0xe9, 0x95, - 0x77, 0x59, 0xaf, 0xbc, 0xce, 0x93, 0xe4, 0x9f, 0x03, 0xa2, 0x59, 0xf7, - 0x20, 0x75, 0xc9, 0xfb, 0xc8, 0xc3, 0xba, 0x4a, 0xb8, 0x83, 0xbf, 0x2f, - 0x93, 0x39, 0x37, 0x48, 0x43, 0x88, 0xa7, 0x8b, 0xeb, 0x98, 0x76, 0x33, - 0x21, 0xf2, 0xe3, 0x63, 0x47, 0x04, 0xc2, 0x23, 0x92, 0x83, 0xf7, 0xe3, - 0xcf, 0x8d, 0x3e, 0x2f, 0xd1, 0x25, 0xfd, 0x3b, 0xd0, 0x97, 0x62, 0x5a, - 0x6b, 0xea, 0x6c, 0x93, 0x89, 0xea, 0xc7, 0xed, 0xfe, 0xf6, 0xd6, 0xd6, - 0xcf, 0x83, 0xf2, 0xbe, 0xfc, 0xc0, 0x17, 0xb6, 0xb6, 0xfc, 0x2b, 0xfc, - 0xf4, 0x3a, 0xcf, 0x38, 0x9a, 0x12, 0xd1, 0x70, 0xff, 0xbf, 0x24, 0x79, - 0x56, 0x6c, 0xb4, 0x34, 0x35, 0x4d, 0x4a, 0x3a, 0x62, 0x41, 0x3b, 0x71, - 0xff, 0x17, 0xe9, 0xd6, 0x1e, 0x3e, 0xc9, 0xa2, 0x79, 0x52, 0x60, 0x55, - 0x85, 0x75, 0x04, 0xd3, 0xa6, 0xed, 0xf7, 0x0c, 0x24, 0x2e, 0xf1, 0xed, - 0x2c, 0x9b, 0x11, 0x0d, 0xf4, 0xe8, 0x60, 0x96, 0x6e, 0xb1, 0xe8, 0xdc, - 0x39, 0x86, 0x93, 0x10, 0x3f, 0x8a, 0xa7, 0xcc, 0x8a, 0x0a, 0x6a, 0x98, - 0x06, 0x4b, 0x0c, 0x20, 0x89, 0xc7, 0xd7, 0x51, 0x46, 0x6f, 0xe7, 0xcd, - 0x4d, 0x89, 0xe7, 0x0f, 0x83, 0x2c, 0xbf, 0xda, 0x8c, 0xf3, 0xf1, 0x75, - 0x7a, 0x4b, 0x2b, 0xf3, 0xf2, 0xe5, 0x27, 0x7d, 0xfa, 0xe7, 0xe5, 0xcf, - 0x9b, 0xb7, 0xd9, 0x94, 0x16, 0xea, 0xf9, 0xcf, 0x9b, 0xbc, 0xdd, 0xff, - 0x88, 0x7b, 0xa3, 0xde, 0xf8, 0x9f, 0x83, 0xeb, 0x72, 0x36, 0x7d, 0x8c, - 0x8a, 0xa8, 0xbd, 0x28, 0x9e, 0x65, 0xcb, 0x79, 0xe9, 0x08, 0x87, 0x68, - 0xb0, 0x0c, 0xb8, 0xd3, 0x34, 0x9d, 0xd3, 0x99, 0x25, 0x4a, 0x7f, 0x90, - 0x13, 0x3b, 0x4a, 0xfc, 0xe1, 0x2e, 0xc7, 0xd7, 0x34, 0x55, 0xa2, 0xa4, - 0x58, 0x97, 0xa1, 0x4c, 0x69, 0x32, 0xf4, 0xda, 0x9c, 0x0e, 0x71, 0x2a, - 0xed, 0x48, 0x57, 0x29, 0x3d, 0x97, 0xe5, 0x93, 0x24, 0xf7, 0x34, 0x3d, - 0x4c, 0x69, 0xd5, 0xe4, 0xd4, 0x7e, 0x3a, 0xd8, 0x7e, 0x31, 0xd8, 0x76, - 0x0b, 0x44, 0x5b, 0x99, 0xb9, 0x21, 0x16, 0x65, 0xb2, 0xa0, 0xc1, 0x2c, - 0x99, 0xf9, 0xe1, 0x24, 0x72, 0xa3, 0x74, 0x82, 0xaf, 0x98, 0xe5, 0x44, - 0x45, 0xe6, 0x0e, 0xcf, 0x75, 0x5c, 0x56, 0xe8, 0x91, 0x97, 0xf6, 0x21, - 0x3a, 0xa1, 0x7d, 0x37, 0xae, 0x92, 0x47, 0xb2, 0xc1, 0xbb, 0xf5, 0x55, - 0xbd, 0xbb, 0xbb, 0x5b, 0x4d, 0x77, 0xbb, 0xdb, 0x35, 0xd2, 0x0b, 0x5e, - 0x6a, 0x23, 0x98, 0xdd, 0x9d, 0x2a, 0xc9, 0x1c, 0x5d, 0x46, 0x18, 0x97, - 0x5f, 0x74, 0x66, 0x19, 0x8e, 0xc3, 0x1b, 0xc7, 0xa0, 0x16, 0xe9, 0xf7, - 0xe4, 0x32, 0xbd, 0xef, 0xc9, 0xa2, 0x60, 0xb5, 0x63, 0x6a, 0x7f, 0xb6, - 0x60, 0xb2, 0xb0, 0xe6, 0xae, 0x96, 0x49, 0x41, 0x5c, 0x91, 0x67, 0xeb, - 0x98, 0x0d, 0x37, 0x3f, 0x4b, 0xaf, 0xae, 0xcb, 0xe8, 0x2e, 0x66, 0x8e, - 0x73, 0x54, 0xca, 0xdb, 0xcc, 0xda, 0x89, 0xcb, 0x5c, 0xc6, 0xc4, 0x2b, - 0x22, 0x26, 0x2d, 0x61, 0xe4, 0x4c, 0x8d, 0x6e, 0xd9, 0x68, 0x8d, 0x84, - 0xd8, 0xa2, 0xe0, 0xd2, 0x1b, 0xc5, 0x05, 0x6f, 0xd8, 0x9c, 0x88, 0xa2, - 0xa4, 0xdb, 0x61, 0xc9, 0x7f, 0x5d, 0x13, 0xfb, 0x8f, 0xe6, 0xf1, 0x2c, - 0xd1, 0x61, 0x32, 0xbf, 0x7c, 0x43, 0x6b, 0x9a, 0xdc, 0xc7, 0x33, 0xc7, - 0xc2, 0x88, 0x21, 0xf5, 0xb0, 0x4b, 0xee, 0x69, 0x3a, 0x14, 0x25, 0x11, - 0x24, 0x9f, 0x18, 0x1c, 0xc2, 0x0e, 0x1f, 0xb4, 0x4e, 0x38, 0xc5, 0x02, - 0xf7, 0x03, 0x96, 0x88, 0x87, 0x1f, 0x05, 0x93, 0xa5, 0x25, 0x8b, 0x6f, - 0xf8, 0xbe, 0xf5, 0x64, 0xb3, 0xdf, 0xb2, 0x36, 0x74, 0xc7, 0xf0, 0x18, - 0xc3, 0x7b, 0x09, 0x83, 0x70, 0x3c, 0xd2, 0x5f, 0x4d, 0x7c, 0x51, 0xf6, - 0xea, 0x64, 0x43, 0xe4, 0x82, 0x01, 0xce, 0xf8, 0x38, 0xf0, 0xb3, 0x85, - 0xc8, 0x0d, 0xa0, 0x5f, 0x9e, 0xb1, 0x08, 0x0e, 0xd2, 0xed, 0x3c, 0x2b, - 0xa3, 0x49, 0x16, 0xf0, 0x5f, 0xea, 0xd5, 0xcd, 0x9f, 0xbb, 0x2f, 0x48, - 0xf0, 0x22, 0xe6, 0x37, 0x29, 0xae, 0xe9, 0xba, 0x2a, 0xf8, 0xec, 0x10, - 0x67, 0x48, 0x67, 0xb4, 0xba, 0xb7, 0xbc, 0x1a, 0x8b, 0x24, 0x99, 0x0c, - 0xa2, 0xd3, 0x4b, 0x26, 0xea, 0x9c, 0x06, 0x5d, 0xe2, 0x6b, 0x3e, 0x77, - 0xd3, 0x07, 0x6a, 0x98, 0x85, 0x92, 0xb9, 0x3b, 0x62, 0x18, 0x4b, 0x70, - 0x84, 0x70, 0xd4, 0x68, 0xa8, 0xd3, 0xea, 0x01, 0xc5, 0xed, 0xca, 0x94, - 0xcf, 0x83, 0xa3, 0x23, 0x1a, 0x45, 0xd8, 0x32, 0xfa, 0xad, 0xbc, 0x4b, - 0x92, 0xb9, 0x67, 0x37, 0xc4, 0x1b, 0xe8, 0xca, 0x93, 0xd5, 0x4f, 0xe7, - 0xb7, 0x19, 0x0f, 0x70, 0x6d, 0xed, 0xec, 0xfc, 0xf4, 0xab, 0xf3, 0xc3, - 0xe1, 0x30, 0x7a, 0x7b, 0x78, 0x71, 0x78, 0x5e, 0xbd, 0x50, 0xe7, 0x59, - 0x3e, 0xa3, 0x5b, 0x93, 0xa8, 0x64, 0x92, 0x16, 0x8b, 0x69, 0xfc, 0xc0, - 0x72, 0x06, 0xcd, 0xe5, 0x2a, 0x67, 0x3a, 0x9c, 0x25, 0x7c, 0x2c, 0x27, - 0xcb, 0x1c, 0x1c, 0x71, 0x41, 0xcc, 0x4c, 0xa5, 0x02, 0xba, 0xec, 0x20, - 0x4a, 0xcc, 0xaf, 0xac, 0x39, 0xcf, 0x66, 0x6c, 0x23, 0xf8, 0x8e, 0x66, - 0x21, 0xad, 0xe7, 0x65, 0x36, 0xac, 0x0e, 0x8b, 0x73, 0x3c, 0x1f, 0x66, - 0xb4, 0x33, 0xdc, 0xd0, 0x74, 0x35, 0xd2, 0x2e, 0xd0, 0xf1, 0xbd, 0x74, - 0x84, 0x4b, 0xcc, 0xc7, 0x13, 0xc5, 0xd7, 0x74, 0xe3, 0x43, 0xb2, 0xe3, - 0xc5, 0x19, 0x27, 0x36, 0x76, 0x37, 0x62, 0x88, 0x82, 0x2c, 0x1b, 0xd2, - 0x86, 0xd2, 0x80, 0x67, 0xe9, 0x9c, 0xf8, 0x14, 0xdd, 0x47, 0x7a, 0x36, - 0x68, 0xb8, 0x97, 0x4c, 0x80, 0x5e, 0xd2, 0xe2, 0x95, 0x91, 0x46, 0xe8, - 0x2d, 0xda, 0x6d, 0xe2, 0x29, 0x6e, 0x76, 0x18, 0x5c, 0x5a, 0xf2, 0x9e, - 0xc5, 0x23, 0x3e, 0xc2, 0x7c, 0xb0, 0xf8, 0xae, 0xa5, 0x7e, 0xd1, 0x11, - 0x3e, 0x08, 0xc4, 0x4a, 0xeb, 0x91, 0x86, 0x47, 0xaf, 0xd1, 0xa0, 0xe2, - 0x11, 0x6f, 0x2b, 0x0f, 0xa6, 0xb6, 0x90, 0x74, 0x2d, 0xe2, 0x2c, 0xde, - 0xa5, 0x44, 0x18, 0xf4, 0xec, 0x5d, 0xb6, 0x9c, 0x92, 0xd8, 0xc4, 0x0f, - 0x2c, 0x17, 0x9e, 0x64, 0x89, 0x44, 0x96, 0xe5, 0x82, 0x7a, 0x9e, 0xa5, - 0xf7, 0xb8, 0xe0, 0x6b, 0xad, 0xd0, 0xf8, 0xe8, 0xcf, 0x05, 0x6d, 0x44, - 0x82, 0x11, 0x0d, 0x42, 0x66, 0x04, 0xd9, 0x8b, 0xcf, 0x59, 0x63, 0x1b, - 0xf9, 0xc8, 0x80, 0x41, 0x9c, 0x9d, 0x0e, 0x2f, 0x98, 0x5d, 0x9e, 0xbd, - 0xbb, 0xa0, 0x86, 0x88, 0xb1, 0x17, 0x25, 0x6d, 0x29, 0xbf, 0x38, 0x4f, - 0x20, 0xa4, 0x5a, 0x73, 0xb4, 0x83, 0x69, 0x0e, 0x95, 0x85, 0x07, 0xe5, - 0x3b, 0xb5, 0xf1, 0x41, 0xea, 0x66, 0x22, 0x36, 0x99, 0xbb, 0xb8, 0x4e, - 0xe8, 0x08, 0xb9, 0xd7, 0xd6, 0x3f, 0xdf, 0xe8, 0x45, 0x7d, 0xd7, 0xdc, - 0x8f, 0xfc, 0xe8, 0xcf, 0xdc, 0x73, 0x91, 0xce, 0xd2, 0x69, 0x1c, 0xdc, - 0x16, 0x47, 0x58, 0x6f, 0x26, 0x6f, 0x77, 0x28, 0xc7, 0xc4, 0xa4, 0x30, - 0x66, 0xe2, 0x0f, 0x2a, 0xa9, 0xf2, 0x02, 0xe2, 0x44, 0xfb, 0xcd, 0x62, - 0x81, 0x10, 0xa7, 0x82, 0xa4, 0xc5, 0x32, 0x10, 0xb5, 0x98, 0x5e, 0x69, - 0x84, 0x7c, 0xe2, 0x2b, 0x6b, 0x55, 0x27, 0x93, 0xc6, 0xda, 0x31, 0xf7, - 0x83, 0xf6, 0xe2, 0x56, 0xaf, 0x33, 0x8a, 0xf3, 0x0e, 0x11, 0x0d, 0x5d, - 0x55, 0x22, 0x7b, 0xe3, 0x8a, 0x4a, 0xae, 0x96, 0x34, 0x03, 0x59, 0x5a, - 0x9a, 0xe4, 0x47, 0x3c, 0x12, 0x96, 0x5d, 0xdd, 0xd9, 0x26, 0xa1, 0x68, - 0x3e, 0x19, 0xac, 0x9d, 0x42, 0xa3, 0x71, 0xea, 0xcf, 0x11, 0xdf, 0x5e, - 0x73, 0x96, 0x0a, 0x7a, 0x90, 0x56, 0x47, 0xa4, 0xd6, 0x24, 0x20, 0x3f, - 0xe1, 0x6b, 0x71, 0x9e, 0x44, 0xc9, 0x9c, 0x29, 0x68, 0x22, 0x0c, 0xb5, - 0xdf, 0x97, 0xaf, 0xb0, 0xed, 0x0f, 0x74, 0xf1, 0xc5, 0x57, 0x71, 0xea, - 0x8e, 0xbc, 0x52, 0xdb, 0x24, 0xb2, 0x87, 0xe7, 0x99, 0x3e, 0xcf, 0x8c, - 0x29, 0xe6, 0x55, 0x95, 0x9d, 0x5d, 0x82, 0x15, 0x25, 0xcc, 0xce, 0x69, - 0x63, 0xb0, 0xc0, 0xda, 0x2e, 0x73, 0x71, 0x6b, 0x6e, 0x84, 0x1b, 0x8b, - 0xd9, 0x3f, 0xc8, 0x13, 0x0c, 0x9d, 0x5a, 0xec, 0x0c, 0xfc, 0x11, 0xc4, - 0xbd, 0x9f, 0xb2, 0xca, 0x41, 0x37, 0xc0, 0x1d, 0x8b, 0x40, 0x45, 0x49, - 0xec, 0x03, 0xec, 0x0d, 0x9f, 0xd1, 0x38, 0x1d, 0x43, 0xba, 0xce, 0xee, - 0x84, 0x76, 0xdc, 0x2c, 0xa8, 0x8d, 0x22, 0xc5, 0xcd, 0xc3, 0x9f, 0xcf, - 0x06, 0xd1, 0x3a, 0xf8, 0x27, 0x31, 0xd9, 0x71, 0xb2, 0x28, 0xfd, 0x2c, - 0xdc, 0x82, 0xdc, 0xc5, 0x4e, 0xae, 0x8d, 0x27, 0x13, 0x91, 0x47, 0x58, - 0xa2, 0x78, 0x39, 0xd8, 0x1a, 0xb0, 0x4e, 0x9d, 0xdc, 0xa6, 0x19, 0xa9, - 0x45, 0x2c, 0x32, 0xf3, 0x9d, 0xe4, 0xde, 0x8b, 0x58, 0x49, 0xe0, 0xb3, - 0x7a, 0x75, 0x85, 0xf5, 0xc9, 0xe6, 0x9b, 0xa4, 0x47, 0x45, 0x01, 0xf7, - 0xcd, 0x49, 0x86, 0x07, 0xfb, 0xe1, 0xb5, 0x31, 0x71, 0x0f, 0x94, 0x17, - 0xb2, 0x5e, 0x5d, 0xcd, 0x0d, 0x47, 0x27, 0xfd, 0x78, 0xb3, 0xdf, 0x8f, - 0x17, 0x2c, 0xff, 0xd7, 0xb4, 0xe6, 0x75, 0xa2, 0xd4, 0x4d, 0x56, 0x18, - 0x37, 0xa2, 0xef, 0xf8, 0x6a, 0x06, 0x93, 0x66, 0xf1, 0x69, 0xee, 0x34, - 0x2d, 0x2c, 0x9d, 0x5c, 0xde, 0x7c, 0x52, 0x8c, 0x05, 0xb5, 0x36, 0x67, - 0x94, 0x1a, 0xe7, 0x2c, 0xef, 0xe0, 0x8e, 0x73, 0x54, 0xc8, 0xe3, 0x8d, - 0xe8, 0xc2, 0xc9, 0x4d, 0x09, 0xa0, 0xfd, 0x1a, 0x88, 0x30, 0x82, 0xa3, - 0xca, 0x4f, 0xd7, 0x9a, 0x9b, 0x64, 0x49, 0x31, 0xef, 0xd2, 0x0a, 0x25, - 0xf7, 0x29, 0x6b, 0x7a, 0xbc, 0xc3, 0x32, 0x14, 0xdc, 0x28, 0xe3, 0x1c, - 0x8b, 0x31, 0x80, 0x14, 0x5c, 0x26, 0x72, 0xce, 0x30, 0xdc, 0xcb, 0x69, - 0x7c, 0x45, 0x74, 0x54, 0x6b, 0x8e, 0x14, 0xda, 0x8c, 0x39, 0x3c, 0xb1, - 0xd9, 0x82, 0xa4, 0x60, 0x52, 0x1c, 0xbf, 0xd6, 0x7b, 0x94, 0x94, 0x6a, - 0xe2, 0xd2, 0xd3, 0x25, 0x84, 0xf1, 0x53, 0x9a, 0x18, 0x7d, 0xb5, 0xe1, - 0xcf, 0x59, 0x7f, 0x8f, 0xd6, 0x8f, 0x95, 0xd3, 0x7e, 0x4c, 0x27, 0xa1, - 0x8c, 0x5e, 0xc9, 0x8f, 0xa2, 0xe4, 0x4b, 0xe6, 0xf3, 0xfa, 0x92, 0x32, - 0xc3, 0xda, 0x88, 0x86, 0x2a, 0x5b, 0xf1, 0xdc, 0xde, 0xf1, 0xab, 0x7b, - 0xc1, 0x3b, 0xbc, 0x50, 0x05, 0x2d, 0x9f, 0x2d, 0x18, 0x78, 0x9c, 0x0c, - 0x65, 0x50, 0x6b, 0x6e, 0xc8, 0x23, 0xa5, 0xf9, 0xc6, 0x13, 0x26, 0x18, - 0xb9, 0x8e, 0xa3, 0xfd, 0xaf, 0x8e, 0x88, 0x5c, 0x2e, 0x49, 0x6b, 0x8b, - 0xf8, 0xa2, 0x90, 0x49, 0xd3, 0x0a, 0x26, 0xc4, 0x9b, 0x69, 0xde, 0x58, - 0x33, 0x52, 0xaf, 0x42, 0xc1, 0x45, 0xff, 0xeb, 0xbc, 0xcd, 0x7e, 0xa1, - 0x05, 0x8c, 0x37, 0x9f, 0x0f, 0xb6, 0xe8, 0x8c, 0x5c, 0x90, 0x70, 0x3f, - 0x1f, 0x67, 0x13, 0xd2, 0x79, 0xa7, 0xf1, 0x9c, 0xd4, 0x72, 0xd0, 0x2a, - 0xf6, 0x43, 0x46, 0xca, 0x17, 0xd8, 0x32, 0xcf, 0xe9, 0xa2, 0x9c, 0x54, - 0x6e, 0x10, 0x3b, 0x2e, 0x32, 0x1d, 0x39, 0x04, 0x26, 0x07, 0x44, 0x7f, - 0x5f, 0xf2, 0x76, 0xcc, 0xe2, 0xfc, 0xc6, 0x84, 0x0d, 0x27, 0x44, 0x8f, - 0x12, 0x0c, 0x0c, 0xcf, 0x37, 0x9b, 0xeb, 0x7f, 0x4d, 0x0b, 0xcd, 0x9a, - 0x34, 0x0b, 0xc7, 0x72, 0xfa, 0x32, 0x13, 0x4b, 0xfc, 0x76, 0x78, 0xee, - 0x87, 0x79, 0xeb, 0x83, 0xac, 0xec, 0x50, 0xcb, 0xac, 0xd1, 0x33, 0x25, - 0xd0, 0x9b, 0x74, 0x3e, 0x45, 0x89, 0x9f, 0xc6, 0x74, 0xcc, 0x78, 0xe1, - 0x3c, 0xed, 0x34, 0xfb, 0xe6, 0xef, 0x99, 0x82, 0xba, 0x05, 0x4e, 0x41, - 0xb0, 0xfb, 0x7d, 0x62, 0xc9, 0x6c, 0x95, 0x68, 0xdf, 0xe8, 0x0b, 0x3a, - 0x15, 0x85, 0x3b, 0x16, 0x97, 0xe9, 0x15, 0x29, 0xee, 0xc2, 0xc8, 0x61, - 0xc8, 0x30, 0xfb, 0x05, 0xb3, 0xdd, 0xeb, 0x0c, 0xc4, 0x97, 0x96, 0x45, - 0x32, 0xbd, 0xec, 0xd5, 0x9a, 0xe3, 0xe3, 0x6b, 0x2c, 0x0f, 0x7c, 0xa1, - 0x48, 0xc6, 0x68, 0x6a, 0x9e, 0x28, 0xfb, 0x9e, 0xf1, 0xaa, 0xb2, 0x12, - 0x1c, 0x8d, 0xa7, 0x71, 0x3a, 0x2b, 0x70, 0x1c, 0x54, 0xc1, 0x2b, 0xea, - 0x74, 0x73, 0xa1, 0x42, 0x1c, 0x08, 0x66, 0xc4, 0x42, 0x64, 0x5e, 0xb0, - 0x98, 0xc8, 0xdb, 0x15, 0xdb, 0x1d, 0x8a, 0x4e, 0x49, 0x65, 0x1a, 0xdf, - 0x80, 0x28, 0xd1, 0x8b, 0xdc, 0x3c, 0xfd, 0x5a, 0x73, 0xb2, 0x29, 0x05, - 0xaf, 0xe7, 0xb2, 0x60, 0xc3, 0x4b, 0x91, 0x8e, 0x88, 0x20, 0x49, 0xa8, - 0x5a, 0x8e, 0x41, 0x01, 0xac, 0xc4, 0x91, 0xba, 0x98, 0xc7, 0x2c, 0x72, - 0x96, 0x30, 0x19, 0x45, 0x20, 0x9b, 0x3e, 0x91, 0xc8, 0xa2, 0x75, 0x74, - 0xb8, 0x09, 0x45, 0x2c, 0xac, 0x30, 0x89, 0x42, 0x85, 0x5f, 0xb6, 0x4d, - 0xa8, 0xa4, 0x39, 0xae, 0xad, 0x66, 0xad, 0x39, 0x59, 0xdb, 0x1e, 0x29, - 0x21, 0x29, 0x69, 0xaa, 0xa6, 0x73, 0x91, 0x94, 0x24, 0x74, 0xd9, 0xef, - 0x93, 0xfa, 0x90, 0x8e, 0x7b, 0xfc, 0xdb, 0x24, 0x25, 0x3d, 0xad, 0xc4, - 0xaf, 0xf3, 0x72, 0x3a, 0xeb, 0x45, 0x21, 0xf7, 0x77, 0x3b, 0x3e, 0x4f, - 0xae, 0x32, 0x52, 0x1d, 0xcb, 0x26, 0xd5, 0x81, 0xd3, 0x08, 0xab, 0x51, - 0x09, 0xc2, 0xd1, 0x87, 0xc9, 0x03, 0x24, 0x48, 0x10, 0x3b, 0x66, 0x63, - 0xcb, 0x44, 0xc5, 0x38, 0x1e, 0x8a, 0xf0, 0xd3, 0x3a, 0x4f, 0x82, 0x54, - 0x5f, 0x94, 0xc4, 0x78, 0x7a, 0x2a, 0x29, 0xd2, 0xa6, 0xce, 0xe2, 0x07, - 0xec, 0x10, 0x89, 0x24, 0x4e, 0x02, 0xc0, 0xc1, 0x21, 0x06, 0x52, 0xde, - 0xa5, 0x63, 0x95, 0xae, 0x79, 0x41, 0xea, 0x0c, 0x98, 0xf5, 0xe4, 0x69, - 0xca, 0x0f, 0xce, 0x96, 0xb4, 0xbf, 0xf4, 0x16, 0x5f, 0xb6, 0xa2, 0x91, - 0xdc, 0xd1, 0x6e, 0x0d, 0xe4, 0xd8, 0x24, 0x22, 0x37, 0xd1, 0x6d, 0xc7, - 0xe2, 0x5c, 0x9c, 0xb3, 0x74, 0x77, 0xd7, 0x6c, 0x4e, 0xc6, 0xcc, 0x93, - 0x0c, 0xc7, 0xc9, 0xaf, 0xab, 0x74, 0xe3, 0xa5, 0x1a, 0x1c, 0x2d, 0xe6, - 0x48, 0xc1, 0xc1, 0x19, 0xd1, 0x69, 0x16, 0x63, 0x5c, 0xf4, 0x8a, 0xef, - 0xec, 0xd7, 0x3c, 0x99, 0x15, 0xfc, 0xf2, 0x8c, 0xb4, 0x2e, 0xb4, 0x1c, - 0x8a, 0x3c, 0x01, 0x5f, 0x64, 0x41, 0x2a, 0x56, 0xd3, 0xde, 0x40, 0x85, - 0x2f, 0x26, 0xfe, 0x3a, 0xa1, 0x12, 0x69, 0x26, 0x60, 0x95, 0xae, 0xad, - 0x85, 0xbf, 0x70, 0x69, 0x67, 0x92, 0xf4, 0x96, 0x0d, 0x6c, 0x4e, 0x99, - 0x92, 0xc6, 0x61, 0x31, 0xe8, 0x0c, 0x93, 0xb2, 0xde, 0xdc, 0x3e, 0x3a, - 0xdc, 0xed, 0xa8, 0xd5, 0x01, 0x06, 0x36, 0xb4, 0xaa, 0x4b, 0x47, 0x0b, - 0xac, 0x66, 0x85, 0x4b, 0x56, 0x4b, 0x88, 0x28, 0x3a, 0x6c, 0x61, 0xde, - 0x7e, 0xfd, 0xed, 0xde, 0xf1, 0xbb, 0xc3, 0xed, 0xbf, 0xd4, 0xa9, 0x87, - 0xbe, 0xdb, 0x91, 0xef, 0x76, 0x3a, 0x6d, 0x1c, 0x8d, 0x08, 0x28, 0x8a, - 0xba, 0xaf, 0xbb, 0x6a, 0x18, 0xe0, 0x59, 0xda, 0x9d, 0x0c, 0x4e, 0x46, - 0xa3, 0xe8, 0xa9, 0xa8, 0x5f, 0xca, 0xf5, 0x27, 0x0b, 0xc3, 0xb7, 0x67, - 0x7d, 0xec, 0x50, 0x8d, 0x69, 0x25, 0xc1, 0x55, 0x98, 0x00, 0xe2, 0x49, - 0xb8, 0x18, 0x45, 0x89, 0xdb, 0x50, 0x37, 0x88, 0x5b, 0x2e, 0x84, 0x1e, - 0xe9, 0x4c, 0xe0, 0x20, 0xd5, 0x79, 0xbd, 0xcc, 0x98, 0xa7, 0xec, 0x87, - 0x04, 0xae, 0x5b, 0x40, 0x3e, 0x4a, 0x41, 0x58, 0x0f, 0x44, 0xbd, 0xe5, - 0xf8, 0x7a, 0x40, 0x97, 0x9e, 0xf0, 0x94, 0xb4, 0xd0, 0xe3, 0x59, 0xe7, - 0x77, 0x7c, 0x1d, 0xb0, 0xf1, 0xf8, 0x96, 0x66, 0x21, 0x5b, 0xdf, 0xd1, - 0xb1, 0x90, 0x4e, 0x48, 0xfb, 0xd2, 0xd1, 0xe3, 0x0c, 0xca, 0x82, 0xa1, - 0x55, 0x95, 0x28, 0x3e, 0x5f, 0x79, 0xbd, 0x39, 0x3a, 0x3b, 0xd9, 0x8c, - 0x7b, 0x54, 0xeb, 0x2f, 0x5b, 0xdf, 0x8d, 0x21, 0xf0, 0x79, 0xa2, 0x51, - 0xb3, 0x0a, 0xfc, 0xa0, 0x27, 0xb2, 0x9b, 0x27, 0x7a, 0x7c, 0x45, 0xdb, - 0xad, 0x53, 0x3e, 0x35, 0x36, 0x22, 0x61, 0x5b, 0x49, 0x5b, 0x2e, 0xab, - 0xa8, 0x7f, 0x4c, 0x04, 0x3d, 0xcd, 0x94, 0xa1, 0x7b, 0xa1, 0x55, 0xa5, - 0x97, 0xc8, 0xd1, 0x40, 0x76, 0xd9, 0x72, 0x2e, 0xf5, 0x19, 0x56, 0xc5, - 0xb0, 0x15, 0x36, 0x50, 0x39, 0x5a, 0x8e, 0x9c, 0x48, 0x3f, 0xa4, 0x95, - 0x05, 0xe5, 0x2b, 0xd3, 0x25, 0xf5, 0xa3, 0xa5, 0xb9, 0x93, 0xa4, 0x2c, - 0xc6, 0xf1, 0x22, 0xd9, 0xd4, 0x1b, 0xdd, 0x36, 0x12, 0xbd, 0xc8, 0x40, - 0x9a, 0xcc, 0xeb, 0xf4, 0xe2, 0xd0, 0xc4, 0x24, 0x7d, 0xd2, 0xab, 0xf2, - 0x22, 0xc8, 0x06, 0x67, 0x96, 0x4f, 0x18, 0x84, 0x64, 0x65, 0xd2, 0x71, - 0x43, 0xa0, 0x9a, 0x93, 0x4a, 0x35, 0x80, 0x0d, 0xd2, 0x26, 0xa3, 0x16, - 0x39, 0x23, 0x2e, 0x3b, 0x1b, 0xd4, 0x13, 0x84, 0x0d, 0x7c, 0xec, 0x0c, - 0xf4, 0x75, 0x6e, 0xa3, 0xb7, 0x5f, 0x7f, 0xec, 0xc6, 0xd0, 0xff, 0x5b, - 0xec, 0x25, 0x01, 0xb5, 0xee, 0x62, 0xa1, 0x48, 0xb2, 0x9f, 0x93, 0xe8, - 0x7b, 0x9b, 0xe8, 0xda, 0xf2, 0x7a, 0xb5, 0x5f, 0x59, 0x5e, 0xe5, 0x33, - 0x7e, 0x7d, 0x40, 0xcd, 0x4f, 0x96, 0xb3, 0x85, 0x4a, 0x1a, 0x7f, 0x68, - 0x3b, 0x86, 0x22, 0x51, 0xfd, 0x5a, 0xd1, 0x62, 0x94, 0xfc, 0x2a, 0xc1, - 0xe2, 0x4b, 0x11, 0x2b, 0xfb, 0x71, 0x31, 0x4e, 0xd3, 0xda, 0x5b, 0x87, - 0xd0, 0xa8, 0xa2, 0xbd, 0xe1, 0xfe, 0xd1, 0x91, 0xb7, 0x46, 0xdc, 0x89, - 0x90, 0xce, 0xd3, 0x60, 0x1d, 0x93, 0x96, 0x84, 0x3d, 0x39, 0x62, 0xf6, - 0x82, 0xbf, 0x47, 0xc6, 0x4d, 0xb7, 0x5f, 0xdb, 0x69, 0xe3, 0xf1, 0x25, - 0x73, 0xa2, 0x8d, 0xb1, 0x48, 0xc1, 0xd2, 0x10, 0xcd, 0x87, 0xed, 0x7f, - 0x20, 0x0b, 0xba, 0xb4, 0x0a, 0x55, 0xa2, 0xfe, 0x52, 0x3e, 0x2c, 0x92, - 0xd7, 0x7b, 0x1d, 0x91, 0xe0, 0xea, 0x73, 0x92, 0x85, 0x19, 0xc7, 0x34, - 0x7c, 0x35, 0x66, 0xc8, 0xed, 0xc4, 0x5b, 0x3c, 0x51, 0x13, 0x84, 0xf2, - 0x46, 0x36, 0x22, 0xcf, 0x58, 0xc4, 0x14, 0x87, 0x07, 0xdd, 0x42, 0xcf, - 0x76, 0xea, 0xac, 0xe5, 0x81, 0xae, 0xff, 0x59, 0x11, 0xca, 0x5c, 0xb8, - 0xb1, 0xdb, 0xaf, 0x8a, 0x9a, 0xc8, 0xc5, 0x64, 0x83, 0xe3, 0xf2, 0x25, - 0xbf, 0x52, 0x13, 0x14, 0x06, 0x4e, 0x10, 0x6a, 0x6e, 0x8c, 0xd9, 0x21, - 0xf9, 0x32, 0xad, 0x49, 0x92, 0xcb, 0x62, 0x09, 0x13, 0xd3, 0x82, 0xe4, - 0xa5, 0x72, 0x4a, 0x0c, 0xae, 0x17, 0x2d, 0xe7, 0xfc, 0xd3, 0x69, 0xa6, - 0xc4, 0x84, 0x9b, 0xca, 0x0f, 0xf4, 0x9b, 0x3c, 0xe5, 0xb9, 0xc6, 0x51, - 0xc8, 0x6b, 0x45, 0x1a, 0xd7, 0xf6, 0x55, 0x7a, 0x60, 0xff, 0x07, 0x3d, - 0x36, 0x49, 0xd9, 0x57, 0x46, 0x23, 0xae, 0xef, 0x58, 0xab, 0xf8, 0xb8, - 0x5e, 0x2c, 0x89, 0xa1, 0x11, 0xcb, 0x77, 0xe2, 0x8b, 0x89, 0x34, 0x6a, - 0xa2, 0x32, 0xd9, 0xa5, 0x7e, 0x19, 0x10, 0x93, 0x0d, 0x35, 0x9a, 0xfe, - 0x38, 0x5d, 0x5c, 0xf3, 0xe9, 0x78, 0x05, 0x0d, 0x98, 0xa5, 0x6c, 0xf9, - 0xa0, 0x71, 0x3d, 0x0f, 0x87, 0xc7, 0xa6, 0xcd, 0xe0, 0x80, 0x83, 0xa3, - 0xda, 0xdb, 0xba, 0xfc, 0xa9, 0x59, 0xe8, 0xcd, 0xda, 0x29, 0x5c, 0x91, - 0x9b, 0xae, 0x13, 0x8e, 0xeb, 0xc8, 0x09, 0x28, 0x42, 0x85, 0xb7, 0xf1, - 0x34, 0x9d, 0xd8, 0x77, 0x83, 0xe8, 0x9c, 0x39, 0xe4, 0x72, 0xc1, 0xa7, - 0x27, 0x82, 0x87, 0x4f, 0xbf, 0xaa, 0x35, 0x87, 0xc1, 0x87, 0x3b, 0x0a, - 0x9f, 0x58, 0xe5, 0xf0, 0x55, 0xd8, 0x66, 0x1a, 0x7c, 0x47, 0x44, 0xbf, - 0x5b, 0x67, 0x19, 0xde, 0x90, 0x4e, 0x92, 0xcd, 0xbc, 0x28, 0xa6, 0xf0, - 0x6d, 0x4c, 0xb2, 0x71, 0xb1, 0x49, 0x0a, 0x6f, 0xb1, 0x69, 0xe3, 0xab, - 0x78, 0x31, 0x8c, 0xb9, 0x0e, 0x87, 0x6e, 0x6e, 0x6c, 0x13, 0x81, 0xe4, - 0xed, 0x76, 0x77, 0xfa, 0x20, 0xac, 0x43, 0xb4, 0xcb, 0x63, 0xdd, 0xad, - 0xaf, 0xe6, 0xcb, 0x8b, 0xe3, 0xa1, 0xc8, 0x15, 0x75, 0xc9, 0x70, 0xc9, - 0xba, 0x8a, 0xed, 0x4e, 0xd8, 0x38, 0xee, 0x2b, 0xb9, 0x03, 0x86, 0xc3, - 0x7d, 0x7c, 0x38, 0x5c, 0xb2, 0x5a, 0x40, 0xdd, 0xe4, 0x0f, 0x91, 0x2a, - 0xc1, 0xb5, 0xe6, 0x78, 0xb6, 0x36, 0x3f, 0xb1, 0x75, 0x65, 0xf9, 0xc3, - 0xe0, 0x32, 0x99, 0x64, 0x79, 0x3c, 0x20, 0x56, 0x4d, 0x24, 0x09, 0xa7, - 0x01, 0xe6, 0x4a, 0xc7, 0xf5, 0x3d, 0xcd, 0x1e, 0xd3, 0xfc, 0xe8, 0x80, - 0x9f, 0xae, 0x93, 0x13, 0x5d, 0xdb, 0x49, 0xf1, 0xb4, 0x46, 0x86, 0x8b, - 0xc3, 0x7c, 0x4a, 0x6c, 0x32, 0x2d, 0xda, 0xd8, 0xa6, 0x9d, 0x9a, 0x96, - 0x5b, 0x0e, 0xc6, 0xc7, 0x0a, 0x63, 0xa0, 0x41, 0x2e, 0xd8, 0xc8, 0x95, - 0x4c, 0xda, 0xb9, 0xc3, 0xb9, 0xa9, 0x36, 0x91, 0x7f, 0xd2, 0x1b, 0xd4, - 0xea, 0x8e, 0x76, 0x62, 0x8c, 0x57, 0x59, 0x4e, 0x0c, 0x6f, 0x56, 0x34, - 0x48, 0x4b, 0xdc, 0xb4, 0xa6, 0x60, 0xf5, 0xd4, 0x8a, 0x59, 0x2e, 0x73, - 0x59, 0xfc, 0xe5, 0x3c, 0xe8, 0x80, 0x96, 0x6d, 0x39, 0x83, 0x73, 0xd5, - 0x56, 0xa1, 0x9d, 0x63, 0xda, 0x9a, 0x08, 0xcf, 0x71, 0xf2, 0x27, 0xac, - 0x01, 0x85, 0x68, 0x51, 0xcb, 0xb9, 0x77, 0xda, 0x89, 0x76, 0xce, 0x7a, - 0x78, 0x5d, 0x3e, 0x71, 0x4e, 0x87, 0x3c, 0xe1, 0x67, 0xf9, 0x4d, 0x5a, - 0xc4, 0x2c, 0xaf, 0x2e, 0x15, 0xce, 0x63, 0x9f, 0x17, 0x9e, 0x79, 0xf2, - 0x2b, 0x52, 0x29, 0x33, 0xea, 0xa7, 0x7e, 0xc6, 0xdf, 0xc6, 0xf7, 0xe9, - 0x6c, 0x39, 0x33, 0xa3, 0x36, 0x9b, 0x00, 0xf4, 0xc9, 0xc0, 0x8b, 0x45, - 0xfc, 0x30, 0xbb, 0xab, 0x1d, 0x73, 0x95, 0xd3, 0xeb, 0xdc, 0x5c, 0xe6, - 0xc4, 0xdf, 0x91, 0xd4, 0x36, 0x50, 0x6d, 0x4f, 0xcd, 0x6d, 0x33, 0xd2, - 0x7e, 0xf5, 0xce, 0x0e, 0xda, 0x89, 0x16, 0xd7, 0x71, 0x41, 0x57, 0x2a, - 0x6e, 0xd6, 0xb6, 0xa9, 0x92, 0xf0, 0x56, 0xb8, 0x37, 0x92, 0x06, 0xbf, - 0xa6, 0xcd, 0x24, 0xc1, 0x19, 0x17, 0x34, 0x2d, 0x2f, 0xdc, 0xe6, 0x72, - 0xe5, 0xb5, 0xd8, 0x18, 0x66, 0x74, 0xeb, 0xce, 0xe2, 0x7b, 0xac, 0x8a, - 0x09, 0x71, 0xbf, 0x15, 0x25, 0xab, 0x6c, 0x1c, 0x6c, 0x42, 0x4d, 0x96, - 0x79, 0x05, 0x41, 0x84, 0x25, 0xf3, 0xfa, 0x26, 0x38, 0x83, 0x51, 0xa6, - 0x3c, 0x16, 0x4f, 0x3a, 0xdb, 0xb8, 0xdd, 0x76, 0x62, 0xd6, 0x67, 0x3b, - 0xac, 0x89, 0x5c, 0xf1, 0x25, 0x4c, 0xec, 0x4d, 0x01, 0x76, 0x41, 0x3a, - 0x44, 0x12, 0xe8, 0x68, 0x03, 0x75, 0x55, 0x71, 0x0b, 0x85, 0x44, 0x1e, - 0xb8, 0x46, 0x2a, 0x97, 0x15, 0x8b, 0xa7, 0x6d, 0x7a, 0x6a, 0xa0, 0x90, - 0x33, 0x6d, 0x8a, 0x3c, 0x1b, 0xc3, 0x70, 0xc9, 0x6d, 0xb1, 0x22, 0x12, - 0x8c, 0xab, 0xa2, 0x6c, 0xd5, 0x9a, 0x33, 0x63, 0x06, 0x28, 0x65, 0xbd, - 0xd8, 0x80, 0x5a, 0x3a, 0xf7, 0x62, 0x24, 0xf3, 0xcf, 0x9b, 0x79, 0x76, - 0x47, 0xda, 0xe6, 0x3c, 0x93, 0x8e, 0x6c, 0x7d, 0x79, 0xf8, 0x0d, 0x6e, - 0x94, 0xcc, 0x55, 0x37, 0xd3, 0x41, 0x39, 0x43, 0x0f, 0x3f, 0x5d, 0x3a, - 0x99, 0x29, 0x94, 0x9b, 0x43, 0x79, 0xb9, 0x3e, 0x59, 0x91, 0x9e, 0xcd, - 0xbe, 0xce, 0x77, 0xb7, 0x93, 0x97, 0x4d, 0xa9, 0xc2, 0x5a, 0xa8, 0xbd, - 0x6b, 0x12, 0x17, 0xd7, 0x44, 0xbb, 0x9d, 0x7e, 0xa7, 0xd7, 0x66, 0x59, - 0xaa, 0xcb, 0xc6, 0x36, 0x26, 0x27, 0x2c, 0xb5, 0xcb, 0xe9, 0xaa, 0xa8, - 0xeb, 0x30, 0x99, 0x78, 0x48, 0xac, 0xeb, 0xe2, 0xca, 0x54, 0xcb, 0x27, - 0xcb, 0x7f, 0xbe, 0x31, 0xa1, 0xc7, 0xbb, 0xeb, 0x6c, 0xda, 0x7a, 0x82, - 0x02, 0x55, 0x3d, 0xe3, 0x66, 0x60, 0x3d, 0x64, 0x6f, 0x29, 0x4b, 0xd2, - 0x35, 0x26, 0x12, 0x8d, 0xa7, 0x49, 0x9c, 0x4f, 0x1f, 0x54, 0x8b, 0xab, - 0x9f, 0xa0, 0x5b, 0x5b, 0x60, 0xb6, 0xf2, 0xd2, 0x42, 0xdc, 0xc5, 0xf9, - 0x9c, 0x97, 0x57, 0xbd, 0x5b, 0xc9, 0x44, 0xc2, 0x0b, 0x4a, 0xb1, 0xe6, - 0x0b, 0x1f, 0xe7, 0xd3, 0x7f, 0x9b, 0xb2, 0xd5, 0xa8, 0xb1, 0xda, 0x49, - 0x32, 0x19, 0xc5, 0xe3, 0x1b, 0xac, 0x35, 0xb7, 0xa8, 0x3e, 0x2c, 0x3e, - 0x7f, 0xce, 0xd0, 0x44, 0xa4, 0x7c, 0x4d, 0x07, 0xaf, 0x48, 0xcb, 0x65, - 0xfc, 0x6f, 0x9e, 0x58, 0x39, 0xb2, 0x75, 0x42, 0x6e, 0xd3, 0x9d, 0x57, - 0x1c, 0xe9, 0x7d, 0x1c, 0x69, 0x12, 0xcd, 0xe6, 0x4b, 0x92, 0xdd, 0x89, - 0xad, 0x66, 0x97, 0x97, 0x44, 0x23, 0x9f, 0x37, 0x4c, 0x07, 0xf2, 0xc8, - 0xe6, 0xb9, 0xc4, 0x1b, 0x85, 0x22, 0x61, 0x54, 0x75, 0x00, 0x5b, 0x70, - 0xc6, 0x55, 0xca, 0x9b, 0x21, 0xcd, 0x35, 0x4d, 0x66, 0xd5, 0xef, 0x6d, - 0x65, 0xc5, 0x3d, 0x62, 0x21, 0x05, 0x30, 0xa0, 0x8d, 0x1e, 0x70, 0xc0, - 0x45, 0xcc, 0xb4, 0xa3, 0x50, 0x67, 0xd2, 0x37, 0xe9, 0x62, 0xc1, 0x93, - 0x97, 0x48, 0x86, 0xc0, 0x24, 0x32, 0x4a, 0xae, 0xd2, 0xf9, 0x3c, 0x0c, - 0x28, 0xc9, 0x96, 0xa4, 0x31, 0xc8, 0x88, 0x47, 0xc9, 0x25, 0x33, 0xd9, - 0x86, 0xf0, 0x0b, 0x7b, 0x84, 0x77, 0xa2, 0xaa, 0xfd, 0x66, 0x82, 0xc8, - 0x14, 0x65, 0x3e, 0xbc, 0x45, 0xa2, 0x48, 0x8a, 0x55, 0x4e, 0x0d, 0x62, - 0xad, 0x47, 0x86, 0x43, 0xbd, 0xf4, 0x1a, 0x31, 0xd7, 0xc6, 0xf0, 0xe8, - 0x7f, 0x1c, 0x7a, 0x7f, 0xb7, 0x19, 0x21, 0x48, 0x8b, 0x61, 0xea, 0x6e, - 0x90, 0xc3, 0x3b, 0x16, 0xd1, 0x3b, 0xfd, 0x7d, 0xda, 0xae, 0x0e, 0x46, - 0x53, 0xf1, 0x5d, 0x2c, 0xcb, 0x8c, 0x0e, 0x38, 0xc7, 0x56, 0x4c, 0x1f, - 0x24, 0x0c, 0x8a, 0x29, 0x8e, 0x94, 0xab, 0x3c, 0xd9, 0x64, 0x07, 0x50, - 0xc3, 0x6c, 0xae, 0x21, 0x63, 0x70, 0x6e, 0xe8, 0x34, 0x61, 0x84, 0x2a, - 0xd5, 0x69, 0x52, 0x04, 0xdb, 0xa7, 0xae, 0xc6, 0x4d, 0x68, 0xc7, 0xea, - 0x31, 0x6f, 0xaa, 0x0a, 0x6a, 0x28, 0x16, 0xdf, 0x60, 0x0b, 0x0b, 0xf8, - 0xed, 0x6e, 0xa0, 0xbe, 0x70, 0x0b, 0x52, 0x13, 0xf2, 0xfa, 0x38, 0x2a, - 0x3e, 0x1f, 0x22, 0xe9, 0xbf, 0x91, 0x4c, 0x53, 0x33, 0x79, 0x98, 0x5b, - 0xab, 0x67, 0x17, 0xb1, 0xd0, 0x93, 0xb4, 0xd9, 0x66, 0xe5, 0xa0, 0x0b, - 0x9a, 0x44, 0xa2, 0x98, 0xa3, 0x38, 0xd8, 0x54, 0x32, 0x8d, 0x9c, 0xb4, - 0x19, 0x5d, 0xa7, 0x34, 0xf6, 0x7c, 0x7c, 0xfd, 0xc0, 0x57, 0x05, 0x1b, - 0x20, 0xd9, 0x79, 0x73, 0xe1, 0x67, 0x59, 0x67, 0x5b, 0xe8, 0x43, 0xad, - 0x82, 0x29, 0x6b, 0x0c, 0xac, 0x0f, 0x65, 0x73, 0xb3, 0x55, 0xd4, 0xc6, - 0x47, 0x64, 0x71, 0xcd, 0x54, 0x9b, 0x4c, 0x59, 0x02, 0xa0, 0x05, 0x6c, - 0x1b, 0x5d, 0x3f, 0x0b, 0xd8, 0x38, 0x36, 0x8e, 0xee, 0x17, 0x6a, 0x9c, - 0x39, 0xa1, 0x18, 0xb0, 0xa4, 0x2b, 0xb6, 0xc2, 0x4a, 0x6f, 0x7c, 0xa9, - 0xf1, 0x85, 0xf8, 0x50, 0x6b, 0x4e, 0x7d, 0x52, 0xfa, 0xba, 0xad, 0xbd, - 0xf9, 0xa4, 0xea, 0xdb, 0x79, 0x91, 0xe9, 0x57, 0x76, 0xf5, 0xd9, 0xaa, - 0x88, 0x4e, 0x55, 0xd7, 0xea, 0x25, 0x86, 0x13, 0xa1, 0x30, 0xfd, 0x3e, - 0x1d, 0x86, 0x7e, 0xeb, 0xd2, 0x60, 0x4b, 0xab, 0x3b, 0x3d, 0xbd, 0x84, - 0x4f, 0x6f, 0x83, 0xb9, 0x0f, 0x51, 0x4a, 0x19, 0x1d, 0xbf, 0x61, 0x6a, - 0xdb, 0x3f, 0xa7, 0x9f, 0xa9, 0x39, 0xf5, 0x98, 0xad, 0x23, 0x16, 0x93, - 0x15, 0xf2, 0xb7, 0xdf, 0x0e, 0xa3, 0xf5, 0xd3, 0xe1, 0xe6, 0xb3, 0x97, - 0x5b, 0xa1, 0x82, 0x38, 0x61, 0x23, 0x09, 0xeb, 0xf5, 0xaf, 0x1e, 0x31, - 0xda, 0x92, 0x9c, 0xa5, 0x42, 0x62, 0x12, 0x32, 0x54, 0xbc, 0x07, 0x93, - 0x2a, 0xfc, 0xf6, 0xe6, 0x6c, 0x08, 0x8c, 0xba, 0xad, 0x12, 0x63, 0xcf, - 0x45, 0x68, 0x81, 0xf9, 0xc6, 0x0f, 0x72, 0x3a, 0xe2, 0x68, 0x94, 0x67, - 0x77, 0x1c, 0x1a, 0x0a, 0x87, 0x60, 0x24, 0xcb, 0xc5, 0xdc, 0x14, 0xf1, - 0xa2, 0x2c, 0x19, 0xd6, 0xb9, 0x07, 0x6d, 0x86, 0x78, 0x15, 0xf8, 0x46, - 0xfb, 0xfa, 0xe2, 0xed, 0x31, 0xae, 0x74, 0x08, 0xdd, 0x22, 0xb0, 0x0b, - 0x51, 0x15, 0xcb, 0x11, 0x89, 0xa3, 0x7c, 0x57, 0x95, 0xce, 0x52, 0x10, - 0x46, 0x77, 0xda, 0x62, 0xc7, 0x08, 0xe5, 0x51, 0xe6, 0xb1, 0x68, 0x33, - 0x54, 0x2b, 0xaf, 0xf2, 0x52, 0x06, 0xdf, 0x0f, 0x44, 0x3f, 0x7d, 0x36, - 0xa2, 0xd4, 0x35, 0xf1, 0xc5, 0x62, 0xaa, 0x5a, 0xfd, 0xe6, 0x7d, 0x9f, - 0x74, 0xcd, 0x3e, 0x0f, 0xae, 0x4f, 0xcd, 0x8b, 0x2b, 0x8e, 0x1d, 0x9a, - 0xfb, 0x24, 0xbd, 0xb1, 0x0c, 0x44, 0xcd, 0xf7, 0xdf, 0xd0, 0x4e, 0xf0, - 0x13, 0x0d, 0x9a, 0xf2, 0x7b, 0x04, 0x53, 0x9d, 0x6c, 0x42, 0x3c, 0x53, - 0x99, 0x4c, 0xbe, 0x12, 0xdb, 0xd2, 0x00, 0x04, 0xc8, 0xe1, 0xb2, 0x6a, - 0x12, 0x27, 0xd6, 0x33, 0xad, 0x13, 0x34, 0xdb, 0x3b, 0xf3, 0x07, 0xf1, - 0xbd, 0xab, 0x39, 0xd2, 0xdc, 0x32, 0xce, 0x32, 0x27, 0x6d, 0xca, 0x93, - 0xde, 0x00, 0x9a, 0x41, 0xbd, 0xac, 0x9f, 0x0f, 0xf1, 0x2b, 0xf2, 0x6b, - 0xa4, 0xdb, 0x2f, 0xa1, 0x70, 0xc5, 0xb2, 0x0f, 0xe2, 0xa8, 0x44, 0x8c, - 0x58, 0xfc, 0x80, 0xc6, 0xb5, 0x61, 0xb7, 0x06, 0xad, 0xa6, 0x71, 0x8e, - 0x8c, 0x90, 0x2b, 0xa9, 0x48, 0x9c, 0xd3, 0xdc, 0x18, 0x63, 0xd5, 0x38, - 0x67, 0x31, 0x83, 0xe6, 0x1c, 0xaf, 0x9f, 0x1f, 0xe7, 0x2c, 0xef, 0x05, - 0x7e, 0x82, 0x94, 0x39, 0x57, 0x28, 0x17, 0x78, 0x77, 0xe1, 0x2c, 0xc9, - 0xaf, 0x10, 0xf5, 0x93, 0x91, 0x80, 0xd2, 0x34, 0x43, 0xc8, 0x85, 0x16, - 0xbb, 0x78, 0x26, 0x78, 0xaf, 0xfe, 0xd8, 0x17, 0x1b, 0x3e, 0x24, 0xd3, - 0x25, 0xdf, 0x73, 0x42, 0x1e, 0x51, 0xb7, 0x3f, 0x89, 0xd4, 0x1d, 0x32, - 0xa7, 0x95, 0xa0, 0x7d, 0x6c, 0xde, 0xcd, 0xd3, 0xe9, 0xeb, 0x29, 0xc9, - 0x09, 0x0f, 0xdd, 0x48, 0x43, 0x6e, 0x34, 0x06, 0xa3, 0x54, 0x39, 0x02, - 0x81, 0x03, 0xe3, 0xeb, 0xe5, 0xfc, 0xc6, 0xee, 0xf9, 0x29, 0xc9, 0x89, - 0x45, 0x84, 0xb8, 0xea, 0x5a, 0x73, 0xdd, 0xa0, 0xb3, 0x3f, 0x86, 0x6d, - 0xb7, 0xae, 0xb2, 0x44, 0x06, 0x72, 0x84, 0x5c, 0xe0, 0x43, 0x71, 0xfc, - 0x56, 0xdd, 0x12, 0x5f, 0xf4, 0xcc, 0x5b, 0x58, 0x06, 0xa6, 0xeb, 0xb8, - 0x79, 0x0e, 0xbd, 0xc0, 0x0c, 0x9b, 0xb7, 0x6b, 0x50, 0xfc, 0x0c, 0xc4, - 0x7e, 0xfa, 0xe6, 0x22, 0xf3, 0x5a, 0x8e, 0x33, 0x91, 0xb7, 0x31, 0x70, - 0xa1, 0x77, 0xef, 0x8e, 0x72, 0xa1, 0xeb, 0x38, 0x6f, 0x85, 0xc9, 0x2c, - 0xe8, 0x1a, 0x16, 0x26, 0xe5, 0xde, 0x4d, 0x09, 0x88, 0xba, 0xea, 0xbb, - 0x13, 0xf7, 0x36, 0x0c, 0xcc, 0xab, 0xf9, 0xab, 0x8d, 0x20, 0x06, 0xd1, - 0x59, 0x26, 0x91, 0xb6, 0x18, 0xc5, 0x0a, 0x0d, 0xc9, 0x4d, 0x7a, 0x12, - 0x75, 0x2f, 0xb3, 0x6c, 0x14, 0xe7, 0x5d, 0xdd, 0x42, 0xb8, 0x4e, 0x47, - 0x6a, 0x18, 0xd2, 0xb0, 0x11, 0x4c, 0xe7, 0x0b, 0x7a, 0xae, 0x4e, 0xa1, - 0xa3, 0xb8, 0xa2, 0xca, 0x87, 0xe7, 0xee, 0x31, 0x8e, 0x7c, 0xa1, 0x52, - 0x73, 0xa9, 0x56, 0x59, 0x48, 0x87, 0x53, 0x5c, 0xb8, 0x35, 0x4b, 0x3f, - 0x3b, 0x9a, 0xd4, 0x61, 0xbb, 0xc8, 0x1b, 0xdd, 0xf3, 0x1d, 0x8e, 0x08, - 0x49, 0xa2, 0xad, 0x22, 0x4b, 0x6e, 0xc3, 0x38, 0xd9, 0xdf, 0x8f, 0x58, - 0x78, 0xd9, 0x68, 0x43, 0x0f, 0x70, 0x7f, 0xc8, 0x3c, 0x5c, 0x38, 0xaf, - 0xc4, 0x5f, 0x45, 0x16, 0xcc, 0xdb, 0xe0, 0x71, 0x2d, 0xb1, 0x23, 0x3d, - 0x9e, 0x21, 0x82, 0x74, 0xf4, 0x8c, 0xcc, 0x93, 0x3b, 0xf5, 0x73, 0x31, - 0x73, 0xe5, 0xab, 0x80, 0xf9, 0xb6, 0x58, 0x63, 0xc6, 0xb8, 0x30, 0x0b, - 0x0b, 0x69, 0xaa, 0xeb, 0x03, 0xbc, 0x04, 0xd8, 0xb9, 0x7f, 0x51, 0x52, - 0x13, 0xea, 0xcd, 0xc4, 0xc9, 0x96, 0xb1, 0x2d, 0x05, 0x84, 0xd4, 0x22, - 0xfa, 0xc2, 0x51, 0x2f, 0xf1, 0xa4, 0x88, 0xb1, 0x91, 0x80, 0x39, 0x4e, - 0x52, 0x90, 0xf0, 0xfc, 0x91, 0x2c, 0x89, 0xe3, 0xfe, 0x0d, 0x32, 0x71, - 0x5c, 0xf4, 0xd7, 0x50, 0x4a, 0xcf, 0xad, 0xb0, 0x5e, 0x69, 0x12, 0x82, - 0xab, 0x14, 0xea, 0x42, 0x9b, 0xd2, 0x46, 0x18, 0x84, 0xe8, 0x20, 0xbc, - 0xca, 0x30, 0x08, 0xb9, 0x18, 0x1c, 0x52, 0x37, 0x99, 0xd9, 0x17, 0x70, - 0x2e, 0x98, 0x19, 0x6b, 0x10, 0xad, 0xef, 0x59, 0x48, 0xd4, 0xa7, 0x83, - 0xed, 0xcf, 0x06, 0x5b, 0x1b, 0x4d, 0x41, 0x09, 0x1c, 0x77, 0xff, 0xab, - 0x23, 0x35, 0x62, 0xa4, 0x31, 0xc7, 0xab, 0x73, 0x37, 0x32, 0x1d, 0xcd, - 0x1e, 0x30, 0x42, 0x22, 0x65, 0x45, 0x28, 0x2e, 0xae, 0xc4, 0x85, 0x39, - 0x55, 0x9e, 0x97, 0x5a, 0x14, 0x85, 0xd8, 0xd8, 0x73, 0x26, 0x11, 0x89, - 0xb1, 0x71, 0x0d, 0x17, 0x65, 0x10, 0x07, 0x1e, 0xbd, 0xd6, 0xb5, 0x43, - 0xd7, 0xcc, 0x1c, 0xd8, 0x51, 0x17, 0xc3, 0xf2, 0x47, 0xcb, 0x05, 0xae, - 0xd5, 0xb0, 0x2c, 0xfa, 0x5d, 0x96, 0x6c, 0x8c, 0xa4, 0xd8, 0x5d, 0x6b, - 0x58, 0x06, 0xd0, 0x7f, 0x7b, 0x2a, 0x93, 0xc4, 0x48, 0x78, 0xef, 0x27, - 0x7a, 0x71, 0x8b, 0x99, 0x84, 0x62, 0x86, 0x48, 0x36, 0x22, 0x98, 0xc4, - 0x2b, 0x9a, 0xe3, 0x89, 0xfd, 0x37, 0x35, 0xb9, 0x8f, 0x89, 0xc0, 0x59, - 0xfe, 0x83, 0x81, 0x4c, 0x75, 0x4f, 0x6b, 0xca, 0x47, 0x5d, 0xf1, 0x27, - 0x71, 0xc3, 0x33, 0xea, 0xc2, 0x55, 0x48, 0x36, 0x7d, 0x2d, 0x39, 0x44, - 0x5f, 0x44, 0x7a, 0xd4, 0xd9, 0x48, 0xaa, 0xf1, 0x8e, 0x3e, 0xdc, 0x1b, - 0x83, 0xc7, 0x65, 0x8c, 0x65, 0x68, 0x6f, 0x0e, 0x4e, 0xe3, 0x70, 0xf5, - 0x84, 0xfc, 0x38, 0xa2, 0xb2, 0x90, 0x7c, 0x9c, 0x86, 0x9b, 0xee, 0xf5, - 0xd3, 0xab, 0xf7, 0x2b, 0x17, 0xef, 0x89, 0xd5, 0xbb, 0x40, 0x78, 0x2c, - 0x09, 0x09, 0x88, 0x88, 0x78, 0x1d, 0xb8, 0xe8, 0x59, 0x23, 0x95, 0x00, - 0x32, 0xef, 0xf3, 0xac, 0x1e, 0xcd, 0xc0, 0xac, 0xf0, 0xfa, 0x37, 0xdb, - 0x75, 0x50, 0xa3, 0x8d, 0xbe, 0xbd, 0x39, 0xd1, 0x2f, 0x69, 0xf0, 0x61, - 0x84, 0x9c, 0x5e, 0xca, 0x78, 0x9d, 0x7a, 0x4b, 0xee, 0x17, 0x62, 0x54, - 0xc5, 0xc5, 0x3b, 0x4a, 0xda, 0xa4, 0xb9, 0x8a, 0x50, 0x37, 0xb1, 0x4b, - 0xb5, 0x31, 0xbf, 0x2f, 0x8c, 0x8b, 0x3f, 0x39, 0xb9, 0x8a, 0x47, 0x1f, - 0xb1, 0x24, 0xe1, 0xd5, 0x2e, 0xdc, 0x52, 0xf4, 0xe9, 0x16, 0xeb, 0x8c, - 0x71, 0x32, 0x1f, 0xb4, 0xc7, 0xe4, 0x68, 0xdc, 0x7d, 0xa3, 0x57, 0x5d, - 0xb0, 0x58, 0xa5, 0x5e, 0x71, 0xb9, 0xac, 0x5e, 0xab, 0x94, 0x57, 0xca, - 0xb6, 0x8f, 0x35, 0x97, 0xd6, 0xed, 0xfb, 0xdf, 0x7d, 0x8a, 0x70, 0x89, - 0xb9, 0x28, 0x3f, 0x4c, 0x53, 0x4d, 0xa7, 0x9e, 0x28, 0xae, 0xe0, 0x9a, - 0x9c, 0x47, 0xa4, 0xb8, 0xc1, 0xe8, 0x76, 0xb5, 0x8a, 0x09, 0xe0, 0x82, - 0x62, 0x7b, 0x1f, 0x1b, 0x48, 0xa6, 0x90, 0x8d, 0x52, 0x89, 0xcf, 0x7d, - 0xed, 0xf5, 0x99, 0x3e, 0x82, 0x53, 0x94, 0x68, 0x85, 0x12, 0x1f, 0x21, - 0x56, 0x47, 0x9e, 0x21, 0x65, 0x8a, 0x37, 0xd9, 0x4f, 0xb9, 0x85, 0x02, - 0xcd, 0x0f, 0xda, 0x7e, 0xdb, 0x89, 0x3b, 0xbd, 0x10, 0x47, 0xf1, 0x81, - 0x38, 0x4c, 0x57, 0x79, 0x8a, 0xe3, 0xe0, 0x9b, 0xa6, 0xdf, 0xcb, 0x2e, - 0x39, 0x36, 0xe5, 0x41, 0xe2, 0x44, 0xd4, 0x3c, 0xad, 0xf8, 0x5d, 0x96, - 0xab, 0x15, 0x6d, 0x94, 0x80, 0xeb, 0xf3, 0x11, 0xcd, 0xe0, 0x09, 0x61, - 0xbb, 0x2c, 0x07, 0x73, 0x35, 0xc3, 0x4c, 0xd8, 0xce, 0x1a, 0xc1, 0x47, - 0x3e, 0x50, 0xa3, 0x95, 0xc6, 0xa3, 0xb4, 0x47, 0xa0, 0x48, 0xee, 0x43, - 0xd4, 0x5f, 0x6a, 0x40, 0x6a, 0xbb, 0x93, 0x09, 0xd1, 0xa5, 0x92, 0xaa, - 0x29, 0x4b, 0x69, 0x3c, 0x82, 0x87, 0x18, 0x38, 0x47, 0xcc, 0x87, 0xfc, - 0x88, 0xcf, 0x18, 0xaf, 0xfa, 0x08, 0x37, 0x36, 0x18, 0x58, 0x92, 0xa2, - 0xca, 0x04, 0x83, 0x95, 0xe1, 0x13, 0x4f, 0x9b, 0xae, 0xfc, 0x15, 0x99, - 0x8d, 0xe9, 0x98, 0xe4, 0x48, 0x5b, 0x6b, 0xa8, 0x6a, 0x37, 0x89, 0x58, - 0x59, 0xc4, 0x93, 0x3a, 0x4e, 0xaa, 0x7b, 0x8e, 0x68, 0xf2, 0x7e, 0xb2, - 0xc8, 0xcb, 0x96, 0xd8, 0x66, 0x09, 0xcf, 0xf4, 0x79, 0x13, 0xf2, 0xb4, - 0xb8, 0xef, 0x7c, 0x08, 0xf5, 0xe1, 0xd9, 0xf9, 0x05, 0x26, 0x7a, 0xcc, - 0xbf, 0xa8, 0xc1, 0xb1, 0x3e, 0x0e, 0x58, 0x1d, 0x34, 0x7e, 0x92, 0xa3, - 0x96, 0x12, 0xd8, 0x6a, 0x5c, 0x0a, 0xcf, 0x20, 0xc8, 0x03, 0x72, 0x19, - 0x2a, 0xf1, 0xf4, 0x8e, 0x93, 0x3d, 0x20, 0xd2, 0x35, 0xd6, 0xd6, 0xe5, - 0x0a, 0xf1, 0x48, 0x78, 0x08, 0x3d, 0xb9, 0x2f, 0x31, 0x08, 0xb5, 0xb3, - 0x8a, 0x50, 0x71, 0x76, 0xca, 0x5f, 0xb2, 0x49, 0x5d, 0x14, 0xcd, 0x95, - 0xee, 0xc5, 0x4a, 0x88, 0x34, 0x37, 0xcb, 0x6f, 0x46, 0x39, 0x12, 0xb1, - 0x62, 0x1a, 0xca, 0xa0, 0x36, 0x55, 0x84, 0xee, 0xdf, 0x97, 0x41, 0xba, - 0xad, 0x69, 0xa0, 0x90, 0xf6, 0x4c, 0x12, 0xa4, 0x06, 0x90, 0x9f, 0xc2, - 0x13, 0xb6, 0x94, 0xac, 0x1e, 0x74, 0x77, 0xbe, 0xf8, 0x10, 0xeb, 0xc9, - 0xd1, 0xfe, 0xdc, 0xa9, 0xc6, 0x53, 0xd7, 0x95, 0x19, 0x36, 0x84, 0x4a, - 0x8e, 0x40, 0x24, 0x9a, 0x7a, 0x74, 0xa9, 0xa6, 0xc6, 0x78, 0x9a, 0x96, - 0x0f, 0x22, 0xe2, 0x8f, 0xe4, 0x3e, 0x55, 0xc3, 0xcf, 0xdc, 0xac, 0xad, - 0x93, 0xb4, 0xed, 0x10, 0xd2, 0x70, 0x30, 0x39, 0xdd, 0xad, 0x06, 0x15, - 0x56, 0x93, 0xf9, 0x5e, 0x0e, 0xb6, 0x98, 0xcc, 0x99, 0x4a, 0x4c, 0x7c, - 0x5b, 0xaa, 0xf0, 0x46, 0x3c, 0x66, 0x9a, 0x8e, 0x53, 0x56, 0x92, 0x6c, - 0x84, 0xbc, 0x48, 0xf5, 0xed, 0xe2, 0x14, 0x06, 0x3d, 0x0c, 0xf3, 0x4c, - 0x1a, 0x4a, 0xc1, 0x23, 0x69, 0x02, 0xb1, 0x24, 0x77, 0x55, 0xa9, 0xb1, - 0x9d, 0x4a, 0x8b, 0xdb, 0x56, 0x2a, 0x15, 0x32, 0x0d, 0xd4, 0x5f, 0xa3, - 0xd4, 0x26, 0xa9, 0x0e, 0xbf, 0x75, 0x26, 0xf1, 0x96, 0x88, 0x4d, 0x21, - 0x50, 0x3e, 0xeb, 0xab, 0x28, 0x54, 0xa9, 0xc3, 0x67, 0x51, 0x29, 0x91, - 0x3e, 0x4a, 0xa5, 0x18, 0x93, 0xd0, 0x29, 0xf5, 0xaf, 0xc4, 0x79, 0xb6, - 0x37, 0xfc, 0x36, 0x20, 0xcb, 0xe0, 0xcc, 0xf7, 0x24, 0x17, 0xa3, 0x61, - 0x49, 0x43, 0xb6, 0x4c, 0x6e, 0x81, 0x47, 0xdc, 0xd6, 0x87, 0xee, 0x5b, - 0x71, 0xfb, 0x1b, 0xed, 0x1b, 0x35, 0xf4, 0xd8, 0xbe, 0x15, 0xb7, 0xc1, - 0xbe, 0xd5, 0x02, 0xc5, 0xc4, 0x79, 0x5b, 0x57, 0x09, 0xbe, 0x83, 0x43, - 0x56, 0x53, 0xa7, 0x24, 0xfb, 0x31, 0x88, 0x3c, 0xab, 0x26, 0x9c, 0x22, - 0x0e, 0x6e, 0xad, 0x35, 0x16, 0xda, 0x62, 0x83, 0xe8, 0x77, 0x89, 0x53, - 0x54, 0xc6, 0x00, 0xb6, 0xe3, 0xec, 0x23, 0xa5, 0x85, 0xd0, 0x71, 0xbb, - 0xda, 0xcd, 0x5a, 0xcb, 0x25, 0x1a, 0x6b, 0xe8, 0x6c, 0x0a, 0x27, 0x2b, - 0xdb, 0x68, 0xe9, 0x4d, 0x6a, 0x65, 0xa0, 0x01, 0xad, 0x45, 0x28, 0x83, - 0xd8, 0x70, 0x25, 0xb4, 0xae, 0xa9, 0xde, 0xcd, 0x45, 0x28, 0x84, 0x01, - 0xc7, 0x72, 0x6b, 0x39, 0x3a, 0x20, 0x4c, 0xda, 0xf3, 0xe1, 0x64, 0xb0, - 0x13, 0xfa, 0x28, 0xc2, 0x56, 0x3e, 0xf5, 0x07, 0x08, 0x1c, 0x2b, 0xe2, - 0xfc, 0x78, 0x05, 0x24, 0x75, 0x87, 0x2d, 0x5d, 0xca, 0x14, 0xc0, 0x15, - 0x9a, 0x7e, 0x99, 0x4a, 0x3c, 0x61, 0x63, 0x65, 0xe1, 0xde, 0x50, 0x9f, - 0x13, 0x35, 0xac, 0x01, 0x72, 0x49, 0xe8, 0x5d, 0x72, 0x81, 0x21, 0x62, - 0x17, 0x88, 0xd1, 0xda, 0xbc, 0x48, 0x27, 0x9c, 0xaf, 0x5f, 0xe7, 0x62, - 0xb8, 0xd6, 0x3b, 0xba, 0x5c, 0x1d, 0x8d, 0xe1, 0x58, 0xca, 0x5b, 0x1c, - 0x8b, 0x08, 0xfb, 0x56, 0x9e, 0xfc, 0x8e, 0xbe, 0x9c, 0x84, 0x56, 0x0c, - 0xd9, 0x5e, 0x4c, 0x8d, 0x24, 0x0e, 0x3d, 0x6e, 0x97, 0x47, 0x4c, 0xed, - 0xb9, 0x3e, 0x7e, 0x16, 0x5f, 0x25, 0x9c, 0x13, 0x26, 0xce, 0x6d, 0x1f, - 0xbc, 0xf1, 0x58, 0xf2, 0xc9, 0xa3, 0xb9, 0x1b, 0x95, 0x6c, 0x0d, 0x64, - 0xdc, 0xf8, 0x5c, 0x0d, 0x5d, 0xfc, 0x66, 0x80, 0xa7, 0x4b, 0xfb, 0xaa, - 0x84, 0xd2, 0xba, 0x3c, 0x6b, 0x31, 0x78, 0x74, 0xfe, 0xc2, 0x1e, 0xba, - 0x8e, 0x0d, 0xd0, 0x4d, 0xb9, 0x19, 0xd2, 0xc4, 0x8f, 0x78, 0x35, 0xa9, - 0xea, 0xd7, 0x33, 0xb7, 0xbd, 0xf3, 0xb9, 0xf2, 0xf3, 0x38, 0x4e, 0xc4, - 0x9c, 0x48, 0xf2, 0xa8, 0xdf, 0x2a, 0x24, 0x89, 0x00, 0xb6, 0x23, 0x3a, - 0xd6, 0x61, 0xed, 0xea, 0xc9, 0x10, 0xcd, 0xcf, 0x06, 0xa5, 0x29, 0x2f, - 0x21, 0x37, 0x8a, 0xa7, 0x0c, 0x4a, 0x50, 0xb7, 0x7f, 0xb3, 0x60, 0xef, - 0xc2, 0xff, 0x59, 0xa1, 0xe6, 0x01, 0xc5, 0xac, 0x60, 0xa4, 0xc8, 0x4a, - 0x77, 0xd3, 0xfa, 0x3d, 0x7d, 0x7f, 0xc9, 0xfc, 0x8a, 0x53, 0xc2, 0x5e, - 0xb5, 0x46, 0x9c, 0x24, 0x53, 0x9f, 0x29, 0x69, 0x71, 0x69, 0xe3, 0xfc, - 0x61, 0xc1, 0xdc, 0x55, 0xde, 0x53, 0x26, 0xc4, 0x5c, 0x52, 0xa2, 0xcf, - 0x82, 0x94, 0xda, 0x41, 0x8b, 0xcb, 0xd5, 0x75, 0x28, 0x81, 0x79, 0x7c, - 0x6b, 0x2c, 0x68, 0xb9, 0x10, 0x25, 0xa0, 0x9f, 0xc1, 0x41, 0xbd, 0x4c, - 0xa7, 0x13, 0x09, 0xc0, 0xf1, 0x08, 0x05, 0x0d, 0xff, 0x01, 0x37, 0x54, - 0x0c, 0xaa, 0x29, 0x17, 0x48, 0x9c, 0x84, 0xa4, 0xb1, 0xce, 0x96, 0x87, - 0x39, 0xcd, 0x7d, 0xc3, 0xee, 0x46, 0x7d, 0x43, 0xc3, 0xbd, 0xeb, 0x17, - 0xc1, 0x6d, 0x9c, 0x4e, 0x71, 0x4d, 0x50, 0x33, 0xf9, 0x72, 0x8e, 0xde, - 0xab, 0x2b, 0x75, 0x9b, 0xe6, 0xd9, 0x7c, 0xd6, 0xd4, 0xcc, 0xd7, 0xcf, - 0x8f, 0x86, 0xfb, 0xd1, 0xe9, 0x30, 0x3a, 0x3d, 0x39, 0xfe, 0x61, 0x83, - 0x96, 0x0d, 0x71, 0x9b, 0xc8, 0xf8, 0xe7, 0xae, 0x83, 0x17, 0xa3, 0xdb, - 0x38, 0x4f, 0xa1, 0x68, 0x58, 0x7a, 0x69, 0x8b, 0x81, 0x4f, 0x72, 0xd0, - 0x41, 0xd8, 0x77, 0xb6, 0xc5, 0x3e, 0xc8, 0x0c, 0x70, 0x0b, 0x45, 0xca, - 0xcc, 0x0f, 0x01, 0x57, 0x30, 0xd1, 0x8e, 0x2d, 0x15, 0x6a, 0xd9, 0xcc, - 0xcc, 0x61, 0x3b, 0x4e, 0x78, 0xaa, 0x25, 0x1c, 0xe8, 0x3a, 0xbe, 0xe5, - 0xee, 0x69, 0xa2, 0x35, 0xff, 0x38, 0x4d, 0xf4, 0x4a, 0x34, 0xb2, 0xf6, - 0xeb, 0x2c, 0x8c, 0xf7, 0x7c, 0x50, 0xdd, 0x86, 0xad, 0xc5, 0xf0, 0x2b, - 0x69, 0x1a, 0x31, 0x47, 0x27, 0x97, 0x79, 0xb6, 0x20, 0x8e, 0xfc, 0x55, - 0xcc, 0x2c, 0x0f, 0x33, 0x3d, 0x88, 0x93, 0x59, 0xc3, 0x87, 0x5b, 0x64, - 0xe3, 0x9b, 0xa4, 0x34, 0x0d, 0x53, 0xfe, 0x0a, 0x12, 0x7f, 0xa0, 0xa9, - 0x08, 0xdf, 0xe4, 0x05, 0x9d, 0xd0, 0x9d, 0xa4, 0x04, 0xc4, 0x24, 0x47, - 0x43, 0x69, 0x1a, 0xcc, 0x2c, 0x9f, 0xbe, 0x1a, 0xe4, 0xc5, 0xa7, 0x09, - 0xef, 0xcb, 0xd4, 0xea, 0x61, 0x5d, 0xfd, 0x43, 0xbe, 0x6a, 0xd8, 0x1f, - 0xfa, 0x8a, 0xff, 0x15, 0x5b, 0x5f, 0xf2, 0xe3, 0xae, 0x29, 0x45, 0x3f, - 0xb7, 0x2f, 0x43, 0x33, 0xd0, 0xb8, 0x7a, 0x9f, 0x07, 0x6d, 0x69, 0x90, - 0x12, 0xb3, 0x97, 0xab, 0x66, 0x1a, 0x89, 0xcb, 0x67, 0xd2, 0x50, 0x26, - 0x5a, 0x51, 0xe0, 0xf7, 0x44, 0x12, 0xb7, 0x3d, 0x14, 0x16, 0x13, 0x36, - 0x67, 0xd1, 0xb1, 0x74, 0xdf, 0x9e, 0x1d, 0xbe, 0x5d, 0x11, 0xa0, 0x64, - 0x31, 0x42, 0x32, 0x5d, 0x62, 0x0d, 0x4e, 0x0f, 0x95, 0x24, 0x40, 0x37, - 0xd2, 0x5a, 0xee, 0x64, 0xad, 0xb9, 0xbf, 0x2f, 0x19, 0x0f, 0x65, 0xa2, - 0x01, 0xda, 0x99, 0xd9, 0x06, 0x5c, 0xc2, 0x71, 0x3d, 0xbd, 0xd2, 0xd2, - 0x7b, 0x81, 0x93, 0x50, 0x34, 0x2c, 0xf9, 0x9d, 0x60, 0x1e, 0x1d, 0x0d, - 0x74, 0x09, 0x42, 0x81, 0x88, 0x21, 0x70, 0xca, 0x47, 0x74, 0x93, 0x3c, - 0xb8, 0x30, 0x48, 0xfb, 0x8c, 0x97, 0xa0, 0xb9, 0x76, 0xba, 0x24, 0x48, - 0xb9, 0xa5, 0x5f, 0xe6, 0xac, 0x7e, 0xfe, 0x21, 0xc2, 0xfe, 0x47, 0xba, - 0xad, 0x16, 0xfc, 0xcc, 0x8d, 0x96, 0x1e, 0xab, 0x83, 0x13, 0x76, 0x1b, - 0x49, 0x0b, 0x0e, 0x09, 0x67, 0xfa, 0xd0, 0xc6, 0x7a, 0x45, 0xaa, 0x29, - 0xc0, 0xa4, 0x34, 0x77, 0xb9, 0x28, 0x2d, 0xdc, 0x16, 0xb1, 0xc8, 0xd3, - 0x74, 0x94, 0x23, 0xc0, 0x41, 0x84, 0xa3, 0x30, 0x57, 0xa0, 0x11, 0x98, - 0xe6, 0x09, 0x88, 0xd5, 0xf7, 0x74, 0x7c, 0x83, 0x93, 0xa4, 0x1c, 0x2b, - 0xdc, 0x70, 0x93, 0xf7, 0x04, 0x09, 0x47, 0xbb, 0xab, 0x4b, 0xf7, 0x71, - 0x19, 0x33, 0x12, 0x06, 0x87, 0xae, 0xa7, 0x73, 0xb1, 0x6a, 0x63, 0xab, - 0x42, 0x1e, 0xe4, 0x98, 0x10, 0x02, 0xa7, 0xdf, 0x1f, 0x1c, 0x9d, 0x2b, - 0xb3, 0x1c, 0x3d, 0xac, 0x08, 0x80, 0x8f, 0x36, 0x93, 0x72, 0xbc, 0xb9, - 0xb8, 0x49, 0x37, 0xe7, 0x45, 0x31, 0x19, 0x6d, 0x84, 0x69, 0xb9, 0x3c, - 0x67, 0x22, 0xc0, 0xe8, 0xec, 0x9b, 0xfd, 0xe1, 0x47, 0xdb, 0xdb, 0x1c, - 0xc9, 0xbf, 0xa4, 0xa6, 0xd7, 0x69, 0x0d, 0x1a, 0xf9, 0x46, 0x05, 0x2d, - 0xfb, 0x6c, 0x50, 0x64, 0x1b, 0x10, 0xb1, 0x1d, 0xc3, 0xc5, 0x2a, 0x71, - 0x1b, 0xe2, 0x5b, 0xd3, 0x6c, 0x1c, 0x36, 0x88, 0xb5, 0x04, 0x4a, 0xfc, - 0x96, 0x71, 0x2f, 0xb4, 0xba, 0x70, 0xc0, 0x47, 0xaf, 0xf8, 0xdf, 0xf6, - 0x23, 0x1e, 0x9e, 0x71, 0x60, 0x98, 0x54, 0xf6, 0x84, 0x5f, 0x56, 0xd1, - 0xfe, 0x36, 0x9d, 0x54, 0x4f, 0x7c, 0x33, 0x02, 0x8a, 0xbd, 0x91, 0x34, - 0xcf, 0x5e, 0x74, 0x70, 0x78, 0x0e, 0x82, 0x3c, 0x3c, 0xf9, 0x0a, 0xc2, - 0x21, 0x67, 0x2c, 0x5d, 0xcd, 0xd3, 0x5f, 0x98, 0xd3, 0x51, 0x93, 0x85, - 0x2c, 0x30, 0xdf, 0x65, 0xfe, 0x84, 0xd6, 0x9a, 0xe3, 0xf5, 0xe2, 0x55, - 0xc4, 0x19, 0xfb, 0x7d, 0x97, 0x29, 0x16, 0xc6, 0xb8, 0xbf, 0x17, 0xce, - 0xee, 0x37, 0x62, 0x88, 0xf4, 0x14, 0x8d, 0x88, 0x8e, 0x62, 0x9b, 0x2f, - 0x77, 0x91, 0xa8, 0x77, 0xdc, 0xc5, 0x6d, 0x32, 0x6d, 0xa8, 0xdb, 0xc1, - 0xe3, 0x99, 0x54, 0x07, 0x86, 0x94, 0xe2, 0x46, 0x84, 0xa3, 0xff, 0x7e, - 0xbd, 0xd8, 0xa8, 0x31, 0x4f, 0xc7, 0x2e, 0x4f, 0x4c, 0xe7, 0xad, 0x1e, - 0xf1, 0xa6, 0x5a, 0xc1, 0x13, 0x8b, 0xdd, 0xf1, 0xb0, 0x8c, 0x2a, 0xac, - 0x78, 0x4f, 0x9c, 0x26, 0x95, 0xa5, 0xa7, 0x3d, 0x55, 0x99, 0x53, 0x2f, - 0xb5, 0x46, 0xf2, 0x4d, 0x09, 0x2b, 0x20, 0x5b, 0x69, 0x83, 0x36, 0x1b, - 0x9b, 0x8a, 0x61, 0x39, 0x5a, 0xd1, 0xf0, 0xbe, 0x16, 0xe9, 0x42, 0xdd, - 0xcb, 0x51, 0x77, 0x9f, 0x44, 0xda, 0xf7, 0xfb, 0x7b, 0xef, 0xbf, 0x7c, - 0x77, 0x72, 0x70, 0x7c, 0xd8, 0xad, 0x53, 0xe4, 0xa5, 0x49, 0x4d, 0x92, - 0xc0, 0xd4, 0xb3, 0x1c, 0xe3, 0x30, 0x5a, 0x0d, 0xb7, 0x3b, 0x52, 0x08, - 0xf1, 0x1b, 0x92, 0xa5, 0x74, 0xc1, 0x1b, 0x46, 0x9c, 0xf9, 0x04, 0x69, - 0x5c, 0xc1, 0xe4, 0x2d, 0x72, 0x5f, 0x9d, 0x3e, 0x36, 0xc0, 0x16, 0x1d, - 0x97, 0xe9, 0x8f, 0xee, 0x67, 0x12, 0xb1, 0x03, 0x3c, 0x85, 0x00, 0x73, - 0xa7, 0x22, 0xba, 0x23, 0x98, 0xc1, 0x00, 0xd2, 0x22, 0x1a, 0x4f, 0xcb, - 0x76, 0x5b, 0x0c, 0xa5, 0x5b, 0x0c, 0x6e, 0x8c, 0x88, 0xb9, 0xaf, 0xe3, - 0x1c, 0xe7, 0x65, 0x97, 0x1d, 0xc0, 0xa9, 0x40, 0x09, 0xf9, 0xbc, 0xf6, - 0xa6, 0xe9, 0xde, 0x47, 0xa8, 0xc5, 0x42, 0xdc, 0x83, 0xe4, 0x3e, 0x41, - 0x74, 0x82, 0x72, 0xe2, 0x7d, 0xd8, 0x26, 0xcb, 0xe8, 0xbb, 0x2c, 0xbf, - 0x11, 0x59, 0xc7, 0xde, 0xe0, 0x90, 0xf5, 0xbc, 0x71, 0xc3, 0xc0, 0x56, - 0x4f, 0x2a, 0xc6, 0x04, 0x62, 0x5c, 0x46, 0x6f, 0x00, 0x23, 0xee, 0x6c, - 0xef, 0xe2, 0xeb, 0x56, 0x73, 0xa9, 0x47, 0x8a, 0x7b, 0xfa, 0xd2, 0x01, - 0x37, 0x2d, 0x57, 0x06, 0xcd, 0x3d, 0x71, 0xe3, 0x54, 0xcf, 0x52, 0xed, - 0xd2, 0x69, 0x11, 0x56, 0xb9, 0xf7, 0x95, 0xd7, 0x4e, 0x2b, 0x6d, 0xda, - 0x9d, 0xc3, 0x57, 0xce, 0xca, 0x1b, 0xa7, 0xf5, 0xc2, 0xb1, 0xd9, 0xf2, - 0x91, 0x75, 0xf7, 0x8d, 0x5d, 0x38, 0xff, 0x7b, 0xdc, 0x38, 0x31, 0x0e, - 0x51, 0x8d, 0x95, 0x7a, 0xfa, 0xfa, 0xf7, 0x99, 0x6a, 0x40, 0xab, 0x4d, - 0x3e, 0x23, 0x9c, 0x56, 0x2e, 0xac, 0xc4, 0xf4, 0xd6, 0x90, 0x75, 0xb6, - 0x33, 0xc6, 0x9e, 0x89, 0x61, 0x2b, 0x8f, 0x05, 0x5e, 0xbb, 0xe6, 0x6c, - 0xcb, 0x51, 0xc2, 0x3c, 0x23, 0xcf, 0xc6, 0x92, 0xf6, 0xe2, 0x95, 0x1c, - 0x22, 0xe2, 0xf7, 0x79, 0x72, 0x1d, 0x17, 0x1c, 0xd9, 0x5b, 0xa6, 0x6c, - 0xd5, 0xad, 0xab, 0x02, 0x4b, 0x0e, 0x7c, 0xf3, 0xf1, 0xbf, 0x96, 0x61, - 0x15, 0x69, 0xaa, 0xb0, 0x5f, 0x3f, 0xb1, 0x38, 0xb0, 0xf6, 0x63, 0x8b, - 0xc2, 0x3a, 0x7e, 0x5d, 0x7b, 0x1d, 0x1e, 0xf7, 0x43, 0x78, 0xad, 0x19, - 0x27, 0xc6, 0xc1, 0xb6, 0x9c, 0x5c, 0xd2, 0x74, 0xd3, 0x20, 0xe7, 0xca, - 0xf2, 0xf4, 0xf5, 0xa6, 0x4b, 0x2f, 0xdb, 0xd2, 0x42, 0xec, 0x5b, 0x30, - 0x15, 0xbd, 0x83, 0x0a, 0x01, 0xe0, 0xaa, 0x5f, 0x40, 0xbf, 0x1f, 0x05, - 0x5d, 0x72, 0xac, 0x1f, 0x51, 0x71, 0xbb, 0x59, 0xe7, 0x0d, 0x87, 0xec, - 0x17, 0xec, 0x7e, 0xe4, 0xa9, 0xad, 0x33, 0xe4, 0x8c, 0xa0, 0x1a, 0xb1, - 0xc5, 0x6f, 0x3a, 0xdd, 0x60, 0xd1, 0xdd, 0x12, 0x8a, 0x10, 0xc7, 0x5f, - 0x68, 0xf2, 0x4d, 0x53, 0x54, 0x31, 0x10, 0x1c, 0xc4, 0x22, 0x01, 0x8b, - 0x13, 0x33, 0x80, 0x9f, 0x0d, 0x06, 0x37, 0xb5, 0xa9, 0x02, 0x0f, 0x92, - 0x78, 0x2d, 0x9d, 0x57, 0xff, 0x65, 0xe3, 0x50, 0xc7, 0x53, 0xd9, 0xd3, - 0x4b, 0xc1, 0x91, 0x54, 0xab, 0x31, 0xf5, 0x7e, 0x34, 0x37, 0x97, 0x95, - 0x78, 0xf2, 0x5d, 0xe8, 0xa6, 0xc0, 0xbe, 0xc9, 0x60, 0xeb, 0xca, 0x0d, - 0x52, 0xf8, 0xd8, 0x5b, 0x93, 0x4c, 0x53, 0xb1, 0x02, 0x5a, 0x76, 0x15, - 0xec, 0xca, 0x92, 0x82, 0x55, 0xb8, 0xd0, 0x4e, 0xfb, 0x92, 0xe3, 0x90, - 0xca, 0x66, 0xb6, 0x02, 0x5d, 0xd7, 0xeb, 0x92, 0x50, 0x03, 0xe8, 0x38, - 0xd1, 0x18, 0x2d, 0x92, 0x86, 0x47, 0x24, 0x5a, 0x08, 0x48, 0x67, 0xc3, - 0x92, 0x95, 0xc4, 0x9e, 0xd5, 0x66, 0xc2, 0x56, 0xb7, 0x9f, 0x50, 0xa6, - 0x60, 0xb9, 0x62, 0x0f, 0x4a, 0xb1, 0x7d, 0xc6, 0x65, 0x98, 0x26, 0x26, - 0xc9, 0x14, 0x3b, 0x3b, 0x2b, 0x6c, 0xbe, 0x9a, 0xd3, 0xa9, 0x01, 0x04, - 0x3c, 0xef, 0x7e, 0x11, 0x5f, 0x26, 0x76, 0x1c, 0x89, 0x94, 0x59, 0x78, - 0xcc, 0xc6, 0xb4, 0x76, 0x12, 0x7d, 0x83, 0xcf, 0xe6, 0x59, 0xd3, 0x5d, - 0xb3, 0x1c, 0xf3, 0x81, 0x64, 0x53, 0x80, 0x33, 0x68, 0xb2, 0x9b, 0x54, - 0x23, 0x20, 0xa2, 0x62, 0x9a, 0x2e, 0xf8, 0x94, 0xe6, 0xd9, 0xf2, 0x8a, - 0x33, 0x55, 0x12, 0x30, 0x17, 0xb9, 0x6a, 0x5b, 0x9c, 0x08, 0xb5, 0xd4, - 0x53, 0x48, 0xb6, 0xb7, 0xd9, 0x94, 0x0d, 0x9c, 0xeb, 0xb5, 0xf6, 0x9f, - 0x6f, 0x6d, 0x63, 0xb8, 0xcf, 0xb7, 0x3e, 0xad, 0xa4, 0x97, 0x72, 0xcc, - 0x72, 0x3c, 0x46, 0x6e, 0x41, 0xf4, 0x23, 0xdf, 0x1f, 0x3f, 0xb7, 0xfa, - 0x3d, 0x60, 0xa1, 0x8d, 0x61, 0x9a, 0xf5, 0x38, 0x0f, 0x37, 0x62, 0x96, - 0xef, 0xd8, 0xfb, 0xfc, 0x7a, 0x47, 0xed, 0x1a, 0xce, 0xa7, 0xd9, 0x82, - 0x9e, 0xe2, 0x94, 0x5f, 0xce, 0x15, 0x33, 0x46, 0x05, 0xb1, 0x5d, 0xf3, - 0xa2, 0x27, 0x1a, 0x57, 0x26, 0x9e, 0xd9, 0xcb, 0xcb, 0xd5, 0x36, 0x9a, - 0xbd, 0xfd, 0x7d, 0xef, 0x5a, 0xaa, 0xc6, 0x2c, 0x3d, 0xe3, 0x98, 0xa5, - 0x0f, 0x74, 0x79, 0x02, 0xac, 0xa3, 0xa7, 0x11, 0xc2, 0x30, 0x99, 0x57, - 0xf2, 0x1d, 0xcd, 0x3c, 0x59, 0xdf, 0x4e, 0x31, 0x57, 0x2e, 0x8b, 0xa4, - 0xbe, 0xa2, 0xab, 0x23, 0xf9, 0xeb, 0x40, 0x4e, 0xba, 0xa6, 0x1a, 0x4a, - 0xce, 0xa6, 0xcf, 0x4d, 0x9f, 0x00, 0x04, 0x11, 0x10, 0x61, 0xa4, 0xb1, - 0xb8, 0x13, 0x1b, 0x51, 0x2f, 0x3e, 0x06, 0x48, 0x24, 0x1f, 0x76, 0xb2, - 0xdc, 0x23, 0x15, 0x75, 0x1e, 0xc4, 0x3b, 0xeb, 0xcc, 0x4a, 0x5a, 0xa4, - 0x38, 0xe7, 0x58, 0x2c, 0xb6, 0x3a, 0x65, 0x79, 0x13, 0xfe, 0xc0, 0xe4, - 0x6d, 0xce, 0x7b, 0x60, 0x88, 0x90, 0x10, 0x1c, 0xc2, 0x3c, 0x46, 0x5e, - 0x16, 0xb4, 0xa8, 0xe3, 0x26, 0xd4, 0x64, 0x25, 0xfa, 0x3d, 0x9a, 0xa5, - 0x12, 0xa3, 0x18, 0x84, 0xd2, 0xd7, 0x17, 0x4c, 0x4f, 0xd8, 0x8f, 0xf2, - 0xb3, 0x9d, 0x06, 0x91, 0xa8, 0x93, 0x67, 0xec, 0x19, 0xe3, 0xe3, 0xab, - 0xaf, 0x48, 0xee, 0xa7, 0x04, 0x99, 0x79, 0x00, 0x0d, 0xce, 0xbd, 0x96, - 0x1b, 0x82, 0xed, 0x1f, 0xb5, 0xe6, 0xa8, 0xb5, 0xf5, 0xe1, 0x86, 0x99, - 0xd2, 0x71, 0xf9, 0x6a, 0x63, 0x71, 0x7e, 0xa5, 0x2c, 0xca, 0x85, 0x3f, - 0x06, 0xa1, 0x4e, 0xea, 0x06, 0xef, 0x37, 0xc4, 0xc8, 0x2b, 0xd1, 0x1c, - 0x38, 0x08, 0xe0, 0xb6, 0x25, 0x7a, 0x0c, 0x0a, 0xd2, 0xf8, 0x6e, 0xd2, - 0x1e, 0x4c, 0xa1, 0x80, 0x83, 0x99, 0x6e, 0xb5, 0xe6, 0xaa, 0xed, 0x7f, - 0x77, 0x10, 0x64, 0x82, 0xf1, 0x31, 0xc3, 0xa4, 0x40, 0x08, 0x12, 0x0f, - 0x34, 0x5f, 0x15, 0x9b, 0x61, 0x1a, 0x03, 0xc3, 0x5f, 0x03, 0x70, 0x60, - 0x92, 0x24, 0x0b, 0x97, 0xd3, 0x01, 0xc8, 0x0d, 0x01, 0xfb, 0x88, 0xe7, - 0x10, 0xf2, 0x1f, 0x10, 0xab, 0xf9, 0xb0, 0x62, 0x74, 0xea, 0x64, 0x1f, - 0x84, 0x58, 0x40, 0xc0, 0x5e, 0x3b, 0x7f, 0xb3, 0xbf, 0xfd, 0xe9, 0xb3, - 0xcf, 0x48, 0x4e, 0x7f, 0x40, 0x1a, 0x86, 0x5f, 0x32, 0x89, 0xbe, 0x5c, - 0x1d, 0x75, 0xa3, 0xf6, 0x25, 0x93, 0x31, 0x25, 0x05, 0x8d, 0xe8, 0x93, - 0x03, 0x00, 0x21, 0xf6, 0x08, 0x79, 0x36, 0xa3, 0x7a, 0x32, 0x5a, 0x44, - 0x5d, 0x30, 0xac, 0x17, 0x5d, 0xac, 0xbc, 0x4e, 0x72, 0xab, 0x0e, 0x02, - 0xca, 0x9c, 0x64, 0x11, 0xf2, 0x90, 0x88, 0x85, 0x9e, 0x1f, 0x5e, 0x9c, - 0x33, 0xd8, 0xf6, 0xc5, 0xe9, 0xf9, 0x8a, 0x50, 0x29, 0xba, 0x31, 0x99, - 0x2b, 0xf1, 0xa2, 0x31, 0xd1, 0x70, 0x3a, 0xb7, 0xa9, 0x58, 0x41, 0xca, - 0x00, 0x6f, 0x41, 0x2c, 0xa1, 0x72, 0x45, 0x6b, 0xa8, 0x7a, 0x10, 0xb1, - 0x5e, 0x54, 0xd0, 0x0c, 0xe8, 0x28, 0xd1, 0x39, 0x79, 0x6c, 0x62, 0xb2, - 0xe7, 0x8f, 0x53, 0x08, 0x26, 0xcc, 0xc4, 0xc8, 0x33, 0x76, 0xae, 0x1d, - 0x8c, 0x56, 0x61, 0xdc, 0x02, 0xed, 0x48, 0xee, 0xa5, 0x15, 0x14, 0x22, - 0x64, 0x95, 0x14, 0x81, 0x05, 0x51, 0x14, 0xb4, 0x8e, 0xf9, 0x9a, 0x3b, - 0x2c, 0xc4, 0xdf, 0x38, 0xb8, 0x80, 0x27, 0xe8, 0x97, 0x04, 0x86, 0x0d, - 0x3f, 0x61, 0x46, 0x6c, 0xc3, 0xf9, 0xd4, 0xf8, 0x01, 0xe3, 0x3a, 0x45, - 0x10, 0x25, 0x0a, 0x56, 0xb6, 0x62, 0x74, 0x5d, 0xec, 0x72, 0xd7, 0xb9, - 0xab, 0x33, 0xa5, 0x0e, 0xd9, 0x17, 0x92, 0x76, 0xa6, 0x25, 0xb2, 0x0b, - 0xba, 0x36, 0xaa, 0x6e, 0x9d, 0x97, 0xd0, 0xf5, 0xb2, 0xc2, 0x79, 0x8f, - 0xb8, 0x1d, 0xf6, 0x86, 0x8b, 0x7c, 0xe3, 0x12, 0xe1, 0x10, 0xf0, 0x8a, - 0xcf, 0x75, 0xc7, 0x00, 0x98, 0xce, 0x76, 0x5a, 0xa5, 0xd1, 0x86, 0x83, - 0x51, 0x36, 0x52, 0x9c, 0xea, 0xcb, 0x3a, 0x8f, 0xac, 0x7b, 0xc0, 0xdd, - 0x35, 0xa2, 0x18, 0x47, 0x75, 0xca, 0xe1, 0x4b, 0x44, 0x87, 0xce, 0xc9, - 0x9d, 0x96, 0xae, 0x51, 0xb9, 0xcd, 0xb6, 0x7f, 0xc5, 0x6d, 0xf6, 0xdb, - 0x05, 0xf0, 0x44, 0xef, 0xe6, 0x1a, 0x49, 0x33, 0xf7, 0x80, 0x24, 0x58, - 0x28, 0xe2, 0xb1, 0x2c, 0x95, 0x88, 0xf9, 0x7a, 0x92, 0xc5, 0xcd, 0x74, - 0x51, 0x03, 0xae, 0x86, 0x4e, 0x02, 0x45, 0xcf, 0xee, 0x0b, 0x6d, 0x49, - 0x43, 0x24, 0x73, 0xe0, 0x79, 0x4a, 0xbc, 0x0b, 0xab, 0xd3, 0x0d, 0xe9, - 0xc4, 0xb3, 0xd6, 0x7e, 0x99, 0x21, 0x9a, 0x2a, 0x7a, 0xa5, 0x6c, 0xe9, - 0xf3, 0xf6, 0x7d, 0x46, 0x12, 0x4a, 0x20, 0x1b, 0x19, 0x82, 0x30, 0x30, - 0xfe, 0x86, 0x6a, 0xf3, 0xa3, 0x69, 0x0c, 0x1d, 0x7b, 0x13, 0x61, 0xb6, - 0xd7, 0x48, 0x77, 0x32, 0xc4, 0x11, 0x2f, 0x63, 0x98, 0xb7, 0xda, 0x54, - 0x1a, 0xc8, 0x25, 0xc4, 0x6e, 0x2e, 0x96, 0x33, 0x5a, 0x83, 0xbb, 0x24, - 0x99, 0x74, 0x0b, 0x36, 0x79, 0x33, 0x26, 0x5c, 0x5d, 0x98, 0x64, 0x7a, - 0xc3, 0x16, 0x3b, 0xe9, 0x1f, 0x61, 0x67, 0xf0, 0x2c, 0x58, 0xd6, 0x49, - 0x6c, 0xb8, 0x60, 0x81, 0x26, 0xa3, 0x4e, 0xaa, 0xba, 0xf9, 0x7e, 0x78, - 0x74, 0x71, 0x18, 0xed, 0xbd, 0xbb, 0xf8, 0xba, 0x13, 0xe0, 0x3e, 0x06, - 0x2c, 0x0b, 0x57, 0x61, 0x49, 0xd7, 0xed, 0xad, 0xac, 0x35, 0x84, 0x32, - 0x71, 0x10, 0xb5, 0xa4, 0x7a, 0xd7, 0xec, 0xdc, 0x35, 0xfa, 0x7b, 0x31, - 0x78, 0xb1, 0x51, 0xdb, 0x18, 0xce, 0x4c, 0xc5, 0x61, 0xeb, 0xa7, 0x8b, - 0xa7, 0x43, 0xba, 0x58, 0x72, 0x36, 0x95, 0xf9, 0xe8, 0x8c, 0x01, 0x37, - 0x81, 0x80, 0x1a, 0x0c, 0xb7, 0x58, 0x5e, 0x71, 0xb8, 0x5f, 0x0b, 0xc8, - 0x13, 0x43, 0x11, 0x38, 0x79, 0x56, 0xe3, 0xb8, 0x69, 0x95, 0x41, 0x88, - 0x61, 0x8c, 0x8d, 0x74, 0xa6, 0x3b, 0x53, 0xf8, 0x3c, 0x94, 0x95, 0xce, - 0x29, 0xb6, 0x67, 0x18, 0xa2, 0x5d, 0x98, 0x35, 0xa9, 0xa8, 0xd0, 0x3e, - 0x35, 0x29, 0x18, 0x71, 0x23, 0xa5, 0xd6, 0x12, 0x57, 0x20, 0xad, 0x19, - 0xce, 0xf8, 0x58, 0x65, 0x95, 0xb0, 0xaf, 0xca, 0x82, 0x3e, 0x1f, 0xec, - 0x6c, 0xb4, 0x6a, 0x1b, 0x7a, 0x98, 0x59, 0x36, 0xa6, 0xc3, 0x48, 0x3a, - 0x32, 0x1f, 0x0f, 0x52, 0x85, 0x25, 0xb8, 0x0c, 0xe7, 0x84, 0xfa, 0x40, - 0x7c, 0x8f, 0x1d, 0x78, 0x3b, 0x59, 0x4d, 0x0c, 0x17, 0x5e, 0xa2, 0xfa, - 0x81, 0x22, 0x5d, 0x7e, 0x45, 0x6c, 0x93, 0x18, 0x2b, 0xb0, 0x4d, 0xa4, - 0xb5, 0x6f, 0x5e, 0x1c, 0x0f, 0xdd, 0x7c, 0x58, 0x38, 0xad, 0xac, 0xdb, - 0x39, 0x33, 0x99, 0x52, 0x50, 0x9b, 0x1a, 0xf7, 0xf4, 0xbc, 0xaf, 0xa0, - 0x88, 0x01, 0x74, 0x84, 0x66, 0x6d, 0x3a, 0xd2, 0x77, 0xa2, 0xab, 0xfa, - 0x54, 0x23, 0xeb, 0xb3, 0x81, 0xac, 0xe9, 0xc3, 0x20, 0x75, 0xf8, 0x7d, - 0x5b, 0x5d, 0x89, 0x17, 0xb2, 0x4f, 0xf3, 0xe4, 0xef, 0x13, 0x29, 0xb9, - 0x60, 0x60, 0x2e, 0xd1, 0x34, 0xb9, 0xad, 0x73, 0xdb, 0x64, 0x5a, 0x88, - 0x37, 0x18, 0x1e, 0x74, 0x1e, 0x99, 0x42, 0xf8, 0x4d, 0x1e, 0x63, 0xb9, - 0x8d, 0xbe, 0x5b, 0x97, 0xf0, 0x5c, 0xc1, 0x00, 0xeb, 0xab, 0xc7, 0x81, - 0x2c, 0xd1, 0x34, 0xbb, 0x4a, 0x91, 0x9e, 0x2b, 0xb1, 0xa4, 0x30, 0x9a, - 0xba, 0x24, 0xe5, 0xba, 0x5e, 0x33, 0x95, 0x28, 0x07, 0x5d, 0xc6, 0x9a, - 0xa6, 0x27, 0xf7, 0x0e, 0x2f, 0xb3, 0xce, 0xc2, 0x72, 0x39, 0x5d, 0x0c, - 0x59, 0xd3, 0x0f, 0xe9, 0xac, 0x2d, 0xe3, 0x07, 0xda, 0xbd, 0x37, 0xa2, - 0xbb, 0x07, 0x69, 0xd2, 0xb6, 0x3f, 0x6d, 0xdb, 0xd3, 0xc4, 0xee, 0xa3, - 0xed, 0xb2, 0xdd, 0x8a, 0xaa, 0xab, 0xf6, 0x49, 0xfb, 0xaa, 0xf1, 0xde, - 0xb4, 0x53, 0x9d, 0xad, 0x99, 0x5b, 0xb4, 0xd5, 0x34, 0x77, 0x21, 0x8e, - 0x4e, 0xcd, 0x35, 0x5e, 0x79, 0xaa, 0x6b, 0x53, 0x59, 0x4d, 0x68, 0x91, - 0x1b, 0x7b, 0x93, 0xe7, 0xac, 0xe0, 0x79, 0x4c, 0x00, 0xe3, 0xf1, 0x23, - 0xe2, 0xc5, 0xfe, 0xfe, 0x3e, 0x7d, 0xb0, 0x2f, 0x7b, 0xbc, 0xaf, 0xcc, - 0x69, 0xff, 0x9a, 0x93, 0xa1, 0xa6, 0x1b, 0xd1, 0xf0, 0x7a, 0xc9, 0x79, - 0x3c, 0xd9, 0x9d, 0x48, 0x56, 0x3a, 0x90, 0x7a, 0x80, 0x4b, 0xfc, 0xc0, - 0xfa, 0xb5, 0xc0, 0x85, 0x54, 0xae, 0x31, 0x51, 0x56, 0x90, 0xa0, 0x65, - 0x9e, 0x49, 0xe3, 0x33, 0xd2, 0x43, 0x6b, 0x0e, 0xe5, 0x72, 0x6e, 0x16, - 0x02, 0x6f, 0xce, 0x9a, 0x3b, 0xca, 0x51, 0xd1, 0x2d, 0x16, 0x8a, 0x3b, - 0xd9, 0xbb, 0x60, 0x38, 0xd0, 0x52, 0xc3, 0xe2, 0xda, 0xc3, 0x6f, 0xdc, - 0xee, 0x80, 0x78, 0xe2, 0x00, 0x49, 0xca, 0x64, 0x7a, 0xe0, 0x88, 0x71, - 0x72, 0x91, 0x04, 0x38, 0x4a, 0x0c, 0x40, 0x6b, 0x86, 0xb4, 0xae, 0x68, - 0x1f, 0x6f, 0xf0, 0xce, 0x4b, 0x42, 0x09, 0xff, 0x59, 0x34, 0x69, 0x6b, - 0x7b, 0xc5, 0x86, 0xc8, 0xeb, 0x3f, 0x4a, 0xc0, 0xef, 0xa6, 0xf6, 0xfa, - 0xf3, 0xbf, 0xbe, 0x4d, 0x89, 0x5e, 0x1f, 0xfc, 0x18, 0x37, 0xdd, 0xe6, - 0xcb, 0xb2, 0xe0, 0x4d, 0x74, 0xed, 0x00, 0x0f, 0x24, 0x6a, 0x48, 0x23, - 0x0d, 0x0b, 0xda, 0xee, 0x09, 0xd0, 0x51, 0x24, 0xb4, 0xd6, 0xc1, 0xa7, - 0xde, 0xc5, 0x8d, 0x6b, 0xc4, 0xa8, 0xde, 0x5f, 0xde, 0xa4, 0xc5, 0xa4, - 0x6a, 0xf4, 0x75, 0xcd, 0xe7, 0xc9, 0x62, 0xfa, 0xe0, 0x54, 0x13, 0x6d, - 0x7e, 0xd5, 0x75, 0x1e, 0x6a, 0xb8, 0x1a, 0x0b, 0x2d, 0x1b, 0xa3, 0x63, - 0x2c, 0xaa, 0xad, 0xa0, 0xa3, 0x98, 0x2f, 0xdb, 0xcb, 0x86, 0xaf, 0x24, - 0xd6, 0x9e, 0x6b, 0x80, 0x9c, 0xcd, 0x1d, 0x0a, 0x6e, 0x35, 0x97, 0x11, - 0xad, 0xa8, 0xa2, 0x9a, 0x59, 0xb0, 0x2a, 0x16, 0x4e, 0xf4, 0xcb, 0x29, - 0x2f, 0x3d, 0xee, 0xe2, 0x84, 0x24, 0x7c, 0x44, 0xb6, 0x5b, 0x9e, 0x78, - 0x3a, 0x97, 0xb4, 0x64, 0x4e, 0x24, 0x83, 0xa1, 0x30, 0x8e, 0x5a, 0x62, - 0xeb, 0xf9, 0xe2, 0x34, 0xb4, 0xa7, 0x55, 0xc9, 0xe3, 0x8a, 0x87, 0x17, - 0xc4, 0xf1, 0x22, 0x01, 0xbe, 0x4d, 0x58, 0xf0, 0xc1, 0x92, 0xfb, 0x9a, - 0x2a, 0x7e, 0xc1, 0xce, 0x66, 0x71, 0x7a, 0x92, 0x22, 0xbe, 0x89, 0xa4, - 0x70, 0x70, 0x5f, 0xb6, 0x83, 0xe5, 0x13, 0x85, 0x8d, 0x66, 0xf5, 0xf8, - 0xb3, 0x4f, 0x3e, 0x6d, 0x8d, 0xd4, 0x4b, 0x34, 0xc9, 0xc1, 0xc3, 0xb6, - 0xd2, 0x69, 0xd6, 0xa4, 0x51, 0xf1, 0x84, 0x70, 0x8d, 0x02, 0x4e, 0xb1, - 0x13, 0x41, 0x59, 0x2e, 0xce, 0xee, 0xb8, 0x69, 0x50, 0xe4, 0x01, 0x75, - 0xc5, 0x20, 0x20, 0xa9, 0x17, 0x06, 0x9a, 0xaf, 0x50, 0xeb, 0x55, 0x38, - 0x1c, 0x49, 0xbf, 0x9b, 0x47, 0x5f, 0x20, 0x55, 0x84, 0x3b, 0xa8, 0x35, - 0xf7, 0x37, 0x96, 0xd5, 0xaf, 0x92, 0xb2, 0x99, 0xbd, 0x84, 0x7d, 0x7f, - 0xb2, 0xf1, 0x36, 0xe7, 0xb1, 0x66, 0x5f, 0x45, 0xaf, 0xcc, 0x83, 0xec, - 0xf5, 0x0b, 0x57, 0x66, 0x82, 0x46, 0xc4, 0xc4, 0xf7, 0x4a, 0xf5, 0x2f, - 0xcd, 0xdc, 0xf8, 0xa2, 0x45, 0x41, 0x31, 0x0c, 0x55, 0x01, 0xa0, 0x29, - 0xcb, 0xd8, 0x0a, 0xc9, 0xc0, 0x44, 0xc7, 0xd9, 0xd6, 0xf0, 0x91, 0xaa, - 0x46, 0x6b, 0xd8, 0xe8, 0x4c, 0x2f, 0xd3, 0x36, 0x14, 0x8c, 0x57, 0xae, - 0x51, 0xc0, 0x1f, 0x4a, 0xc2, 0x3b, 0x0f, 0xa5, 0x6d, 0x25, 0x4c, 0xba, - 0xe3, 0xf0, 0x9a, 0xe4, 0xbe, 0x71, 0x7e, 0xf1, 0x6e, 0xb0, 0x4e, 0x0d, - 0x35, 0xff, 0xf0, 0x3e, 0x9e, 0xa1, 0xcc, 0x89, 0xa1, 0x8a, 0xc3, 0xd9, - 0xe8, 0x53, 0x52, 0xd4, 0x0f, 0x1f, 0xda, 0xed, 0xc4, 0x92, 0x1c, 0x75, - 0xf9, 0xa1, 0xfa, 0xde, 0xf3, 0x4b, 0x5d, 0xd3, 0x58, 0x43, 0xdf, 0x21, - 0x28, 0x52, 0x86, 0xe3, 0x40, 0xaa, 0xc4, 0x91, 0xc7, 0x5d, 0x4d, 0xea, - 0xd5, 0x78, 0x82, 0xe5, 0x00, 0x14, 0xca, 0x6e, 0xab, 0xbb, 0xbb, 0xff, - 0xc6, 0x8d, 0xf4, 0xf5, 0x17, 0x95, 0xd6, 0xee, 0xee, 0x06, 0xb3, 0x07, - 0xfb, 0xae, 0xa8, 0x14, 0x7a, 0xf2, 0xb9, 0xa2, 0x2e, 0xab, 0x9c, 0x67, - 0xd9, 0x2d, 0x1c, 0x71, 0xf9, 0x04, 0xf1, 0xb0, 0x0c, 0x82, 0x11, 0x9a, - 0x20, 0x38, 0xf6, 0x9b, 0x19, 0x1e, 0x79, 0x12, 0x5a, 0x2e, 0x30, 0x79, - 0xb1, 0x3f, 0x75, 0xd5, 0xf7, 0xa5, 0x07, 0xfd, 0x2a, 0x53, 0x99, 0x7c, - 0x44, 0xd7, 0x8a, 0x51, 0x59, 0x53, 0x70, 0x28, 0xca, 0x7c, 0x39, 0x2e, - 0x9b, 0x0e, 0xa3, 0x1f, 0xc2, 0xba, 0x42, 0xa2, 0x5f, 0x99, 0x9e, 0x00, - 0x13, 0x47, 0x85, 0x25, 0xb8, 0xd8, 0x7b, 0x54, 0x0f, 0x6b, 0xd3, 0xd8, - 0xba, 0x80, 0xea, 0xec, 0xf6, 0x24, 0x38, 0x5b, 0x13, 0xa4, 0x7d, 0x3a, - 0xef, 0xca, 0x85, 0xef, 0xdc, 0x25, 0xa3, 0xd7, 0x5f, 0x70, 0x40, 0xd4, - 0x3d, 0xa0, 0xfe, 0x04, 0xf2, 0x93, 0x69, 0x70, 0x93, 0xff, 0xec, 0x70, - 0x8a, 0x7c, 0xdb, 0xba, 0x13, 0x17, 0x5f, 0xd5, 0x62, 0x00, 0x35, 0x10, - 0xb4, 0x76, 0x99, 0x65, 0x2b, 0x1b, 0x73, 0x35, 0xa0, 0xb0, 0x18, 0x41, - 0x54, 0x3f, 0x8b, 0x1e, 0x57, 0x89, 0xa7, 0x42, 0xa1, 0x3c, 0xde, 0xc5, - 0xb9, 0xc2, 0xb9, 0xe2, 0x14, 0xb6, 0x65, 0xe8, 0x8e, 0x1e, 0x1c, 0x88, - 0xb8, 0x65, 0xeb, 0xbd, 0xee, 0x79, 0x37, 0xd7, 0xea, 0x05, 0xe1, 0xa7, - 0x5f, 0x7f, 0x01, 0xdc, 0x1a, 0xfe, 0xf5, 0x2f, 0xee, 0x6d, 0xfe, 0x87, - 0xa8, 0x98, 0x18, 0xc1, 0xca, 0x89, 0xb0, 0x28, 0x72, 0xb9, 0xcc, 0x21, - 0x66, 0x24, 0x72, 0x24, 0x0b, 0x10, 0x86, 0xa1, 0x52, 0x2a, 0x37, 0x79, - 0xbb, 0x77, 0xf2, 0x6e, 0xef, 0x78, 0xf0, 0x98, 0x92, 0x16, 0x1a, 0x7a, - 0x5c, 0x18, 0x0c, 0xcc, 0x2e, 0x15, 0xa5, 0x8b, 0xcf, 0xa3, 0x86, 0x23, - 0xcb, 0x4d, 0xf8, 0x78, 0x45, 0x02, 0x9f, 0xdf, 0xad, 0xd7, 0xa7, 0x26, - 0xc7, 0xbb, 0xb4, 0x3b, 0xc1, 0xe9, 0x70, 0xa0, 0xfe, 0xa2, 0x49, 0xb4, - 0xc6, 0xaf, 0x22, 0xc9, 0x30, 0x8f, 0xa5, 0x4a, 0x8b, 0xd3, 0x17, 0xa7, - 0x29, 0xd7, 0x03, 0x9c, 0x32, 0x6e, 0xd8, 0xb1, 0x56, 0x36, 0xeb, 0x7e, - 0xd1, 0xc5, 0x1a, 0x74, 0x5f, 0x75, 0x79, 0x43, 0xf3, 0xb8, 0x89, 0x24, - 0x29, 0x69, 0xc3, 0x1a, 0x08, 0xd8, 0x15, 0xaa, 0xe9, 0xda, 0x20, 0x74, - 0xcd, 0x64, 0x64, 0xf0, 0x40, 0xcf, 0x35, 0xba, 0x8f, 0xeb, 0x7a, 0x25, - 0xf1, 0xbc, 0xc5, 0x6a, 0x0e, 0x78, 0x1b, 0x97, 0x47, 0x27, 0xd5, 0x51, - 0x70, 0x2d, 0xf8, 0x99, 0x8b, 0x24, 0x9f, 0x33, 0xc7, 0x60, 0x07, 0xaf, - 0xc0, 0x8c, 0xb5, 0x39, 0xad, 0xdd, 0xda, 0xe8, 0x78, 0x64, 0x20, 0x1c, - 0x50, 0x40, 0xb7, 0x72, 0xca, 0x41, 0x84, 0xb0, 0x57, 0xd1, 0x97, 0x57, - 0x57, 0x9a, 0xe9, 0x87, 0x39, 0x23, 0x2f, 0x9a, 0x26, 0xdd, 0xc0, 0x3a, - 0xd3, 0x22, 0x82, 0x44, 0xc6, 0x75, 0x54, 0x97, 0xfe, 0x15, 0x89, 0x35, - 0x57, 0xd3, 0x6c, 0x94, 0x5d, 0x5e, 0x3e, 0x42, 0x1b, 0x05, 0x5d, 0x88, - 0x74, 0x39, 0x15, 0x70, 0x60, 0x21, 0xc2, 0x9f, 0xe3, 0xda, 0xf9, 0xbd, - 0x91, 0x96, 0xd6, 0x63, 0xec, 0xec, 0x81, 0x98, 0x93, 0x14, 0xbe, 0xae, - 0x31, 0xa9, 0xc0, 0xef, 0x62, 0xb1, 0xf7, 0x16, 0x32, 0x89, 0x92, 0x6b, - 0x98, 0xb6, 0x05, 0x62, 0x79, 0x28, 0x07, 0x12, 0x6d, 0xfe, 0xf1, 0xcf, - 0x1f, 0x7f, 0x6e, 0x41, 0x3f, 0x61, 0x73, 0xaa, 0x05, 0x1d, 0x73, 0xd0, - 0xa5, 0x26, 0x4b, 0xc0, 0xe0, 0x49, 0x3b, 0x50, 0x7a, 0xa8, 0x2e, 0x2d, - 0x7f, 0x10, 0x04, 0x95, 0x36, 0x2f, 0x8c, 0xc2, 0x77, 0x18, 0xc3, 0xe3, - 0x59, 0x9a, 0x1b, 0x79, 0x9a, 0x5c, 0xc5, 0x92, 0x0f, 0xed, 0x2e, 0x4f, - 0xb5, 0xf3, 0x3f, 0x18, 0x42, 0x79, 0xc3, 0xa8, 0xea, 0x73, 0x46, 0x43, - 0x41, 0x0a, 0x46, 0xbb, 0xf3, 0x23, 0x67, 0x48, 0x0e, 0x36, 0xe2, 0x2b, - 0xde, 0x88, 0xc6, 0xaa, 0xf9, 0x6c, 0x92, 0x5e, 0x0d, 0x1f, 0xba, 0x92, - 0xee, 0x8b, 0xe0, 0x74, 0x49, 0xc6, 0xad, 0x22, 0x6e, 0xac, 0x44, 0xef, - 0xc9, 0xf2, 0x1a, 0xc0, 0x87, 0x88, 0x5c, 0x66, 0x82, 0x09, 0xfc, 0xe5, - 0x5f, 0x1d, 0x5e, 0x44, 0x06, 0xa7, 0xd4, 0xa0, 0xfb, 0xa0, 0x82, 0x82, - 0x4b, 0xed, 0xf5, 0xd8, 0x4b, 0xc8, 0x03, 0x77, 0x95, 0x9c, 0xee, 0xcc, - 0xa7, 0x82, 0xf8, 0x83, 0x16, 0x25, 0x44, 0x81, 0x3c, 0x44, 0xab, 0xb3, - 0x34, 0x5f, 0xbf, 0x6c, 0xc7, 0x06, 0xb9, 0xd0, 0xfd, 0x6b, 0x37, 0xf2, - 0xb0, 0x0a, 0x6d, 0x91, 0x11, 0x1e, 0x5e, 0xac, 0x96, 0xcf, 0xda, 0x3f, - 0xea, 0xb9, 0x4c, 0x6b, 0x5d, 0x30, 0x59, 0x47, 0x37, 0x95, 0x51, 0x0b, - 0x74, 0xd2, 0xaa, 0x81, 0x7c, 0x7d, 0xb8, 0x77, 0x60, 0xb3, 0xfd, 0x2f, - 0x48, 0x49, 0x75, 0x7e, 0x8a, 0x51, 0x22, 0x70, 0x51, 0x4b, 0xb3, 0x70, - 0xcb, 0xa6, 0x39, 0x63, 0x41, 0x4b, 0x24, 0x0b, 0xc9, 0x6c, 0xc0, 0x3e, - 0x85, 0x2a, 0x27, 0x88, 0x2a, 0x0a, 0xb5, 0x2f, 0xf1, 0xc5, 0x6e, 0x3d, - 0x42, 0x03, 0x77, 0x60, 0xbe, 0x6e, 0x2d, 0x86, 0x11, 0x54, 0x86, 0x0a, - 0x28, 0xfb, 0x1a, 0x19, 0x3b, 0xd3, 0x45, 0x23, 0x75, 0x23, 0xbe, 0xe2, - 0x7c, 0xb2, 0xe9, 0x22, 0x78, 0x36, 0xc8, 0xee, 0x79, 0x25, 0x3f, 0x57, - 0x5c, 0x2c, 0x87, 0x40, 0x91, 0xd1, 0x47, 0xc3, 0xb4, 0xb5, 0xab, 0xa0, - 0x90, 0x07, 0x89, 0x1a, 0x7c, 0x67, 0x5c, 0x71, 0x6e, 0x10, 0xae, 0x7c, - 0xe2, 0xa1, 0xf5, 0x75, 0x50, 0x0e, 0x84, 0x44, 0x77, 0x57, 0x77, 0x35, - 0x09, 0x5a, 0x2f, 0xc2, 0x50, 0x74, 0xcd, 0xad, 0xb1, 0x1a, 0x16, 0x93, - 0x46, 0x81, 0x01, 0x62, 0x37, 0x45, 0x49, 0x62, 0xa0, 0x8d, 0x8c, 0x5f, - 0xba, 0x8e, 0x0b, 0x6f, 0x7d, 0x95, 0xdc, 0x68, 0x71, 0x7f, 0xf9, 0x73, - 0x63, 0x4e, 0x9a, 0x26, 0x8c, 0xbb, 0xd3, 0xec, 0x14, 0x92, 0x69, 0x89, - 0x6d, 0x83, 0xb4, 0xcd, 0x59, 0xb4, 0xfc, 0x92, 0xe6, 0x1d, 0x69, 0x97, - 0x61, 0x94, 0xcf, 0x8a, 0xf3, 0xaa, 0xb2, 0xb5, 0xf3, 0x0c, 0x65, 0xf3, - 0xa4, 0x6a, 0x39, 0xe1, 0x39, 0x5a, 0x96, 0x13, 0x72, 0x8a, 0x50, 0x40, - 0xb7, 0x71, 0xed, 0x01, 0x44, 0xb8, 0x5c, 0x5e, 0x4a, 0xcc, 0xe7, 0xdc, - 0x10, 0x82, 0x31, 0x50, 0x97, 0xeb, 0x39, 0xc9, 0x50, 0xfc, 0xd5, 0xd6, - 0xcc, 0x14, 0xff, 0xb8, 0x81, 0xb9, 0x6b, 0xc3, 0xd1, 0xe9, 0xf8, 0x14, - 0x41, 0xc7, 0xeb, 0x19, 0x9d, 0x15, 0x7b, 0xcb, 0x38, 0x2f, 0x09, 0x30, - 0x86, 0x14, 0x06, 0xf6, 0xae, 0xc9, 0xd2, 0xb5, 0xe0, 0x82, 0x64, 0xa7, - 0x32, 0xb8, 0xf7, 0x2c, 0x63, 0xa7, 0xe8, 0xdc, 0x4f, 0x5b, 0x17, 0x8c, - 0xee, 0x88, 0xab, 0xf4, 0xd6, 0x6a, 0xd4, 0x60, 0x64, 0x2d, 0x09, 0x39, - 0x36, 0x08, 0x13, 0xf6, 0x35, 0x28, 0x41, 0xf2, 0x9c, 0xa3, 0x02, 0xf8, - 0xeb, 0x6e, 0x3b, 0xc7, 0xd9, 0x14, 0x89, 0xd1, 0x31, 0x8a, 0x1b, 0xed, - 0x32, 0x61, 0xd7, 0x1d, 0x1e, 0x5f, 0x93, 0x58, 0xb7, 0xdb, 0x69, 0x0f, - 0xc7, 0xad, 0xf0, 0xf6, 0xc2, 0x41, 0x36, 0xc2, 0x6b, 0xae, 0x83, 0x06, - 0x3a, 0xf2, 0x64, 0xb2, 0xa9, 0x03, 0xd6, 0xda, 0xb3, 0xad, 0xa3, 0xb6, - 0x60, 0xf2, 0x05, 0x22, 0xac, 0xb0, 0xfb, 0x28, 0xd9, 0xc5, 0xb5, 0x92, - 0x58, 0x2f, 0x0b, 0x08, 0x1a, 0x99, 0x85, 0xbc, 0x43, 0xd4, 0x74, 0xdb, - 0x35, 0xa9, 0x31, 0xbb, 0xb9, 0x33, 0xd9, 0xe9, 0x68, 0x74, 0x51, 0x76, - 0xd9, 0xcc, 0x63, 0xaf, 0x3b, 0xdc, 0x23, 0xce, 0xe3, 0x8a, 0xf3, 0x3c, - 0xa5, 0x73, 0xd8, 0x40, 0xb8, 0x94, 0xa8, 0xaa, 0xd2, 0xd5, 0x55, 0x05, - 0x64, 0xeb, 0x4c, 0x9c, 0x29, 0xb4, 0x23, 0x6c, 0x56, 0x80, 0x48, 0xc8, - 0x69, 0xa4, 0x6b, 0xab, 0x6c, 0xe9, 0x48, 0xc5, 0xa9, 0x95, 0xcb, 0x82, - 0x35, 0x3d, 0xcc, 0x5c, 0x5c, 0x85, 0x1c, 0xb0, 0x4a, 0x04, 0x0e, 0x4a, - 0x5b, 0x82, 0x53, 0x8b, 0x4a, 0x14, 0x2c, 0xf9, 0x66, 0x0e, 0x8a, 0x6a, - 0x8b, 0x8f, 0xe0, 0xb7, 0x8c, 0x79, 0x04, 0xb2, 0x33, 0x57, 0x03, 0x5d, - 0x2c, 0x47, 0xb3, 0xc9, 0x8b, 0xe8, 0x15, 0xfd, 0x53, 0xe7, 0x6c, 0xa8, - 0x46, 0x83, 0xb0, 0x09, 0x95, 0x85, 0x55, 0x16, 0xc2, 0xef, 0xcf, 0x76, - 0xf8, 0x40, 0xdc, 0x53, 0x9b, 0xe3, 0x94, 0x65, 0x12, 0xba, 0x07, 0xae, - 0xd2, 0x52, 0xe2, 0xd2, 0xf5, 0x85, 0xf6, 0xd2, 0x29, 0x52, 0x1e, 0x22, - 0xda, 0xde, 0xf9, 0x2c, 0x1a, 0xa5, 0x65, 0xf4, 0xf6, 0xe0, 0x85, 0x14, - 0x5f, 0x2a, 0x96, 0x33, 0x5f, 0xa4, 0x0f, 0xe8, 0x90, 0xa8, 0x56, 0xca, - 0x0e, 0x3f, 0x1a, 0xe3, 0xb4, 0x51, 0x07, 0xe1, 0x26, 0x79, 0xe8, 0xd5, - 0x1d, 0x4b, 0x97, 0xe6, 0x04, 0x0b, 0xec, 0xd5, 0x8e, 0xe2, 0x50, 0xfb, - 0x54, 0x0b, 0x18, 0x34, 0x05, 0x7a, 0x9a, 0x3f, 0x8d, 0xa0, 0xb0, 0xc2, - 0x2d, 0x17, 0x35, 0x68, 0x6d, 0x26, 0x03, 0x64, 0x63, 0xed, 0x9f, 0x49, - 0xa4, 0x1c, 0x22, 0x8a, 0x82, 0xbc, 0xf2, 0xfa, 0xad, 0x10, 0x1a, 0xee, - 0x3e, 0xad, 0x9a, 0x56, 0xa5, 0x04, 0x9b, 0x61, 0x81, 0xf4, 0x49, 0xb9, - 0xba, 0x5a, 0x55, 0x57, 0x2b, 0x3a, 0xc2, 0xb3, 0x7a, 0x8a, 0x4d, 0x23, - 0x3e, 0xc6, 0x1b, 0x41, 0x62, 0xa6, 0xdc, 0xba, 0x7c, 0x0e, 0xd2, 0x31, - 0x97, 0x37, 0x6c, 0xc0, 0x1a, 0x2e, 0x3d, 0xd4, 0xa5, 0x15, 0x7b, 0xcb, - 0x97, 0x82, 0x6f, 0xbb, 0xb7, 0x60, 0x33, 0x4f, 0xb4, 0x3d, 0xb8, 0xef, - 0x85, 0xb5, 0x66, 0x14, 0x0c, 0x19, 0x25, 0x65, 0x1a, 0xd9, 0x48, 0xf0, - 0x2a, 0xd7, 0x46, 0xc3, 0x6d, 0x8b, 0x7d, 0x6d, 0xca, 0x21, 0x13, 0xb9, - 0x70, 0xe0, 0x1d, 0x62, 0x65, 0x57, 0x31, 0xb0, 0x78, 0x03, 0xca, 0x4b, - 0xe9, 0x1c, 0x28, 0x54, 0xd0, 0xaa, 0x79, 0xcb, 0xb7, 0x41, 0x61, 0x13, - 0xbb, 0x86, 0x55, 0x16, 0x97, 0x80, 0x43, 0x21, 0xb7, 0xe0, 0xeb, 0x66, - 0x41, 0x1c, 0x6e, 0xc6, 0x9d, 0x5e, 0x68, 0xbf, 0xb2, 0x02, 0x7d, 0xbe, - 0xf8, 0x7a, 0x2c, 0x73, 0x25, 0x9e, 0x4f, 0xfa, 0x18, 0x4b, 0x69, 0xb4, - 0x19, 0x5b, 0x5c, 0x58, 0x4d, 0x47, 0x54, 0x4d, 0x1f, 0x84, 0xc7, 0x09, - 0x7c, 0xfc, 0x92, 0x99, 0x5f, 0x6b, 0xa6, 0xe9, 0x99, 0x60, 0x81, 0x45, - 0xd5, 0xaa, 0xa5, 0xe6, 0x98, 0xf6, 0x62, 0xb2, 0x6b, 0x66, 0xe0, 0x4c, - 0x24, 0xc9, 0xbc, 0x6c, 0x99, 0x9a, 0xf5, 0x26, 0x13, 0x09, 0xbc, 0xa8, - 0x61, 0xa1, 0xdf, 0x41, 0xb4, 0x37, 0x37, 0x4d, 0x5c, 0x93, 0xdb, 0x25, - 0xb3, 0xa0, 0x81, 0xf4, 0x7f, 0x93, 0x34, 0x4c, 0x02, 0x6a, 0x13, 0x08, - 0x66, 0x46, 0x62, 0xd5, 0xd6, 0xee, 0x76, 0xa5, 0x42, 0xb3, 0x42, 0x89, - 0xa3, 0x70, 0xc2, 0xef, 0x17, 0x14, 0x7c, 0xa4, 0x82, 0x58, 0x1b, 0xbd, - 0x6c, 0x72, 0xdc, 0xdf, 0x9b, 0xa3, 0xe3, 0xc3, 0x8d, 0xe8, 0x0d, 0x57, - 0xbf, 0x76, 0x19, 0xdd, 0xae, 0x8c, 0x1e, 0x1d, 0xdf, 0x3f, 0xc8, 0x27, - 0x46, 0xfe, 0xaa, 0x84, 0xb6, 0x19, 0x55, 0xcd, 0xeb, 0x2d, 0xe2, 0xb4, - 0x9c, 0x09, 0xcc, 0x42, 0xb2, 0x46, 0x32, 0xdc, 0x6d, 0x06, 0xb4, 0x6b, - 0x01, 0x56, 0xad, 0xe4, 0x07, 0x6b, 0x9b, 0xaf, 0x8a, 0xe0, 0x91, 0x86, - 0x51, 0x31, 0x58, 0x63, 0x13, 0x79, 0xe0, 0x91, 0xd9, 0xe4, 0xaa, 0x15, - 0x72, 0x5b, 0x46, 0x27, 0xf5, 0x8a, 0xd2, 0x5f, 0x24, 0x40, 0x16, 0xab, - 0x36, 0xcb, 0x26, 0x0e, 0xb7, 0x4d, 0xaa, 0x17, 0xf0, 0x7c, 0x83, 0xb5, - 0xfb, 0x1b, 0xad, 0xdd, 0xdf, 0x96, 0xf3, 0x9b, 0xbe, 0x56, 0xa9, 0x52, - 0xbc, 0x81, 0xa2, 0xfd, 0xec, 0x7d, 0xe7, 0x9c, 0xfd, 0x08, 0x56, 0x14, - 0x43, 0x67, 0xb3, 0x58, 0x53, 0x1c, 0xc0, 0x36, 0xf5, 0x1e, 0x29, 0xf6, - 0xe0, 0x51, 0xbc, 0xa4, 0xca, 0xee, 0x98, 0xa3, 0x24, 0xa1, 0x1f, 0x76, - 0xac, 0x68, 0x96, 0x35, 0xdc, 0x19, 0x84, 0xd0, 0x51, 0x0d, 0x2c, 0xc8, - 0xc2, 0x12, 0x63, 0xae, 0x5d, 0xc9, 0x23, 0x48, 0xb0, 0xea, 0xc6, 0xe7, - 0xe2, 0xf5, 0xbc, 0xde, 0x74, 0xcf, 0xfb, 0x72, 0x5c, 0x5a, 0xe7, 0x9a, - 0x49, 0xa9, 0x76, 0xcd, 0x4a, 0xba, 0x92, 0xc1, 0xea, 0x16, 0x86, 0x00, - 0x62, 0x23, 0x8c, 0xea, 0x83, 0x33, 0xc8, 0x5d, 0x96, 0x0d, 0xba, 0x0d, - 0xc2, 0x19, 0x4f, 0x33, 0xa9, 0x80, 0x71, 0x17, 0xc6, 0xd8, 0xdc, 0x80, - 0xcf, 0x15, 0x6d, 0xf1, 0x2a, 0x96, 0x78, 0x17, 0xaa, 0xd0, 0x81, 0xdd, - 0x4f, 0xe5, 0x5e, 0x87, 0xb7, 0xab, 0xbc, 0xa3, 0x63, 0xad, 0x75, 0x9a, - 0x89, 0x00, 0x95, 0x3a, 0xdb, 0x30, 0x25, 0x79, 0xd0, 0x93, 0x3d, 0x5a, - 0xef, 0xc6, 0x23, 0x1c, 0x5a, 0x2d, 0xd1, 0xa5, 0x49, 0x4b, 0x0d, 0x53, - 0x81, 0x7c, 0x25, 0xa2, 0x36, 0x3f, 0x79, 0x05, 0xdc, 0xa2, 0x96, 0xdc, - 0x21, 0xe9, 0x46, 0x90, 0xe7, 0x63, 0x76, 0x27, 0xd5, 0xf7, 0xce, 0xd5, - 0x74, 0xd6, 0xdb, 0x4a, 0x1d, 0x03, 0xd3, 0x69, 0x65, 0x44, 0x1e, 0x74, - 0x22, 0x98, 0x68, 0x4b, 0x8a, 0x07, 0x50, 0xfb, 0xf5, 0x26, 0xaf, 0xac, - 0xb1, 0x31, 0x98, 0x56, 0xd1, 0xcc, 0x19, 0x7d, 0xa0, 0xc7, 0x40, 0xe2, - 0xc4, 0x55, 0xa6, 0xc8, 0xee, 0xea, 0x25, 0x44, 0x32, 0xb9, 0xd8, 0x2f, - 0x23, 0x57, 0x4b, 0x67, 0x45, 0x89, 0x1c, 0x64, 0x49, 0x5d, 0xc7, 0xf7, - 0xf7, 0x83, 0x22, 0x91, 0x9a, 0x31, 0x45, 0x31, 0x45, 0x5a, 0x56, 0xb5, - 0x36, 0x0e, 0x67, 0xe4, 0x26, 0x8b, 0x78, 0x8a, 0x28, 0x2b, 0x3e, 0x9f, - 0xab, 0x6a, 0x90, 0x54, 0x4c, 0x5c, 0xe6, 0x26, 0xc5, 0x1b, 0x71, 0xb5, - 0x52, 0xc8, 0x5c, 0xea, 0x71, 0x0b, 0x46, 0xec, 0x8c, 0xed, 0x53, 0x51, - 0x3a, 0x69, 0x46, 0x89, 0x09, 0x44, 0x0d, 0xfc, 0x21, 0xbc, 0x71, 0x6e, - 0x14, 0x2c, 0x7d, 0x8f, 0xd4, 0x30, 0xeb, 0xba, 0x30, 0x77, 0x11, 0xd7, - 0x08, 0xbf, 0x4d, 0x27, 0xcb, 0x86, 0xf2, 0x57, 0x7f, 0xdd, 0x2a, 0x10, - 0x06, 0xe1, 0xd1, 0x38, 0x89, 0xfc, 0x44, 0xe6, 0xee, 0x38, 0x40, 0x3f, - 0xa2, 0xb2, 0x55, 0x83, 0x39, 0x5e, 0x6a, 0xd2, 0x3c, 0xb8, 0xee, 0xc5, - 0xfe, 0xd9, 0xfb, 0x6f, 0x0e, 0x0f, 0xcf, 0x8e, 0x0e, 0x98, 0x1d, 0x82, - 0xff, 0xba, 0x8f, 0x4e, 0x2e, 0xbe, 0x3d, 0xf6, 0x89, 0xf3, 0x2a, 0x39, - 0xd7, 0x0f, 0x14, 0x1b, 0x42, 0xb9, 0xb9, 0xe3, 0x74, 0xbe, 0xbc, 0xef, - 0xa1, 0xf2, 0x06, 0xc9, 0xdd, 0x7b, 0x47, 0xdf, 0xf7, 0xa2, 0xaf, 0xcf, - 0xfa, 0xef, 0xbe, 0x77, 0xb7, 0xf6, 0xc6, 0xa0, 0x11, 0x0c, 0x44, 0xec, - 0xbc, 0x1e, 0xc9, 0xe2, 0x62, 0x83, 0x80, 0x99, 0xe3, 0xe7, 0x6e, 0x24, - 0xd6, 0x02, 0xe2, 0xf9, 0x81, 0x06, 0x97, 0xaa, 0x31, 0x3b, 0xbc, 0xfe, - 0x9c, 0xb1, 0x05, 0xbb, 0xdf, 0xc2, 0xfd, 0xa5, 0x5a, 0xfb, 0x20, 0x24, - 0xac, 0x87, 0xe8, 0x15, 0xfd, 0xd3, 0x96, 0x54, 0xb5, 0xc9, 0x05, 0x7c, - 0xa3, 0xb3, 0x20, 0xd3, 0xdc, 0x39, 0x74, 0x06, 0x16, 0x04, 0xa3, 0x8a, - 0xb5, 0xe6, 0x08, 0xa8, 0xd3, 0x2c, 0x6f, 0x44, 0x51, 0xba, 0x16, 0x7c, - 0xbd, 0x43, 0xad, 0x59, 0xdf, 0xea, 0x8c, 0xfb, 0x0d, 0xb3, 0xc9, 0xa8, - 0xd3, 0x27, 0xd3, 0x97, 0x1b, 0x53, 0xe4, 0x47, 0x07, 0x0e, 0xbf, 0x41, - 0x6f, 0x70, 0x6e, 0x04, 0xf3, 0x93, 0x55, 0x6b, 0x03, 0xfc, 0x95, 0xf4, - 0x66, 0x9f, 0x88, 0x8f, 0xe7, 0x52, 0x0e, 0x95, 0x38, 0x38, 0x3c, 0xef, - 0x21, 0x5b, 0x2c, 0xcc, 0x68, 0x76, 0xa8, 0x1d, 0x5a, 0xb9, 0xa5, 0x6c, - 0xb5, 0xe5, 0x00, 0x79, 0xe0, 0x7f, 0x5e, 0x26, 0xf3, 0x4d, 0x3e, 0x8a, - 0x5e, 0x4d, 0xe9, 0xc5, 0xe9, 0x8a, 0x00, 0x4e, 0x2d, 0xaa, 0xf7, 0x4d, - 0x92, 0x8f, 0x92, 0x3c, 0x2b, 0xea, 0x89, 0x2e, 0x9a, 0x1e, 0xab, 0xc5, - 0xcb, 0xb8, 0x1d, 0x4b, 0x98, 0x6b, 0x60, 0x93, 0x94, 0x60, 0xd5, 0xfc, - 0x42, 0x23, 0xa4, 0xbf, 0x8b, 0x40, 0xac, 0x6e, 0x2f, 0xea, 0x72, 0x32, - 0x0f, 0xff, 0x24, 0xf6, 0x75, 0x09, 0x5f, 0x41, 0x1a, 0x4f, 0xbb, 0x2d, - 0x09, 0xa3, 0x5d, 0x5d, 0xf5, 0x2e, 0xad, 0xf6, 0x50, 0x4d, 0x7f, 0xb0, - 0x03, 0xc2, 0xeb, 0xc7, 0xc8, 0x29, 0x18, 0x8b, 0x81, 0x28, 0xb0, 0x56, - 0xef, 0xd3, 0x07, 0x8a, 0x06, 0xf2, 0x8c, 0x6b, 0xae, 0x9a, 0x4e, 0xd1, - 0x58, 0xb0, 0x16, 0xce, 0xab, 0x21, 0x6b, 0x85, 0xf7, 0x7b, 0x58, 0xda, - 0xe9, 0x5d, 0xec, 0xd2, 0xa5, 0x25, 0x7d, 0xef, 0x46, 0x17, 0xf1, 0x79, - 0xc3, 0x39, 0x18, 0x45, 0x5f, 0x0d, 0x87, 0x7b, 0x67, 0x47, 0xd1, 0x3a, - 0xfd, 0xec, 0x9f, 0x58, 0x29, 0xdd, 0x0d, 0x23, 0x1a, 0xaf, 0xb6, 0xf1, - 0x4c, 0x90, 0x29, 0xc0, 0x72, 0x27, 0x47, 0x51, 0xbc, 0x2b, 0x1a, 0x79, - 0x79, 0xdf, 0xd2, 0x25, 0x67, 0xca, 0x87, 0xc0, 0x85, 0xa8, 0xe5, 0x2f, - 0x8f, 0x2a, 0xf5, 0xb9, 0xb8, 0x9c, 0xf8, 0xef, 0x47, 0x5b, 0xdf, 0x48, - 0xcd, 0x97, 0xcb, 0xf4, 0x8a, 0x83, 0x84, 0xf1, 0xb3, 0x0d, 0x3d, 0xc5, - 0xce, 0x9d, 0x95, 0xc9, 0xf3, 0x4f, 0x7a, 0x49, 0x12, 0x48, 0x45, 0x9a, - 0x10, 0x22, 0x02, 0xe5, 0xc0, 0x20, 0xcc, 0x1b, 0xd8, 0x2e, 0xf6, 0x72, - 0x1a, 0x84, 0x12, 0x40, 0xd8, 0x70, 0x1d, 0x04, 0x75, 0xdf, 0x7d, 0xa3, - 0xd0, 0x9c, 0x9a, 0x64, 0x6b, 0xb5, 0x82, 0xf4, 0x65, 0x31, 0x2f, 0x87, - 0x13, 0x56, 0x41, 0x52, 0x6c, 0x40, 0xec, 0x0c, 0xb7, 0x37, 0xc4, 0xc2, - 0x56, 0xb7, 0x40, 0x8d, 0x4b, 0x86, 0x07, 0x0d, 0xc7, 0x30, 0x88, 0x4e, - 0x17, 0x81, 0x14, 0x76, 0x9d, 0xa4, 0xb9, 0x77, 0x14, 0xfa, 0xf4, 0x53, - 0x70, 0x87, 0xe6, 0x64, 0x15, 0xa7, 0x2b, 0xac, 0x64, 0x10, 0xae, 0xa0, - 0xe0, 0xf5, 0x1b, 0xfb, 0x85, 0x43, 0x89, 0x26, 0xc2, 0x08, 0x67, 0xa4, - 0xc7, 0x37, 0x4e, 0x81, 0xda, 0xfd, 0x90, 0xa7, 0xcc, 0x30, 0xa6, 0x05, - 0x82, 0x53, 0x22, 0x60, 0x3f, 0x3f, 0x54, 0xbc, 0x11, 0xf0, 0x04, 0xd2, - 0x61, 0x5a, 0x57, 0xd8, 0xb1, 0xd6, 0x8a, 0x34, 0x62, 0x4a, 0xe7, 0x43, - 0x1f, 0xa0, 0x48, 0x5b, 0x09, 0x1e, 0xdf, 0xfe, 0x86, 0x2b, 0xb0, 0xec, - 0xfd, 0xa3, 0xd0, 0x25, 0x5a, 0x90, 0x9f, 0x63, 0xd9, 0x46, 0x9b, 0x80, - 0x95, 0x27, 0x0a, 0x1c, 0xab, 0x58, 0x2f, 0x48, 0xa3, 0x74, 0x33, 0x8a, - 0x98, 0xad, 0xb9, 0xda, 0x0d, 0x04, 0x97, 0x0c, 0xc8, 0x08, 0xdf, 0x49, - 0x22, 0xf7, 0x24, 0x5b, 0x32, 0x9f, 0x93, 0x4f, 0xeb, 0x7e, 0x8d, 0x44, - 0xca, 0x5f, 0x15, 0xec, 0x2b, 0x61, 0xe7, 0x46, 0x0b, 0xda, 0xb9, 0xcb, - 0xa4, 0xde, 0x8d, 0x7e, 0xfa, 0xa9, 0x17, 0xfd, 0xd4, 0xa1, 0xff, 0x95, - 0xf4, 0x3f, 0x5a, 0xcf, 0x9f, 0x04, 0x3b, 0xfb, 0xa7, 0x5b, 0xba, 0x47, - 0x23, 0x2e, 0xdb, 0x34, 0x45, 0xca, 0xaf, 0xc7, 0x45, 0x8e, 0x9a, 0x39, - 0x3f, 0x12, 0x7a, 0xe7, 0x22, 0x76, 0x90, 0xee, 0x03, 0xe3, 0x8e, 0x2f, - 0x47, 0x2d, 0xa8, 0xe7, 0xb4, 0x67, 0xcb, 0xd9, 0x5c, 0x74, 0x47, 0xdd, - 0x79, 0xde, 0xf4, 0x66, 0xfa, 0x6a, 0x1c, 0x75, 0x3f, 0x32, 0x87, 0x72, - 0x69, 0x89, 0x68, 0x61, 0xfc, 0x22, 0x0e, 0x84, 0x91, 0xb6, 0x2b, 0x95, - 0x0c, 0x23, 0x70, 0x4b, 0xa5, 0x34, 0xad, 0xdc, 0x77, 0x8a, 0x62, 0xb7, - 0x52, 0x61, 0x0d, 0x0c, 0x56, 0xd8, 0x06, 0x1b, 0x6b, 0x17, 0xd7, 0x0f, - 0xd0, 0xc1, 0xa4, 0x61, 0x5f, 0xef, 0x92, 0x86, 0xd8, 0x82, 0x63, 0xdf, - 0x14, 0xc2, 0x03, 0x3c, 0x25, 0x8b, 0x29, 0x80, 0x3b, 0x3a, 0xe0, 0x2b, - 0x34, 0xb6, 0x6e, 0xbf, 0x5b, 0x45, 0x34, 0xb3, 0xf0, 0x96, 0xb6, 0xc2, - 0x0a, 0x41, 0x0d, 0x84, 0xc7, 0x8a, 0x94, 0xab, 0x3e, 0x63, 0x65, 0xc0, - 0x9d, 0x93, 0x05, 0xce, 0xb3, 0xca, 0x44, 0x54, 0x9f, 0x25, 0xd6, 0xda, - 0x00, 0xbf, 0x57, 0xa8, 0x26, 0x7d, 0x37, 0x2d, 0x43, 0xac, 0xbf, 0xbe, - 0x54, 0x17, 0x53, 0xfc, 0x51, 0x48, 0xaf, 0x40, 0xe9, 0xe2, 0x68, 0x95, - 0x22, 0x9d, 0x2d, 0x1a, 0x16, 0x39, 0x5e, 0x60, 0x2f, 0xfc, 0xf2, 0x30, - 0x80, 0xbb, 0xcc, 0xc5, 0x1b, 0xee, 0xe6, 0xca, 0x46, 0x86, 0x19, 0x72, - 0x7d, 0xc5, 0x68, 0x03, 0x34, 0x08, 0x1f, 0xcf, 0xd2, 0xe2, 0xcd, 0x6e, - 0x98, 0x6f, 0x78, 0x4c, 0xaf, 0xa3, 0xce, 0x4a, 0x6d, 0xa5, 0x53, 0x7f, - 0xe1, 0x98, 0x51, 0x1a, 0x74, 0xc3, 0x05, 0xa1, 0x6b, 0x1c, 0xcf, 0x1d, - 0xb0, 0xd2, 0x14, 0x00, 0x02, 0x5a, 0xdf, 0xc9, 0x41, 0x49, 0xe8, 0xb2, - 0xb5, 0xc1, 0x37, 0x87, 0x29, 0x46, 0x06, 0xf8, 0xa6, 0xa7, 0x92, 0xab, - 0xc5, 0xad, 0x02, 0x2b, 0x34, 0xdb, 0x83, 0x80, 0x2a, 0x4e, 0xb0, 0x06, - 0xaa, 0x9d, 0xaf, 0x9b, 0xd6, 0xf7, 0x77, 0xbb, 0xc7, 0x36, 0xd4, 0x7a, - 0x2c, 0x39, 0x64, 0x2b, 0x90, 0x16, 0x42, 0x06, 0xea, 0xe0, 0x3f, 0x52, - 0x48, 0xf7, 0xf4, 0xde, 0x12, 0xa9, 0x27, 0x12, 0x3e, 0x67, 0x60, 0x40, - 0x2b, 0xa9, 0x1a, 0x0a, 0x0f, 0xf7, 0x98, 0x48, 0x38, 0xbc, 0x2b, 0x7c, - 0x6e, 0x9c, 0x05, 0xb6, 0xf8, 0xc2, 0x09, 0xca, 0x59, 0x4e, 0x0a, 0x6d, - 0x63, 0x67, 0xb6, 0x37, 0x5c, 0x7c, 0x24, 0x8a, 0x1f, 0x49, 0x31, 0x2c, - 0xd5, 0xc6, 0x3a, 0xd7, 0xd9, 0x0c, 0x78, 0x09, 0x9d, 0x5d, 0xd6, 0xb0, - 0x94, 0x2b, 0xf8, 0x59, 0x36, 0x8f, 0x02, 0x20, 0x50, 0xbe, 0x3e, 0x7d, - 0x7b, 0xe8, 0xb2, 0xd3, 0xc4, 0x04, 0xc6, 0x9f, 0xb4, 0x22, 0xb3, 0x0d, - 0x10, 0xa4, 0x6e, 0xd9, 0xda, 0xbd, 0xb5, 0x26, 0x40, 0x36, 0x96, 0xe8, - 0x2a, 0x29, 0x17, 0x77, 0xcb, 0x74, 0xb2, 0x8e, 0xac, 0xfa, 0xe5, 0x3c, - 0xbd, 0xef, 0x8b, 0x05, 0x55, 0x14, 0x3a, 0xcb, 0x29, 0x0f, 0xdc, 0x26, - 0x11, 0x8f, 0xbd, 0x09, 0xa1, 0xa0, 0x54, 0x83, 0x63, 0xa6, 0x30, 0x22, - 0xc8, 0x35, 0x4a, 0xe7, 0x22, 0xc4, 0x48, 0x83, 0x74, 0x6f, 0x9c, 0xce, - 0x89, 0x7d, 0x03, 0x22, 0x05, 0xdb, 0xde, 0x96, 0x69, 0x57, 0x5d, 0x89, - 0x68, 0xef, 0xec, 0xec, 0x60, 0xef, 0x62, 0xcf, 0xcd, 0x0d, 0x90, 0x25, - 0xf0, 0x0b, 0x41, 0x9c, 0x61, 0xfd, 0x3e, 0x17, 0x12, 0xec, 0x7e, 0xcc, - 0xf9, 0x49, 0xf5, 0x1b, 0xf7, 0xec, 0xfc, 0x94, 0x2d, 0x70, 0x1f, 0x6f, - 0x59, 0x3d, 0x22, 0x54, 0xde, 0x68, 0x96, 0x85, 0xd9, 0xd9, 0xe0, 0xc1, - 0xdd, 0xb9, 0xc1, 0x69, 0xf0, 0x8c, 0x48, 0x70, 0xd1, 0x7b, 0xde, 0xcd, - 0x7c, 0xec, 0x24, 0x13, 0x5b, 0x0a, 0xcc, 0xbe, 0xd7, 0x52, 0x28, 0x39, - 0x98, 0x45, 0xe6, 0x99, 0x29, 0xee, 0x7b, 0x5e, 0x2f, 0x29, 0x28, 0x91, - 0x8c, 0x97, 0x25, 0x78, 0x96, 0x1d, 0x09, 0x10, 0xd7, 0x84, 0x97, 0xa9, - 0x7e, 0xd4, 0xeb, 0x7b, 0xe3, 0xd0, 0x67, 0x95, 0xfd, 0x00, 0x72, 0x96, - 0xa8, 0x0c, 0x10, 0xec, 0x03, 0x1d, 0xad, 0x07, 0x40, 0x6d, 0x1c, 0x1c, - 0xc1, 0x3d, 0x23, 0x22, 0x37, 0x62, 0x6c, 0x2c, 0xc8, 0x47, 0xc4, 0xf5, - 0xfa, 0x16, 0x77, 0x29, 0x13, 0xa7, 0x0f, 0x1a, 0x0f, 0x95, 0x0e, 0x50, - 0x5c, 0xef, 0x98, 0x76, 0x26, 0x15, 0x72, 0xa7, 0x4e, 0x23, 0x87, 0x0f, - 0x00, 0x0f, 0xfa, 0x14, 0xd0, 0x45, 0x11, 0x9a, 0xd7, 0x74, 0x72, 0x98, - 0xb7, 0x8d, 0x1e, 0x25, 0x91, 0x98, 0xe4, 0x5b, 0xfe, 0x6b, 0x73, 0x7b, - 0xb0, 0xd5, 0x69, 0x8e, 0x9e, 0x8f, 0xca, 0x25, 0xcc, 0xc5, 0xf1, 0x5c, - 0x2e, 0x67, 0xc1, 0xd2, 0xcc, 0x9e, 0x1e, 0xa0, 0x16, 0x08, 0x8e, 0xe7, - 0xf0, 0xe5, 0xb7, 0x8d, 0xa5, 0x7f, 0xda, 0x70, 0x99, 0x88, 0xdb, 0xcf, - 0xf3, 0xe3, 0x79, 0x86, 0x58, 0xcb, 0x98, 0x2d, 0x66, 0x30, 0x9e, 0x77, - 0xda, 0x17, 0x58, 0x3c, 0xa4, 0x49, 0x7d, 0x9d, 0x1f, 0x05, 0xd0, 0x5d, - 0x1d, 0x3b, 0xe7, 0x68, 0xc0, 0x7d, 0xbc, 0x92, 0xd5, 0x55, 0x7c, 0x85, - 0x56, 0x09, 0xb8, 0x15, 0x2f, 0x71, 0x4f, 0x20, 0x4b, 0x43, 0x35, 0x83, - 0x53, 0x97, 0xb8, 0x54, 0x15, 0x87, 0x1a, 0xb1, 0xea, 0xa4, 0xd9, 0x63, - 0x6a, 0x59, 0x17, 0x29, 0x56, 0xee, 0xc9, 0xe6, 0x55, 0x5b, 0xa9, 0xab, - 0x69, 0x35, 0x88, 0xfb, 0x72, 0xdb, 0xaa, 0xb5, 0x0e, 0x90, 0xff, 0x41, - 0x0d, 0x51, 0x67, 0x1a, 0x5f, 0x91, 0xc7, 0x6f, 0x22, 0x2a, 0xe9, 0x84, - 0x53, 0x78, 0xcb, 0x9d, 0x03, 0x86, 0xd6, 0xf6, 0x4e, 0xcb, 0xfb, 0xe6, - 0xd5, 0x01, 0x6a, 0x36, 0x6f, 0x2b, 0xfa, 0x3d, 0xb7, 0xf9, 0x87, 0xb6, - 0x8a, 0xa5, 0xbb, 0x6a, 0xf3, 0xd1, 0x1c, 0xea, 0x52, 0x1d, 0xdd, 0x1c, - 0x43, 0xa0, 0x19, 0x32, 0xfd, 0x37, 0x41, 0xe1, 0xe3, 0xb9, 0x45, 0xa8, - 0xd3, 0x76, 0x34, 0x3b, 0x92, 0xe8, 0xf0, 0x2c, 0x9f, 0xa1, 0x44, 0x0d, - 0x50, 0xb7, 0xc0, 0x28, 0x32, 0xce, 0x92, 0x8e, 0x0d, 0xc3, 0x4a, 0x8f, - 0x07, 0x75, 0x74, 0x45, 0x42, 0xf3, 0x4a, 0x80, 0x43, 0x43, 0x0a, 0xf0, - 0xb5, 0x09, 0xd9, 0x9c, 0x5e, 0x58, 0xce, 0xdf, 0x7b, 0xe0, 0xe0, 0x4c, - 0x26, 0xeb, 0xcf, 0x36, 0x24, 0x12, 0xd1, 0x95, 0x1d, 0x85, 0xa7, 0x6b, - 0xa5, 0x71, 0xeb, 0x43, 0xf5, 0x4a, 0xef, 0x2d, 0x68, 0x83, 0xae, 0xa8, - 0x68, 0x9c, 0x8f, 0x26, 0xa6, 0xa0, 0x7a, 0x72, 0x1f, 0xb6, 0xa7, 0x57, - 0x24, 0x8b, 0x25, 0x93, 0xcf, 0x1f, 0x11, 0x33, 0x67, 0x5a, 0xd4, 0xd9, - 0x25, 0x62, 0xe1, 0x3d, 0x87, 0x24, 0x1d, 0xe4, 0x28, 0xc0, 0xe4, 0xd1, - 0x86, 0x13, 0xa3, 0x8e, 0x22, 0x9d, 0x1f, 0x80, 0x46, 0x25, 0xe6, 0x06, - 0x5e, 0x88, 0x58, 0xaa, 0x39, 0xd3, 0x60, 0x17, 0xe9, 0x42, 0x84, 0x0b, - 0x8e, 0xf3, 0x98, 0x88, 0xa7, 0x91, 0x69, 0xaa, 0xbe, 0xa9, 0x36, 0x12, - 0xcb, 0xd9, 0x94, 0xc8, 0x99, 0x79, 0xc9, 0x69, 0x5a, 0x23, 0x7a, 0xff, - 0x2e, 0x9d, 0x94, 0xd7, 0xad, 0xd8, 0x61, 0xb2, 0x82, 0x98, 0x73, 0x24, - 0x18, 0x03, 0x1c, 0x8a, 0x81, 0x65, 0x82, 0x83, 0x75, 0x53, 0xac, 0xca, - 0x3d, 0x33, 0x8d, 0xc7, 0x44, 0x72, 0x97, 0x9c, 0x4b, 0x10, 0x35, 0x26, - 0x65, 0x31, 0x64, 0x03, 0x77, 0x78, 0xa5, 0x28, 0xdb, 0x4d, 0x97, 0x6f, - 0xcf, 0xee, 0x37, 0x6a, 0x35, 0x11, 0xe8, 0x11, 0x04, 0x1f, 0x4b, 0x28, - 0x12, 0xdd, 0xab, 0x37, 0xe9, 0xb4, 0x59, 0xa7, 0xeb, 0x01, 0x2a, 0x56, - 0x77, 0x86, 0xd7, 0xdf, 0x76, 0xd5, 0xbe, 0x8f, 0xfa, 0x91, 0xea, 0xfd, - 0x95, 0x2c, 0x81, 0xa8, 0x7b, 0xd5, 0x95, 0xa8, 0xd0, 0xaf, 0xba, 0x96, - 0x73, 0xd0, 0xbc, 0x1b, 0xbd, 0xcb, 0xd8, 0xae, 0x97, 0x62, 0x37, 0xda, - 0xd9, 0xda, 0xfa, 0xa6, 0x17, 0x3d, 0x93, 0x02, 0x86, 0xdb, 0x5f, 0xb5, - 0xae, 0x90, 0x09, 0xa7, 0xd8, 0x65, 0xd5, 0x4b, 0xe3, 0x5b, 0x5c, 0x03, - 0xb2, 0x6e, 0x3d, 0x57, 0xe9, 0x75, 0xb2, 0xcc, 0x4d, 0x78, 0x97, 0xc5, - 0x5f, 0xb1, 0x4f, 0x30, 0x72, 0x0b, 0x9c, 0x83, 0xc4, 0x83, 0x32, 0xc5, - 0xcc, 0x10, 0x64, 0xc3, 0xbb, 0x77, 0x4d, 0xbf, 0xb1, 0xaf, 0xdb, 0x76, - 0x15, 0xbd, 0xb4, 0x64, 0xd9, 0x16, 0xd7, 0x7c, 0xf4, 0x47, 0xcb, 0x1c, - 0xe7, 0x98, 0x9d, 0x86, 0x52, 0x14, 0x83, 0x0d, 0xef, 0xd0, 0x24, 0x04, - 0x71, 0xc1, 0x17, 0xf0, 0xf3, 0x50, 0x13, 0x3c, 0x99, 0x41, 0xf3, 0xf4, - 0x21, 0xe0, 0x26, 0xd7, 0x88, 0x93, 0x40, 0x13, 0xf9, 0x81, 0x94, 0x29, - 0x8c, 0x42, 0x4e, 0x8a, 0x57, 0x4a, 0x44, 0x13, 0x6a, 0xc5, 0x4b, 0x13, - 0x8e, 0x81, 0x4a, 0xe5, 0xa6, 0xc5, 0x4a, 0x0a, 0x89, 0x80, 0x02, 0x49, - 0x48, 0x11, 0x83, 0x20, 0x2d, 0x0c, 0x8d, 0x1f, 0xa3, 0x92, 0x1e, 0x5a, - 0x22, 0x3d, 0xa6, 0xfc, 0xc6, 0xf4, 0x01, 0xc9, 0x18, 0x1c, 0x50, 0x07, - 0xd7, 0x81, 0x8d, 0x30, 0x1c, 0x1c, 0xa7, 0x6d, 0x8e, 0x51, 0x3c, 0x81, - 0x63, 0xa2, 0x7e, 0x3f, 0xcb, 0xd5, 0x94, 0x81, 0xb6, 0xd3, 0xa2, 0xec, - 0xb3, 0x67, 0xb4, 0xdd, 0x2c, 0x0a, 0xd5, 0x83, 0x9f, 0xd1, 0x94, 0x7c, - 0xf6, 0xce, 0x4e, 0x3c, 0xc2, 0x9d, 0x58, 0xbd, 0x11, 0x76, 0x2c, 0x89, - 0x43, 0x85, 0xd6, 0xda, 0x6a, 0x00, 0x0e, 0x48, 0x91, 0xe7, 0xe4, 0x8e, - 0xce, 0xd6, 0xa1, 0x87, 0x18, 0xaa, 0xf2, 0x0e, 0xc3, 0xb1, 0xa7, 0x23, - 0x30, 0xbe, 0xa6, 0xab, 0xa6, 0x8f, 0x88, 0xe5, 0xf6, 0xba, 0xd9, 0x1a, - 0xe1, 0x8b, 0x20, 0x05, 0xb6, 0x68, 0x21, 0xf0, 0xc4, 0xe3, 0x51, 0x14, - 0xa8, 0x15, 0x10, 0xd4, 0x45, 0xf1, 0x5f, 0xf1, 0x28, 0x56, 0x60, 0xda, - 0x08, 0xb8, 0xa3, 0x43, 0xad, 0x81, 0x72, 0x99, 0xe5, 0x06, 0x12, 0xf9, - 0x78, 0x4c, 0x12, 0x88, 0x55, 0x57, 0xe8, 0xe4, 0x78, 0xe8, 0x30, 0x82, - 0x9c, 0xd7, 0xb0, 0x10, 0x4b, 0x02, 0xe9, 0xaf, 0x2c, 0x00, 0xbf, 0x59, - 0x51, 0xe9, 0xb4, 0x70, 0x60, 0xd8, 0x08, 0xae, 0x41, 0xe8, 0x88, 0x88, - 0xc1, 0x69, 0x5e, 0xc9, 0x48, 0xe7, 0x3e, 0xfe, 0x22, 0xf6, 0x38, 0x09, - 0xe7, 0x6a, 0x0f, 0xf2, 0xe0, 0x64, 0xb4, 0xb0, 0xa0, 0x2c, 0xec, 0xd2, - 0x0f, 0xb3, 0x51, 0x46, 0x82, 0x3d, 0xdf, 0xe7, 0x37, 0x55, 0x79, 0x86, - 0xd3, 0x1b, 0x04, 0x13, 0xe2, 0x15, 0x31, 0xb7, 0xcf, 0x7f, 0xec, 0xd3, - 0xbf, 0x3f, 0x37, 0xdc, 0x86, 0xa5, 0xe0, 0x4a, 0xa8, 0xd5, 0xcb, 0x02, - 0x32, 0x73, 0x0f, 0x7c, 0x2d, 0xe5, 0x7d, 0xd1, 0x8e, 0x7c, 0x5b, 0x04, - 0x78, 0xe1, 0x6d, 0x28, 0x00, 0xce, 0x8b, 0x87, 0x8a, 0xef, 0x41, 0x28, - 0x67, 0xa5, 0x8d, 0xd1, 0x03, 0x11, 0x97, 0xdd, 0x3b, 0xb4, 0x51, 0xe3, - 0x38, 0x1f, 0x37, 0xa3, 0xd5, 0x54, 0x18, 0xf2, 0xb5, 0xc6, 0x46, 0xec, - 0x8a, 0x2d, 0x1e, 0x50, 0x4a, 0x1b, 0xd2, 0x1e, 0xa7, 0xd6, 0x58, 0x16, - 0x88, 0xde, 0xd7, 0x32, 0xf4, 0x96, 0x32, 0x02, 0x19, 0x07, 0xcd, 0x2a, - 0xe6, 0x42, 0xc6, 0x29, 0x0e, 0x79, 0xce, 0x58, 0x34, 0x72, 0xfc, 0x2d, - 0xa0, 0x37, 0x90, 0x1e, 0xbc, 0x3f, 0x92, 0x7a, 0x58, 0x2e, 0x5a, 0x9c, - 0xb4, 0x1c, 0xe5, 0xdf, 0xc0, 0x3a, 0x08, 0x93, 0x18, 0x43, 0x00, 0xfc, - 0xd6, 0xc8, 0x0e, 0x00, 0x44, 0x6f, 0x98, 0x81, 0xcc, 0xd5, 0x2b, 0x10, - 0x63, 0xb7, 0xb3, 0xcf, 0x6b, 0xc8, 0xb3, 0x64, 0x64, 0xf0, 0xe4, 0x9a, - 0xe5, 0x70, 0x39, 0x34, 0x6e, 0x22, 0xc8, 0x9e, 0x41, 0x06, 0xbb, 0x61, - 0xef, 0xaf, 0xb3, 0xd3, 0x73, 0x0c, 0xf3, 0x98, 0x86, 0x52, 0xd7, 0xf1, - 0xef, 0x5b, 0xa0, 0xb6, 0xe2, 0xe8, 0xd9, 0xf7, 0xdf, 0x57, 0xb1, 0xc6, - 0x36, 0x2a, 0x0c, 0xab, 0x59, 0x00, 0x8b, 0x88, 0x28, 0x6b, 0x3b, 0xe5, - 0x16, 0xa1, 0x6e, 0x51, 0x9c, 0x1c, 0xc3, 0x00, 0x5d, 0x6f, 0xe0, 0xa2, - 0xc7, 0xad, 0xea, 0xaa, 0xc6, 0x8d, 0x07, 0x21, 0x54, 0x4d, 0x5f, 0x8a, - 0x8b, 0x96, 0xe9, 0xb9, 0xa0, 0x55, 0x89, 0xd9, 0x40, 0x60, 0x97, 0xad, - 0x15, 0x2f, 0x55, 0xe1, 0xe8, 0x86, 0x6e, 0xa8, 0x3b, 0xce, 0x03, 0xff, - 0xee, 0x49, 0x28, 0x34, 0x87, 0x5c, 0xae, 0x78, 0x55, 0x38, 0xbf, 0x52, - 0x60, 0x83, 0xed, 0x57, 0xe3, 0x3c, 0x51, 0x37, 0x8f, 0x15, 0xff, 0x68, - 0x9c, 0x57, 0x31, 0x05, 0x71, 0x8c, 0x12, 0xe6, 0xc7, 0x61, 0xae, 0x72, - 0x72, 0x71, 0x05, 0xf9, 0xb0, 0x87, 0x70, 0xaf, 0xf0, 0x78, 0x9b, 0x26, - 0x7d, 0x87, 0xba, 0x02, 0x60, 0x3c, 0x66, 0xdf, 0x43, 0xbc, 0x92, 0xa6, - 0xf5, 0xe0, 0x2e, 0xc8, 0xff, 0xdc, 0x5a, 0xf9, 0x89, 0xf7, 0xbf, 0x4d, - 0xbc, 0xef, 0x97, 0xf9, 0x12, 0x4b, 0xc4, 0xee, 0x61, 0x94, 0x42, 0xf7, - 0x89, 0x58, 0xec, 0x0e, 0xb4, 0xb8, 0x2c, 0xb9, 0xc4, 0xbc, 0x63, 0x36, - 0x6a, 0xa2, 0x7e, 0xd9, 0xcc, 0x2c, 0xe3, 0x9b, 0x33, 0xbc, 0xab, 0x65, - 0x42, 0xfa, 0x24, 0xa4, 0xf6, 0xf1, 0x58, 0xd1, 0x80, 0x6c, 0xaf, 0x64, - 0x5d, 0x08, 0xda, 0x5e, 0x26, 0x8e, 0xdb, 0x60, 0xcd, 0x4c, 0x9b, 0x30, - 0x22, 0x52, 0x9f, 0x52, 0xcc, 0x14, 0x44, 0x87, 0xee, 0xab, 0xc3, 0x7a, - 0x3d, 0x98, 0x75, 0x40, 0x16, 0xa8, 0x42, 0x89, 0xcc, 0x03, 0xfa, 0xfb, - 0xec, 0xdd, 0xc5, 0x86, 0x37, 0x1a, 0x4c, 0xb2, 0x9a, 0x59, 0xcb, 0x1a, - 0x6f, 0x49, 0xe2, 0x90, 0xe8, 0x7e, 0xc5, 0x05, 0x40, 0x8e, 0x86, 0x3b, - 0x13, 0xec, 0x30, 0x7b, 0xb6, 0xb5, 0x4d, 0x72, 0xdb, 0xd6, 0x0e, 0x0c, - 0x33, 0xcf, 0xb6, 0x9e, 0x39, 0x73, 0xb7, 0x3d, 0xd5, 0xb8, 0xf1, 0x26, - 0xf2, 0x22, 0xf4, 0x47, 0x90, 0xfc, 0xb3, 0xfb, 0x7b, 0x7c, 0xdc, 0xab, - 0x03, 0x89, 0x20, 0xd3, 0x33, 0xc4, 0x0f, 0x6b, 0x0a, 0x23, 0x36, 0x70, - 0xbf, 0xe2, 0x30, 0xb2, 0x2c, 0xe7, 0x12, 0x36, 0xc5, 0x0a, 0x32, 0x72, - 0x05, 0xea, 0x97, 0x43, 0x48, 0x07, 0x8f, 0xb1, 0xa6, 0x63, 0x16, 0xf4, - 0x2b, 0x8c, 0xcc, 0xca, 0x01, 0x31, 0xa2, 0x2f, 0xf6, 0xdb, 0xd4, 0x3c, - 0xcb, 0xe2, 0xab, 0x35, 0xf7, 0x67, 0x9f, 0xa6, 0xca, 0x34, 0x3f, 0x95, - 0x93, 0x11, 0xb0, 0x37, 0x54, 0xb0, 0xe1, 0x74, 0x2b, 0x7f, 0x4c, 0xb2, - 0x81, 0xc1, 0x27, 0x36, 0x32, 0x08, 0x68, 0x95, 0xad, 0x2a, 0x55, 0xca, - 0xf8, 0x05, 0x93, 0xe5, 0x38, 0x91, 0x72, 0x35, 0x24, 0xf2, 0x96, 0x0f, - 0xd1, 0x48, 0x20, 0xdc, 0x0c, 0xc7, 0x21, 0x45, 0x39, 0x76, 0x23, 0xd2, - 0xa6, 0x32, 0x3e, 0xc9, 0x50, 0x78, 0x56, 0x70, 0x72, 0xc5, 0xde, 0xc7, - 0x1a, 0x0e, 0x1b, 0x96, 0x5c, 0x9a, 0x6d, 0x83, 0x41, 0xcc, 0x2f, 0x89, - 0xcd, 0x89, 0x75, 0xb0, 0xe9, 0xb7, 0x00, 0x59, 0xc2, 0x8f, 0x67, 0x96, - 0xf7, 0x58, 0x6a, 0x3b, 0x81, 0x76, 0xbe, 0xe4, 0x38, 0xaf, 0x5a, 0x8b, - 0x15, 0x54, 0x45, 0x3e, 0x2e, 0x90, 0x16, 0x38, 0x08, 0xee, 0x15, 0xf4, - 0x84, 0x95, 0x1e, 0x48, 0x50, 0x86, 0x29, 0x81, 0x12, 0x36, 0xb7, 0x6e, - 0xea, 0xd2, 0x86, 0x4f, 0x86, 0x15, 0x40, 0x80, 0xbb, 0xb9, 0xd4, 0x85, - 0x3f, 0xba, 0x5c, 0x15, 0x77, 0xe7, 0x79, 0x67, 0x5a, 0x0d, 0x73, 0x05, - 0xd7, 0x47, 0x5a, 0x5c, 0xaf, 0x0a, 0xfc, 0xb1, 0xaa, 0x00, 0x94, 0x94, - 0x0b, 0x8e, 0xad, 0x7e, 0x90, 0x86, 0xdc, 0x02, 0x2f, 0x13, 0xfc, 0x3d, - 0xb9, 0x87, 0xe1, 0x9f, 0x4e, 0xc2, 0x27, 0xcf, 0x06, 0x2b, 0xec, 0x0c, - 0x1e, 0x32, 0x1c, 0x13, 0xb3, 0x63, 0x2f, 0x96, 0x72, 0x4e, 0x4d, 0xe0, - 0xbc, 0x3f, 0x86, 0x22, 0x0c, 0x66, 0x07, 0xd5, 0xbe, 0x05, 0x1c, 0xa1, - 0x60, 0xe0, 0x58, 0x91, 0xc1, 0xca, 0x95, 0x40, 0x39, 0x56, 0xcd, 0xc5, - 0x1b, 0x5b, 0x78, 0x9a, 0x0d, 0x17, 0x26, 0x90, 0x57, 0xf9, 0x36, 0xe0, - 0x60, 0x79, 0xcd, 0x81, 0x6b, 0x2c, 0x96, 0xe8, 0x36, 0x60, 0xa0, 0x86, - 0x1b, 0xc0, 0x35, 0xcb, 0xf3, 0x46, 0x5c, 0x0f, 0x92, 0x8b, 0x59, 0xd4, - 0xe4, 0xc5, 0x02, 0x85, 0x04, 0x41, 0xd7, 0x8e, 0x2a, 0x66, 0x9b, 0x42, - 0x18, 0x8f, 0x86, 0x57, 0xbd, 0x35, 0x6b, 0x00, 0xb4, 0xae, 0xb9, 0xc2, - 0x51, 0xea, 0x41, 0x83, 0x3e, 0x35, 0x35, 0x00, 0x0e, 0xa2, 0xf4, 0x6c, - 0x6a, 0x16, 0x20, 0x21, 0xea, 0xa6, 0xcf, 0x85, 0xee, 0xaa, 0x41, 0x80, - 0xbb, 0x17, 0x04, 0x59, 0x2b, 0x40, 0x6a, 0x6a, 0xa0, 0xd7, 0x23, 0x54, - 0x76, 0xfd, 0x5b, 0x36, 0xd2, 0x8b, 0x98, 0x2f, 0x93, 0x36, 0xa8, 0xc3, - 0x4b, 0x84, 0xee, 0x92, 0x96, 0x48, 0xfa, 0xa9, 0x78, 0xaa, 0x78, 0x40, - 0xf3, 0xa4, 0x64, 0x15, 0x09, 0x81, 0xbd, 0x22, 0xc9, 0x92, 0xa6, 0x9b, - 0x49, 0x0d, 0x6e, 0xb9, 0xb4, 0xf9, 0x52, 0x6b, 0x20, 0x27, 0xb9, 0xa2, - 0x20, 0x2a, 0xa9, 0x61, 0x71, 0xd8, 0x1f, 0xb3, 0xe2, 0x96, 0xf9, 0xed, - 0xd4, 0xad, 0xb7, 0xd8, 0x8d, 0x79, 0x33, 0x84, 0xec, 0x2d, 0x3e, 0x1c, - 0x44, 0x07, 0x12, 0xe0, 0x2a, 0x66, 0xf2, 0xa5, 0xa6, 0x5d, 0x49, 0x05, - 0x48, 0xdf, 0xca, 0x7c, 0x93, 0x6b, 0x32, 0x96, 0xf9, 0xb8, 0xd1, 0x88, - 0x93, 0x11, 0x8a, 0xb1, 0xaa, 0xca, 0x03, 0x3c, 0x48, 0x3c, 0xe7, 0xbd, - 0xfe, 0xc2, 0x3b, 0xa6, 0x9e, 0x84, 0x0d, 0x43, 0x2c, 0x68, 0x47, 0xf7, - 0x66, 0xf1, 0xa0, 0x5b, 0x38, 0x3b, 0xb7, 0xea, 0x4e, 0xbc, 0x13, 0x00, - 0x15, 0x6a, 0x2b, 0x1e, 0xe9, 0x00, 0x08, 0x1f, 0x16, 0x0d, 0x0f, 0x7e, - 0x80, 0x81, 0x8f, 0x90, 0xf8, 0x72, 0x61, 0xbe, 0x13, 0x2f, 0xcb, 0xe1, - 0x88, 0xb3, 0x19, 0x38, 0x44, 0xfc, 0x54, 0xe4, 0x8a, 0x96, 0xd1, 0x45, - 0x8d, 0x2a, 0x9d, 0x10, 0x62, 0x30, 0xd3, 0xf5, 0xe7, 0x1b, 0x91, 0x74, - 0xb3, 0xbe, 0xbd, 0x21, 0x00, 0x4d, 0x9a, 0x69, 0xdd, 0x1a, 0xae, 0x60, - 0x30, 0xfe, 0x28, 0x05, 0x10, 0x16, 0x6b, 0x2c, 0x05, 0x41, 0x50, 0x42, - 0x09, 0x1d, 0x66, 0xbe, 0xac, 0x1b, 0x71, 0x01, 0x88, 0x58, 0x2d, 0x72, - 0xab, 0x98, 0x06, 0x16, 0xec, 0x2c, 0x28, 0x04, 0x9f, 0x97, 0x18, 0x6c, - 0x19, 0xe6, 0x56, 0x8d, 0x38, 0xd1, 0x32, 0x97, 0x04, 0xac, 0xe8, 0x2a, - 0xcf, 0x88, 0x27, 0xb0, 0x43, 0x97, 0xa7, 0xba, 0x31, 0x68, 0xb1, 0xe1, - 0xb4, 0xe2, 0xa9, 0x77, 0xd8, 0x95, 0xd5, 0xf1, 0x90, 0xb2, 0x81, 0xb7, - 0xcc, 0x79, 0x59, 0x92, 0x66, 0x56, 0x35, 0x6d, 0x64, 0x83, 0xca, 0xf7, - 0x38, 0x50, 0x20, 0x1d, 0xdf, 0xa8, 0x71, 0x43, 0x30, 0x3a, 0xe1, 0x23, - 0xe1, 0x08, 0x03, 0x15, 0x8a, 0xe8, 0x66, 0x50, 0xb9, 0x0f, 0xaa, 0x0d, - 0x5d, 0x13, 0x4a, 0x60, 0x2d, 0x65, 0x0d, 0x42, 0x88, 0x6e, 0xde, 0x6d, - 0xb5, 0x46, 0xab, 0x66, 0x2f, 0x52, 0xee, 0x24, 0xe3, 0x20, 0x4d, 0xb6, - 0xf2, 0xcb, 0xde, 0xcb, 0xae, 0xb6, 0xc8, 0x02, 0xdd, 0xd9, 0x03, 0x27, - 0x06, 0x77, 0xab, 0x58, 0xbe, 0x5d, 0xe2, 0x54, 0x74, 0x3b, 0x74, 0x6d, - 0x5d, 0x6b, 0xbe, 0xe0, 0x26, 0x28, 0xea, 0x8a, 0xbe, 0x85, 0xa0, 0xa5, - 0x0b, 0xdf, 0xba, 0x34, 0x1e, 0xdc, 0xb0, 0x98, 0x6a, 0xdf, 0xdc, 0xbe, - 0xb5, 0xb6, 0xbf, 0xb5, 0x05, 0xf3, 0x79, 0xf4, 0x78, 0xbe, 0xa7, 0xa1, - 0xf0, 0x9e, 0x81, 0x88, 0x79, 0x2f, 0x38, 0x9d, 0xcb, 0xa2, 0x99, 0x72, - 0xe5, 0xaa, 0xf6, 0xf0, 0x84, 0x99, 0x5e, 0xd8, 0x92, 0x10, 0x5b, 0x1d, - 0x02, 0xe1, 0x5f, 0xf2, 0x36, 0x9b, 0x2e, 0x06, 0x95, 0x51, 0x6a, 0x4c, - 0xd5, 0xe3, 0xc5, 0x6e, 0x2b, 0xe1, 0x57, 0xcd, 0x83, 0x84, 0x4b, 0xb4, - 0xf2, 0x4c, 0x7b, 0x26, 0x29, 0x0b, 0xa4, 0x93, 0x84, 0xa3, 0x5b, 0x24, - 0xe8, 0xe6, 0x6d, 0x3a, 0xce, 0xb3, 0x22, 0xbb, 0x94, 0x4b, 0xdc, 0x08, - 0xd3, 0xd9, 0x2f, 0x38, 0xd3, 0x33, 0x66, 0xa8, 0xf7, 0x26, 0x7b, 0xd0, - 0xc2, 0x4d, 0x12, 0x3b, 0xcb, 0x37, 0xf4, 0x8c, 0xa8, 0x9c, 0x63, 0x2e, - 0xd8, 0xca, 0x58, 0x6a, 0x78, 0x46, 0x00, 0xa8, 0x85, 0xa8, 0x64, 0x8b, - 0xd6, 0x7b, 0xf1, 0xb8, 0x6a, 0xc6, 0x5b, 0xa0, 0x40, 0xff, 0x6a, 0x17, - 0xd4, 0xca, 0x6c, 0x57, 0x86, 0x4f, 0x23, 0x02, 0xb5, 0xbd, 0xd6, 0x3e, - 0x3a, 0x9d, 0x73, 0x21, 0x08, 0xb7, 0x8a, 0x35, 0x1a, 0x96, 0xd7, 0x42, - 0x00, 0x5a, 0x74, 0x74, 0x78, 0xf1, 0x86, 0x4e, 0x5e, 0x1e, 0x5f, 0x96, - 0xfa, 0xa3, 0x61, 0x17, 0xce, 0x93, 0x5f, 0xe2, 0x9b, 0x7e, 0xb1, 0xe0, - 0xbd, 0xea, 0x33, 0xc3, 0xeb, 0x6f, 0x3d, 0x1f, 0x94, 0xf7, 0xed, 0xc9, - 0xc9, 0x88, 0xf6, 0x33, 0xcb, 0x98, 0x42, 0xaf, 0xfb, 0x9d, 0xd3, 0xac, - 0x3b, 0xbe, 0x5b, 0xb3, 0xfb, 0x87, 0x3a, 0x68, 0x5b, 0x5b, 0xc1, 0xc6, - 0x25, 0x6a, 0xb1, 0xe1, 0x71, 0x4f, 0x2c, 0xff, 0x76, 0xe4, 0x1f, 0xd6, - 0x51, 0x63, 0xfb, 0x56, 0xc0, 0xb7, 0x85, 0x78, 0xbe, 0x6d, 0xd1, 0x7d, - 0x8f, 0xc5, 0xf3, 0xad, 0xc8, 0x38, 0x72, 0x01, 0x7e, 0x15, 0x52, 0x6d, - 0x57, 0x14, 0x97, 0x4d, 0x5c, 0x69, 0x87, 0x15, 0x0a, 0xaa, 0xb0, 0x68, - 0x5f, 0x86, 0xf2, 0x81, 0x71, 0xe2, 0x89, 0x52, 0xca, 0x92, 0x69, 0xc8, - 0x81, 0xdd, 0x86, 0xbd, 0x55, 0x23, 0x3b, 0x08, 0xaa, 0xe6, 0xe8, 0x1a, - 0xa0, 0xf0, 0x22, 0xac, 0xa8, 0x75, 0xe6, 0xd6, 0x5f, 0x46, 0xbb, 0x40, - 0xd5, 0x49, 0xe6, 0x0c, 0xc2, 0x6e, 0x27, 0xdc, 0x73, 0xc3, 0xa0, 0x76, - 0x37, 0x58, 0x53, 0x58, 0xa1, 0xb3, 0xbf, 0x6c, 0x1f, 0x5d, 0x9c, 0x27, - 0x7c, 0x3b, 0x49, 0x20, 0x9e, 0x5e, 0xbd, 0xff, 0xa5, 0xf5, 0x98, 0x4f, - 0x36, 0x11, 0x32, 0x3e, 0x5a, 0xf2, 0x77, 0xb5, 0x17, 0x0f, 0xa4, 0xc8, - 0xaa, 0xcc, 0x5b, 0x9e, 0x50, 0x07, 0x60, 0xe0, 0xc9, 0x2b, 0x38, 0x54, - 0x6b, 0x16, 0x16, 0x0e, 0x40, 0x79, 0x61, 0x52, 0xc2, 0xea, 0xd4, 0xb6, - 0x14, 0x6e, 0x52, 0x4b, 0x84, 0xac, 0x19, 0x77, 0xa5, 0x1b, 0xb6, 0x66, - 0x84, 0xcd, 0xb7, 0x79, 0x4a, 0xf1, 0x3a, 0xfc, 0x5a, 0xf0, 0x8b, 0x88, - 0xd4, 0x2f, 0x11, 0xb7, 0xaa, 0xd0, 0x6a, 0x13, 0x80, 0x98, 0x06, 0x90, - 0x3c, 0x6d, 0xfe, 0xf5, 0x92, 0x24, 0xd2, 0x5e, 0x8b, 0x61, 0xd6, 0x6c, - 0x85, 0xe0, 0x6e, 0x74, 0xb5, 0x6a, 0x82, 0xb4, 0xa5, 0xd1, 0x48, 0x0b, - 0x9c, 0x89, 0x7b, 0x0b, 0x38, 0xba, 0x06, 0x1e, 0x7a, 0xdb, 0xe8, 0x7c, - 0xf5, 0xea, 0xb8, 0xf4, 0x0b, 0xd8, 0x1e, 0xfc, 0xe5, 0x8b, 0xb5, 0x19, - 0x90, 0x53, 0x72, 0x15, 0x54, 0xed, 0x56, 0x8a, 0xb3, 0xfc, 0x2c, 0x78, - 0xc3, 0x0c, 0x88, 0xa7, 0xc1, 0x4f, 0x04, 0x8b, 0x9e, 0xf8, 0x89, 0xf4, - 0x29, 0x2c, 0xca, 0x23, 0x11, 0xb4, 0x8c, 0xa4, 0x9a, 0x37, 0xf0, 0x18, - 0x1d, 0x68, 0x69, 0x63, 0x9f, 0x63, 0xc0, 0x09, 0xc7, 0x30, 0xce, 0xa9, - 0x39, 0xf0, 0x62, 0x3f, 0x04, 0x6b, 0x24, 0x1d, 0xae, 0x58, 0x99, 0x60, - 0xa3, 0xf0, 0x6e, 0x73, 0xd7, 0xfa, 0xec, 0x7f, 0xe2, 0xda, 0xf8, 0x19, - 0x04, 0xcb, 0xe3, 0x3e, 0xac, 0x2d, 0x8d, 0x26, 0x58, 0xa5, 0x93, 0xf6, - 0xcc, 0x28, 0x5d, 0x21, 0xc3, 0xa3, 0xd5, 0x35, 0xe2, 0x24, 0x26, 0xcb, - 0x62, 0x3b, 0x3a, 0xa0, 0xd1, 0xb0, 0xa0, 0x73, 0x45, 0x83, 0xfb, 0xf2, - 0x61, 0x05, 0x9e, 0x34, 0x70, 0xc5, 0x4d, 0x63, 0x84, 0xc7, 0x0c, 0xe5, - 0x3e, 0xbc, 0x39, 0x88, 0xdb, 0x48, 0x42, 0x4c, 0x05, 0xf1, 0x54, 0x5a, - 0x86, 0x5f, 0xb3, 0xa2, 0x69, 0xee, 0xb1, 0x29, 0x10, 0xa3, 0x70, 0xbd, - 0xcc, 0x25, 0xd2, 0x4f, 0xb3, 0xa9, 0x14, 0x5b, 0x25, 0x4f, 0x14, 0xeb, - 0x35, 0x18, 0x70, 0xd1, 0x72, 0x51, 0x71, 0x22, 0x41, 0x92, 0xcc, 0x14, - 0xf0, 0x64, 0x94, 0x67, 0x37, 0x74, 0x3e, 0xf8, 0x35, 0xc8, 0xa4, 0xbc, - 0xfa, 0x72, 0xc8, 0xcd, 0x5a, 0x42, 0xc7, 0x40, 0x72, 0xe1, 0x5b, 0x6c, - 0x3f, 0xb9, 0xe1, 0x7d, 0x6a, 0x5e, 0x87, 0x3f, 0x2d, 0x82, 0x03, 0x84, - 0x68, 0x34, 0xbb, 0x4a, 0x71, 0xf3, 0x70, 0xd1, 0x0c, 0xef, 0x72, 0x6f, - 0x16, 0x71, 0xaa, 0xa3, 0x8e, 0xfe, 0xee, 0x34, 0xe4, 0xc8, 0x22, 0xa4, - 0xa1, 0x96, 0x2d, 0x0f, 0x89, 0xa9, 0x9c, 0xce, 0x5c, 0xe6, 0xb0, 0xc9, - 0x7d, 0xd1, 0xc9, 0xc5, 0xf1, 0xdb, 0x68, 0x85, 0xc0, 0x87, 0xef, 0xaa, - 0x5f, 0xfd, 0x3b, 0x62, 0x1f, 0x7d, 0x71, 0x74, 0x34, 0x84, 0xd0, 0xa7, - 0xbe, 0xad, 0x86, 0xc3, 0x56, 0x2a, 0xa5, 0xe3, 0x92, 0xcc, 0x53, 0xd2, - 0xd0, 0x48, 0x22, 0xf0, 0x55, 0xe4, 0xd9, 0x5a, 0x90, 0x73, 0x43, 0x52, - 0xf7, 0x13, 0xcc, 0x9a, 0x91, 0x82, 0xa6, 0xa0, 0xb6, 0x45, 0xd2, 0x70, - 0xb8, 0x2f, 0x34, 0x90, 0xd1, 0x91, 0x88, 0xc2, 0xcb, 0xf0, 0xd9, 0xe7, - 0x22, 0x55, 0x13, 0xe5, 0x1c, 0x29, 0xa0, 0x69, 0x59, 0x70, 0x50, 0xa5, - 0xf5, 0x26, 0x45, 0x38, 0xd1, 0x0a, 0xcc, 0x75, 0x4f, 0xd8, 0xaa, 0xb9, - 0xd1, 0x45, 0x9e, 0xe5, 0xb0, 0xf4, 0x07, 0xa0, 0x0c, 0x8c, 0x24, 0xb4, - 0x84, 0x4f, 0x9d, 0x87, 0xf7, 0x90, 0x35, 0x62, 0x93, 0xef, 0xae, 0x33, - 0xf1, 0x68, 0x63, 0x99, 0x99, 0xca, 0xc4, 0x6f, 0x0a, 0x8b, 0xbe, 0x24, - 0xf3, 0xcb, 0x3d, 0xef, 0x49, 0x23, 0xdc, 0xa8, 0xd6, 0x80, 0x1b, 0x2b, - 0x13, 0x23, 0x79, 0x1c, 0x24, 0x63, 0xb0, 0xc1, 0x8a, 0x36, 0xe7, 0x20, - 0xbd, 0x5a, 0x05, 0x76, 0xd3, 0x2a, 0x4f, 0xf2, 0x88, 0x1e, 0x17, 0x25, - 0xdb, 0x62, 0x0e, 0x2b, 0xa2, 0x24, 0x51, 0xdb, 0x6f, 0x95, 0x3f, 0xc2, - 0xc7, 0x7c, 0xb5, 0x14, 0xf9, 0x84, 0xa8, 0x58, 0x4b, 0xfd, 0xe0, 0xa9, - 0xfd, 0x97, 0xca, 0x3d, 0x19, 0x8d, 0x54, 0xe5, 0x83, 0x47, 0x8a, 0xc4, - 0x9b, 0x04, 0x91, 0xe9, 0x43, 0x21, 0x08, 0x4c, 0x51, 0x4e, 0xb2, 0xa5, - 0xf8, 0x84, 0x2c, 0xbc, 0x41, 0xf8, 0xf4, 0x3f, 0xfe, 0xd9, 0x74, 0x72, - 0xfd, 0xf8, 0xb3, 0x08, 0xa6, 0x12, 0xc3, 0xe7, 0xe3, 0xd9, 0x8c, 0xa8, - 0x0a, 0x0f, 0xeb, 0xc5, 0xdb, 0xc7, 0xb1, 0xf2, 0x32, 0x45, 0x39, 0x5c, - 0x0d, 0x60, 0x6d, 0xf1, 0xed, 0x2a, 0x93, 0xd5, 0xb1, 0x59, 0x06, 0x17, - 0x50, 0x16, 0x82, 0xda, 0x7e, 0x2e, 0xc6, 0x2a, 0x32, 0x84, 0x96, 0xc9, - 0x2a, 0xa0, 0x13, 0x8b, 0x77, 0x55, 0x10, 0x0d, 0x0b, 0x5b, 0xe5, 0x58, - 0x43, 0x31, 0x8d, 0x62, 0xfc, 0xcc, 0x1c, 0x8f, 0xa5, 0x2c, 0x44, 0x33, - 0x0b, 0x5f, 0x36, 0x5a, 0xc3, 0x06, 0xff, 0xc1, 0x65, 0xb6, 0xcb, 0xbb, - 0xec, 0x9f, 0x03, 0x36, 0xca, 0x43, 0xad, 0xef, 0x67, 0x02, 0xda, 0xf7, - 0xfe, 0xa3, 0x6d, 0x56, 0xae, 0x3a, 0x4d, 0xa8, 0x42, 0xac, 0x80, 0xed, - 0xb9, 0x8b, 0x02, 0x5e, 0x91, 0xf4, 0x5f, 0xed, 0x8e, 0x7b, 0xe9, 0xb1, - 0x21, 0xe1, 0x9f, 0x03, 0xfe, 0xf7, 0xc7, 0xed, 0xfe, 0x8b, 0x9f, 0x5d, - 0xaf, 0x1f, 0x6d, 0xbf, 0xff, 0x68, 0xa7, 0xd3, 0x8a, 0x66, 0xc8, 0x6a, - 0x68, 0xa4, 0x40, 0xef, 0x61, 0x68, 0x62, 0xac, 0xf5, 0xc4, 0xc4, 0x3f, - 0x1d, 0x17, 0x3e, 0x96, 0xca, 0xc1, 0x1d, 0x35, 0x4b, 0x9c, 0x17, 0x4f, - 0x80, 0xad, 0x84, 0x45, 0x81, 0x82, 0x08, 0x44, 0xad, 0x91, 0x23, 0x50, - 0xa9, 0x70, 0xd4, 0x9b, 0x85, 0xaf, 0x81, 0x68, 0xc1, 0x11, 0x03, 0x93, - 0x07, 0xba, 0xb1, 0x24, 0xc9, 0x3c, 0x20, 0xeb, 0x53, 0x80, 0xb6, 0x30, - 0x22, 0x49, 0xbf, 0xc5, 0x60, 0x23, 0x44, 0x1d, 0x50, 0x75, 0xac, 0x3d, - 0xb9, 0x48, 0xb7, 0x89, 0x61, 0x2e, 0x3a, 0x60, 0x13, 0xa9, 0x7f, 0x0c, - 0x8c, 0x9c, 0x06, 0x6e, 0x08, 0xd2, 0x2f, 0x9c, 0x81, 0x3d, 0x84, 0xb6, - 0x09, 0x5f, 0xd6, 0x63, 0xdc, 0xf3, 0xb5, 0xa9, 0x51, 0x47, 0x61, 0x59, - 0x36, 0x73, 0x6c, 0x07, 0x1b, 0xad, 0x91, 0x52, 0x86, 0xb1, 0xe2, 0xcb, - 0x47, 0x46, 0x61, 0xa1, 0xf3, 0x42, 0x50, 0xec, 0x58, 0x55, 0x93, 0xda, - 0xdb, 0xc9, 0xc4, 0xc1, 0x13, 0x37, 0xa2, 0xb5, 0xb4, 0x20, 0x4e, 0xcf, - 0x81, 0x22, 0x24, 0xd3, 0x22, 0x69, 0xc5, 0xfb, 0x64, 0xa2, 0x58, 0x1a, - 0x2e, 0xa1, 0xab, 0xa0, 0x1c, 0x12, 0x04, 0xcc, 0x1f, 0xe0, 0xdc, 0x92, - 0xe5, 0xaf, 0x44, 0xf1, 0x14, 0x55, 0x54, 0xb6, 0xa8, 0x1f, 0x37, 0x7c, - 0x2e, 0x95, 0xf0, 0x58, 0xf1, 0xe5, 0x56, 0x0b, 0xe5, 0x68, 0x79, 0x71, - 0xab, 0x44, 0xe3, 0x26, 0xa5, 0xe5, 0xe0, 0x5a, 0xaa, 0xbd, 0xa9, 0x29, - 0x40, 0xb2, 0xc5, 0xea, 0x54, 0x22, 0x99, 0x63, 0xce, 0x0a, 0x0c, 0x8f, - 0x5b, 0x26, 0x39, 0x1d, 0x6c, 0x5f, 0x6d, 0x42, 0x43, 0xb9, 0x8b, 0xaa, - 0xa2, 0xe0, 0x60, 0x38, 0xc6, 0x85, 0xc6, 0x60, 0x1a, 0x02, 0x5d, 0x5e, - 0x9d, 0x6f, 0x8b, 0xc8, 0xeb, 0xca, 0x7f, 0x2d, 0xdd, 0xf5, 0x2d, 0x89, - 0x54, 0x38, 0x92, 0x1d, 0x3a, 0xbc, 0x51, 0xbf, 0x23, 0x89, 0x8a, 0x90, - 0xc6, 0x83, 0xe6, 0x1e, 0xc5, 0xb2, 0x79, 0x59, 0x85, 0xa0, 0x67, 0x4d, - 0x3d, 0x7a, 0xb5, 0xb8, 0xce, 0x49, 0xe8, 0x78, 0x24, 0x07, 0x99, 0x9f, - 0x92, 0x87, 0x1c, 0x03, 0x0c, 0x2a, 0x60, 0xff, 0x8e, 0xd9, 0xb0, 0x1c, - 0x38, 0xfb, 0x6c, 0x6b, 0xbb, 0x4e, 0x0d, 0x95, 0x62, 0x93, 0x39, 0x2a, - 0xc1, 0x95, 0xa8, 0xba, 0x14, 0x45, 0x3b, 0x9f, 0x6c, 0x7f, 0xb2, 0xb9, - 0xbd, 0x35, 0x78, 0x36, 0xd8, 0x09, 0x13, 0x79, 0x48, 0xfd, 0xba, 0x45, - 0x8d, 0x6d, 0xf6, 0x97, 0xb7, 0xbb, 0x98, 0x59, 0xc2, 0xa6, 0xe6, 0xd8, - 0x19, 0xee, 0x3e, 0x81, 0xb2, 0xeb, 0x6f, 0xd6, 0x98, 0xbd, 0xe1, 0xce, - 0xdd, 0x6a, 0xc8, 0xee, 0x2d, 0x25, 0x1e, 0x78, 0x28, 0x2a, 0x95, 0x2d, - 0x91, 0x3c, 0xb7, 0x1c, 0xa5, 0x24, 0x55, 0x94, 0x5c, 0xce, 0x86, 0x33, - 0xe6, 0x48, 0xd2, 0x34, 0xe4, 0x8a, 0x1e, 0xca, 0xfb, 0x05, 0xa5, 0xae, - 0xda, 0x31, 0x4d, 0xe6, 0x26, 0x44, 0x20, 0x27, 0xc9, 0xc8, 0x1e, 0x89, - 0x56, 0xa9, 0xa4, 0xe1, 0x01, 0x7e, 0x81, 0xee, 0x62, 0x54, 0x31, 0xf8, - 0xda, 0xd2, 0x00, 0xe3, 0xd6, 0xe0, 0x2d, 0x75, 0x47, 0xab, 0xa0, 0x13, - 0x4b, 0x14, 0x01, 0xd6, 0x12, 0x68, 0x04, 0xfa, 0x81, 0xd0, 0x2a, 0x7c, - 0x8b, 0x6c, 0x6c, 0xe2, 0x79, 0xb7, 0x41, 0x09, 0xa5, 0x0e, 0x3b, 0xdc, - 0xef, 0xb8, 0x66, 0xf3, 0xb3, 0x43, 0x0d, 0xf1, 0x25, 0x77, 0xde, 0xb2, - 0xf5, 0x68, 0xd4, 0xd0, 0x23, 0xb8, 0x4b, 0x22, 0xbe, 0x11, 0xab, 0x61, - 0x81, 0xef, 0x51, 0x8a, 0x58, 0xb0, 0x7f, 0x80, 0xc3, 0x67, 0x53, 0x49, - 0xbf, 0xa8, 0x99, 0xbb, 0x4c, 0x37, 0xd0, 0x5a, 0x35, 0xb3, 0xd9, 0xb2, - 0x51, 0x93, 0xd5, 0x4a, 0xe3, 0xa8, 0x9c, 0x57, 0x06, 0xc1, 0xa9, 0x18, - 0x86, 0x33, 0x11, 0x5a, 0x70, 0x65, 0x2c, 0x69, 0xce, 0x73, 0xe1, 0xb7, - 0xed, 0x04, 0xb6, 0xe9, 0xe2, 0x2a, 0x72, 0x4e, 0x5a, 0xea, 0x93, 0x44, - 0xb1, 0x68, 0x14, 0xe6, 0xdb, 0x69, 0x4e, 0x19, 0xd0, 0x29, 0x8f, 0x4e, - 0x98, 0x3b, 0x5f, 0xe9, 0x7d, 0x8f, 0xc2, 0x99, 0xda, 0xcc, 0x56, 0x89, - 0x3b, 0x5a, 0x50, 0x59, 0xe6, 0xf8, 0x4e, 0x2c, 0x26, 0x68, 0x13, 0x6c, - 0x90, 0x85, 0x70, 0x5e, 0x96, 0xa0, 0x2f, 0x61, 0xa2, 0x8d, 0x09, 0xe3, - 0x76, 0x92, 0x08, 0x21, 0x79, 0x2e, 0xb5, 0x9a, 0x33, 0x96, 0xa2, 0x55, - 0x1f, 0xa4, 0xee, 0x0a, 0xe6, 0xd4, 0x14, 0xdf, 0x0b, 0xe9, 0x88, 0x07, - 0x56, 0x2b, 0x91, 0x27, 0x6b, 0x34, 0x81, 0x1e, 0xd1, 0xba, 0x48, 0xcd, - 0x55, 0x12, 0xa5, 0xa3, 0x3e, 0x02, 0xa9, 0x92, 0xf3, 0x2f, 0x2e, 0x92, - 0xf4, 0xdf, 0xb2, 0x4a, 0xda, 0x57, 0x6b, 0xdc, 0x4d, 0xb8, 0x4c, 0x8d, - 0x19, 0xad, 0xf2, 0x8f, 0xac, 0xd8, 0xf9, 0x55, 0x3e, 0x92, 0xfa, 0xb4, - 0xda, 0xdc, 0xd6, 0xed, 0x13, 0x93, 0x62, 0x10, 0x81, 0xa3, 0x46, 0x7d, - 0x19, 0x6e, 0x7e, 0xe8, 0xb8, 0x6e, 0x58, 0x70, 0x0f, 0x6b, 0x20, 0x5e, - 0x85, 0x14, 0x9e, 0x3e, 0xde, 0xac, 0x9d, 0x3d, 0xb2, 0x8b, 0x0e, 0x47, - 0x5c, 0xe6, 0xdc, 0x34, 0x03, 0xfc, 0x7b, 0xbb, 0x08, 0x4b, 0x44, 0x65, - 0x0f, 0xd1, 0x45, 0x65, 0x2a, 0x75, 0x2c, 0x99, 0xea, 0xe6, 0x2d, 0x36, - 0x75, 0x26, 0x25, 0xc7, 0x5a, 0x4e, 0x5b, 0x03, 0xc1, 0x50, 0xf4, 0x95, - 0x86, 0x2f, 0xea, 0xab, 0x5d, 0x8f, 0xeb, 0xfd, 0x7b, 0x7b, 0x77, 0xa3, - 0xd7, 0x8c, 0x43, 0x04, 0x87, 0x69, 0xb9, 0x69, 0xac, 0x25, 0x98, 0x22, - 0x0c, 0x55, 0x50, 0x8b, 0x4e, 0xe2, 0x0f, 0x19, 0x88, 0xab, 0x9c, 0x6a, - 0x65, 0xeb, 0xb9, 0x9f, 0x47, 0xe0, 0x77, 0x67, 0x24, 0xff, 0x4c, 0x2d, - 0xce, 0x2d, 0x2d, 0xb5, 0xe4, 0x06, 0x20, 0xb8, 0x20, 0x0e, 0xbb, 0xc0, - 0x0a, 0x85, 0x0c, 0xa4, 0x5e, 0x1a, 0x4c, 0x94, 0x7a, 0x8d, 0x17, 0xd4, - 0x11, 0xc2, 0x95, 0x0a, 0x01, 0x23, 0x72, 0xab, 0x2f, 0x60, 0xc0, 0xb2, - 0x04, 0xd1, 0xfe, 0xe9, 0xc9, 0xc9, 0xe1, 0xfe, 0x45, 0x10, 0x48, 0xd9, - 0x0c, 0x73, 0x69, 0xaa, 0xe5, 0xaa, 0xfe, 0x4b, 0x40, 0x9d, 0x46, 0x56, - 0xa9, 0x99, 0xd5, 0xbc, 0xb8, 0x4a, 0x7d, 0xac, 0x61, 0xb7, 0xeb, 0x8b, - 0xe2, 0xbf, 0x8f, 0xe7, 0x12, 0xe0, 0xa7, 0x6b, 0x65, 0x4b, 0x55, 0x66, - 0x95, 0x63, 0xb9, 0x1c, 0x3d, 0x02, 0xd7, 0xc2, 0x62, 0x92, 0x98, 0x46, - 0x1e, 0x45, 0x6a, 0x71, 0xce, 0x1b, 0x31, 0x01, 0xac, 0xc4, 0x46, 0xfc, - 0x9f, 0x8e, 0xd4, 0x72, 0xb6, 0x19, 0x94, 0xd9, 0x7b, 0xa5, 0x50, 0x74, - 0x9f, 0xaf, 0xa8, 0xe4, 0x04, 0x73, 0x57, 0x11, 0x24, 0x06, 0x97, 0x59, - 0xbe, 0x39, 0x85, 0xf0, 0xc1, 0xf1, 0xbd, 0xd9, 0xd4, 0xca, 0x24, 0x07, - 0x95, 0xe0, 0x5a, 0x38, 0x20, 0xf5, 0xe7, 0x2e, 0x52, 0xb5, 0x31, 0x59, - 0x52, 0x09, 0x62, 0x1b, 0x5c, 0x51, 0x34, 0xae, 0xef, 0xe5, 0xc2, 0xd4, - 0xbd, 0xc1, 0xa1, 0x9e, 0x0a, 0xca, 0x05, 0xbd, 0xd8, 0xeb, 0xb2, 0x60, - 0x8d, 0x27, 0x65, 0x60, 0x5b, 0xbc, 0x28, 0xe5, 0xe4, 0xab, 0x15, 0xb6, - 0x78, 0x2b, 0x8c, 0x56, 0xe4, 0x98, 0x34, 0x43, 0xf7, 0x51, 0x6b, 0x8e, - 0x01, 0x2c, 0x3d, 0xb8, 0x9f, 0x41, 0xf4, 0x49, 0x82, 0x55, 0x5e, 0xf6, - 0xd4, 0xda, 0x8c, 0x72, 0x6b, 0xa8, 0xfa, 0xeb, 0xe3, 0x9c, 0x5b, 0xc2, - 0xb4, 0x18, 0x2d, 0x76, 0xd1, 0x68, 0x04, 0xaa, 0xae, 0xa3, 0x5b, 0x5a, - 0x11, 0xb7, 0xfc, 0xde, 0xa0, 0xd7, 0x50, 0x61, 0x04, 0x3c, 0xa5, 0xa1, - 0xfd, 0x3b, 0xa8, 0xbf, 0xf6, 0x0a, 0x92, 0xe9, 0x80, 0xb5, 0x07, 0x46, - 0x01, 0xec, 0xc8, 0xb4, 0x8b, 0x0a, 0xc8, 0x8e, 0x7b, 0x9b, 0x66, 0x1d, - 0x00, 0x12, 0x36, 0xa3, 0x0a, 0x8d, 0x97, 0xaa, 0xd2, 0x03, 0xe1, 0x67, - 0xfd, 0xdd, 0x3c, 0xbd, 0x87, 0xb4, 0xd7, 0x84, 0x52, 0x72, 0x6d, 0xad, - 0x1e, 0x56, 0x67, 0xfb, 0xe5, 0xce, 0x60, 0xfb, 0x93, 0xcf, 0x06, 0x24, - 0xbc, 0x6f, 0x77, 0xc2, 0x54, 0x7d, 0xb8, 0x9e, 0xb8, 0x0d, 0x39, 0xb3, - 0x6b, 0x2d, 0x1c, 0xb8, 0x2d, 0x16, 0x23, 0x6c, 0x7b, 0xf6, 0x30, 0x08, - 0x82, 0x29, 0x2a, 0xad, 0x6b, 0xb0, 0x45, 0xbd, 0xd5, 0x7e, 0x60, 0x31, - 0x03, 0x93, 0x80, 0x50, 0xd9, 0x56, 0xf4, 0xce, 0x20, 0x6d, 0x5c, 0xb1, - 0xbb, 0x36, 0xa8, 0xe4, 0x80, 0x08, 0xda, 0x4b, 0xe0, 0xb9, 0xfe, 0x7f, - 0x75, 0x66, 0x5e, 0xe3, 0x50, 0xb3, 0xef, 0xc5, 0x31, 0x63, 0x55, 0x46, - 0x9d, 0x97, 0x0a, 0x27, 0x42, 0x62, 0xd0, 0x5d, 0x45, 0xd0, 0x81, 0xf3, - 0xd6, 0xc0, 0x39, 0x1c, 0xde, 0x1e, 0xcb, 0x5a, 0x5a, 0x0b, 0x6a, 0xec, - 0xf9, 0x3c, 0xcb, 0xf0, 0xca, 0x40, 0xcb, 0x2e, 0x36, 0x9a, 0x45, 0x22, - 0xb4, 0xd9, 0x4f, 0x16, 0x6c, 0x0c, 0xc5, 0x8b, 0x69, 0xa1, 0xc5, 0x31, - 0xad, 0x39, 0x7e, 0xe7, 0xcf, 0x7f, 0x0e, 0xd8, 0xd0, 0xdf, 0x6d, 0x0d, - 0x0c, 0xca, 0xc5, 0x03, 0x6b, 0x78, 0x4c, 0x91, 0xcc, 0x10, 0x1f, 0x3c, - 0x68, 0x4b, 0xcf, 0x14, 0x25, 0x64, 0x46, 0x37, 0x93, 0x70, 0x1c, 0xc6, - 0x41, 0xe4, 0x23, 0xa6, 0x46, 0x89, 0x60, 0x53, 0x28, 0xa4, 0x80, 0xc6, - 0x96, 0xc3, 0x20, 0x15, 0x40, 0x5a, 0x34, 0xf3, 0x40, 0xaa, 0x11, 0x5a, - 0xad, 0x28, 0x05, 0x45, 0xc2, 0xf5, 0x84, 0x61, 0xda, 0x09, 0x26, 0xf7, - 0xdf, 0xa9, 0x55, 0xe0, 0x99, 0x3c, 0x5a, 0xa4, 0x53, 0x4b, 0x60, 0xb3, - 0x17, 0x9e, 0x19, 0x46, 0x9c, 0x8f, 0xd2, 0x32, 0x8f, 0x35, 0x04, 0x41, - 0xf3, 0x74, 0x82, 0xbb, 0x0d, 0xf9, 0x44, 0x2c, 0x97, 0x0d, 0x57, 0x65, - 0xea, 0x10, 0x47, 0xf9, 0xef, 0xe8, 0xd5, 0x97, 0xf4, 0x14, 0xfc, 0x2b, - 0xb6, 0x6b, 0x7e, 0x79, 0xf8, 0xe6, 0xf4, 0xfc, 0xb0, 0x56, 0xee, 0xae, - 0xe0, 0xe0, 0xc8, 0xa6, 0xe8, 0x24, 0xd0, 0xd0, 0xeb, 0xa8, 0xff, 0x23, - 0xba, 0x61, 0x08, 0x0d, 0x71, 0xf6, 0xdd, 0x41, 0xc0, 0xa3, 0x2d, 0xc3, - 0xc8, 0x1a, 0xed, 0x35, 0x63, 0xaf, 0xd8, 0x41, 0xc1, 0x47, 0x7b, 0x03, - 0xe5, 0x9c, 0xe4, 0xa4, 0xd9, 0x00, 0x91, 0xcb, 0x26, 0xfd, 0x69, 0xb1, - 0xb7, 0xb0, 0x40, 0xfc, 0xaa, 0xc0, 0xd5, 0xb0, 0xfc, 0xd2, 0xcc, 0xc4, - 0x36, 0xc6, 0xaa, 0x60, 0x54, 0x92, 0x01, 0x8a, 0xed, 0x58, 0x3e, 0x87, - 0x5b, 0x09, 0xf8, 0x00, 0x5b, 0xa0, 0xae, 0xa5, 0x5b, 0x4b, 0x5f, 0x96, - 0xda, 0x59, 0x6a, 0x7a, 0x9a, 0x44, 0x96, 0xf3, 0x16, 0xa6, 0x98, 0xfd, - 0x4d, 0x80, 0x81, 0x2e, 0x25, 0x07, 0x70, 0x55, 0x42, 0xa2, 0xf5, 0xbc, - 0x5e, 0x6c, 0x54, 0x8a, 0x45, 0xb9, 0x5a, 0x9d, 0x3c, 0xe8, 0xee, 0x9f, - 0xbb, 0xd1, 0x7a, 0xe9, 0x6a, 0x4a, 0xb7, 0x64, 0xbd, 0x39, 0xec, 0x32, - 0x15, 0xca, 0x99, 0x64, 0x06, 0xce, 0x46, 0xd7, 0x8e, 0x42, 0xef, 0xeb, - 0x55, 0xb7, 0x86, 0x48, 0xbb, 0xec, 0x1c, 0x41, 0x83, 0xd0, 0x04, 0x20, - 0x07, 0x71, 0xe0, 0x8a, 0xea, 0x49, 0x23, 0x76, 0xe0, 0x5a, 0xb3, 0x2f, - 0x83, 0xb0, 0x5b, 0x67, 0x69, 0x8f, 0x47, 0x8a, 0xb5, 0xf6, 0x83, 0xd9, - 0xb2, 0x10, 0x80, 0x5e, 0x3c, 0xcc, 0x4b, 0xbe, 0xad, 0x25, 0xee, 0x52, - 0x4b, 0xde, 0x36, 0x8b, 0x92, 0xfb, 0x0d, 0xa3, 0x6d, 0x38, 0x7f, 0xb3, - 0xff, 0xf2, 0xc5, 0x4b, 0x3e, 0x78, 0x00, 0x04, 0xa7, 0xf3, 0xc0, 0x4f, - 0xa8, 0xeb, 0xae, 0x27, 0xa7, 0x21, 0xc4, 0xc3, 0x6f, 0x01, 0xcb, 0x91, - 0xbd, 0x87, 0xc8, 0xc2, 0xa8, 0x62, 0x53, 0x89, 0x16, 0x1c, 0x06, 0xed, - 0x0c, 0x56, 0x62, 0x79, 0xaf, 0x82, 0xe8, 0xae, 0x15, 0xb7, 0x31, 0x4b, - 0x37, 0xb7, 0x09, 0xe7, 0xa1, 0x56, 0xc6, 0x30, 0x61, 0x9d, 0x2b, 0x08, - 0x43, 0x96, 0xb6, 0x0d, 0xec, 0x05, 0xd4, 0xe6, 0x8a, 0x8e, 0x14, 0x6d, - 0xcd, 0x09, 0x2a, 0x92, 0x9f, 0x88, 0x52, 0x5d, 0x90, 0xa8, 0x30, 0xab, - 0x56, 0xcb, 0xe2, 0xb2, 0x96, 0x2b, 0x0b, 0xb4, 0xab, 0x6a, 0x8e, 0x6c, - 0x3e, 0x8e, 0xa9, 0x9f, 0x4e, 0x03, 0xf2, 0x42, 0x7f, 0xd5, 0xee, 0x9a, - 0xa5, 0x87, 0xae, 0xaf, 0xf2, 0x85, 0x06, 0x87, 0xb6, 0xe0, 0xc8, 0x04, - 0x76, 0x6b, 0x79, 0xd2, 0x68, 0xdd, 0x61, 0x64, 0xca, 0xab, 0x47, 0x07, - 0xae, 0x4a, 0x97, 0x37, 0xbe, 0xd3, 0x8d, 0xb2, 0xba, 0x98, 0xbb, 0x72, - 0x74, 0x90, 0x9b, 0x67, 0x8c, 0xae, 0x35, 0x2f, 0xb7, 0x8d, 0x1e, 0xfc, - 0x37, 0x8f, 0x54, 0xfe, 0x9e, 0x4b, 0x1d, 0x11, 0x6d, 0xc1, 0x9a, 0xc5, - 0xe6, 0x19, 0x50, 0x3a, 0x6f, 0x0c, 0x87, 0xc2, 0x5b, 0x27, 0x4d, 0xc4, - 0xfd, 0xeb, 0x59, 0x36, 0x91, 0x5a, 0x82, 0x8f, 0xaf, 0x85, 0x3e, 0xe9, - 0x2f, 0x53, 0xcd, 0x68, 0x29, 0xc2, 0xb9, 0xa1, 0x9d, 0x11, 0x70, 0x85, - 0x2e, 0x5b, 0x48, 0xb9, 0x8e, 0x54, 0x28, 0x5a, 0x02, 0x9a, 0xc7, 0x9b, - 0xe1, 0x14, 0xe6, 0x51, 0x36, 0x2e, 0x83, 0x19, 0xf0, 0x03, 0xed, 0xcd, - 0x09, 0xcb, 0x68, 0x99, 0x19, 0xe7, 0x24, 0x20, 0xda, 0xeb, 0xa9, 0x5d, - 0xe6, 0x07, 0x1b, 0xbb, 0x4c, 0x1f, 0x0a, 0x23, 0xaa, 0x6d, 0xb1, 0x6c, - 0xce, 0x0a, 0x81, 0x89, 0x1f, 0xb3, 0x59, 0x98, 0xa0, 0x6e, 0x61, 0xd5, - 0xb4, 0xc5, 0xc1, 0xd4, 0x61, 0x18, 0x75, 0xdf, 0x7e, 0xc0, 0x2e, 0xa3, - 0x91, 0x47, 0x37, 0x19, 0x4f, 0xb4, 0xec, 0xf1, 0x74, 0xae, 0x40, 0x16, - 0xef, 0x25, 0x8f, 0x02, 0x45, 0xe6, 0xdf, 0x3f, 0xbe, 0x28, 0xd3, 0xb9, - 0xa5, 0xb4, 0x72, 0x0a, 0x80, 0x3f, 0xbb, 0xea, 0xe4, 0x8a, 0xab, 0xc9, - 0xae, 0x91, 0xe8, 0xb8, 0x2b, 0x48, 0xdf, 0xf7, 0xe7, 0x73, 0x20, 0x17, - 0x59, 0x3a, 0xb7, 0xd8, 0x15, 0xd5, 0x75, 0x82, 0x21, 0x46, 0x6d, 0xb9, - 0x72, 0x81, 0x83, 0xbe, 0x31, 0xc5, 0xd9, 0x0d, 0xe3, 0xd8, 0xb8, 0xeb, - 0xed, 0xfd, 0x6a, 0x01, 0x1b, 0xb4, 0x2c, 0x8f, 0x7b, 0x5a, 0x96, 0x59, - 0x19, 0x29, 0xfb, 0xb8, 0xfc, 0xa7, 0x77, 0xbc, 0xda, 0xa5, 0xdb, 0xb1, - 0xfa, 0xf8, 0x16, 0x77, 0x13, 0xeb, 0x9c, 0x7f, 0xb5, 0x8e, 0x43, 0x2c, - 0xa3, 0x78, 0x54, 0x64, 0xd3, 0x65, 0x29, 0x1e, 0xb6, 0xb0, 0x08, 0x20, - 0xb1, 0xd8, 0x15, 0x4b, 0x01, 0x57, 0x6f, 0xe3, 0x6e, 0x6f, 0x74, 0x9e, - 0x0b, 0xf8, 0x99, 0xe5, 0xef, 0x62, 0x3b, 0x56, 0x2f, 0x8e, 0x3e, 0xed, - 0x87, 0x28, 0xd8, 0x5c, 0xee, 0x14, 0x64, 0x79, 0xcb, 0x02, 0xad, 0x66, - 0x7a, 0xda, 0x6b, 0x8d, 0xe9, 0x4d, 0x12, 0x4e, 0x7d, 0x57, 0x52, 0x60, - 0x8f, 0xa2, 0x63, 0x9f, 0xd1, 0x53, 0x84, 0xb4, 0x72, 0x8d, 0xf3, 0xd9, - 0x53, 0x2c, 0x8c, 0xf1, 0xf0, 0xdd, 0x9e, 0x4b, 0x01, 0x8b, 0x22, 0x04, - 0x3a, 0xaf, 0x33, 0xe0, 0xd5, 0xcd, 0xad, 0x1e, 0x43, 0x85, 0x0e, 0x1f, - 0x59, 0x65, 0x3c, 0xe8, 0x17, 0x59, 0xc6, 0x82, 0xa5, 0x71, 0x8b, 0xcb, - 0xd2, 0x0a, 0xc2, 0xdf, 0x6d, 0x5c, 0xed, 0xcd, 0xe9, 0x60, 0xfd, 0x7b, - 0x3a, 0xb8, 0x9e, 0x59, 0x6f, 0x26, 0x40, 0x1f, 0x2b, 0x22, 0xd6, 0x93, - 0x9a, 0xd4, 0x61, 0x47, 0xfc, 0x57, 0xb1, 0x08, 0x56, 0x3d, 0xa6, 0xf3, - 0x8a, 0x47, 0x94, 0x7a, 0xcc, 0x66, 0xc8, 0x95, 0x6b, 0x0f, 0xc8, 0x90, - 0x48, 0xbb, 0x10, 0x2f, 0xc5, 0x6d, 0xbc, 0xa4, 0x58, 0x08, 0x3a, 0x90, - 0xd5, 0xfc, 0xb8, 0x0b, 0xd3, 0xcc, 0x5b, 0x80, 0x3a, 0x0d, 0xbb, 0x9b, - 0x04, 0x2c, 0xe9, 0x1a, 0x01, 0x9e, 0x5a, 0xbb, 0x18, 0xc1, 0xa2, 0x9a, - 0x37, 0xac, 0x96, 0x83, 0x24, 0x99, 0x38, 0x30, 0x09, 0x7e, 0xbc, 0x81, - 0x2f, 0xcb, 0xb1, 0x50, 0x52, 0x75, 0xa3, 0x0a, 0x5d, 0x3e, 0x68, 0xb8, - 0xff, 0x93, 0xab, 0x49, 0x5f, 0x39, 0x7d, 0x95, 0x19, 0xf5, 0xf3, 0x4d, - 0x2c, 0xc4, 0x15, 0x2d, 0x01, 0x7e, 0x7c, 0xfe, 0x44, 0x01, 0x81, 0xe8, - 0x3c, 0x61, 0x48, 0xb6, 0x5b, 0x60, 0xce, 0x72, 0x9e, 0xa0, 0xe6, 0xcb, - 0xaf, 0xb3, 0x19, 0x40, 0x6a, 0xcd, 0x08, 0x8c, 0x9d, 0x04, 0x99, 0x6c, - 0xd4, 0x75, 0x08, 0x81, 0xc6, 0x47, 0xa3, 0xdb, 0x83, 0xed, 0x5e, 0x20, - 0x58, 0x02, 0x97, 0x4c, 0x83, 0x03, 0xb8, 0xaf, 0x41, 0x74, 0x2e, 0x6e, - 0x68, 0x95, 0x0c, 0x99, 0xa6, 0x1a, 0xd2, 0x95, 0x56, 0x84, 0x60, 0xac, - 0x09, 0x27, 0x86, 0x73, 0x7e, 0x5f, 0x83, 0x66, 0xb6, 0xfa, 0xcf, 0x5f, - 0xbe, 0xac, 0xdc, 0xe5, 0xa1, 0xea, 0xfb, 0x62, 0x6b, 0x4b, 0x92, 0x1e, - 0xeb, 0xaf, 0xd1, 0x17, 0xfd, 0x97, 0x78, 0xb1, 0xfa, 0x9a, 0xa4, 0xc6, - 0xad, 0x7e, 0xaf, 0xcf, 0xdf, 0xb4, 0x74, 0x07, 0x83, 0xc2, 0xca, 0xb7, - 0x5e, 0x72, 0x77, 0x2d, 0x6f, 0x09, 0x42, 0x0c, 0xd6, 0x2e, 0xbb, 0xbc, - 0xe4, 0x62, 0x4b, 0xfc, 0xa4, 0x20, 0x74, 0x65, 0xf9, 0x5d, 0x9c, 0x4f, - 0x9a, 0xd3, 0xdd, 0xea, 0xf5, 0xb7, 0x57, 0x4d, 0xd7, 0x95, 0x46, 0xc0, - 0x06, 0xb2, 0xf6, 0xb3, 0xfe, 0xa7, 0x8d, 0xf5, 0xaf, 0x37, 0xda, 0x66, - 0xff, 0xe9, 0xd6, 0x56, 0xef, 0x13, 0xfe, 0xf9, 0xf2, 0x65, 0xfb, 0xc1, - 0xaa, 0xf4, 0xf1, 0xcc, 0xa6, 0x56, 0x19, 0x2d, 0xb5, 0xd3, 0xd2, 0xfa, - 0x36, 0xb5, 0xba, 0xfd, 0xf2, 0x65, 0x8f, 0x7b, 0x79, 0xf1, 0x41, 0xad, - 0x97, 0x77, 0x99, 0xb7, 0xd7, 0x6e, 0xbb, 0xae, 0x40, 0x81, 0x45, 0x6d, - 0x0a, 0xf4, 0x67, 0x14, 0xbd, 0x96, 0x64, 0xd0, 0x28, 0x08, 0xc5, 0xf4, - 0xc6, 0xfe, 0x5a, 0xc5, 0x6b, 0xa9, 0x31, 0xad, 0x3a, 0xad, 0x2b, 0xb1, - 0xbc, 0xe6, 0xc1, 0x24, 0xe0, 0x5a, 0xf4, 0xa0, 0x56, 0x88, 0x44, 0x41, - 0x55, 0x1f, 0x8f, 0x31, 0x5a, 0x44, 0xeb, 0x44, 0x2f, 0x1b, 0xd0, 0xfe, - 0x6f, 0xe3, 0x69, 0x0a, 0xda, 0xec, 0x22, 0x99, 0x55, 0x52, 0x96, 0xf8, - 0x8f, 0x6c, 0xd1, 0x15, 0xcd, 0x09, 0xe3, 0x5e, 0x73, 0x4c, 0x8d, 0x18, - 0xc9, 0x7d, 0xa4, 0x4f, 0xf7, 0xf1, 0xd8, 0x40, 0xac, 0x55, 0x31, 0x1c, - 0x11, 0xb5, 0xae, 0x22, 0x97, 0x24, 0xaa, 0x21, 0x59, 0x68, 0xcd, 0xc5, - 0xcf, 0xfa, 0xb9, 0x75, 0x8b, 0x20, 0xdf, 0x5c, 0xb9, 0x13, 0x97, 0x73, - 0x15, 0x04, 0x3b, 0x81, 0x04, 0xa4, 0xdb, 0xcd, 0x81, 0x1c, 0xb1, 0x52, - 0xe9, 0x60, 0x05, 0xd6, 0x2a, 0x86, 0x0e, 0xa9, 0x9d, 0x7b, 0x99, 0x5e, - 0x2d, 0x45, 0xfb, 0xf4, 0xa7, 0xec, 0x87, 0xb0, 0x22, 0x9d, 0x54, 0xac, - 0x65, 0x95, 0xf4, 0x2e, 0xb6, 0x5a, 0x58, 0x08, 0x61, 0xb1, 0x63, 0xef, - 0x10, 0x4e, 0xb4, 0xfc, 0x94, 0x86, 0xd4, 0x7b, 0x18, 0x26, 0x03, 0x95, - 0x92, 0xa8, 0xc4, 0x09, 0x90, 0xbd, 0x34, 0xf6, 0x98, 0x1d, 0x3c, 0x88, - 0x7f, 0xa9, 0x98, 0xd1, 0x0c, 0x0c, 0x4d, 0x16, 0x21, 0xd2, 0x14, 0xec, - 0xb5, 0x9a, 0xe3, 0xc5, 0x6a, 0x2a, 0x4b, 0xf2, 0xaa, 0x2b, 0x3c, 0xe2, - 0x66, 0x01, 0xd5, 0x4f, 0xf1, 0x3f, 0x2c, 0x23, 0x58, 0xcd, 0x03, 0x41, - 0xc2, 0x91, 0xc8, 0x7e, 0x9a, 0x11, 0xd7, 0xb6, 0x6d, 0x8e, 0x04, 0x03, - 0x64, 0x50, 0xd0, 0x55, 0xa0, 0xe6, 0x1b, 0x90, 0x49, 0x36, 0x63, 0x8c, - 0xb6, 0xc9, 0x06, 0x12, 0x9e, 0x64, 0x17, 0x9c, 0xe1, 0x4b, 0x03, 0x1d, - 0xd6, 0xaa, 0x6a, 0x75, 0x34, 0x3c, 0xfa, 0x1f, 0x87, 0x83, 0xd0, 0x9c, - 0xf9, 0x5b, 0x05, 0x83, 0xe4, 0xf1, 0x5d, 0xb5, 0x82, 0xa5, 0x54, 0x24, - 0x91, 0x58, 0xb8, 0x78, 0x3a, 0xf5, 0x95, 0xd8, 0xe0, 0x5c, 0x22, 0x61, - 0x3e, 0x33, 0x78, 0x36, 0x57, 0x65, 0x6d, 0x25, 0x9e, 0x17, 0xea, 0x6b, - 0xa2, 0xc8, 0x50, 0xe8, 0x63, 0x70, 0x39, 0x70, 0x33, 0x24, 0xb5, 0x18, - 0xb8, 0xf3, 0x72, 0x8e, 0xd2, 0x85, 0x34, 0x86, 0xba, 0xb4, 0x12, 0xdf, - 0x0d, 0x1e, 0xab, 0xfa, 0x7e, 0xee, 0xc3, 0x8c, 0x78, 0xe6, 0x4f, 0x57, - 0xe7, 0x0c, 0x31, 0x48, 0xcc, 0x38, 0x60, 0x94, 0x85, 0x3b, 0xfe, 0x8a, - 0xe9, 0x50, 0x51, 0x5a, 0x1b, 0x81, 0xb7, 0xb4, 0xb6, 0x65, 0x3c, 0x5b, - 0xb4, 0x84, 0xa0, 0x09, 0x46, 0x1c, 0x92, 0xc1, 0xc5, 0x7a, 0xed, 0xe0, - 0x92, 0xb5, 0xb3, 0x66, 0x73, 0x41, 0x5c, 0x9c, 0x10, 0x2a, 0xbd, 0x08, - 0x5b, 0xb8, 0xeb, 0xa7, 0x1a, 0xcf, 0xc5, 0x92, 0x16, 0xb0, 0x79, 0x5a, - 0x62, 0x5a, 0x63, 0x5d, 0xf9, 0x14, 0xd0, 0x20, 0x49, 0x9e, 0x0b, 0x10, - 0xb5, 0x48, 0xef, 0x89, 0xc6, 0x66, 0x88, 0x8f, 0x1b, 0xa1, 0x7d, 0x41, - 0x0d, 0x95, 0x78, 0xc5, 0x0e, 0x7a, 0xf0, 0x0b, 0xe9, 0x1a, 0xeb, 0xe7, - 0x6f, 0x5d, 0x09, 0x4f, 0xb3, 0x92, 0x1a, 0x5a, 0xa0, 0x2f, 0x5a, 0x2e, - 0x06, 0x4d, 0xcc, 0xa0, 0x00, 0xd8, 0x57, 0xdf, 0xa7, 0xee, 0xb7, 0x94, - 0x16, 0x30, 0x28, 0xf0, 0x05, 0xf4, 0xc3, 0x83, 0x53, 0x18, 0xd5, 0xb4, - 0x68, 0x45, 0xe2, 0x84, 0x71, 0x98, 0x4d, 0x9c, 0x6e, 0xbe, 0x32, 0x5d, - 0x01, 0x25, 0x4b, 0x52, 0x4e, 0x21, 0xd8, 0x65, 0x64, 0x74, 0xc9, 0xee, - 0xee, 0x05, 0x28, 0x51, 0x2f, 0xee, 0xef, 0x9b, 0x98, 0x41, 0x1e, 0xad, - 0x46, 0x70, 0xc0, 0x85, 0xd8, 0xe9, 0xd1, 0xea, 0x97, 0x8f, 0x81, 0x90, - 0x60, 0xbf, 0x47, 0x99, 0x04, 0x3c, 0xca, 0x6a, 0xc5, 0x2d, 0xeb, 0x28, - 0x97, 0xf1, 0x5d, 0x9c, 0xe2, 0x58, 0x36, 0x4c, 0xcb, 0x90, 0x30, 0x1c, - 0x60, 0xad, 0x45, 0xde, 0x71, 0xb4, 0xfa, 0x35, 0xb1, 0x02, 0x01, 0x1d, - 0x91, 0x05, 0xb2, 0x06, 0x0d, 0x3d, 0xb8, 0x65, 0x9d, 0xb8, 0x17, 0x59, - 0xf6, 0x14, 0xe8, 0x1e, 0x65, 0xca, 0x45, 0x76, 0x23, 0x60, 0x5d, 0x50, - 0x0b, 0xdb, 0xb4, 0xfc, 0xe9, 0x7c, 0xa9, 0x40, 0x74, 0x52, 0x22, 0xca, - 0xc3, 0xbe, 0xb7, 0x2d, 0xfb, 0x14, 0x69, 0x94, 0x52, 0x12, 0xa5, 0x0e, - 0xac, 0xad, 0xe3, 0x92, 0xb4, 0x13, 0xf5, 0x57, 0x18, 0xc9, 0xf6, 0xf1, - 0x6a, 0x4b, 0x80, 0x5f, 0xe4, 0x42, 0xfb, 0xf4, 0x68, 0x26, 0xf7, 0xb4, - 0xda, 0x82, 0x94, 0x13, 0x01, 0x45, 0x9c, 0x8b, 0x19, 0xd3, 0x1a, 0x5c, - 0x65, 0x39, 0x6d, 0xea, 0x4c, 0xa5, 0x5c, 0xdc, 0x36, 0x75, 0xe9, 0x4b, - 0xbb, 0x72, 0x88, 0x07, 0x0c, 0xea, 0xe9, 0xb0, 0x68, 0xca, 0xac, 0x54, - 0xc6, 0xa8, 0xe9, 0xc9, 0xce, 0xc8, 0x6b, 0xe3, 0x7e, 0x2c, 0x68, 0x6a, - 0x67, 0xf0, 0x6c, 0xe3, 0x49, 0xb0, 0xc7, 0x40, 0x94, 0xaf, 0x95, 0x25, - 0x6c, 0x2d, 0x67, 0xd2, 0x58, 0x5c, 0xae, 0x1a, 0x5d, 0x29, 0x68, 0x52, - 0x3b, 0xf7, 0xb2, 0x88, 0x8f, 0x00, 0x39, 0x98, 0x53, 0xad, 0x98, 0x26, - 0xc9, 0x42, 0xc6, 0xa6, 0x10, 0x3c, 0x7a, 0x54, 0xdd, 0xde, 0x21, 0xf4, - 0x52, 0x89, 0x54, 0xaf, 0xd7, 0x55, 0x1c, 0x40, 0x6d, 0xf4, 0x6c, 0xb8, - 0x36, 0x90, 0xf9, 0x76, 0x4e, 0xb3, 0x2e, 0x82, 0x8a, 0x05, 0x91, 0xae, - 0x40, 0x9d, 0xb6, 0x2d, 0x95, 0x02, 0x3e, 0xb6, 0xad, 0x6e, 0x60, 0xba, - 0x19, 0xb5, 0x6a, 0x34, 0x4d, 0xac, 0x46, 0xb9, 0x9d, 0x71, 0x35, 0x25, - 0x82, 0x4e, 0x87, 0xa2, 0x34, 0x32, 0x23, 0x94, 0x48, 0xd5, 0x44, 0xdf, - 0x81, 0xe3, 0x3d, 0x82, 0x40, 0x8a, 0x25, 0x6c, 0x38, 0x4d, 0x7e, 0x49, - 0xf2, 0x2c, 0x28, 0xca, 0x85, 0x55, 0x34, 0x61, 0xd1, 0xc5, 0x56, 0x39, - 0x6a, 0xe4, 0xb1, 0x0f, 0x3c, 0x89, 0x34, 0x81, 0x0d, 0xff, 0x97, 0xa1, - 0x98, 0x27, 0xd1, 0x3f, 0x2e, 0xf4, 0xe0, 0x4a, 0xa4, 0xb1, 0x5e, 0x17, - 0x28, 0xec, 0x6a, 0x4c, 0x5d, 0xad, 0xa6, 0xcc, 0xb4, 0x02, 0x9a, 0xd0, - 0xdb, 0xb2, 0x7e, 0x68, 0xce, 0x95, 0x37, 0x19, 0x0f, 0x41, 0x56, 0x59, - 0xcc, 0xd2, 0x09, 0xd7, 0x83, 0x58, 0xe7, 0x3c, 0x0d, 0x1d, 0xda, 0x06, - 0x7f, 0x8c, 0x1c, 0xec, 0xd8, 0x57, 0x74, 0xaa, 0xcb, 0x11, 0x8a, 0xb1, - 0x20, 0xfc, 0x6a, 0xd2, 0x82, 0x91, 0x72, 0x92, 0x95, 0xe9, 0xd8, 0x57, - 0xfd, 0x75, 0xed, 0xe8, 0x9b, 0x0d, 0x3e, 0x2f, 0xed, 0x68, 0xec, 0x3b, - 0x37, 0xd1, 0xab, 0x80, 0x44, 0xd9, 0xb0, 0x11, 0x54, 0x03, 0xbf, 0x11, - 0xe2, 0x10, 0xf4, 0x92, 0x6c, 0xb1, 0xf2, 0x83, 0xad, 0xb3, 0x6f, 0x08, - 0x9e, 0x35, 0x9e, 0x4e, 0x0b, 0x9e, 0x0b, 0x36, 0x80, 0xda, 0x48, 0xb3, - 0x09, 0x7c, 0x72, 0xc2, 0x94, 0x9a, 0x31, 0xa4, 0xd4, 0xde, 0x34, 0x71, - 0xd1, 0x3a, 0xdd, 0x22, 0x00, 0xe9, 0xe1, 0x26, 0x7a, 0xea, 0x37, 0xae, - 0xc0, 0xba, 0x0c, 0x04, 0x8f, 0x6f, 0x75, 0xa5, 0x39, 0x62, 0x82, 0x20, - 0xee, 0x52, 0x84, 0x6e, 0x43, 0x3b, 0x71, 0xcc, 0xfa, 0x43, 0xd8, 0x5c, - 0x4d, 0xd4, 0x5c, 0x45, 0xb1, 0xba, 0xac, 0x31, 0x20, 0xdb, 0xfe, 0x15, - 0xa2, 0x2d, 0x18, 0xa5, 0x93, 0x6b, 0x20, 0xd4, 0x37, 0x6e, 0x88, 0x0f, - 0x61, 0x5b, 0x1f, 0x44, 0x07, 0x80, 0x36, 0x63, 0x64, 0x36, 0x41, 0xf7, - 0xe5, 0x68, 0x01, 0xf5, 0x60, 0xe7, 0x4e, 0x0a, 0x90, 0x54, 0xd1, 0x81, - 0xe2, 0xa2, 0xd4, 0x91, 0xe1, 0x01, 0x57, 0xba, 0x0c, 0x53, 0xc5, 0xfb, - 0x43, 0xee, 0x9b, 0xda, 0xec, 0xa3, 0x85, 0xf6, 0x0c, 0x72, 0x03, 0x29, - 0xe9, 0x0b, 0x8a, 0x6b, 0x80, 0xb8, 0xc2, 0x83, 0xa9, 0x74, 0xcd, 0xd4, - 0xc8, 0x9b, 0xcc, 0x6c, 0xb3, 0x12, 0x58, 0xc9, 0xf5, 0xba, 0x8a, 0xe7, - 0xd1, 0x2b, 0xa4, 0x8d, 0xec, 0xb2, 0x6e, 0xf1, 0xf3, 0xe7, 0x8d, 0x9a, - 0xdb, 0x89, 0x61, 0x82, 0xaa, 0x9d, 0x6f, 0x78, 0xba, 0xff, 0xcd, 0xf0, - 0xb9, 0x45, 0xd5, 0x59, 0x19, 0x11, 0x0f, 0x8d, 0x68, 0x39, 0xf5, 0x2b, - 0xab, 0xa7, 0xf4, 0xd4, 0xb4, 0xa6, 0xa5, 0x96, 0x22, 0x43, 0x56, 0xdc, - 0xde, 0xfa, 0x6c, 0xeb, 0x31, 0x2c, 0xc2, 0x96, 0x44, 0x2e, 0x86, 0x68, - 0xcd, 0xd3, 0x49, 0x22, 0x50, 0x64, 0x8c, 0xe9, 0x93, 0x66, 0x4b, 0x97, - 0x8a, 0x1a, 0xf9, 0x78, 0x3b, 0xad, 0xac, 0xcc, 0x10, 0x95, 0x75, 0x27, - 0x30, 0xf1, 0x15, 0x5a, 0x7e, 0xc9, 0x4c, 0x4f, 0xee, 0xc7, 0x53, 0x12, - 0x16, 0x6e, 0x7f, 0xd7, 0x82, 0x59, 0xb2, 0xea, 0xf1, 0xbf, 0xb4, 0xec, - 0xf1, 0x87, 0xad, 0x7b, 0xab, 0x95, 0xea, 0x57, 0xac, 0x7b, 0x5b, 0xb1, - 0xb4, 0x2a, 0x7e, 0xb9, 0x5f, 0xf9, 0xd6, 0xa5, 0x0f, 0x57, 0x5e, 0x78, - 0xea, 0xff, 0x22, 0xeb, 0xfe, 0x02, 0x35, 0x95, 0x61, 0x40, 0x7d, 0x6a, - 0xfd, 0x55, 0xcd, 0xf6, 0xde, 0x27, 0x6c, 0xc1, 0x0b, 0x0d, 0x4a, 0x5c, - 0x87, 0x09, 0x2b, 0x09, 0xe3, 0x14, 0x19, 0xee, 0x73, 0x7a, 0xdb, 0x26, - 0xac, 0xba, 0x00, 0xa6, 0x8d, 0x27, 0x4f, 0x8c, 0xdb, 0x29, 0x09, 0x38, - 0x92, 0xbd, 0xaa, 0xaf, 0xdd, 0xff, 0x15, 0x3b, 0x57, 0x13, 0x81, 0xab, - 0xb3, 0xe0, 0x44, 0x4d, 0x37, 0x76, 0xa9, 0x87, 0x43, 0x17, 0x1e, 0xff, - 0x52, 0x49, 0x59, 0xd5, 0xb8, 0x9f, 0x66, 0x3e, 0xbe, 0x92, 0x43, 0xa5, - 0x02, 0x8a, 0x41, 0x68, 0x1b, 0xf4, 0xf6, 0x46, 0x83, 0x78, 0xfe, 0x95, - 0x33, 0x6b, 0x04, 0xc3, 0xf1, 0x66, 0x8c, 0xfe, 0xe2, 0xc8, 0x44, 0xe8, - 0x0b, 0xa4, 0xd1, 0x16, 0xdc, 0x06, 0x65, 0x9c, 0xc1, 0x3a, 0x54, 0x54, - 0xfb, 0x00, 0x92, 0xa9, 0x1c, 0xee, 0x96, 0x84, 0x55, 0x21, 0x98, 0xff, - 0x43, 0x18, 0x6a, 0x1b, 0x79, 0x58, 0x38, 0xf5, 0x07, 0x13, 0x87, 0x8a, - 0x0f, 0xff, 0x3e, 0x79, 0x94, 0x13, 0x5a, 0xb8, 0x76, 0x27, 0xce, 0xb9, - 0x61, 0x42, 0x42, 0x7b, 0x46, 0xdd, 0x26, 0x98, 0x3b, 0xf4, 0x1d, 0x8b, - 0xe2, 0xa8, 0x38, 0xf8, 0x7d, 0x1a, 0xf5, 0x6a, 0xac, 0x43, 0x30, 0x31, - 0xc9, 0x59, 0x07, 0x2a, 0x58, 0xb7, 0xdf, 0x35, 0x2a, 0x30, 0xe3, 0x96, - 0x2b, 0xa5, 0x06, 0x77, 0x8e, 0xe4, 0xee, 0x3e, 0xca, 0x1c, 0x14, 0x4e, - 0x10, 0x9e, 0x66, 0xd1, 0xc5, 0xd8, 0x8e, 0xe9, 0xb2, 0x7c, 0x63, 0x92, - 0x2e, 0x12, 0x9e, 0x04, 0x4b, 0x1e, 0x13, 0xd4, 0xef, 0x5c, 0x81, 0xa6, - 0xca, 0x4f, 0x8f, 0xe3, 0x45, 0x3c, 0x4a, 0xa7, 0xa4, 0xf6, 0xb7, 0x04, - 0xcd, 0xfc, 0x86, 0x8c, 0xbd, 0x1c, 0x2f, 0xfa, 0xf3, 0xac, 0x4d, 0xab, - 0xbf, 0x60, 0xb8, 0xc6, 0x00, 0xa3, 0xe3, 0xfd, 0xc9, 0xe9, 0xc1, 0xe1, - 0xf1, 0xde, 0x0f, 0xe6, 0x85, 0x72, 0xe1, 0x80, 0xa8, 0xaf, 0x90, 0xc4, - 0xc5, 0xc3, 0x7b, 0xd2, 0x37, 0xe8, 0xcb, 0xf5, 0x67, 0x1b, 0x6c, 0x30, - 0xae, 0x9f, 0x21, 0x16, 0xa6, 0x42, 0x04, 0x37, 0x35, 0xb1, 0xf8, 0x79, - 0xd4, 0xb8, 0xf1, 0x76, 0xc5, 0x34, 0x58, 0xd2, 0xe1, 0x29, 0x93, 0xe9, - 0x3c, 0x29, 0x15, 0xba, 0x2b, 0x7a, 0x75, 0x7a, 0x76, 0xf1, 0xfa, 0x36, - 0x6e, 0x14, 0x82, 0x44, 0x3a, 0x9e, 0x56, 0x51, 0x35, 0x02, 0x91, 0x37, - 0x83, 0xd8, 0xa2, 0xa1, 0x8b, 0xe0, 0xb1, 0x27, 0xe9, 0xe8, 0x35, 0x22, - 0x77, 0x2e, 0x2e, 0x7e, 0x38, 0x3b, 0x7c, 0xfd, 0x8a, 0x6d, 0xed, 0x9f, - 0xb3, 0x78, 0xae, 0x0a, 0x8e, 0x98, 0xde, 0xa7, 0x52, 0x88, 0xb3, 0xfe, - 0xce, 0xf7, 0x07, 0x47, 0xc3, 0xb3, 0xe3, 0xd3, 0xfd, 0xd7, 0xaf, 0xbe, - 0xb7, 0x4a, 0xd7, 0xc1, 0xbb, 0xee, 0x33, 0x17, 0x99, 0xd0, 0x04, 0x30, - 0x39, 0xfc, 0xee, 0xfd, 0xe1, 0xc9, 0xb7, 0xaf, 0x5f, 0xdd, 0xc6, 0x79, - 0x8f, 0xe7, 0x27, 0x6f, 0xa3, 0x50, 0x7a, 0x13, 0x3c, 0x2e, 0xd8, 0xcb, - 0x0b, 0x86, 0x39, 0x5a, 0xb0, 0xd5, 0xfb, 0x11, 0xaf, 0x28, 0x48, 0xd6, - 0x23, 0x86, 0x54, 0x4f, 0x4f, 0x60, 0xc3, 0xd4, 0x85, 0x73, 0x99, 0xb4, - 0xef, 0xce, 0x8f, 0xc1, 0x4d, 0x5b, 0x11, 0x3e, 0xa4, 0x4a, 0x90, 0xcf, - 0xe9, 0xb5, 0x7a, 0x3f, 0xae, 0x61, 0xe4, 0xcf, 0x7a, 0x40, 0xbe, 0xd8, - 0x2a, 0xaa, 0x3c, 0x62, 0x44, 0x95, 0xf4, 0x00, 0xf8, 0x7f, 0x1c, 0x82, - 0x25, 0xe2, 0xe2, 0x04, 0xff, 0x87, 0xa6, 0x20, 0x25, 0x9e, 0x36, 0x8d, - 0x44, 0x99, 0xd4, 0xd7, 0x56, 0x04, 0x4b, 0x44, 0x5a, 0x9b, 0x91, 0xd9, - 0x2a, 0x3b, 0xa9, 0x31, 0x3f, 0x8c, 0xc7, 0xd2, 0x25, 0xaa, 0xb3, 0x90, - 0x70, 0x88, 0xba, 0xf6, 0xe0, 0xd1, 0x0c, 0x39, 0x11, 0xf8, 0xc6, 0x8d, - 0x2b, 0x97, 0x63, 0x56, 0x8d, 0x52, 0xb0, 0xb8, 0xb1, 0xc0, 0xaa, 0x5c, - 0xcf, 0xb1, 0x50, 0x4f, 0xb4, 0xd6, 0x23, 0x35, 0xf7, 0xf3, 0x8c, 0x2f, - 0x35, 0x8e, 0x7c, 0xe3, 0x80, 0x3f, 0xe7, 0xe9, 0x92, 0x8d, 0x0d, 0x42, - 0x07, 0x5b, 0xeb, 0x46, 0x0f, 0x1c, 0x6b, 0x30, 0x9e, 0x80, 0x5a, 0xec, - 0x9c, 0xed, 0xbe, 0x5e, 0x6c, 0xa8, 0xe3, 0x46, 0x38, 0xc3, 0xd9, 0x3b, - 0x9f, 0x33, 0xd0, 0x5a, 0x91, 0x7c, 0x45, 0x2d, 0x51, 0x27, 0xdd, 0xf9, - 0x85, 0xea, 0xf4, 0x3b, 0x24, 0xd2, 0x99, 0xde, 0xcb, 0x01, 0xa5, 0x1b, - 0x16, 0xf6, 0x8e, 0xe2, 0x75, 0x21, 0x08, 0x42, 0xdc, 0x9a, 0x5f, 0xdd, - 0x9a, 0xbd, 0x61, 0x38, 0xd4, 0x16, 0xae, 0xc9, 0x6c, 0xac, 0x7f, 0xe1, - 0x33, 0x8e, 0x39, 0x5f, 0xb8, 0x25, 0xd6, 0x79, 0x10, 0x1d, 0xf2, 0xb7, - 0xfd, 0x8b, 0x06, 0x10, 0x31, 0xbf, 0xb0, 0x88, 0xd3, 0x3c, 0xf0, 0x49, - 0xc2, 0xeb, 0xcf, 0x63, 0x95, 0xe5, 0xd5, 0x88, 0x11, 0x94, 0x2e, 0x1a, - 0x68, 0x1d, 0x4f, 0x36, 0x40, 0xad, 0x00, 0xb1, 0x28, 0xa2, 0xce, 0xd5, - 0x34, 0x1b, 0x8d, 0x68, 0xe2, 0x1d, 0xb3, 0x9e, 0xd2, 0x08, 0xad, 0x4a, - 0x67, 0xcf, 0xf2, 0x3c, 0x3d, 0x05, 0x03, 0xaf, 0x01, 0x7d, 0xad, 0x0a, - 0x93, 0x54, 0x9c, 0x5a, 0xc9, 0x54, 0xb2, 0x35, 0x05, 0x9e, 0xc2, 0x43, - 0x1d, 0xe5, 0x99, 0x3f, 0xb5, 0xfe, 0xeb, 0x36, 0x88, 0xf2, 0x61, 0x1a, - 0x94, 0xf0, 0xb5, 0x13, 0x89, 0x73, 0xa8, 0x09, 0xfb, 0x2d, 0x25, 0xf5, - 0x30, 0x61, 0x9a, 0x40, 0xe7, 0x1f, 0x3c, 0x88, 0xed, 0x1e, 0xff, 0xbb, - 0xf3, 0xcf, 0x8e, 0xa1, 0x25, 0xdc, 0xdd, 0xdd, 0x0d, 0x64, 0xf0, 0x25, - 0xa7, 0xc2, 0x17, 0x06, 0xd1, 0xd0, 0x82, 0xc8, 0xc0, 0x00, 0xb1, 0x2b, - 0x5b, 0x4f, 0x67, 0x57, 0x3f, 0x6e, 0xf7, 0xb7, 0xb7, 0xb6, 0xb6, 0x7e, - 0x1e, 0x2c, 0x78, 0xe9, 0x2e, 0xd1, 0x3c, 0xe7, 0xbb, 0x2c, 0xd2, 0x31, - 0xbb, 0x0e, 0x69, 0x33, 0xd3, 0x18, 0x65, 0xa3, 0xa4, 0xbf, 0xcd, 0xf0, - 0xc6, 0xca, 0x39, 0xec, 0xb9, 0x95, 0xb9, 0x19, 0x3a, 0x4e, 0x1c, 0x5d, - 0x2e, 0x05, 0x18, 0x89, 0x9e, 0x9c, 0x2c, 0xc5, 0xc5, 0xc3, 0x02, 0x04, - 0x57, 0x53, 0x10, 0xe3, 0xbb, 0x48, 0x30, 0x74, 0x03, 0x19, 0xd4, 0x6c, - 0x5c, 0xc6, 0xbd, 0xd6, 0xd2, 0x0b, 0x88, 0x75, 0x4a, 0x0a, 0x2e, 0x10, - 0x82, 0xe2, 0xdf, 0x01, 0x54, 0x60, 0xcf, 0xc5, 0x54, 0x82, 0x8a, 0x15, - 0x26, 0x41, 0x82, 0x0c, 0x9b, 0x75, 0x6e, 0xf9, 0x98, 0x90, 0x88, 0x10, - 0x16, 0x87, 0x74, 0x68, 0x64, 0x06, 0x5e, 0x96, 0x48, 0xc6, 0x88, 0x89, - 0x1b, 0x1f, 0x24, 0x6d, 0x86, 0x92, 0x26, 0x02, 0x21, 0xfb, 0xb7, 0x82, - 0xaa, 0x32, 0xe2, 0x4a, 0x4a, 0x92, 0x03, 0x8f, 0xa5, 0x68, 0x64, 0xd2, - 0x17, 0xe3, 0x34, 0xfd, 0x5d, 0x85, 0x0b, 0xf4, 0x8a, 0x6e, 0xfe, 0x2f, - 0xde, 0x30, 0x06, 0xcf, 0x4e, 0x50, 0xcb, 0x24, 0x40, 0x15, 0xc5, 0x54, - 0x05, 0x55, 0x74, 0x9a, 0xc4, 0x1c, 0x8b, 0x65, 0xa2, 0xf2, 0x75, 0x72, - 0x2f, 0xb7, 0x68, 0x33, 0xc9, 0x4f, 0x5d, 0xd9, 0xd7, 0x9c, 0x31, 0x27, - 0xe5, 0x01, 0x87, 0xfb, 0x47, 0x47, 0x15, 0x1c, 0x0d, 0x5e, 0x3c, 0xa9, - 0xea, 0x03, 0xab, 0x56, 0x31, 0xa3, 0x55, 0x64, 0x8b, 0x1a, 0x86, 0xdb, - 0xb8, 0xbc, 0xd9, 0xb5, 0x8f, 0x14, 0x6d, 0x4e, 0x36, 0x88, 0x8b, 0xd4, - 0x62, 0x29, 0x62, 0x01, 0x76, 0x58, 0xce, 0xf9, 0x9a, 0x45, 0x9d, 0xbc, - 0x25, 0x1d, 0xc9, 0xe2, 0xb7, 0x26, 0xc8, 0xc1, 0xef, 0x4d, 0x7a, 0x2d, - 0x5e, 0xe4, 0xb3, 0x5c, 0xdd, 0xf4, 0xe2, 0x53, 0x8c, 0xc4, 0x05, 0xcc, - 0x18, 0x4a, 0x7c, 0x6b, 0x08, 0x05, 0xd2, 0x10, 0x6d, 0xb4, 0x5a, 0x2b, - 0x4d, 0x00, 0x83, 0x5b, 0x92, 0xaf, 0x55, 0x9c, 0x63, 0x0b, 0x65, 0x45, - 0x7a, 0x7d, 0x5e, 0x41, 0x92, 0x30, 0x04, 0xca, 0xe8, 0x15, 0xff, 0xbb, - 0x6b, 0x08, 0x90, 0x2b, 0x91, 0xdd, 0x15, 0x17, 0xb9, 0x8a, 0x16, 0x69, - 0x09, 0x47, 0x40, 0x30, 0x91, 0xc0, 0x97, 0x1a, 0xfe, 0x57, 0xad, 0xb9, - 0x53, 0xb7, 0x23, 0x1e, 0x6d, 0x1a, 0x8d, 0xd6, 0x41, 0x70, 0xdb, 0x78, - 0x00, 0xdf, 0x56, 0xc8, 0xd9, 0xb8, 0x4a, 0x6f, 0x13, 0x0f, 0x64, 0x89, - 0x83, 0xb0, 0x6e, 0xaa, 0x1d, 0xaa, 0xa4, 0x8b, 0x72, 0x23, 0xd5, 0x98, - 0x37, 0x5a, 0x17, 0x09, 0x9b, 0x44, 0x72, 0x17, 0xbb, 0xe5, 0x05, 0xf4, - 0xc3, 0xa1, 0x4d, 0xaf, 0x84, 0xb6, 0x82, 0x98, 0xc7, 0x50, 0x71, 0x67, - 0x47, 0x7d, 0x0d, 0x24, 0x51, 0x04, 0x30, 0xc9, 0x13, 0xe0, 0x79, 0x4c, - 0xb2, 0x7a, 0x92, 0x73, 0x1b, 0xba, 0x96, 0x47, 0x4a, 0x12, 0xb8, 0xb5, - 0x0a, 0x0e, 0xc2, 0x72, 0x51, 0x9b, 0x5b, 0x75, 0xd5, 0xdb, 0x02, 0xe0, - 0x34, 0x37, 0x35, 0x94, 0xc6, 0x47, 0x0f, 0x56, 0x88, 0x52, 0x85, 0x15, - 0x55, 0xf8, 0xe4, 0xf6, 0xc6, 0xca, 0xb4, 0x65, 0x78, 0x06, 0xc4, 0xbe, - 0x4b, 0xdc, 0x66, 0x19, 0xed, 0x76, 0x7e, 0x47, 0x76, 0xfc, 0xce, 0xec, - 0x0f, 0xbf, 0x86, 0x14, 0xf1, 0x68, 0x05, 0xae, 0x39, 0xc0, 0xd1, 0x69, - 0x43, 0x18, 0xfb, 0xff, 0x77, 0x34, 0xd8, 0xd1, 0x77, 0xbf, 0xef, 0x8e, - 0xa2, 0x2e, 0xf3, 0x2b, 0x12, 0xea, 0x56, 0x32, 0x92, 0x58, 0xab, 0x2f, - 0x3b, 0x28, 0xb1, 0x26, 0x14, 0x09, 0xa9, 0x1b, 0x34, 0xcb, 0x6b, 0x5a, - 0xa4, 0x07, 0x67, 0xb5, 0x58, 0x6b, 0x4f, 0x64, 0x35, 0x49, 0x9c, 0x9a, - 0x64, 0x75, 0x02, 0x91, 0x9b, 0x41, 0x5e, 0xdf, 0xa3, 0xd7, 0x83, 0x02, - 0x37, 0x8b, 0x45, 0xb1, 0x92, 0x78, 0x25, 0x89, 0x41, 0x92, 0x7e, 0x66, - 0x99, 0x9f, 0x22, 0x82, 0xb7, 0x2d, 0x2e, 0x6a, 0x5a, 0x17, 0x66, 0x9d, - 0xe9, 0x39, 0xef, 0x6e, 0x08, 0xd0, 0xa6, 0x69, 0xa4, 0x4f, 0x80, 0x5b, - 0xa9, 0xe6, 0x1f, 0xac, 0x67, 0x70, 0x4d, 0xb5, 0xa2, 0xf2, 0x43, 0xed, - 0xe1, 0x55, 0x64, 0x62, 0x10, 0xe0, 0x68, 0x7d, 0x7c, 0xb3, 0x8c, 0xa7, - 0x37, 0x31, 0x8b, 0x1b, 0xec, 0xaa, 0x92, 0x25, 0x65, 0x44, 0x70, 0x04, - 0x44, 0xb4, 0xe5, 0x48, 0x8e, 0x96, 0x57, 0x57, 0x82, 0xed, 0x79, 0x8c, - 0x2c, 0x2d, 0xa9, 0x99, 0xe1, 0xe0, 0x26, 0xba, 0x9f, 0x77, 0x35, 0x04, - 0xa6, 0x23, 0x35, 0x8e, 0x20, 0xef, 0x74, 0x44, 0xde, 0x68, 0x84, 0xbf, - 0x33, 0xfd, 0xf7, 0xa2, 0xee, 0xab, 0xf6, 0x77, 0xb8, 0xe2, 0x5d, 0x7a, - 0xab, 0xa0, 0x8b, 0x4e, 0xe7, 0xa5, 0x35, 0xbc, 0x4e, 0xe9, 0xc2, 0x9a, - 0x37, 0xbd, 0xde, 0x0a, 0xcb, 0xab, 0x45, 0x38, 0x23, 0x53, 0xac, 0x8a, - 0xfa, 0x18, 0xff, 0x64, 0xfd, 0xc5, 0x93, 0x49, 0xaa, 0x40, 0xe7, 0x2c, - 0x6c, 0xd5, 0x35, 0x25, 0x8b, 0x0a, 0xd7, 0xfe, 0x1f, 0xad, 0x65, 0x9e, - 0x1a, 0xb7, 0x10, 0x59, 0x47, 0x0a, 0x59, 0x0a, 0x1a, 0x82, 0x15, 0x7b, - 0xf2, 0xd5, 0xb9, 0x65, 0xbb, 0xeb, 0x52, 0x60, 0xa5, 0x7a, 0x94, 0x13, - 0x6f, 0x94, 0x0c, 0xd5, 0x24, 0xc7, 0x18, 0xf3, 0x0a, 0x58, 0xb7, 0x92, - 0x61, 0x99, 0x92, 0xef, 0x69, 0xb8, 0x28, 0xa5, 0x7a, 0x90, 0x54, 0x99, - 0xc3, 0xc5, 0xc8, 0x0f, 0x2a, 0xde, 0xb3, 0x1a, 0xb6, 0x7a, 0xcd, 0xf4, - 0x5a, 0xc4, 0x8e, 0xbb, 0xcc, 0x5f, 0x27, 0x63, 0x54, 0x05, 0x64, 0xb3, - 0x5a, 0xfe, 0xab, 0x32, 0x56, 0xa5, 0x31, 0xdf, 0x7a, 0x40, 0xde, 0x01, - 0xd8, 0x62, 0x13, 0xb0, 0x17, 0x52, 0x4c, 0x05, 0x07, 0x5d, 0x0c, 0x74, - 0xa2, 0x04, 0x6b, 0x39, 0x02, 0x8b, 0xb1, 0x33, 0xb4, 0x25, 0x2d, 0xee, - 0xd8, 0x56, 0xe9, 0x40, 0x22, 0x0d, 0x20, 0x3d, 0xe9, 0x5e, 0xe8, 0xf9, - 0x61, 0x41, 0xdf, 0xde, 0x67, 0xbb, 0xb8, 0x10, 0xaf, 0xcf, 0xed, 0x6b, - 0x11, 0x7b, 0xa5, 0x4c, 0x52, 0x3e, 0x81, 0xa4, 0xfb, 0xa0, 0x80, 0x93, - 0x29, 0x20, 0xfe, 0xe6, 0x37, 0xe6, 0xcc, 0xad, 0x16, 0x95, 0x6e, 0xaf, - 0xa0, 0xa9, 0x61, 0x59, 0x32, 0xac, 0x75, 0x90, 0xb3, 0x42, 0xe7, 0x74, - 0xce, 0x0c, 0x24, 0x64, 0xb7, 0xb3, 0xa1, 0x22, 0x76, 0x2c, 0x52, 0x8b, - 0x7c, 0xdc, 0x26, 0x3b, 0xdb, 0x98, 0x5d, 0xc9, 0xb6, 0xcc, 0x54, 0xee, - 0xd6, 0xee, 0x89, 0x94, 0xf2, 0x49, 0x5b, 0xdf, 0x6f, 0x24, 0x60, 0x36, - 0xe8, 0xda, 0x81, 0xa2, 0x69, 0x2c, 0x6d, 0xbd, 0xfb, 0x96, 0x9e, 0xb3, - 0x4b, 0x14, 0xf4, 0xdc, 0x73, 0x91, 0x8a, 0xf6, 0xaa, 0xad, 0xff, 0x6e, - 0x13, 0x77, 0xe0, 0xf6, 0x93, 0xc0, 0xce, 0xc2, 0x9c, 0x14, 0x1f, 0xe9, - 0x72, 0xa6, 0x4d, 0x79, 0xff, 0x26, 0x1f, 0x3d, 0xa7, 0x1f, 0xdf, 0xf0, - 0x0f, 0xab, 0xff, 0xc1, 0x28, 0x1c, 0x66, 0x67, 0x68, 0xa6, 0x77, 0x32, - 0x04, 0xa8, 0x1c, 0xe0, 0x21, 0xa8, 0xe8, 0x0d, 0x7e, 0xc9, 0x93, 0x47, - 0xde, 0xa1, 0xb9, 0xfd, 0x42, 0x3f, 0xf6, 0x96, 0x65, 0xc6, 0x94, 0x38, - 0x46, 0xac, 0x01, 0xc9, 0x8e, 0xb9, 0xc0, 0xe4, 0x6a, 0xae, 0x2e, 0xfe, - 0x54, 0x8b, 0x7f, 0x21, 0xf5, 0x46, 0xc1, 0x26, 0xd2, 0x15, 0x20, 0x0a, - 0xab, 0xfb, 0x13, 0x28, 0xdd, 0x56, 0xb8, 0x9c, 0x47, 0xe7, 0xf6, 0x58, - 0x5d, 0x85, 0x06, 0xde, 0x4f, 0xad, 0x61, 0x5e, 0x0a, 0x5a, 0xcc, 0x17, - 0x1f, 0xb6, 0x8a, 0x07, 0x7c, 0x5d, 0x28, 0x27, 0xb0, 0x90, 0x26, 0xd4, - 0x80, 0x57, 0x2a, 0x08, 0xb0, 0xfb, 0xf1, 0xa8, 0x83, 0x0d, 0x51, 0xa4, - 0xec, 0xf6, 0xc1, 0xc9, 0x05, 0x86, 0x68, 0x07, 0xb0, 0x8a, 0x1b, 0xa7, - 0x66, 0xcf, 0xe8, 0xce, 0xcc, 0x1f, 0xfc, 0x2d, 0x15, 0xd1, 0x9d, 0x27, - 0xe5, 0x12, 0x50, 0xab, 0x7a, 0x45, 0x66, 0x1a, 0xc9, 0x2f, 0x53, 0xb6, - 0x4f, 0x16, 0xe0, 0xdd, 0x8d, 0xfa, 0xd1, 0x7b, 0xc5, 0xc3, 0x7c, 0x7c, - 0x7d, 0x70, 0x32, 0x5c, 0x95, 0xa4, 0x54, 0x9d, 0x1c, 0x9e, 0x26, 0x69, - 0x8c, 0x79, 0x1c, 0xc4, 0x38, 0x75, 0xfd, 0xb5, 0xa4, 0x10, 0x9f, 0x9d, - 0x1c, 0x7e, 0x75, 0x6a, 0x3f, 0x56, 0x2e, 0xf9, 0xa3, 0x2b, 0x7c, 0xcc, - 0x09, 0x48, 0x8f, 0x65, 0x73, 0xd9, 0xe0, 0x1c, 0x20, 0xad, 0xb7, 0xa1, - 0x73, 0x9d, 0x4c, 0x7e, 0x5d, 0x48, 0xb1, 0xa7, 0x14, 0x29, 0x35, 0xa1, - 0x56, 0xe5, 0xa9, 0xd1, 0x71, 0xdb, 0xf9, 0xea, 0xcb, 0xe6, 0xd5, 0x73, - 0x70, 0xb2, 0xa2, 0x3b, 0xfe, 0xa6, 0x6f, 0x21, 0xdc, 0x7a, 0xd7, 0x0a, - 0x5c, 0x07, 0x56, 0xa7, 0x65, 0x55, 0x48, 0xcc, 0x76, 0x3f, 0x00, 0x21, - 0xe3, 0x26, 0x6f, 0xea, 0x1d, 0x1f, 0x78, 0xa1, 0x7a, 0xc9, 0x43, 0xe5, - 0x9c, 0xa0, 0x69, 0x4c, 0x77, 0xde, 0xea, 0x0c, 0x51, 0xee, 0x2b, 0x2c, - 0xeb, 0x13, 0xac, 0xb1, 0xa2, 0x17, 0x19, 0x76, 0xaf, 0x94, 0x35, 0x74, - 0x8a, 0x6c, 0x7b, 0x73, 0x4d, 0x35, 0xb0, 0x7f, 0x47, 0x97, 0x14, 0xfc, - 0x7c, 0x2c, 0xcc, 0x45, 0xaf, 0xe4, 0x3a, 0xfa, 0xbc, 0x71, 0x20, 0x24, - 0xb7, 0xdd, 0xcc, 0xb7, 0xe6, 0x54, 0xc1, 0x1d, 0xcd, 0x96, 0x18, 0x07, - 0x8b, 0x80, 0xba, 0x3f, 0x49, 0x99, 0x88, 0x6d, 0x57, 0x41, 0x12, 0x1a, - 0x91, 0x35, 0x8c, 0xc3, 0x67, 0x96, 0x75, 0x49, 0xe9, 0x92, 0x7e, 0xb5, - 0x3e, 0xa9, 0x80, 0xdb, 0xaa, 0x84, 0x02, 0xe8, 0x57, 0x4d, 0x1c, 0x8b, - 0xc4, 0x7d, 0x58, 0xbf, 0x1b, 0xb8, 0xfa, 0xdb, 0x2c, 0xbd, 0x77, 0xf5, - 0x36, 0x2b, 0xe2, 0xae, 0x03, 0xa8, 0x95, 0x8e, 0xb4, 0xf1, 0x27, 0xd3, - 0xa4, 0x62, 0x12, 0xeb, 0xe4, 0xd9, 0x0e, 0xac, 0x58, 0x1c, 0x64, 0x2e, - 0x86, 0x1a, 0x49, 0xca, 0x42, 0xee, 0xd6, 0x78, 0xc9, 0x06, 0x26, 0x58, - 0xe6, 0x21, 0x44, 0xb5, 0x37, 0xc7, 0x01, 0x97, 0x34, 0x91, 0xce, 0x17, - 0x66, 0xd9, 0xea, 0xa8, 0x8e, 0x84, 0xdc, 0x58, 0xf6, 0x51, 0x7a, 0xf0, - 0xc8, 0x78, 0xa2, 0xf0, 0xc9, 0x58, 0x0e, 0xee, 0xab, 0x61, 0x69, 0x66, - 0x0b, 0x3f, 0x30, 0x3e, 0x01, 0x16, 0xdb, 0xf9, 0xa2, 0xdf, 0x69, 0xbd, - 0xfd, 0x3c, 0x30, 0x2f, 0xb3, 0x6e, 0xa6, 0x0e, 0x35, 0x4a, 0x9b, 0x15, - 0x4e, 0xba, 0xf0, 0xd8, 0xc3, 0xc5, 0x72, 0x44, 0x02, 0x57, 0xb9, 0x6c, - 0x96, 0x28, 0x74, 0xa9, 0xcc, 0x28, 0x4a, 0x07, 0x71, 0x9f, 0x97, 0xdc, - 0x97, 0xb0, 0x86, 0xe8, 0xc6, 0x96, 0xbb, 0x12, 0x81, 0x18, 0x62, 0x0d, - 0x1c, 0x19, 0x96, 0x41, 0x5d, 0x5c, 0xd9, 0x9b, 0x86, 0xb0, 0xc1, 0xb8, - 0x9c, 0xbc, 0x4b, 0x8c, 0x8d, 0xe5, 0x1f, 0xff, 0xc3, 0xbe, 0x46, 0xd6, - 0xed, 0x3f, 0xcd, 0x4f, 0xd0, 0x6e, 0x56, 0x8b, 0x4d, 0x80, 0xfe, 0xd8, - 0x1b, 0x51, 0x64, 0x6d, 0x90, 0x29, 0x21, 0x2d, 0x7e, 0xec, 0xeb, 0x6c, - 0xea, 0xfc, 0x63, 0xae, 0x8b, 0xca, 0xc2, 0x41, 0x73, 0xb2, 0x22, 0x39, - 0xfe, 0xc4, 0xb5, 0x11, 0xe8, 0x0d, 0x92, 0x00, 0xd9, 0x97, 0x1a, 0x16, - 0xd4, 0xfb, 0x29, 0xd7, 0x9a, 0xad, 0x24, 0xfb, 0xd0, 0xe0, 0x59, 0xbe, - 0x94, 0xf8, 0xde, 0x9f, 0x1a, 0x3e, 0x6b, 0x29, 0xaf, 0xc7, 0x1b, 0xf2, - 0x71, 0x9f, 0x0e, 0x86, 0xe6, 0x22, 0x29, 0x0c, 0x2b, 0x0d, 0xda, 0x3e, - 0x33, 0x38, 0xfe, 0xf9, 0xb3, 0x9d, 0x7e, 0xa0, 0x18, 0xf7, 0x1a, 0x68, - 0xe8, 0x09, 0xca, 0x74, 0x4f, 0x43, 0x5c, 0x6d, 0x26, 0xf3, 0x8f, 0x23, - 0x85, 0x64, 0x1d, 0x25, 0x16, 0xd9, 0x3e, 0xb1, 0x10, 0x65, 0x8d, 0x29, - 0x5f, 0x19, 0xec, 0xd8, 0x2c, 0x6b, 0xe5, 0x84, 0x9a, 0xea, 0x3e, 0x59, - 0x5a, 0x18, 0x7c, 0xee, 0x0d, 0xf9, 0x06, 0x7e, 0x69, 0x94, 0xf9, 0x60, - 0x49, 0x5d, 0x24, 0x40, 0xd1, 0x86, 0x71, 0x90, 0x11, 0xe9, 0xa0, 0xf8, - 0xd4, 0x50, 0xb5, 0x7d, 0xe9, 0x33, 0x51, 0x8a, 0x57, 0xe6, 0xb4, 0xc9, - 0xf5, 0xe9, 0x31, 0x3c, 0x05, 0xb2, 0xbc, 0x0b, 0xb7, 0xe2, 0x74, 0x12, - 0x60, 0xf1, 0x69, 0x49, 0xd4, 0xc7, 0xd2, 0xcb, 0x43, 0xbb, 0x86, 0x95, - 0xe3, 0x6d, 0x72, 0x73, 0xf6, 0xc0, 0xbc, 0x47, 0x56, 0x83, 0x3b, 0x4f, - 0xc4, 0x51, 0x92, 0x9c, 0x81, 0x41, 0x6a, 0x69, 0x0f, 0x92, 0x69, 0xc5, - 0x76, 0x6b, 0x86, 0xd1, 0xd4, 0x8d, 0x7c, 0xbc, 0x6f, 0xd8, 0x19, 0x72, - 0x4d, 0x0d, 0x95, 0x3a, 0x84, 0xeb, 0xc3, 0x0d, 0x41, 0x0a, 0x21, 0x81, - 0x8d, 0x75, 0xfd, 0xa0, 0x64, 0x7c, 0x74, 0x34, 0x7f, 0xbc, 0x39, 0x84, - 0x52, 0xed, 0xc8, 0x11, 0x8d, 0xa7, 0x69, 0xec, 0x53, 0xd8, 0xde, 0xfb, - 0xf2, 0xa7, 0xb0, 0x95, 0xb2, 0xc0, 0x4c, 0xf2, 0xee, 0x13, 0x2b, 0x63, - 0xfe, 0x2e, 0x56, 0x4e, 0x56, 0xad, 0x8c, 0x62, 0x95, 0xd5, 0x56, 0xa6, - 0xba, 0x20, 0xba, 0x22, 0x5e, 0x7f, 0x6c, 0x71, 0x19, 0x47, 0x2b, 0x32, - 0x4a, 0xb8, 0xae, 0x2c, 0x4c, 0x45, 0xb1, 0xc2, 0xf2, 0x6d, 0x98, 0x8b, - 0x4e, 0xb7, 0x5b, 0x41, 0xfa, 0x9e, 0x6a, 0x0e, 0x21, 0xc1, 0x8d, 0x68, - 0xdd, 0xe7, 0x8d, 0xb8, 0x33, 0x36, 0x8a, 0xbc, 0x97, 0x5c, 0x07, 0xa7, - 0x3e, 0xb8, 0xcc, 0x87, 0x5e, 0x50, 0xdf, 0xb1, 0xe7, 0x11, 0xff, 0xa0, - 0x5a, 0xc9, 0x45, 0xf6, 0x01, 0xc4, 0x86, 0xd9, 0x27, 0x0a, 0xf6, 0x00, - 0x53, 0xb8, 0x0b, 0xf6, 0x96, 0xdb, 0xd4, 0xae, 0xaf, 0x59, 0x3a, 0x7d, - 0xa2, 0xb9, 0x69, 0xaa, 0x8a, 0x15, 0x64, 0xb4, 0x65, 0xeb, 0x11, 0xc6, - 0x84, 0x98, 0x7b, 0xb2, 0xea, 0xbd, 0x0a, 0x66, 0xa4, 0xa2, 0x2d, 0x35, - 0x26, 0x8a, 0x5b, 0xab, 0xe4, 0xea, 0x70, 0x61, 0xe5, 0x24, 0x68, 0x52, - 0x8f, 0x37, 0x27, 0x09, 0x33, 0x56, 0xa0, 0x56, 0x25, 0x49, 0xd8, 0x31, - 0xe2, 0xc2, 0x4b, 0x08, 0xed, 0x43, 0xae, 0x92, 0x96, 0x05, 0x70, 0xa7, - 0xf3, 0xa8, 0x6d, 0x5c, 0x06, 0x22, 0xfe, 0xeb, 0x06, 0x15, 0x14, 0xc0, - 0x09, 0x40, 0x3c, 0x2c, 0xf2, 0x42, 0x82, 0xdc, 0xd6, 0xb3, 0xfc, 0xf1, - 0xe6, 0x94, 0x28, 0x3f, 0x60, 0x46, 0xf1, 0x62, 0xa1, 0xbd, 0x3d, 0xbd, - 0x09, 0xbf, 0xcb, 0x7c, 0x15, 0x39, 0x7b, 0x93, 0x58, 0xaf, 0x83, 0x19, - 0xdc, 0x64, 0x03, 0x64, 0x71, 0x2d, 0xc9, 0x75, 0x59, 0xf4, 0x34, 0xcf, - 0x0a, 0x90, 0x53, 0x6b, 0x93, 0x7e, 0x04, 0xd2, 0x3b, 0x5c, 0x06, 0x86, - 0x0f, 0x52, 0x9e, 0xf6, 0x5f, 0xb4, 0x0e, 0xbe, 0xca, 0xac, 0xc2, 0x8a, - 0x09, 0x74, 0x18, 0xcc, 0x2e, 0x58, 0x84, 0x51, 0x42, 0xda, 0xd7, 0xe0, - 0xa9, 0xd1, 0xa5, 0x85, 0xb7, 0xb0, 0x88, 0xc9, 0x22, 0xe9, 0xd7, 0xf1, - 0xb4, 0x24, 0x6f, 0x13, 0x85, 0xea, 0x9e, 0xe2, 0x0c, 0x5a, 0x8f, 0x07, - 0x5c, 0x25, 0x90, 0x85, 0xc6, 0xe6, 0x3a, 0x0d, 0x04, 0x4d, 0xa2, 0xb9, - 0xa7, 0x9a, 0x63, 0xdb, 0x89, 0xd8, 0x8a, 0x6f, 0x59, 0x7b, 0x5b, 0x41, - 0x92, 0xae, 0xf4, 0xf3, 0x8a, 0x93, 0x0f, 0x88, 0x55, 0x5e, 0x67, 0x4d, - 0xa3, 0x0b, 0x30, 0xc6, 0x1f, 0xef, 0x9f, 0x38, 0xdc, 0xc2, 0x2d, 0x8f, - 0x9c, 0x7e, 0xe1, 0x3f, 0x3d, 0x47, 0x79, 0x3d, 0x84, 0x3b, 0x7e, 0x18, - 0x29, 0x40, 0x4a, 0x0e, 0xb2, 0x67, 0x5c, 0x72, 0x0d, 0x57, 0xec, 0x64, - 0x56, 0x8d, 0xaf, 0x14, 0x6d, 0x9f, 0xc9, 0xf2, 0xa9, 0xd1, 0xc5, 0xa2, - 0x90, 0x55, 0x17, 0x41, 0x4c, 0x40, 0x1a, 0xd7, 0x02, 0xa2, 0x8e, 0xc4, - 0xb2, 0xf5, 0x21, 0x5c, 0x5d, 0x53, 0xe3, 0x90, 0x11, 0xe7, 0x82, 0x4a, - 0x82, 0xf5, 0x0a, 0x53, 0x45, 0x9e, 0xbc, 0xc6, 0xdb, 0xf2, 0x48, 0x30, - 0x56, 0x8c, 0xfc, 0xc3, 0x8f, 0xcf, 0x6f, 0xce, 0xcb, 0xc3, 0x6c, 0x26, - 0xc0, 0x20, 0x54, 0x4f, 0x8f, 0x54, 0x9b, 0x6a, 0xc5, 0xc1, 0xab, 0x23, - 0x28, 0x25, 0x24, 0xb3, 0xba, 0xa2, 0xb7, 0xce, 0x50, 0x59, 0x63, 0x10, - 0xba, 0xf3, 0x2d, 0xc9, 0x8a, 0x2d, 0xb2, 0x8a, 0xee, 0x40, 0x05, 0x50, - 0x75, 0x9e, 0x24, 0x13, 0x0d, 0xea, 0x21, 0xb9, 0x84, 0x4f, 0x4f, 0x99, - 0x7c, 0x10, 0x93, 0x2b, 0x68, 0x0b, 0x9b, 0x10, 0x2a, 0xe9, 0x2f, 0xc9, - 0x7b, 0x4b, 0x71, 0x0f, 0x85, 0x03, 0x9f, 0x25, 0x28, 0xd8, 0x0a, 0x22, - 0xfa, 0x24, 0x28, 0x0b, 0x26, 0x4f, 0xb7, 0x9c, 0x40, 0xb4, 0xa6, 0x01, - 0x50, 0xd1, 0x87, 0xb5, 0x26, 0x4f, 0xaf, 0x6a, 0x4b, 0xbd, 0x0f, 0x8f, - 0xb6, 0x65, 0xe1, 0x0a, 0x6e, 0x58, 0x10, 0x7d, 0x9f, 0xd8, 0xac, 0x36, - 0xc9, 0x18, 0x3d, 0x3a, 0x60, 0x64, 0x65, 0xd6, 0x22, 0x37, 0xad, 0x1e, - 0x7f, 0xa0, 0x7e, 0x3e, 0xde, 0x23, 0x4c, 0x8a, 0x26, 0xb5, 0x35, 0xba, - 0x5e, 0xd0, 0xae, 0xfa, 0x7d, 0xe0, 0xae, 0x63, 0xf6, 0xe1, 0x5d, 0xf9, - 0x79, 0xc9, 0x33, 0x81, 0x66, 0x4a, 0x5a, 0x43, 0xb1, 0xcc, 0xa5, 0x70, - 0xc6, 0xd3, 0xa4, 0xe4, 0xce, 0xbf, 0xab, 0xdf, 0xde, 0x3e, 0x06, 0xb7, - 0x7b, 0x98, 0xbe, 0x0d, 0xc2, 0xa2, 0xda, 0x7e, 0xa3, 0x31, 0x48, 0x6b, - 0x4d, 0xdc, 0x33, 0x01, 0x0f, 0x78, 0xcf, 0xd1, 0xb0, 0x3a, 0x82, 0x7d, - 0xf9, 0xa8, 0x7f, 0xc1, 0x1f, 0xe9, 0x4e, 0x07, 0xe5, 0xe5, 0x5d, 0x24, - 0x79, 0xaf, 0xa5, 0x5a, 0x48, 0xd4, 0x16, 0x60, 0x0a, 0x8d, 0x61, 0xde, - 0xc4, 0x12, 0x22, 0x49, 0xdf, 0x04, 0xb4, 0x82, 0x75, 0x5b, 0x57, 0x4e, - 0x85, 0x75, 0xe9, 0xc8, 0x7d, 0x83, 0x34, 0x40, 0x03, 0xda, 0x40, 0xe4, - 0xf5, 0x87, 0xf2, 0x86, 0x0f, 0xc8, 0xab, 0xe3, 0x31, 0x18, 0x7f, 0x2d, - 0xdc, 0x18, 0x68, 0x08, 0xfe, 0x43, 0xd5, 0x37, 0x79, 0x26, 0xbe, 0x4a, - 0xd3, 0x8a, 0x82, 0xdd, 0x1f, 0xa8, 0x31, 0x34, 0xc7, 0x61, 0xdd, 0xbd, - 0x87, 0x3a, 0x22, 0xa9, 0x6e, 0x71, 0x85, 0x80, 0xb1, 0x8c, 0x0e, 0x67, - 0x9c, 0xf9, 0x64, 0xff, 0x18, 0x30, 0x09, 0x18, 0xd2, 0x53, 0xe3, 0xd0, - 0xc9, 0x28, 0xf8, 0x7a, 0xb5, 0x56, 0x14, 0xf2, 0xe6, 0xa0, 0xee, 0xa1, - 0x4e, 0x29, 0x6b, 0xd9, 0x4f, 0x5c, 0xa4, 0xae, 0xc1, 0xe8, 0x0e, 0xb0, - 0x23, 0xc8, 0xbb, 0x14, 0x14, 0xf0, 0x46, 0x56, 0x4e, 0x33, 0x8f, 0xed, - 0x92, 0x74, 0x3e, 0x80, 0x55, 0xbd, 0x07, 0xa6, 0xd3, 0x45, 0x80, 0xb3, - 0x8a, 0x0f, 0xcc, 0x30, 0x8e, 0x64, 0x03, 0x8e, 0x08, 0x48, 0x15, 0xfa, - 0x7e, 0x9a, 0xc1, 0xa0, 0xfd, 0xf8, 0xe0, 0x24, 0xdb, 0xb2, 0x06, 0x22, - 0x6b, 0x48, 0x91, 0xb5, 0x1c, 0xbb, 0xa6, 0xe6, 0x56, 0x14, 0xd3, 0xf7, - 0xf4, 0x64, 0x7a, 0xf9, 0xf0, 0x5e, 0xd8, 0xf7, 0xd3, 0xd7, 0xa3, 0x3c, - 0x67, 0x27, 0x85, 0x7d, 0x26, 0x74, 0x62, 0x49, 0x76, 0x4b, 0x48, 0xd2, - 0xba, 0x14, 0xdb, 0x6a, 0x84, 0x26, 0xd3, 0x0f, 0x32, 0x23, 0x78, 0x8d, - 0xd7, 0x9d, 0xb9, 0x01, 0x23, 0x34, 0xc0, 0x57, 0xcb, 0x3d, 0x58, 0x5b, - 0x4f, 0xcb, 0x4f, 0xdc, 0x88, 0x47, 0x96, 0x7d, 0x4c, 0xb4, 0xfe, 0xed, - 0xa2, 0x1a, 0x5c, 0x9e, 0x4c, 0xf4, 0x0a, 0x3f, 0x9e, 0x48, 0x1b, 0xf2, - 0xb6, 0x3a, 0x5f, 0x36, 0x60, 0x55, 0xa6, 0x98, 0x54, 0xbb, 0xf1, 0x89, - 0x3f, 0x75, 0xd3, 0xe8, 0xea, 0x1c, 0xbf, 0x0f, 0xcd, 0x0b, 0x4b, 0xee, - 0x53, 0x49, 0x63, 0x6f, 0x0b, 0xd6, 0x57, 0x4e, 0x50, 0x34, 0x71, 0x4b, - 0x65, 0xbe, 0x16, 0x0c, 0xae, 0x49, 0x4b, 0x39, 0x03, 0x8d, 0x03, 0xef, - 0x22, 0x6c, 0xcc, 0x1f, 0x3d, 0x6e, 0x48, 0x60, 0x21, 0xe2, 0xb6, 0xe6, - 0x7c, 0x94, 0x4c, 0x21, 0xb9, 0x0f, 0xd2, 0x43, 0x07, 0xf8, 0xde, 0x36, - 0x62, 0x9a, 0xf3, 0xa3, 0xfe, 0xf8, 0xd8, 0x99, 0x14, 0x6a, 0x6a, 0x81, - 0xe6, 0x52, 0x73, 0x88, 0x39, 0x22, 0xd1, 0x82, 0xd5, 0x6f, 0x8b, 0xfe, - 0x02, 0xbf, 0x5d, 0x70, 0x35, 0x63, 0x0e, 0x8d, 0x10, 0x88, 0x35, 0x2e, - 0x39, 0x24, 0x46, 0x20, 0x7e, 0x57, 0xa2, 0x16, 0x41, 0xa3, 0x16, 0x6e, - 0x47, 0xdf, 0x37, 0xad, 0xeb, 0xe6, 0x91, 0xf5, 0x8a, 0x49, 0x30, 0x3c, - 0x71, 0xf7, 0x2b, 0x7c, 0xb5, 0x03, 0x6d, 0xf1, 0x86, 0xbd, 0x66, 0x19, - 0x5f, 0x29, 0x92, 0x5a, 0x58, 0xdd, 0x41, 0xac, 0x57, 0xbd, 0xd0, 0x81, - 0x65, 0x29, 0x8a, 0x31, 0x19, 0xd8, 0xb9, 0xae, 0xf2, 0x4d, 0x3d, 0xf8, - 0xa0, 0x56, 0xe2, 0x62, 0x95, 0x45, 0x73, 0x68, 0xa1, 0x14, 0xd2, 0x12, - 0x22, 0x06, 0xb7, 0x7b, 0x41, 0x42, 0x24, 0x14, 0xdb, 0xc0, 0x2b, 0x20, - 0x24, 0x2e, 0x4e, 0xee, 0xb8, 0xa1, 0xba, 0xc3, 0x3e, 0x76, 0x17, 0xbb, - 0xb2, 0xf2, 0xd2, 0x46, 0x2b, 0xd9, 0x40, 0xf8, 0x56, 0x85, 0xc8, 0x2d, - 0x66, 0x63, 0x8d, 0x81, 0xbc, 0xbc, 0xae, 0x81, 0xdf, 0x1b, 0x10, 0x7f, - 0x13, 0x3a, 0x45, 0x38, 0xfd, 0x70, 0xea, 0xfc, 0xf9, 0xd1, 0x18, 0xbe, - 0xdf, 0x88, 0x15, 0x7c, 0x8f, 0x00, 0x1e, 0xb9, 0xbc, 0x56, 0x82, 0x82, - 0x4b, 0x69, 0xd4, 0xa1, 0x8b, 0xe9, 0x8f, 0x49, 0xca, 0x29, 0x4a, 0xd2, - 0x29, 0xec, 0x4d, 0xad, 0x9d, 0xa3, 0x81, 0x6b, 0x1f, 0x50, 0xf1, 0x25, - 0xac, 0x6b, 0x04, 0xb2, 0x76, 0x30, 0xc1, 0x17, 0x95, 0xb4, 0x96, 0x3a, - 0xdc, 0x40, 0x0b, 0xfc, 0x71, 0x90, 0xfa, 0xc0, 0xcd, 0xe9, 0x50, 0x10, - 0xd1, 0x70, 0x97, 0x16, 0x1a, 0x0f, 0xa5, 0x10, 0x39, 0x86, 0x50, 0xa1, - 0x8a, 0xc2, 0x57, 0x87, 0x17, 0x1b, 0x4d, 0x5c, 0x06, 0x75, 0xc8, 0x60, - 0x58, 0x00, 0xe3, 0xd2, 0x53, 0x10, 0xbb, 0x0a, 0x6f, 0x2e, 0xc1, 0x8a, - 0xf7, 0xec, 0x7e, 0x31, 0x8d, 0xe7, 0x71, 0x2d, 0xd0, 0xc9, 0x56, 0xee, - 0xcd, 0x8a, 0x85, 0x0b, 0x10, 0xa5, 0x6d, 0xd5, 0x82, 0x79, 0x1c, 0x1f, - 0x0d, 0x2f, 0xb0, 0x8a, 0xf5, 0xa0, 0x26, 0x04, 0x66, 0x0b, 0xec, 0x6a, - 0x5a, 0x58, 0x70, 0x03, 0x47, 0xf5, 0xff, 0x7e, 0x04, 0xf2, 0xc0, 0xd9, - 0xfe, 0x2c, 0xde, 0x2a, 0x3a, 0x06, 0xff, 0xdb, 0x82, 0xa8, 0x14, 0x7b, - 0x81, 0x9c, 0xdd, 0xc0, 0x2c, 0x80, 0x29, 0xbc, 0x83, 0xbc, 0x2c, 0x48, - 0x0e, 0xa2, 0x25, 0x2c, 0xb8, 0xa8, 0x97, 0x98, 0x33, 0x27, 0xcb, 0xbc, - 0x29, 0x2c, 0xc4, 0x51, 0xd0, 0xa1, 0xa0, 0x41, 0xf4, 0x2a, 0xba, 0x0c, - 0xbb, 0xe6, 0x0a, 0x0f, 0xe8, 0x4d, 0xdd, 0x07, 0x2f, 0x34, 0x3c, 0x1e, - 0xbe, 0xd2, 0xa1, 0xe1, 0x93, 0x84, 0x43, 0xb2, 0x69, 0x6f, 0x93, 0xde, - 0x3b, 0x65, 0x80, 0x04, 0x66, 0xe5, 0x82, 0x5d, 0xf0, 0xf0, 0xc4, 0x9d, - 0xa4, 0xa1, 0x74, 0x45, 0x14, 0xb8, 0xaa, 0x35, 0x90, 0x67, 0x59, 0x78, - 0x98, 0xff, 0x58, 0xea, 0xa0, 0x17, 0x4d, 0x09, 0xd0, 0x89, 0xcf, 0xf0, - 0xfe, 0x07, 0x89, 0x45, 0x08, 0xfa, 0x23, 0xe6, 0x3c, 0xb7, 0x5a, 0xb3, - 0x34, 0xfe, 0xdc, 0x5c, 0x72, 0xa8, 0x0c, 0xc0, 0xef, 0xf5, 0x5b, 0xec, - 0x06, 0x2c, 0x73, 0xae, 0x60, 0x88, 0xbf, 0x1d, 0x4d, 0xfc, 0xe0, 0x68, - 0x42, 0xd6, 0xf0, 0x15, 0xfe, 0xf8, 0x55, 0x54, 0x11, 0x80, 0x7e, 0xe0, - 0x65, 0xd8, 0x2e, 0x2a, 0xe4, 0xd1, 0x6f, 0x84, 0xe6, 0x33, 0x2a, 0x19, - 0xac, 0x2e, 0xc1, 0x6e, 0xab, 0xb9, 0x83, 0x05, 0x8b, 0x2a, 0x51, 0x54, - 0x28, 0x82, 0x37, 0xb5, 0xad, 0x0c, 0x53, 0xff, 0x07, 0xab, 0xc3, 0xfc, - 0x6c, 0x8b, 0xaf, 0x27, 0x24, 0x2d, 0x27, 0xe5, 0xef, 0xb8, 0x74, 0xbf, - 0x70, 0x96, 0x25, 0x3d, 0xde, 0x07, 0xf9, 0xbf, 0x9a, 0xb0, 0xe4, 0x49, - 0x2c, 0x44, 0x23, 0x6f, 0x56, 0xa2, 0x8b, 0x02, 0x58, 0x54, 0x58, 0x61, - 0xac, 0x56, 0x4d, 0xbe, 0xc0, 0x5d, 0x95, 0x46, 0x85, 0xee, 0x66, 0x2f, - 0x5b, 0xe9, 0x97, 0xb8, 0xbd, 0xd4, 0xa6, 0xe0, 0x09, 0xf1, 0xe1, 0xa3, - 0x67, 0x7b, 0x91, 0xc2, 0xeb, 0xaf, 0x68, 0x2f, 0x00, 0xb7, 0x69, 0x24, - 0x6d, 0x0b, 0xaa, 0x8a, 0xc2, 0xb3, 0x86, 0xd3, 0xb0, 0x5b, 0x15, 0x48, - 0xee, 0x08, 0xae, 0x20, 0xa6, 0x86, 0x67, 0xc4, 0xbf, 0x5e, 0x70, 0xa7, - 0x0d, 0xbd, 0x94, 0xd1, 0xf4, 0x34, 0xf0, 0x6f, 0x16, 0x73, 0x2d, 0x1e, - 0xf6, 0xea, 0x3b, 0x48, 0x3d, 0x1a, 0xa3, 0x9a, 0x29, 0xf3, 0xd4, 0xb2, - 0xb7, 0x80, 0x6a, 0xe8, 0x0c, 0x42, 0xad, 0x71, 0xc7, 0xb1, 0xab, 0x9b, - 0x17, 0x56, 0x2a, 0x55, 0x5e, 0xfb, 0x87, 0x6a, 0x86, 0x2d, 0x35, 0xc7, - 0x83, 0x5c, 0x9d, 0x5d, 0x5b, 0x08, 0xf7, 0xaf, 0x4d, 0x56, 0x6f, 0x83, - 0x76, 0x01, 0x44, 0xf8, 0x4e, 0xed, 0x8d, 0xb0, 0x30, 0xc4, 0x7a, 0x7f, - 0x43, 0xaa, 0x28, 0x72, 0xf1, 0xde, 0xd2, 0x5d, 0x78, 0x4d, 0xc3, 0x41, - 0xec, 0xb5, 0x7a, 0x17, 0x5f, 0x9a, 0x4d, 0x27, 0xc1, 0x6e, 0xeb, 0x4c, - 0xb9, 0xb7, 0x4d, 0xb1, 0x07, 0x1a, 0xc3, 0x63, 0x96, 0xd2, 0xb8, 0x4b, - 0x6a, 0x6d, 0x91, 0x3e, 0x1f, 0xb6, 0xe5, 0xef, 0x60, 0xd7, 0xde, 0xef, - 0x19, 0x67, 0xcd, 0x28, 0x3d, 0x50, 0x58, 0x8b, 0x56, 0xcc, 0x3e, 0x46, - 0xee, 0x09, 0x40, 0x7e, 0x82, 0xb2, 0xae, 0x51, 0x68, 0x7a, 0xed, 0xbb, - 0x52, 0x99, 0x85, 0xc3, 0x2e, 0x6b, 0x4b, 0xaa, 0xad, 0x94, 0x80, 0x0c, - 0xab, 0xe1, 0xb6, 0xd6, 0x5b, 0xd0, 0xba, 0x59, 0x9c, 0x71, 0xd7, 0x9e, - 0xa2, 0x02, 0x52, 0xf3, 0x55, 0x3a, 0x43, 0x5b, 0x70, 0xd4, 0xe1, 0x18, - 0xee, 0x51, 0xb1, 0xcc, 0x27, 0xcb, 0x59, 0x67, 0xc0, 0x80, 0x6f, 0xba, - 0x29, 0xba, 0x30, 0xcc, 0x40, 0xeb, 0x07, 0x41, 0x2e, 0x21, 0xea, 0xf5, - 0xc5, 0x56, 0xcd, 0xb0, 0x6c, 0x08, 0x46, 0x01, 0x66, 0x51, 0x7f, 0x3b, - 0xa4, 0x1f, 0x6a, 0xaf, 0x21, 0x6f, 0x95, 0x7c, 0xaf, 0xfd, 0x8e, 0x9b, - 0xb7, 0x45, 0x8b, 0xc9, 0x72, 0xec, 0xf6, 0x60, 0xab, 0x5d, 0x72, 0x7c, - 0xc3, 0x39, 0x04, 0xbe, 0x66, 0x60, 0x4a, 0xea, 0x1f, 0x0f, 0xb6, 0xf0, - 0x75, 0x4e, 0x25, 0x5e, 0x41, 0x45, 0xae, 0x2d, 0x77, 0x40, 0x1b, 0xe5, - 0x88, 0x5d, 0x41, 0xb8, 0xc2, 0x71, 0x06, 0x24, 0x1c, 0x27, 0x62, 0x65, - 0xde, 0x75, 0x52, 0x5b, 0x30, 0xbc, 0x6d, 0x66, 0xb9, 0xd3, 0xe2, 0x76, - 0xbb, 0x15, 0xbe, 0xda, 0x06, 0x57, 0xa9, 0x68, 0x78, 0x31, 0x3c, 0x76, - 0x11, 0xb4, 0xdb, 0x22, 0xcf, 0x5a, 0x15, 0x42, 0x17, 0x9c, 0xbd, 0xa2, - 0xe6, 0xe4, 0xc5, 0xf1, 0xd0, 0x84, 0x59, 0x3f, 0x84, 0x1d, 0xbe, 0x30, - 0x8b, 0xe9, 0xed, 0x4e, 0xeb, 0x10, 0x6a, 0xcb, 0xc3, 0x03, 0x18, 0x06, - 0x03, 0xd8, 0x69, 0x0e, 0xc0, 0xb0, 0xe5, 0xda, 0x87, 0xc0, 0x2f, 0x37, - 0x86, 0xf0, 0x4c, 0x87, 0xf0, 0xec, 0xc3, 0x57, 0x21, 0x1c, 0xc4, 0xb3, - 0x5f, 0xb7, 0x0a, 0xad, 0x43, 0x78, 0xce, 0x51, 0xe3, 0x8b, 0xdb, 0xe7, - 0x4d, 0x42, 0x34, 0x6b, 0x12, 0x07, 0xe5, 0x31, 0x2c, 0xc3, 0x34, 0x11, - 0xf3, 0x9e, 0x79, 0x91, 0x59, 0x43, 0xb7, 0x72, 0x57, 0x38, 0x8d, 0x3e, - 0x99, 0xf7, 0xa8, 0x5e, 0x73, 0x48, 0x47, 0x4c, 0x0f, 0x1a, 0x2e, 0xa6, - 0x80, 0x4e, 0x5c, 0xda, 0x2f, 0x8b, 0xdb, 0x4f, 0xfa, 0xda, 0x4b, 0xad, - 0xd0, 0x21, 0x0a, 0xb5, 0xad, 0x88, 0x03, 0x96, 0x42, 0xbf, 0x80, 0x46, - 0x51, 0xf8, 0xfc, 0x8c, 0x63, 0x79, 0x9f, 0xdb, 0xb8, 0x12, 0x09, 0xca, - 0x0c, 0xa6, 0xfb, 0x89, 0x4c, 0xf7, 0x93, 0xff, 0x93, 0xa6, 0xfb, 0xc9, - 0xea, 0xe9, 0x7e, 0x24, 0x6a, 0x39, 0x50, 0xc6, 0xfa, 0xa3, 0x38, 0x5f, - 0x89, 0xb9, 0x68, 0xa1, 0x84, 0x0e, 0x92, 0xac, 0x12, 0x12, 0x0f, 0xc4, - 0x10, 0xfb, 0x86, 0x9a, 0x59, 0xcd, 0x0a, 0x2a, 0x12, 0x7d, 0x49, 0xaf, - 0x17, 0x65, 0x3a, 0x66, 0x3e, 0xc7, 0xe8, 0xe8, 0x2e, 0x06, 0xf6, 0x3f, - 0x37, 0x07, 0xad, 0x35, 0xb9, 0x0e, 0x9a, 0x55, 0xb3, 0x7a, 0x11, 0x50, - 0xf7, 0xaa, 0xb5, 0xb7, 0x82, 0xeb, 0xfd, 0xf0, 0xe4, 0xdb, 0xa3, 0xf3, - 0xd3, 0x93, 0xb7, 0x87, 0x27, 0x2e, 0x08, 0x05, 0xb1, 0x31, 0x62, 0x0a, - 0xf8, 0xd1, 0x34, 0x7d, 0x52, 0xe7, 0x7f, 0x06, 0x12, 0xcf, 0xe7, 0x6a, - 0x53, 0x6b, 0xde, 0x65, 0x85, 0x9a, 0x0f, 0x3c, 0xba, 0xb6, 0x25, 0x7c, - 0xc1, 0x4e, 0xe3, 0x16, 0x15, 0x51, 0xdd, 0xef, 0xcf, 0xce, 0x4f, 0xbf, - 0xff, 0xe1, 0x37, 0x6c, 0x7f, 0x58, 0x41, 0x74, 0xfe, 0x4d, 0x9b, 0x7f, - 0x13, 0x8e, 0x7e, 0xef, 0xf8, 0xf8, 0x37, 0x6b, 0x1c, 0xc2, 0xb9, 0x33, - 0xa6, 0xf4, 0x9d, 0x65, 0xca, 0xd5, 0x30, 0xad, 0x88, 0xed, 0x27, 0xa7, - 0xda, 0xb1, 0x98, 0x34, 0xfa, 0x06, 0x8a, 0x3e, 0x71, 0x45, 0x86, 0x78, - 0x0c, 0x0d, 0x88, 0x47, 0x7c, 0x09, 0x99, 0xc2, 0x41, 0x62, 0x99, 0x41, - 0x11, 0xd0, 0xdd, 0xc8, 0x49, 0xc9, 0x9c, 0xd5, 0x4a, 0x40, 0x88, 0xcc, - 0x18, 0xda, 0x54, 0x31, 0x68, 0xe8, 0x71, 0xc4, 0x21, 0x40, 0x79, 0x5a, - 0xdc, 0x20, 0x99, 0x87, 0x8f, 0x8c, 0x02, 0x21, 0x96, 0xc0, 0x95, 0x45, - 0xa9, 0x75, 0x1e, 0x0a, 0x93, 0xd7, 0xf7, 0x47, 0x17, 0xd1, 0xfe, 0xe9, - 0x81, 0xa7, 0xdd, 0x0b, 0xb8, 0x66, 0x60, 0xf0, 0x44, 0xfd, 0xa6, 0xe5, - 0x9c, 0xcb, 0xc0, 0x5f, 0x7a, 0xf8, 0x71, 0x45, 0xd2, 0xe3, 0x20, 0xac, - 0x42, 0x03, 0x4c, 0xaf, 0x13, 0xa9, 0x83, 0x92, 0x4b, 0x60, 0xd5, 0x24, - 0x50, 0xaf, 0xe5, 0x61, 0x07, 0xf9, 0x17, 0x86, 0xdb, 0x32, 0x5e, 0x08, - 0x9d, 0x35, 0x51, 0xc7, 0xe9, 0xd8, 0x71, 0x41, 0x93, 0xb9, 0xa4, 0x1c, - 0x91, 0xd4, 0xb1, 0x57, 0x3a, 0xbc, 0xc8, 0xa0, 0xea, 0xa5, 0xc0, 0xc5, - 0xe7, 0xc0, 0xcd, 0xed, 0xa9, 0xdd, 0x8c, 0x81, 0x4d, 0x65, 0x30, 0x21, - 0xd8, 0xcb, 0xb6, 0xda, 0x92, 0xe7, 0x1e, 0x2e, 0xc1, 0x03, 0xc5, 0x40, - 0xa7, 0xe6, 0xf8, 0x7a, 0x98, 0x3e, 0xc0, 0x21, 0x14, 0xe7, 0xc7, 0x10, - 0xc5, 0xa5, 0x68, 0x61, 0x5a, 0xac, 0x30, 0x53, 0xfa, 0x6d, 0xdf, 0x51, - 0xa2, 0x16, 0x00, 0x56, 0x96, 0x34, 0xc4, 0x65, 0x91, 0xfe, 0x12, 0xc8, - 0xae, 0xcf, 0x74, 0x30, 0xe7, 0xc7, 0x34, 0xf3, 0xa9, 0x70, 0x1e, 0x0d, - 0x14, 0x16, 0xac, 0xf2, 0xbb, 0x58, 0xd0, 0xab, 0xb4, 0x16, 0x98, 0x7f, - 0xf3, 0x85, 0xfc, 0xd8, 0x37, 0x52, 0xf0, 0x58, 0x59, 0xbe, 0x26, 0x77, - 0xad, 0x4e, 0xb7, 0x05, 0x17, 0x8d, 0xe1, 0x82, 0x11, 0xab, 0x69, 0x13, - 0x52, 0xb9, 0x16, 0xb7, 0xf1, 0x49, 0xad, 0x1f, 0xeb, 0x46, 0x6a, 0x18, - 0x5f, 0x38, 0x41, 0xbf, 0x1e, 0xa0, 0xc3, 0xcd, 0x37, 0x5b, 0xfb, 0xb4, - 0xbe, 0x28, 0x41, 0x89, 0xda, 0x6a, 0xf1, 0xe0, 0xcf, 0x1c, 0x4f, 0x88, - 0xee, 0x12, 0x4e, 0xa4, 0x71, 0x15, 0xd9, 0x16, 0x53, 0x37, 0x3b, 0xf3, - 0xb7, 0xc3, 0xc1, 0x2b, 0x75, 0x39, 0x34, 0x3e, 0x6f, 0xac, 0xe3, 0x6d, - 0x28, 0x4e, 0x79, 0x11, 0x2c, 0xff, 0x4b, 0xdf, 0x49, 0x14, 0xc3, 0xed, - 0xc1, 0x56, 0xb9, 0x79, 0x6a, 0x71, 0x72, 0xda, 0xbe, 0x7c, 0xc4, 0xde, - 0x24, 0x92, 0x9f, 0x33, 0xf7, 0xb7, 0xbe, 0xd1, 0x80, 0x66, 0xa9, 0x85, - 0xcd, 0xf0, 0x2a, 0x48, 0x91, 0x9a, 0xb0, 0xb4, 0x0d, 0x42, 0xa8, 0xe3, - 0xb9, 0x5a, 0xc4, 0x05, 0xe3, 0x54, 0x93, 0x09, 0x1b, 0xb7, 0x4b, 0xe9, - 0x70, 0xf4, 0x59, 0xdf, 0x94, 0x75, 0x03, 0x62, 0xaf, 0x9c, 0x6a, 0xdf, - 0x28, 0xce, 0x90, 0xe9, 0xad, 0x38, 0xaa, 0x51, 0xc3, 0xe5, 0x13, 0xd4, - 0x41, 0xf3, 0x67, 0x62, 0xbb, 0xb6, 0xd8, 0x67, 0x7b, 0xc3, 0xa1, 0x2d, - 0x35, 0x80, 0x73, 0x6c, 0x3d, 0x65, 0x05, 0xd5, 0x5b, 0x86, 0x7c, 0x59, - 0x85, 0x44, 0x68, 0xd1, 0xf0, 0xb5, 0x91, 0x9a, 0x37, 0x7d, 0xfb, 0x99, - 0x5f, 0x73, 0xd7, 0xd9, 0xb7, 0xd2, 0x5a, 0xef, 0x03, 0x3b, 0x6b, 0xed, - 0xeb, 0xdb, 0x96, 0xbe, 0x9e, 0xd7, 0xe6, 0xb5, 0xb3, 0xf3, 0x69, 0x64, - 0xa7, 0x4c, 0xcb, 0xea, 0xba, 0xce, 0xb4, 0x37, 0xd1, 0xe1, 0xe9, 0xc1, - 0xbe, 0x61, 0x01, 0x24, 0xad, 0x85, 0x24, 0x31, 0x98, 0xa0, 0xab, 0x17, - 0x7e, 0x5a, 0xa4, 0xae, 0x71, 0x7b, 0x6c, 0x11, 0x90, 0x63, 0xd2, 0x38, - 0x3d, 0x40, 0x7e, 0xe0, 0xa3, 0x72, 0xc4, 0x23, 0x23, 0x3e, 0xbe, 0x22, - 0x3e, 0xc1, 0x86, 0x11, 0xf4, 0xf3, 0xa9, 0xeb, 0xc7, 0x8d, 0x9c, 0x15, - 0x34, 0xc9, 0xaa, 0x1e, 0x84, 0x1c, 0x41, 0x69, 0x24, 0x08, 0x60, 0xb2, - 0xb2, 0xf2, 0xcd, 0xea, 0x93, 0xf2, 0xb6, 0xef, 0x45, 0x8e, 0xdf, 0x99, - 0x56, 0x88, 0x11, 0xc8, 0x0c, 0x14, 0xd1, 0x88, 0x2b, 0xf8, 0x13, 0xb0, - 0x63, 0xf0, 0x71, 0xb7, 0x3e, 0xf2, 0xf0, 0xb4, 0x6f, 0xbf, 0x0c, 0xd6, - 0xc4, 0x86, 0x65, 0x46, 0xb8, 0x4d, 0x3b, 0x3e, 0x8e, 0x85, 0x88, 0xd8, - 0xc3, 0x7f, 0x9f, 0x1f, 0x5e, 0x9c, 0x73, 0x0c, 0x24, 0x40, 0x34, 0xea, - 0x2a, 0x24, 0x9d, 0xa9, 0x0d, 0x67, 0xaf, 0x16, 0x7c, 0xeb, 0x80, 0xeb, - 0x7a, 0x4a, 0x96, 0x3a, 0x7d, 0xb8, 0x67, 0xe8, 0xd6, 0xa8, 0x96, 0xed, - 0xf3, 0xe0, 0xfa, 0x72, 0x0f, 0xf9, 0x88, 0x3e, 0x3d, 0x19, 0x6e, 0xfd, - 0x7d, 0x5c, 0x88, 0x60, 0x9a, 0x89, 0x4f, 0xd1, 0x45, 0x4f, 0x1b, 0x27, - 0xf2, 0xe1, 0x0e, 0x52, 0x43, 0x5b, 0x18, 0xa0, 0x44, 0x20, 0x37, 0xac, - 0x27, 0xae, 0xf3, 0x78, 0x2e, 0xc9, 0x8e, 0x32, 0x88, 0x6a, 0x39, 0x70, - 0xbd, 0x20, 0x25, 0x0a, 0x7c, 0x94, 0x40, 0xd3, 0x7a, 0xce, 0x85, 0x6a, - 0x9a, 0xc6, 0x98, 0x51, 0x76, 0x6b, 0x4e, 0x2f, 0x4d, 0x13, 0x10, 0x44, - 0x7c, 0xec, 0x17, 0x2e, 0x53, 0xc8, 0xe0, 0xfd, 0x4b, 0x2e, 0x6b, 0x1d, - 0xa7, 0x53, 0xd3, 0xaf, 0x83, 0x65, 0x93, 0x43, 0xf9, 0x1d, 0xf2, 0x16, - 0x6c, 0xcd, 0x6a, 0x87, 0x51, 0x92, 0x1a, 0xc0, 0x64, 0xc1, 0x76, 0x3c, - 0x7a, 0x57, 0xf1, 0x40, 0x33, 0x9f, 0x35, 0x07, 0xa6, 0x10, 0x28, 0x41, - 0x37, 0x2f, 0x9a, 0xc4, 0x3b, 0xbc, 0x38, 0x3d, 0x0f, 0x2a, 0xf5, 0x55, - 0x59, 0xae, 0x1c, 0x46, 0x3c, 0xe2, 0xfd, 0x7e, 0xbd, 0x16, 0x9b, 0xba, - 0x09, 0x7c, 0x1a, 0xb6, 0xc2, 0xb9, 0xd6, 0xbe, 0xd7, 0x4f, 0xbc, 0x33, - 0x45, 0xa7, 0xf6, 0x6d, 0x9c, 0x23, 0x9d, 0x96, 0x33, 0x5e, 0x78, 0x65, - 0xe9, 0x7e, 0x24, 0x95, 0x64, 0x16, 0x18, 0x26, 0x76, 0xe4, 0x9c, 0x9d, - 0x2e, 0x4b, 0xa9, 0x00, 0xcf, 0x29, 0x72, 0x4c, 0x46, 0x9a, 0x2c, 0xc7, - 0xf6, 0x1c, 0xb5, 0xd8, 0x38, 0x2b, 0x59, 0x9d, 0x14, 0xe5, 0x0c, 0x9d, - 0xfa, 0xf2, 0x9f, 0x6a, 0x13, 0x77, 0xb7, 0x97, 0xc7, 0x4b, 0x85, 0x15, - 0x96, 0xcd, 0xe5, 0xe2, 0x61, 0x50, 0x6f, 0x3e, 0x60, 0xaf, 0xeb, 0x9b, - 0x3d, 0x26, 0x51, 0x60, 0xa2, 0xa5, 0xed, 0xb4, 0x7a, 0xb2, 0xc9, 0x46, - 0x5e, 0xac, 0xd8, 0x72, 0xeb, 0x8c, 0x42, 0xc4, 0x3a, 0x34, 0x74, 0x5b, - 0x29, 0x1f, 0x6e, 0x5f, 0x9c, 0x64, 0xe6, 0xfc, 0xc5, 0x61, 0xd5, 0x92, - 0x2f, 0xed, 0x65, 0x56, 0x75, 0x53, 0xd0, 0x8e, 0x35, 0xc4, 0x28, 0xd2, - 0xf9, 0x83, 0x39, 0x85, 0x1c, 0xce, 0xfc, 0xa5, 0xcb, 0x83, 0x66, 0xfe, - 0xdc, 0xee, 0x2b, 0xf3, 0x99, 0x83, 0xcf, 0xb6, 0x9b, 0xd4, 0xc1, 0xe2, - 0xf6, 0xf9, 0xe1, 0xf0, 0x42, 0xc6, 0xce, 0xbf, 0x35, 0xc6, 0x2e, 0xe9, - 0x73, 0xae, 0x08, 0x73, 0xb1, 0x8a, 0x3a, 0x38, 0xec, 0x82, 0x1d, 0xd8, - 0x61, 0x21, 0xde, 0x70, 0xcd, 0x9e, 0x05, 0x21, 0x60, 0x60, 0x9c, 0x4a, - 0x2b, 0x17, 0x56, 0xaf, 0x27, 0xea, 0x68, 0x2f, 0x1d, 0xba, 0x72, 0xe5, - 0x48, 0x64, 0xf9, 0x4d, 0xd0, 0xc2, 0x73, 0xdf, 0xc2, 0x82, 0x99, 0xbb, - 0x36, 0x70, 0x64, 0x66, 0x63, 0xfe, 0xd0, 0x39, 0x38, 0xaf, 0xb8, 0x3c, - 0xbc, 0x10, 0x86, 0x3c, 0xe7, 0xdb, 0x79, 0xe1, 0x92, 0x69, 0x4d, 0x3c, - 0x0a, 0x86, 0xc2, 0x1f, 0x5b, 0xf4, 0x34, 0x3c, 0x70, 0x35, 0xb2, 0x7b, - 0xf6, 0x89, 0x67, 0xba, 0x2c, 0x3b, 0x7b, 0xaf, 0x87, 0xae, 0x40, 0x70, - 0x1d, 0xb1, 0xd3, 0x28, 0x9d, 0x2f, 0x01, 0xd4, 0x41, 0x5c, 0x62, 0xca, - 0x88, 0x40, 0xea, 0xb4, 0x68, 0x58, 0x68, 0xeb, 0x11, 0x69, 0xcf, 0xf4, - 0x22, 0x22, 0xfd, 0xd6, 0x6f, 0x97, 0xa4, 0xa8, 0xe1, 0x30, 0x7b, 0x19, - 0x8f, 0x0e, 0xee, 0xdc, 0xdd, 0x16, 0x83, 0xe8, 0x8c, 0x01, 0x15, 0x61, - 0x7b, 0x2e, 0xfe, 0xea, 0x5b, 0x93, 0xc3, 0x72, 0x7c, 0xb0, 0x77, 0xc6, - 0xd7, 0x27, 0x84, 0xd3, 0x94, 0x6b, 0x53, 0xe2, 0x13, 0xfe, 0x35, 0x00, - 0xc3, 0x6b, 0x4c, 0xf9, 0xa5, 0x7f, 0x59, 0x8b, 0x4d, 0xd7, 0x1f, 0x79, - 0xae, 0xb4, 0x45, 0x5a, 0x0b, 0x9a, 0x70, 0xdc, 0x99, 0xcf, 0x34, 0x6f, - 0x49, 0xca, 0x11, 0x72, 0x68, 0xe1, 0xd2, 0x9e, 0xa9, 0x70, 0xf1, 0xa0, - 0x29, 0xb9, 0x13, 0xf6, 0x64, 0x9d, 0x00, 0x73, 0x40, 0x27, 0x87, 0xab, - 0x0c, 0x50, 0x5b, 0x73, 0x66, 0xb8, 0x53, 0xf3, 0xcf, 0xfa, 0xfc, 0x20, - 0xe6, 0x98, 0xa3, 0x4c, 0x4d, 0xf0, 0x3c, 0x93, 0x06, 0x3a, 0x57, 0xd5, - 0x4d, 0xf6, 0x5c, 0xa8, 0xd1, 0x91, 0x8e, 0xbb, 0xc6, 0x2a, 0xa3, 0xe3, - 0x8e, 0x5d, 0xda, 0x21, 0x76, 0xdb, 0xd5, 0x05, 0x0f, 0x9a, 0x7a, 0xe1, - 0x9b, 0xe2, 0x72, 0xf6, 0x9e, 0xbf, 0xef, 0x55, 0x78, 0x90, 0x03, 0xdb, - 0x72, 0x85, 0xef, 0x1f, 0xd3, 0x14, 0xaa, 0xf7, 0xc7, 0x73, 0x21, 0x86, - 0x8b, 0x2c, 0x93, 0xe2, 0x51, 0x2e, 0x7e, 0x6c, 0x20, 0x91, 0x69, 0x4d, - 0x7b, 0x74, 0xa1, 0x79, 0xa5, 0xd7, 0x5a, 0xe8, 0x83, 0xcd, 0xe9, 0xfd, - 0x06, 0x4a, 0xde, 0xac, 0x81, 0x36, 0xff, 0xfc, 0x33, 0x55, 0xdf, 0x6e, - 0xe6, 0x5c, 0x57, 0xf5, 0xe2, 0xf0, 0xf8, 0xe4, 0xf0, 0xc2, 0x21, 0x36, - 0xd8, 0x6c, 0x82, 0xe7, 0x5f, 0xaa, 0xc5, 0x67, 0xaa, 0xf1, 0x2b, 0x0a, - 0x0e, 0x5a, 0xf7, 0x4b, 0xbe, 0xd8, 0x76, 0xf1, 0x59, 0x1c, 0x8d, 0xd5, - 0x2d, 0xe4, 0xfc, 0x05, 0x31, 0x59, 0xa8, 0xdd, 0xf7, 0x75, 0xf4, 0xf6, - 0xe0, 0x05, 0x87, 0x7f, 0x5f, 0x71, 0x45, 0x62, 0x40, 0xbf, 0x2a, 0x95, - 0x64, 0x37, 0xbe, 0xad, 0x9d, 0x10, 0x83, 0x40, 0x54, 0x14, 0xe5, 0x18, - 0x2a, 0xc8, 0xd2, 0x1a, 0x71, 0xd2, 0x22, 0xa9, 0xaa, 0x62, 0x27, 0x33, - 0x44, 0x4a, 0x43, 0x8f, 0x80, 0x6c, 0x50, 0xaf, 0x21, 0x58, 0xe5, 0x12, - 0x2f, 0x9e, 0x79, 0x2e, 0x91, 0x3f, 0x2c, 0x18, 0xd2, 0x4a, 0x8a, 0x0c, - 0x3a, 0x92, 0xf5, 0x8f, 0x0a, 0x63, 0xda, 0x97, 0x73, 0xc5, 0xd2, 0x62, - 0xf3, 0x2d, 0xe4, 0x4d, 0xc2, 0x0a, 0xe5, 0x5f, 0x7b, 0x11, 0x2a, 0x6b, - 0x56, 0x4f, 0x99, 0x16, 0x8f, 0xd9, 0x1e, 0x04, 0x01, 0xff, 0xe8, 0x27, - 0xee, 0x51, 0x2e, 0xc1, 0x94, 0xce, 0x15, 0x86, 0x64, 0xf5, 0x0b, 0x2a, - 0x60, 0xca, 0xbd, 0xeb, 0x45, 0x1f, 0x11, 0x2a, 0x82, 0x65, 0xf7, 0x6f, - 0xbc, 0xac, 0x2a, 0xa2, 0xcb, 0x4a, 0x30, 0x18, 0x26, 0x94, 0x2e, 0x68, - 0x1d, 0xbd, 0xe6, 0x2a, 0x97, 0xe0, 0x59, 0x3d, 0xb6, 0xce, 0xd8, 0x4b, - 0x25, 0x65, 0xdc, 0x4e, 0x91, 0x50, 0xd5, 0xfe, 0x5e, 0x64, 0xaf, 0xd4, - 0x69, 0x92, 0x9f, 0xf5, 0xb5, 0x00, 0x3f, 0xd9, 0x56, 0x6a, 0xa4, 0xe9, - 0x66, 0x57, 0x73, 0xd2, 0xed, 0x27, 0xcd, 0x2a, 0x5a, 0xfe, 0xe9, 0x1d, - 0x3d, 0x89, 0x52, 0x6e, 0x0e, 0xdc, 0x86, 0x63, 0x27, 0xdd, 0xf7, 0xcf, - 0x94, 0x56, 0xc5, 0xb3, 0x24, 0x55, 0x43, 0xa9, 0x4d, 0xc6, 0x86, 0x4e, - 0x92, 0x49, 0xe2, 0x77, 0xf4, 0x93, 0xe7, 0x2a, 0xd2, 0x98, 0xd4, 0xc9, - 0xec, 0x9e, 0xd7, 0x60, 0xca, 0x69, 0xf9, 0xca, 0xfd, 0xfc, 0xd3, 0x7a, - 0xa1, 0xf8, 0x8a, 0xd8, 0x22, 0xc6, 0x29, 0xdf, 0x2b, 0x10, 0x9f, 0x79, - 0x97, 0xce, 0x35, 0x6a, 0xb8, 0xfe, 0xf6, 0x27, 0x2b, 0x0c, 0x19, 0x6a, - 0x95, 0x3f, 0x04, 0x01, 0xf9, 0xc7, 0x3f, 0xb5, 0x58, 0xbd, 0xbc, 0x17, - 0xe2, 0x99, 0xc1, 0x57, 0xae, 0x98, 0x78, 0x76, 0x66, 0x58, 0x05, 0x58, - 0x58, 0xb6, 0x36, 0xd8, 0xc1, 0xa5, 0xf5, 0xd2, 0x80, 0x8a, 0xa5, 0x4e, - 0x7c, 0x1f, 0x42, 0x3d, 0x6f, 0x80, 0x49, 0xea, 0xe5, 0x6c, 0x62, 0x07, - 0x3e, 0x76, 0xd3, 0x3f, 0xfc, 0x52, 0xe9, 0xc0, 0xae, 0x1d, 0x93, 0xf6, - 0x56, 0xbd, 0xf0, 0xe9, 0x56, 0x28, 0xfa, 0x4d, 0xd8, 0x5e, 0x26, 0x49, - 0xb6, 0xab, 0x9e, 0x17, 0x22, 0x38, 0x22, 0x5e, 0x7c, 0x45, 0xc4, 0x8b, - 0x47, 0xdc, 0x65, 0xe5, 0x9f, 0xda, 0xa9, 0x32, 0xae, 0x50, 0x0c, 0x89, - 0x8e, 0x0e, 0xfc, 0x73, 0xcf, 0xfc, 0xdc, 0xe2, 0x29, 0x5f, 0xa8, 0x0f, - 0x66, 0x75, 0x5b, 0xe7, 0x97, 0x7c, 0x0c, 0xe6, 0xa7, 0xcf, 0x35, 0x7e, - 0x8f, 0x63, 0x36, 0xaf, 0x25, 0x4e, 0xab, 0xfe, 0x88, 0xec, 0xfc, 0xbe, - 0x2b, 0x44, 0x28, 0x71, 0x78, 0x85, 0xbf, 0x45, 0xfd, 0xa3, 0x9f, 0x3c, - 0xf2, 0xa8, 0x5e, 0x3a, 0x85, 0xbb, 0x2a, 0xfd, 0x6b, 0x9f, 0x36, 0x0f, - 0xb2, 0x49, 0xd5, 0x16, 0xde, 0x4a, 0xc7, 0x89, 0x4f, 0x53, 0xb4, 0xce, - 0xd1, 0xba, 0x7f, 0x35, 0xbb, 0x49, 0xce, 0xc1, 0x7b, 0xc5, 0x5f, 0x83, - 0xc1, 0x7e, 0x16, 0x86, 0xc8, 0x8a, 0xcd, 0x04, 0xce, 0x34, 0xce, 0x32, - 0x0e, 0x41, 0x4d, 0x61, 0xe2, 0xc0, 0xc6, 0x63, 0x61, 0x7c, 0x03, 0xb2, - 0xd3, 0x74, 0x09, 0x2f, 0xe7, 0x9e, 0x35, 0x88, 0x22, 0xa5, 0xf9, 0xca, - 0x16, 0xe5, 0xa3, 0x63, 0xfb, 0x9a, 0xf6, 0x12, 0x34, 0xe1, 0xed, 0x4e, - 0x5b, 0x35, 0x6a, 0x2f, 0xae, 0x97, 0xa2, 0xb4, 0xba, 0xe9, 0xf8, 0xea, - 0xad, 0xfe, 0xad, 0x1d, 0xcf, 0x9c, 0x30, 0x30, 0x08, 0x5c, 0xfb, 0x34, - 0x54, 0x51, 0x6a, 0x23, 0x90, 0x1e, 0x2a, 0x36, 0xe6, 0x8a, 0xb1, 0x1e, - 0x59, 0x0a, 0x7c, 0xb4, 0x1e, 0xaf, 0xae, 0x47, 0x54, 0x09, 0xba, 0xfd, - 0x4c, 0x85, 0x02, 0x76, 0x59, 0xd2, 0xfe, 0x5c, 0x27, 0xe3, 0x1b, 0x3b, - 0x30, 0xda, 0x46, 0x4b, 0xa4, 0xee, 0xf7, 0xdf, 0x07, 0xe6, 0x5b, 0x0f, - 0xc8, 0x1c, 0xe7, 0x82, 0x08, 0x12, 0x1a, 0x6d, 0xe5, 0x16, 0xe2, 0xed, - 0x46, 0x41, 0xc7, 0x3c, 0x99, 0x26, 0x8c, 0x09, 0x05, 0xb9, 0xb3, 0x7e, - 0x19, 0x59, 0xe0, 0x2b, 0x87, 0x42, 0x08, 0x90, 0x7d, 0xa2, 0xb0, 0x61, - 0x73, 0x76, 0xda, 0xaa, 0xf1, 0x81, 0xae, 0xab, 0xbd, 0x77, 0x17, 0x5f, - 0x9f, 0x9e, 0x0f, 0xa3, 0x4d, 0xce, 0x99, 0xbd, 0x38, 0x3f, 0xfa, 0xf2, - 0x1d, 0x69, 0x73, 0xce, 0xaa, 0x7c, 0x10, 0x93, 0x9e, 0x37, 0x8d, 0x86, - 0x65, 0x32, 0x1f, 0x25, 0xf9, 0x95, 0xc1, 0x28, 0x03, 0xe9, 0x82, 0xd9, - 0x73, 0x96, 0x0b, 0x6a, 0xa6, 0xaf, 0x04, 0x69, 0x46, 0x73, 0x89, 0x78, - 0x4a, 0xe9, 0xcb, 0xcc, 0x6b, 0x2a, 0x69, 0x35, 0x0f, 0xda, 0x17, 0x20, - 0xbd, 0xf8, 0x7a, 0xef, 0xe4, 0x9b, 0xa1, 0xe1, 0x96, 0x7d, 0xf7, 0xdd, - 0x77, 0xa1, 0xd3, 0x64, 0x77, 0x73, 0x13, 0x48, 0x55, 0xd7, 0xf1, 0xfd, - 0xfd, 0xa0, 0x20, 0x56, 0x46, 0x67, 0x68, 0xcd, 0xc7, 0x9e, 0x2b, 0x58, - 0x6d, 0xb1, 0xa4, 0x9b, 0x8c, 0xbe, 0xde, 0x5c, 0x2c, 0x47, 0x0c, 0x8e, - 0xbb, 0xb9, 0x2c, 0x15, 0xb1, 0x1d, 0x6f, 0x6f, 0xae, 0xad, 0x0d, 0x0f, - 0x0f, 0xa3, 0xbd, 0xe3, 0xe1, 0x69, 0xf0, 0xee, 0xfa, 0xf6, 0x06, 0xdd, - 0xf1, 0x57, 0x49, 0x49, 0xbf, 0xac, 0xad, 0x1d, 0xef, 0x5d, 0xb0, 0x06, - 0xf3, 0xed, 0xe1, 0xf9, 0xf0, 0xe8, 0xf4, 0x84, 0xb7, 0x88, 0x51, 0x01, - 0xe2, 0x29, 0x57, 0xc1, 0x65, 0xa1, 0x82, 0x73, 0xf6, 0xee, 0x0c, 0x2b, - 0x9d, 0xd1, 0x2e, 0x48, 0x0c, 0x11, 0x99, 0x4c, 0xbc, 0x51, 0x77, 0x8c, - 0xd6, 0x10, 0x5b, 0x75, 0xda, 0x92, 0xd5, 0x08, 0x73, 0xb9, 0xad, 0x45, - 0xde, 0x88, 0x21, 0x80, 0x1d, 0xc9, 0x48, 0xe2, 0x44, 0x7a, 0x02, 0x3e, - 0x8e, 0x10, 0xe7, 0x20, 0x69, 0xbe, 0x75, 0xe2, 0xc3, 0xa3, 0xb7, 0x67, - 0x24, 0xcf, 0xbf, 0x1b, 0xee, 0x7d, 0x75, 0xc8, 0x8f, 0x7e, 0x95, 0x94, - 0x7e, 0x3f, 0x04, 0xd3, 0x9d, 0x3b, 0x39, 0x49, 0xca, 0x62, 0x1c, 0x2f, - 0x38, 0x60, 0x99, 0xba, 0xe9, 0x0b, 0x3f, 0x0c, 0xda, 0x16, 0xc9, 0xce, - 0xc3, 0x08, 0xcf, 0xf5, 0x79, 0x60, 0xfc, 0x86, 0xed, 0x9e, 0x1f, 0xee, - 0x1d, 0xbc, 0x3d, 0xb4, 0x20, 0x22, 0x81, 0xf1, 0xa3, 0x46, 0xaf, 0xb3, - 0x59, 0x58, 0x71, 0x9a, 0xef, 0x24, 0x5e, 0x7c, 0xfa, 0x86, 0x96, 0x74, - 0x45, 0x77, 0x7e, 0xa3, 0xf0, 0xec, 0xe0, 0x32, 0xdd, 0x94, 0xd6, 0xad, - 0xbf, 0xd8, 0x2d, 0x89, 0x81, 0x68, 0xa8, 0x6c, 0x26, 0x1a, 0x2a, 0x54, - 0xdb, 0xcf, 0xb6, 0xb6, 0xb6, 0x1e, 0x99, 0x07, 0x8c, 0x88, 0x6a, 0x22, - 0xa2, 0xa9, 0xec, 0xf2, 0xe3, 0x9b, 0xbe, 0x7d, 0x23, 0xcd, 0xd0, 0x24, - 0xcb, 0x7f, 0xce, 0x25, 0xa5, 0x20, 0x2d, 0x93, 0xf6, 0x41, 0x8f, 0xb3, - 0xcc, 0xed, 0x41, 0x65, 0x79, 0x26, 0x0c, 0x7c, 0x92, 0x96, 0x06, 0x83, - 0x84, 0x37, 0x64, 0xe8, 0x93, 0x14, 0x0c, 0x28, 0xce, 0x1f, 0xea, 0x4d, - 0xf2, 0x37, 0xd4, 0x26, 0xff, 0x18, 0x64, 0xf9, 0xd5, 0xe6, 0x6c, 0x17, - 0x41, 0x22, 0xf4, 0xd0, 0x1b, 0x06, 0x3f, 0x40, 0x5d, 0x5e, 0x8b, 0xb7, - 0x29, 0x78, 0x69, 0x39, 0xb8, 0xef, 0x03, 0xc6, 0xf5, 0x2b, 0xd6, 0x41, - 0xaa, 0x57, 0x5f, 0xda, 0xcc, 0x2d, 0x06, 0xa1, 0xa5, 0x93, 0x82, 0xb7, - 0x8c, 0x2d, 0x48, 0x03, 0x62, 0x21, 0xd4, 0x0b, 0x7d, 0x2e, 0x44, 0x42, - 0xbf, 0xe6, 0x44, 0x34, 0x83, 0xf2, 0x1e, 0xec, 0x9d, 0xd1, 0x69, 0xd5, - 0x12, 0x0c, 0xae, 0x45, 0x1c, 0x2c, 0xcf, 0x48, 0xfe, 0x8e, 0x25, 0x5d, - 0x63, 0x88, 0x60, 0x68, 0x85, 0x49, 0x71, 0x00, 0x02, 0xdc, 0x70, 0xbd, - 0xcf, 0x7e, 0x1f, 0x14, 0x54, 0x38, 0x7a, 0xf9, 0x80, 0xce, 0x83, 0x49, - 0xc9, 0xea, 0xcf, 0xf5, 0xe6, 0x08, 0xa8, 0x67, 0x48, 0xa3, 0x68, 0xf4, - 0x05, 0xcc, 0x9d, 0x1c, 0x51, 0x5e, 0x85, 0x74, 0x87, 0x9a, 0x10, 0x83, - 0xe4, 0x3e, 0xe6, 0x24, 0x2b, 0xf4, 0x45, 0x7b, 0xb2, 0x89, 0x18, 0x94, - 0x0f, 0xee, 0x69, 0xff, 0xcc, 0x95, 0x98, 0xa0, 0x15, 0xb8, 0xe5, 0x25, - 0xb8, 0x49, 0x30, 0xfb, 0x50, 0x9e, 0x7d, 0x64, 0x30, 0xbb, 0xb4, 0x0a, - 0xfc, 0xc6, 0x7f, 0x6e, 0x0e, 0x8a, 0xe2, 0x7a, 0x33, 0x9d, 0xbc, 0x9f, - 0x14, 0x31, 0x7d, 0x46, 0x7c, 0xad, 0xf1, 0xf1, 0x80, 0x3e, 0x8c, 0x7e, - 0x72, 0x4d, 0xfd, 0x3f, 0xc5, 0xb8, 0x7d, 0x1a, 0xff, 0xb9, 0xc9, 0x50, - 0x50, 0x40, 0x97, 0x0d, 0x56, 0xad, 0x85, 0x75, 0xd0, 0x94, 0x04, 0x75, - 0x8c, 0xce, 0x62, 0x3b, 0x59, 0xf4, 0xaf, 0xa2, 0x8e, 0xd2, 0xda, 0x8f, - 0x3b, 0x5b, 0x5b, 0xdb, 0xbb, 0xdb, 0x9f, 0xbd, 0xdc, 0xda, 0xdd, 0xde, - 0xde, 0xde, 0xd9, 0xdd, 0xde, 0xdd, 0xdd, 0xd9, 0xfa, 0x79, 0xb3, 0xb3, - 0xb6, 0x76, 0x70, 0xfa, 0xdd, 0xc9, 0xf1, 0xe9, 0xde, 0x41, 0x74, 0x71, - 0x4a, 0x6a, 0x2c, 0x1b, 0x21, 0x5a, 0x8e, 0x39, 0x30, 0x80, 0xca, 0x4c, - 0x2e, 0xb5, 0xd0, 0x60, 0xd9, 0xe8, 0x52, 0x2a, 0x16, 0xf3, 0x4b, 0x83, - 0xeb, 0x72, 0xf6, 0x34, 0xef, 0xfa, 0x90, 0x4e, 0x7a, 0x12, 0x07, 0xe5, - 0xb5, 0x9a, 0xa0, 0x5a, 0x6c, 0x62, 0x65, 0x6c, 0xaa, 0xc5, 0x68, 0x5d, - 0x1c, 0xdc, 0xba, 0xb8, 0x98, 0x3d, 0xe8, 0xbe, 0x14, 0x5a, 0x28, 0x02, - 0x8d, 0x27, 0xc4, 0x78, 0x57, 0x87, 0xa4, 0x14, 0x2a, 0x25, 0x81, 0x60, - 0xa3, 0x31, 0xc1, 0xd3, 0x95, 0x53, 0xe2, 0xf2, 0xd2, 0xf7, 0x98, 0x75, - 0x95, 0x47, 0x08, 0xae, 0x95, 0x9f, 0x1d, 0xd0, 0x6c, 0x4c, 0x4f, 0x4b, - 0x73, 0x1b, 0x32, 0xfc, 0xd2, 0x2d, 0xdd, 0x71, 0x3f, 0xc6, 0x3a, 0x7c, - 0x17, 0xfc, 0x4d, 0x78, 0xe3, 0x6c, 0x3a, 0xbb, 0x92, 0x0c, 0xe0, 0xdd, - 0xf0, 0xe8, 0xe4, 0x2b, 0x38, 0x8e, 0xbe, 0x3b, 0x3d, 0x3f, 0x18, 0x52, - 0xb3, 0x7c, 0x15, 0xaf, 0xc1, 0xb4, 0x00, 0xe0, 0x34, 0x19, 0x95, 0xd0, - 0x3f, 0x77, 0xfd, 0x67, 0x28, 0x18, 0x88, 0xd8, 0x95, 0x1c, 0x07, 0x0c, - 0x33, 0x10, 0x15, 0x19, 0x7f, 0xa7, 0x9d, 0xbb, 0xe1, 0x28, 0xc8, 0xeb, - 0x5f, 0xcc, 0x62, 0x46, 0xf9, 0x4c, 0x06, 0x82, 0xb1, 0x85, 0x68, 0x80, - 0x4d, 0xc6, 0xd7, 0xd8, 0x64, 0x89, 0x75, 0xb3, 0xcc, 0xc0, 0x27, 0xd0, - 0x4a, 0x96, 0x3b, 0x5c, 0xd4, 0xca, 0x8a, 0xf0, 0x01, 0xbb, 0x9c, 0xc6, - 0x57, 0xe8, 0xb0, 0x79, 0xf6, 0x82, 0xce, 0xb4, 0xfb, 0x0f, 0xed, 0x92, - 0xd9, 0x1b, 0xda, 0x3b, 0x2a, 0x5d, 0xda, 0x33, 0x40, 0x85, 0xd4, 0xe2, - 0x2d, 0xf2, 0x11, 0xea, 0x65, 0xb0, 0xef, 0x9c, 0xeb, 0x17, 0xd4, 0x01, - 0x5c, 0xb5, 0xb6, 0xd3, 0x9a, 0x98, 0x0b, 0xfa, 0x41, 0x26, 0x8d, 0x08, - 0xf5, 0xdc, 0x52, 0xa0, 0x21, 0x4b, 0x08, 0x38, 0xfa, 0x44, 0x6e, 0x10, - 0x94, 0x42, 0x59, 0x72, 0x1e, 0x0c, 0x8d, 0x9d, 0x65, 0x10, 0x4d, 0x1a, - 0x51, 0x81, 0xad, 0xc3, 0xe8, 0xb9, 0xe9, 0x38, 0x2d, 0x3b, 0x96, 0x97, - 0xe2, 0x51, 0x98, 0xbc, 0x67, 0xab, 0x28, 0x69, 0x28, 0x31, 0x5d, 0x1d, - 0x5a, 0xa1, 0x51, 0x33, 0x34, 0xb3, 0xd9, 0x4c, 0x52, 0xf7, 0x3a, 0x9c, - 0xc0, 0xe0, 0x5b, 0x49, 0x35, 0xfd, 0xc6, 0x61, 0x22, 0x31, 0x93, 0xe5, - 0xde, 0x05, 0x60, 0x0c, 0xab, 0xee, 0xf8, 0xb9, 0x37, 0xe8, 0x30, 0x2f, - 0x26, 0x71, 0x93, 0x18, 0xa5, 0x50, 0x8e, 0xc6, 0xb1, 0x07, 0x80, 0xec, - 0x95, 0x65, 0x0b, 0x8b, 0x4e, 0x34, 0x58, 0x6a, 0x35, 0x19, 0x62, 0x0d, - 0xa1, 0xaf, 0x2e, 0x13, 0x26, 0x58, 0x1e, 0xc9, 0xc2, 0xf1, 0xaf, 0xf2, - 0x5e, 0xa4, 0x65, 0x91, 0x4c, 0x2f, 0xd9, 0xd0, 0xc0, 0xd1, 0x01, 0x24, - 0x0f, 0x88, 0xb5, 0x30, 0xae, 0x80, 0x13, 0x5b, 0xc4, 0xeb, 0x72, 0x4e, - 0xe2, 0x76, 0xac, 0xee, 0x60, 0xe1, 0x19, 0x57, 0x60, 0x9c, 0xaa, 0x3f, - 0x57, 0x19, 0x85, 0x78, 0x5c, 0x06, 0x06, 0xdd, 0xbd, 0x16, 0x39, 0xdc, - 0xd5, 0xda, 0x14, 0x1c, 0x38, 0x18, 0xd0, 0x99, 0x40, 0x1d, 0xc1, 0x83, - 0xcb, 0x11, 0xad, 0xb6, 0x7b, 0x8e, 0xd7, 0x8e, 0x8d, 0xd7, 0x58, 0xb5, - 0xfd, 0xb0, 0x1a, 0x86, 0x80, 0xd2, 0x35, 0xc1, 0xa1, 0x53, 0x2d, 0xb8, - 0x4c, 0x07, 0x0d, 0xe1, 0x99, 0xcb, 0xc2, 0xad, 0x28, 0xc0, 0x99, 0x63, - 0x57, 0x08, 0xa5, 0xed, 0x18, 0x2a, 0x47, 0x5a, 0x7d, 0x0e, 0x9f, 0x3e, - 0x82, 0xcd, 0x21, 0x99, 0xc4, 0x3f, 0x7d, 0x90, 0x53, 0x12, 0x58, 0x0d, - 0x5a, 0x0f, 0xa3, 0x0e, 0xe2, 0x83, 0x3a, 0xc6, 0x5c, 0x01, 0xbc, 0x59, - 0x88, 0x99, 0xd3, 0xc7, 0xbe, 0x88, 0x67, 0x15, 0xb1, 0xe5, 0x2d, 0xd8, - 0x8f, 0x15, 0x70, 0x3f, 0x1c, 0x04, 0x09, 0x6c, 0xdd, 0x8d, 0xbe, 0x8c, - 0x8b, 0x74, 0xdc, 0x8b, 0x0e, 0x52, 0x12, 0xd4, 0xcb, 0x9e, 0xc7, 0xe7, - 0x73, 0xb8, 0x86, 0x83, 0xe8, 0x3b, 0x2b, 0xac, 0x45, 0x77, 0x2e, 0x42, - 0x1d, 0x61, 0x31, 0x74, 0x59, 0x4e, 0x6b, 0x62, 0x8c, 0x55, 0x73, 0xaa, - 0xcb, 0x29, 0x22, 0x2a, 0x42, 0xdb, 0x1e, 0x78, 0x0c, 0x9b, 0x19, 0x17, - 0x37, 0x55, 0xfc, 0x6c, 0x11, 0xa9, 0x0a, 0x36, 0x0b, 0xb2, 0xfc, 0x83, - 0xf5, 0x9d, 0x6b, 0x7d, 0x02, 0xa5, 0x39, 0xfc, 0xed, 0xa8, 0xdc, 0xb0, - 0xe8, 0x61, 0xba, 0x29, 0x34, 0x1e, 0xc6, 0x5c, 0xb8, 0xb8, 0x8d, 0xec, - 0xb8, 0xae, 0x21, 0x98, 0x9a, 0xd6, 0x89, 0x57, 0x44, 0xf9, 0xc9, 0xe9, - 0xc5, 0xe1, 0x1f, 0xa2, 0x21, 0x31, 0xeb, 0xc4, 0x53, 0x0e, 0x1f, 0x72, - 0xf6, 0x62, 0xab, 0x7b, 0xa9, 0xb1, 0xa7, 0x2e, 0xb3, 0x51, 0xad, 0x7e, - 0x16, 0xfd, 0x2f, 0x55, 0x4f, 0xee, 0xa4, 0xc8, 0x27, 0xaf, 0x0c, 0x68, - 0xf6, 0x36, 0x8d, 0x23, 0x57, 0xfb, 0x91, 0xe7, 0xfe, 0x9e, 0x49, 0xff, - 0xbd, 0x47, 0x8e, 0x5e, 0xea, 0x8b, 0xc0, 0x02, 0xe3, 0x76, 0xd4, 0x22, - 0x00, 0x23, 0xca, 0x38, 0xcd, 0xe9, 0x0a, 0x66, 0x3e, 0x35, 0x16, 0x94, - 0x45, 0xc4, 0xa8, 0x61, 0xec, 0x6c, 0xe2, 0x88, 0x47, 0x44, 0x57, 0x58, - 0x2e, 0x66, 0x5a, 0x70, 0xb0, 0xfa, 0xfa, 0xa2, 0x76, 0xee, 0x42, 0x56, - 0x8a, 0x1c, 0x42, 0xa4, 0x65, 0xa1, 0xb0, 0x82, 0x02, 0xd2, 0xad, 0x21, - 0x20, 0x8c, 0x5a, 0x85, 0x2c, 0x31, 0x77, 0x37, 0x5b, 0x20, 0xd8, 0x71, - 0xbc, 0x0e, 0xd3, 0xe9, 0x24, 0x9a, 0x3d, 0x68, 0x7e, 0xac, 0xf2, 0x61, - 0xce, 0x4a, 0x81, 0xae, 0xf2, 0xd9, 0x67, 0x8d, 0x7b, 0xf7, 0xde, 0x3d, - 0xbd, 0x4b, 0x5f, 0x07, 0x3a, 0xd1, 0x94, 0x9d, 0x89, 0x56, 0xc1, 0xc5, - 0x2b, 0x46, 0x0d, 0x81, 0x33, 0x4c, 0x80, 0x93, 0x0e, 0x9d, 0x91, 0xb0, - 0x65, 0x5f, 0x5c, 0x85, 0x9a, 0x35, 0x91, 0xb8, 0x15, 0x21, 0xbe, 0x10, - 0x97, 0xf4, 0x0a, 0x11, 0xd4, 0x4e, 0x5e, 0x7d, 0xb0, 0x81, 0x80, 0x42, - 0x42, 0xd2, 0x80, 0x65, 0x1a, 0x96, 0xb7, 0x86, 0x99, 0x36, 0xcc, 0x99, - 0x16, 0x3a, 0x18, 0x07, 0x5f, 0x57, 0x03, 0xa3, 0x77, 0x48, 0xe8, 0xee, - 0xc6, 0xe8, 0xbf, 0x5b, 0x3d, 0x9c, 0x77, 0xff, 0xca, 0x70, 0xc6, 0x4d, - 0xbe, 0xa8, 0x65, 0x5e, 0x79, 0x69, 0x82, 0x32, 0x86, 0x52, 0x4f, 0x99, - 0xf3, 0x7a, 0xac, 0x78, 0xac, 0xd4, 0x62, 0x90, 0xf2, 0x88, 0xb8, 0xa7, - 0x92, 0x44, 0x5a, 0x42, 0xb8, 0x5a, 0x6b, 0x02, 0xf1, 0x7e, 0xc0, 0x38, - 0x64, 0x3b, 0xc0, 0x7e, 0x48, 0x1d, 0xce, 0x11, 0x38, 0xa0, 0x09, 0xb8, - 0x9a, 0xfc, 0x45, 0x8d, 0x9e, 0xef, 0x9d, 0x7c, 0x75, 0x08, 0x7a, 0x65, - 0xb6, 0xe1, 0xf3, 0x06, 0x39, 0x9b, 0xa9, 0x9f, 0x4b, 0x95, 0xef, 0x3b, - 0x31, 0xf3, 0xd0, 0x1b, 0x93, 0xe5, 0x98, 0x3d, 0xa8, 0xef, 0x0a, 0x2b, - 0xb4, 0x0d, 0xc8, 0xc1, 0x29, 0xca, 0x83, 0x33, 0xcb, 0x50, 0x5f, 0xe5, - 0x5a, 0x64, 0xba, 0x15, 0x28, 0x9e, 0xaf, 0xe4, 0x4c, 0xcd, 0x47, 0xc5, - 0x72, 0xb4, 0x88, 0x35, 0xa9, 0x26, 0x0e, 0xf3, 0x34, 0x54, 0x92, 0x1d, - 0x54, 0xa6, 0xc0, 0xbc, 0x4f, 0x22, 0xf5, 0x9c, 0xd4, 0x94, 0x43, 0x6a, - 0x1a, 0x84, 0x1a, 0x83, 0xe0, 0xbc, 0x6c, 0x6f, 0x6d, 0x79, 0xf0, 0x90, - 0xd8, 0x35, 0xd8, 0xd8, 0xc5, 0x3c, 0xda, 0xea, 0xbf, 0x7c, 0xb9, 0x6a, - 0xbb, 0x5c, 0xa3, 0xc8, 0x1b, 0x78, 0xf1, 0xc1, 0x6d, 0xf6, 0xf9, 0xd1, - 0x55, 0x6d, 0xb6, 0xdc, 0x8d, 0xa8, 0x1e, 0xa0, 0x7e, 0xe2, 0xc2, 0x05, - 0x23, 0xa8, 0x0c, 0x2d, 0x86, 0x1b, 0x98, 0xd1, 0xe6, 0xee, 0x82, 0xe4, - 0xa5, 0x5c, 0x8b, 0xdc, 0x4d, 0x06, 0x2c, 0x1c, 0x13, 0xb7, 0x17, 0xec, - 0x2a, 0x4e, 0x9d, 0x83, 0xea, 0x83, 0x16, 0x26, 0x10, 0x91, 0x56, 0x2c, - 0xd1, 0x65, 0x73, 0x36, 0x6a, 0x7f, 0x89, 0x48, 0xf2, 0x3e, 0x63, 0x75, - 0x8a, 0xa4, 0x6f, 0x11, 0x39, 0x49, 0x7e, 0x82, 0x5e, 0xbd, 0x59, 0x93, - 0xa6, 0xde, 0x69, 0xe5, 0x2c, 0x06, 0x46, 0x67, 0x17, 0x82, 0x40, 0xb0, - 0xa6, 0x73, 0x09, 0x09, 0xf1, 0xfb, 0xbf, 0x42, 0xb5, 0xbb, 0x88, 0xfa, - 0x01, 0x53, 0x52, 0x88, 0x11, 0xe6, 0x48, 0xb3, 0x07, 0xbb, 0x65, 0xb5, - 0x07, 0xb4, 0x6e, 0x76, 0x9a, 0x4a, 0xc1, 0xc7, 0x9e, 0x8a, 0x46, 0xa0, - 0xa1, 0x06, 0x53, 0x6a, 0xe9, 0x52, 0xba, 0x01, 0x93, 0xab, 0xb1, 0xa0, - 0x0f, 0x1b, 0x4a, 0xdc, 0x52, 0x29, 0xcf, 0xe4, 0xb0, 0x94, 0xb3, 0xd6, - 0x54, 0xbe, 0xae, 0xab, 0x7a, 0x8a, 0x3e, 0xc7, 0x0f, 0xe2, 0x04, 0x65, - 0xbb, 0x6b, 0xd1, 0xbf, 0x3b, 0xb8, 0x47, 0x86, 0xc5, 0xe7, 0xd3, 0x2a, - 0x6e, 0xd6, 0x86, 0xd9, 0xaa, 0xf3, 0x5e, 0xc8, 0xfb, 0xd2, 0x75, 0xdc, - 0xde, 0x9d, 0xbc, 0x6f, 0xeb, 0xd1, 0x42, 0xf7, 0x7c, 0x73, 0x29, 0xee, - 0x8c, 0x8b, 0x44, 0xb6, 0xec, 0x79, 0x16, 0xb0, 0xc1, 0x30, 0xb4, 0xc4, - 0xbb, 0x85, 0x47, 0xaf, 0x45, 0x1a, 0xe8, 0x0e, 0x54, 0x1a, 0x26, 0x1c, - 0xc0, 0x66, 0x82, 0xbd, 0xdd, 0xc0, 0xd3, 0x7f, 0xa9, 0x39, 0xf9, 0x28, - 0x99, 0x70, 0x74, 0x69, 0xd9, 0x78, 0x1e, 0xe2, 0x20, 0x5f, 0xce, 0x65, - 0x16, 0xb0, 0x99, 0xd3, 0xe0, 0xe3, 0xe2, 0x1a, 0x0e, 0x60, 0x27, 0xe3, - 0x37, 0x0d, 0x3f, 0x61, 0x9a, 0x3e, 0x31, 0x7b, 0xe1, 0xf4, 0x60, 0xac, - 0x95, 0xa5, 0xa8, 0xae, 0x40, 0x20, 0x12, 0x7f, 0x28, 0xe9, 0x33, 0xd7, - 0x68, 0x35, 0xf6, 0x81, 0xfa, 0x1b, 0xc5, 0xd5, 0x6a, 0x34, 0x57, 0x55, - 0x29, 0xa4, 0x2d, 0xb9, 0x8d, 0x21, 0xc1, 0xa3, 0x22, 0x15, 0xb2, 0x22, - 0x6b, 0x4b, 0x08, 0x71, 0x0c, 0x65, 0xfe, 0x24, 0x49, 0xd2, 0x38, 0xad, - 0xa6, 0x8e, 0x41, 0x8f, 0xf2, 0xd0, 0x1e, 0x9a, 0x2c, 0xc1, 0x18, 0xdf, - 0x12, 0x81, 0x06, 0x0b, 0x34, 0x43, 0x2b, 0x67, 0xd2, 0x27, 0x66, 0x28, - 0x03, 0x94, 0x4c, 0x04, 0x14, 0x11, 0x3c, 0x1d, 0x5e, 0xb0, 0x9c, 0x08, - 0xb9, 0xd6, 0x44, 0x99, 0x6f, 0x0f, 0xcf, 0xbf, 0x3c, 0x1d, 0x1e, 0x12, - 0x8b, 0x38, 0x38, 0xfc, 0xf2, 0x1d, 0xb3, 0x0f, 0xde, 0x31, 0xe7, 0xcc, - 0x2b, 0x14, 0x33, 0x16, 0x09, 0x20, 0x4e, 0xcc, 0x93, 0x44, 0xb6, 0x9e, - 0x51, 0x86, 0xc6, 0x1b, 0xa9, 0x20, 0xc8, 0xa5, 0xa2, 0x79, 0xa3, 0x53, - 0x44, 0x7a, 0x79, 0xa0, 0x06, 0x16, 0xff, 0xe6, 0x8c, 0x97, 0x5a, 0x5a, - 0x81, 0x02, 0xc3, 0xeb, 0x2c, 0x76, 0xbd, 0x78, 0x77, 0x2b, 0x6a, 0xb8, - 0x1e, 0x08, 0x5f, 0xdf, 0xc3, 0x2a, 0x79, 0x0c, 0x82, 0xca, 0x94, 0x8a, - 0xc5, 0x3b, 0xcd, 0xe4, 0x02, 0xe3, 0xdc, 0x0f, 0x1c, 0x66, 0x00, 0x4d, - 0xa7, 0xa8, 0xf7, 0xa5, 0x58, 0x7a, 0x5a, 0x55, 0xa3, 0x10, 0x82, 0x23, - 0x3e, 0x23, 0xd9, 0x00, 0x56, 0xd5, 0x1a, 0x6c, 0xa8, 0x48, 0x24, 0xcb, - 0x54, 0x2e, 0x50, 0x35, 0x53, 0x4b, 0x34, 0x85, 0x62, 0xc4, 0xad, 0xf3, - 0x91, 0xe0, 0x3c, 0x6f, 0x11, 0x78, 0x05, 0x0b, 0x55, 0x8a, 0x4f, 0x38, - 0x30, 0x1d, 0x5e, 0xf9, 0x8d, 0x41, 0x9d, 0x74, 0x6e, 0x57, 0xb3, 0x83, - 0x0b, 0x99, 0x29, 0x67, 0x04, 0xca, 0x9d, 0x1c, 0x22, 0x02, 0x84, 0xe9, - 0x2c, 0x1c, 0x34, 0xe2, 0x50, 0xa1, 0xe4, 0x3c, 0x71, 0xd0, 0x56, 0x20, - 0xc4, 0xad, 0x2e, 0x57, 0x61, 0xa6, 0x02, 0x0d, 0x35, 0xf1, 0x01, 0x9b, - 0xae, 0xae, 0x25, 0x31, 0x65, 0x6c, 0x29, 0xec, 0x1f, 0x51, 0xbd, 0xe2, - 0xa0, 0x9e, 0x41, 0x69, 0x5d, 0x2a, 0x55, 0x94, 0xf7, 0x65, 0x68, 0x25, - 0x22, 0xde, 0xb8, 0x76, 0x70, 0x78, 0xb1, 0x77, 0x74, 0x7c, 0x78, 0x10, - 0x1d, 0x9d, 0xbc, 0x39, 0x3d, 0x7f, 0xbb, 0x77, 0xa1, 0x5e, 0x92, 0x03, - 0xa7, 0x67, 0xb9, 0x02, 0x0d, 0x4e, 0x8d, 0xf5, 0x3a, 0x18, 0x68, 0x98, - 0xb6, 0xf1, 0x4a, 0x71, 0x52, 0x64, 0x1d, 0x92, 0xca, 0x22, 0xac, 0x45, - 0xea, 0x5d, 0xf1, 0x25, 0x17, 0xf8, 0x8e, 0xde, 0x74, 0x16, 0xf1, 0x81, - 0xad, 0xa7, 0x69, 0x49, 0x00, 0x3b, 0x7a, 0xb4, 0x29, 0x57, 0x27, 0x48, - 0x6e, 0x27, 0xde, 0x4f, 0x49, 0xd1, 0x00, 0x51, 0xf6, 0x8f, 0x38, 0x23, - 0x11, 0xf6, 0x03, 0xad, 0x7b, 0x7b, 0x54, 0xba, 0x3a, 0x62, 0x4c, 0x2f, - 0xdc, 0x8e, 0x03, 0x3c, 0x06, 0x09, 0xa2, 0x8a, 0x67, 0xd0, 0xa6, 0x4b, - 0x96, 0xb1, 0x9a, 0x0a, 0x12, 0x09, 0x26, 0x05, 0x10, 0x82, 0x0d, 0xd6, - 0xcc, 0x5a, 0x22, 0x67, 0xf5, 0xed, 0xdd, 0x97, 0xc9, 0xdc, 0x95, 0x94, - 0x7e, 0xa3, 0x8d, 0x78, 0x2e, 0x6a, 0xb6, 0x48, 0x45, 0x70, 0x0b, 0x9b, - 0x5a, 0x77, 0x56, 0x74, 0x92, 0x5e, 0xfa, 0x47, 0x0a, 0xdb, 0xc4, 0x6b, - 0xb1, 0xb1, 0x26, 0x35, 0xe9, 0xe6, 0x96, 0x8d, 0xed, 0xc2, 0x09, 0xbc, - 0xd0, 0x1d, 0x94, 0x64, 0xd1, 0xe3, 0xe6, 0x0f, 0x6e, 0x61, 0xa4, 0x76, - 0x40, 0x0f, 0x71, 0xfd, 0xba, 0xbe, 0x76, 0x6f, 0x15, 0xa9, 0x59, 0x48, - 0xb2, 0x2d, 0x14, 0x01, 0x0a, 0x62, 0xc0, 0x88, 0x18, 0x15, 0x24, 0x13, - 0x5e, 0x03, 0x99, 0x07, 0x08, 0xbc, 0x34, 0xc3, 0x27, 0x6b, 0x02, 0xde, - 0x56, 0xe9, 0xea, 0xc7, 0x34, 0xaa, 0xd3, 0xba, 0xda, 0x45, 0x43, 0xf7, - 0x2c, 0x56, 0x32, 0x78, 0x21, 0xf6, 0x8e, 0x43, 0xac, 0xff, 0xba, 0x01, - 0x35, 0x33, 0xcd, 0x6a, 0x83, 0x6a, 0xfd, 0x6e, 0x9a, 0x5a, 0x2b, 0x93, - 0x0a, 0x5f, 0xac, 0xba, 0xda, 0x42, 0x56, 0x6f, 0x5d, 0x63, 0xf4, 0x93, - 0xb6, 0x11, 0x28, 0x1b, 0x47, 0x65, 0x41, 0xa2, 0x2a, 0x86, 0xa1, 0x8e, - 0xe1, 0x72, 0xe2, 0x14, 0xfb, 0x35, 0x05, 0x21, 0x54, 0x56, 0x09, 0xf3, - 0x5f, 0x98, 0x3b, 0x39, 0xe6, 0xf2, 0x37, 0x5c, 0xd0, 0x47, 0x4b, 0x5d, - 0x05, 0x81, 0xce, 0xd1, 0x5b, 0xb8, 0x53, 0xb4, 0x38, 0x33, 0x73, 0xbd, - 0xf9, 0x9a, 0x01, 0xc1, 0xd9, 0x4b, 0x63, 0x15, 0x44, 0xc1, 0xfe, 0x25, - 0x8b, 0x16, 0x5c, 0x9e, 0xfd, 0x71, 0x5c, 0x08, 0x1a, 0xb6, 0x04, 0xd6, - 0x89, 0xe5, 0xd2, 0x00, 0x09, 0x60, 0xae, 0xce, 0xf4, 0x86, 0xdb, 0xc7, - 0x97, 0x33, 0xed, 0x0b, 0xd8, 0x40, 0xcc, 0x29, 0x4f, 0x76, 0x28, 0x24, - 0xf2, 0xca, 0xb5, 0x82, 0xcb, 0x8e, 0xb3, 0x7b, 0xf3, 0x29, 0xc2, 0x68, - 0x34, 0xa4, 0xeb, 0x2c, 0x2b, 0xe4, 0xbc, 0x41, 0xda, 0xee, 0x08, 0x9a, - 0x3d, 0x93, 0x41, 0x67, 0x71, 0x4d, 0x7d, 0x74, 0xa2, 0x2b, 0xd6, 0x57, - 0x46, 0x34, 0xf4, 0x06, 0x07, 0x9d, 0xc8, 0xe3, 0xaf, 0xcf, 0xe3, 0xcb, - 0x38, 0x99, 0x7e, 0xbc, 0xb3, 0x35, 0x8c, 0xaf, 0x96, 0xd3, 0xf8, 0x8f, - 0x78, 0xf1, 0xf5, 0xb3, 0x67, 0x3b, 0x5b, 0x9f, 0x7e, 0xb6, 0xd5, 0x09, - 0x7c, 0x1d, 0x35, 0x47, 0x29, 0xfc, 0x5e, 0xa8, 0x14, 0xcb, 0x8c, 0x17, - 0xfd, 0x0c, 0xc6, 0x57, 0x29, 0x77, 0xf3, 0x35, 0x4b, 0x2f, 0xba, 0x06, - 0x31, 0xdc, 0xfa, 0xc2, 0x27, 0xa5, 0xd6, 0x0d, 0x27, 0x3c, 0x13, 0x5d, - 0x7f, 0xb4, 0xbd, 0x2b, 0xac, 0xec, 0x0a, 0xb6, 0x95, 0x58, 0x28, 0x36, - 0x7a, 0x95, 0xce, 0xe9, 0x0a, 0xfa, 0x3c, 0x2a, 0xe3, 0x2b, 0x47, 0xab, - 0x68, 0xc1, 0x15, 0x91, 0x35, 0x6b, 0xee, 0x25, 0x13, 0x79, 0xca, 0x75, - 0xb3, 0x2f, 0x04, 0x2c, 0x0a, 0x92, 0xcf, 0x22, 0xc9, 0xa7, 0x92, 0xa3, - 0x18, 0xcf, 0x2c, 0x1e, 0x90, 0xdf, 0x67, 0x6f, 0xf2, 0x60, 0x31, 0x75, - 0x25, 0x73, 0xa1, 0x85, 0xa5, 0x9e, 0xe0, 0xa6, 0x8b, 0xc2, 0x57, 0x7e, - 0x91, 0xfb, 0x46, 0x40, 0xb4, 0x00, 0x43, 0x15, 0xd3, 0x62, 0x01, 0xd5, - 0xbe, 0x83, 0x59, 0xf5, 0x5c, 0x01, 0x89, 0xfe, 0xc4, 0x66, 0x3a, 0xc0, - 0xef, 0x28, 0x94, 0xa5, 0xf5, 0x3c, 0x3b, 0x0b, 0x49, 0x5e, 0x71, 0x75, - 0x0b, 0x34, 0x07, 0xb4, 0x32, 0xaf, 0xd8, 0x87, 0x6b, 0x44, 0xaf, 0x4c, - 0xd1, 0xdd, 0xfe, 0xfc, 0x35, 0x08, 0x62, 0xfb, 0xf3, 0x3f, 0xba, 0xcf, - 0x76, 0xf4, 0xb3, 0x9d, 0xcf, 0xff, 0x38, 0x18, 0x60, 0x7c, 0x4c, 0x21, - 0x5d, 0xfb, 0xba, 0xab, 0x19, 0x71, 0xb1, 0x1e, 0x61, 0xf9, 0xcb, 0xe1, - 0xa5, 0xc8, 0x5e, 0x77, 0xac, 0xe7, 0x70, 0x95, 0x7b, 0x6a, 0x3f, 0x76, - 0x7c, 0x2b, 0x35, 0xf4, 0x55, 0xc0, 0x18, 0x16, 0x6d, 0x8b, 0xee, 0xcc, - 0x5c, 0x68, 0xa7, 0x70, 0x40, 0x13, 0x71, 0xf4, 0x27, 0xa6, 0xd4, 0x3f, - 0xad, 0x45, 0x6a, 0xe6, 0xe5, 0xed, 0x40, 0xc5, 0xb4, 0xc8, 0xc8, 0x56, - 0x6a, 0x3d, 0x0b, 0xd2, 0x15, 0xb7, 0xcc, 0x01, 0x80, 0x7c, 0x09, 0x06, - 0xb8, 0xfd, 0x7f, 0x56, 0xa0, 0x16, 0xd9, 0x70, 0xe6, 0x67, 0x08, 0xb5, - 0x97, 0x94, 0x15, 0x41, 0xe8, 0xd7, 0xcd, 0xfa, 0xf8, 0xfb, 0xef, 0x55, - 0x9e, 0xa2, 0x5f, 0x74, 0xdc, 0xd7, 0xc4, 0x89, 0x26, 0xc4, 0xdc, 0x66, - 0xc0, 0x86, 0xd7, 0x6a, 0x0b, 0x7a, 0xe3, 0x5f, 0xea, 0x3c, 0xa5, 0x11, - 0xda, 0x58, 0x29, 0x21, 0xca, 0x23, 0xc3, 0x92, 0x1e, 0x0a, 0x13, 0x03, - 0x65, 0xae, 0xc3, 0x9d, 0xe5, 0x63, 0x05, 0x42, 0xc2, 0xe7, 0x9d, 0xc3, - 0xa6, 0x83, 0xf6, 0xa9, 0x31, 0x53, 0x85, 0x75, 0x23, 0x41, 0xb1, 0x22, - 0xe4, 0xbc, 0xee, 0xc8, 0x83, 0x57, 0x69, 0x47, 0x8d, 0x94, 0xf2, 0x49, - 0xc7, 0x27, 0x38, 0xca, 0x6e, 0x60, 0xcb, 0x5e, 0x8b, 0xe4, 0x94, 0xfe, - 0x92, 0xbc, 0xde, 0xde, 0x6a, 0x7f, 0x82, 0xd5, 0x21, 0x14, 0x5f, 0x7f, - 0xed, 0x8d, 0xbc, 0x8f, 0x3d, 0x9f, 0x4e, 0xe4, 0x69, 0xad, 0x77, 0x86, - 0xa2, 0x11, 0xaf, 0x3b, 0x23, 0xbe, 0x5f, 0xf9, 0xff, 0x57, 0x8c, 0x03, - 0x01, 0x4b, 0xfa, 0x6c, 0xb1, 0x1c, 0xcd, 0xd2, 0xca, 0x80, 0x37, 0x79, - 0x82, 0x9f, 0xc3, 0xac, 0x92, 0x38, 0xda, 0x40, 0x39, 0x4c, 0x11, 0xfd, - 0xba, 0x97, 0x59, 0x36, 0x8a, 0xf3, 0xae, 0x1a, 0x02, 0x6d, 0x9c, 0xdd, - 0xed, 0x9d, 0x67, 0xcf, 0x5f, 0x74, 0x07, 0x2a, 0xa6, 0x81, 0x41, 0x40, - 0x33, 0x4b, 0x55, 0x97, 0x91, 0x26, 0x62, 0x39, 0x9e, 0x61, 0x59, 0xeb, - 0x56, 0x83, 0x39, 0xf3, 0x30, 0xee, 0xee, 0xb5, 0xf4, 0xf6, 0x47, 0xee, - 0xe7, 0x35, 0xba, 0xf8, 0x63, 0x3a, 0x79, 0xed, 0x66, 0xf8, 0x47, 0x9e, - 0xcb, 0x6b, 0x9d, 0x04, 0xed, 0xab, 0x45, 0x79, 0x17, 0x1b, 0x6b, 0xad, - 0x5c, 0xad, 0x75, 0x73, 0x6d, 0x13, 0xd7, 0x30, 0x69, 0x78, 0x6b, 0xfa, - 0x13, 0xb1, 0x3e, 0x42, 0x58, 0xf5, 0x51, 0xce, 0x9b, 0xf7, 0x7d, 0x6a, - 0xa5, 0xcf, 0xad, 0xf4, 0x3d, 0xbb, 0x8e, 0x66, 0x9c, 0xd2, 0xc0, 0x1b, - 0xd1, 0xd3, 0x50, 0xf7, 0x29, 0xec, 0x1d, 0x2a, 0x08, 0x64, 0x19, 0x7c, - 0x21, 0xfb, 0x5f, 0x1d, 0x75, 0xd5, 0xc9, 0x28, 0x9a, 0x5b, 0xaf, 0xcd, - 0xc0, 0xe6, 0xdc, 0xfe, 0x9a, 0x3a, 0xbe, 0x66, 0x49, 0xe8, 0x31, 0xfb, - 0xcc, 0xb8, 0x5f, 0xc9, 0x4a, 0xa1, 0xce, 0xf4, 0xce, 0xa1, 0x6b, 0x11, - 0xd0, 0x33, 0x8c, 0x48, 0x1a, 0x34, 0x03, 0x2c, 0x0e, 0x71, 0x9e, 0xc1, - 0xda, 0xea, 0x21, 0x4e, 0xfb, 0x6f, 0x9c, 0x45, 0xdb, 0x85, 0x50, 0xeb, - 0xa3, 0xf4, 0x95, 0x70, 0x13, 0x63, 0x10, 0x1d, 0x57, 0x52, 0x47, 0x28, - 0x21, 0xe4, 0x1d, 0xb0, 0xc7, 0x8f, 0x92, 0x4a, 0xad, 0x16, 0x11, 0x0b, - 0x99, 0x7b, 0xbe, 0x72, 0x35, 0x58, 0x3e, 0x8f, 0x00, 0x62, 0x2e, 0x6f, - 0x69, 0x90, 0x74, 0xa5, 0xf4, 0x24, 0x5e, 0x52, 0xed, 0xc0, 0x59, 0xef, - 0x03, 0xcf, 0xa3, 0x8a, 0x05, 0xd2, 0x82, 0x4c, 0x74, 0xf4, 0xa0, 0xfa, - 0x3f, 0xb7, 0xd0, 0xfd, 0x0b, 0x0e, 0xc1, 0x2b, 0xde, 0x06, 0x7c, 0xfd, - 0x79, 0x57, 0xcc, 0x78, 0x95, 0x62, 0xee, 0x35, 0xef, 0x80, 0x10, 0x68, - 0x38, 0x9f, 0xec, 0xd2, 0x81, 0x70, 0x88, 0x2c, 0xc6, 0x19, 0x90, 0x28, - 0x5a, 0x42, 0xb2, 0xd4, 0x94, 0xd3, 0x9f, 0x58, 0xac, 0x54, 0x59, 0xa8, - 0xa7, 0x8d, 0x27, 0x1c, 0x04, 0xc7, 0xb2, 0x63, 0x97, 0x23, 0x48, 0xf0, - 0x5e, 0xd7, 0x61, 0x7a, 0xb0, 0x48, 0x9d, 0x80, 0xdd, 0xe5, 0x89, 0x15, - 0x51, 0x5a, 0x53, 0x10, 0x09, 0x2f, 0xcb, 0x87, 0x13, 0x2b, 0x02, 0xd1, - 0xc1, 0x07, 0x92, 0x4b, 0x82, 0x6c, 0xe3, 0x88, 0xbc, 0xe1, 0x2c, 0x0d, - 0xed, 0xf4, 0x35, 0x2f, 0xf7, 0xf6, 0xe0, 0x2a, 0xbd, 0x94, 0xc5, 0x20, - 0x16, 0x79, 0x95, 0x6c, 0xd2, 0x9f, 0x5c, 0xea, 0x7c, 0x87, 0x65, 0x32, - 0xfe, 0xe5, 0x19, 0x7c, 0xcf, 0xe1, 0xcd, 0x1f, 0x9c, 0x0d, 0x77, 0x2e, - 0xf8, 0x97, 0xd4, 0xdd, 0xf8, 0x8a, 0x37, 0xa9, 0xa3, 0x04, 0x99, 0x2b, - 0xde, 0x60, 0x00, 0x37, 0x19, 0x14, 0x4e, 0x62, 0x3d, 0x8b, 0x35, 0xd2, - 0x25, 0x07, 0x3e, 0xba, 0x38, 0x2d, 0x75, 0x8e, 0xa9, 0x98, 0xce, 0x52, - 0x77, 0xaa, 0x16, 0x13, 0x8e, 0x11, 0xc5, 0xbd, 0x9a, 0xdc, 0x6d, 0xf4, - 0xc2, 0xe8, 0x17, 0x2b, 0x04, 0xe8, 0x2a, 0x95, 0x22, 0x1f, 0x94, 0xbb, - 0x5f, 0xd7, 0x6a, 0x3d, 0x41, 0x2a, 0x07, 0xb6, 0x39, 0xad, 0xef, 0x60, - 0xb5, 0xe2, 0x8d, 0x04, 0x2d, 0xa4, 0x45, 0xb9, 0x81, 0x42, 0xee, 0xd3, - 0x02, 0xaa, 0x3a, 0x0f, 0x7a, 0x2d, 0x0a, 0xd6, 0xdd, 0xb0, 0x0d, 0xd0, - 0x55, 0x97, 0xeb, 0xef, 0x6c, 0xc2, 0xa7, 0x21, 0xbc, 0xed, 0x70, 0x26, - 0x10, 0xd7, 0x20, 0xdb, 0x69, 0x5f, 0xee, 0x4b, 0x15, 0x82, 0xfa, 0x6f, - 0x06, 0xd1, 0x31, 0x62, 0xb7, 0x8a, 0x58, 0xd2, 0x5e, 0xed, 0x4e, 0x35, - 0x0a, 0x20, 0x72, 0x11, 0xa9, 0x7b, 0x4d, 0x62, 0x22, 0x39, 0xd3, 0xd0, - 0xc8, 0x08, 0xf8, 0x63, 0x5e, 0xcf, 0x14, 0x89, 0x42, 0x25, 0x90, 0x1e, - 0x2c, 0xd1, 0xee, 0x39, 0x94, 0xa2, 0xc2, 0x53, 0x31, 0x82, 0x81, 0x1d, - 0x91, 0x06, 0x8d, 0xb8, 0x42, 0xe1, 0x2c, 0x72, 0x06, 0xac, 0xdc, 0x11, - 0xbe, 0x24, 0x34, 0x26, 0x62, 0x67, 0xd1, 0xaa, 0xa3, 0xe2, 0x87, 0xa1, - 0xd6, 0x40, 0x59, 0x3c, 0x77, 0x26, 0x9d, 0x0e, 0x34, 0xc5, 0x69, 0xe2, - 0xf4, 0x69, 0x45, 0x20, 0xd5, 0xb0, 0x48, 0x05, 0xb4, 0x11, 0x01, 0xc3, - 0xa3, 0xe9, 0xf1, 0x20, 0x79, 0x5c, 0xf1, 0x2d, 0xfd, 0xc2, 0x97, 0xfc, - 0x28, 0xa7, 0x9d, 0xe6, 0x50, 0x69, 0x5e, 0x19, 0xa9, 0x37, 0x1e, 0x14, - 0x62, 0xfa, 0xfa, 0xe2, 0xed, 0x71, 0x64, 0xe9, 0xc3, 0x97, 0x5e, 0x38, - 0xb4, 0xc8, 0x13, 0x4c, 0x51, 0x8d, 0x21, 0x22, 0x01, 0xe9, 0x53, 0x72, - 0xb3, 0xc9, 0xda, 0x72, 0x06, 0x52, 0xc4, 0x8b, 0x53, 0x39, 0xa6, 0xc1, - 0x13, 0xf2, 0x2a, 0xd3, 0x0e, 0x91, 0x46, 0x97, 0x97, 0xa0, 0xdb, 0x8b, - 0xba, 0x3c, 0x54, 0xfe, 0xa2, 0x8b, 0xf5, 0xc4, 0xc7, 0xc1, 0xf2, 0x75, - 0x07, 0x2d, 0x27, 0x8f, 0x9f, 0x79, 0xfd, 0x45, 0x65, 0x95, 0xf0, 0xb9, - 0x35, 0xf5, 0x5a, 0xc2, 0x3d, 0x1b, 0x52, 0xb6, 0xbd, 0x1b, 0xb4, 0xff, - 0x7a, 0x9f, 0x5a, 0x91, 0x42, 0x4f, 0xb2, 0x27, 0x10, 0xa8, 0xdd, 0x67, - 0x29, 0xf2, 0x24, 0x1a, 0x0d, 0x3d, 0x7d, 0x72, 0x2f, 0x8c, 0xfd, 0xb8, - 0x10, 0x17, 0xe1, 0x68, 0x42, 0x02, 0xc6, 0x6d, 0x69, 0x37, 0x53, 0xd1, - 0xf4, 0xee, 0x32, 0xd8, 0x15, 0xc0, 0x67, 0xb6, 0x07, 0x88, 0xa1, 0xf7, - 0x08, 0x28, 0xae, 0x01, 0xa7, 0xae, 0x77, 0xb0, 0xa0, 0x1d, 0xb3, 0x93, - 0x38, 0x25, 0xde, 0x56, 0xb9, 0x69, 0x02, 0xa6, 0xa9, 0x2f, 0xd2, 0x31, - 0x4a, 0x37, 0xbe, 0xfe, 0x62, 0x92, 0x5d, 0x31, 0xbb, 0xea, 0xd1, 0xcd, - 0xca, 0x3f, 0x3b, 0x11, 0x1e, 0xdf, 0xd1, 0x7e, 0x65, 0xcc, 0x38, 0x2e, - 0x22, 0xba, 0xdb, 0xdf, 0x1a, 0x85, 0x13, 0xb5, 0x6c, 0xc9, 0x24, 0x1b, - 0x6b, 0xf3, 0xae, 0x75, 0xd9, 0x13, 0xea, 0xc2, 0x7d, 0xe1, 0xbb, 0x0b, - 0x56, 0x28, 0xd6, 0xb6, 0xa5, 0xea, 0xd6, 0x34, 0x2d, 0xe5, 0x0e, 0x77, - 0x68, 0xd2, 0x30, 0x6c, 0x31, 0x6a, 0xbe, 0x5c, 0x58, 0x53, 0x0d, 0xfa, - 0xee, 0x7e, 0xd1, 0x95, 0x80, 0xbd, 0xee, 0xab, 0x2e, 0x58, 0x17, 0x33, - 0x24, 0xc3, 0x12, 0xd5, 0x5b, 0xa9, 0x2b, 0xd7, 0x61, 0x5f, 0x84, 0x06, - 0xad, 0x89, 0x56, 0x09, 0xb3, 0x60, 0xae, 0x61, 0xda, 0x63, 0x18, 0x21, - 0x02, 0xeb, 0x00, 0x40, 0x8d, 0x31, 0x2a, 0xc6, 0x8f, 0x19, 0x95, 0xe2, - 0x5b, 0xd5, 0xdb, 0x16, 0xf2, 0x18, 0x52, 0x51, 0x0b, 0xf6, 0x1c, 0x8a, - 0x79, 0x73, 0x39, 0x5f, 0x70, 0xe2, 0xd1, 0x18, 0xc5, 0x42, 0xf5, 0x40, - 0x0d, 0xa2, 0x77, 0x73, 0x41, 0x2c, 0x4b, 0x58, 0x47, 0x0e, 0x1d, 0xbf, - 0x3d, 0xe7, 0xc0, 0xa6, 0x95, 0x0a, 0x4e, 0x6f, 0x75, 0xc0, 0x62, 0x13, - 0x11, 0xe3, 0xb5, 0xf6, 0xcb, 0xf7, 0x6b, 0xce, 0x6e, 0x75, 0x35, 0x4e, - 0x43, 0x1c, 0x70, 0x29, 0xa9, 0xca, 0x85, 0xd8, 0x4d, 0x77, 0xf8, 0xe6, - 0xf0, 0xfc, 0xfc, 0xf0, 0x9c, 0xd7, 0x7b, 0xaf, 0x8a, 0xda, 0x7d, 0xad, - 0xf1, 0xbd, 0x1e, 0x54, 0xcb, 0x42, 0x9b, 0x9a, 0xd5, 0x5a, 0x85, 0x1d, - 0x2a, 0x0a, 0xce, 0x5a, 0x64, 0x0e, 0x5b, 0xc9, 0xc3, 0x16, 0xb3, 0x30, - 0x6c, 0x8a, 0x08, 0x6c, 0x73, 0xf6, 0xfb, 0x29, 0xdf, 0x2d, 0x02, 0xbe, - 0x1d, 0x4a, 0x14, 0x6b, 0x91, 0xbd, 0x9a, 0x6b, 0x45, 0x05, 0xdc, 0xd7, - 0xa6, 0x40, 0x06, 0xc2, 0xe9, 0x40, 0x63, 0x91, 0x12, 0x75, 0xc3, 0x4e, - 0x9d, 0x4d, 0x02, 0xf3, 0xbd, 0xe4, 0x53, 0xca, 0xfa, 0x12, 0x56, 0xa2, - 0x28, 0x97, 0x8b, 0x74, 0xe2, 0x4c, 0xbc, 0xf4, 0x39, 0x09, 0x7d, 0x91, - 0x9c, 0xf3, 0xc2, 0x46, 0x0c, 0xaf, 0xa2, 0x19, 0x20, 0x42, 0x0b, 0x9b, - 0x24, 0x3e, 0x7b, 0xfb, 0x18, 0x62, 0xd5, 0xa5, 0x18, 0x9f, 0xe2, 0x05, - 0x83, 0xc5, 0x36, 0x98, 0x51, 0x02, 0xd3, 0x22, 0xf3, 0x0b, 0x73, 0x7a, - 0x87, 0xbc, 0x81, 0xed, 0x57, 0x33, 0x1f, 0xd1, 0xe7, 0x8b, 0xa4, 0x9d, - 0x23, 0xdd, 0x20, 0xdf, 0x8d, 0x7e, 0x2c, 0xd2, 0xf1, 0xcf, 0xfe, 0xfa, - 0x40, 0x20, 0xae, 0x0f, 0xba, 0x13, 0x27, 0x39, 0x4d, 0x5e, 0x17, 0x4a, - 0x15, 0x60, 0x52, 0xfb, 0x06, 0x1c, 0xc3, 0x76, 0x78, 0x1e, 0xed, 0x7d, - 0xc5, 0xc0, 0x3c, 0xff, 0xde, 0xee, 0xf2, 0x73, 0x7a, 0x3d, 0xd8, 0xde, - 0x6a, 0xd2, 0x68, 0x62, 0xe6, 0x6f, 0x45, 0x8b, 0x0f, 0x37, 0x36, 0xb5, - 0x7a, 0x18, 0xfe, 0x8e, 0xaf, 0x6e, 0xe1, 0x5a, 0xf4, 0xe4, 0x26, 0x7e, - 0xc8, 0x16, 0xf2, 0x01, 0x0b, 0x37, 0x51, 0xb2, 0xcd, 0xc5, 0x0d, 0x61, - 0x5b, 0xa3, 0xa3, 0x2f, 0x1a, 0xba, 0xa6, 0x6c, 0xd2, 0x5e, 0xd4, 0x7d, - 0x9b, 0xfd, 0x42, 0xd2, 0x40, 0xbc, 0xf9, 0x6c, 0xb0, 0x15, 0xad, 0x7f, - 0x97, 0xce, 0x5f, 0xbe, 0xf8, 0x4b, 0x74, 0xb4, 0xd1, 0xad, 0x44, 0x2b, - 0x0a, 0x9e, 0xed, 0x28, 0x9e, 0xdf, 0xb8, 0x1d, 0x3b, 0xc5, 0xa9, 0x96, - 0x18, 0x0c, 0xc3, 0x71, 0xdc, 0x05, 0x09, 0xac, 0x6c, 0x11, 0xa9, 0x32, - 0x1a, 0xf8, 0x18, 0x7d, 0xeb, 0x90, 0xc4, 0x58, 0xb1, 0xa7, 0xa7, 0x26, - 0xbc, 0x74, 0x2f, 0x5f, 0x34, 0x9a, 0x78, 0xee, 0xda, 0x78, 0x27, 0x6d, - 0xfc, 0xca, 0x26, 0x76, 0x06, 0x5b, 0x3b, 0xd1, 0xfa, 0xe9, 0x70, 0x73, - 0xc7, 0xb5, 0xd0, 0x6c, 0x62, 0x07, 0x4d, 0xf0, 0x43, 0xd5, 0x97, 0x9f, - 0x73, 0xff, 0x3f, 0x26, 0xf3, 0x9f, 0xa3, 0xf5, 0xef, 0xb7, 0xb7, 0xa9, - 0x81, 0xbf, 0x44, 0x7b, 0x47, 0xdf, 0x47, 0xcf, 0x07, 0xd4, 0xd8, 0x49, - 0x7c, 0xab, 0xcd, 0x29, 0xca, 0xd0, 0x10, 0x8d, 0xd0, 0xf7, 0x8d, 0x36, - 0x5e, 0xd4, 0xda, 0x38, 0x26, 0x65, 0xf0, 0x9e, 0x2e, 0x95, 0xad, 0xc1, - 0xb3, 0x9d, 0x28, 0x7d, 0xf1, 0xd9, 0x27, 0xd6, 0x90, 0xb6, 0x81, 0xef, - 0xab, 0x06, 0x4a, 0xc9, 0x43, 0x25, 0x59, 0xe7, 0xf0, 0x9e, 0x98, 0x19, - 0x38, 0x04, 0x90, 0x2f, 0xaf, 0xe3, 0x7c, 0xa2, 0xe4, 0xc6, 0x85, 0x23, - 0x68, 0xa7, 0xc4, 0x88, 0xcd, 0xde, 0x08, 0x12, 0x79, 0xe9, 0xe6, 0xdc, - 0x6d, 0x0c, 0x87, 0x15, 0x52, 0x7b, 0xf4, 0x2f, 0xd1, 0xdb, 0xe1, 0xd1, - 0x21, 0xcd, 0x68, 0x8b, 0x86, 0xe6, 0xd7, 0x50, 0x06, 0x84, 0xaf, 0xb0, - 0xb8, 0xb4, 0xaa, 0x6b, 0x8c, 0x8d, 0x82, 0x36, 0x4c, 0xd0, 0x96, 0xd0, - 0x24, 0x46, 0xdc, 0xcb, 0x8a, 0x02, 0xfd, 0x72, 0xce, 0x59, 0x7f, 0xef, - 0x8a, 0xf5, 0x06, 0xbd, 0x6b, 0xb9, 0xeb, 0x6f, 0xb2, 0x39, 0x1d, 0x93, - 0x3c, 0xcb, 0x37, 0xb7, 0x07, 0x5b, 0xdd, 0x8a, 0xb8, 0xf0, 0xcd, 0xc1, - 0xa1, 0x24, 0x5a, 0xbd, 0x8d, 0xe7, 0xc4, 0x22, 0x19, 0x76, 0xa0, 0xb8, - 0x61, 0xf7, 0xbb, 0xb8, 0x70, 0xe4, 0xfd, 0xe3, 0x87, 0xf9, 0x3d, 0xed, - 0xe3, 0xa7, 0x83, 0x6d, 0x06, 0x24, 0x63, 0x55, 0xf7, 0xcd, 0x5b, 0xfa, - 0x7b, 0xfb, 0x79, 0x37, 0xe2, 0xaf, 0xaa, 0x6a, 0xbb, 0x9d, 0xd7, 0xb5, - 0xfd, 0xd3, 0xd3, 0x6f, 0x8e, 0x24, 0x12, 0x63, 0x5f, 0x2d, 0xa9, 0x2c, - 0x5d, 0x39, 0x55, 0x58, 0x98, 0x2b, 0xa9, 0x6c, 0x3e, 0x10, 0x1a, 0x0e, - 0xb8, 0x9b, 0x24, 0x59, 0x00, 0x41, 0xac, 0xc6, 0x11, 0x4a, 0x65, 0xd1, - 0x32, 0x32, 0x96, 0xa6, 0xd3, 0x49, 0x15, 0x32, 0x81, 0x71, 0xe6, 0x9d, - 0xd5, 0x76, 0xf4, 0xe0, 0x12, 0x36, 0x63, 0x5f, 0xd6, 0x4e, 0xeb, 0x73, - 0x6b, 0x53, 0x66, 0x75, 0x96, 0xe2, 0xd6, 0xf4, 0xa2, 0x2a, 0xbc, 0xdd, - 0x61, 0x52, 0xf6, 0x65, 0xd0, 0xbb, 0x6a, 0xa8, 0xed, 0xaa, 0xd5, 0xc9, - 0xd9, 0xcc, 0x16, 0x0a, 0x27, 0x0a, 0x6b, 0xf1, 0xc3, 0x82, 0xcb, 0xef, - 0xd1, 0x9c, 0x94, 0x35, 0xa3, 0xc0, 0x64, 0x82, 0xf8, 0xb1, 0x93, 0xbd, - 0xb7, 0x87, 0xaf, 0xbf, 0xdd, 0x3b, 0x7e, 0x77, 0x48, 0xaf, 0x30, 0xa0, - 0xe6, 0xba, 0x87, 0xbf, 0xc2, 0x18, 0x67, 0xe9, 0x38, 0x9b, 0xb2, 0x67, - 0xa9, 0xfb, 0x97, 0xee, 0x9a, 0xc4, 0x09, 0x46, 0x1d, 0x7e, 0x6b, 0x5b, - 0x5e, 0x23, 0xba, 0xe0, 0xbf, 0x76, 0xe4, 0xaf, 0x9d, 0xbf, 0x74, 0x36, - 0x2a, 0x93, 0x6e, 0xa8, 0xc6, 0x4c, 0x2f, 0x77, 0x12, 0x20, 0x86, 0xda, - 0x10, 0x08, 0x4e, 0x95, 0x55, 0xe9, 0x98, 0x5b, 0xc6, 0xae, 0x36, 0x7e, - 0x76, 0x7d, 0xf4, 0x10, 0x2a, 0xde, 0x1d, 0x7e, 0xe9, 0x35, 0x84, 0x8b, - 0x0e, 0x67, 0xee, 0xa8, 0xb8, 0x01, 0x97, 0x35, 0xb7, 0x61, 0x4d, 0x24, - 0xf7, 0x0b, 0x8e, 0x43, 0x5a, 0xef, 0xc8, 0x2f, 0xaf, 0x0f, 0xf6, 0x2e, - 0x0e, 0xf9, 0x05, 0xeb, 0xde, 0xaa, 0xf5, 0x5a, 0x08, 0x29, 0x8f, 0x67, - 0xbd, 0x23, 0x1f, 0xbe, 0xe6, 0x09, 0x75, 0x04, 0x65, 0x5d, 0xa0, 0xf1, - 0x6a, 0xe3, 0xca, 0xe6, 0x1a, 0x8d, 0x17, 0xa4, 0x9a, 0x15, 0x16, 0x30, - 0xb2, 0xde, 0x91, 0xef, 0x3a, 0xce, 0x68, 0xab, 0xc5, 0x28, 0xd5, 0x45, - 0x39, 0x41, 0x80, 0x69, 0x23, 0xc9, 0x45, 0xea, 0xc1, 0xf8, 0xfd, 0x51, - 0xff, 0x84, 0x98, 0x99, 0x02, 0xc4, 0x33, 0xb7, 0xf1, 0x9a, 0x18, 0xc7, - 0x86, 0xa5, 0x2c, 0xdb, 0xde, 0x79, 0xf6, 0x17, 0xac, 0xe7, 0xeb, 0xce, - 0x26, 0xdd, 0x0d, 0x9d, 0xbf, 0x70, 0xd7, 0x69, 0x19, 0x14, 0x99, 0xd0, - 0x6e, 0x58, 0xa1, 0x52, 0x8a, 0x92, 0x68, 0x15, 0xde, 0x75, 0x18, 0xc4, - 0x64, 0x5e, 0x58, 0xd0, 0x3b, 0x09, 0x83, 0xb7, 0x24, 0x68, 0x73, 0xe2, - 0x63, 0xbf, 0x50, 0x04, 0x6d, 0xee, 0x20, 0x1d, 0xa5, 0xbb, 0xf0, 0xfe, - 0xe8, 0xc9, 0xbb, 0x32, 0x47, 0x2d, 0x7d, 0xc1, 0x7d, 0xce, 0x1e, 0x2c, - 0x52, 0x1e, 0x7d, 0x41, 0x28, 0x97, 0x3d, 0x6b, 0xd8, 0x08, 0x46, 0x6a, - 0xd0, 0x31, 0x6d, 0x04, 0x22, 0x01, 0xb1, 0x96, 0x07, 0xc8, 0x49, 0xe2, - 0xf5, 0x0f, 0x82, 0x1d, 0xec, 0xce, 0x8e, 0x47, 0x9c, 0xef, 0xe5, 0xc2, - 0x82, 0x03, 0x55, 0xdc, 0x2d, 0xbd, 0x1d, 0xbf, 0x34, 0x48, 0x79, 0xe7, - 0x8b, 0x52, 0xd6, 0xb2, 0x70, 0x86, 0x23, 0x38, 0x18, 0xf5, 0xd9, 0xea, - 0x3e, 0xd5, 0x02, 0xee, 0x31, 0x0d, 0xd1, 0xe3, 0x45, 0x41, 0x26, 0x56, - 0x33, 0x4f, 0xf2, 0x47, 0x03, 0x1d, 0x5a, 0xfc, 0x4f, 0x98, 0x62, 0x90, - 0xaf, 0xc1, 0xef, 0x0c, 0x06, 0x03, 0x5f, 0x02, 0x81, 0xb7, 0x45, 0xdd, - 0x4e, 0x00, 0x83, 0x0e, 0x70, 0xb9, 0xb0, 0xc6, 0xeb, 0x10, 0xe4, 0x21, - 0x4c, 0x6f, 0x68, 0xd4, 0x8b, 0x9a, 0x24, 0xdc, 0xd1, 0x08, 0x0c, 0x1b, - 0x5d, 0xed, 0xb6, 0x6b, 0xf8, 0xf0, 0x37, 0x6d, 0x9b, 0xf0, 0xc8, 0xd8, - 0xc4, 0xe0, 0x58, 0xc4, 0x48, 0x20, 0x77, 0x7c, 0x2a, 0x73, 0x6b, 0xc1, - 0x14, 0xcc, 0x49, 0xe5, 0x52, 0xd5, 0x11, 0x5b, 0x22, 0x8b, 0xa6, 0x43, - 0xe9, 0x49, 0xbc, 0x01, 0x33, 0xb9, 0xec, 0x0e, 0xf9, 0x88, 0x52, 0xf8, - 0x7c, 0x91, 0xb3, 0xaa, 0x87, 0xe2, 0x78, 0x99, 0x05, 0x6d, 0x9b, 0xb8, - 0xac, 0xed, 0x4c, 0xc4, 0x3e, 0xcb, 0x4a, 0x33, 0xe4, 0x7e, 0x4d, 0xe3, - 0x50, 0xa4, 0xdd, 0x22, 0x56, 0xf4, 0x26, 0x12, 0xdb, 0xb2, 0x19, 0x3c, - 0x5d, 0x3a, 0x79, 0x6f, 0x2b, 0xe1, 0x60, 0xaf, 0xbe, 0x64, 0xf9, 0x5a, - 0xa6, 0x85, 0x71, 0x0f, 0x4d, 0xf9, 0x7c, 0xcc, 0x47, 0x3e, 0xb6, 0x16, - 0x9d, 0x83, 0xbc, 0xb6, 0x36, 0xfe, 0x56, 0xae, 0xb2, 0x2e, 0x5a, 0x51, - 0x31, 0x29, 0x43, 0x50, 0x0e, 0xf8, 0x5e, 0x14, 0xdf, 0x71, 0x25, 0x0e, - 0xa2, 0x41, 0xf1, 0x95, 0x89, 0x59, 0xe6, 0x38, 0x30, 0x2e, 0xba, 0x19, - 0x5a, 0x09, 0x5b, 0x89, 0x2d, 0x92, 0x22, 0xb5, 0x0a, 0xe5, 0x29, 0x30, - 0x64, 0x66, 0xc5, 0x4b, 0x51, 0x54, 0x81, 0x61, 0xa3, 0x54, 0x50, 0x37, - 0xfd, 0x9c, 0x47, 0x4e, 0x2c, 0x7a, 0xa8, 0x74, 0x93, 0x22, 0x2c, 0x90, - 0x0d, 0x1d, 0x12, 0x4b, 0x61, 0xab, 0x25, 0xf5, 0x8b, 0xad, 0x13, 0xe7, - 0x92, 0x86, 0xcd, 0x29, 0x41, 0x4d, 0xe5, 0x79, 0xdf, 0xe5, 0x98, 0xba, - 0xc0, 0xab, 0x3c, 0xbd, 0xba, 0x12, 0x8d, 0x2d, 0xaa, 0x4f, 0xad, 0x9d, - 0xc8, 0x8e, 0x79, 0x55, 0x92, 0xd9, 0xa2, 0x7c, 0x58, 0xb5, 0x9a, 0x17, - 0xae, 0x32, 0xa3, 0x9a, 0x5d, 0x2a, 0xc4, 0x6c, 0x6e, 0x48, 0xd9, 0x37, - 0xc0, 0x3b, 0x49, 0xb2, 0x20, 0xdb, 0xbe, 0xaa, 0x6e, 0xe3, 0xd3, 0x73, - 0x66, 0x62, 0x85, 0xdb, 0xf2, 0x6e, 0xe1, 0x36, 0x1d, 0xb0, 0x27, 0x3e, - 0xea, 0x64, 0xc2, 0xc6, 0xe5, 0x19, 0x5f, 0xc5, 0x77, 0x2e, 0xe4, 0x49, - 0xf0, 0x51, 0x47, 0xb1, 0xd7, 0xb8, 0xd6, 0xa2, 0x8a, 0x89, 0xb7, 0x40, - 0x25, 0x5e, 0xe5, 0x43, 0xd9, 0x6d, 0xe2, 0x91, 0x77, 0xbc, 0x95, 0xd1, - 0xc3, 0xa5, 0xe9, 0xe9, 0x77, 0xcc, 0xa4, 0xe6, 0xd3, 0x75, 0xfc, 0x0a, - 0x93, 0xac, 0xad, 0xca, 0x20, 0x0a, 0x9a, 0x14, 0x5b, 0x49, 0x16, 0xb2, - 0x78, 0x19, 0x9b, 0xba, 0xaa, 0xad, 0x45, 0x0d, 0x4a, 0x07, 0x54, 0x7a, - 0xa0, 0x9a, 0xf0, 0x82, 0xa4, 0xa5, 0x52, 0x55, 0xe1, 0x02, 0xe4, 0xbc, - 0xcb, 0xd7, 0x66, 0xd9, 0x71, 0x9b, 0xd4, 0x41, 0xee, 0xc4, 0x48, 0x89, - 0x00, 0x34, 0xc0, 0x02, 0x9d, 0xf3, 0xda, 0xef, 0x4d, 0xe3, 0x02, 0x25, - 0xd1, 0x11, 0x10, 0x80, 0x2d, 0x03, 0x51, 0xc3, 0x9a, 0x56, 0xe3, 0xa9, - 0x8d, 0xe3, 0xe7, 0x02, 0x34, 0x84, 0xd6, 0x00, 0x9c, 0xc6, 0xcd, 0x10, - 0x95, 0x20, 0x3a, 0x77, 0x6c, 0xcc, 0xfd, 0xf1, 0x24, 0xc2, 0x51, 0xe5, - 0x8c, 0x3e, 0x75, 0x64, 0xcf, 0xce, 0x4f, 0xbf, 0x3a, 0x3f, 0x1c, 0x0e, - 0xa3, 0xb7, 0x87, 0x17, 0xa2, 0xf2, 0x5f, 0x48, 0x34, 0x9c, 0xe0, 0xca, - 0xc2, 0xd7, 0x60, 0x29, 0xfe, 0x16, 0x70, 0x62, 0xf6, 0x04, 0xe0, 0x7d, - 0x66, 0xec, 0x47, 0x83, 0x28, 0x07, 0x75, 0x7e, 0xaa, 0x41, 0x74, 0xd7, - 0xb0, 0xf6, 0x23, 0xa4, 0x09, 0xee, 0x48, 0x67, 0x3c, 0xf7, 0x26, 0xd5, - 0xa0, 0xe0, 0xfa, 0xb5, 0x71, 0x2e, 0x6f, 0x42, 0xd7, 0x9a, 0xd6, 0x98, - 0xde, 0xc7, 0xd1, 0x85, 0x95, 0x1f, 0xfe, 0x98, 0xd4, 0x60, 0xa5, 0x8f, - 0x8f, 0xa3, 0xef, 0xa9, 0xcd, 0x09, 0x97, 0xe4, 0x96, 0x22, 0x73, 0x43, - 0x14, 0x97, 0xf3, 0x35, 0x28, 0x50, 0xfb, 0x30, 0xf8, 0x8f, 0xa8, 0x3c, - 0x7f, 0xa2, 0x84, 0x29, 0xd2, 0xbe, 0x05, 0x90, 0x48, 0x43, 0xea, 0x5c, - 0xcf, 0xfb, 0x28, 0x29, 0x5e, 0x46, 0xd1, 0x71, 0x72, 0x59, 0x42, 0x20, - 0xe1, 0xee, 0xa8, 0xb9, 0x2d, 0x06, 0xd8, 0xdb, 0x7e, 0xcb, 0x1f, 0x6d, - 0x45, 0xcf, 0x3e, 0xfb, 0x64, 0xeb, 0x33, 0xf9, 0xd5, 0xfe, 0x7d, 0xf9, - 0x7c, 0x4b, 0x81, 0x2a, 0xe9, 0xaf, 0xe7, 0xbb, 0xcf, 0xb7, 0x77, 0x19, - 0x40, 0x67, 0x6b, 0x77, 0x8b, 0xfe, 0xff, 0xb9, 0x7e, 0xc2, 0x28, 0x41, - 0x2f, 0x77, 0x3e, 0xfb, 0x14, 0xb1, 0x30, 0x4c, 0x1f, 0x53, 0xea, 0xa4, - 0x5f, 0x66, 0x7d, 0x00, 0x11, 0x40, 0x08, 0xfa, 0xb8, 0x6a, 0x95, 0x64, - 0xe7, 0x3a, 0x97, 0x8f, 0xe3, 0x89, 0xbb, 0x82, 0xb3, 0x66, 0x61, 0x95, - 0x6c, 0xf4, 0xb0, 0x28, 0xa6, 0x9b, 0x86, 0xbe, 0x2d, 0x75, 0x09, 0x01, - 0xe0, 0x51, 0x79, 0x87, 0x44, 0x46, 0x49, 0x06, 0x0a, 0x5f, 0xfe, 0x35, - 0x5d, 0x5b, 0xd2, 0xdc, 0x1a, 0x20, 0x40, 0x74, 0xab, 0xf4, 0x3d, 0xa9, - 0xca, 0xce, 0x55, 0x97, 0x82, 0x62, 0x8b, 0xb5, 0xd2, 0x88, 0xbf, 0xb6, - 0x3f, 0x31, 0x60, 0xf1, 0x5b, 0x4a, 0x0d, 0x51, 0xb3, 0x37, 0xab, 0x11, - 0xd9, 0xd6, 0x57, 0x85, 0x78, 0xd6, 0xfc, 0xf6, 0xfb, 0x95, 0x0a, 0x6a, - 0x29, 0x3a, 0x4c, 0x0c, 0xa9, 0x63, 0xd8, 0x32, 0xe5, 0x46, 0x73, 0xef, - 0x16, 0x61, 0x7b, 0x1f, 0xd2, 0x9c, 0x9f, 0x11, 0x28, 0xd8, 0xed, 0x5c, - 0x3f, 0xd8, 0x9c, 0x54, 0xe2, 0xda, 0x5c, 0x41, 0x44, 0x43, 0x6e, 0x72, - 0x75, 0xd4, 0xf0, 0xaa, 0x23, 0xd9, 0xbe, 0xbc, 0xa1, 0xe2, 0x67, 0x81, - 0x14, 0x17, 0x11, 0x14, 0x6e, 0x33, 0xdc, 0xf6, 0xf2, 0xbc, 0x51, 0x76, - 0xa3, 0x2b, 0xa6, 0xc6, 0xa0, 0x3f, 0xed, 0x03, 0xe7, 0xc9, 0x1d, 0xba, - 0x47, 0xa7, 0xe6, 0xa3, 0xdc, 0x5d, 0x21, 0x92, 0x75, 0x17, 0x35, 0xde, - 0x76, 0x24, 0xfd, 0x73, 0x08, 0x24, 0x0f, 0x4b, 0x13, 0xbb, 0x8b, 0x08, - 0x55, 0x68, 0x14, 0x6b, 0x97, 0xe1, 0xa0, 0x18, 0x3e, 0x75, 0xc3, 0x58, - 0x58, 0xff, 0x23, 0x17, 0xb4, 0x85, 0x7b, 0x4d, 0xb1, 0xb4, 0x63, 0xa1, - 0xfc, 0x69, 0x98, 0x1f, 0x55, 0x41, 0xd1, 0x0e, 0x61, 0x4a, 0xd7, 0xa4, - 0x5a, 0x2a, 0xdd, 0xb4, 0x74, 0x73, 0x04, 0xf5, 0x8b, 0xfe, 0xb0, 0xb6, - 0x36, 0x3c, 0x3b, 0x3c, 0x3c, 0x88, 0x8e, 0x8f, 0xde, 0x1e, 0x5d, 0x04, - 0x02, 0xb9, 0xbb, 0x48, 0xcc, 0xe0, 0x5a, 0x68, 0x14, 0x5b, 0x6d, 0x39, - 0x3c, 0x2e, 0x9e, 0xf4, 0x67, 0x57, 0xf9, 0x2c, 0xd1, 0x7c, 0x86, 0x69, - 0xfd, 0x3d, 0xa8, 0xde, 0x80, 0x5b, 0x40, 0x69, 0x04, 0x2f, 0xd0, 0x15, - 0x24, 0xdc, 0x8c, 0xb9, 0x06, 0x8f, 0x5c, 0x12, 0x3f, 0x68, 0x94, 0x46, - 0x55, 0x72, 0x52, 0x78, 0x2f, 0x57, 0x7c, 0x47, 0x43, 0x5b, 0x6b, 0xa3, - 0xe2, 0xb5, 0x4d, 0xa6, 0x5a, 0x3e, 0xd1, 0x59, 0xe8, 0x10, 0xb4, 0x77, - 0x97, 0x20, 0xb3, 0x73, 0x96, 0x0a, 0xc8, 0x70, 0x18, 0x52, 0xec, 0x0a, - 0x5e, 0x5c, 0x64, 0xc2, 0xc7, 0xc3, 0x1e, 0xc3, 0x5a, 0x44, 0x16, 0x4f, - 0x6b, 0x7d, 0x85, 0x55, 0x6e, 0x9e, 0x6d, 0xb9, 0xc4, 0x81, 0x05, 0x78, - 0x8e, 0x8a, 0xfa, 0xdc, 0xd9, 0x76, 0x44, 0xf2, 0xc8, 0x92, 0xa5, 0xfa, - 0x7c, 0x39, 0x6f, 0x5c, 0x77, 0x3f, 0xc8, 0xbb, 0x34, 0xff, 0x4f, 0xb6, - 0x70, 0xbd, 0x5d, 0xc6, 0x79, 0x9f, 0x24, 0xaf, 0x87, 0xbe, 0x19, 0x57, - 0x85, 0x22, 0x34, 0xdc, 0x58, 0x4c, 0x3f, 0x89, 0x2f, 0xcf, 0x50, 0x93, - 0x16, 0x7d, 0xf6, 0x47, 0x06, 0xbf, 0xe4, 0x54, 0x0f, 0x00, 0x4f, 0xbd, - 0x17, 0xa1, 0xe6, 0xae, 0x0b, 0x80, 0x16, 0x59, 0xc7, 0x43, 0xbf, 0xd9, - 0x2e, 0x7a, 0x1e, 0x85, 0x5a, 0x8f, 0x99, 0x7a, 0x88, 0x52, 0x9e, 0xa6, - 0xce, 0xa5, 0x29, 0x5a, 0xcf, 0xa2, 0xed, 0xcf, 0x78, 0x1e, 0x1f, 0x36, - 0x1f, 0xae, 0x42, 0x60, 0xa1, 0x6c, 0xa2, 0x2e, 0x64, 0x7e, 0x37, 0x25, - 0x3d, 0x01, 0x78, 0xda, 0xb2, 0xba, 0x16, 0x13, 0x8b, 0x90, 0x3d, 0xd6, - 0x4f, 0xd4, 0x9f, 0x0e, 0xcb, 0x14, 0x1c, 0xdc, 0x22, 0x21, 0xa1, 0x62, - 0x9d, 0xac, 0x0b, 0xdb, 0x5a, 0x25, 0x64, 0xaf, 0x9b, 0xfb, 0xd4, 0x2f, - 0x2c, 0x03, 0x5b, 0x47, 0x88, 0xd6, 0xee, 0xd2, 0x09, 0xa4, 0x6a, 0x33, - 0x02, 0x80, 0xfe, 0x84, 0xf8, 0x24, 0x54, 0x1a, 0xfe, 0x4b, 0x38, 0x3e, - 0xdd, 0xc8, 0x54, 0x80, 0xe1, 0x65, 0xcd, 0x60, 0x5c, 0x58, 0x87, 0xfc, - 0xc0, 0x15, 0x34, 0xaa, 0xae, 0x01, 0x66, 0xcd, 0x1d, 0xdf, 0x0b, 0x87, - 0xef, 0x97, 0xe5, 0xd4, 0xec, 0x0a, 0x1e, 0x22, 0xbf, 0x3a, 0x67, 0xce, - 0x4a, 0x0f, 0xa6, 0xbd, 0xbd, 0x45, 0xf2, 0xeb, 0x34, 0xab, 0xd7, 0xd2, - 0x6a, 0x2a, 0xa5, 0x98, 0x56, 0x1f, 0xab, 0xb3, 0xbd, 0xf5, 0xcd, 0xea, - 0x55, 0x07, 0xbe, 0xe9, 0xa3, 0x2f, 0xef, 0x3c, 0x7f, 0x64, 0xd3, 0x4e, - 0x73, 0x57, 0x1c, 0xc5, 0xc3, 0x65, 0x78, 0x07, 0x4c, 0x63, 0xdb, 0x88, - 0xf0, 0x93, 0xab, 0x18, 0x35, 0xa5, 0x1f, 0x19, 0xbd, 0xa5, 0x69, 0xd4, - 0x86, 0xf2, 0x56, 0x83, 0xb2, 0xe5, 0xcb, 0x82, 0x2d, 0x64, 0x0b, 0x40, - 0xe6, 0x78, 0x35, 0xd6, 0xe5, 0x26, 0x4a, 0xb2, 0x72, 0xf0, 0xb6, 0x70, - 0xce, 0x5e, 0x95, 0x49, 0x18, 0xf5, 0xe4, 0xc9, 0xd5, 0x52, 0xb2, 0x81, - 0x33, 0x51, 0xfb, 0x19, 0x31, 0x50, 0xcf, 0x2b, 0xf1, 0x66, 0x0e, 0x1f, - 0x12, 0x7a, 0x02, 0xe3, 0x1d, 0xc7, 0x26, 0xb2, 0x8a, 0xc8, 0x51, 0xbf, - 0x18, 0xd8, 0x3e, 0x3b, 0xce, 0x50, 0x0c, 0xfd, 0xce, 0x7c, 0x09, 0x61, - 0x91, 0x1e, 0x29, 0x60, 0x33, 0x40, 0xaa, 0x9d, 0x10, 0x8a, 0x63, 0xf6, - 0x9c, 0xe0, 0xc5, 0x4e, 0xb1, 0x52, 0x3c, 0x04, 0x68, 0xa0, 0xa7, 0x54, - 0x8b, 0x96, 0x5c, 0x57, 0xcc, 0xf1, 0x0b, 0xcb, 0xa5, 0x14, 0x18, 0x53, - 0xb6, 0xfb, 0xef, 0x9f, 0x9e, 0xbc, 0x39, 0xfa, 0xca, 0x21, 0x34, 0x08, - 0x13, 0x5f, 0x96, 0x19, 0xdb, 0x35, 0xc5, 0x68, 0x28, 0x96, 0xe4, 0xd0, - 0xeb, 0xad, 0x45, 0x12, 0x34, 0xf6, 0x96, 0xd8, 0xd3, 0xfb, 0xf0, 0x03, - 0x30, 0x90, 0xf9, 0x33, 0xb6, 0x95, 0x4b, 0x1a, 0x74, 0xb1, 0xe1, 0x2d, - 0x0f, 0x35, 0x00, 0x19, 0x49, 0xd2, 0x88, 0xf3, 0x72, 0xb9, 0x70, 0x21, - 0x84, 0x41, 0x91, 0x05, 0x05, 0x38, 0xe4, 0x5b, 0x81, 0xeb, 0xe4, 0x2e, - 0x17, 0xc2, 0x9a, 0x24, 0xf4, 0xb1, 0x6a, 0xd8, 0x95, 0x3b, 0x80, 0x2d, - 0x0b, 0x9a, 0x37, 0xae, 0x17, 0x40, 0x23, 0x2e, 0x67, 0xca, 0xd8, 0x4e, - 0x61, 0xb8, 0xbc, 0xb9, 0x72, 0xb8, 0xc2, 0x92, 0x4c, 0xd4, 0xea, 0xe3, - 0xcc, 0x44, 0x33, 0xe3, 0x79, 0x4b, 0xdd, 0xca, 0x1f, 0x5c, 0x05, 0x4f, - 0x8d, 0xfd, 0xf5, 0xae, 0xa2, 0x22, 0xb2, 0xa4, 0x07, 0x17, 0x9f, 0x24, - 0x83, 0x45, 0x1c, 0x61, 0xd1, 0x13, 0x97, 0x27, 0x3e, 0x79, 0xcd, 0x1e, - 0x9a, 0x5d, 0x86, 0xf9, 0x9c, 0x09, 0xc8, 0x4b, 0x58, 0x3e, 0x48, 0xb9, - 0xa4, 0x87, 0xe3, 0x3c, 0xba, 0x0c, 0x72, 0xcb, 0x24, 0x4e, 0xd0, 0x88, - 0x4e, 0xcc, 0xc5, 0x6c, 0x6b, 0xe9, 0x7e, 0xd4, 0xed, 0xeb, 0x77, 0x9a, - 0x77, 0xe1, 0xb2, 0x83, 0xed, 0xa1, 0x92, 0xa6, 0x81, 0xc0, 0x41, 0xa9, - 0x18, 0x87, 0xae, 0x03, 0x0b, 0xa5, 0x8f, 0x95, 0xf2, 0xe3, 0x17, 0xfc, - 0x77, 0x78, 0x8a, 0x6c, 0x16, 0x2e, 0x55, 0x3d, 0x99, 0x8f, 0xa7, 0x99, - 0x52, 0x35, 0x67, 0x78, 0x62, 0xa5, 0xaa, 0x53, 0x67, 0xdf, 0x5f, 0xb6, - 0x64, 0x63, 0x07, 0xb0, 0x9d, 0x49, 0xdc, 0x61, 0xe3, 0xf0, 0x77, 0x36, - 0x41, 0x7e, 0x5b, 0xbe, 0xd0, 0x98, 0x7c, 0xcb, 0xf1, 0xa7, 0x86, 0x04, - 0x0c, 0x9a, 0x86, 0xfa, 0x93, 0xd8, 0x16, 0xc5, 0x03, 0xf8, 0x83, 0x75, - 0x6e, 0x8f, 0xd6, 0x96, 0x9e, 0xe8, 0x29, 0xce, 0xaf, 0x14, 0x39, 0x47, - 0x9d, 0x6a, 0x50, 0x12, 0x1d, 0x44, 0xb7, 0xb3, 0x51, 0xb2, 0x50, 0xe2, - 0x62, 0x66, 0x20, 0x3e, 0x2d, 0x25, 0xbb, 0x4f, 0x93, 0xa0, 0xc4, 0x3a, - 0xe9, 0x08, 0x31, 0xe0, 0x38, 0x1f, 0xb9, 0xb8, 0x94, 0xd8, 0xdf, 0x65, - 0x06, 0x1d, 0xec, 0x4d, 0xb5, 0x7a, 0x99, 0x05, 0xaf, 0xb1, 0x3d, 0x0f, - 0x9a, 0x70, 0xa2, 0x36, 0x14, 0xe9, 0x0a, 0xb2, 0x04, 0xc3, 0x46, 0x21, - 0xf7, 0x27, 0x29, 0x7c, 0x13, 0xf2, 0xfd, 0x6b, 0xcd, 0x95, 0xa6, 0xf3, - 0xac, 0xd9, 0xef, 0x0a, 0xe9, 0xf3, 0xd9, 0x96, 0x5a, 0xe2, 0x4a, 0x0d, - 0x56, 0x2d, 0xa2, 0xbd, 0xf3, 0x43, 0x92, 0x6c, 0xaf, 0xe6, 0xc8, 0x6e, - 0xe6, 0x11, 0x96, 0xba, 0x3f, 0x10, 0xac, 0x79, 0x15, 0xf4, 0x7c, 0x70, - 0x87, 0x77, 0xc1, 0x9b, 0x4c, 0x4c, 0x1a, 0x1f, 0x40, 0x87, 0xcc, 0x45, - 0xa1, 0x31, 0xc9, 0x8d, 0x0d, 0x70, 0x0e, 0x5c, 0x87, 0xd3, 0x94, 0x85, - 0xa4, 0xd8, 0x5b, 0x42, 0x5d, 0x65, 0x86, 0x28, 0x7e, 0xd6, 0x60, 0xeb, - 0x21, 0xcc, 0x9c, 0xad, 0x35, 0x4e, 0xb5, 0x4f, 0x44, 0xf8, 0xbb, 0xa1, - 0x65, 0x69, 0x5f, 0x15, 0x0f, 0xa8, 0x27, 0xa7, 0x5e, 0xbb, 0xf5, 0xe8, - 0xef, 0xb8, 0x67, 0x58, 0x16, 0xa9, 0xcb, 0x05, 0x89, 0x8b, 0xaf, 0x17, - 0x43, 0xf6, 0x24, 0x10, 0x7e, 0x25, 0x2b, 0x8f, 0x23, 0xac, 0xc5, 0x46, - 0xcd, 0xc2, 0x4f, 0x5c, 0x24, 0x56, 0x02, 0x07, 0xea, 0xc0, 0x44, 0xcf, - 0x2a, 0x53, 0x05, 0x07, 0x0b, 0x8f, 0x18, 0x31, 0xe2, 0x46, 0x04, 0x80, - 0x90, 0x3f, 0xb5, 0x9a, 0x79, 0x3f, 0x72, 0xb3, 0xf5, 0x63, 0x70, 0x5f, - 0xf2, 0x47, 0xaf, 0x1d, 0x80, 0x0e, 0x8f, 0x62, 0xc0, 0x1d, 0x81, 0xa5, - 0xc2, 0x7d, 0xca, 0xbf, 0xe0, 0x63, 0x44, 0xbd, 0x19, 0x06, 0x59, 0x05, - 0x04, 0x43, 0x51, 0xc9, 0xc3, 0x81, 0x88, 0x8f, 0x0f, 0x1c, 0x7a, 0x14, - 0x8a, 0xc6, 0x41, 0x81, 0x1a, 0x36, 0xe5, 0x70, 0x2a, 0xaf, 0x1d, 0xf8, - 0x22, 0xa9, 0x14, 0xb4, 0x71, 0x89, 0x42, 0x9d, 0x7e, 0x87, 0xd6, 0xa2, - 0x3b, 0x9d, 0x7a, 0x86, 0x6f, 0x8f, 0xf1, 0xae, 0x22, 0xa7, 0xce, 0x0b, - 0x4c, 0xca, 0xbb, 0x18, 0xf1, 0xf8, 0xa1, 0x92, 0xe0, 0xc0, 0x15, 0x23, - 0x38, 0xff, 0xc7, 0x81, 0x98, 0x20, 0x49, 0x04, 0xe1, 0x02, 0xb7, 0x69, - 0x61, 0x7e, 0x48, 0xa2, 0xed, 0xb1, 0xc6, 0x46, 0x48, 0x46, 0x75, 0x52, - 0x8e, 0x83, 0xa5, 0x4c, 0xc6, 0xd7, 0x99, 0xc4, 0xd4, 0xd2, 0xa2, 0x05, - 0xc9, 0x97, 0x9d, 0xe8, 0x3f, 0x94, 0x06, 0xbe, 0xf1, 0x39, 0x7b, 0x4c, - 0x08, 0x03, 0xc1, 0x86, 0x1a, 0x78, 0x82, 0x38, 0xfc, 0xfe, 0xe2, 0x7c, - 0x2f, 0xfa, 0xfa, 0x70, 0xef, 0xe0, 0xf0, 0x7c, 0x58, 0xbb, 0xf4, 0x35, - 0x0a, 0x44, 0x24, 0x34, 0xb6, 0x07, 0x43, 0x34, 0xb6, 0xe4, 0x75, 0x8d, - 0xda, 0x37, 0xae, 0x17, 0x3f, 0xe0, 0x20, 0xd1, 0xf9, 0x60, 0x85, 0x48, - 0x1c, 0x07, 0x1c, 0x9a, 0xc6, 0xe1, 0xcf, 0x59, 0xd0, 0x86, 0x56, 0x6d, - 0x75, 0xd6, 0xf3, 0x30, 0x5f, 0xc6, 0xe3, 0x12, 0xf9, 0xcb, 0x64, 0x92, - 0x59, 0x2e, 0x60, 0x75, 0xe7, 0xbe, 0xf6, 0x99, 0xd7, 0x01, 0xdb, 0xd2, - 0x4b, 0x46, 0x0d, 0x88, 0x9d, 0xef, 0xfb, 0xd4, 0x6f, 0x9f, 0x16, 0xbf, - 0xcf, 0xb8, 0x51, 0x0f, 0x49, 0xd1, 0xa9, 0x59, 0x03, 0xab, 0xdd, 0xaf, - 0x09, 0x4a, 0x7e, 0xe3, 0x24, 0x7d, 0xdd, 0xda, 0x12, 0x9f, 0xae, 0x29, - 0x63, 0xd7, 0xd7, 0x35, 0x08, 0x5c, 0xaa, 0x81, 0x90, 0xac, 0x27, 0xa8, - 0x91, 0xdc, 0xa2, 0x71, 0x4a, 0x5e, 0xcd, 0xd4, 0xd8, 0x30, 0x0c, 0x44, - 0xa7, 0x00, 0x59, 0x27, 0x2d, 0xf5, 0x52, 0x87, 0x5d, 0x44, 0x21, 0x0d, - 0x79, 0x58, 0xfa, 0x50, 0x78, 0x3f, 0xc0, 0x17, 0xa2, 0x51, 0xfa, 0x45, - 0xc5, 0x55, 0xaa, 0x76, 0x51, 0x05, 0x79, 0xd4, 0xe6, 0x78, 0x0c, 0x8e, - 0xe6, 0x2d, 0xb8, 0x9f, 0xbb, 0x34, 0xe8, 0x66, 0x7d, 0x57, 0x22, 0xc2, - 0x58, 0xa9, 0x87, 0xa9, 0x93, 0x63, 0xce, 0x64, 0xe3, 0x4d, 0x5e, 0x0d, - 0x32, 0x81, 0x42, 0x62, 0x46, 0x99, 0x09, 0x44, 0x8f, 0xbb, 0xe7, 0x92, - 0xe8, 0xeb, 0xac, 0xc0, 0x5d, 0xd0, 0x7c, 0x9c, 0x2f, 0xf9, 0xb6, 0xe5, - 0xc7, 0x1b, 0xea, 0xea, 0x72, 0xc0, 0x6d, 0x40, 0x3a, 0x04, 0xfb, 0x3a, - 0xdb, 0xbb, 0xf8, 0x1a, 0x8e, 0x56, 0x90, 0xf0, 0x41, 0xc6, 0x0a, 0x8f, - 0xb9, 0xd7, 0x9a, 0x09, 0x59, 0x4e, 0x81, 0x13, 0xf9, 0xd7, 0x40, 0xa8, - 0x4c, 0x9e, 0x84, 0x23, 0x0f, 0x26, 0x4a, 0x60, 0xda, 0xa4, 0x6a, 0x78, - 0xac, 0x16, 0x3f, 0x41, 0xe8, 0xbb, 0xcb, 0xb6, 0x73, 0xb1, 0x97, 0x5d, - 0x49, 0x49, 0xef, 0xca, 0x9c, 0x40, 0xf4, 0x2c, 0xcc, 0xb1, 0xc6, 0x13, - 0xe2, 0x01, 0xe2, 0x8b, 0x4b, 0x4d, 0xb4, 0xed, 0xd1, 0x9e, 0xb6, 0x63, - 0x3c, 0x05, 0x47, 0xfa, 0x8b, 0xd9, 0xc3, 0xa0, 0x09, 0x80, 0x11, 0x7d, - 0xb9, 0x2c, 0xab, 0x6c, 0xa5, 0x86, 0x4a, 0xe8, 0x24, 0xcb, 0x3c, 0xcb, - 0xca, 0x2a, 0xae, 0x1f, 0x56, 0x47, 0x4e, 0xb4, 0x80, 0x79, 0xc9, 0x58, - 0xb8, 0xa9, 0xb9, 0xca, 0xdd, 0xa1, 0x60, 0x18, 0x8f, 0x8a, 0x6c, 0xba, - 0x2c, 0x83, 0xe8, 0xeb, 0x5f, 0x37, 0xe6, 0x60, 0xd0, 0xeb, 0x47, 0x83, - 0xc4, 0x08, 0x8a, 0xc3, 0x87, 0xf3, 0x98, 0x34, 0x7d, 0x2e, 0xe0, 0xc9, - 0x7e, 0xc7, 0x3c, 0x9b, 0x57, 0xeb, 0x73, 0x20, 0xd0, 0x7b, 0x63, 0x6d, - 0x6d, 0x68, 0x9b, 0xcd, 0x10, 0x72, 0xcd, 0x4d, 0x07, 0x60, 0x04, 0x70, - 0xea, 0xc4, 0x6f, 0x30, 0xa6, 0x5f, 0x0c, 0xd8, 0x27, 0x91, 0x3d, 0x05, - 0x0b, 0x97, 0x3d, 0x4e, 0x8b, 0xea, 0xa4, 0xf0, 0x95, 0xf3, 0x5c, 0x58, - 0x76, 0xd9, 0x45, 0x66, 0x68, 0xaf, 0xea, 0xb9, 0xf3, 0x04, 0x51, 0x49, - 0x50, 0x6f, 0xc5, 0x7d, 0xe4, 0x4b, 0x40, 0x51, 0xa6, 0x7c, 0x68, 0x2e, - 0x0f, 0x72, 0xf3, 0x3f, 0x37, 0xa3, 0x9e, 0xe0, 0xb5, 0xc4, 0x45, 0x0b, - 0xca, 0xc8, 0xff, 0x8b, 0x10, 0x2c, 0x85, 0xdc, 0xe3, 0x36, 0x6b, 0x50, - 0x75, 0x03, 0x52, 0xa1, 0xae, 0xf3, 0xb1, 0xa7, 0x7e, 0x92, 0x0e, 0x92, - 0x3b, 0xd6, 0x5f, 0x4c, 0x47, 0x78, 0x23, 0xc5, 0xed, 0xa5, 0xf2, 0xbc, - 0x43, 0x40, 0x01, 0xf0, 0xc5, 0xa5, 0xb3, 0xea, 0x71, 0x69, 0x23, 0x29, - 0xf4, 0x23, 0x62, 0x3d, 0x70, 0xee, 0xcd, 0x83, 0xba, 0x16, 0x55, 0xf4, - 0xf6, 0x22, 0x2a, 0x32, 0xf9, 0x69, 0x29, 0x47, 0x1a, 0xe3, 0xa5, 0xe4, - 0xaf, 0x6a, 0x94, 0x16, 0x69, 0xc8, 0x45, 0xfc, 0xb1, 0xe0, 0x53, 0x09, - 0xab, 0x33, 0xc7, 0xa4, 0x8d, 0xd1, 0x84, 0x00, 0xf6, 0x5b, 0x02, 0xc1, - 0x4b, 0xab, 0xf8, 0xb9, 0xa2, 0x96, 0x48, 0xd9, 0xe6, 0xba, 0x38, 0xa6, - 0xc8, 0xd8, 0x8d, 0x6a, 0x59, 0x1c, 0x6e, 0xa3, 0xfc, 0xe8, 0xf5, 0xea, - 0x47, 0x5a, 0x3c, 0x7c, 0x74, 0x77, 0x71, 0x5a, 0x86, 0x12, 0x81, 0xcd, - 0x88, 0x34, 0x3c, 0x05, 0x54, 0x1f, 0x3d, 0x54, 0x42, 0x53, 0x7c, 0xdc, - 0xe6, 0x15, 0x27, 0x79, 0xa8, 0x45, 0x4a, 0x41, 0x45, 0x60, 0xfe, 0xba, - 0x4e, 0x35, 0xba, 0x54, 0x16, 0xdd, 0xcc, 0x81, 0x6c, 0xcf, 0x80, 0x79, - 0x6f, 0x2d, 0x0a, 0xbd, 0xab, 0x2e, 0x00, 0x62, 0xd0, 0x3c, 0x2d, 0x03, - 0x07, 0x1f, 0xa7, 0x37, 0xc8, 0x51, 0x98, 0x4f, 0x8e, 0x55, 0x71, 0x31, - 0xcf, 0x1f, 0xd4, 0x75, 0xd8, 0x1f, 0x47, 0xb1, 0xce, 0x23, 0xbf, 0x1e, - 0x85, 0x5c, 0x25, 0x3b, 0xdb, 0x50, 0x49, 0x25, 0x70, 0x03, 0x68, 0x6c, - 0x56, 0x70, 0xc9, 0xe3, 0xb4, 0x54, 0xd7, 0x1d, 0x95, 0x0e, 0x01, 0xf6, - 0x67, 0xa9, 0xf6, 0xea, 0x67, 0x16, 0x89, 0x30, 0xf0, 0x38, 0x55, 0x6a, - 0x73, 0x48, 0xfa, 0x76, 0x51, 0xe6, 0xcb, 0x71, 0x05, 0x79, 0x09, 0xc4, - 0x50, 0xf1, 0xcf, 0xbb, 0xe5, 0xcd, 0x42, 0xad, 0x7e, 0x3d, 0xae, 0xe4, - 0xb2, 0xe8, 0x93, 0x61, 0x17, 0x1b, 0x52, 0xc1, 0x51, 0xeb, 0xd7, 0x42, - 0x3b, 0xa1, 0xf1, 0x3b, 0x02, 0xeb, 0x9f, 0xb9, 0x54, 0xfa, 0x0a, 0x80, - 0x95, 0xe4, 0x25, 0x04, 0xb7, 0xae, 0x8a, 0x60, 0x10, 0x39, 0xf2, 0x48, - 0xa1, 0xb4, 0x20, 0xd0, 0xb0, 0xb1, 0x72, 0xcd, 0xc1, 0x5d, 0x51, 0x77, - 0x7d, 0x5f, 0xb2, 0x91, 0xfa, 0xdb, 0xa4, 0x85, 0x34, 0x78, 0x78, 0x57, - 0x75, 0xa0, 0xf0, 0x90, 0x59, 0xb5, 0x58, 0xd5, 0x64, 0x4a, 0x53, 0x76, - 0x92, 0xa1, 0x9c, 0xc4, 0x99, 0xae, 0xdf, 0xc0, 0x15, 0x51, 0xb4, 0x62, - 0x95, 0x35, 0x41, 0xa2, 0x79, 0x2b, 0x9e, 0x09, 0x18, 0x49, 0x83, 0x88, - 0x0e, 0xcc, 0x9a, 0x0a, 0x66, 0x83, 0x05, 0x63, 0x9d, 0xc6, 0x36, 0xe9, - 0xe8, 0xcc, 0x75, 0x41, 0x43, 0xe0, 0x19, 0x77, 0xa7, 0xc9, 0x56, 0x37, - 0x28, 0x9b, 0xb0, 0x2e, 0xa1, 0xff, 0x19, 0xf4, 0x1e, 0xb6, 0x1c, 0x62, - 0x82, 0x62, 0xb7, 0xe0, 0x08, 0xb7, 0x8d, 0x96, 0xa1, 0x50, 0x13, 0xbf, - 0x76, 0x30, 0xdb, 0x2f, 0x77, 0x06, 0xdb, 0x9f, 0x7c, 0x36, 0xd8, 0x1a, - 0x6c, 0x6f, 0x31, 0x67, 0xe1, 0xa1, 0x04, 0x83, 0x93, 0x75, 0x69, 0xe9, - 0xaa, 0xf2, 0x5e, 0xb3, 0xcf, 0x93, 0xc3, 0x8b, 0xef, 0x4e, 0xcf, 0xbf, - 0x89, 0x8e, 0x4e, 0x2e, 0x0e, 0xcf, 0xdf, 0xec, 0xed, 0x7f, 0x28, 0x80, - 0x6e, 0x68, 0xb0, 0x0e, 0x4a, 0xe5, 0x25, 0x7e, 0x61, 0x9a, 0x56, 0x41, - 0xbf, 0x66, 0x49, 0x79, 0xbd, 0xb5, 0xbb, 0xfd, 0x28, 0xf0, 0x66, 0x8b, - 0x61, 0xd0, 0xbf, 0x6f, 0x93, 0xda, 0xe6, 0x49, 0xad, 0x6e, 0xc5, 0xc1, - 0x79, 0x0d, 0x25, 0xc0, 0xca, 0x05, 0xe7, 0x82, 0xc1, 0x03, 0x41, 0x3f, - 0x1d, 0xe5, 0xb1, 0x99, 0xa4, 0x46, 0x82, 0xfe, 0x27, 0x69, 0xb5, 0x0a, - 0xf3, 0xa2, 0x41, 0xe8, 0xca, 0x6e, 0x39, 0x46, 0x79, 0x99, 0x4e, 0x4b, - 0x35, 0xa4, 0x08, 0x98, 0xdf, 0x04, 0xc2, 0x5d, 0x6b, 0x59, 0x55, 0xd4, - 0x8d, 0x92, 0xba, 0xaa, 0x13, 0x97, 0x2d, 0xe2, 0xd0, 0x07, 0x2a, 0x39, - 0x37, 0x18, 0x6b, 0xb5, 0xb2, 0x60, 0x18, 0x43, 0x5b, 0x43, 0xd2, 0x2b, - 0x2c, 0xb6, 0x19, 0x13, 0xab, 0x18, 0x45, 0xf7, 0x75, 0x20, 0x38, 0x0d, - 0xc1, 0x68, 0xa4, 0x2b, 0x88, 0x52, 0x86, 0xde, 0x5a, 0xc5, 0x81, 0x94, - 0xdb, 0x09, 0x19, 0x14, 0x22, 0xf9, 0x19, 0xca, 0x34, 0xb7, 0x5e, 0x54, - 0xf0, 0xc1, 0x22, 0xa9, 0x69, 0x10, 0xbe, 0x2e, 0x42, 0x36, 0x42, 0x34, - 0x27, 0x79, 0x7c, 0xc7, 0x15, 0x52, 0x44, 0x6c, 0xf0, 0xc1, 0x8c, 0x41, - 0x59, 0x06, 0x16, 0x99, 0xfc, 0x9a, 0x47, 0x67, 0x87, 0x6f, 0xfb, 0x56, - 0xa9, 0x8d, 0x7e, 0x17, 0x33, 0x94, 0xe1, 0x47, 0x4a, 0x86, 0xcf, 0x22, - 0x99, 0x5b, 0x40, 0x0d, 0x78, 0xa2, 0x46, 0x00, 0x85, 0x13, 0xe0, 0x43, - 0x23, 0x16, 0x09, 0xe1, 0xb5, 0x7c, 0x18, 0x2d, 0xf0, 0xd2, 0x21, 0xdf, - 0x55, 0xa0, 0xdc, 0x78, 0x3f, 0x35, 0x6a, 0x39, 0x5a, 0x77, 0x91, 0xba, - 0xdc, 0x1f, 0xc2, 0x51, 0x11, 0x2d, 0xe0, 0x02, 0x04, 0x32, 0xcb, 0xb8, - 0x3e, 0xfb, 0x66, 0x7f, 0xf8, 0xd1, 0xf6, 0x8e, 0x0e, 0x67, 0x63, 0xe0, - 0x71, 0x19, 0x1b, 0xc9, 0xf8, 0x60, 0xd7, 0xe1, 0x18, 0x2d, 0xb5, 0x1a, - 0x07, 0x1c, 0x9b, 0xb1, 0xee, 0xd2, 0x83, 0x36, 0x2a, 0xf9, 0x41, 0x6b, - 0x52, 0x1f, 0xd3, 0x84, 0x4b, 0x57, 0x49, 0x8d, 0x9d, 0x21, 0x28, 0x17, - 0xa0, 0x98, 0xfd, 0xa5, 0x8b, 0xf7, 0x8b, 0xe7, 0xf6, 0x91, 0xb4, 0xac, - 0xad, 0x21, 0x77, 0xdc, 0xc7, 0xb4, 0xd4, 0xf7, 0x9c, 0xd7, 0xdb, 0x7f, - 0xcb, 0xf0, 0x7f, 0x7a, 0xa9, 0x1b, 0x3a, 0x8f, 0xef, 0x06, 0x07, 0x40, - 0x43, 0xd8, 0x27, 0x56, 0xf7, 0x63, 0xee, 0x61, 0xc9, 0xf9, 0xe9, 0x53, - 0xda, 0x28, 0x3a, 0x59, 0x82, 0xd7, 0xc0, 0x4c, 0x41, 0x2a, 0xc5, 0xbb, - 0x47, 0x0e, 0x72, 0xc6, 0x7f, 0x5f, 0x48, 0x30, 0xe9, 0xc9, 0x20, 0xfa, - 0x3a, 0x99, 0x73, 0xc2, 0x3c, 0x87, 0xdd, 0x59, 0x06, 0x16, 0x82, 0x03, - 0xb9, 0xac, 0x0f, 0x8a, 0xb0, 0x1c, 0x27, 0xb1, 0xa2, 0xe1, 0x11, 0xaf, - 0x2b, 0x44, 0xb7, 0xb5, 0x12, 0x05, 0x31, 0x87, 0xe8, 0xe1, 0x26, 0x52, - 0x03, 0x2d, 0xaa, 0xf0, 0xa5, 0x85, 0x36, 0xb0, 0x5e, 0xc5, 0xb4, 0x03, - 0xc0, 0x32, 0x9a, 0xd3, 0x63, 0x0e, 0x2f, 0x93, 0xda, 0x93, 0xaf, 0x01, - 0x1a, 0xca, 0x76, 0x42, 0xd1, 0xb5, 0x3c, 0x53, 0x99, 0xe4, 0xd7, 0x6c, - 0xf4, 0x28, 0xe8, 0xba, 0x89, 0xe7, 0xe3, 0x87, 0xc1, 0x84, 0xa4, 0x58, - 0x36, 0x9b, 0x0d, 0x96, 0x37, 0x9b, 0xc1, 0x31, 0x65, 0x96, 0x7f, 0x2d, - 0xd8, 0x00, 0x55, 0x93, 0xb7, 0x95, 0x8f, 0x6b, 0xc2, 0x77, 0xc5, 0x95, - 0x33, 0xc1, 0x24, 0x61, 0x59, 0xfe, 0x72, 0x3c, 0x57, 0xc2, 0x5c, 0x1d, - 0x46, 0x0e, 0xaf, 0x92, 0x5b, 0x18, 0x2c, 0x92, 0xd9, 0xae, 0xcb, 0x43, - 0x36, 0xfe, 0xa0, 0x18, 0xd7, 0x4e, 0xa5, 0x08, 0xcc, 0xb3, 0xf3, 0xe4, - 0x6a, 0xaa, 0x02, 0x45, 0xa8, 0xb4, 0x78, 0xfc, 0xd1, 0x66, 0x1a, 0x88, - 0xa8, 0x3a, 0x5a, 0x87, 0x1d, 0xb2, 0x3a, 0xd1, 0x61, 0xa9, 0x71, 0xb5, - 0xf2, 0x30, 0x8a, 0x96, 0xfa, 0x46, 0x14, 0x31, 0x04, 0xd0, 0x99, 0x2c, - 0x06, 0xab, 0x71, 0xc7, 0xc2, 0x91, 0xd4, 0xf1, 0x44, 0xdf, 0x0a, 0x85, - 0x00, 0xac, 0x56, 0x43, 0xa3, 0xe1, 0xf6, 0xb4, 0x32, 0x6d, 0x72, 0x56, - 0xe8, 0xeb, 0xdb, 0x67, 0x6c, 0xeb, 0xbe, 0x38, 0x1e, 0xf6, 0x84, 0x1e, - 0xe6, 0xc9, 0x5d, 0x40, 0x59, 0x82, 0xaf, 0xac, 0xe4, 0xc7, 0x96, 0x1f, - 0x09, 0x5f, 0xb3, 0x12, 0xb1, 0xb9, 0x8c, 0x46, 0x38, 0x83, 0x77, 0x92, - 0xf9, 0x2c, 0x08, 0x5b, 0x08, 0x8d, 0x27, 0xe6, 0xe1, 0x58, 0x45, 0x0c, - 0x11, 0x88, 0x1c, 0xca, 0x0b, 0x63, 0xe8, 0x91, 0xc0, 0xf4, 0xac, 0x17, - 0xf5, 0x77, 0x00, 0x9e, 0xb3, 0x5d, 0x5d, 0xc8, 0x98, 0x4b, 0x55, 0xc4, - 0x63, 0x14, 0xde, 0x59, 0x73, 0x75, 0xb2, 0x8d, 0x25, 0xac, 0x2b, 0x59, - 0xdf, 0xd2, 0xfb, 0xfc, 0x63, 0x47, 0x27, 0x75, 0xbb, 0x8d, 0xd0, 0x6d, - 0x96, 0x47, 0x6f, 0x93, 0xe9, 0x43, 0x53, 0x6c, 0xd8, 0x79, 0x74, 0x67, - 0x91, 0x24, 0x71, 0x97, 0x3a, 0x6c, 0x50, 0x81, 0x87, 0x86, 0x21, 0x94, - 0x4f, 0x36, 0xed, 0x95, 0x0d, 0x80, 0x96, 0x51, 0x4d, 0xdc, 0xf3, 0xe8, - 0x76, 0xc7, 0x3c, 0xcd, 0xfc, 0x8d, 0x2d, 0x9e, 0x98, 0xea, 0x3d, 0x23, - 0x69, 0x24, 0x30, 0x72, 0xb8, 0x5b, 0x40, 0xb9, 0x9c, 0xfa, 0x44, 0x74, - 0x4b, 0x9c, 0xa4, 0xc2, 0x69, 0x58, 0x83, 0x2a, 0x1d, 0x06, 0x11, 0x6f, - 0x3f, 0xa0, 0x4b, 0x49, 0x16, 0xf6, 0x41, 0x4e, 0x08, 0x01, 0xc7, 0x99, - 0x26, 0x09, 0xb6, 0x58, 0xce, 0xb4, 0x86, 0x10, 0x18, 0x71, 0x0f, 0xd7, - 0x6d, 0x19, 0x11, 0x27, 0x4e, 0x25, 0xe4, 0x6f, 0x0a, 0x61, 0x1a, 0x02, - 0x96, 0x1a, 0x4b, 0xfd, 0x42, 0xb1, 0x05, 0x4c, 0x70, 0xf5, 0x40, 0x2f, - 0xd7, 0xa9, 0xd8, 0x30, 0x10, 0xa1, 0x8a, 0x05, 0x23, 0x56, 0xd1, 0x8d, - 0xe8, 0xf4, 0x2d, 0xb9, 0xd1, 0x32, 0x43, 0x08, 0xac, 0x13, 0x18, 0x34, - 0x9b, 0x6e, 0x08, 0xa9, 0x33, 0xea, 0x86, 0x4c, 0xb2, 0xff, 0x39, 0x2f, - 0x42, 0xd1, 0xf5, 0xab, 0xa6, 0x70, 0xb7, 0xd5, 0x25, 0x50, 0xff, 0x08, - 0xad, 0xb7, 0x34, 0x75, 0x96, 0x5b, 0xc1, 0xcb, 0x6e, 0x72, 0xcf, 0x22, - 0x52, 0xd7, 0xfa, 0x95, 0xef, 0x05, 0x0d, 0x00, 0xeb, 0x7b, 0x76, 0x74, - 0x22, 0x45, 0x1c, 0xdd, 0x59, 0x4a, 0x58, 0xf2, 0x96, 0xe7, 0x44, 0x10, - 0x16, 0x0b, 0x3f, 0x7b, 0x2d, 0xc5, 0xe6, 0xc4, 0x04, 0xc7, 0x87, 0x24, - 0xb5, 0xee, 0xce, 0x97, 0x32, 0x82, 0x2e, 0xdf, 0x94, 0x45, 0x31, 0xed, - 0xd6, 0x6a, 0x93, 0xb9, 0x1d, 0xad, 0x5d, 0x49, 0xce, 0x9a, 0x35, 0x9e, - 0x84, 0xc5, 0x56, 0xb5, 0x95, 0x0a, 0xa7, 0xec, 0xd5, 0x32, 0x26, 0x43, - 0x33, 0xfa, 0x47, 0xd1, 0x60, 0x93, 0x3a, 0x2c, 0x36, 0xed, 0xc5, 0xc5, - 0xcd, 0xb8, 0xa0, 0x3b, 0x92, 0xd3, 0x83, 0x7f, 0x74, 0xb8, 0xc4, 0x3c, - 0xe4, 0xc9, 0xcf, 0x51, 0x7f, 0x3c, 0x95, 0x19, 0xa2, 0x0a, 0xe2, 0x8f, - 0x44, 0x37, 0xfc, 0xc4, 0xcf, 0x6b, 0x9c, 0x2a, 0x37, 0x7c, 0xf7, 0x96, - 0x51, 0xc1, 0x51, 0x69, 0xee, 0xe2, 0x7c, 0xef, 0x64, 0xf8, 0x46, 0x2c, - 0xad, 0x17, 0x59, 0x50, 0xc0, 0x4e, 0xcd, 0xd4, 0xe6, 0x8e, 0x74, 0xa0, - 0x63, 0x77, 0x02, 0x55, 0x6d, 0x91, 0xda, 0x5a, 0xdd, 0xae, 0x57, 0x87, - 0xe4, 0x95, 0xd2, 0x78, 0x60, 0xd8, 0x74, 0xa2, 0xd6, 0x8b, 0x0d, 0x77, - 0xbb, 0x16, 0x61, 0xe1, 0x0d, 0x0f, 0x77, 0x27, 0x5a, 0x8a, 0x7b, 0x88, - 0xcf, 0xcc, 0xbe, 0x0d, 0xc6, 0x3e, 0x15, 0x86, 0xbe, 0x12, 0x65, 0x72, - 0x9f, 0xf4, 0x8f, 0xbe, 0x82, 0xbc, 0x07, 0x65, 0x46, 0x9c, 0x75, 0x4e, - 0x18, 0xba, 0x02, 0xc3, 0xb9, 0xc6, 0xc3, 0x6c, 0x42, 0x6b, 0x7a, 0xfd, - 0x4f, 0xdb, 0x1b, 0xed, 0xcd, 0x5f, 0xfc, 0xda, 0xe6, 0xdb, 0xc7, 0x6e, - 0x02, 0xbf, 0x4f, 0x56, 0x59, 0xff, 0xd3, 0xce, 0xc6, 0xa3, 0x33, 0x0a, - 0xd3, 0xed, 0x7c, 0x9f, 0xf4, 0x06, 0x0f, 0x36, 0x7a, 0x6d, 0xe5, 0x4a, - 0xf5, 0x22, 0x76, 0x01, 0x1f, 0x97, 0x1e, 0xf0, 0xae, 0x82, 0xff, 0xc0, - 0x01, 0xc1, 0x4e, 0xfc, 0xf3, 0x7e, 0x1c, 0xcd, 0x5b, 0x38, 0xfa, 0x1f, - 0x87, 0x21, 0x50, 0x20, 0x69, 0xe3, 0x21, 0xcf, 0xe3, 0xc4, 0xf3, 0x22, - 0x1b, 0xa0, 0xef, 0x9d, 0x47, 0xfa, 0xf6, 0xb3, 0x0b, 0x74, 0x5d, 0x76, - 0x8a, 0x72, 0x54, 0x15, 0x4b, 0xe3, 0x9b, 0xa4, 0x5d, 0x68, 0x3f, 0x6b, - 0xbe, 0x32, 0xe2, 0xea, 0xfe, 0x2e, 0x8e, 0xde, 0x1e, 0x72, 0xd9, 0x9b, - 0x83, 0x23, 0x46, 0x32, 0x1b, 0x2a, 0x98, 0xa0, 0xa9, 0xb5, 0x0e, 0x6a, - 0x35, 0x84, 0x6a, 0x17, 0x6f, 0xa1, 0x0b, 0x5e, 0x72, 0xe7, 0xdf, 0xed, - 0x04, 0x77, 0xad, 0xd1, 0xb5, 0x85, 0xe5, 0xf0, 0x1d, 0x5d, 0xf6, 0xdf, - 0x66, 0x13, 0xa8, 0x5e, 0x7d, 0x01, 0x57, 0xa6, 0xb7, 0xe8, 0xc3, 0x77, - 0xf3, 0x59, 0xe5, 0xe3, 0x30, 0x53, 0x50, 0xb5, 0xea, 0xb5, 0x55, 0x70, - 0xf6, 0xbf, 0x6c, 0xf6, 0xfb, 0x28, 0x4b, 0x2a, 0x41, 0x42, 0xea, 0x2a, - 0xa8, 0xa0, 0x3d, 0xd8, 0xd9, 0xa7, 0xf5, 0x49, 0xa7, 0x0f, 0xe2, 0xd6, - 0x8e, 0x7d, 0x30, 0x92, 0x4f, 0x0b, 0xbc, 0xe2, 0xd4, 0x24, 0x6f, 0x31, - 0x12, 0x9b, 0xd0, 0x5a, 0x88, 0x4e, 0x09, 0xe1, 0x3c, 0xb9, 0xf3, 0xd1, - 0x34, 0x5a, 0x08, 0x2e, 0x5b, 0x3c, 0x60, 0x92, 0x77, 0x15, 0x47, 0x7d, - 0xab, 0xb7, 0xee, 0x17, 0x79, 0xa7, 0x52, 0xc0, 0x41, 0x7a, 0x08, 0x09, - 0x50, 0x3f, 0xd1, 0x7a, 0x07, 0xa7, 0x79, 0xc0, 0xc0, 0x74, 0xd8, 0x56, - 0xbf, 0x24, 0x40, 0xae, 0x0c, 0x80, 0x36, 0xab, 0xe3, 0xf4, 0x26, 0xcc, - 0x35, 0xbe, 0xdb, 0x06, 0x6c, 0x39, 0x37, 0x57, 0x0b, 0x71, 0x9d, 0x45, - 0xb5, 0xe2, 0x5a, 0x12, 0x59, 0xe6, 0xb0, 0x64, 0x87, 0x77, 0xfb, 0x5d, - 0xe0, 0x43, 0xa7, 0xf3, 0x96, 0xc9, 0xf4, 0x7f, 0xfd, 0x6c, 0x1a, 0x8e, - 0xbc, 0xa8, 0x73, 0xc9, 0x10, 0x0b, 0xec, 0x15, 0xe9, 0xc8, 0x00, 0x04, - 0x75, 0x44, 0x68, 0x8b, 0x84, 0x7a, 0x66, 0x6b, 0xa6, 0x9c, 0x88, 0xa2, - 0xe6, 0xe2, 0x2c, 0x9d, 0xc9, 0x55, 0x2c, 0x5d, 0xcc, 0x47, 0x97, 0x8b, - 0x09, 0x5c, 0xfc, 0x12, 0xdc, 0xf8, 0xdf, 0xe2, 0xf9, 0x32, 0xce, 0x1f, - 0xa2, 0xed, 0x9d, 0x5e, 0xb4, 0xb3, 0xb5, 0xbd, 0xd3, 0x32, 0x87, 0xce, - 0x7f, 0xe3, 0x10, 0x9b, 0x1d, 0x7c, 0xdd, 0xf9, 0xd0, 0x59, 0xf8, 0x40, - 0x79, 0xdc, 0xac, 0x9a, 0x52, 0x4a, 0xbc, 0x87, 0xbd, 0x7d, 0x52, 0x88, - 0x95, 0xcb, 0xb2, 0x01, 0x1a, 0x0d, 0x82, 0x85, 0x18, 0x9e, 0xac, 0x8c, - 0x92, 0x2b, 0xba, 0xc1, 0x4f, 0xac, 0x69, 0x95, 0x2c, 0xc4, 0x51, 0x38, - 0xeb, 0x5b, 0x9c, 0xa3, 0x46, 0x54, 0x75, 0x8f, 0xd2, 0xd2, 0xb6, 0x85, - 0x03, 0x35, 0x78, 0x6f, 0x88, 0xde, 0x0f, 0x8e, 0xf6, 0x2f, 0x0c, 0x3b, - 0xef, 0x92, 0xaf, 0xd3, 0xfc, 0xe1, 0xc3, 0xca, 0xed, 0x3c, 0xfa, 0xcc, - 0x64, 0xf7, 0x3a, 0x21, 0xb1, 0x6c, 0x3e, 0x5a, 0x5e, 0xed, 0xfe, 0x2d, - 0xce, 0xaf, 0x82, 0x1a, 0xed, 0x2b, 0x9e, 0x9f, 0x20, 0x53, 0x69, 0x97, - 0x18, 0xd4, 0xf6, 0xcb, 0xed, 0x67, 0x12, 0x06, 0x9f, 0x72, 0x6d, 0x2e, - 0xf0, 0x87, 0xee, 0xac, 0x2b, 0xd0, 0x0d, 0x88, 0xbf, 0x77, 0x78, 0x0d, - 0xf3, 0x49, 0x57, 0x74, 0xae, 0x38, 0x7c, 0x76, 0xa2, 0xcf, 0x4a, 0x4a, - 0x73, 0x17, 0x88, 0x21, 0xf4, 0x38, 0xe7, 0xff, 0x2d, 0x17, 0xdd, 0x41, - 0xe5, 0x84, 0x3f, 0x31, 0x57, 0xee, 0xc2, 0x55, 0x17, 0xda, 0x17, 0x9e, - 0xac, 0xec, 0x74, 0x94, 0x27, 0xf1, 0x8d, 0xaf, 0xd7, 0xe6, 0x71, 0x1d, - 0xcc, 0x80, 0x7e, 0xfe, 0x66, 0x5f, 0xe0, 0x30, 0x2d, 0x11, 0x07, 0x4b, - 0x1d, 0x39, 0x73, 0xc7, 0x06, 0x8f, 0xf2, 0x89, 0xfe, 0x39, 0x52, 0x7e, - 0x77, 0x32, 0xfa, 0x80, 0x87, 0xe8, 0xdc, 0x09, 0xf0, 0xd8, 0x5e, 0x15, - 0x9c, 0x9f, 0x05, 0xff, 0x92, 0x49, 0xcd, 0xea, 0xb3, 0xad, 0x4b, 0xb1, - 0x31, 0x31, 0x60, 0xf3, 0xd0, 0x5c, 0x6d, 0x58, 0xb5, 0x18, 0xd0, 0xb8, - 0xb9, 0x90, 0xd7, 0xc1, 0xde, 0x59, 0xa0, 0x3c, 0x41, 0x39, 0xf1, 0x86, - 0x22, 0x7e, 0x8e, 0x05, 0x67, 0x14, 0x78, 0x14, 0x7b, 0xd2, 0x43, 0xcf, - 0x8b, 0xbc, 0x25, 0xf8, 0xe4, 0xe4, 0x36, 0x96, 0x70, 0xeb, 0x4c, 0xaf, - 0x13, 0xd8, 0x34, 0x80, 0xee, 0x3d, 0x9d, 0xc4, 0x70, 0xab, 0xe9, 0x25, - 0x04, 0x79, 0x1c, 0x6d, 0xa5, 0x1a, 0x5b, 0x43, 0x7b, 0x73, 0x1f, 0x69, - 0x4a, 0x80, 0xe6, 0x3e, 0xc8, 0xef, 0xf2, 0x18, 0xa7, 0xbb, 0x3e, 0xd8, - 0x04, 0x84, 0x3f, 0xd3, 0xe0, 0xe3, 0xe2, 0x86, 0x58, 0xa9, 0xb8, 0x83, - 0xa9, 0xf7, 0x74, 0x9c, 0x98, 0x61, 0x75, 0x92, 0x4a, 0x58, 0x06, 0x9b, - 0x34, 0x80, 0xaa, 0x53, 0xd9, 0x30, 0xb9, 0x81, 0x58, 0x83, 0x99, 0x16, - 0x89, 0x20, 0xe0, 0x45, 0x17, 0x77, 0x99, 0x48, 0x9d, 0x0e, 0x75, 0x40, - 0x02, 0x1b, 0x8b, 0x65, 0x2a, 0x20, 0x1a, 0xb4, 0x79, 0xe0, 0x07, 0x41, - 0xa5, 0xb0, 0x8e, 0xb3, 0xa6, 0x1c, 0x38, 0x2f, 0xda, 0xf0, 0xe0, 0x9b, - 0x88, 0x13, 0xb5, 0xb9, 0x8f, 0x7d, 0x46, 0xd8, 0x67, 0x87, 0xf8, 0x0c, - 0xda, 0xc4, 0x57, 0x4b, 0x3e, 0xef, 0xfb, 0xd7, 0xf1, 0x82, 0x85, 0xe2, - 0xed, 0x2d, 0x56, 0xc1, 0xbf, 0xb3, 0x94, 0x2f, 0x3e, 0xa8, 0x56, 0x3e, - 0xb3, 0xe8, 0x04, 0xda, 0xf9, 0x84, 0xeb, 0x5f, 0xb2, 0x50, 0x5c, 0x35, - 0xfc, 0xd1, 0xed, 0x59, 0x6c, 0xce, 0x98, 0x61, 0x4d, 0x0b, 0x22, 0x8d, - 0xbc, 0x98, 0xdc, 0x6c, 0x8e, 0xe9, 0x9f, 0x67, 0x5b, 0x9b, 0x00, 0x65, - 0x2c, 0x61, 0x27, 0x63, 0x9a, 0xdc, 0xd9, 0x79, 0xf1, 0xa2, 0x17, 0x75, - 0xd8, 0x72, 0x65, 0x1d, 0xf0, 0x91, 0xa0, 0x93, 0xd5, 0x69, 0x2b, 0x99, - 0xb6, 0x99, 0x5f, 0x8e, 0xf9, 0x7f, 0xfc, 0x9a, 0x55, 0x3e, 0xba, 0xd0, - 0x1c, 0x0e, 0xac, 0xc3, 0x3c, 0x44, 0x5d, 0x31, 0xb2, 0xba, 0xa3, 0x7d, - 0x30, 0xdb, 0x04, 0xbb, 0x21, 0x16, 0x49, 0xb6, 0x30, 0x5f, 0xe3, 0xec, - 0x41, 0xaf, 0x1b, 0xd0, 0x58, 0x54, 0xc9, 0xdf, 0xbc, 0x96, 0xe0, 0x2a, - 0xcd, 0xae, 0x2f, 0x96, 0xa3, 0xbe, 0xa6, 0x99, 0x8a, 0xae, 0x91, 0xd2, - 0xc9, 0x9d, 0x71, 0x7d, 0x77, 0x35, 0x01, 0x37, 0x38, 0xf2, 0x97, 0x51, - 0x47, 0x69, 0x8b, 0x7f, 0x0c, 0xe0, 0x2a, 0x4c, 0xc6, 0x3c, 0x8d, 0xec, - 0xb5, 0xfe, 0xf1, 0xd7, 0xbf, 0x52, 0xb3, 0x7f, 0xe5, 0x56, 0x5e, 0xff, - 0xa9, 0x28, 0xaf, 0x83, 0x67, 0x3a, 0x4a, 0xf0, 0x47, 0xde, 0x51, 0x8a, - 0xe0, 0x27, 0x40, 0x96, 0x22, 0x1b, 0xea, 0xed, 0xb1, 0x72, 0xe4, 0x5e, - 0x30, 0xbf, 0x14, 0x79, 0x6a, 0x62, 0x78, 0x73, 0xb1, 0x07, 0x5f, 0xb2, - 0x13, 0x33, 0xe1, 0xfc, 0x66, 0xa2, 0x42, 0x60, 0xd2, 0x6d, 0x98, 0x88, - 0x71, 0x78, 0xf2, 0xed, 0xd1, 0xf9, 0xe9, 0xc9, 0xdb, 0xc3, 0x93, 0x8b, - 0xe8, 0xdb, 0xbd, 0xf3, 0xa3, 0xbd, 0x2f, 0x8f, 0x35, 0x8d, 0x9a, 0xa7, - 0xc0, 0x21, 0x23, 0x22, 0x7a, 0xd7, 0x10, 0x45, 0x83, 0xb4, 0x96, 0x56, - 0x28, 0xfd, 0x5a, 0xe5, 0xbb, 0xf7, 0x8a, 0x51, 0x0d, 0x1b, 0xeb, 0x7b, - 0x94, 0x63, 0xe8, 0xb1, 0xd7, 0xef, 0xbd, 0x55, 0x66, 0x60, 0xdb, 0xe5, - 0x43, 0x90, 0x98, 0xcb, 0xd1, 0x2c, 0x4c, 0xa5, 0xc6, 0x9f, 0x7c, 0x15, - 0x1d, 0x05, 0xfb, 0x1f, 0x44, 0x5f, 0x49, 0x6e, 0xb7, 0xc6, 0x55, 0xb9, - 0x57, 0x35, 0xcf, 0x48, 0x6d, 0x39, 0xf2, 0x9f, 0xfb, 0x65, 0xef, 0xf8, - 0xd8, 0x77, 0xb9, 0x27, 0x82, 0x6d, 0xdf, 0xa7, 0x48, 0x5b, 0x45, 0xb9, - 0x6b, 0xb6, 0x53, 0x0a, 0xc0, 0x8f, 0xa4, 0x04, 0x5d, 0x5b, 0x19, 0xdc, - 0xab, 0xcc, 0x03, 0x6f, 0xcf, 0x1f, 0x42, 0x8c, 0x6d, 0xee, 0x94, 0xb6, - 0x65, 0x5d, 0x80, 0x19, 0xd8, 0xf7, 0x48, 0x07, 0x29, 0x2d, 0x6e, 0x7a, - 0x51, 0xf7, 0x4f, 0x5d, 0x49, 0xd5, 0x4a, 0x00, 0x40, 0x8b, 0xd6, 0x0b, - 0x5f, 0x31, 0x32, 0x3a, 0x39, 0xf5, 0x63, 0x3a, 0x42, 0x6a, 0x00, 0x13, - 0x15, 0x22, 0x41, 0x73, 0x07, 0x6e, 0x94, 0x68, 0x8a, 0x73, 0x1f, 0x9e, - 0x61, 0x89, 0x58, 0xc7, 0x30, 0xad, 0x65, 0xef, 0x2d, 0x2d, 0x12, 0x87, - 0x0a, 0x09, 0xcc, 0x61, 0xd2, 0xd1, 0xe2, 0x71, 0x80, 0x27, 0x2c, 0xa6, - 0x1b, 0xd6, 0x76, 0x71, 0xed, 0x6b, 0x75, 0x5e, 0x59, 0x57, 0x36, 0x0a, - 0xa9, 0x3f, 0x6a, 0x59, 0x28, 0xbb, 0x04, 0x09, 0xdd, 0x6f, 0x2a, 0xa4, - 0xb7, 0x38, 0xa9, 0x38, 0x94, 0x3c, 0x4f, 0x27, 0x0a, 0x4f, 0xd7, 0x4a, - 0x02, 0x03, 0xf8, 0x36, 0xce, 0xf7, 0x01, 0xe6, 0x3d, 0xe7, 0xda, 0x45, - 0xae, 0x06, 0x82, 0x84, 0x9d, 0x12, 0xcb, 0xc8, 0x39, 0x97, 0x6b, 0xae, - 0x12, 0x07, 0x42, 0x39, 0x21, 0x8f, 0xc7, 0x57, 0x99, 0xc9, 0xda, 0xb1, - 0x73, 0xb8, 0x4a, 0x8e, 0x96, 0x44, 0xe9, 0x98, 0xc8, 0xe5, 0xf0, 0xa7, - 0x9c, 0xcd, 0x0b, 0xae, 0x59, 0xb3, 0x30, 0x73, 0x64, 0x12, 0x2c, 0x64, - 0x1a, 0xb9, 0x50, 0x04, 0x09, 0xbe, 0x3e, 0xf0, 0x9d, 0x19, 0x87, 0x38, - 0x25, 0x0d, 0x10, 0x0a, 0xb0, 0x5b, 0x96, 0x10, 0x8c, 0x18, 0x39, 0x0c, - 0x8b, 0x1f, 0x44, 0x93, 0x1a, 0xee, 0x88, 0x26, 0xcd, 0xf8, 0x49, 0x47, - 0x65, 0xca, 0xb9, 0x47, 0xc6, 0x76, 0xe2, 0x68, 0x94, 0x5e, 0x45, 0x66, - 0xf7, 0x88, 0x98, 0x14, 0x00, 0x0e, 0x96, 0xcd, 0x12, 0xde, 0x2a, 0x40, - 0x7f, 0x41, 0x50, 0xbf, 0xe6, 0xaa, 0xe5, 0x1e, 0xab, 0xca, 0x66, 0x52, - 0x70, 0x6c, 0x7e, 0x60, 0x37, 0x83, 0xed, 0x7c, 0xc9, 0xeb, 0x68, 0x81, - 0x4c, 0x8a, 0x6b, 0xad, 0x61, 0x5d, 0x6c, 0x94, 0x05, 0xca, 0xde, 0x1c, - 0x49, 0x24, 0x96, 0x90, 0x8b, 0x75, 0xb0, 0x90, 0x57, 0x66, 0x0d, 0x30, - 0xa5, 0x70, 0xa1, 0xa4, 0x75, 0x07, 0x4c, 0x8d, 0xda, 0xf4, 0x82, 0xec, - 0xc9, 0x94, 0x2d, 0x11, 0xe9, 0x95, 0x42, 0x12, 0xb6, 0x59, 0x8a, 0xc0, - 0x74, 0x29, 0xa5, 0xd6, 0x69, 0x7c, 0xeb, 0x01, 0x97, 0x99, 0x13, 0x89, - 0xc8, 0x63, 0xa2, 0x2c, 0xea, 0x5f, 0x7d, 0xf1, 0x57, 0xc6, 0x56, 0x33, - 0xaa, 0xd8, 0xf0, 0x3e, 0x6b, 0xb9, 0xf2, 0x99, 0x56, 0xc7, 0x5a, 0x8b, - 0x09, 0xe3, 0xa5, 0xfd, 0x32, 0xd3, 0x53, 0x68, 0xb9, 0x8a, 0x2c, 0x57, - 0x63, 0x3a, 0x0d, 0x90, 0xa9, 0xc5, 0xf6, 0x10, 0x37, 0x24, 0x0d, 0x57, - 0x32, 0x7d, 0x4f, 0xa3, 0x46, 0x04, 0xc5, 0x36, 0x98, 0x89, 0xc6, 0x23, - 0xb3, 0x2c, 0x56, 0x33, 0x88, 0x05, 0xec, 0xcb, 0xfc, 0xab, 0xe1, 0x35, - 0xa4, 0x25, 0x11, 0xd2, 0x78, 0x26, 0x92, 0xa2, 0x27, 0xbf, 0xd9, 0x83, - 0x44, 0xac, 0xad, 0xad, 0xed, 0xbf, 0x1b, 0x5e, 0x9c, 0xbe, 0x8d, 0x4e, - 0xdf, 0x5d, 0x9c, 0xbd, 0xbb, 0xd0, 0x7b, 0x6a, 0x24, 0x31, 0xbd, 0xa2, - 0x10, 0xca, 0x95, 0x6f, 0xbb, 0x39, 0x53, 0xa7, 0x31, 0xc2, 0x13, 0x32, - 0x20, 0xd2, 0x05, 0xb8, 0x34, 0x2e, 0x9f, 0x07, 0x68, 0x4d, 0x02, 0x74, - 0x8b, 0x35, 0xbf, 0xa3, 0x35, 0x47, 0x2e, 0x26, 0x0c, 0x39, 0x96, 0x1e, - 0x04, 0x25, 0xa7, 0xbd, 0xe0, 0x48, 0xad, 0x04, 0x17, 0xdc, 0xbb, 0x55, - 0x18, 0x20, 0x1f, 0x83, 0x63, 0x86, 0x1c, 0x6f, 0xe7, 0x09, 0xc3, 0x01, - 0x11, 0x08, 0x33, 0x2e, 0xcd, 0x7c, 0x69, 0x11, 0x99, 0x08, 0x53, 0xa9, - 0x26, 0xa5, 0x85, 0xb9, 0x71, 0x65, 0x46, 0x33, 0xbc, 0x76, 0xd1, 0xd4, - 0x1c, 0x81, 0x82, 0x28, 0x32, 0x71, 0xc1, 0x73, 0xb8, 0x96, 0xd5, 0x3d, - 0xbf, 0x63, 0xa3, 0x77, 0xe3, 0x4e, 0xbd, 0x8b, 0xba, 0xdf, 0x25, 0x61, - 0x83, 0x1f, 0xff, 0x83, 0x53, 0xfe, 0xde, 0xdb, 0x27, 0xff, 0x94, 0x2e, - 0x7f, 0x9a, 0x77, 0x11, 0x7c, 0x55, 0xf5, 0xb5, 0x7e, 0x73, 0x78, 0xfe, - 0xe5, 0xe1, 0xf9, 0xe9, 0x10, 0x01, 0x27, 0x66, 0xdb, 0x6a, 0x12, 0xfb, - 0x4d, 0x92, 0x8f, 0x92, 0x3c, 0xd3, 0x1a, 0x32, 0xf6, 0xd7, 0x8b, 0xcd, - 0xaf, 0x86, 0xc3, 0xbd, 0xb3, 0x23, 0x57, 0x6e, 0xc4, 0x25, 0x1f, 0x89, - 0x42, 0x34, 0x97, 0xf4, 0x38, 0x9e, 0xbf, 0xbd, 0x42, 0x74, 0x31, 0xbe, - 0x91, 0xa0, 0xd4, 0x86, 0x57, 0xd3, 0xac, 0xb2, 0xec, 0xce, 0xd4, 0x9c, - 0x34, 0x6e, 0xd8, 0xf0, 0x84, 0x24, 0x35, 0x5b, 0x08, 0xf8, 0x0d, 0x1b, - 0x91, 0x7b, 0x2e, 0x70, 0xeb, 0x26, 0x1f, 0xf5, 0x89, 0xd0, 0x6f, 0xac, - 0xb4, 0xa1, 0x84, 0xcf, 0x13, 0x9b, 0x94, 0xb8, 0x5a, 0x6f, 0x54, 0xb8, - 0xe1, 0x6a, 0xa6, 0x9b, 0x37, 0x7c, 0x34, 0xb8, 0x1e, 0xc6, 0x74, 0x20, - 0x9c, 0x5d, 0xce, 0x92, 0x05, 0x4b, 0x32, 0x7b, 0x7d, 0x0c, 0xde, 0x80, - 0x7a, 0x73, 0xa5, 0x96, 0xc4, 0xae, 0x45, 0x9f, 0x3c, 0x77, 0x30, 0x4f, - 0x61, 0xa1, 0xcb, 0x4b, 0x92, 0xb4, 0x17, 0x77, 0x13, 0xbd, 0x40, 0x80, - 0x6c, 0x3c, 0x17, 0xbb, 0xb6, 0xf0, 0xef, 0xba, 0x77, 0x83, 0x6b, 0x43, - 0x21, 0xce, 0x5f, 0xa3, 0x98, 0xa3, 0xd1, 0x34, 0x9e, 0xdf, 0xe0, 0x26, - 0xc3, 0xcd, 0xc4, 0xba, 0xa5, 0xa1, 0x17, 0x71, 0x25, 0x2d, 0x38, 0xb3, - 0x14, 0x50, 0x00, 0xd2, 0x9e, 0xd5, 0xeb, 0x66, 0x43, 0xae, 0x03, 0x69, - 0x0a, 0xdc, 0x36, 0x38, 0x49, 0x7e, 0x11, 0xd8, 0x44, 0x74, 0x78, 0x4c, - 0x97, 0x92, 0xcb, 0x4d, 0x80, 0x2e, 0x9e, 0x4c, 0x19, 0x6a, 0xc7, 0xc2, - 0x49, 0x24, 0x1d, 0x2f, 0x05, 0x13, 0x13, 0xc6, 0x61, 0xa0, 0xdb, 0x70, - 0x3c, 0x80, 0x52, 0x90, 0x75, 0x58, 0xb8, 0xda, 0x14, 0xca, 0xb5, 0xb5, - 0x5c, 0x7b, 0x59, 0x29, 0x55, 0x11, 0x56, 0x2f, 0xd1, 0x28, 0xad, 0x7d, - 0x1f, 0x4c, 0x12, 0xdb, 0x77, 0x32, 0x08, 0x2f, 0x7f, 0x3a, 0xf7, 0x54, - 0x25, 0x29, 0x62, 0xe5, 0x36, 0xc9, 0xeb, 0x6d, 0xda, 0x3e, 0x18, 0x20, - 0x35, 0x20, 0xc6, 0x6e, 0x07, 0x28, 0x63, 0x91, 0xae, 0xd5, 0xe8, 0x52, - 0x1b, 0xf8, 0xc0, 0xaa, 0x82, 0x23, 0xe0, 0x49, 0x3c, 0x4e, 0x88, 0x8c, - 0xd4, 0xdb, 0xb7, 0x9c, 0x80, 0xdb, 0xe4, 0x15, 0x80, 0xd3, 0x30, 0xa8, - 0x53, 0x30, 0x0f, 0x60, 0x03, 0x94, 0x30, 0x7f, 0xa8, 0x2b, 0x4e, 0x90, - 0xed, 0x9f, 0xf0, 0x55, 0x91, 0xf5, 0x47, 0x4b, 0x28, 0x60, 0x1e, 0x9d, - 0x4b, 0x53, 0xff, 0xb8, 0x98, 0x2d, 0xe0, 0xb8, 0xf0, 0x3d, 0x3b, 0x32, - 0x90, 0x54, 0x2d, 0xbe, 0x0d, 0x64, 0xd9, 0x55, 0xa1, 0x5a, 0x1c, 0x40, - 0x87, 0x84, 0xae, 0x23, 0x84, 0x57, 0xe3, 0x94, 0x75, 0x84, 0xba, 0xc9, - 0x2e, 0xc8, 0x6c, 0xae, 0x05, 0xdf, 0x60, 0x54, 0xaf, 0x06, 0xea, 0x96, - 0x0e, 0x24, 0xfd, 0x02, 0x22, 0x42, 0xa2, 0xd0, 0xe1, 0x16, 0x81, 0x6b, - 0xf1, 0xfe, 0xb7, 0x25, 0x97, 0x06, 0x12, 0x6c, 0x81, 0x78, 0x2a, 0xc5, - 0x1d, 0x56, 0xde, 0x22, 0x72, 0x98, 0xca, 0x8b, 0x8b, 0x1f, 0xce, 0x0e, - 0x5f, 0xdb, 0x9b, 0x8f, 0xed, 0x99, 0x40, 0x6e, 0x21, 0xe0, 0x22, 0x51, - 0x8c, 0xcb, 0xa0, 0x7c, 0x24, 0x11, 0x59, 0xbf, 0x34, 0x47, 0xb0, 0x74, - 0xd3, 0x8f, 0xbe, 0x3f, 0x38, 0x1a, 0x9e, 0x1d, 0x9f, 0xee, 0xbf, 0x7e, - 0xf5, 0xbd, 0x71, 0xe3, 0xcf, 0x19, 0x63, 0x46, 0x64, 0x34, 0xf7, 0x99, - 0x87, 0x04, 0xd0, 0xf7, 0x4e, 0x0e, 0xbf, 0x7b, 0x4f, 0x6a, 0xc0, 0x6b, - 0xc6, 0x02, 0xef, 0xdd, 0xc6, 0x53, 0x7d, 0x89, 0x75, 0xa9, 0x16, 0xb9, - 0x2e, 0x48, 0xe0, 0x68, 0x5b, 0x58, 0x57, 0x2b, 0xde, 0x87, 0xb7, 0x3f, - 0x58, 0x0c, 0x56, 0x50, 0x48, 0x28, 0xae, 0x64, 0x63, 0xb6, 0xd4, 0x15, - 0xcc, 0xdc, 0xcd, 0xdf, 0x2d, 0x25, 0x16, 0x8f, 0xfd, 0xcf, 0xa1, 0x5b, - 0x17, 0xe1, 0x8e, 0xfa, 0x8d, 0x0f, 0x03, 0x55, 0xd4, 0xdd, 0x9c, 0xa3, - 0x1f, 0x1c, 0x7a, 0xa1, 0x16, 0x77, 0x84, 0xc3, 0x54, 0x21, 0x0e, 0x15, - 0xbb, 0x87, 0x23, 0x2f, 0x2d, 0x08, 0xdb, 0x55, 0x0f, 0x16, 0xf1, 0xc5, - 0x8d, 0x25, 0x1e, 0x8f, 0xe9, 0x07, 0x43, 0x4b, 0x72, 0x19, 0x97, 0x33, - 0xae, 0x26, 0x3e, 0xbc, 0x60, 0x7d, 0x69, 0xff, 0xf4, 0xe4, 0xe4, 0x70, - 0xdf, 0x6c, 0xcd, 0x56, 0x0d, 0x0d, 0xa9, 0xfe, 0x55, 0xc8, 0xca, 0xb0, - 0xc2, 0x44, 0xe5, 0x44, 0x3b, 0x36, 0x57, 0xcd, 0xfd, 0x63, 0x93, 0x81, - 0x24, 0x14, 0xb2, 0x10, 0x2a, 0xc0, 0xab, 0xf1, 0xa5, 0x1d, 0xe0, 0x4c, - 0x49, 0xa3, 0x56, 0x68, 0x01, 0x55, 0x52, 0xb0, 0x3b, 0xd3, 0x74, 0xe4, - 0xad, 0xe3, 0x35, 0xdf, 0x23, 0xbb, 0xb6, 0x15, 0xe3, 0x21, 0x3c, 0x42, - 0x66, 0xf7, 0xf6, 0x09, 0xb5, 0x45, 0x66, 0x95, 0xff, 0x84, 0xf8, 0x61, - 0x97, 0x0e, 0xd3, 0x1e, 0x9d, 0x46, 0x0a, 0x35, 0xc4, 0x44, 0x34, 0xf7, - 0x69, 0x10, 0xbc, 0xa8, 0xb0, 0x41, 0x80, 0x3c, 0x55, 0x96, 0x8d, 0x3a, - 0xdb, 0x92, 0xc0, 0xc4, 0x16, 0x15, 0x12, 0x58, 0x90, 0x90, 0x8d, 0x20, - 0x13, 0x9d, 0x59, 0x43, 0xfa, 0x50, 0xb1, 0xf1, 0x8a, 0x33, 0x9f, 0x80, - 0xcd, 0x34, 0x61, 0x51, 0x0b, 0xa6, 0xb6, 0xb0, 0x33, 0xbb, 0x49, 0x79, - 0x05, 0xad, 0x96, 0xbd, 0xb8, 0x61, 0xdd, 0xe8, 0xa5, 0x92, 0x05, 0x16, - 0x1e, 0xe1, 0x75, 0x71, 0x0e, 0xec, 0xc3, 0x52, 0x01, 0xc6, 0x4d, 0xe9, - 0xd1, 0x58, 0xb9, 0x41, 0x15, 0x06, 0xc6, 0xe8, 0x52, 0x83, 0x5b, 0x1e, - 0x5d, 0x51, 0xb7, 0x9a, 0x42, 0xbe, 0x79, 0x62, 0x41, 0x2f, 0x62, 0x4f, - 0x28, 0xd8, 0xb1, 0x30, 0x1f, 0xbb, 0xcb, 0x98, 0x73, 0x55, 0x38, 0xf8, - 0x23, 0x57, 0x88, 0x9d, 0x25, 0x17, 0xf5, 0xd6, 0xe2, 0x97, 0x28, 0xdd, - 0xc8, 0xde, 0x35, 0x83, 0x5f, 0xf3, 0xd1, 0xbf, 0xb2, 0xdc, 0x01, 0x59, - 0x89, 0x1d, 0xfd, 0x41, 0x3b, 0x74, 0x79, 0xd5, 0xb6, 0x59, 0x3d, 0x49, - 0xd3, 0x89, 0x91, 0x15, 0x62, 0x06, 0xdc, 0x20, 0xbb, 0xb0, 0xd0, 0x9c, - 0x4d, 0xe7, 0x99, 0x14, 0x86, 0x87, 0x4a, 0x45, 0x3e, 0xcb, 0xa9, 0xe2, - 0x01, 0x24, 0xc9, 0x72, 0x81, 0xb2, 0x3b, 0x63, 0x05, 0x1e, 0x47, 0xb8, - 0xa7, 0x6b, 0xcf, 0xee, 0x10, 0xbf, 0x56, 0xb4, 0xa8, 0x6f, 0xdf, 0x1d, - 0x5f, 0x1c, 0x9d, 0x85, 0x5e, 0xc6, 0xe8, 0xbb, 0xa3, 0x8b, 0xaf, 0x49, - 0x5e, 0xe7, 0xb2, 0xc4, 0xc7, 0xec, 0xca, 0x79, 0xfb, 0x76, 0xef, 0x84, - 0x73, 0xd2, 0x4f, 0x10, 0x15, 0xb7, 0x07, 0x9d, 0x81, 0xb9, 0x11, 0xad, - 0x30, 0x93, 0x0e, 0x67, 0x2b, 0xf7, 0x9a, 0x2e, 0x85, 0xda, 0xe9, 0x03, - 0xc3, 0xe1, 0x23, 0x14, 0xae, 0x11, 0x6f, 0xb8, 0xea, 0x04, 0x0f, 0x6c, - 0xc0, 0xc1, 0xa9, 0x65, 0x3d, 0x8b, 0xd7, 0xb9, 0x8e, 0x38, 0x8e, 0xcc, - 0x38, 0x91, 0xcd, 0xe1, 0x40, 0x95, 0xab, 0xdb, 0xbb, 0x29, 0xb0, 0xa1, - 0x0e, 0xb6, 0x14, 0x51, 0xaa, 0x24, 0x32, 0xcd, 0x55, 0xa5, 0x91, 0xeb, - 0xb2, 0x1a, 0xa9, 0x4e, 0x3d, 0x62, 0x48, 0x70, 0x21, 0x67, 0xde, 0xf2, - 0xc7, 0xca, 0x26, 0xeb, 0xcb, 0xe7, 0xc7, 0xe1, 0x7d, 0x5a, 0x2d, 0x7d, - 0x6b, 0xa1, 0x65, 0x57, 0x59, 0xe2, 0x0f, 0x6e, 0xff, 0xd4, 0x9a, 0x31, - 0x33, 0x2f, 0x34, 0x30, 0xb9, 0x5b, 0xfa, 0xcc, 0xd6, 0xfa, 0xb4, 0x25, - 0x1b, 0xae, 0x34, 0x8d, 0x9a, 0xc9, 0x76, 0x45, 0xaa, 0xac, 0x14, 0xa0, - 0x06, 0x56, 0xec, 0xa9, 0x6b, 0x59, 0x43, 0x18, 0x10, 0xc9, 0xab, 0xc9, - 0x30, 0x3a, 0x67, 0x30, 0x4b, 0x7b, 0xac, 0x92, 0xcb, 0x5b, 0xab, 0x82, - 0x6d, 0xc9, 0x50, 0x48, 0x81, 0x64, 0xd0, 0x16, 0xef, 0x20, 0x45, 0x39, - 0xae, 0x2c, 0x1b, 0x24, 0xf7, 0x09, 0xfb, 0x32, 0xf9, 0xd7, 0xbf, 0x2d, - 0xae, 0xc2, 0x3c, 0x29, 0xcc, 0x55, 0x13, 0x82, 0xdb, 0xa1, 0x80, 0x45, - 0x2a, 0xd2, 0xa2, 0x64, 0x95, 0x11, 0x68, 0xa5, 0xb1, 0xed, 0x55, 0x1d, - 0xea, 0xf7, 0x3b, 0xcd, 0xef, 0x77, 0xc4, 0xbc, 0xc8, 0xc5, 0xd3, 0x1d, - 0x82, 0xa6, 0x64, 0xff, 0x86, 0xd2, 0x9b, 0xc9, 0x04, 0x4c, 0x61, 0x52, - 0x67, 0x1d, 0x3e, 0x14, 0x61, 0x89, 0x62, 0xe3, 0xe7, 0xe8, 0xa3, 0x65, - 0x8e, 0xac, 0x46, 0x3c, 0x02, 0x73, 0xb0, 0x84, 0x8c, 0x22, 0x40, 0x0b, - 0x6c, 0x8a, 0x6f, 0x2b, 0x6a, 0x90, 0xbe, 0x7f, 0xee, 0x42, 0xb8, 0x3d, - 0x4b, 0x43, 0x61, 0x2f, 0xcd, 0xa1, 0xe9, 0xa7, 0x8b, 0x5b, 0xab, 0x6d, - 0x49, 0xbf, 0x7e, 0xe2, 0x6a, 0xba, 0x14, 0x15, 0x5f, 0x54, 0x05, 0xaa, - 0xd6, 0x78, 0x3f, 0x06, 0x87, 0x90, 0x3a, 0x66, 0x0c, 0x0e, 0xe5, 0x75, - 0x50, 0x1b, 0x57, 0x52, 0x0d, 0xe6, 0x0d, 0xaa, 0x4c, 0xc2, 0x90, 0x3c, - 0x45, 0x3e, 0x25, 0xd8, 0x51, 0xc0, 0x5b, 0x42, 0x78, 0xf8, 0xc7, 0xcb, - 0xc9, 0xb3, 0xe9, 0xe8, 0x36, 0x4d, 0xee, 0x5c, 0x11, 0xf4, 0xef, 0xe4, - 0x9a, 0x86, 0x73, 0xe0, 0x41, 0x7c, 0x7e, 0xcc, 0x25, 0x55, 0xc3, 0x35, - 0xc1, 0xc7, 0x61, 0x11, 0x48, 0xb8, 0xb5, 0x40, 0x90, 0x2d, 0x7c, 0x7e, - 0x22, 0xce, 0x60, 0x00, 0x91, 0x8c, 0x51, 0xfd, 0x7d, 0xc9, 0x33, 0x1d, - 0xb1, 0x34, 0x00, 0x91, 0xa6, 0x70, 0xd9, 0x60, 0x57, 0xd3, 0x6c, 0x34, - 0x42, 0xc8, 0xbb, 0x4b, 0x88, 0x1c, 0x44, 0x8c, 0xc5, 0x79, 0x23, 0x24, - 0xa1, 0x1e, 0x02, 0x04, 0xa4, 0xc9, 0x41, 0xf7, 0xab, 0x23, 0x72, 0x97, - 0x06, 0xe1, 0x8e, 0x33, 0x06, 0xa3, 0x9f, 0x30, 0x53, 0xa2, 0x45, 0xca, - 0x5d, 0xa2, 0x44, 0x74, 0x99, 0x7c, 0xb6, 0xb5, 0xbb, 0xcb, 0xf5, 0x22, - 0x3e, 0xde, 0xee, 0x69, 0x2c, 0x61, 0x18, 0x20, 0xdd, 0x73, 0xb7, 0x93, - 0xb4, 0xc1, 0xda, 0x47, 0x38, 0xcf, 0xf9, 0x72, 0x96, 0xe4, 0xaa, 0x87, - 0xe0, 0x3e, 0x14, 0xc8, 0x18, 0x26, 0x46, 0x1b, 0xb2, 0x7b, 0x16, 0x15, - 0x50, 0x60, 0x7f, 0x97, 0x8c, 0x06, 0x7f, 0x79, 0xea, 0x39, 0xc7, 0x51, - 0x99, 0x4b, 0x75, 0x49, 0x7e, 0x18, 0x02, 0x39, 0x70, 0x30, 0xb2, 0x9b, - 0x50, 0x56, 0xd5, 0x2c, 0x8e, 0x1f, 0x83, 0xc1, 0xef, 0xbc, 0xd8, 0xfe, - 0x59, 0x42, 0xd7, 0x98, 0xc0, 0xfd, 0x2a, 0x68, 0x45, 0xb0, 0x89, 0xca, - 0x23, 0x92, 0xf8, 0xa5, 0x84, 0xb1, 0x9e, 0x0c, 0xae, 0x06, 0x26, 0x24, - 0xa8, 0xe1, 0xb0, 0x17, 0x06, 0x10, 0x0b, 0x66, 0xb5, 0x94, 0x13, 0x87, - 0xda, 0x65, 0xb6, 0x21, 0x33, 0xe4, 0xaa, 0x55, 0x32, 0x2c, 0xed, 0xb2, - 0x46, 0x57, 0xc6, 0xde, 0xd1, 0x31, 0x07, 0xa7, 0x1c, 0x93, 0x04, 0x36, - 0x34, 0x56, 0x86, 0x08, 0x1e, 0x04, 0xd7, 0xcc, 0x53, 0xbe, 0x4d, 0x7b, - 0x0e, 0x51, 0xde, 0x02, 0xe1, 0x21, 0x56, 0xb0, 0x91, 0x5d, 0x24, 0x73, - 0x45, 0x7e, 0x22, 0x79, 0x98, 0xf8, 0x59, 0x21, 0xe6, 0x14, 0x00, 0x2c, - 0x32, 0xf2, 0x30, 0x1c, 0x1a, 0x90, 0x78, 0x65, 0xe1, 0x51, 0xc4, 0x22, - 0x4f, 0xa6, 0xc9, 0xad, 0xda, 0x3d, 0x04, 0xae, 0xee, 0x2b, 0xf5, 0x25, - 0x48, 0x11, 0xbb, 0xd2, 0xbb, 0x44, 0x2a, 0xee, 0x0a, 0xee, 0x73, 0x53, - 0x32, 0xfd, 0x7d, 0x02, 0x37, 0x77, 0xef, 0x21, 0x96, 0xcd, 0x75, 0xc3, - 0xef, 0xf5, 0x59, 0x04, 0x2d, 0x64, 0x27, 0xde, 0x15, 0x9a, 0xa3, 0x5b, - 0x8f, 0x03, 0x14, 0x55, 0xde, 0xaa, 0x20, 0x89, 0x59, 0xac, 0x67, 0x28, - 0x98, 0x62, 0xcc, 0x63, 0xa9, 0xa5, 0xc7, 0x26, 0x14, 0xb4, 0x74, 0x49, - 0xf2, 0x12, 0xe3, 0x9d, 0xf7, 0x22, 0x5f, 0xf3, 0x3c, 0x9b, 0xd2, 0x9f, - 0x88, 0x6a, 0xe0, 0x55, 0xc7, 0xb3, 0x8c, 0xe2, 0x17, 0xc4, 0x1a, 0xd1, - 0x9f, 0x12, 0xe8, 0xaa, 0x7f, 0xa1, 0xa9, 0x7c, 0x09, 0xb0, 0xc8, 0x9e, - 0x10, 0x2b, 0x1b, 0xff, 0xb5, 0x74, 0x3d, 0x46, 0xaf, 0xbe, 0x37, 0x19, - 0xff, 0x81, 0xb9, 0x86, 0x8c, 0x4d, 0x64, 0xb9, 0xad, 0xae, 0xec, 0xc2, - 0x48, 0x8a, 0x56, 0x7d, 0xb9, 0x64, 0x2b, 0xb5, 0x2b, 0xca, 0xc0, 0xa3, - 0x98, 0x31, 0x69, 0x25, 0x52, 0x1f, 0xce, 0x35, 0xce, 0x02, 0xd7, 0x92, - 0x76, 0x57, 0x5a, 0x3f, 0xce, 0xee, 0xb8, 0xba, 0xdd, 0xe5, 0x25, 0x97, - 0xdc, 0x3e, 0x9d, 0x7b, 0x50, 0x48, 0xe6, 0xaa, 0xf2, 0xe0, 0xcc, 0x2a, - 0x6a, 0xd0, 0xdc, 0xac, 0xf6, 0xba, 0x85, 0x2a, 0x0e, 0xa2, 0x3d, 0xac, - 0x12, 0xc9, 0x42, 0x68, 0x4e, 0x7c, 0x6a, 0x10, 0x07, 0x6b, 0x91, 0x71, - 0x5a, 0x7d, 0x97, 0x6f, 0xc8, 0x19, 0xca, 0xfc, 0x71, 0x04, 0xd8, 0x2c, - 0x9b, 0x5b, 0xa0, 0xf3, 0xb2, 0x10, 0x88, 0x30, 0x2b, 0xd5, 0xbb, 0x26, - 0x36, 0xc3, 0x74, 0xaa, 0x98, 0xbc, 0x2a, 0x38, 0xe3, 0x8d, 0x70, 0x32, - 0x93, 0xfe, 0xe2, 0x7a, 0x61, 0x3b, 0x6d, 0xfc, 0x4a, 0x98, 0x99, 0x86, - 0xd6, 0xe2, 0x7a, 0x3b, 0xfb, 0xfa, 0x6c, 0x10, 0x1d, 0x72, 0x4b, 0x32, - 0x26, 0xbd, 0x87, 0xa0, 0x41, 0xd1, 0x77, 0x34, 0xd9, 0x2b, 0x66, 0xe0, - 0xa7, 0x39, 0xff, 0x85, 0xd6, 0xf4, 0x4b, 0x31, 0x9a, 0xe0, 0xdb, 0x6a, - 0xaf, 0xd4, 0x50, 0xa6, 0x45, 0xda, 0xcf, 0xf0, 0x3b, 0x1d, 0x15, 0xe2, - 0x8e, 0x6e, 0x9b, 0x7c, 0x0f, 0x59, 0x5e, 0x01, 0x54, 0x90, 0x37, 0x23, - 0x62, 0x9a, 0x60, 0x7d, 0x8b, 0x07, 0xec, 0x1f, 0x14, 0x6e, 0xa0, 0x70, - 0xe8, 0xf5, 0x20, 0x0d, 0x04, 0xa4, 0xa5, 0xe4, 0xe7, 0xa2, 0x68, 0xe4, - 0x5c, 0xe5, 0x02, 0x25, 0x90, 0x27, 0x1a, 0x73, 0x94, 0xa9, 0x03, 0x43, - 0xf4, 0x8d, 0x22, 0xa9, 0x1d, 0xd7, 0x40, 0xbc, 0xb2, 0x2f, 0x58, 0x28, - 0xe6, 0xb1, 0x10, 0x13, 0xa2, 0x2d, 0x18, 0xac, 0xfd, 0x7f, 0x57, 0x09, - 0x56, 0x4f, 0xa4, 0xe3, 0x01, 0x00, -}; -#define BUF_SIZE 0x10000 -/* 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; - z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen); - z.next_in = (unsigned char *)hugehelpgz + headerlen; - z.zalloc = (alloc_func)Z_NULL; - z.zfree = (free_func)Z_NULL; - z.opaque = 0; - - 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/Utilities/cmcurl-7.19.0/src/hugehelp.h b/Utilities/cmcurl-7.19.0/src/hugehelp.h deleted file mode 100644 index d51bee0..0000000 --- a/Utilities/cmcurl-7.19.0/src/hugehelp.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef __HUGEHELP_H -#define __HUGEHELP_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ -void hugehelp(void); -#endif diff --git a/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT b/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT deleted file mode 100644 index 011dbcf..0000000 --- a/Utilities/cmcurl-7.19.0/src/macos/MACINSTALL.TXT +++ /dev/null @@ -1 +0,0 @@ -MACOS (not MACOS X)
===================
This is the first attempt at porting cURL to MacOS.
http, ftp, dict and telnet seems to work fine, other protocols and advanced
features have not been all tested.
This port is heavily based on the GUSI library from Matthias Neeracher.
GUSI (Grand Unified Socket Interface) is a POSIX/Pthreads/Sockets library
bringing some of the comforts of UNIX 98 to traditional MacOS.
The latest GUSI release can be downloaded from sourceforge
at <http://sourceforge.net/projects/gusi/>
I have also write a few functions to help port UNIX applications to MacOS.
These functions are part of the GUSI Extra library that can be downloaded at
<http://perso.wanadoo.fr/ela/resources.html#gusiextra>
OpenSSL support is still experimental but I hope to deliver a version
including SSL soon.
cURL for MacOS requires using the CodeWarrior compiler from Metrowerks.
First download GUSI, GUSI Extra and cURL. Access paths have been setup so that
GUSI, GUSI Extra and cURL directories should have the same parent directory.
Follow the instructions in GUSI Extra "readme.txt" mainly the ones related to
SIOUX and GUSI patches. If you do not apply these patches curl will not behave
correctly.
In the 'curl/src/macos' directory, decode "curl.mcp.xml.sit.hqx" (This is a
stuffit binhexed file)
From the CodeWarrior IDE, import 'curl/src/macos/curl.xml', adjust the access
paths if required. Then you should be able to build:
- the libcurl libraries for PPC and 68K.
- the curl application (also available for PPC and 68K) which is the command
line version of cURL.
If the file "hugehelp.c" is missing rename "curl/src/hugehelp.c.cvs" to
"hugehelp.c" and make sure its file type is 'TEXT'
\ No newline at end of file diff --git a/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx b/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx deleted file mode 100644 index 01650b9..0000000 --- a/Utilities/cmcurl-7.19.0/src/macos/curl.mcp.xml.sit.hqx +++ /dev/null @@ -1 +0,0 @@ -(This file must be converted with BinHex 4.0)
:%'0eFQ`ZE@0`,RKYE#jcDA3!8dP8090*9#%!N!3F@`#3")EF8h4eCQC*G#!SBbN
a16Nh,6)`-$%J3@aKC'4TEL"6HA0dC@ec,#"*EQ-Z,#"SG(4`1Lm[Gj!$,Q&XB@4
ND@jcHA-ZBfpY,e0dG@CQ5A3[$3SD!!83!!!F@`#3!h)!!3#3!h)0,`fPT9*PFf9
bGQ9NTD8!TC!%!3!!2!!3Z$+T+EJbU5N!N!d-['F!"*UP!!!E'J#3"!m!Bh9bE#j
YBh!ZH'eX!!%`!P4&@&4$9dP&!3$rN!3!N!U!!*!*!CS!N!0K!*!%$`"#`G6)[bB
"`A,RBHAV3f@ZJUhAq'5,9!EjE+@0l9R9ECKR4kTRRh2Tr@@VMJ"@0,FaU4R&FMa
LBT)4LbVeb+BC%jqHQQI4[fPBGXP3'T4BeHdDm#H-`9$4'EUJEJ186cE)3X(8K-U
1KiJ4+5-HVi0DI[@5XBTQHb300K2--ZQmjPHEfdA)NhXMSJc'A+@kemq4P`'SeCB
TD8QEYXMK8Kk4YZRkc1,G%m39"[dp8Zmc'[eKd,jpTVh555HQXd2`S9"KrGB`laE
(r+!)8r8DP'9kbYVQeY-aSjVQRA2k-`'2pqTr9EP6Z&H-%4eK4@qp1Z(fDAd1&`A
H1IYG&T86QUHmp*%cdr$@G4fJrQ[9'8p)f"FPKmMQH6!kGBGeTA5Im1Pp*(P69-*
b8ld+I'KQIH`@CNfcIEGE&Zbb`3f,4IkZ#4Ve"2%R-a#MLYefeG"*FSMj,RD`aaE
DHh6$h8hF"r`SK84RjI*$KFfI&J3ZTk"r!J2$Nr#%K(IA803e(bAG645j1231E'$
C5$(Nr9Z2LZbqJPSH&9[h1(,+e"8!I$4XKrIeH6Y"")PlSQG2V4#-hZAbb2jBT25
(IUG-bFQ+0[bbfAlrpIDlpCradaS5G(*4d%[i*ISQ&5*3e$NVT#A+!Y3P%V*@HX9
6AGI"h1N`D@lj56PX8fB95NekUL&lk'15a*Z(38rC`Ii%$Y$E-A"!QfHG(Ed)Uhd
$e&Ckrm4jfVikK&j$D[%H)*lGX!FUK'&[Ck*%#lJUT9qiT13X#T4mK2)e"`%-JFe
)*)Sa9b+92'@Gb8N6d9E+kJ#VEA(c6+d`%E82FXcNKJYM'a,FD@Jf-Bhe0i+B2b'
4,T!!lq1IYLpFITlMfGiYPc0f$6,+MDV5TI9#X-SpJhU%)Fb8cp2EjaJ6Y-)DC*f
e'FGC5B'BdQV'H!@cS`XJID*-@m3!EFmNq*Ve20Pc0%pLrF4I`MH*iE!bAI`TJ6f
fIkZ$4)P"bTla%@'ZL"8pmd(L(R3XEa8KPe@FkheL$l%E1UF89BS&afbE`RN#pXJ
IUFD+"e#6RG6PSV[,G0B8l,Ipa2UU$4a@eA6jr+8Y,jkA1f9)d0!)UcD8pc1PCaS
$4e#PcC8bCKD'Ar-2Yr"-%XLQh@AF!9p6rj`FhAk@,R*F(2h!LB#ca(F'im+pi,L
Bf4LJV+icK26r2XR2)q9fr#K3PQ3PU)3V#9KqDVJL&pEb*`f)lAAq9FdpFU[$8N6
H43&)*h$BNrd0,c(!ICCA2Nh-i-b#,A9)Dq6b0QXcb4Cb)HG0c,H"E8"bQ0V82+K
(6bpND%LUfp6S(mNAhkhHBJTdab-6GA&I%2cqe4`NjKlSpKDmI6m!h0,h!`LC-2j
pCCGeT6#1Y62eS"hVZBAlj!YPi8DS1XV14b!3d)r5Z1C(*KTB'Df3!+cZN!#aJMU
am2DQK54epTl55RJcT[d$'Q5Me1@)lDI#N6S,Rb-#2%BpdZePl2&DZb9GH)-0FR`
3N!!5&mlD,Sp)"5ZC2f@E-bpUflPTaUfFJ4mZUlcp#`iNNNl#eBaVI1&m0!dP'F[
lT`UUYVZpKX&HPmBMVf"+'fS0*6pRfA+HccXLd0PXk",eKDrh`@MYIGqm(MRcMcP
UCb#C$m'[dhBrb438Hbh4+bDe&0"BSF1P+PPP4@i`%iP22P9ibJHTcBXRN5!leUL
LkN%bVNT!r-qGI('DMAp8jc1e[eH9VBp1+DSk0V(-aMaJD(6FHQ+T'%'h8"e3LeY
*2ldFPa@Tem)!l+PBLXN#idPfFC0i-V-9Ed2X@hEhCC!!e2J+JDccb1@@XE`Ch+V
@!I1YF"Jf&8Kc*-A[5BT"cFJ3I8rP#Vb#NHYS+"%q25(pP2,aD$5KBV4"&PiN--c
f!&h'b,[%ZDE0!j&ZY32dZD3h)p'VEr2p@kU8c8kU,K'lh$A8,)`efrhRPmImIpI
YXG)SXje6-1Z$'lrlYNl#ECVlA2V[1h9Ej6X"Q-(LA%P65$-Ka92rah%dQmeF#KH
(%CE56(aEpX$BKjEHj(6mN!"l3iEi(2#eJXU2$BHK`913!#8U6q3!&-VfilRY05#
+CbP+)RJR0D'943,GI+$+0I0+'SNaNUMBZ[q4'kLpb*c)iGMP,'c'hFQc1B6@@J6
fXPPfGrc`"VaZDc5@lD1*@AIr'1UT5C'NI$HV@!e*U##m)62YSNd$`'p*J1[@ZVM
5D'GRTkrhF6"1D9-DV'2YVR*$RV,I`+QmTjICq92DT-f+SL1lD&kp)C8`64h*aY*
AaJiFNQBGVU!$p6A1-m-e*1L9Iic!B!lQ,rZIkda"cB%TJ`U*0QP,'JVEhkFUFU&
(X5K4`r3eG5!0T0`KfYQ6-I-E-mUbb&1TIGYrd"X"EXL$@U!J)EB+%q8mMd,dFeJ
fLGJA5!N*4MXRSYfk8"8Vp9RY*4rXaR0dQ"3d!1R%CAQZRaPE1*MZ&DHdelBBaaA
(CTA1k$H!##ZMT'i$kB0JJPc9Y"5Em&M)DRM*#SIahMpP`2T[3F,Sr2JX9E@,U5L
10Sdd1Y(qAG#,G'hX$PibcN@!,X`qX*,'eM#B)#S*k1PLLI*REMpB"UmhHT-j!0&
TG)jc$@3BLI"em*jDf-B%qLmRR$,BQ1q)YN!*Q1ZNVH,YL#f$!C3-1#@Lch3a2+D
1S3dIq-1a[1C*E$*P+KPQG`THP&p'TQ$JJ-*$cK9F03c3F-aJGGic8i,3hd[fAQ(
X2Zr!KU)Rlj!!cer8P'[-pmXiEG4ETUADfi2e!+XIM"@%f)[i)Ikd3c!4jR!-4ar
q1T6*aH(Xp6eP)1"JRKV00!kq!BaZa-p*GA93QrN2e@l5U!bDcH)QqRTh9BT04b$
5Yml1!p$+q9ILbSc)r+'IfN,jLH0'9S)Z+ji4P'1GBK9MHCmrhF8AVC(Xmm"IHl#
QFBJ"3PC,19FjeHrVT3AV%qCIqAh1VJm(G,#b$Gh-aRS@jXNFTGXV8@2Eq&L#U%L
bf**dKC),j0c9*P0&V!XPRpA0'`jEQG1PDJ+Zdb`[PpRLe34(EcHI-CPm54(VIbE
2J3S%q'`"i`+,HjI3D&@MmVRC5ffqFSVlc[1eQP`@)$eHGrSTSGA@,fc&Yd%c#-[
c`N5)bZ%5b!`+QA-C%YBp[NpG`fMrU'VklXR-he$9jRbE5pBEJR2GeER[mN'1,[`
*5HDBYJFl#DN&kKi#mVHiL2@'H4Lb-%(#jb5!e"`RQeJJPfD*L#l$'($NZ1*53#4
P"Z19[8kVVN86PN0#LLPpq&`6QI1)ZR-h3b"[H'qCf&q%J1$CRiFD6AhC'iAdA!5
&9qaeYeVcr,1k'F2P%TlIY-mjXqRIMK+"1cJjQ1[ad0mTG53!aa[IQhlKS@)N-(a
pUJ$DahNB2HZ[!!fJ,p(-ACep@IGH86&XYZf#UZd`6HTD`e66bA,VjkUkQpeq)%J
hajLPmXp(SipKb*'k%k1f[e'0!D&Sh80Q"$BH&jiJb+SEbpTbQBkE2Qp,5[hLS@1
1pUZ(*&)`(+D+RH8$Z0,+br4iTZJ2rZVP,UC!FP8[XHa#3+"aHC!!DMcpKpFDeIe
D%2`@$YX20DB&iIcJUS-R%eCPc4&MSE2f3qfA9IJK5I@,R4403FVlTR'JKYF'NBr
eC`jcaFi8Bl$9bp,K,TCp"cJ33fq@Z6`!DldUA,C8J[(2MaI2,p!`$5YT12Mei`2
kEK")F$6(J8GAiLMFaTiMqpE8KiZGrrk"D3Fi#8(4*fVmGK4GIb9Pb9N,%Qh2V&b
G`4BR#1B@ZrmSF@DdRU#!!i64LJXc9abPYpjfa+I*FSZ(&IkqF2,@5XqlSfe(pJ5
@FBNcIm6`B$SBQ19pA0k8'bmMac8kRP[Q#l4qV9P3ibU$dmlE'[@*Dj1JGRJe4[Z
5M#`*0UYGpeTAFQV4)hc"Frq0Qe88T#fG+YrEd%GD5VaN8ee69)@GJLMaCTYZJ$h
Y`PmD[A8fB#4GP0TV(G5&@%i-DBILl&5HUC*fk#qhfiL-VdMPEK`@*G5aB'3@1DI
`Gmq!%mJhD-m-E@ei1#pf)H!Y)#hdYf5,Kre61KKr6-k+iC&[6#!,*8aC4V,dBda
*G-Ea,kcp`EQYmI)q(TSXdpT[&6NmmVela*&ZrNk#!a*Ek1U9e(A-C#MTiFrU*8#
GRIPS(IG0NC0@D@C,ef!3$-V,f1MmeU$hMNGflfPjdA1l$m'dhT6mE$5k,&09Rk*
35$B&A8hc`Q,f[MCL'()&ZSp9"F43Y6Gp$d@GQ1*-IFE)fQ`!Gl+4bY!)4&ME!i1
S(e$jM(!B0$aPZUklAZC&R6Q$q(JE0b`QVJ8l2ELL'2i"i$m4hNQq3$S*@r,KlPV
@0aB$#$cij*NFIiA[#P'Hmk'D%mJh*T,r&0T!Sj!!I%QRN!"4J!C25i'JdhRAG4#
+iPZ,'C)pS[%JqMbf%5Z@HYTRpTjm`P9K-jj6!9j,5+E8[jbd,$Qb,rLerVlm'a"
EJ,NAIG%b0S`!KTfSi1,Hlm6&Tl86i@XA-SjmDCVVm2JR[U[ZUaabTc`"ZLc''*T
MA06`8"HaVhrb,12m0TYp8$49BH,J(bC-qMij8S3`iIJLm!&DUAX,NDT4j(cCZq`
Sjr#YLPbe+8AqUc@cBNPJ0I"'D`jmfZPUpmQhXQ'2G"i,XrX6PZh5*UdATE`QBJT
2*-NNJ'H03hDLq3NLl8V#BcH(SN53!&)l)I#5DJXfUc)pbK*kKMMdhlkIbRYcdU*
-kaTcDabVQGjqY*`D1++%&&hPjA0$mc46dA5Pa&+%QbaXIY(9*40iKhGhE(!d(Zj
TU%6JfY"(KHR"&-pfT-D8AB"c'iDKcqH'9"0#TcflZJ5YE#(YDU4QTYFS*`lY2+'
HUH+"N6hThTfY$V%@bmP3RrZVqj*lIM!qQ&'(*R8#YUX0ViVa-8c1cLi5mSh423Y
c"ZTZ&UCCXZeRVUh#+(cU-p`4R%4,2aCl@ZeXXYH'f1j5r6'Fdp6k&d9CITqHK#@
jRIp9LG#d$jCXIJ9ZTRb1X1r#JCA&JjmSEMUfVbL!D[6I$5#JScE6Na9lmKfF0EH
V"15k'@bDdk%miP"ThZ@A0I0@V`65l5S9deFHd#$hUXR5GDT"DMik$YJL+GmY#CB
f%KC+a"&%)ihiBfR+0I#@&ENYGGfGh1ZaX"RlLlZ$l-9X9H*LaaQqEZ6LZ'rpIM*
GCa`prJ+&V"j-rb!(B[h8XVQbRfQhYc,GJ(J65aIbPCVha(mX8UAS2e@%VYZYMF(
$UMM#pf[eK66(Dj1)d*GNK+[I"ZK52ijfp01Pj098q,AA1GUbRR,5Z)jBdJMD1LZ
Y8$2iKCVB!R2!PiF*N!$Ycb2#1Nh6&f-fSDEc2YH1jp9GM@!XI'*ilG-Qc4qT0fe
dIZdlC9qP)X!!&@4T9A$EaNq-AZKQ6%R$$a54DScX[R*,M*!!k)K4LrB9Ma0[+II
jcUfa44M*R18DLAMSp36ELf),#2#qPidNRI[QVFj%D95q)Xa`RS6EjCd+5BN6MeV
%!,Q1a$r!B1`Bp3FM8IpLD)S+$G#+BR1)d#!hB9'5GRjMXFLAC-06*FkSLrBpG6X
,q$JVU-a-"TBp@F)+T`$8S[Dj!EIek6Ei!CIBUAGZpERj!eKb9(,X'RqjiBH5bbP
-M*hrM9L`Xhl"GqM#U-f9*jXA"IQeZ[b#&`DqGehATT!!(S$6dqLGCl@A-NeefUB
CPHNb!6cQp-!L[%Qal$RBVE9ZN!#qrF#!'d&V@ceTH8bbU3`DV0!06TamU$%('FZ
l0N`a41a+-&6)Jcjl2XS1jHBp[HE"-PTaj6*#rZXdIX8%X8XRqJXc(FN5iG%bELS
+b,60YmQf"J65!j!!D%+B#Ik0&-B3B@*GM[jJlJBU$RkG93B`&-#!h+HerJ8PT,@
b4!M[IeX(5fA%bFZLUp@K6(mkd@BTHhBcDkGaJh0`$CA2N!#3!%G1-Ne!SYh%drH
F,BQM`')#DqM&#U(*Y-1lG45[6@GDN!#,bMKZRMG8"D$T2Kc192P!mSK@0AC8#3E
D5,p-B+X2ZcmCQAIc,2AEdK5!+1N5*`cl9qJ@N!")h+G,fYaRJrRN`dd1NQ"E$VL
ki6&AIilJU6[Z6pR5B*U9Rm1S[dr`a6mp3Fd`ArhVJQ!TR9T#ZhI+MpjYcFC*Tpf
JP)[hkrKT5D`IVBCl"QA0TS2!TdYN8%E#epb&4PA9Q-hQ50A5SA@GjUa`kE-X-HM
+d28*r*JYMjd!ICRc,(ZrmcU5e(4KNd[IAR$U[Tm*rdK"&(P&HE,U5c&(#0[`'-D
5f6@Qdr3dIB[VAlQbBHEiXrVYae)ZjkP@,'U[dE)NKfe95B9"Jk0'I$A8b$VC&CI
hj0TB-$9m0"N8$CIaHe"M2@3-GQ$(12rHGfTrFM[EP9BMH3B`fcFE2PM'VNZ+fSm
R[kIC&VabE@DX[9ZChF-R3*X*[Gmakl`@[!XBM"Iq3#d4e2`)6dE"fe2&5r'*3)D
fB!kY""qf-#Xh!5DUNqDYG(&`URfpc*RAAS-#r+D@!A[j8r[eAi!S-rimJJ'!JGb
%*BZ5$!f,GjJjLa5D")q,RL4XR[Ppi(r8RNiP$2e@ALL+bU&lUIljbU5MXf56RSK
#8KbRX8C@f&kmYX-V,K+TmASNfml4&HPfSV$Y(&Y&J8ER)M[,N!"VmB&c'$a2h'h
c`MAp!+rpRY(4Qe8@Z#el[0+YYH#ZYd3EMkbHRechUKDqX5k8m)cfAKj'mJ*[h6'
6)pLEDAqcBBi5[CE[rpIkcC%LIUe3f4@8TFUBfZ9B6FYY-F)N[fBV'h3@(m&iB,a
)d1HkSQUS"C91!eHTUrHa9J[FLDk'K8-H9XmKc$L*'V5H'-5[*p)TC'El!$b2J"k
T0Ul!A)(4ZlVY!Te#X5V)+@[J"r1e-BdkRFe`N!#r0DcM"VUBekGkJe,*5cpX0PS
T(d3588LNcfA!1-TB8GQ`K0eIIl0N96)Nd!Rb%&4LIRETS'P3+jA+Bi9SY#qCmGI
5Ai,[V-NK#La5439PX&LDc8hTl$aLj359-bqmDJZ)GiaX1k1[k)bMZ2r(U*c[Gej
%D)m*@@+eGqbF249V)fRpkp)6e0JrHiB*[K8*9fGR-AU+jTcpi#f0+U0+L@Yc'U2
dc04kb961J1JdC5PLEV30PJSYZXJ#jfdlb$,0UrY"jX[RkUY8JLY)-L`Gj6ieH'6
%C*LCT`)3ZS@[X2!%!-SJKp1jEL2Cml64,qZhPa)'AidDL1Ybp@6`iI80l+RfHpd
Y1XF"[0[r!$B*PqDdHB95)l8[1I%*Nr,#e&Y3CCiNFC[8dj9TDKdh)Q6,,fCk(S#
pQbBT0TY@PD(I@lDhBV%Pk9GrD%IY,YpIM-V9cE(UBbG2&Xck6c5I1BcMA-YcJFA
0,Q"*[F1C16*jHTMMPV0@6HYDU5V0`dPbD&X+MPSlR&+hbi36I8(5pBhrN!$Nj*a
Z#!akZ&EGD+M,95XdGQGpfB`RY9BjCa9"Jp0EhH,EFY$Xp0#fq5DI#KVJBj,10hZ
`Bq#LBCm2%H@E,+X9!b92Xb3iDFh4MVPIpfIVl"rkr%Eie%$X)MHS6PM!XTB'1$H
kR%(U%"b&pq)aqe3a9TkCmFDMGk2qq%"HEh*XqVLk9-A,*pAd(dpZSG2Q#&qCJP2
X5cRMX'hX$'L5*+0!i`51"Yaj''JmqAJA#qUqe!P,MR-!NDje18N(qV3@5C1&B`D
IqHRl9X2i2T6ZJH'e!jK,MY#3!+TSYiGI*AaPcjIbGE,pQ5[0Bk@%Ahrf#aQ$NkU
d!GNU@XiVQ!T6'EHGZC4@(Qf-icF'*X1,1elXp1L)jmi`Y"F,'Fll%A@'$Mp1IT%
4pZjYGj%b,8rhMFlIh1-NN!#MD$'mrpeRD+18mX9YJ+9kiQE-B&U''*jE1*6raUl
$40TV"8Aj2`cF3YHakZ6%05+TZ8&#e4HlCpJjL2$)l&2RNVNKBEAbL2UqijV4C,4
!9bq*`lQDp-&$iV8-!)S2)(el3Gp5lfekXY%TkcB%-PkqfD`DRD,R`APCTf%SkYi
YkMk9pc01i''-FlHj6bF6QU%PJ+-@4DbAp91&Q,4`0mc1'1(,P6j)j1fMGbAf%BG
,M8&e!2R'Uk,%Rcm9JkL53'"eTe@IXaCCY!0!33RNL)DY5CYmjN%VhK,U8GXFG+[
8jmX*Z2'(9BE)F'c"[r"4(UF4E*Qa[Nk-j&"MM!B6UZ*0YpL'!+9)G*&k,&2l@&&
AbpQL&q)IrbB+ED(J8lRM"*Ii6%VUADiNE'dVU'q%[LHeia*6Y%89acHSZLZH(mq
I[jRmr6$mVc-RTPb8+)ZMjI@hNG(F0VT&bU@(Hq1!F"2j881[Z$Nm5SC@1$41qHC
Z*B%dX0kZFfcHDPjCH`GJrbU5DkEdIaTUI+NaK"PdSmI[LPTLJ9IJ8KA#kV"2Uia
KdERdQFN93d"lqUqXj@Mr+*qi6&"UECZ-#,*iEC&C`bZqlMfYpM(epQ)*%&C![LJ
hPR8L[G0#*-Pj,5P*C$cF+BTi2&i!bX+hlrFri`8+M'SNkXcMM(Q3!%%A2MlD*28
VCqT[JjMIq0PTUq0qPSAf4a0$XLC)-48j(c*)V1K5Pc(m%SGL+($j+p8S%dQ3!&Z
lQ%+#S[eP8p$5$[$Vq)R)6HaCkZT5CT&*Rb,2I'PA"EVrJTPJKBE@Xi$J%rQAiUE
$fqc2ald8l1R&r%FZ(Gq*VR(@l'M!MiUBId*-Kd&S!pP"YBNkYP[B[Z%YlT5SmY!
2rJF43CSX-e@Gp1FDa-d'!JQ@al9raL0r$[fkG0#D5VmHClHGEqhD`fmVA[jC+rM
(&qL@f"N"(1DT-#2bD)j)N3!`Tr&$Rep"LN@aR!Rl(5lcE1UYTUmcVKrX(f1)40K
Y4RQl"CKXF9C08YC(*$aR5a@QalMZGITR05QRZ"+h`52GmMN4pj6iXh*6MZFb8ke
arcTIYkJ%@!F4TNFBfCKU#I3SZViZSKC0e*!!"cFIrhEC%XbSMX6jaS5&9#h@!`d
[Y&`V)j*NiURXkhF0DP5e2dAG*Z,9N!$*D[l1$KF5SNi[b"J@Z2Di),1E93CDGmd
Gb1)8,k@iE`R'kNHkLYb%dGd34Y,C013(''CiPAT2BRL[dYPHEY6ZE'`i0f-mp)a
X&[HT"f3K+8rfE`T!,%MI)YZKJqZ#ZDTfGRYe'+5[Ke+2E%ecBS3pPC!!rU*,drD
&884$ZmbC%Y-Iea(IUfjblN-*cX2hB`Mr+aG#AhMaaJfKPbd5P[+H$9A'(jGqcQ-
2pAc0'J[b`hF4+N1dYV[8#-aHm&FiqHbK`R8PpZ*be,`-[a"P"q1lcb$Z8I%0RA2
X8bcClk*cpGU1Q5c6VI%#`63X"PYE,*Hi3bF21r2JTij#%Q3J'cij@e+-99)rZqB
$DdVZbrG[S8$eBj!!@$Z3!%C,DD1H[Dr+iFXKGGD&**8$2mqBZG+M+&`P%``#e8Y
13020cm&rj9ND(4q*S+D%eYGi'X(IT1lA+fV1,T!!6(fcKe2S6"!X-C-F-TqlSTB
BJTb$,U'!bY8!!!:
\ No newline at end of file diff --git a/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp b/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp deleted file mode 100644 index 1305eea..0000000 --- a/Utilities/cmcurl-7.19.0/src/macos/src/curl_GUSIConfig.cpp +++ /dev/null @@ -1 +0,0 @@ -/**************** BEGIN GUSI CONFIGURATION ****************************
*
* GUSI Configuration section generated by GUSI Configurator
* last modified: Mon Oct 29 15:41:51 2001
*
* This section will be overwritten by the next run of Configurator.
*/
#define GUSI_SOURCE
#include <GUSIConfig.h>
#include <sys/cdefs.h>
/* Declarations of Socket Factories */
__BEGIN_DECLS
void GUSIwithInetSockets();
void GUSIwithLocalSockets();
void GUSIwithMTInetSockets();
void GUSIwithMTTcpSockets();
void GUSIwithMTUdpSockets();
void GUSIwithOTInetSockets();
void GUSIwithOTTcpSockets();
void GUSIwithOTUdpSockets();
void GUSIwithPPCSockets();
void GUSISetupFactories();
__END_DECLS
/* Configure Socket Factories */
void GUSISetupFactories()
{
#ifdef GUSISetupFactories_BeginHook
GUSISetupFactories_BeginHook
#endif
GUSIwithInetSockets();
#ifdef GUSISetupFactories_EndHook
GUSISetupFactories_EndHook
#endif
}
/* Declarations of File Devices */
__BEGIN_DECLS
void GUSIwithNullSockets();
void GUSISetupDevices();
__END_DECLS
/* Configure File Devices */
void GUSISetupDevices()
{
#ifdef GUSISetupDevices_BeginHook
GUSISetupDevices_BeginHook
#endif
GUSIwithNullSockets();
#ifdef GUSISetupDevices_EndHook
GUSISetupDevices_EndHook
#endif
}
#ifndef __cplusplus
#error GUSISetupConfig() needs to be written in C++
#endif
GUSIConfiguration::FileSuffix sSuffices[] = {
"", '????', '????'
};
extern "C" void GUSISetupConfig()
{
GUSIConfiguration * config =
GUSIConfiguration::CreateInstance(GUSIConfiguration::kNoResource);
config->ConfigureDefaultTypeCreator('TEXT', 'CWIE');
config->ConfigureSuffices(
sizeof(sSuffices)/sizeof(GUSIConfiguration::FileSuffix)-1, sSuffices);
}
/**************** END GUSI CONFIGURATION *************************/
\ No newline at end of file diff --git a/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp b/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp deleted file mode 100644 index 3f1b0ef..0000000 --- a/Utilities/cmcurl-7.19.0/src/macos/src/macos_main.cpp +++ /dev/null @@ -1 +0,0 @@ -/* =========================================================================
Copyright (C) 2001 Eric Lavigne
Permission is granted to anyone to use this software for any purpose on any
computer system, and to redistribute it freely, subject to the following
restrictions:
- The author is not responsible for the consequences of use of this
software, no matter how awful, even if they arise from defects in it.
- The origin of this software must not be misrepresented, either by
explicit claim or by omission.
- You are allowed to distributed modified copies of the software, in source
and binary form, provided they are marked plainly as altered versions, and
are not misrepresented as being the original software.
========================================================================= */
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <Memory.h>
#include <GUSICommandLine.h>
#include <stdlib.h>
/* ========================================================================= */
DECLARE_MAIN(curl)
REGISTER_MAIN_START
REGISTER_MAIN(curl)
REGISTER_MAIN_END
/* ========================================================================= */
int main()
{
::MaxApplZone();
for (int i = 1; i <= 10; i++)
::MoreMasters();
(void) exec_commands();
return 0;
}
\ No newline at end of file diff --git a/Utilities/cmcurl-7.19.0/src/main.c b/Utilities/cmcurl-7.19.0/src/main.c deleted file mode 100644 index de6dbf6..0000000 --- a/Utilities/cmcurl-7.19.0/src/main.c +++ /dev/null @@ -1,5381 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <ctype.h> -#include <errno.h> - -#include <curl/curl.h> - -#include "urlglob.h" -#include "writeout.h" -#include "getpass.h" -#include "homedir.h" -#include "curlutil.h" -#ifdef USE_MANUAL -#include "hugehelp.h" -#endif -#ifdef USE_ENVIRONMENT -#include "writeenv.h" -#endif - -#define CURLseparator "--_curl_--" - -#ifdef NETWARE -#ifdef __NOVELL_LIBC__ -#include <screen.h> -#else -#include <nwconio.h> -#define mkdir mkdir_510 -#endif -#endif - -#include "version.h" - -#ifdef HAVE_IO_H /* typical win32 habit */ -#include <io.h> -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif - -#ifdef HAVE_UTIME_H -#include <utime.h> -#else -#ifdef HAVE_SYS_UTIME_H -#include <sys/utime.h> -#endif - -#endif /* HAVE_UTIME_H */ - -#ifdef HAVE_LIMITS_H -#include <limits.h> -#endif - -#ifdef HAVE_SYS_POLL_H -#include <sys/poll.h> -#elif defined(HAVE_POLL_H) -#include <poll.h> -#endif - -#ifdef HAVE_LOCALE_H -#include <locale.h> /* for setlocale() */ -#endif - -#define ENABLE_CURLX_PRINTF -/* make the curlx header define all printf() functions to use the curlx_* - versions instead */ -#include <curlx.h> /* header from the libcurl directory */ - -#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV) -#include <iconv.h> -/* set default codesets for iconv */ -#ifndef CURL_ICONV_CODESET_OF_NETWORK -#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1" -#endif -#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */ - -#ifdef HAVE_NETINET_IN_H -#include <netinet/in.h> /* for IPPROTO_TCP */ -#endif -#ifdef HAVE_NETINET_TCP_H -#include <netinet/tcp.h> /* for TCP_KEEPIDLE, TCP_KEEPINTVL */ -#endif - -/* The last #include file should be: */ -#ifdef CURLDEBUG -#ifndef CURLTOOLDEBUG -#define MEMDEBUG_NODEFINES -#endif -/* 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" -#endif - -#if defined(NETWARE) -#define PRINT_LINES_PAUSE 23 -#endif - -#if defined(__SYMBIAN32__) -#define PRINT_LINES_PAUSE 16 -#define pressanykey() getchar() -#endif - -#define DEFAULT_MAXREDIRS 50L - -#if defined(O_BINARY) && defined(HAVE_SETMODE) - #ifdef __HIGHC__ - #define SET_BINMODE(file) _setmode(file,O_BINARY) - #else - #define SET_BINMODE(file) setmode(fileno(file),O_BINARY) - #endif -#else - #define SET_BINMODE(file) ((void)0) -#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 - -#ifdef MSDOS -#include <dos.h> - -static const char *msdosify(const char *); -static char *rename_if_dos_device_name(char *); - -#ifdef DJGPP -/* we want to glob our own argv[] */ -char **__crt0_glob_function (char *arg) -{ - (void)arg; - return (char**)0; -} -#endif /* __DJGPP__ */ -#endif /* MSDOS */ - -#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 - -#define CURL_PROGRESS_STATS 0 /* default progress display */ -#define CURL_PROGRESS_BAR 1 - -/** - * @def MIN - * standard MIN macro - */ -#ifndef MIN -#define MIN(X,Y) (((X) < (Y)) ? (X) : (Y)) -#endif - -typedef enum { - HTTPREQ_UNSPEC, - HTTPREQ_GET, - HTTPREQ_HEAD, - HTTPREQ_POST, - HTTPREQ_SIMPLEPOST, - HTTPREQ_CUSTOM, - HTTPREQ_LAST -} HttpReq; - -#ifdef WIN32 -#include <direct.h> -#define F_OK 0 -#define mkdir(x,y) (mkdir)(x) -#endif - -#ifdef VMS -#include "curlmsg_vms.h" -#endif - -/* - * Large file support (>2Gb) using WIN32 functions. - */ - -#ifdef USE_WIN32_LARGE_FILES -# include <io.h> -# include <sys/types.h> -# include <sys/stat.h> -# define lseek(fdes,offset,whence) _lseeki64(fdes, offset, whence) -# define fstat(fdes,stp) _fstati64(fdes, stp) -# define stat(fname,stp) _stati64(fname, stp) -# define struct_stat struct _stati64 -#endif - -/* - * Small file support (<2Gb) using WIN32 functions. - */ - -#ifdef USE_WIN32_SMALL_FILES -# include <io.h> -# include <sys/types.h> -# include <sys/stat.h> -# define lseek(fdes,offset,whence) _lseek(fdes, (long)offset, whence) -# define fstat(fdes,stp) _fstat(fdes, stp) -# define stat(fname,stp) _stat(fname, stp) -# define struct_stat struct _stat -#endif - -#ifndef struct_stat -# define struct_stat struct stat -#endif - -/* - * Default sizeof(off_t) in case it hasn't been defined in config file. - */ - -#ifndef SIZEOF_OFF_T -# if defined(__VMS) && (defined(__alpha) || defined(__ia64)) -# if defined(_LARGEFILE) -# define SIZEOF_OFF_T 8 -# endif -# elif defined(__OS400__) && defined(__ILEC400__) -# if defined(_LARGE_FILES) -# define SIZEOF_OFF_T 8 -# endif -# elif defined(__MVS__) && defined(__IBMC__) -# if defined(_LP64) || defined(_LARGE_FILES) -# define SIZEOF_OFF_T 8 -# endif -# elif defined(__370__) && defined(__IBMC__) -# if defined(_LP64) || defined(_LARGE_FILES) -# define SIZEOF_OFF_T 8 -# endif -# endif -# ifndef SIZEOF_OFF_T -# define SIZEOF_OFF_T 4 -# endif -#endif - -#ifdef CURL_DOES_CONVERSIONS -#ifdef HAVE_ICONV -iconv_t inbound_cd = (iconv_t)-1; -iconv_t outbound_cd = (iconv_t)-1; - -/* - * convert_to_network() is an internal function to convert - * from the host encoding to ASCII on non-ASCII platforms. - */ -static CURLcode -convert_to_network(char *buffer, size_t length) -{ - CURLcode rc; - - /* translate from the host encoding to the network encoding */ - char *input_ptr, *output_ptr; - size_t in_bytes, out_bytes; - - /* open an iconv conversion descriptor if necessary */ - if(outbound_cd == (iconv_t)-1) { - outbound_cd = iconv_open(CURL_ICONV_CODESET_OF_NETWORK, - CURL_ICONV_CODESET_OF_HOST); - if(outbound_cd == (iconv_t)-1) { - return CURLE_CONV_FAILED; - } - } - /* call iconv */ - input_ptr = output_ptr = buffer; - in_bytes = out_bytes = length; - rc = iconv(outbound_cd, &input_ptr, &in_bytes, - &output_ptr, &out_bytes); - if ((rc == -1) || (in_bytes != 0)) { - return CURLE_CONV_FAILED; - } - - return CURLE_OK; -} - -/* - * convert_from_network() is an internal function - * for performing ASCII conversions on non-ASCII platforms. - */ -static CURLcode -convert_from_network(char *buffer, size_t length) -{ - CURLcode rc; - - /* translate from the network encoding to the host encoding */ - char *input_ptr, *output_ptr; - size_t in_bytes, out_bytes; - - /* open an iconv conversion descriptor if necessary */ - if(inbound_cd == (iconv_t)-1) { - inbound_cd = iconv_open(CURL_ICONV_CODESET_OF_HOST, - CURL_ICONV_CODESET_OF_NETWORK); - if(inbound_cd == (iconv_t)-1) { - return CURLE_CONV_FAILED; - } - } - /* call iconv */ - input_ptr = output_ptr = buffer; - in_bytes = out_bytes = length; - rc = iconv(inbound_cd, &input_ptr, &in_bytes, - &output_ptr, &out_bytes); - if ((rc == -1) || (in_bytes != 0)) { - return CURLE_CONV_FAILED; - } - - return CURLE_OK; -} -#endif /* HAVE_ICONV */ - -static -char convert_char(curl_infotype infotype, char this_char) -{ -/* determine how this specific character should be displayed */ - switch(infotype) { - case CURLINFO_DATA_IN: - case CURLINFO_DATA_OUT: - case CURLINFO_SSL_DATA_IN: - case CURLINFO_SSL_DATA_OUT: - /* data, treat as ASCII */ - if ((this_char >= 0x20) && (this_char < 0x7f)) { - /* printable ASCII hex value: convert to host encoding */ - convert_from_network(&this_char, 1); - } - else { - /* non-printable ASCII, use a replacement character */ - return UNPRINTABLE_CHAR; - } - /* fall through to default */ - default: - /* treat as host encoding */ - if (ISPRINT(this_char) - && (this_char != '\t') - && (this_char != '\r') - && (this_char != '\n')) { - /* printable characters excluding tabs and line end characters */ - return this_char; - } - break; - } - /* non-printable, use a replacement character */ - return UNPRINTABLE_CHAR; -} -#endif /* CURL_DOES_CONVERSIONS */ - -#ifdef WIN32 -/* - * Truncate a file handle at a 64-bit position 'where'. - * Borland doesn't even support 64-bit types. - */ -#ifdef __BORLANDC__ -#define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence) -#endif - -#ifndef HAVE_FTRUNCATE -#define HAVE_FTRUNCATE 1 -#endif - -static int ftruncate64 (int fd, curl_off_t where) -{ - if(_lseeki64(fd, where, SEEK_SET) < 0) - return -1; - - if(!SetEndOfFile((HANDLE)_get_osfhandle(fd))) - return -1; - - return 0; -} -#define ftruncate(fd,where) ftruncate64(fd,where) -#endif - -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; - -struct OutStruct { - char *filename; - FILE *stream; - struct Configurable *config; - curl_off_t bytes; /* amount written so far */ - curl_off_t init; /* original size (non-zero when appending) */ -}; - -struct Configurable { - CURL *easy; /* once we have one, we keep it here */ - bool remote_time; - char *random_file; - char *egd_file; - char *useragent; - char *cookie; /* single line with specified cookies */ - char *cookiejar; /* write to this file */ - char *cookiefile; /* read from this file */ - bool cookiesession; /* new session? */ - bool encoding; /* Accept-Encoding please */ - long authtype; /* auth bitmask */ - bool use_resume; - bool resume_from_current; - bool disable_epsv; - bool disable_eprt; - curl_off_t resume_from; - char *postfields; - curl_off_t postfieldsize; - char *referer; - long timeout; - long connecttimeout; - long maxredirs; - curl_off_t max_filesize; - char *headerfile; - char *ftpport; - char *iface; - int localport; - int localportrange; - unsigned short porttouse; - char *range; - long low_speed_limit; - long low_speed_time; - bool showerror; - char *userpwd; - char *proxyuserpwd; - char *proxy; - bool proxytunnel; - bool ftp_append; /* APPE on ftp */ - bool mute; /* shutup */ - bool use_ascii; /* select ascii or text transfer */ - bool autoreferer; /* automatically set referer */ - bool failonerror; /* fail on (HTTP) errors */ - bool include_headers; /* send 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; - bool noprogress; - bool isatty; /* updated internally only if the output is a tty */ - 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 */ - char *cipher_list; - char *cert; - char *cert_type; - char *cacert; - char *capath; - char *key; - char *key_type; - char *key_passwd; - char *pubkey; - char *hostpubmd5; - char *engine; - bool list_engines; - bool crlf; - char *customrequest; - char *krblevel; - char *trace_dump; /* file to dump the network trace to, or NULL */ - FILE *trace_stream; - bool trace_fopened; - trace tracetype; - bool tracetime; /* include timestamp? */ - long httpversion; - bool progressmode; - bool nobuffer; - bool globoff; - bool use_httpget; - bool insecure_ok; /* set TRUE to allow insecure SSL connects */ - bool create_dirs; - bool ftp_create_dirs; - bool ftp_skip_ip; - bool proxynegotiate; - bool proxyntlm; - bool proxydigest; - bool proxybasic; - bool proxyanyauth; - char *writeout; /* %-styled format string to output */ - bool writeenv; /* write results to environment, if available */ - FILE *errors; /* if stderr redirect is requested */ - bool errors_fopened; - struct curl_slist *quote; - struct curl_slist *postquote; - struct curl_slist *prequote; - long ssl_version; - long ip_version; - curl_TimeCond timecond; - time_t condtime; - struct curl_slist *headers; - struct curl_httppost *httppost; - struct curl_httppost *last_post; - struct curl_slist *telnet_options; - HttpReq httpreq; - - /* for bandwidth limiting features: */ - curl_off_t sendpersecond; /* send to peer */ - curl_off_t recvpersecond; /* receive from peer */ - struct timeval lastsendtime; - size_t lastsendsize; - struct timeval lastrecvtime; - size_t lastrecvsize; - bool ftp_ssl; - bool ftp_ssl_reqd; - bool ftp_ssl_control; - bool ftp_ssl_ccc; - int ftp_ssl_ccc_mode; - - char *socksproxy; /* set to server string */ - int socksver; /* set to CURLPROXY_SOCKS* define */ - - bool tcp_nodelay; - long req_retry; /* number of retries */ - 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; - - bool ignorecl; /* --ignore-content-length */ - bool disable_sessionid; - - char *libcurl; /* output libcurl code to this file name */ - bool raw; - bool post301; - bool nokeepalive; /* for keepalive needs */ - long alivetime; - - int default_node_flags; /* default flags to seach for each 'node', which is - basically each given URL to transfer */ - struct OutStruct *outs; -}; - -#define WARN_PREFIX "Warning: " -#define WARN_TEXTWIDTH (79 - (int)strlen(WARN_PREFIX)) -/* produce this text message to the user unless mute was selected */ -static void warnf(struct Configurable *config, const char *fmt, ...) -{ - if(!config->mute) { - va_list ap; - int len; - char *ptr; - char print_buffer[256]; - - va_start(ap, fmt); - va_start(ap, fmt); - len = vsnprintf(print_buffer, sizeof(print_buffer), fmt, ap); - va_end(ap); - - ptr = print_buffer; - while(len > 0) { - fputs(WARN_PREFIX, config->errors); - - if(len > (int)WARN_TEXTWIDTH) { - int cut = WARN_TEXTWIDTH-1; - - while(!ISSPACE(ptr[cut]) && cut) { - cut--; - } - if(0 == cut) - /* not a single cutting position was found, just cut it at the - max text width then! */ - cut = WARN_TEXTWIDTH-1; - - fwrite(ptr, cut + 1, 1, config->errors); - fputs("\n", config->errors); - ptr += cut+1; /* skip the space too */ - len -= cut; - } - else { - fputs(ptr, config->errors); - len = 0; - } - } - } -} - -/* - * 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(void) -{ -#ifdef DJGPP - /* stop stat() wasting time */ - _djstat_flags |= _STAT_INODE | _STAT_EXEC_MAGIC | _STAT_DIRSIZE; -#endif - return curl_global_init(CURL_GLOBAL_DEFAULT); -} - -/* - * This is the main global destructor for the app. Call this after - * _all_ libcurl usage is done. - */ -static void main_free(void) -{ - curl_global_cleanup(); -#if defined(CURL_DOES_CONVERSIONS) && defined(HAVE_ICONV) - /* close iconv conversion descriptor */ - if(inbound_cd != (iconv_t)-1) - iconv_close(inbound_cd); - if(outbound_cd != (iconv_t)-1) - iconv_close(outbound_cd); -#endif /* CURL_DOES_CONVERSIONS && HAVE_ICONV */ -} - -static int SetHTTPrequest(struct Configurable *config, - HttpReq req, HttpReq *store) -{ - if((*store == HTTPREQ_UNSPEC) || - (*store == req)) { - *store = req; - return 0; - } - warnf(config, "You can only select one HTTP request!\n"); - return 1; -} - -static void helpf(FILE *errors, const char *fmt, ...) -{ - va_list ap; - if(fmt) { - 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"); -} - -/* - * A chain of these nodes contain URL to get and where to put the URL's - * contents. - */ -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 */ -}; -#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 */ - -static void help(void) -{ - int i; - /* A few of these source lines are >80 columns wide, but that's only because - breaking the strings narrower makes this chunk look even worse! - - Starting with 7.18.0, this list of command line options is sorted based - on the long option name. It is not done automatically, although a command - line like the following can help out: - - curl --help | cut -c5- | grep "^-" | sort - */ - static const char * const helptext[]={ - "Usage: curl [options...] <url>", - "Options: (H) means HTTP/HTTPS only, (F) means FTP only", - " --anyauth Pick \"any\" authentication method (H)", - " -a/--append Append to target file when uploading (F/SFTP)", - " --basic Use HTTP Basic Authentication (H)", - " --cacert <file> CA certificate to verify peer against (SSL)", - " --capath <directory> CA directory to verify peer against (SSL)", - " -E/--cert <cert[:passwd]> Client certificate file and password (SSL)", - " --cert-type <type> Certificate file type (DER/PEM/ENG) (SSL)", - " --ciphers <list> SSL ciphers to use (SSL)", - " --compressed Request compressed response (using deflate or gzip)", - " -K/--config <file> Specify which config file to read", - " --connect-timeout <seconds> Maximum time allowed for connection", - " -C/--continue-at <offset> Resumed transfer offset", - " -b/--cookie <name=string/file> Cookie string or file to read cookies from (H)", - " -c/--cookie-jar <file> Write cookies to this file after operation (H)", - " --create-dirs Create necessary local directory hierarchy", - " --crlf Convert LF to CRLF in upload", - " -d/--data <data> HTTP POST data (H)", - " --data-ascii <data> HTTP POST ASCII data (H)", - " --data-binary <data> HTTP POST binary data (H)", - " --data-urlencode <name=data/name@filename> HTTP POST data url encoded (H)", - " --digest Use HTTP Digest Authentication (H)", - " --disable-eprt Inhibit using EPRT or LPRT (F)", - " --disable-epsv Inhibit using EPSV (F)", - " -D/--dump-header <file> Write the headers to this file", - " --egd-file <file> EGD socket path for random data (SSL)", - " --engine <eng> Crypto engine to use (SSL). \"--engine list\" for list", -#ifdef USE_ENVIRONMENT - " --environment Write results to environment variables (RISC OS)", -#endif - " -f/--fail Fail silently (no output at all) on HTTP errors (H)", - " -F/--form <name=content> Specify HTTP multipart POST data (H)", - " --form-string <name=string> Specify HTTP multipart POST data (H)", - " --ftp-account <data> Account data to send when requested by server (F)", - " --ftp-alternative-to-user <cmd> String to replace \"USER [name]\" (F)", - " --ftp-create-dirs Create the remote dirs if not present (F)", - " --ftp-method [multicwd/nocwd/singlecwd] Control CWD usage (F)", - " --ftp-pasv Use PASV/EPSV instead of PORT (F)", - " -P/--ftp-port <address> Use PORT with address instead of PASV (F)", - " --ftp-skip-pasv-ip Skip the IP address for PASV (F)\n" - " --ftp-ssl Try SSL/TLS for ftp transfer (F)", - " --ftp-ssl-ccc Send CCC after authenticating (F)", - " --ftp-ssl-ccc-mode [active/passive] Set CCC mode (F)", - " --ftp-ssl-control Require SSL/TLS for ftp login, clear for transfer (F)", - " --ftp-ssl-reqd Require SSL/TLS for ftp transfer (F)", - " -G/--get Send the -d data with a HTTP GET (H)", - " -g/--globoff Disable URL sequences and ranges using {} and []", - " -H/--header <line> Custom header to pass to server (H)", - " -I/--head Show document info only", - " -h/--help This help text", - " --hostpubmd5 <md5> Hex encoded MD5 string of the host public key. (SSH)", - " -0/--http1.0 Use HTTP 1.0 (H)", - " --ignore-content-length Ignore the HTTP Content-Length header", - " -i/--include Include protocol headers in the output (H/F)", - " -k/--insecure Allow connections to SSL sites without certs (H)", - " --interface <interface> Specify network interface/address to use", - " -4/--ipv4 Resolve name to IPv4 address", - " -6/--ipv6 Resolve name to IPv6 address", - " -j/--junk-session-cookies Ignore session cookies read from file (H)", - " --keepalive-time <seconds> Interval between keepalive probes", - " --key <key> Private key file name (SSL/SSH)", - " --key-type <type> Private key file type (DER/PEM/ENG) (SSL)", - " --krb <level> Enable Kerberos with specified security level (F)", - " --libcurl <file> Dump libcurl equivalent code of this command line", - " --limit-rate <rate> Limit transfer speed to this rate", - " -l/--list-only List only names of an FTP directory (F)", - " --local-port <num>[-num] Force use of these local port numbers", - " -L/--location Follow Location: hints (H)", - " --location-trusted Follow Location: and send auth to other hosts (H)", - " -M/--manual Display the full manual", - " --max-filesize <bytes> Maximum file size to download (H/F)", - " --max-redirs <num> Maximum number of redirects allowed (H)", - " -m/--max-time <seconds> Maximum time allowed for the transfer", - " --negotiate Use HTTP Negotiate Authentication (H)", - " -n/--netrc Must read .netrc for user name and password", - " --netrc-optional Use either .netrc or URL; overrides -n", - " -N/--no-buffer Disable buffering of the output stream", - " --no-keepalive Disable keepalive use on the connection", - " --no-sessionid Disable SSL session-ID reusing (SSL)", - " --ntlm Use HTTP NTLM authentication (H)", - " -o/--output <file> Write output to <file> instead of stdout", - " --pass <pass> Pass phrase for the private key (SSL/SSH)", - " --post301 Do not switch to GET after following a 301 redirect (H)", - " -#/--progress-bar Display transfer progress as a progress bar", - " -x/--proxy <host[:port]> Use HTTP proxy on given port", - " --proxy-anyauth Pick \"any\" proxy authentication method (H)", - " --proxy-basic Use Basic authentication on the proxy (H)", - " --proxy-digest Use Digest authentication on the proxy (H)", - " --proxy-negotiate Use Negotiate authentication on the proxy (H)", - " --proxy-ntlm Use NTLM authentication on the proxy (H)", - " -U/--proxy-user <user[:password]> Set proxy user and password", - " -p/--proxytunnel Operate through a HTTP proxy tunnel (using CONNECT)", - " --pubkey <key> Public key file name (SSH)", - " -Q/--quote <cmd> Send command(s) to server before file transfer (F/SFTP)", - " --random-file <file> File for reading random data from (SSL)", - " -r/--range <range> Retrieve a byte range from a HTTP/1.1 or FTP server", - " --raw Pass HTTP \"raw\", without any transfer decoding (H)", - " -e/--referer Referer URL (H)", - " -O/--remote-name Write output to a file named as the remote file", - " --remote-name-all Use the remote file name for all URLs", - " -R/--remote-time Set the remote file's time on the local output", - " -X/--request <command> Specify request command to use", - " --retry <num> Retry request <num> times if transient problems occur", - " --retry-delay <seconds> When retrying, wait this many seconds between each", - " --retry-max-time <seconds> Retry only within this period", - " -S/--show-error Show error. With -s, make curl show errors when they occur", - " -s/--silent Silent mode. Don't output anything", - " --socks4 <host[:port]> SOCKS4 proxy on given host + port", - " --socks4a <host[:port]> SOCKS4a proxy on given host + port", - " --socks5 <host[:port]> SOCKS5 proxy on given host + port", - " --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy", - " -Y/--speed-limit Stop transfer if below speed-limit for 'speed-time' secs", - " -y/--speed-time Time needed to trig speed-limit abort. Defaults to 30", - " -2/--sslv2 Use SSLv2 (SSL)", - " -3/--sslv3 Use SSLv3 (SSL)", - " --stderr <file> Where to redirect stderr. - means stdout", - " --tcp-nodelay Use the TCP_NODELAY option", - " -t/--telnet-option <OPT=val> Set telnet option", - " -z/--time-cond <time> Transfer based on a time condition", - " -1/--tlsv1 Use TLSv1 (SSL)", - " --trace <file> Write a debug trace to the given file", - " --trace-ascii <file> Like --trace but without the hex output", - " --trace-time Add time stamps to trace/verbose output", - " -T/--upload-file <file> Transfer <file> to remote site", - " --url <URL> Set URL to work with", - " -B/--use-ascii Use ASCII/text transfer", - " -u/--user <user[:password]> Set server user and password", - " -A/--user-agent <string> User-Agent to send to server (H)", - " -v/--verbose Make the operation more talkative", - " -V/--version Show version number and quit", - -#ifdef MSDOS - " --wdebug Turn on Watt-32 debugging under DJGPP", -#endif - " -w/--write-out <format> What to output after completion", - " -q If used as the first parameter disables .curlrc", - NULL - }; - for(i=0; helptext[i]; i++) { - puts(helptext[i]); -#ifdef PRINT_LINES_PAUSE - if (i && ((i % PRINT_LINES_PAUSE) == 0)) - pressanykey(); -#endif - } -} - -struct LongShort { - const char *letter; - const char *lname; - bool extraparam; -}; - -/* global variable to hold info about libcurl */ -static curl_version_info_data *curlinfo; - -static int parseconfig(const char *filename, - struct Configurable *config); -static char *my_get_line(FILE *fp); -static int create_dir_hierarchy(const char *outfile, FILE *errors); - -static void GetStr(char **string, - const char *value) -{ - if(*string) - free(*string); - if(value) - *string = strdup(value); - else - *string = NULL; -} - -static void clean_getout(struct Configurable *config) -{ - struct getout *node=config->url_list; - struct getout *next; - - while(node) { - next = node->next; - if(node->url) - free(node->url); - if(node->outfile) - free(node->outfile); - if(node->infile) - free(node->infile); - free(node); - - node = next; /* GOTO next */ - } -} - -static struct getout *new_getout(struct Configurable *config) -{ - struct getout *node =malloc(sizeof(struct getout)); - struct getout *last= config->url_last; - if(node) { - /* clear the struct */ - memset(node, 0, sizeof(struct getout)); - - /* 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; - } - return node; -} - -/* Structure for storing the information needed to build a multiple files - * section -*/ -struct multi_files { - struct curl_forms form; - struct multi_files *next; -}; - -/* Add a new list entry possibly with a type_name - */ -static struct multi_files * -AddMultiFiles (const char *file_name, - const char *type_name, - const char *show_filename, - struct multi_files **multi_start, - struct multi_files **multi_current) -{ - struct multi_files *multi; - struct multi_files *multi_type = NULL; - struct multi_files *multi_name = NULL; - multi = (struct multi_files *)malloc(sizeof(struct multi_files)); - if (multi) { - memset(multi, 0, sizeof(struct multi_files)); - multi->form.option = CURLFORM_FILE; - multi->form.value = file_name; - } - else - return NULL; - - if (!*multi_start) - *multi_start = multi; - - if (type_name) { - multi_type = (struct multi_files *)malloc(sizeof(struct multi_files)); - if (multi_type) { - memset(multi_type, 0, sizeof(struct multi_files)); - multi_type->form.option = CURLFORM_CONTENTTYPE; - multi_type->form.value = type_name; - multi->next = multi_type; - - multi = multi_type; - } - else { - free (multi); - return NULL; - } - } - if (show_filename) { - multi_name = (struct multi_files *)malloc(sizeof(struct multi_files)); - if (multi_name) { - memset(multi_name, 0, sizeof(struct multi_files)); - multi_name->form.option = CURLFORM_FILENAME; - multi_name->form.value = show_filename; - multi->next = multi_name; - - multi = multi_name; - } - else { - free (multi); - return NULL; - } - } - - if (*multi_current) - (*multi_current)->next = multi; - - *multi_current = multi; - - return *multi_current; -} - -/* Free the items of the list. - */ -static void FreeMultiInfo (struct multi_files *multi_start) -{ - struct multi_files *multi; - while (multi_start) { - multi = multi_start; - multi_start = multi_start->next; - free (multi); - } -} - -/* Print list of OpenSSL engines supported. - */ -static void list_engines (const struct curl_slist *engines) -{ - puts ("Build-time engines:"); - if (!engines) { - puts (" <none>"); - return; - } - for ( ; engines; engines = engines->next) - printf (" %s\n", engines->data); -} - -/*************************************************************************** - * - * formparse() - * - * Reads a 'name=value' parameter and builds the appropriate linked list. - * - * Specify files to upload with 'name=@filename'. 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' - * - * 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' - * - * This function uses curl_formadd to fulfill it's job. Is heavily based on - * the old curl_formparse code. - * - ***************************************************************************/ - -#define FORM_FILE_SEPARATOR ',' -#define FORM_TYPE_SEPARATOR ';' - -static int formparse(struct Configurable *config, - const char *input, - struct curl_httppost **httppost, - struct curl_httppost **last_post, - bool literal_value) -{ - /* nextarg MUST be a string in the format 'name=contents' and we'll - build a linked list with the info */ - char name[256]; - char *contents; - char major[128]; - char minor[128]; - char *contp; - const char *type = NULL; - char *sep; - char *sep2; - - if((1 == sscanf(input, "%255[^=]=", name)) && - (contp = strchr(input, '='))) { - /* the input was using the correct format */ - - /* Allocate the contents */ - contents = strdup(contp+1); - if(!contents) { - fprintf(config->errors, "out of memory\n"); - return 1; - } - contp = contents; - - if('@' == contp[0] && !literal_value) { - struct multi_files *multi_start = NULL, *multi_current = NULL; - /* we use the @-letter to indicate file name(s) */ - contp++; - - multi_start = multi_current=NULL; - - do { - /* since this was a file, it may have a content-type specifier - at the end too, or a filename. Or both. */ - char *ptr; - char *filename=NULL; - - sep=strchr(contp, FORM_TYPE_SEPARATOR); - sep2=strchr(contp, FORM_FILE_SEPARATOR); - - /* pick the closest */ - if(sep2 && (sep2 < sep)) { - sep = sep2; - - /* no type was specified! */ - } - - type = NULL; - - if(sep) { - - /* if we got here on a comma, don't do much */ - if(FORM_FILE_SEPARATOR == *sep) - ptr = NULL; - else - ptr = sep+1; - - *sep=0; /* terminate file name at separator */ - - while(ptr && (FORM_FILE_SEPARATOR!= *ptr)) { - - /* pass all white spaces */ - while(ISSPACE(*ptr)) - ptr++; - - if(curlx_strnequal("type=", ptr, 5)) { - /* set type pointer */ - type = &ptr[5]; - - /* verify that this is a fine type specifier */ - if(2 != sscanf(type, "%127[^/]/%127[^;,\n]", - major, minor)) { - warnf(config, "Illegally formatted content-type field!\n"); - free(contents); - FreeMultiInfo (multi_start); - return 2; /* illegal content-type syntax! */ - } - /* now point beyond the content-type specifier */ - sep = (char *)type + strlen(major)+strlen(minor)+1; - - if(*sep) { - *sep=0; /* zero terminate type string */ - - ptr=sep+1; - } - else - ptr = NULL; /* end */ - } - else if(curlx_strnequal("filename=", ptr, 9)) { - filename = &ptr[9]; - ptr=strchr(filename, FORM_TYPE_SEPARATOR); - if(!ptr) { - ptr=strchr(filename, FORM_FILE_SEPARATOR); - } - if(ptr) { - *ptr=0; /* zero terminate */ - ptr++; - } - } - else - /* confusion, bail out of loop */ - break; - } - /* find the following comma */ - if(ptr) - sep=strchr(ptr, FORM_FILE_SEPARATOR); - else - sep=NULL; - } - else { - sep=strchr(contp, FORM_FILE_SEPARATOR); - } - if(sep) { - /* the next file name starts here */ - *sep =0; - sep++; - } - /* if type == NULL curl_formadd takes care of the problem */ - - if (!AddMultiFiles (contp, type, filename, &multi_start, - &multi_current)) { - warnf(config, "Error building form post!\n"); - free(contents); - FreeMultiInfo (multi_start); - return 3; - } - contp = sep; /* move the contents pointer to after the separator */ - - } while(sep && *sep); /* loop if there's another file name */ - - /* now we add the multiple files section */ - if (multi_start) { - struct curl_forms *forms = NULL; - struct multi_files *ptr = multi_start; - unsigned int i, count = 0; - while (ptr) { - ptr = ptr->next; - ++count; - } - forms = - (struct curl_forms *)malloc((count+1)*sizeof(struct curl_forms)); - if (!forms) - { - fprintf(config->errors, "Error building form post!\n"); - free(contents); - FreeMultiInfo (multi_start); - return 4; - } - for (i = 0, ptr = multi_start; i < count; ++i, ptr = ptr->next) - { - forms[i].option = ptr->form.option; - forms[i].value = ptr->form.value; - } - forms[count].option = CURLFORM_END; - FreeMultiInfo (multi_start); - if (curl_formadd(httppost, last_post, - CURLFORM_COPYNAME, name, - CURLFORM_ARRAY, forms, CURLFORM_END) != 0) { - warnf(config, "curl_formadd failed!\n"); - free(forms); - free(contents); - return 5; - } - free(forms); - } - } - else { - struct curl_forms info[4]; - int i = 0; - char *ct = literal_value? NULL: strstr(contp, ";type="); - - info[i].option = CURLFORM_COPYNAME; - info[i].value = name; - i++; - - if(ct) { - info[i].option = CURLFORM_CONTENTTYPE; - info[i].value = &ct[6]; - i++; - ct[0]=0; /* zero terminate here */ - } - - if( contp[0]=='<' && !literal_value) { - info[i].option = CURLFORM_FILECONTENT; - info[i].value = contp+1; - i++; - info[i].option = CURLFORM_END; - - if (curl_formadd(httppost, last_post, - CURLFORM_ARRAY, info, CURLFORM_END ) != 0) { - warnf(config, "curl_formadd failed, possibly the file %s is bad!\n", - contp+1); - free(contents); - return 6; - } - } - else { -#ifdef CURL_DOES_CONVERSIONS - convert_to_network(contp, strlen(contp)); -#endif - info[i].option = CURLFORM_COPYCONTENTS; - info[i].value = contp; - i++; - info[i].option = CURLFORM_END; - if (curl_formadd(httppost, last_post, - CURLFORM_ARRAY, info, CURLFORM_END) != 0) { - warnf(config, "curl_formadd failed!\n"); - free(contents); - return 7; - } - } - } - - } - else { - warnf(config, "Illegally formatted input field!\n"); - return 1; - } - free(contents); - return 0; -} - - -typedef enum { - PARAM_OK, - PARAM_OPTION_AMBIGUOUS, - PARAM_OPTION_UNKNOWN, - PARAM_REQUIRES_PARAMETER, - PARAM_BAD_USE, - PARAM_HELP_REQUESTED, - PARAM_GOT_EXTRA_PARAMETER, - PARAM_BAD_NUMERIC, - PARAM_LIBCURL_DOESNT_SUPPORT, - PARAM_NO_MEM, - PARAM_LAST -} ParameterError; - -static 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_LIBCURL_DOESNT_SUPPORT: - return "the installed libcurl version doesn't support this"; - case PARAM_NO_MEM: - return "out of memory"; - default: - return "unknown error"; - } -} - -static ParameterError file2string(char **bufp, FILE *file) -{ - char buffer[256]; - char *ptr; - char *string = NULL; - size_t stringlen = 0; - size_t buflen; - - if(file) { - while(fgets(buffer, sizeof(buffer), file)) { - if((ptr = strchr(buffer, '\r')) != NULL) - *ptr = '\0'; - if((ptr = strchr(buffer, '\n')) != NULL) - *ptr = '\0'; - buflen = strlen(buffer); - if((ptr = realloc(string, stringlen+buflen+1)) == NULL) { - if(string) - free(string); - return PARAM_NO_MEM; - } - string = ptr; - strcpy(string+stringlen, buffer); - stringlen += buflen; - } - } - *bufp = string; - return PARAM_OK; -} - -static ParameterError file2memory(char **bufp, size_t *size, FILE *file) -{ - char *newbuf; - char *buffer = NULL; - size_t alloc = 512; - size_t nused = 0; - size_t nread; - - if(file) { - do { - if(!buffer || (alloc == nused)) { - /* size_t overflow detection for huge files */ - if(alloc+1 > ((size_t)-1)/2) { - if(buffer) - free(buffer); - return PARAM_NO_MEM; - } - alloc *= 2; - /* allocate an extra char, reserved space, for null termination */ - if((newbuf = realloc(buffer, alloc+1)) == NULL) { - if(buffer) - free(buffer); - return PARAM_NO_MEM; - } - buffer = newbuf; - } - nread = fread(buffer+nused, 1, alloc-nused, file); - nused += nread; - } while(nread); - /* null terminate the buffer in case it's used as a string later */ - buffer[nused] = '\0'; - /* free trailing slack space, if possible */ - if(alloc != nused) { - if((newbuf = realloc(buffer, nused+1)) != NULL) - buffer = newbuf; - } - /* discard buffer if nothing was read */ - if(!nused) { - free(buffer); - buffer = NULL; /* no string */ - } - } - *size = nused; - *bufp = buffer; - return PARAM_OK; -} - -static void cleanarg(char *str) -{ -#ifdef HAVE_WRITABLE_ARGV - /* 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 - (void)str; -#endif -} - -/* - * Parse the string and write the integer in the given address. Return - * non-zero on failure, zero on success. - * - * The string must start with a digit to be valid. - * - * 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 int str2num(long *val, const char *str) -{ - int retcode = 0; - if(str && ISDIGIT(*str)) - *val = atoi(str); - else - retcode = 1; /* badness */ - return retcode; -} - -/** - * Parses the given string looking for an offset (which may be - * a larger-than-integer value). - * - * @param val the offset to populate - * @param str the buffer containing the offset - * @return zero if successful, non-zero if failure. - */ -static int str2offset(curl_off_t *val, const char *str) -{ -#if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG) - *val = curlx_strtoofft(str, NULL, 0); - if((*val == CURL_LLONG_MAX || *val == CURL_LLONG_MIN) && (ERRNO == ERANGE)) - return 1; -#else - *val = strtol(str, NULL, 0); - if ((*val == LONG_MIN || *val == LONG_MAX) && ERRNO == ERANGE) - return 1; -#endif - return 0; -} - -static void checkpasswd(const char *kind, /* for what purpose */ - char **userpwd) /* pointer to allocated string */ -{ - char *ptr; - if(!*userpwd) - return; - - ptr = strchr(*userpwd, ':'); - if(!ptr) { - /* no password present, prompt for one */ - char passwd[256]=""; - char prompt[256]; - size_t passwdlen; - size_t userlen = strlen(*userpwd); - char *passptr; - - /* build a nice-looking prompt */ - curlx_msnprintf(prompt, sizeof(prompt), - "Enter %s password for user '%s':", - kind, *userpwd); - - /* get password */ - getpass_r(prompt, passwd, sizeof(passwd)); - passwdlen = strlen(passwd); - - /* extend the allocated memory area to fit the password too */ - passptr = realloc(*userpwd, - passwdlen + 1 + /* an extra for the colon */ - userlen + 1); /* an extra for the zero */ - - if(passptr) { - /* append the password separated with a colon */ - passptr[userlen]=':'; - memcpy(&passptr[userlen+1], passwd, passwdlen+1); - *userpwd = passptr; - } - } -} - -static 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; -} - -static int ftpfilemethod(struct Configurable *config, const char *str) -{ - if(curlx_strequal("singlecwd", str)) - return CURLFTPMETHOD_SINGLECWD; - if(curlx_strequal("nocwd", str)) - return CURLFTPMETHOD_NOCWD; - if(curlx_strequal("multicwd", str)) - return CURLFTPMETHOD_MULTICWD; - warnf(config, "unrecognized ftp file method '%s', using default\n", str); - return CURLFTPMETHOD_MULTICWD; -} - -static int ftpcccmethod(struct Configurable *config, const char *str) -{ - if(curlx_strequal("passive", str)) - return CURLFTPSSL_CCC_PASSIVE; - if(curlx_strequal("active", str)) - return CURLFTPSSL_CCC_ACTIVE; - warnf(config, "unrecognized ftp CCC method '%s', using default\n", str); - return CURLFTPSSL_CCC_PASSIVE; -} - - -static int sockoptcallback(void *clientp, curl_socket_t curlfd, - curlsocktype purpose) -{ - struct Configurable *config = (struct Configurable *)clientp; - int onoff = 1; /* this callback is only used if we ask for keepalives on the - connection */ -#if defined(TCP_KEEPIDLE) || defined(TCP_KEEPINTVL) - int keepidle = (int)config->alivetime; -#endif - - switch (purpose) { - case CURLSOCKTYPE_IPCXN: - if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&onoff, - sizeof(onoff)) < 0) { - /* don't abort operation, just issue a warning */ - SET_SOCKERRNO(0); - warnf(clientp, "Could not set SO_KEEPALIVE!\n"); - return 0; - } - else { - if (config->alivetime) { -#ifdef TCP_KEEPIDLE - if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPIDLE, (void *)&keepidle, - sizeof(keepidle)) < 0) { - /* don't abort operation, just issue a warning */ - SET_SOCKERRNO(0); - warnf(clientp, "Could not set TCP_KEEPIDLE!\n"); - return 0; - } -#endif -#ifdef TCP_KEEPINTVL - if(setsockopt(curlfd, IPPROTO_TCP, TCP_KEEPINTVL, (void *)&keepidle, - sizeof(keepidle)) < 0) { - /* don't abort operation, just issue a warning */ - SET_SOCKERRNO(0); - warnf(clientp, "Could not set TCP_KEEPINTVL!\n"); - return 0; - } -#endif - } - } - break; - default: - break; - } - - return 0; -} - - -static ParameterError getparameter(char *flag, /* f or -long-flag */ - char *nextarg, /* NULL if unset */ - bool *usedarg, /* set to TRUE if the arg - has been used */ - struct Configurable *config) -{ - char letter; - char subletter=0; /* subletters can only occur on long options */ - int rc; /* generic return code variable */ - 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 */ - - /* single-letter, - long-name, - boolean whether it takes an additional argument - */ - static const struct LongShort aliases[]= { - /* all these ones, starting with "*" or "$" as a short-option have *no* - short option to mention. */ - {"*", "url", TRUE}, - {"*a", "random-file", TRUE}, - {"*b", "egd-file", TRUE}, - {"*c", "connect-timeout", TRUE}, - {"*d", "ciphers", TRUE}, - {"*e", "disable-epsv", FALSE}, - {"*E", "epsv", FALSE}, /* made like this to make --no-epsv and --epsv to - work although --disable-epsv is the documented - option */ -#ifdef USE_ENVIRONMENT - {"*f", "environment", FALSE}, -#endif - {"*g", "trace", TRUE}, - {"*h", "trace-ascii", TRUE}, - {"*i", "limit-rate", TRUE}, - {"*j", "compressed", FALSE}, /* might take an arg someday */ - {"*k", "digest", FALSE}, - {"*l", "negotiate", FALSE}, - {"*m", "ntlm", FALSE}, - {"*n", "basic", FALSE}, - {"*o", "anyauth", FALSE}, -#ifdef MSDOS - {"*p", "wdebug", FALSE}, -#endif - {"*q", "ftp-create-dirs", FALSE}, - {"*r", "create-dirs", FALSE}, - {"*s", "max-redirs", TRUE}, - {"*t", "proxy-ntlm", FALSE}, - {"*u", "crlf", FALSE}, - {"*v", "stderr", TRUE}, - {"*w", "interface", TRUE}, - {"*x", "krb" , TRUE}, - {"*x", "krb4" , TRUE}, /* this is the previous name */ - {"*y", "max-filesize", TRUE}, - {"*z", "disable-eprt", FALSE}, - {"*Z", "eprt", FALSE}, /* made like this to make --no-eprt and --eprt to - work although --disable-eprt is the documented - option */ - {"$a", "ftp-ssl", FALSE}, - {"$b", "ftp-pasv", FALSE}, - {"$c", "socks5", TRUE}, - {"$c", "socks", TRUE}, /* this is how the option once was documented - but we prefer the --socks5 version for - explicit version */ - {"$d", "tcp-nodelay",FALSE}, - {"$e", "proxy-digest", FALSE}, - {"$f", "proxy-basic", FALSE}, - {"$g", "retry", TRUE}, - {"$h", "retry-delay", TRUE}, - {"$i", "retry-max-time", TRUE}, - {"$k", "proxy-negotiate", FALSE}, - {"$m", "ftp-account", TRUE}, - {"$n", "proxy-anyauth", FALSE}, - {"$o", "trace-time", FALSE}, - {"$p", "ignore-content-length", FALSE}, - {"$q", "ftp-skip-pasv-ip", FALSE}, - {"$r", "ftp-method", TRUE}, - {"$s", "local-port", TRUE}, - {"$t", "socks4", TRUE}, - {"$T", "socks4a", TRUE}, - {"$u", "ftp-alternative-to-user", TRUE}, - {"$v", "ftp-ssl-reqd", FALSE}, - {"$w", "sessionid", FALSE}, /* listed as --no-sessionid in the help */ - {"$x", "ftp-ssl-control", FALSE}, - {"$y", "ftp-ssl-ccc", FALSE}, - {"$j", "ftp-ssl-ccc-mode", TRUE}, - {"$z", "libcurl", TRUE}, - {"$#", "raw", FALSE}, - {"$0", "post301", FALSE}, - {"$1", "keepalive", FALSE}, /* listed as --no-keepalive in the help */ - {"$2", "socks5-hostname", TRUE}, - {"$3", "keepalive-time", TRUE}, - - {"0", "http1.0", FALSE}, - {"1", "tlsv1", FALSE}, - {"2", "sslv2", FALSE}, - {"3", "sslv3", FALSE}, - {"4", "ipv4", FALSE}, - {"6", "ipv6", FALSE}, - {"a", "append", FALSE}, - {"A", "user-agent", TRUE}, - {"b", "cookie", TRUE}, - {"B", "use-ascii", FALSE}, - {"c", "cookie-jar", TRUE}, - {"C", "continue-at", TRUE}, - {"d", "data", TRUE}, - {"da", "data-ascii", TRUE}, - {"db", "data-binary", TRUE}, - {"de", "data-urlencode", TRUE}, - {"D", "dump-header", TRUE}, - {"e", "referer", TRUE}, - {"E", "cert", TRUE}, - {"Ea", "cacert", TRUE}, - {"Eb","cert-type", TRUE}, - {"Ec","key", TRUE}, - {"Ed","key-type", TRUE}, - {"Ee","pass", TRUE}, - {"Ef","engine", TRUE}, - {"Eg","capath ", TRUE}, - {"Eh","pubkey", TRUE}, - {"Ei", "hostpubmd5", TRUE}, - {"f", "fail", FALSE}, - {"F", "form", TRUE}, - {"Fs","form-string", TRUE}, - {"g", "globoff", FALSE}, - {"G", "get", FALSE}, - {"h", "help", FALSE}, - {"H", "header", TRUE}, - {"i", "include", FALSE}, - {"I", "head", FALSE}, - {"j", "junk-session-cookies", FALSE}, - {"k", "insecure", FALSE}, - {"K", "config", TRUE}, - {"l", "list-only", FALSE}, - {"L", "location", FALSE}, - {"Lt", "location-trusted", FALSE}, - {"m", "max-time", TRUE}, - {"M", "manual", FALSE}, - {"n", "netrc", FALSE}, - {"no", "netrc-optional", FALSE}, - {"N", "buffer", FALSE}, /* listed as --no-buffer in the help */ - {"o", "output", TRUE}, - {"O", "remote-name", FALSE}, - {"Oa", "remote-name-all", FALSE}, - {"p", "proxytunnel", FALSE}, - {"P", "ftpport", TRUE}, /* older version */ - {"P", "ftp-port", TRUE}, - {"q", "disable", FALSE}, - {"Q", "quote", TRUE}, - {"r", "range", TRUE}, - {"R", "remote-time", FALSE}, - {"s", "silent", FALSE}, - {"S", "show-error", FALSE}, - {"t", "telnet-options", TRUE}, /* this is documented as telnet-option */ - {"T", "upload-file", TRUE}, - {"u", "user", TRUE}, - {"U", "proxy-user", TRUE}, - {"v", "verbose", FALSE}, - {"V", "version", FALSE}, - {"w", "write-out", TRUE}, - {"x", "proxy", TRUE}, - {"X", "request", TRUE}, - {"X", "http-request", TRUE}, /* OBSOLETE VERSION */ - {"Y", "speed-limit", TRUE}, - {"y", "speed-time", TRUE}, - {"z", "time-cond", TRUE}, - {"#", "progress-bar",FALSE}, - }; - - if(('-' != flag[0]) || - (('-' == flag[0]) && ('-' == flag[1]))) { - /* this should be a long name */ - char *word=('-' == flag[0])?flag+2:flag; - size_t fnam=strlen(word); - int numhits=0; - - if(!strncmp(word, "no-", 3)) { - /* disable this option but ignore the "no-" part when looking for it */ - word += 3; - toggle = FALSE; - } - - for(j=0; j< sizeof(aliases)/sizeof(aliases[0]); j++) { - if(curlx_strnequal(aliases[j].lname, word, fnam)) { - longopt = TRUE; - numhits++; - if(curlx_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; - } - } - 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) { - if(NULL != parse) { - letter = (char)*parse; - } - else { - letter = '\0'; - } - subletter='\0'; - } - else { - letter = parse[0]; - subletter = parse[1]; - } - *usedarg = FALSE; /* default is that we don't use the arg */ - - 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(hit < 0) { - return PARAM_OPTION_UNKNOWN; - } - if(aliases[hit].extraparam) { - /* this option requires an extra parameter */ - if(!longopt && parse[1]) { - nextarg=(char *)&parse[1]; /* this is the actual extra parameter */ - singleopt=TRUE; /* don't loop anymore after this */ - } - else if(!nextarg) - return PARAM_REQUIRES_PARAMETER; - else - *usedarg = TRUE; /* mark it as used */ - } - - switch(letter) { - case '*': /* options without a short option */ - switch(subletter) { - case 'a': /* random-file */ - GetStr(&config->random_file, nextarg); - break; - case 'b': /* egd-file */ - GetStr(&config->egd_file, nextarg); - break; - case 'c': /* connect-timeout */ - if(str2num(&config->connecttimeout, nextarg)) - return PARAM_BAD_NUMERIC; - break; - case 'd': /* ciphers */ - GetStr(&config->cipher_list, nextarg); - break; - case 'e': /* --disable-epsv */ - config->disable_epsv = toggle; - break; - case 'E': /* --epsv */ - config->disable_epsv = !toggle; - break; -#ifdef USE_ENVIRONMENT - case 'f': - config->writeenv = toggle; - break; -#endif - case 'g': /* --trace */ - GetStr(&config->trace_dump, nextarg); - if(config->tracetype && (config->tracetype != TRACE_BIN)) - warnf(config, "--trace overrides an earlier trace/verbose option\n"); - config->tracetype = TRACE_BIN; - break; - case 'h': /* --trace-ascii */ - GetStr(&config->trace_dump, nextarg); - if(config->tracetype && (config->tracetype != TRACE_ASCII)) - warnf(config, - "--trace-ascii overrides an earlier trace/verbose option\n"); - config->tracetype = TRACE_ASCII; - break; - case 'i': /* --limit-rate */ - { - /* We support G, M, K too */ - char *unit; - curl_off_t value = curlx_strtoofft(nextarg, &unit, 0); - - if(!*unit) - unit=(char *)"b"; - else if(strlen(unit) > 1) - unit=(char *)"w"; /* unsupported */ - - switch(*unit) { - case 'G': - case 'g': - value *= 1024*1024*1024; - break; - case 'M': - case 'm': - value *= 1024*1024; - break; - case 'K': - case 'k': - value *= 1024; - break; - case 'b': - case 'B': - /* for plain bytes, leave as-is */ - break; - default: - warnf(config, "unsupported rate unit. Use G, M, K or B!\n"); - return PARAM_BAD_USE; - } - config->recvpersecond = value; - config->sendpersecond = value; - } - break; - - case 'j': /* --compressed */ - config->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_GSSNEGOTIATE) - config->authtype |= CURLAUTH_GSSNEGOTIATE; - else - return PARAM_LIBCURL_DOESNT_SUPPORT; - } - else - config->authtype &= ~CURLAUTH_GSSNEGOTIATE; - 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 '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 MSDOS - 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 = TRUE; - break; - - case 's': /* --max-redirs */ - /* specified max no of redirects (http(s)) */ - if(str2num(&config->maxredirs, nextarg)) - 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 = TRUE; - break; - - case 'v': /* --stderr */ - if(strcmp(nextarg, "-")) { - FILE *newfile = fopen(nextarg, "wt"); - if(!newfile) - warnf(config, "Failed to open %s!\n", nextarg); - else { - if(config->errors_fopened) - fclose(config->errors); - config->errors = newfile; - config->errors_fopened = TRUE; - } - } - else - config->errors = stdout; - break; - case 'w': /* --interface */ - /* interface */ - GetStr(&config->iface, nextarg); - break; - case 'x': /* --krb */ - /* kerberos level string */ - if(curlinfo->features & (CURL_VERSION_KERBEROS4 | - CURL_VERSION_GSSNEGOTIATE)) - GetStr(&config->krblevel, nextarg); - else - return PARAM_LIBCURL_DOESNT_SUPPORT; - break; - case 'y': /* --max-filesize */ - if(str2offset(&config->max_filesize, nextarg)) - return PARAM_BAD_NUMERIC; - break; - case 'z': /* --disable-eprt */ - config->disable_eprt = toggle; - break; - case 'Z': /* --eprt */ - config->disable_eprt = !toggle; - break; - - default: /* the URL! */ - { - struct getout *url; - if(config->url_get || (config->url_get=config->url_list)) { - /* 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! */ - url=new_getout(config); - - if(url) { - /* fill in the URL */ - GetStr(&url->url, nextarg); - url->flags |= GETOUT_URL; - } - } - } - break; - case '$': /* more options without a short option */ - switch(subletter) { - case 'a': /* --ftp-ssl */ - config->ftp_ssl = toggle; - break; - case 'b': /* --ftp-pasv */ - if(config->ftpport) - free(config->ftpport); - config->ftpport = NULL; - break; - case 'c': /* --socks5 specifies a socks5 proxy to use, and resolves - the name locally and passes on the resolved address */ - GetStr(&config->socksproxy, nextarg); - config->socksver = CURLPROXY_SOCKS5; - break; - case 't': /* --socks4 specifies a socks4 proxy to use */ - GetStr(&config->socksproxy, nextarg); - config->socksver = CURLPROXY_SOCKS4; - break; - case 'T': /* --socks4a specifies a socks4a proxy to use */ - GetStr(&config->socksproxy, nextarg); - config->socksver = CURLPROXY_SOCKS4A; - break; - case '2': /* --socks5-hostname specifies a socks5 proxy and enables name - resolving with the proxy */ - GetStr(&config->socksproxy, nextarg); - config->socksver = 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 */ - if(str2num(&config->req_retry, nextarg)) - return PARAM_BAD_NUMERIC; - break; - case 'h': /* --retry-delay */ - if(str2num(&config->retry_delay, nextarg)) - return PARAM_BAD_NUMERIC; - break; - case 'i': /* --retry-max-time */ - if(str2num(&config->retry_maxtime, nextarg)) - return PARAM_BAD_NUMERIC; - break; - - case 'k': /* --proxy-negotiate */ - if(curlinfo->features & CURL_VERSION_GSSNEGOTIATE) - config->proxynegotiate = toggle; - else - return PARAM_LIBCURL_DOESNT_SUPPORT; - break; - case 'm': /* --ftp-account */ - GetStr(&config->ftp_account, nextarg); - break; - case 'n': /* --proxy-anyauth */ - config->proxyanyauth = toggle; - break; - case 'o': /* --trace-time */ - config->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 */ - rc = sscanf(nextarg, "%d - %d", - &config->localport, - &config->localportrange); - if(!rc) - return PARAM_BAD_USE; - else if(rc == 1) - config->localportrange = 1; /* default number of ports to try */ - else { - config->localportrange -= config->localport; - if(config->localportrange < 1) { - warnf(config, "bad range input\n"); - return PARAM_BAD_USE; - } - } - break; - case 'u': /* --ftp-alternative-to-user */ - GetStr(&config->ftp_alternative_to_user, nextarg); - break; - case 'v': /* --ftp-ssl-reqd */ - config->ftp_ssl_reqd = toggle; - break; - case 'w': /* --no-sessionid */ - config->disable_sessionid = !toggle; - break; - case 'x': /* --ftp-ssl-control */ - 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 */ - GetStr(&config->libcurl, nextarg); - break; - case '#': /* --raw */ - config->raw = toggle; - break; - case '0': /* --post301 */ - config->post301 = toggle; - break; - case '1': /* --no-keepalive */ - config->nokeepalive = !toggle; - break; - case '3': /* --keepalive-time */ - if(str2num(&config->alivetime, nextarg)) - return PARAM_BAD_NUMERIC; - break; - } - break; - case '#': /* --progress-bar */ - config->progressmode = toggle?CURL_PROGRESS_BAR:0; - break; - case '0': - /* HTTP version 1.0 */ - config->httpversion = CURL_HTTP_VERSION_1_0; - break; - case '1': - /* TLS version 1 */ - config->ssl_version = CURL_SSLVERSION_TLSv1; - break; - case '2': - /* SSL version 2 */ - config->ssl_version = CURL_SSLVERSION_SSLv2; - break; - case '3': - /* SSL version 3 */ - config->ssl_version = CURL_SSLVERSION_SSLv3; - break; - case '4': - /* IPv4 */ - config->ip_version = 4; - break; - case '6': - /* IPv6 */ - config->ip_version = 6; - 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': /* cookie string coming up: */ - if(nextarg[0] == '@') { - nextarg++; - } - else if(strchr(nextarg, '=')) { - /* A cookie string must have a =-letter */ - GetStr(&config->cookie, nextarg); - break; - } - /* We have a cookie file to read from! */ - GetStr(&config->cookiefile, nextarg); - break; - case 'B': - /* use ASCII/text when transfering */ - 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(!curlx_strequal(nextarg, "-")) { - if(str2offset(&config->resume_from, nextarg)) - return PARAM_BAD_NUMERIC; - 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; - - if(subletter == 'e') { /* --data-urlencode*/ - /* [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. - */ - const char *p = strchr(nextarg, '='); - size_t size = 0; - size_t nlen; - char is_file; - 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) { - /* a '@' letter, it means that a file name or - (stdin) follows */ - - if(curlx_strequal("-", p)) { - file = stdin; - SET_BINMODE(stdin); - } - else { - file = fopen(p, "rb"); - if(!file) - warnf(config, - "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); - 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(""); - } - else { - char *enc = curl_easy_escape(config->easy, postdata, size); - if(enc) { - /* now make a string with the name from above and append the - encoded string */ - size_t outlen = nlen + strlen(enc) + 2; - char *n = malloc(outlen); - if(!n) - return PARAM_NO_MEM; - if (nlen > 0) /* only append '=' if we have a name */ - snprintf(n, outlen, "%.*s=%s", nlen, nextarg, enc); - else - strcpy(n, enc); - curl_free(enc); - free(postdata); - if(n) { - postdata = n; - } - else - return PARAM_NO_MEM; - } - else - return PARAM_NO_MEM; - } - } - else if('@' == *nextarg) { - size_t size = 0; - /* the data begins with a '@' letter, it means that a file name - or - (stdin) follows */ - nextarg++; /* pass the @ */ - - if(curlx_strequal("-", nextarg)) { - file = stdin; - if(subletter == 'b') /* forced data-binary */ - SET_BINMODE(stdin); - } - else { - file = fopen(nextarg, "rb"); - if(!file) - warnf(config, "Couldn't read data from file \"%s\", this makes " - "an empty POST.\n", nextarg); - } - - if(subletter == 'b') { - /* forced binary */ - err = file2memory(&postdata, &size, file); - config->postfieldsize = (curl_off_t)size; - } - else - err = file2string(&postdata, file); - - 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(""); - } - } - else { - GetStr(&postdata, nextarg); - } - -#ifdef CURL_DOES_CONVERSIONS - if(subletter != 'b') { /* NOT forced binary, convert to ASCII */ - convert_to_network(postdata, strlen(postdata)); - } -#endif - - if(config->postfields) { - /* we already have a string, we append this one - with a separating &-letter */ - char *oldpost=config->postfields; - size_t newlen = strlen(oldpost) + strlen(postdata) + 2; - config->postfields=malloc(newlen); - if(!config->postfields) { - free(postdata); - return PARAM_NO_MEM; - } - /* use ASCII value 0x26 for '&' to accommodate non-ASCII platforms */ - snprintf(config->postfields, newlen, "%s\x26%s", oldpost, postdata); - free(oldpost); - free(postdata); - } - else - config->postfields=postdata; - } - /* - 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)) - 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; /* zero terminate here */ - } - else - config->autoreferer = FALSE; - GetStr(&config->referer, nextarg); - } - break; - case 'E': - switch(subletter) { - case 'a': /* CA info PEM file */ - /* 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(nextarg); - break; - case 'f': /* crypto engine */ - GetStr(&config->engine, nextarg); - if (config->engine && curlx_strequal(config->engine,"list")) - config->list_engines = TRUE; - break; - case 'g': /* CA info PEM file */ - /* 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; - default: /* certificate file */ - { - char *ptr = strchr(nextarg, ':'); - /* 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(ptr && - (ptr == &nextarg[1]) && - (nextarg[2] == '\\' || nextarg[2] == '/') && - (ISALPHA(nextarg[0])) ) - /* colon in the second column, followed by a backslash, and the - first character is an alphabetic letter: - - this is a drive letter colon */ - ptr = strchr(&nextarg[3], ':'); /* find the next one instead */ -#endif - if(ptr) { - /* we have a password too */ - *ptr=0; - ptr++; - GetStr(&config->key_passwd, ptr); - } - GetStr(&config->cert, nextarg); - cleanarg(nextarg); - } - } - break; - case 'f': - /* fail hard on errors */ - config->failonerror = toggle; - 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->httppost, - &config->last_post, - (bool) (subletter=='s'))) /* 's' means literal string */ - return PARAM_BAD_USE; - if(SetHTTPrequest(config, HTTPREQ_POST, &config->httpreq)) - return PARAM_BAD_USE; - break; - - case 'g': /* g disables URLglobbing */ - config->globoff = toggle; - break; - - case 'G': /* HTTP GET */ - config->use_httpget = TRUE; - break; - - case 'h': /* h for help */ - if(toggle) { - help(); - return PARAM_HELP_REQUESTED; - } - /* we now actually support --no-help too! */ - break; - case 'H': - /* A custom header to append to a list */ - err = add2list(&config->headers, nextarg); - if(err) - return err; - break; - case 'i': - config->include_headers = toggle; /* include the headers as well in the - general output stream */ - break; - case 'j': - config->cookiesession = toggle; - break; - case 'I': - /* - * no_body will imply include_headers later on - */ - config->no_body = toggle; - if(SetHTTPrequest(config, - (config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET, - &config->httpreq)) - return PARAM_BAD_USE; - break; - case 'k': /* allow insecure SSL connects */ - config->insecure_ok = toggle; - break; - case 'K': /* parse config file */ - if(parseconfig(nextarg, config)) - warnf(config, "error trying read config from the '%s' file\n", - nextarg); - 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 */ - if(str2num(&config->timeout, nextarg)) - return PARAM_BAD_NUMERIC; - break; - case 'M': /* M for manual, huge help */ - if(toggle) { /* --no-manual shows no manual... */ -#ifdef USE_MANUAL - hugehelp(); - return PARAM_HELP_REQUESTED; -#else - warnf(config, - "built-in manual was disabled at build-time!\n"); - return PARAM_OPTION_UNKNOWN; -#endif - } - break; - case 'n': - switch(subletter) { - case 'o': /* CA info PEM file */ - /* use .netrc or URL */ - config->netrc_opt = toggle; - break; - default: - /* pick info from .netrc, if this is used for http, curl will - automatically enfore user+password with the request */ - config->netrc = toggle; - break; - } - break; - case 'N': - /* disable the output I/O buffering */ - config->nobuffer = !toggle; - break; - case 'O': /* --remote-name */ - if(subletter == 'a') { /* --remote-name-all */ - config->default_node_flags = toggle?GETOUT_USEREMOTE:0; - break; - } - /* fall-through! */ - case 'o': /* --output */ - /* output file */ - { - struct getout *url; - if(config->url_out || (config->url_out=config->url_list)) { - /* 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! */ - url=new_getout(config); - - if(url) { - /* fill in the outfile */ - if('o' == letter) { - 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 behaviour 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 */ - err = PARAM_OK; - 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; - warnf(config, - "A specified range MUST include at least one dash (-). " - "Appending one for you!\n"); - off = curlx_strtoofft(nextarg, NULL, 10); - snprintf(buffer, sizeof(buffer), "%Od-", off); - GetStr(&config->range, buffer); - } - { - /* byte range requested */ - char* tmp_range; - tmp_range=nextarg; - while(*tmp_range != '\0') { - if(!ISDIGIT(*tmp_range)&&*tmp_range!='-'&&*tmp_range!=',') { - warnf(config,"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++; - } - /* byte range requested */ - 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) - config->mute = config->noprogress = TRUE; - else - config->mute = config->noprogress = FALSE; - config->showerror = !toggle; /* toggle off */ - break; - case 'S': - /* show errors */ - config->showerror = toggle; /* 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_out || (config->url_out=config->url_list)) { - /* 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_UPLOAD)) - 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! */ - url=new_getout(config); - - if(url) { - 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(nextarg); - checkpasswd("host", &config->userpwd); - break; - case 'U': - /* Proxy user:password */ - GetStr(&config->proxyuserpwd, nextarg); - cleanarg(nextarg); - checkpasswd("proxy", &config->proxyuserpwd); - break; - case 'v': - if(toggle) { - /* the '%' thing here will cause the trace get sent to stderr */ - GetStr(&config->trace_dump, (char *)"%"); - if(config->tracetype && (config->tracetype != TRACE_PLAIN)) - warnf(config, - "-v/--verbose overrides an earlier trace/verbose option\n"); - config->tracetype = TRACE_PLAIN; - } - else - /* verbose is disabled here */ - config->tracetype = TRACE_NONE; - break; - case 'V': - { - const char * const *proto; - - if(!toggle) - /* --no-version yields no output! */ - break; - - printf(CURL_ID "%s\n", curl_version()); - if (curlinfo->protocols) { - printf("Protocols: "); - for (proto=curlinfo->protocols; *proto; ++proto) { - printf("%s ", *proto); - } - puts(""); /* newline */ - } - if(curlinfo->features) { - unsigned int i; - struct feat { - const char *name; - int bitmask; - }; - static const struct feat feats[] = { - {"AsynchDNS", CURL_VERSION_ASYNCHDNS}, - {"Debug", CURL_VERSION_DEBUG}, - {"GSS-Negotiate", CURL_VERSION_GSSNEGOTIATE}, - {"IDN", CURL_VERSION_IDN}, - {"IPv6", CURL_VERSION_IPV6}, - {"Largefile", CURL_VERSION_LARGEFILE}, - {"NTLM", CURL_VERSION_NTLM}, - {"SPNEGO", CURL_VERSION_SPNEGO}, - {"SSL", CURL_VERSION_SSL}, - {"SSPI", CURL_VERSION_SSPI}, - {"krb4", CURL_VERSION_KERBEROS4}, - {"libz", CURL_VERSION_LIBZ}, - {"CharConv", CURL_VERSION_CONV} - }; - printf("Features: "); - for(i=0; i<sizeof(feats)/sizeof(feats[0]); i++) { - if(curlinfo->features & feats[i].bitmask) - printf("%s ", feats[i].name); - } - puts(""); /* newline */ - } - } - return PARAM_HELP_REQUESTED; - 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; - nextarg++; /* pass the @ */ - if(curlx_strequal("-", nextarg)) - file = stdin; - else - file = fopen(nextarg, "r"); - err = file2string(&config->writeout, file); - if(file && (file != stdin)) - fclose(file); - if(err) - return err; - if(!config->writeout) - warnf(config, "Failed to read %s", file); - } - else - GetStr(&config->writeout, nextarg); - break; - case 'x': - /* proxy */ - GetStr(&config->proxy, nextarg); - break; - case 'X': - /* set custom request */ - GetStr(&config->customrequest, nextarg); - break; - case 'y': - /* low speed time */ - if(str2num(&config->low_speed_time, nextarg)) - return PARAM_BAD_NUMERIC; - if(!config->low_speed_limit) - config->low_speed_limit = 1; - break; - case 'Y': - /* low speed limit */ - if(str2num(&config->low_speed_limit, nextarg)) - return PARAM_BAD_NUMERIC; - if(!config->low_speed_time) - config->low_speed_time=30; - break; - case 'z': /* time condition coming up */ - switch(*nextarg) { - case '+': - nextarg++; - 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_getdate(nextarg, &now); - if(-1 == (int)config->condtime) { - /* now let's see if it is a file name to get the time from instead! */ - struct_stat statbuf; - if(-1 == stat(nextarg, &statbuf)) { - /* failed, remove time condition */ - config->timecond = CURL_TIMECOND_NONE; - warnf(config, - "Illegal date format for -z/--timecond (and not " - "a file name). Disabling time condition. " - "See curl_getdate(3) for valid date syntax.\n"); - } - else { - /* pull the time out from the file */ - config->condtime = statbuf.st_mtime; - } - } - break; - default: /* unknown flag */ - return PARAM_OPTION_UNKNOWN; - } - hit = -1; - - } while(!longopt && !singleopt && *++parse && !*usedarg); - - return PARAM_OK; -} - -/* - * 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 zero terminate */ - return line; -} - -/* return 0 on everything-is-fine, and non-zero otherwise */ -static int parseconfig(const char *filename, - struct Configurable *config) -{ - int res; - FILE *file; - char filebuffer[512]; - bool usedarg; - char *home; - int rc = 0; - - if(!filename || !*filename) { - /* NULL or no file name attempts to load .curlrc from the homedir! */ - -#define CURLRC DOT_CHAR "curlrc" - -#ifndef __AMIGA__ - filename = CURLRC; /* sensible default */ - home = homedir(); /* portable homedir finder */ - if(home) { - if(strlen(home)<(sizeof(filebuffer)-strlen(CURLRC))) { - snprintf(filebuffer, sizeof(filebuffer), - "%s%s%s", home, DIR_CHAR, CURLRC); - -#ifdef WIN32 - /* Check if the file exists - if not, try CURLRC in the same - * directory as our executable - */ - file = fopen(filebuffer, "r"); - if (file != NULL) { - fclose(file); - filename = filebuffer; - } - else { - /* 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. - */ - int n = GetModuleFileName(0, filebuffer, sizeof(filebuffer)); - if (n > 0 && n < (int)sizeof(filebuffer)) { - /* We got a valid filename - get the directory part */ - char *lastdirchar = strrchr(filebuffer, '\\'); - if (lastdirchar) { - int remaining; - *lastdirchar = 0; - /* If we have enough space, build the RC filename */ - remaining = sizeof(filebuffer) - strlen(filebuffer); - if ((int)strlen(CURLRC) < remaining - 1) { - snprintf(lastdirchar, remaining, - "%s%s", DIR_CHAR, CURLRC); - /* Don't bother checking if it exists - we do - * that later - */ - filename = filebuffer; - } - } - } - } -#else /* WIN32 */ - filename = filebuffer; -#endif /* WIN32 */ - } - free(home); /* we've used it, now free it */ - } - -# else /* __AMIGA__ */ - /* On AmigaOS all the config files are into env: - */ - filename = "ENV:" CURLRC; - -#endif - } - - if(strcmp(filename,"-")) - file = fopen(filename, "r"); - else - file = stdin; - - if(file) { - char *line; - char *aline; - char *option; - char *param; - int lineno=0; - bool alloced_param; - -#define ISSEP(x) (((x)=='=') || ((x) == ':')) - - while (NULL != (aline = my_get_line(file))) { - lineno++; - line = aline; - alloced_param=FALSE; - - /* 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': - free(aline); - continue; - } - - /* the option keywords starts here */ - option = line; - while(*line && !ISSPACE(*line) && !ISSEP(*line)) - line++; - /* ... and has ended here */ - - if(*line) - *line++=0; /* zero 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))) - 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 */ - free(aline); - rc = 1; - break; - } - alloced_param=TRUE; - line = (char*) unslashquote(line, param); - } - else { - param=line; /* parameter starts here */ - while(*line && !ISSPACE(*line)) - line++; - *line=0; /* zero terminate */ - } - - if (param && !*param) { - /* do this so getparameter can check for required parameters. - Otherwise it always thinks there's a parameter. */ - if (alloced_param) - free(param); - param = NULL; - } - -#ifdef DEBUG_CONFIG - fprintf(stderr, "PARAM: \"%s\"\n",(param ? param : "(null)")); -#endif - res = getparameter(option, param, &usedarg, config); - - if (param && *param && !usedarg) - /* we passed in a parameter that wasn't used! */ - res = PARAM_GOT_EXTRA_PARAMETER; - - if(res != PARAM_OK) { - /* the help request isn't really an error */ - if(!strcmp(filename, "-")) { - filename=(char *)"<stdin>"; - } - if(PARAM_HELP_REQUESTED != res) { - const char *reason = param2text(res); - warnf(config, "%s:%d: warning: '%s' %s\n", - filename, lineno, option, reason); - } - } - - if(alloced_param) - { - free(param); - param = NULL; - } - - free(aline); - } - if(file != stdin) - fclose(file); - } - else - rc = 1; /* couldn't open the file */ - return rc; -} - -static void go_sleep(long ms) -{ -#ifdef HAVE_POLL_FINE - /* portable subsecond "sleep" */ - poll((void *)0, 0, (int)ms); -#else - /* systems without poll() need other solutions */ - -#ifdef WIN32 - /* Windows offers a millisecond sleep */ - Sleep(ms); -#elif defined(MSDOS) - delay(ms); -#else - /* Other systems must use select() for this */ - struct timeval timeout; - - timeout.tv_sec = ms/1000; - ms = ms%1000; - timeout.tv_usec = ms * 1000; - - select(0, NULL, NULL, NULL, &timeout); -#endif - -#endif -} - -static size_t my_fwrite(void *buffer, size_t sz, size_t nmemb, void *stream) -{ - size_t rc; - struct OutStruct *out=(struct OutStruct *)stream; - struct Configurable *config = out->config; - - if(!out->stream) { - /* open file for writing */ - out->stream=fopen(out->filename, "wb"); - if(!out->stream) { - warnf(config, "Failed to create the file %s\n", out->filename); - /* - * Once that libcurl has called back my_fwrite() 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. - */ - rc = (0 == (sz * nmemb)) ? 1 : 0; - return rc; /* failure */ - } - } - - rc = fwrite(buffer, sz, nmemb, out->stream); - - if((sz * nmemb) == rc) { - /* we added this amount of data to the output */ - out->bytes += (sz * nmemb); - } - - if(config->nobuffer) - /* disable output buffering */ - fflush(out->stream); - - return rc; -} - -struct InStruct { - int fd; - struct Configurable *config; -}; - -#define MAX_SEEK 2147483647 - -/* - * my_seek() is the CURLOPT_SEEKFUNCTION we use - */ -static int my_seek(void *stream, curl_off_t offset, int whence) -{ - struct InStruct *in=(struct InStruct *)stream; - -#if (CURL_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 > MAX_SEEK) { - /* 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 1; - - if(-1 == lseek(in->fd, 0, SEEK_SET)) - /* couldn't rewind to beginning */ - return 1; - - while(left) { - long step = (left>MAX_SEEK ? MAX_SEEK : (long)left); - if(-1 == lseek(in->fd, step, SEEK_CUR)) - /* couldn't seek forwards the desired amount */ - return 1; - left -= step; - } - return 0; - } -#endif - if(-1 == 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. */ - return 1; - - return 0; -} - -static size_t my_fread(void *buffer, size_t sz, size_t nmemb, void *userp) -{ - ssize_t rc; - struct InStruct *in=(struct InStruct *)userp; - - rc = read(in->fd, buffer, sz*nmemb); - if(rc < 0) - /* since size_t is unsigned we can't return negative values fine */ - return 0; - return (size_t)rc; -} - -struct ProgressData { - int calls; - curl_off_t prev; - int width; - FILE *out; /* where to write everything to */ - curl_off_t initial_size; -}; - -static int myprogress (void *clientp, - double dltotal, - double dlnow, - double ultotal, - double ulnow) -{ - /* The original progress-bar source code was written for curl by Lars Aas, - and this new edition inherits some of his concepts. */ - - char line[256]; - char outline[256]; - char format[40]; - double frac; - double percent; - int barwidth; - int num; - int i; - - struct ProgressData *bar = (struct ProgressData *)clientp; - curl_off_t total = (curl_off_t)dltotal + (curl_off_t)ultotal + - bar->initial_size; /* expected transfer size */ - curl_off_t point = (curl_off_t)dlnow + (curl_off_t)ulnow + - bar->initial_size; /* we've come this far */ - - if(point > total) - /* we have got more than the expected total! */ - total = point; - - bar->calls++; /* simply count invokes */ - - if(total < 1) { - curl_off_t prevblock = bar->prev / 1024; - curl_off_t thisblock = point / 1024; - while ( thisblock > prevblock ) { - fprintf( bar->out, "#" ); - prevblock++; - } - } - else { - frac = (double)point / (double)total; - percent = frac * 100.0f; - barwidth = bar->width - 7; - num = (int) (((double)barwidth) * frac); - i = 0; - for ( i = 0; i < num; i++ ) { - line[i] = '#'; - } - line[i] = '\0'; - snprintf( format, sizeof(format), "%%-%ds %%5.1f%%%%", barwidth ); - snprintf( outline, sizeof(outline), format, line, percent ); - fprintf( bar->out, "\r%s", outline ); - } - fflush(bar->out); - bar->prev = point; - - return 0; -} - -static -void progressbarinit(struct ProgressData *bar, - struct Configurable *config) -{ -#ifdef __EMX__ - /* 20000318 mgs */ - int scr_size [2]; -#endif - char *colp; - - memset(bar, 0, sizeof(struct ProgressData)); - - /* pass this through to progress function so - * it can display progress towards total file - * not just the part that's left. (21-may-03, dbyron) */ - if (config->use_resume) - bar->initial_size = config->resume_from; - -/* TODO: get terminal width through ansi escapes or something similar. - try to update width when xterm is resized... - 19990617 larsa */ -#ifndef __EMX__ - /* 20000318 mgs - * OS/2 users most likely won't have this env var set, and besides that - * we're using our own way to determine screen width */ - colp = curlx_getenv("COLUMNS"); - if (colp != NULL) { - bar->width = atoi(colp); - curl_free(colp); - } - else - bar->width = 79; -#else - /* 20000318 mgs - * We use this emx library call to get the screen width, and subtract - * one from what we got in order to avoid a problem with the cursor - * advancing to the next line if we print a string that is as long as - * the screen is wide. */ - - _scrsize(scr_size); - bar->width = scr_size[0] - 1; -#endif - - bar->out = config->errors; -} - - -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, %zd 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; - } -#ifdef CURL_DOES_CONVERSIONS - /* repeat the 0D0A check above but use the host encoding for CRLF */ - if ((tracetype == TRACE_ASCII) && - (i+c+1 < size) && ptr[i+c]=='\r' && ptr[i+c+1]=='\n') { - i+=(c+2-width); - break; - } - /* convert to host encoding and print this character */ - fprintf(stream, "%c", convert_char(infotype, ptr[i+c])); -#else - (void)infotype; - fprintf(stream, "%c", - (ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:UNPRINTABLE_CHAR); -#endif /* CURL_DOES_CONVERSIONS */ - /* 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); -} - -static -int my_trace(CURL *handle, curl_infotype type, - unsigned char *data, size_t size, - void *userp) -{ - struct Configurable *config = (struct Configurable *)userp; - FILE *output=config->errors; - const char *text; - struct timeval tv; - struct tm *now; - char timebuf[20]; - time_t secs; - - (void)handle; /* prevent compiler warning */ - - tv = cutil_tvnow(); - secs = tv.tv_sec; - now = localtime(&secs); /* not multithread safe but we don't care */ - if(config->tracetime) - snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06d ", - now->tm_hour, now->tm_min, now->tm_sec, tv.tv_usec); - else - timebuf[0]=0; - - if(!config->trace_stream) { - /* open for append */ - if(curlx_strequal("-", config->trace_dump)) - config->trace_stream = stdout; - else if(curlx_strequal("%", 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, "w"); - config->trace_fopened = TRUE; - } - } - - if(config->trace_stream) - output = config->trace_stream; - - 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[] = { - "*", "<", ">", "{", "}", "{", "}" - }; - size_t i; - size_t st=0; - static bool newl = FALSE; - static bool traced_data = FALSE; - - switch(type) { - case CURLINFO_HEADER_OUT: - for(i=0; i<size-1; i++) { - if(data[i] == '\n') { /* LF */ - if(!newl) { - fprintf(config->trace_stream, "%s%s ", - timebuf, s_infotype[type]); - } - fwrite(data+st, i-st+1, 1, config->trace_stream); - st = i+1; - newl = FALSE; - } - } - if(!newl) - fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]); - fwrite(data+st, i-st+1, 1, config->trace_stream); - newl = (bool)(size && (data[size-1] != '\n')); - traced_data = FALSE; - break; - case CURLINFO_TEXT: - case CURLINFO_HEADER_IN: - if(!newl) - fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]); - fwrite(data, size, 1, config->trace_stream); - newl = (bool)(size && (data[size-1] != '\n')); - 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 || - ((config->trace_stream != stderr) && - (config->trace_stream != stdout))) { - if(!newl) - fprintf(config->trace_stream, "%s%s ", timebuf, s_infotype[type]); - fprintf(config->trace_stream, "[data not shown]\n"); - newl = FALSE; - traced_data = TRUE; - } - } - break; - default: /* nada */ - newl = FALSE; - traced_data = FALSE; - break; - } - - return 0; - } - -#ifdef CURL_DOES_CONVERSIONS - /* Special processing is needed for CURLINFO_HEADER_OUT blocks - * if they contain both headers and data (separated by CRLFCRLF). - * We dump the header text and then switch type to CURLINFO_DATA_OUT. - */ - if((type == CURLINFO_HEADER_OUT) && (size > 4)) { - size_t i; - for(i = 0; i < size - 4; i++) { - if(memcmp(&data[i], "\r\n\r\n", 4) == 0) { - /* dump everthing through the CRLFCRLF as a sent header */ - text = "=> Send header"; - dump(timebuf, text, output, data, i+4, config->tracetype, type); - data += i + 3; - size -= i + 4; - type = CURLINFO_DATA_OUT; - data += 1; - break; - } - } - } -#endif /* CURL_DOES_CONVERSIONS */ - - switch (type) { - case CURLINFO_TEXT: - fprintf(output, "%s== Info: %s", timebuf, data); - 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, data, size, config->tracetype, type); - return 0; -} - -static void free_config_fields(struct Configurable *config) -{ - if(config->random_file) - free(config->random_file); - if(config->egd_file) - free(config->egd_file); - if(config->trace_dump) - free(config->trace_dump); - if(config->cipher_list) - free(config->cipher_list); - if(config->userpwd) - free(config->userpwd); - if(config->postfields) - free(config->postfields); - if(config->proxy) - free(config->proxy); - if(config->proxyuserpwd) - free(config->proxyuserpwd); - if(config->cookie) - free(config->cookie); - if(config->cookiefile) - free(config->cookiefile); - if(config->krblevel) - free(config->krblevel); - if(config->headerfile) - free(config->headerfile); - if(config->ftpport) - free(config->ftpport); - if(config->range) - free(config->range); - if(config->customrequest) - free(config->customrequest); - if(config->writeout) - free(config->writeout); - if(config->httppost) - curl_formfree(config->httppost); - if (config->cert) - free(config->cert); - if(config->cacert) - free(config->cacert); - if (config->cert_type) - free(config->cert_type); - if(config->capath) - free(config->capath); - if(config->cookiejar) - free(config->cookiejar); - if(config->ftp_account) - free(config->ftp_account); - if(config->ftp_alternative_to_user) - free(config->ftp_alternative_to_user); - if(config->iface) - free(config->iface); - if(config->socksproxy) - free(config->socksproxy); - if(config->libcurl) - free(config->libcurl); - if (config->key_passwd) - free(config->key_passwd); - if (config->key) - free(config->key); - if (config->key_type) - free(config->key_type); - if (config->pubkey) - free(config->pubkey); - if (config->referer) - free(config->referer); - if (config->hostpubmd5) - free(config->hostpubmd5); - - curl_slist_free_all(config->quote); /* checks for config->quote == NULL */ - curl_slist_free_all(config->prequote); - curl_slist_free_all(config->postquote); - curl_slist_free_all(config->headers); - curl_slist_free_all(config->telnet_options); - - if(config->easy) - curl_easy_cleanup(config->easy); -} - -#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% - */ -static void FindWin32CACert(struct Configurable *config, - const char *bundle_file) -{ - /* only check for cert file if "we" support SSL */ - if(curlinfo->features & CURL_VERSION_SSL) { - DWORD buflen; - char *ptr = NULL; - char *retval = (char *) malloc(sizeof (TCHAR) * (MAX_PATH + 1)); - if (!retval) - return; - retval[0] = '\0'; - buflen = SearchPathA(NULL, bundle_file, NULL, MAX_PATH+2, retval, &ptr); - if (buflen > 0) { - GetStr(&config->cacert, retval); - } - free(retval); - } -} - -#endif - -#define RETRY_SLEEP_DEFAULT 1000 /* ms */ -#define RETRY_SLEEP_MAX 600000 /* ms == 10 minutes */ - -static 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 */ -} - -#define my_setopt(x,y,z) _my_setopt(x, config, #y, y, z) - -static struct curl_slist *easycode; - -CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name, - CURLoption tag, ...); - -CURLcode _my_setopt(CURL *curl, struct Configurable *config, const char *name, - CURLoption tag, ...) -{ - va_list arg; - CURLcode ret; - char *bufp; - char value[256]; - bool remark=FALSE; - - va_start(arg, tag); - - if(tag < CURLOPTTYPE_OBJECTPOINT) { - long lval = va_arg(arg, long); - snprintf(value, sizeof(value), "%ld", lval); - ret = curl_easy_setopt(curl, tag, lval); - - } - else if(tag < CURLOPTTYPE_OFF_T) { - void *pval = va_arg(arg, void *); - unsigned char *ptr = (unsigned char *)pval; - - /* function pointers are never printable */ - if (tag >= CURLOPTTYPE_FUNCTIONPOINT) { - if (pval) { - snprintf(value, sizeof(value), "%p", pval); - remark = TRUE; - } - else - strcpy(value, "NULL"); - } - /* attempt to figure out if it is a string (since the tag numerical doesn't - offer this info) and then output it as a string if so */ - else if(pval && ISGRAPH(ptr[0]) && ISGRAPH(ptr[1]) && ISGRAPH(ptr[2])) - snprintf(value, sizeof(value), "\"%s\"", (char *)ptr); - else if(pval) { - snprintf(value, sizeof(value), "%p", pval); - remark = TRUE; - } - else { - strcpy(value, "NULL"); /* value fits more than 5 bytes */ - } - ret = curl_easy_setopt(curl, tag, pval); - - } - else { - curl_off_t oval = va_arg(arg, curl_off_t); - snprintf(value, sizeof(value), "(curl_off_t)%Od", oval); - ret = curl_easy_setopt(curl, tag, oval); - } - - if(config->libcurl) { - /* we only use this for real if --libcurl was used */ - - bufp = curlx_maprintf("%scurl_easy_setopt(hnd, %s, %s);%s", - remark?"/* ":"", name, value, - remark?" [REMARK] */":""); - - if (!bufp || !curl_slist_append(easycode, bufp)) - ret = CURLE_OUT_OF_MEMORY; - if (bufp) - curl_free(bufp); - } - va_end(arg); - - return ret; -} - -static const char * const srchead[]={ - "/********* Sample code generated by the curl command line tool **********", - " * Lines with [REMARK] below might need to be modified to make this code ", - " * usable. Add error code checking where appropriate.", - " * Compile this with a suitable header include path. Then link with ", - " * libcurl.", - " * If you use any *_LARGE options, make sure your compiler figure", - " * out the correct size for the curl_off_t variable.", - " * Read the details for all curl_easy_setopt() options online on:", - " * http://curlm.haxx.se/libcurl/c/curl_easy_setopt.html", - " ************************************************************************/", - "[m]", - "#include <curl/curl.h>", - "", - "int main(int argc, char *argv[])", - "{", - " CURLcode ret;", - NULL -}; - -static void dumpeasycode(struct Configurable *config) -{ - struct curl_slist *ptr = easycode; - char *o = config->libcurl; - - if(o) { - FILE *out; - bool fopened = FALSE; - if(strcmp(o, "-")) { - out = fopen(o, "wt"); - 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]); i++) { - if(!memcmp((char *)c, "[m]", 3)) { -#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS > 32) - fprintf(out, "#define _FILE_OFFSET_BITS %d " - "/* for curl_off_t magic */\n", - _FILE_OFFSET_BITS); -#endif - } - else - fprintf(out, "%s\n", c); - } - - while(ptr) { - fprintf(out, " %s\n", ptr->data); - ptr = ptr->next; - } - fprintf(out, - " return (int)ret;\n" - "}\n" - "/**** End of sample code ****/\n"); - if(fopened) - fclose(out); - } - } - curl_slist_free_all(easycode); -} - - -static int -operate(struct Configurable *config, int argc, argv_item_t argv[]) -{ - char errorbuffer[CURL_ERROR_SIZE]; - char useragent[256]; /* buah, we don't want a larger default user agent */ - struct ProgressData progressbar; - struct getout *urlnode; - struct getout *nextnode; - - struct OutStruct outs; - struct OutStruct heads; - struct InStruct input; - - URLGlob *urls=NULL; - URLGlob *inglob=NULL; - int urlnum; - int infilenum; - char *uploadfile=NULL; /* a single file, never a glob */ - - curl_off_t uploadfilesize; /* -1 means unknown */ - bool stillflags=TRUE; - - bool allocuseragent=FALSE; - - char *httpgetfields=NULL; - - CURL *curl; - int res = 0; - int i; - long retry_sleep_default; - long retry_sleep; - - char *env; - - memset(&heads, 0, sizeof(struct OutStruct)); - -#ifdef CURLDEBUG - /* this sends all memory debug messages to a logfile named memdump */ - env = curlx_getenv("CURL_MEMDEBUG"); - if(env) { - /* use the value as file name */ - char *s = strdup(env); - curl_free(env); - curl_memdebug(s); - free(s); - /* this weird strdup() and stuff here is to make the curl_free() get - called before the memdebug() as otherwise the memdebug tracing will - with tracing a free() without an alloc! */ - } - env = curlx_getenv("CURL_MEMLIMIT"); - if(env) { - curl_memlimit(atoi(env)); - curl_free(env); - } -#endif - - /* - * Get a curl handle to use for all forthcoming curl transfers. Cleanup - * when all transfers are done. - */ - curl = curl_easy_init(); - if(!curl) { - clean_getout(config); - return CURLE_FAILED_INIT; - } - config->easy = curl; - - memset(&outs,0,sizeof(outs)); - - config->outs = &outs; - - /* we get libcurl info right away */ - curlinfo = curl_version_info(CURLVERSION_NOW); - - errorbuffer[0]=0; /* prevent junk from being output */ - - /* setup proper locale from environment */ -#ifdef HAVE_SETLOCALE - setlocale(LC_ALL, ""); -#endif - - /* inits */ - if (main_init() != CURLE_OK) { - helpf(config->errors, "error initializing curl library\n"); - return CURLE_FAILED_INIT; - } - config->postfieldsize = -1; - config->showerror=TRUE; - config->use_httpget=FALSE; - config->create_dirs=FALSE; - config->lastrecvtime = cutil_tvnow(); - config->lastsendtime = cutil_tvnow(); - config->maxredirs = DEFAULT_MAXREDIRS; - - if(argc>1 && - (!curlx_strnequal("--", argv[1], 2) && (argv[1][0] == '-')) && - strchr(argv[1], 'q')) { - /* - * The first flag, that is not a verbose name, but a shortname - * and it includes the 'q' flag! - */ - ; - } - else { - parseconfig(NULL, config); /* ignore possible failure */ - } - - if ((argc < 2) && !config->url_list) { - helpf(config->errors, NULL); - return CURLE_FAILED_INIT; - } - - /* Parse options */ - for (i = 1; i < argc; i++) { - if(stillflags && - ('-' == argv[i][0])) { - char *nextarg; - bool passarg; - char *origopt=argv[i]; - - char *flag = argv[i]; - - if(curlx_strequal("--", argv[i])) - /* this indicates the end of the flags and thus enables the - following (URL) argument to start with -. */ - stillflags=FALSE; - else { - nextarg= (i < argc - 1)? argv[i+1]: NULL; - - res = getparameter(flag, nextarg, &passarg, config); - if(res) { - int retval = CURLE_OK; - if(res != PARAM_HELP_REQUESTED) { - const char *reason = param2text(res); - helpf(config->errors, "option %s: %s\n", origopt, reason); - retval = CURLE_FAILED_INIT; - } - clean_getout(config); - return retval; - } - - if(passarg) /* we're supposed to skip this */ - i++; - } - } - else { - bool used; - /* just add the URL please */ - res = getparameter((char *)"--url", argv[i], &used, config); - if(res) - return res; - } - } - - retry_sleep_default = config->retry_delay? - config->retry_delay*1000:RETRY_SLEEP_DEFAULT; /* ms */ - retry_sleep = retry_sleep_default; - - if((!config->url_list || !config->url_list->url) && !config->list_engines) { - clean_getout(config); - helpf(config->errors, "no URL specified!\n"); - return CURLE_FAILED_INIT; - } - if(NULL == config->useragent) { - /* set non-zero default values: */ - snprintf(useragent, sizeof(useragent), - CURL_NAME "/" CURL_VERSION " (" OS ") " "%s", curl_version()); - config->useragent= useragent; - } - else - allocuseragent = TRUE; - - /* 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. - */ - if (!config->cacert && - !config->capath && - !config->insecure_ok) { - env = curlx_getenv("CURL_CA_BUNDLE"); - if(env) - GetStr(&config->cacert, env); - else { - env = curlx_getenv("SSL_CERT_DIR"); - if(env) - GetStr(&config->capath, env); - else { - env = curlx_getenv("SSL_CERT_FILE"); - if(env) - GetStr(&config->cacert, env); - } - } - - if(env) - curl_free(env); -#ifdef WIN32 - else - FindWin32CACert(config, "curl-ca-bundle.crt"); -#endif - } - - if (config->postfields) { - if (config->use_httpget) { - /* Use the postfields data for a http get */ - httpgetfields = strdup(config->postfields); - free(config->postfields); - config->postfields = NULL; - if(SetHTTPrequest(config, - (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET), - &config->httpreq)) { - free(httpgetfields); - return PARAM_BAD_USE; - } - } - else { - if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq)) - return PARAM_BAD_USE; - } - } - - /* This is the first entry added to easycode and it initializes the slist */ - easycode = curl_slist_append(easycode, "CURL *hnd = curl_easy_init();"); - if(!easycode) { - clean_getout(config); - res = CURLE_OUT_OF_MEMORY; - goto quit_curl; - } - - if (config->list_engines) { - struct curl_slist *engines = NULL; - - curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines); - list_engines(engines); - curl_slist_free_all(engines); - res = CURLE_OK; - goto quit_curl; - } - - /* After this point, we should call curl_easy_cleanup() if we decide to bail - * out from this function! */ - - urlnode = config->url_list; - - if(config->headerfile) { - /* open file for output: */ - if(strcmp(config->headerfile,"-")) { - heads.filename = config->headerfile; - } - else - heads.stream=stdout; - heads.config = config; - } - - /* loop through the list of given URLs */ - while(urlnode) { - int up; /* upload file counter within a single upload glob */ - char *dourl; - char *url; - char *infiles; /* might be a glob pattern */ - char *outfiles=NULL; - - /* get the full URL (it might be NULL) */ - dourl=urlnode->url; - - url = dourl; - - if(NULL == url) { - /* This node had no URL, skip it and continue to the next */ - if(urlnode->outfile) - free(urlnode->outfile); - - /* move on to the next URL */ - nextnode=urlnode->next; - free(urlnode); /* free the node */ - urlnode = nextnode; - continue; /* next please */ - } - - /* default output stream is stdout */ - outs.stream = stdout; - outs.config = config; - outs.bytes = 0; /* nothing written yet */ - - /* save outfile pattern before expansion */ - if (urlnode->outfile) { - outfiles = strdup(urlnode->outfile); - if (!outfiles) { - clean_getout(config); - break; - } - } - - infiles = urlnode->infile; - - if(!config->globoff && infiles) { - /* Unless explicitly shut off */ - res = glob_url(&inglob, infiles, &infilenum, - config->showerror?config->errors:NULL); - if(res != CURLE_OK) { - clean_getout(config); - if(outfiles) - free(outfiles); - break; - } - } - - /* Here's the loop for uploading multiple files within the same - single globbed string. If no upload, we enter the loop once anyway. */ - for(up = 0; - (!up && !infiles) || - (uploadfile = inglob? - glob_next_url(inglob): - (!up?strdup(infiles):NULL)); - up++) { - int separator = 0; - long retry_numretries; - uploadfilesize=-1; - - if(!config->globoff) { - /* Unless explicitly shut off, we expand '{...}' and '[...]' - expressions and return total number of URLs in pattern set */ - res = glob_url(&urls, dourl, &urlnum, - config->showerror?config->errors:NULL); - if(res != CURLE_OK) { - break; - } - } - else - urlnum = 1; /* without globbing, this is a single URL */ - - /* if multiple files extracted to stdout, insert separators! */ - separator= ((!outfiles || curlx_strequal(outfiles, "-")) && urlnum > 1); - - /* Here's looping around each globbed URL */ - for(i = 0; - (url = urls?glob_next_url(urls):(i?NULL:strdup(url))); - i++) { - int infd = STDIN_FILENO; - bool infdopen; - char *outfile; - struct timeval retrystart; - outfile = outfiles?strdup(outfiles):NULL; - - if((urlnode->flags&GETOUT_USEREMOTE) || - (outfile && !curlx_strequal("-", 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(!outfile) { - /* Find and get the remote file name */ - char * pc =strstr(url, "://"); - if(pc) - pc+=3; - else - pc=url; - pc = strrchr(pc, '/'); - - if(pc) { - /* duplicate the string beyond the slash */ - pc++; - outfile = *pc ? strdup(pc): NULL; - } - if(!outfile || !*outfile) { - helpf(config->errors, "Remote file name has no length!\n"); - res = CURLE_WRITE_ERROR; - free(url); - break; - } -#if defined(MSDOS) - { - /* This is for DOS, and then we do some major replacing of - bad characters in the file name before using it */ - char file1 [PATH_MAX]; - - strcpy(file1, msdosify(outfile)); - free (outfile); - outfile = strdup (rename_if_dos_device_name(file1)); - } -#endif /* MSDOS */ - } - else if(urls) { - /* fill '#1' ... '#9' terms from URL pattern */ - char *storefile = outfile; - outfile = glob_match_url(storefile, urls); - free(storefile); - if(!outfile) { - /* bad globbing */ - warnf(config, "bad output glob!\n"); - free(url); - res = CURLE_FAILED_INIT; - break; - } - } - - /* Create the directory hierarchy, if not pre-existant to a multiple - file output call */ - - if(config->create_dirs && - (-1 == create_dir_hierarchy(outfile, config->errors))) - return CURLE_WRITE_ERROR; - - 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(outfile, &fileinfo)) - /* set offset to current file size: */ - config->resume_from = fileinfo.st_size; - else - /* let offset be 0 */ - config->resume_from = 0; - } - - outs.filename = outfile; - - if(config->resume_from) { - outs.init = config->resume_from; - /* open file for output: */ - outs.stream=(FILE *) fopen(outfile, config->resume_from?"ab":"wb"); - if (!outs.stream) { - helpf(config->errors, "Can't open '%s'!\n", outfile); - return CURLE_WRITE_ERROR; - } - } - else { - outs.stream = NULL; /* open when needed */ - } - } - infdopen=FALSE; - if(uploadfile && !curlx_strequal(uploadfile, "-")) { - /* - * We have specified a file to upload and it isn't "-". - */ - struct_stat fileinfo; - - /* If no file name part is given in the URL, we add this file name */ - char *ptr=strstr(url, "://"); - if(ptr) - ptr+=3; - else - ptr=url; - ptr = strrchr(ptr, '/'); - if(!ptr || !strlen(++ptr)) { - /* The URL 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. */ - char *filep = strrchr(uploadfile, '/'); - char *file2 = strrchr(filep?filep:uploadfile, '\\'); - - if(file2) - filep = file2+1; - else if(filep) - filep++; - else - filep = uploadfile; - - /* URL encode the file name */ - filep = curl_easy_escape(curl, filep, 0 /* use strlen */); - - if(filep) { - char *urlbuffer=(char *)malloc(strlen(url) + strlen(filep) + 3); - if(!urlbuffer) { - helpf(config->errors, "out of memory\n"); - return CURLE_OUT_OF_MEMORY; - } - if(ptr) - /* there is a trailing slash on the URL */ - sprintf(urlbuffer, "%s%s", url, filep); - else - /* thers is no trailing slash on the URL */ - sprintf(urlbuffer, "%s/%s", url, filep); - - curl_free(filep); - - free(url); - url = urlbuffer; /* use our new URL instead! */ - } - } - /* 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 As a f.e. a - * fixed file with implied CC needs to have a byte added for every - * record processed, this can by 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 - */ - - infd= open(uploadfile, O_RDONLY | O_BINARY); - if ((infd == -1) || stat(uploadfile, &fileinfo)) { - helpf(config->errors, "Can't open '%s'!\n", uploadfile); - if(infd != -1) - close(infd); - - /* Free the list of remaining URLs and globbed upload files - * to force curl to exit immediately - */ - if(urls) { - glob_cleanup(urls); - urls = NULL; - } - if(inglob) { - glob_cleanup(inglob); - inglob = NULL; - } - - res = CURLE_READ_ERROR; - goto quit_urls; - } - infdopen=TRUE; - uploadfilesize=fileinfo.st_size; - - } - else if(uploadfile && curlx_strequal(uploadfile, "-")) { - SET_BINMODE(stdin); - infd = STDIN_FILENO; - } - - if(uploadfile && config->resume_from_current) - config->resume_from = -1; /* -1 will then force get-it-yourself */ - - if(output_expected(url, uploadfile) - && outs.stream && isatty(fileno(outs.stream))) - /* we send the output to a tty, therefore we switch off the progress - meter */ - config->noprogress = config->isatty = TRUE; - - if (urlnum > 1 && !(config->mute)) { - fprintf(config->errors, "\n[%d/%d]: %s --> %s\n", - i+1, urlnum, url, outfile ? outfile : "<stdout>"); - if (separator) - printf("%s%s\n", CURLseparator, url); - } - if (httpgetfields) { - char *urlbuffer; - /* Find out whether the url contains a file name */ - const char *pc =strstr(url, "://"); - char sep='?'; - if(pc) - pc+=3; - else - pc=url; - - pc = strrchr(pc, '/'); /* check for a slash */ - - if(pc) { - /* there is a slash present in the URL */ - - if(strchr(pc, '?')) - /* Ouch, there's already a question mark in the URL string, we - then append the data with an ampersand separator instead! */ - sep='&'; - } - /* - * Then append ? followed by the get fields to the url. - */ - urlbuffer=(char *)malloc(strlen(url) + strlen(httpgetfields) + 3); - if(!urlbuffer) { - helpf(config->errors, "out of memory\n"); - return CURLE_OUT_OF_MEMORY; - } - if (pc) - sprintf(urlbuffer, "%s%c%s", url, sep, httpgetfields); - else - /* Append / before the ? to create a well-formed url - if the url contains a hostname only - */ - sprintf(urlbuffer, "%s/?%s", url, httpgetfields); - - free(url); /* free previous URL */ - url = urlbuffer; /* use our new URL instead! */ - } - - if(!config->errors) - config->errors = stderr; - - if(!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); - } - - if(1 == config->tcp_nodelay) - my_setopt(curl, CURLOPT_TCP_NODELAY, 1); - - /* where to store */ - my_setopt(curl, CURLOPT_WRITEDATA, (FILE *)&outs); - /* what call to write */ - my_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); - - /* for uploads */ - input.fd = infd; - input.config = config; - my_setopt(curl, CURLOPT_READDATA, &input); - /* what call to read */ - my_setopt(curl, CURLOPT_READFUNCTION, my_fread); - - /* 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, my_seek); - - if(config->recvpersecond) - /* tell libcurl to use a smaller sized buffer as it allows us to - make better sleeps! 7.9.9 stuff! */ - my_setopt(curl, CURLOPT_BUFFERSIZE, config->recvpersecond); - - /* size of uploaded file: */ - my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize); - my_setopt(curl, CURLOPT_URL, url); /* what to fetch */ - my_setopt(curl, CURLOPT_PROXY, config->proxy); /* proxy to use */ - my_setopt(curl, CURLOPT_NOPROGRESS, config->noprogress); - if(config->no_body) { - my_setopt(curl, CURLOPT_NOBODY, 1); - my_setopt(curl, CURLOPT_HEADER, 1); - } - else - my_setopt(curl, CURLOPT_HEADER, config->include_headers); - - my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror); - my_setopt(curl, CURLOPT_UPLOAD, uploadfile?TRUE:FALSE); - my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly); - my_setopt(curl, CURLOPT_APPEND, config->ftp_append); - - if (config->netrc_opt) - my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_OPTIONAL); - else if (config->netrc) - my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_REQUIRED); - else - my_setopt(curl, CURLOPT_NETRC, CURL_NETRC_IGNORED); - - my_setopt(curl, CURLOPT_FOLLOWLOCATION, config->followlocation); - my_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, config->unrestricted_auth); - my_setopt(curl, CURLOPT_TRANSFERTEXT, config->use_ascii); - my_setopt(curl, CURLOPT_USERPWD, config->userpwd); - my_setopt(curl, CURLOPT_PROXYUSERPWD, config->proxyuserpwd); - my_setopt(curl, CURLOPT_RANGE, config->range); - my_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer); - my_setopt(curl, CURLOPT_TIMEOUT, config->timeout); - - switch(config->httpreq) { - case HTTPREQ_SIMPLEPOST: - my_setopt(curl, CURLOPT_POSTFIELDS, config->postfields); - my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); - break; - case HTTPREQ_POST: - my_setopt(curl, CURLOPT_HTTPPOST, config->httppost); - break; - default: - break; - } - my_setopt(curl, CURLOPT_REFERER, config->referer); - my_setopt(curl, CURLOPT_AUTOREFERER, config->autoreferer); - my_setopt(curl, CURLOPT_USERAGENT, config->useragent); - my_setopt(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); - my_setopt(curl, CURLOPT_RESUME_FROM_LARGE, - config->use_resume?config->resume_from:0); - my_setopt(curl, CURLOPT_COOKIE, config->cookie); - my_setopt(curl, CURLOPT_HTTPHEADER, config->headers); - my_setopt(curl, CURLOPT_SSLCERT, config->cert); - my_setopt(curl, CURLOPT_SSLCERTTYPE, config->cert_type); - my_setopt(curl, CURLOPT_SSLKEY, config->key); - my_setopt(curl, CURLOPT_SSLKEYTYPE, config->key_type); - my_setopt(curl, CURLOPT_KEYPASSWD, config->key_passwd); - - /* SSH private key uses the same command-line option as SSL private - key */ - my_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, config->key); - my_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, config->pubkey); - - /* SSH host key md5 checking allows us to fail if we are - * not talking to who we think we should - */ - my_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, config->hostpubmd5); - - - /* default to strict verifyhost */ - my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2); - if(config->cacert || config->capath) { - if (config->cacert) - my_setopt(curl, CURLOPT_CAINFO, config->cacert); - - if (config->capath) - my_setopt(curl, CURLOPT_CAPATH, config->capath); - my_setopt(curl, CURLOPT_SSL_VERIFYPEER, TRUE); - } - if(config->insecure_ok) { - /* new stuff needed for libcurl 7.10 */ - my_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE); - my_setopt(curl, CURLOPT_SSL_VERIFYHOST, 1); - } - - if(config->no_body || config->remote_time) { - /* no body or use remote time */ - my_setopt(curl, CURLOPT_FILETIME, TRUE); - } - - my_setopt(curl, CURLOPT_MAXREDIRS, config->maxredirs); - my_setopt(curl, CURLOPT_CRLF, config->crlf); - my_setopt(curl, CURLOPT_QUOTE, config->quote); - my_setopt(curl, CURLOPT_POSTQUOTE, config->postquote); - my_setopt(curl, CURLOPT_PREQUOTE, config->prequote); - my_setopt(curl, CURLOPT_WRITEHEADER, - config->headerfile?&heads:NULL); - my_setopt(curl, CURLOPT_COOKIEFILE, config->cookiefile); - /* cookie jar was added in 7.9 */ - if(config->cookiejar) - my_setopt(curl, CURLOPT_COOKIEJAR, config->cookiejar); - /* cookie session added in 7.9.7 */ - my_setopt(curl, CURLOPT_COOKIESESSION, config->cookiesession); - - my_setopt(curl, CURLOPT_SSLVERSION, config->ssl_version); - my_setopt(curl, CURLOPT_TIMECONDITION, config->timecond); - my_setopt(curl, CURLOPT_TIMEVALUE, config->condtime); - my_setopt(curl, CURLOPT_CUSTOMREQUEST, config->customrequest); - my_setopt(curl, CURLOPT_STDERR, config->errors); - - /* three new ones in libcurl 7.3: */ - my_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, config->proxytunnel); - my_setopt(curl, CURLOPT_INTERFACE, config->iface); - my_setopt(curl, CURLOPT_KRBLEVEL, config->krblevel); - - progressbarinit(&progressbar, config); - if((config->progressmode == CURL_PROGRESS_BAR) && - !config->noprogress && !config->mute) { - /* we want the alternative style, then we have to implement it - ourselves! */ - my_setopt(curl, CURLOPT_PROGRESSFUNCTION, myprogress); - my_setopt(curl, CURLOPT_PROGRESSDATA, &progressbar); - } - - /* new in libcurl 7.6.2: */ - my_setopt(curl, CURLOPT_TELNETOPTIONS, config->telnet_options); - - /* new in libcurl 7.7: */ - my_setopt(curl, CURLOPT_RANDOM_FILE, config->random_file); - my_setopt(curl, CURLOPT_EGDSOCKET, config->egd_file); - my_setopt(curl, CURLOPT_CONNECTTIMEOUT, config->connecttimeout); - - if(config->cipher_list) - my_setopt(curl, CURLOPT_SSL_CIPHER_LIST, config->cipher_list); - - if(config->httpversion) - my_setopt(curl, CURLOPT_HTTP_VERSION, config->httpversion); - - /* new in libcurl 7.9.2: */ - if(config->disable_epsv) - /* disable it */ - my_setopt(curl, CURLOPT_FTP_USE_EPSV, FALSE); - - /* new in libcurl 7.10.5 */ - if(config->disable_eprt) - /* disable it */ - my_setopt(curl, CURLOPT_FTP_USE_EPRT, FALSE); - - /* new in libcurl 7.10.6 (default is Basic) */ - if(config->authtype) - my_setopt(curl, CURLOPT_HTTPAUTH, config->authtype); - - if(config->tracetype != TRACE_NONE) { - my_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); - my_setopt(curl, CURLOPT_DEBUGDATA, config); - my_setopt(curl, CURLOPT_VERBOSE, TRUE); - } - - res = CURLE_OK; - - /* new in curl ?? */ - if (config->engine) { - res = my_setopt(curl, CURLOPT_SSLENGINE, config->engine); - my_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1); - } - - if (res != CURLE_OK) - goto show_error; - - /* new in curl 7.10 */ - my_setopt(curl, CURLOPT_ENCODING, - (config->encoding) ? "" : NULL); - - /* new in curl 7.10.7 */ - my_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, - config->ftp_create_dirs); - if(config->proxyanyauth) - my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_ANY); - else if(config->proxynegotiate) - my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_GSSNEGOTIATE); - else if(config->proxyntlm) - my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_NTLM); - else if(config->proxydigest) - my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_DIGEST); - else if(config->proxybasic) - my_setopt(curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); - - /* new in curl 7.10.8 */ - if(config->max_filesize) - my_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, - config->max_filesize); - - if(4 == config->ip_version) - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); - else if(6 == config->ip_version) - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6); - else - my_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_WHATEVER); - - /* new in curl 7.15.5 */ - if(config->ftp_ssl_reqd) - my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL); - - /* new in curl 7.11.0 */ - else if(config->ftp_ssl) - my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_TRY); - - /* new in curl 7.16.0 */ - else if(config->ftp_ssl_control) - my_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_CONTROL); - - /* new in curl 7.16.1 */ - if(config->ftp_ssl_ccc) - my_setopt(curl, CURLOPT_FTP_SSL_CCC, config->ftp_ssl_ccc_mode); - - /* new in curl 7.11.1, modified in 7.15.2 */ - if(config->socksproxy) { - my_setopt(curl, CURLOPT_PROXY, config->socksproxy); - my_setopt(curl, CURLOPT_PROXYTYPE, config->socksver); - } - - /* curl 7.13.0 */ - my_setopt(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account); - - my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl); - - /* curl 7.14.2 */ - my_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, config->ftp_skip_ip); - - /* curl 7.15.1 */ - my_setopt(curl, CURLOPT_FTP_FILEMETHOD, config->ftp_filemethod); - - /* curl 7.15.2 */ - if(config->localport) { - my_setopt(curl, CURLOPT_LOCALPORT, config->localport); - my_setopt(curl, CURLOPT_LOCALPORTRANGE, - config->localportrange); - } - - /* curl 7.15.5 */ - my_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, - config->ftp_alternative_to_user); - - /* curl 7.16.0 */ - my_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, - !config->disable_sessionid); - - /* curl 7.16.2 */ - if(config->raw) { - my_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, FALSE); - my_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, FALSE); - } - - /* curl 7.17.1 */ - my_setopt(curl, CURLOPT_POST301, config->post301); - if (!config->nokeepalive) { - my_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockoptcallback); - my_setopt(curl, CURLOPT_SOCKOPTDATA, config); - } - - retry_numretries = config->req_retry; - - retrystart = cutil_tvnow(); - - do { - res = curl_easy_perform(curl); - if (!curl_slist_append(easycode, "ret = curl_easy_perform(hnd);")) { - res = CURLE_OUT_OF_MEMORY; - break; - } - - /* if retry-max-time is non-zero, make sure we haven't exceeded the - time */ - if(retry_numretries && - (!config->retry_maxtime || - (cutil_tvdiff(cutil_tvnow(), retrystart)< - config->retry_maxtime*1000)) ) { - enum { - RETRY_NO, - RETRY_TIMEOUT, - RETRY_HTTP, - RETRY_FTP, - RETRY_LAST /* not used */ - } retry = RETRY_NO; - long response; - if(CURLE_OPERATION_TIMEDOUT == res) - /* retry timeout always */ - retry = RETRY_TIMEOUT; - else if(CURLE_OK == res) { - /* Check for HTTP transient errors */ - char *this_url=NULL; - curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &this_url); - if(this_url && - curlx_strnequal(this_url, "http", 4)) { - /* This was HTTP(S) */ - curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response); - - switch(response) { - 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(CURLE_LOGIN_DENIED == res) { - curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response); - - if(response/100 == 5) - /* - * This is typically when the FTP server only allows a certain - * amount of users and we are not one of them. It mostly - * returns 530 in this case, but all 5xx codes are transient. - */ - retry = RETRY_FTP; - } - - if(retry) { - static const char * const m[]={NULL, - "timeout", - "HTTP error", - "FTP error" - }; - warnf(config, "Transient problem: %s " - "Will retry in %ld seconds. " - "%ld retries left.\n", - m[retry], - retry_sleep/1000, - retry_numretries); - - go_sleep(retry_sleep); - retry_numretries--; - if(!config->retry_delay) { - retry_sleep *= 2; - if(retry_sleep > RETRY_SLEEP_MAX) - retry_sleep = RETRY_SLEEP_MAX; - } - if(outs.bytes && outs.filename) { - /* We have written data to a output file, we truncate file - */ - if(!config->mute) - fprintf(config->errors, "Throwing away %Od bytes\n", - outs.bytes); - fflush(outs.stream); - /* truncate file at the position where we started appending */ -#ifdef HAVE_FTRUNCATE - ftruncate( fileno(outs.stream), outs.init); - /* now seek to the end of the file, the position where we - just truncated the file in a large file-safe way */ - 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. */ - fseek(outs.stream, (long)outs.init, SEEK_SET); -#endif - outs.bytes = 0; /* clear for next round */ - } - continue; - } - } /* if retry_numretries */ - - /* In all ordinary cases, just break out of loop here */ - retry_sleep = retry_sleep_default; - break; - - } while(1); - - if((config->progressmode == CURL_PROGRESS_BAR) && - progressbar.calls) { - /* if the custom progress bar has been displayed, we output a - newline here */ - fputs("\n", progressbar.out); - } - - if(config->writeout) { - ourWriteOut(curl, config->writeout); - } -#ifdef USE_ENVIRONMENT - if (config->writeenv) - ourWriteEnv(curl); -#endif - -show_error: - -#ifdef VMS - if (!config->showerror) { - vms_show = VMSSTS_HIDE; - } -#else - if((res!=CURLE_OK) && config->showerror) { - fprintf(config->errors, "curl: (%d) %s\n", (int)res, - errorbuffer[0]? errorbuffer: - curl_easy_strerror((CURLcode)res)); - if(CURLE_SSL_CACERT == res) { -#define CURL_CA_CERT_ERRORMSG1 \ -"More details here: http://curl.haxx.se/docs/sslcerts.html\n\n" \ -"curl performs SSL certificate verification by default, using a \"bundle\"\n" \ -" of Certificate Authority (CA) public keys (CA certs). The default\n" \ -" bundle is named curl-ca-bundle.crt; you can specify an alternate file\n" \ -" using the --cacert option.\n" - -#define CURL_CA_CERT_ERRORMSG2 \ -"If this HTTPS server uses a certificate signed by a CA represented in\n" \ -" the bundle, the certificate verification probably failed due to a\n" \ -" problem with the certificate (it might be expired, or the name might\n" \ -" not match the domain name in the URL).\n" \ -"If you'd like to turn off curl's verification of the certificate, use\n" \ -" the -k (or --insecure) option.\n" - - fprintf(config->errors, "%s%s", - CURL_CA_CERT_ERRORMSG1, - CURL_CA_CERT_ERRORMSG2 ); - } - } -#endif - - if (outfile && !curlx_strequal(outfile, "-") && outs.stream) - fclose(outs.stream); - -#ifdef HAVE_UTIME - /* Important that we set the time _after_ the file has been - closed, as is done above here */ - if(config->remote_time && outs.filename) { - /* ask libcurl if we got a time. Pretty please */ - long filetime; - curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime); - if(filetime >= 0) { - struct utimbuf times; - times.actime = (time_t)filetime; - times.modtime = (time_t)filetime; - utime(outs.filename, ×); /* set the time we got */ - } - } -#endif -#ifdef __AMIGA__ - /* Set the url as comment for the file. (up to 80 chars are allowed) - */ - if( strlen(url) > 78 ) - url[79] = '\0'; - - SetComment( outs.filename, url); -#endif - -quit_urls: - if(url) - free(url); - - if(outfile) - free(outfile); - - if(infdopen) - close(infd); - - } /* loop to the next URL */ - - if(urls) { - /* cleanup memory used for URL globbing patterns */ - glob_cleanup(urls); - urls = NULL; - } - - if(uploadfile) - free(uploadfile); - - } /* loop to the next globbed upload file */ - - if(inglob) { - glob_cleanup(inglob); - inglob = NULL; - } - - if(outfiles) - free(outfiles); - - /* empty this urlnode struct */ - if(urlnode->url) - free(urlnode->url); - if(urlnode->outfile) - free(urlnode->outfile); - if(urlnode->infile) - free(urlnode->infile); - - /* move on to the next URL */ - nextnode=urlnode->next; - free(urlnode); /* free the node */ - urlnode = nextnode; - - } /* while-loop through all URLs */ - -quit_curl: - if (httpgetfields) - free(httpgetfields); - - if (config->engine) - free(config->engine); - - /* cleanup the curl handle! */ - curl_easy_cleanup(curl); - config->easy = NULL; /* cleanup now */ - if (easycode) - curl_slist_append(easycode, "curl_easy_cleanup(hnd);"); - - if(heads.stream && (heads.stream != stdout)) - fclose(heads.stream); - - if(allocuseragent) - free(config->useragent); - - if(config->trace_fopened && config->trace_stream) - fclose(config->trace_stream); - - if(config->errors_fopened) - fclose(config->errors); - - main_free(); /* cleanup */ - - dumpeasycode(config); - - return res; -} - -/* 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. -*/ -static void checkfds(void) -{ -#ifdef HAVE_PIPE - int fd[2] = { STDIN_FILENO, STDIN_FILENO }; - while( fd[0] == STDIN_FILENO || - fd[0] == STDOUT_FILENO || - fd[0] == STDERR_FILENO || - fd[1] == STDIN_FILENO || - fd[1] == STDOUT_FILENO || - fd[1] == STDERR_FILENO ) - if (pipe(fd) < 0) - return; /* Out of handles. This isn't really a big problem now, but - will be when we try to create a socket later. */ - close(fd[0]); - close(fd[1]); -#endif -} - - - -int main(int argc, char *argv[]) -{ - int res; - struct Configurable config; - memset(&config, 0, sizeof(struct Configurable)); - - config.errors = stderr; /* default errors to stderr */ - - checkfds(); - - res = operate(&config, argc, argv); -#ifdef __SYMBIAN32__ - if (config.showerror) - pressanykey(); -#endif - free_config_fields(&config); - -#ifdef __NOVELL_LIBC__ - pressanykey(); -#endif -#ifdef VMS - if (res > CURL_LAST) res = CURL_LAST; /* If CURL_LAST exceeded then */ - return (vms_cond[res]|vms_show); /* curlmsg.h is out of sync. */ -#else - return res; -#endif -} - -/* - * Reads a line from the given file, ensuring is NUL terminated. - * The pointer must be freed by the caller. - * NULL is returned on an out of memory condition. - */ -static char *my_get_line(FILE *fp) -{ - char buf[4096]; - char *nl = NULL; - char *retval = NULL; - - do { - if (NULL == fgets(buf, sizeof(buf), fp)) - break; - if (NULL == retval) - retval = strdup(buf); - else { - if (NULL == (retval = realloc(retval, - strlen(retval) + strlen(buf) + 1))) - break; - strcat(retval, buf); - } - } - while (NULL == (nl = strchr(retval, '\n'))); - - if (NULL != nl) - *nl = '\0'; - - return retval; -} - -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 -*/ -static int create_dir_hierarchy(const char *outfile, FILE *errors) -{ - char *tempdir; - char *tempdir2; - char *outdup; - char *dirbuildup; - int result=0; - - outdup = strdup(outfile); - if(!outdup) - return -1; - - dirbuildup = malloc(sizeof(char) * strlen(outfile)); - if(!dirbuildup) { - free(outdup); - return -1; - } - dirbuildup[0] = '\0'; - - tempdir = strtok(outdup, DIR_CHAR); - - while (tempdir != NULL) { - tempdir2 = strtok(NULL, DIR_CHAR); - /* since strtok returns a token for the last word even - if not ending with DIR_CHAR, we need to prune it */ - if (tempdir2 != NULL) { - if (strlen(dirbuildup) > 0) - sprintf(dirbuildup,"%s%s%s",dirbuildup, DIR_CHAR, tempdir); - else { - if (0 != strncmp(outdup, DIR_CHAR, 1)) - sprintf(dirbuildup,"%s",tempdir); - else - sprintf(dirbuildup,"%s%s", DIR_CHAR, tempdir); - } - if (access(dirbuildup, F_OK) == -1) { - result = mkdir(dirbuildup,(mode_t)0000750); - if (-1 == result) { - show_dir_errno(errors, dirbuildup); - break; /* get out of loop */ - } - } - } - tempdir = tempdir2; - } - free(dirbuildup); - free(outdup); - - return result; /* 0 is fine, -1 is badness */ -} - -#ifdef MSDOS - -#ifndef HAVE_BASENAME -/* basename() returns a pointer to the last component of a pathname. - * Ripped from lib/formdata.c. - */ -static char *basename(char *path) -{ - /* Ignore all the details above for now and make a quick and simple - implementaion here */ - char *s1; - char *s2; - - s1=strrchr(path, '/'); - s2=strrchr(path, '\\'); - - if(s1 && s2) { - path = (s1 > s2? s1 : s2)+1; - } - else if(s1) - path = s1 + 1; - else if(s2) - path = s2 + 1; - - return path; -} -#endif /* HAVE_BASENAME */ - -/* The following functions are taken with modification from the DJGPP - * port of tar 1.12. They use algorithms originally from DJTAR. */ - -static const char * -msdosify (const char *file_name) -{ - static char dos_name[PATH_MAX*2]; - static const char illegal_chars_dos[] = ".+, ;=[]|<>\\\":?*"; - 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 *illegal_aliens = illegal_chars_dos; - size_t len = sizeof (illegal_chars_dos) - 1; - int lfn = 0; - -#ifdef DJGPP - /* Support for Windows 9X VFAT systems, when available (djgpp only). */ - if (_use_lfn (file_name)) - lfn = 1; -#endif - if (lfn) { - 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++ = *s++; - } - - for (idx = 0, dot_idx = -1; *s; s++, d++) { - if (memchr (illegal_aliens, *s, len)) { - /* 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. */ - if (*s == '.') { - if (idx == 0 && (s[1] == '/' || (s[1] == '.' && s[2] == '/'))) { - /* Copy "./" and "../" verbatim. */ - *d++ = *s++; - if (*s == '.') - *d++ = *s++; - *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'; - *d = 'x'; - } - else { - /* libg++ etc. */ - memcpy (d, "plus", 4); - d += 3; - } - s++; - idx++; - } - else - *d = '_'; - } - else - *d = *s; - if (*s == '/') { - idx = 0; - dot_idx = -1; - } - else - idx++; - } - - *d = '\0'; - return dos_name; -} - -static char * -rename_if_dos_device_name (char *file_name) -{ - /* 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 *base; - struct stat st_buf; - char fname[PATH_MAX]; - - strncpy(fname, file_name, PATH_MAX-1); - fname[PATH_MAX-2] = 0; /* Leave room for an extra _ */ - base = basename (fname); - if (((stat(base, &st_buf)) == 0) && (S_ISCHR(st_buf.st_mode))) { - size_t blen = strlen (base); - - /* Prepend a '_'. */ - memmove (base + 1, base, blen + 1); - base[0] = '_'; - strcpy (file_name, fname); - } - return file_name; -} -#endif /* MSDOS */ diff --git a/Utilities/cmcurl-7.19.0/src/makefile.amiga b/Utilities/cmcurl-7.19.0/src/makefile.amiga deleted file mode 100644 index f5762fc..0000000 --- a/Utilities/cmcurl-7.19.0/src/makefile.amiga +++ /dev/null @@ -1,29 +0,0 @@ -# -# $VER: 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 -LIBS = ../lib/libcurl.a -lssl -lcrypto -lz -MANPAGE = ../docs/curl.1 -README = ../docs/MANUAL -MKHELP = ../src/mkhelp.pl - -OBJS = getpass.c hugehelp.c main.c urlglob.c writeenv.c writeout.c curlutil.c - - -all: hugehelp.c $(OBJS:.c=.o) - $(CC) $(CFLAGS) -o cURL $(OBJS:.c=.o) $(LIBS) -Wl,-Map,cURL.map,--cref - -hugehelp.c: $(README) $(MANPAGE) mkhelp.pl - rm -f hugehelp.c - /bin/nroff -man $(MANPAGE) | /bin/perl $(MKHELP) -c $(README) > hugehelp.c - -install: - $(INSTALL) -c cURL /c/cURL - diff --git a/Utilities/cmcurl-7.19.0/src/makefile.dj b/Utilities/cmcurl-7.19.0/src/makefile.dj deleted file mode 100644 index 9e1a209..0000000 --- a/Utilities/cmcurl-7.19.0/src/makefile.dj +++ /dev/null @@ -1,65 +0,0 @@ -# -# $Id$ -# -# Adapted for djgpp2 / Watt-32 / DOS by -# Gisle Vanem <giva@bgnett.no> -# - -DEPEND_PREREQ = config.h hugehelp.c - -top_srcdir = .. -TOPDIR = .. - -include ../packages/DOS/common.dj -include Makefile.inc - -CSOURCES = $(CURL_SOURCES) - -ifeq ($(USE_SSL),1) - EX_LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a -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 - -CFLAGS += -DUSE_ENVIRONMENT - -PROGRAM = curl.exe -OBJECTS += $(addprefix $(OBJ_DIR)/, $(CSOURCES:.c=.o)) - -all: $(OBJ_DIR) config.h $(PROGRAM) - @echo Welcome to cURL - -$(PROGRAM): $(OBJECTS) ../lib/libcurl.a - $(CC) -o $@ $^ $(LDFLAGS) $(EX_LIBS) - -config.h: - @echo '#include "../lib/config.dos"' > $@ - -# -# groff 1.18+ requires "-P -c" -# -hugehelp.c: ../docs/MANUAL ../docs/curl.1 mkhelp.pl - groff -Tascii -man ../docs/curl.1 | \ - perl -w mkhelp.pl ../docs/MANUAL > $@ - -clean: - - rm -f $(OBJECTS) config.h - -realclean vclean: clean - - rm -f $(PROGRAM) hugehelp.c depend.dj - --include depend.dj - diff --git a/Utilities/cmcurl-7.19.0/src/mkhelp.pl b/Utilities/cmcurl-7.19.0/src/mkhelp.pl deleted file mode 100755 index 7fb37db..0000000 --- a/Utilities/cmcurl-7.19.0/src/mkhelp.pl +++ /dev/null @@ -1,232 +0,0 @@ -#!/usr/local/bin/perl - -# 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; -} - -my $README = $ARGV[0]; - -if($README eq "") { - print "usage: mkreadme.pl [-c] <README> < manpage\n"; - exit; -} - - -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; - - 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 preceeding... - $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 - -open(READ, "<$README") || - die "couldn't read the README infile $README"; - -while(<READ>) { - push @out, $_; -} -close(READ); - -# if compressed -if($c) { - my @test = `gzip --version 2>&1`; - if($test[0] =~ /gzip/) { - open(GZIP, ">dumpit") || - die "can't create the dumpit file, try without -c"; - binmode GZIP; - for(@out) { - print GZIP $_; - $gzip += length($_); - } - close(GZIP); - - system("gzip --best --no-name dumpit"); - - open(GZIP, "<dumpit.gz") || - die "can't read the dumpit.gz file, try without -c"; - binmode GZIP; - while(<GZIP>) { - push @gzip, $_; - $gzipped += length($_); - } - close(GZIP); - - unlink("dumpit.gz"); - } - else { - # no gzip, no compression! - undef $c; - print STDERR "MEEEP: Couldn't find gzip, disable compression\n"; - } -} - -$now = localtime; -print <<HEAD -/* - * NEVER EVER edit this manually, fix the mkhelp.pl script instead! - * Generation time: $now - */ -#include "setup.h" -#ifdef USE_MANUAL -#include "hugehelp.h" -#include <stdio.h> -HEAD - ; -if($c) { - print <<HEAD -#include <stdlib.h> -#include <zlib.h> -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 shrunk 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(@gzip) { - my @all=split(//, $_); - for(@all) { - my $num=ord($_); - printf(" 0x%02x,", 0+$num); - if(++$c>11) { - print "\n "; - $c=0; - } - } - } - print "\n};\n"; - - print <<EOF -#define BUF_SIZE 0x10000 -/* 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; - z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen); - z.next_in = (unsigned char *)hugehelpgz + headerlen; - z.zalloc = (alloc_func)Z_NULL; - z.zfree = (free_func)Z_NULL; - z.opaque = 0; - - 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/Utilities/cmcurl-7.19.0/src/setup.h b/Utilities/cmcurl-7.19.0/src/setup.h deleted file mode 100644 index 4f0835e..0000000 --- a/Utilities/cmcurl-7.19.0/src/setup.h +++ /dev/null @@ -1,208 +0,0 @@ -#ifndef __SRC_CURL_SETUP_H -#define __SRC_CURL_SETUP_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#define CURL_NO_OLDIES - -/* - * Define WIN32 when build target is Win32 API - */ - -#if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && !defined(__SYMBIAN32__) -#define WIN32 -#endif - -/* - * Include configuration script results or hand-crafted - * configuration file for platforms which lack config tool. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#else - -#ifdef WIN32 -#include "config-win32.h" -#endif - -#ifdef macintosh -#include "config-mac.h" -#endif - -#ifdef __riscos__ -#include "config-riscos.h" -#endif - -#ifdef __AMIGA__ -#include "config-amigaos.h" -#endif - -#ifdef __SYMBIAN32__ -#include "config-symbian.h" -#endif - -#ifdef TPF -#include "config-tpf.h" -/* change which select is used for the curl command line tool */ -#define select(a,b,c,d,e) tpf_select_bsd(a,b,c,d,e) -/* and turn off the progress meter */ -#define CONF_DEFAULT (0|CONF_NOPROGRESS) -#endif - -#endif /* HAVE_CONFIG_H */ - -/* - * Tru64 needs _REENTRANT set for a few function prototypes and - * things to appear in the system header files. Unixware needs it - * to build proper reentrant code. Others may also need it. - */ - -#ifdef NEED_REENTRANT -# ifndef _REENTRANT -# define _REENTRANT -# endif -#endif - -/* - * Include header files for windows builds before redefining anything. - * Use this preproessor block only to include or exclude windows.h, - * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs - * to any other further and independant block. Under Cygwin things work - * just as under linux (e.g. <sys/socket.h>) and the winsock headers should - * never be included when __CYGWIN__ is defined. configure script takes - * care of this, not defining HAVE_WINDOWS_H, HAVE_WINSOCK_H, HAVE_WINSOCK2_H, - * neither HAVE_WS2TCPIP_H when __CYGWIN__ is defined. - */ - -#ifdef HAVE_WINDOWS_H -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include <windows.h> -# ifdef HAVE_WINSOCK2_H -# include <winsock2.h> -# ifdef HAVE_WS2TCPIP_H -# include <ws2tcpip.h> -# endif -# else -# ifdef HAVE_WINSOCK_H -# include <winsock.h> -# endif -# endif -#endif - -/* - * Define USE_WINSOCK to 2 if we have and use WINSOCK2 API, else - * define USE_WINSOCK to 1 if we have and use WINSOCK API, else - * undefine USE_WINSOCK. - */ - -#undef USE_WINSOCK - -#ifdef HAVE_WINSOCK2_H -# define USE_WINSOCK 2 -#else -# ifdef HAVE_WINSOCK_H -# define USE_WINSOCK 1 -# endif -#endif - - -#include <stdio.h> - -#ifdef __TANDEM -#include <floss.h> -#endif - - -#ifndef OS -#define OS "unknown" -#endif - -#if !defined(fileno) && !defined(WIN32) /* sunos 4 have this as a macro! */ -int fileno( FILE *stream); -#endif - -#ifdef WIN32 -#define DIR_CHAR "\\" -#define DOT_CHAR "_" -#else -#ifdef __EMX__ -/* 20000318 mgs - * OS/2 supports leading dots in filenames if the volume is formatted - * with JFS or HPFS. */ -#define DIR_CHAR "\\" -#define DOT_CHAR "." -#else - -#ifdef DJGPP -#include <tcp.h> -#ifdef word -#undef word -#endif -#ifndef HAVE_LIMITS_H -#define HAVE_LIMITS_H /* we have limits.h */ -#endif -#define DIR_CHAR "/" -#define DOT_CHAR "_" -#else - -#define DIR_CHAR "/" -#define DOT_CHAR "." - -#endif /* !DJGPP */ -#endif /* !__EMX__ */ -#endif /* !WIN32 */ - -#ifdef __riscos__ -#define USE_ENVIRONMENT -#endif - -#ifdef __BEOS__ -#define typedef_bool -#endif - -#if (defined(NETWARE) && !defined(__NOVELL_LIBC__)) -#include <sys/timeval.h> -#endif - -#ifndef UNPRINTABLE_CHAR -/* define what to use for unprintable characters */ -#define UNPRINTABLE_CHAR '.' -#endif - -#ifndef HAVE_STRDUP -#include "strdup.h" -#define strdup(ptr) curlx_strdup(ptr) -#endif - -/* - * Include macros and defines that should only be processed once. - */ - -#ifndef __SETUP_ONCE_H -#include "setup_once.h" -#endif - -#endif /* __SRC_CURL_SETUP_H */ diff --git a/Utilities/cmcurl-7.19.0/src/urlglob.c b/Utilities/cmcurl-7.19.0/src/urlglob.c deleted file mode 100644 index 73b02c6..0000000 --- a/Utilities/cmcurl-7.19.0/src/urlglob.c +++ /dev/null @@ -1,563 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2007, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -/* client-local setup.h */ -#include "setup.h" - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#include <curl/curl.h> - -#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */ -#include <curl/mprintf.h> - -#include "urlglob.h" - -#if defined(CURLDEBUG) && defined(CURLTOOLDEBUG) -#include "memdebug.h" -#endif - -typedef enum { - GLOB_OK, - GLOB_ERROR -} GlobCode; - -/* - * glob_word() - * - * Input a full globbed string, set the forth argument to the amount of - * strings we get out of this. Return GlobCode. - */ -static GlobCode glob_word(URLGlob *, /* object anchor */ - char *, /* globbed string */ - size_t, /* position */ - int *); /* returned number of strings */ - -static GlobCode glob_set(URLGlob *glob, char *pattern, - size_t pos, int *amount) -{ - /* processes a set expression with the point behind the opening '{' - ','-separated elements are collected until the next closing '}' - */ - bool done = FALSE; - char* buf = glob->glob_buffer; - URLPattern *pat; - - pat = (URLPattern*)&glob->pattern[glob->size / 2]; - /* 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 = (char**)malloc(0); - ++glob->size; - - while (!done) { - bool skip; - - switch (*pattern) { - case '\0': /* URL ended while set was still open */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "unmatched brace at pos %d\n", (int)pos); - return GLOB_ERROR; - - case '{': - case '[': /* no nested expressions at this time */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "nested braces not supported at pos %d\n", (int)pos); - return GLOB_ERROR; - - case ',': - case '}': /* set element completed */ - *buf = '\0'; - pat->content.Set.elements = - realloc(pat->content.Set.elements, - (pat->content.Set.size + 1) * sizeof(char*)); - if (!pat->content.Set.elements) { - snprintf(glob->errormsg, sizeof(glob->errormsg), "out of memory"); - return GLOB_ERROR; - } - pat->content.Set.elements[pat->content.Set.size] = - strdup(glob->glob_buffer); - ++pat->content.Set.size; - - if (*pattern == '}') { - /* entire set pattern completed */ - int wordamount; - - /* always check for a literal (may be "") between patterns */ - if(GLOB_ERROR == glob_word(glob, ++pattern, ++pos, &wordamount)) - wordamount=1; - *amount = pat->content.Set.size * wordamount; - - done = TRUE; - continue; - } - - buf = glob->glob_buffer; - ++pattern; - ++pos; - break; - - case ']': /* illegal closing bracket */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "illegal pattern at pos %d\n", (int)pos); - return GLOB_ERROR; - - case '\\': /* escaped character, skip '\' */ - switch(pattern[1]) { - case '[': - case ']': - case '{': - case '}': - case ',': - skip = TRUE; - break; - default: - skip = FALSE; - break; - } - if(skip) { - if (*(buf+1) == '\0') { /* but no escaping of '\0'! */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "illegal pattern at pos %d\n", (int)pos); - return GLOB_ERROR; - } - ++pattern; - ++pos; - } - /* intentional fallthrough */ - default: - *buf++ = *pattern++; /* copy character to set element */ - ++pos; - } - } - return GLOB_OK; -} - -static GlobCode glob_range(URLGlob *glob, char *pattern, - size_t pos, int *amount) -{ - /* 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 ']' - */ - URLPattern *pat; - char *c; - int wordamount=1; - char sep; - char sep2; - int step; - int rc; - - pat = (URLPattern*)&glob->pattern[glob->size / 2]; - /* patterns 0,1,2,... correspond to size=1,3,5,... */ - ++glob->size; - - if (ISALPHA(*pattern)) { /* character range detected */ - char min_c; - char max_c; - - pat->type = UPTCharRange; - rc = sscanf(pattern, "%c-%c%c%d%c", &min_c, &max_c, &sep, &step, &sep2); - if ((rc < 3) || (min_c >= max_c) || ((max_c - min_c) > ('z' - 'a'))) { - /* the pattern is not well-formed */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "error: bad range specification after pos %d\n", pos); - return GLOB_ERROR; - } - - /* check the (first) separating character */ - if((sep != ']') && (sep != ':')) { - snprintf(glob->errormsg, sizeof(glob->errormsg), - "error: unsupported character (%c) after range at pos %d\n", - sep, pos); - return GLOB_ERROR; - } - - /* if there was a ":[num]" thing, use that as step or else use 1 */ - pat->content.CharRange.step = - ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1; - - pat->content.CharRange.ptr_c = pat->content.CharRange.min_c = min_c; - pat->content.CharRange.max_c = max_c; - } - else if (ISDIGIT(*pattern)) { /* numeric range detected */ - int min_n; - int max_n; - - pat->type = UPTNumRange; - pat->content.NumRange.padlength = 0; - - rc = sscanf(pattern, "%d-%d%c%d%c", &min_n, &max_n, &sep, &step, &sep2); - - if ((rc < 2) || (min_n > max_n)) { - /* the pattern is not well-formed */ - snprintf(glob->errormsg, sizeof(glob->errormsg), - "error: bad range specification after pos %d\n", pos); - return GLOB_ERROR; - } - pat->content.NumRange.ptr_n = pat->content.NumRange.min_n = min_n; - pat->content.NumRange.max_n = max_n; - - /* if there was a ":[num]" thing, use that as step or else use 1 */ - pat->content.NumRange.step = - ((sep == ':') && (rc == 5) && (sep2 == ']'))?step:1; - - if (*pattern == '0') { /* leading zero specified */ - c = pattern; - while (ISDIGIT(*c)) { - c++; - ++pat->content.NumRange.padlength; /* padding length is set for all - instances of this pattern */ - } - } - - } - else { - snprintf(glob->errormsg, sizeof(glob->errormsg), - "illegal character in range specification at pos %d\n", pos); - return GLOB_ERROR; - } - - c = (char*)strchr(pattern, ']'); /* continue after next ']' */ - if(c) - c++; - else { - snprintf(glob->errormsg, sizeof(glob->errormsg), "missing ']'"); - return GLOB_ERROR; /* missing ']' */ - } - - /* always check for a literal (may be "") between patterns */ - - if(GLOB_ERROR == glob_word(glob, c, pos + (c - pattern), &wordamount)) - wordamount = 1; - - if(pat->type == UPTCharRange) - *amount = (pat->content.CharRange.max_c - - pat->content.CharRange.min_c + 1) * - wordamount; - else - *amount = (pat->content.NumRange.max_n - - pat->content.NumRange.min_n + 1) * wordamount; - - return GLOB_OK; -} - -static GlobCode glob_word(URLGlob *glob, char *pattern, - size_t pos, int *amount) -{ - /* processes a literal string component of a URL - special characters '{' and '[' branch to set/range processing functions - */ - char* buf = glob->glob_buffer; - size_t litindex; - GlobCode res = GLOB_OK; - - *amount = 1; /* default is one single string */ - - while (*pattern != '\0' && *pattern != '{' && *pattern != '[') { - if (*pattern == '}' || *pattern == ']') - return GLOB_ERROR; - - /* only allow \ to escape known "special letters" */ - if (*pattern == '\\' && - (*(pattern+1) == '{' || *(pattern+1) == '[' || - *(pattern+1) == '}' || *(pattern+1) == ']') ) { - - /* escape character, skip '\' */ - ++pattern; - ++pos; - if (*pattern == '\0') /* but no escaping of '\0'! */ - return GLOB_ERROR; - } - *buf++ = *pattern++; /* copy character to literal */ - ++pos; - } - *buf = '\0'; - litindex = glob->size / 2; - /* literals 0,1,2,... correspond to size=0,2,4,... */ - glob->literal[litindex] = strdup(glob->glob_buffer); - if(!glob->literal[litindex]) - return GLOB_ERROR; - ++glob->size; - - switch (*pattern) { - case '\0': - break; /* singular URL processed */ - - case '{': - /* process set pattern */ - res = glob_set(glob, ++pattern, ++pos, amount); - break; - - case '[': - /* process range pattern */ - res= glob_range(glob, ++pattern, ++pos, amount); - break; - } - - if(GLOB_OK != res) - /* free that strdup'ed string again */ - free(glob->literal[litindex]); - - return res; /* something got wrong */ -} - -int glob_url(URLGlob** glob, char* url, int *urlnum, FILE *error) -{ - /* - * We can deal with any-size, just make a buffer with the same length - * as the specified URL! - */ - URLGlob *glob_expand; - int amount; - char *glob_buffer=(char *)malloc(strlen(url)+1); - - *glob = NULL; - if(NULL == glob_buffer) - return CURLE_OUT_OF_MEMORY; - - glob_expand = (URLGlob*)calloc(sizeof(URLGlob), 1); - if(NULL == glob_expand) { - free(glob_buffer); - return CURLE_OUT_OF_MEMORY; - } - glob_expand->size = 0; - glob_expand->urllen = strlen(url); - glob_expand->glob_buffer = glob_buffer; - glob_expand->beenhere=0; - if(GLOB_OK == glob_word(glob_expand, url, 1, &amount)) - *urlnum = amount; - else { - if(error && glob_expand->errormsg[0]) { - /* send error description to the error-stream */ - fprintf(error, "curl: (%d) [globbing] %s\n", - CURLE_URL_MALFORMAT, glob_expand->errormsg); - } - /* it failed, we cleanup */ - free(glob_buffer); - free(glob_expand); - glob_expand = NULL; - *urlnum = 1; - return CURLE_URL_MALFORMAT; - } - - *glob = glob_expand; - return CURLE_OK; -} - -void glob_cleanup(URLGlob* glob) -{ - size_t i; - int elem; - - for (i = glob->size - 1; i < glob->size; --i) { - if (!(i & 1)) { /* even indexes contain literals */ - free(glob->literal[i/2]); - } - else { /* odd indexes contain sets or ranges */ - if (glob->pattern[i/2].type == UPTSet) { - for (elem = glob->pattern[i/2].content.Set.size - 1; - elem >= 0; - --elem) { - free(glob->pattern[i/2].content.Set.elements[elem]); - } - free(glob->pattern[i/2].content.Set.elements); - } - } - } - free(glob->glob_buffer); - free(glob); -} - -char *glob_next_url(URLGlob *glob) -{ - char *buf = glob->glob_buffer; - URLPattern *pat; - char *lit; - size_t i; - size_t j; - size_t buflen = glob->urllen+1; - size_t len; - - 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 = glob->size / 2 - 1; carry && i < glob->size; --i) { - carry = FALSE; - pat = &glob->pattern[i]; - switch (pat->type) { - case UPTSet: - if (++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); - exit (CURLE_FAILED_INIT); - } - } - if (carry) /* first pattern ptr has run into overflow, done! */ - return NULL; - } - - for (j = 0; j < glob->size; ++j) { - if (!(j&1)) { /* every other term (j even) is a literal */ - lit = glob->literal[j/2]; - len = snprintf(buf, buflen, "%s", lit); - buf += len; - buflen -= len; - } - else { /* the rest (i odd) are patterns */ - pat = &glob->pattern[j/2]; - switch(pat->type) { - case UPTSet: - len = strlen(pat->content.Set.elements[pat->content.Set.ptr_s]); - snprintf(buf, buflen, "%s", - pat->content.Set.elements[pat->content.Set.ptr_s]); - buf += len; - buflen -= len; - break; - case UPTCharRange: - *buf++ = pat->content.CharRange.ptr_c; - break; - case UPTNumRange: - len = snprintf(buf, buflen, "%0*d", - pat->content.NumRange.padlength, - pat->content.NumRange.ptr_n); - buf += len; - buflen -= len; - break; - default: - printf("internal error: invalid pattern type (%d)\n", (int)pat->type); - exit (CURLE_FAILED_INIT); - } - } - } - *buf = '\0'; - return strdup(glob->glob_buffer); -} - -char *glob_match_url(char *filename, URLGlob *glob) -{ - char *target; - size_t allocsize; - size_t stringlen=0; - char numbuf[18]; - char *appendthis = NULL; - size_t appendlen = 0; - - /* We cannot use the glob_buffer for storage here since the filename may - * be longer than the URL we use. We allocate a good start size, then - * we need to realloc in case of need. - */ - allocsize=strlen(filename); - target = malloc(allocsize); - if(NULL == target) - return NULL; /* major failure */ - - while (*filename) { - if (*filename == '#' && ISDIGIT(filename[1])) { - unsigned long i; - char *ptr = filename; - unsigned long num = strtoul(&filename[1], &filename, 10); - i = num-1; - - if (num && (i <= glob->size / 2)) { - URLPattern pat = glob->pattern[i]; - switch (pat.type) { - case UPTSet: - 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: - snprintf(numbuf, sizeof(numbuf), "%0*d", - pat.content.NumRange.padlength, - pat.content.NumRange.ptr_n); - appendthis = numbuf; - appendlen = strlen(numbuf); - break; - default: - printf("internal error: invalid pattern type (%d)\n", - (int)pat.type); - free(target); - return NULL; - } - } - else { - /* #[num] out of range, use the #[num] in the output */ - filename = ptr; - appendthis=filename++; - appendlen=1; - } - } - else { - appendthis=filename++; - appendlen=1; - } - if(appendlen + stringlen >= allocsize) { - char *newstr; - allocsize = (appendlen + stringlen)*2; - newstr=realloc(target, allocsize); - if(NULL ==newstr) { - free(target); - return NULL; - } - target=newstr; - } - memcpy(&target[stringlen], appendthis, appendlen); - stringlen += appendlen; - } - target[stringlen]= '\0'; - return target; -} diff --git a/Utilities/cmcurl-7.19.0/src/urlglob.h b/Utilities/cmcurl-7.19.0/src/urlglob.h deleted file mode 100644 index d081840..0000000 --- a/Utilities/cmcurl-7.19.0/src/urlglob.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef __URLGLOB_H -#define __URLGLOB_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2005, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ -typedef enum { - UPTSet=1, - UPTCharRange, - UPTNumRange -} URLPatternType; - -typedef struct { - URLPatternType type; - union { - struct { - char **elements; - short size; - short ptr_s; - } Set; - struct { - char min_c, max_c; - char ptr_c; - int step; - } CharRange; - struct { - int min_n, max_n; - short padlength; - int ptr_n; - int step; - } NumRange ; - } content; -} URLPattern; - -typedef struct { - char* literal[10]; - URLPattern pattern[9]; - size_t size; - size_t urllen; - char *glob_buffer; - char beenhere; - char errormsg[80]; /* error message buffer */ -} URLGlob; - -int glob_url(URLGlob**, char*, int *, FILE *); -char* glob_next_url(URLGlob*); -char* glob_match_url(char*, URLGlob *); -void glob_cleanup(URLGlob* glob); - -#endif diff --git a/Utilities/cmcurl-7.19.0/src/version.h b/Utilities/cmcurl-7.19.0/src/version.h deleted file mode 100644 index 359a2fe..0000000 --- a/Utilities/cmcurl-7.19.0/src/version.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef __VERSION_H -#define __VERSION_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include <curl/curlver.h> - -#define CURL_NAME "curl" -#define CURL_COPYRIGHT LIBCURL_COPYRIGHT -#define CURL_VERSION "7.19.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 diff --git a/Utilities/cmcurl-7.19.0/src/writeenv.c b/Utilities/cmcurl-7.19.0/src/writeenv.c deleted file mode 100644 index 90d3413..0000000 --- a/Utilities/cmcurl-7.19.0/src/writeenv.c +++ /dev/null @@ -1,116 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include "setup.h" - -#ifdef USE_ENVIRONMENT - -#include <curl/curl.h> -#include "writeenv.h" - -#ifdef __riscos__ -#include <kernel.h> -#endif - -static const struct -{ - const char * name; - CURLINFO id; - enum { - writeenv_NONE, - writeenv_DOUBLE, - writeenv_LONG, - writeenv_STRING - } type; -} variables[14] = -{ - {"curl_url_effective", CURLINFO_EFFECTIVE_URL, writeenv_STRING}, - {"curl_http_code", CURLINFO_RESPONSE_CODE, writeenv_LONG}, - {"curl_time_total", CURLINFO_TOTAL_TIME, writeenv_DOUBLE}, - {"curl_time_namelookup", CURLINFO_NAMELOOKUP_TIME, writeenv_DOUBLE}, - {"curl_time_connect", CURLINFO_CONNECT_TIME, writeenv_DOUBLE}, - {"curl_time_pretransfer", CURLINFO_PRETRANSFER_TIME, writeenv_DOUBLE}, - {"curl_time_starttransfer", CURLINFO_STARTTRANSFER_TIME, writeenv_DOUBLE}, - {"curl_size_header", CURLINFO_HEADER_SIZE, writeenv_LONG}, - {"curl_size_request", CURLINFO_REQUEST_SIZE, writeenv_LONG}, - {"curl_size_download", CURLINFO_SIZE_DOWNLOAD, writeenv_DOUBLE}, - {"curl_size_upload", CURLINFO_SIZE_UPLOAD, writeenv_DOUBLE}, - {"curl_speed_download", CURLINFO_SPEED_DOWNLOAD, writeenv_DOUBLE}, - {"curl_speed_upload", CURLINFO_SPEED_UPLOAD, writeenv_DOUBLE}, - {NULL, 0, writeenv_NONE} - }; - -static void internalSetEnv(const char * name, char * value) -{ - /* Add your OS-specific code here. */ -#ifdef __riscos__ - _kernel_setenv(name, value); -#elif defined (CURLDEBUG) - extern FILE *curl_debuglogfile; - if (curl_debuglogfile) - fprintf (curl_debuglogfile, "ENV %s = %s\n", name, value); -#endif - return; -} - -void ourWriteEnv(CURL *curl) -{ - unsigned int i; - char *string, numtext[10]; - long longinfo; - double doubleinfo; - - for (i=0; variables[i].name; i++) { - switch (variables[i].type) { - case writeenv_STRING: - if (curl_easy_getinfo(curl, variables[i].id, &string) == CURLE_OK) - internalSetEnv(variables[i].name, string); - else - internalSetEnv(variables[i].name, NULL); - break; - - case writeenv_LONG: - if (curl_easy_getinfo(curl, variables[i].id, &longinfo) == CURLE_OK) { - sprintf(numtext, "%5ld", longinfo); - internalSetEnv(variables[i].name, numtext); - } - else - internalSetEnv(variables[i].name, NULL); - break; - case writeenv_DOUBLE: - if (curl_easy_getinfo(curl, variables[i].id, &doubleinfo) == CURLE_OK) { - sprintf(numtext, "%6.2f", doubleinfo); - internalSetEnv(variables[i].name, numtext); - } - else - internalSetEnv(variables[i].name, NULL); - break; - default: - break; - } - } - - return; -} - -#endif diff --git a/Utilities/cmcurl-7.19.0/src/writeenv.h b/Utilities/cmcurl-7.19.0/src/writeenv.h deleted file mode 100644 index c6fe071..0000000 --- a/Utilities/cmcurl-7.19.0/src/writeenv.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __WRITEENV_H -#define __WRITEENV_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -void ourWriteEnv(CURL *curl); - -#endif diff --git a/Utilities/cmcurl-7.19.0/src/writeout.c b/Utilities/cmcurl-7.19.0/src/writeout.c deleted file mode 100644 index 4f94bab..0000000 --- a/Utilities/cmcurl-7.19.0/src/writeout.c +++ /dev/null @@ -1,296 +0,0 @@ -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2008, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -#include "setup.h" - -#include <stdio.h> -#include <string.h> - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif - -#include <curl/curl.h> - -#define _MPRINTF_REPLACE /* we want curl-functions instead of native ones */ -#include <curl/mprintf.h> - -#include "writeout.h" - -typedef enum { - VAR_NONE, /* must be the first */ - VAR_TOTAL_TIME, - VAR_NAMELOOKUP_TIME, - VAR_CONNECT_TIME, - VAR_APPCONNECT_TIME, - VAR_PRETRANSFER_TIME, - VAR_STARTTRANSFER_TIME, - VAR_SIZE_DOWNLOAD, - VAR_SIZE_UPLOAD, - VAR_SPEED_DOWNLOAD, - VAR_SPEED_UPLOAD, - VAR_HTTP_CODE, - VAR_HTTP_CODE_PROXY, - VAR_HEADER_SIZE, - VAR_REQUEST_SIZE, - VAR_EFFECTIVE_URL, - VAR_CONTENT_TYPE, - VAR_NUM_CONNECTS, - VAR_REDIRECT_TIME, - VAR_REDIRECT_COUNT, - VAR_FTP_ENTRY_PATH, - VAR_REDIRECT_URL, - VAR_SSL_VERIFY_RESULT, - VAR_NUM_OF_VARS /* must be the last */ -} replaceid; - -struct variable { - const char *name; - replaceid id; -}; - - -static const struct variable replacements[]={ - {"url_effective", VAR_EFFECTIVE_URL}, - {"http_code", VAR_HTTP_CODE}, - {"response_code", VAR_HTTP_CODE}, - {"http_connect", VAR_HTTP_CODE_PROXY}, - {"time_total", VAR_TOTAL_TIME}, - {"time_namelookup", VAR_NAMELOOKUP_TIME}, - {"time_connect", VAR_CONNECT_TIME}, - {"time_appconnect", VAR_APPCONNECT_TIME}, - {"time_pretransfer", VAR_PRETRANSFER_TIME}, - {"time_starttransfer", VAR_STARTTRANSFER_TIME}, - {"size_header", VAR_HEADER_SIZE}, - {"size_request", VAR_REQUEST_SIZE}, - {"size_download", VAR_SIZE_DOWNLOAD}, - {"size_upload", VAR_SIZE_UPLOAD}, - {"speed_download", VAR_SPEED_DOWNLOAD}, - {"speed_upload", VAR_SPEED_UPLOAD}, - {"content_type", VAR_CONTENT_TYPE}, - {"num_connects", VAR_NUM_CONNECTS}, - {"time_redirect", VAR_REDIRECT_TIME}, - {"num_redirects", VAR_REDIRECT_COUNT}, - {"ftp_entry_path", VAR_FTP_ENTRY_PATH}, - {"redirect_url", VAR_REDIRECT_URL}, - {"ssl_verify_result", VAR_SSL_VERIFY_RESULT}, - {NULL, VAR_NONE} -}; - -void ourWriteOut(CURL *curl, const char *writeinfo) -{ - FILE *stream = stdout; - const char *ptr=writeinfo; - char *stringp; - long longinfo; - double doubleinfo; - - while(*ptr) { - if('%' == *ptr) { - if('%' == ptr[1]) { - /* an escaped %-letter */ - fputc('%', stream); - ptr+=2; - } - else { - /* this is meant as a variable to output */ - char *end; - char keepit; - int i; - if(('{' == ptr[1]) && (end=strchr(ptr, '}'))) { - bool match = FALSE; - ptr+=2; /* pass the % and the { */ - keepit=*end; - *end=0; /* zero terminate */ - for(i=0; replacements[i].name; i++) { - if(curl_strequal(ptr, replacements[i].name)) { - match = TRUE; - switch(replacements[i].id) { - case VAR_EFFECTIVE_URL: - if((CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &stringp)) - && stringp) - fputs(stringp, stream); - break; - case VAR_HTTP_CODE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &longinfo)) - fprintf(stream, "%03ld", longinfo); - break; - case VAR_HTTP_CODE_PROXY: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE, - &longinfo)) - fprintf(stream, "%03ld", longinfo); - break; - case VAR_HEADER_SIZE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &longinfo)) - fprintf(stream, "%ld", longinfo); - break; - case VAR_REQUEST_SIZE: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &longinfo)) - fprintf(stream, "%ld", longinfo); - break; - case VAR_NUM_CONNECTS: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_NUM_CONNECTS, &longinfo)) - fprintf(stream, "%ld", longinfo); - break; - case VAR_REDIRECT_COUNT: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_REDIRECT_COUNT, &longinfo)) - fprintf(stream, "%ld", longinfo); - break; - case VAR_REDIRECT_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_TOTAL_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_NAMELOOKUP_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, - &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_CONNECT_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_APPCONNECT_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME, - &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_PRETRANSFER_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, - &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_STARTTRANSFER_TIME: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME, - &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_SIZE_UPLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &doubleinfo)) - fprintf(stream, "%.0f", doubleinfo); - break; - case VAR_SIZE_DOWNLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &doubleinfo)) - fprintf(stream, "%.0f", doubleinfo); - break; - case VAR_SPEED_DOWNLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_SPEED_UPLOAD: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &doubleinfo)) - fprintf(stream, "%.3f", doubleinfo); - break; - case VAR_CONTENT_TYPE: - if((CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &stringp)) - && stringp) - fputs(stringp, stream); - break; - case VAR_FTP_ENTRY_PATH: - if((CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_FTP_ENTRY_PATH, &stringp)) - && stringp) - fputs(stringp, stream); - break; - case VAR_REDIRECT_URL: - if((CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &stringp)) - && stringp) - fputs(stringp, stream); - break; - case VAR_SSL_VERIFY_RESULT: - if(CURLE_OK == - curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &longinfo)) - fprintf(stream, "%ld", longinfo); - break; - default: - break; - } - break; - } - } - if(!match) { - fprintf(stderr, "curl: unknown --write-out variable: '%s'\n", ptr); - } - ptr=end+1; /* pass the end */ - *end = keepit; - } - else { - /* illegal syntax, then just output the characters that are used */ - fputc('%', stream); - fputc(ptr[1], stream); - ptr+=2; - } - } - } - else if('\\' == *ptr) { - 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/Utilities/cmcurl-7.19.0/src/writeout.h b/Utilities/cmcurl-7.19.0/src/writeout.h deleted file mode 100644 index 222e270..0000000 --- a/Utilities/cmcurl-7.19.0/src/writeout.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef __WRITEOUT_H -#define __WRITEOUT_H -/*************************************************************************** - * _ _ ____ _ - * Project ___| | | | _ \| | - * / __| | | | |_) | | - * | (__| |_| | _ <| |___ - * \___|\___/|_| \_\_____| - * - * Copyright (C) 1998 - 2004, 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 http://curl.haxx.se/docs/copyright.html. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of the Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - * $Id$ - ***************************************************************************/ - -void ourWriteOut(CURL *curl, const char *out); - -#endif |